.tf__panel{--tf-edge:1px solid var(--neutral-100);background:var(--tofu-white);border:var(--tf-edge);border-radius:var(--radius-24);box-shadow:var(--shadow-1);display:flex;flex-direction:column;gap:var(--space-40);padding:var(--space-40) var(--space-40) var(--space-24);width:100%}.tf__graph{align-items:start;display:grid;gap:0 clamp(2.5rem,6vw,5rem);grid-template-columns:minmax(0,1fr) minmax(0,.95fr) minmax(0,1.25fr);position:relative}.tf__links{height:100%;inset:0;overflow:visible;pointer-events:none;position:absolute;width:100%}.tf__link{fill:none;stroke:var(--neutral-300);stroke-linecap:round;stroke-width:1.5}.tf__dot{fill:var(--brand-400);opacity:0}.tf__step{display:flex;flex-direction:column;gap:var(--space-12);min-width:0;position:relative;z-index:1}.tf__step-label{color:var(--neutral-600);font-size:var(--fs-0);gap:var(--space-8)}.tf__step-label,.tf__step-label b{align-items:center;display:inline-flex;font-weight:var(--fw-semibold)}.tf__step-label b{border:1px solid var(--neutral-200);border-radius:var(--radius-full);color:var(--neutral-700);font-size:11px;height:20px;justify-content:center;width:20px}.tf__bubble{background:var(--neutral-50);border:1px solid var(--neutral-100);border-radius:18px 18px 4px 18px;color:var(--neutral-950);font-size:var(--fs-1);line-height:1.45;margin:0;min-height:calc(4.35em + var(--space-16)*2);padding:var(--space-16) var(--space-20)}.tf__caret{background:var(--neutral-900);display:inline-block;height:1.05em;margin-left:2px;opacity:0;vertical-align:-.15em;width:2px}.tf__bubble.is-typing .tf__caret{animation:tf-blink .9s steps(1) infinite;opacity:1}@keyframes tf-blink{50%{opacity:0}}.tf__call{--tf-accent:var(--indigo-300);background:var(--tofu-white);border:1px solid var(--neutral-200);border-radius:var(--radius-16);box-shadow:var(--shadow-1);display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-16) var(--space-20)}.tf__tag{align-items:center;color:color-mix(in oklab,var(--tf-accent) 75%,var(--neutral-900));display:inline-flex;font-size:12px;font-weight:var(--fw-semibold);gap:var(--space-6)}.tf__tag i{background:var(--tf-accent);border-radius:var(--radius-full);height:6px;width:6px}.tf__title{color:var(--neutral-950);font-size:var(--fs-2);font-weight:var(--fw-bold);line-height:1.2}.tf__name{font-family:var(--mono-font);font-size:11.5px}.tf__allow,.tf__name{color:var(--neutral-600)}.tf__allow{align-items:center;border-top:1px solid var(--neutral-100);display:flex;font-size:var(--fs-00);gap:var(--space-12);justify-content:space-between;margin-top:var(--space-10);padding-top:var(--space-12)}.tf__allow[hidden]{display:none}.tf__allow-btn{background:var(--neutral-950);border-radius:var(--radius-full);color:var(--tofu-white);display:inline-grid;font-style:normal;font-weight:var(--fw-semibold);padding:var(--space-4) var(--space-14);transition:background-color .2s ease,color .2s ease}.tf__allow-btn>span{grid-area:1/1;text-align:center;transition:opacity .2s ease}.tf__allow-ok{opacity:0}.tf__allow.is-allowed .tf__allow-btn{background:var(--green-50);color:var(--green-700)}.tf__allow.is-allowed .tf__allow-ask{opacity:0}.tf__allow.is-allowed .tf__allow-ok{opacity:1}.tf__step--answer{min-height:calc(7.5em + var(--space-16)*2 + 32px)}.tf__bubble--answer{background:var(--tofu-white);border-color:var(--neutral-200);border-radius:4px 18px 18px 18px;color:var(--neutral-800);line-height:1.5;min-height:0}.tf__answer b{color:var(--neutral-950);font-weight:var(--fw-semibold)}.tf__strip{border-top:var(--tf-edge);padding-top:var(--space-20)}.tf__strip-head{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-16);justify-content:space-between;margin-bottom:var(--space-14)}.tf__strip-label{color:var(--neutral-900);font-size:var(--fs-0);font-weight:var(--fw-semibold)}.tf__strip-tools{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-16) var(--space-24)}.tf__legend{color:var(--neutral-600);display:flex;flex-wrap:wrap;font-size:var(--fs-0);gap:var(--space-16)}.tf__legend span{align-items:center;display:inline-flex;gap:var(--space-6)}.tf__chip i,.tf__legend i{background:var(--tf-accent);border-radius:var(--radius-full);flex:none;height:7px;width:7px}.tf__viewport{margin:0 calc(var(--space-40)*-1);overflow:hidden;position:relative}.tf__viewport:after,.tf__viewport:before{bottom:0;content:"";pointer-events:none;position:absolute;top:0;width:64px;z-index:2}.tf__viewport:before{background:linear-gradient(90deg,var(--tofu-white),transparent);left:0}.tf__viewport:after{background:linear-gradient(270deg,var(--tofu-white),transparent);right:0}.tf__track{animation:tf-marquee 260s linear infinite;display:flex;list-style:none;margin:0;padding:var(--space-6) 0 var(--space-8);width:max-content}.tf__track:focus-within,.tf__viewport:hover .tf__track{animation-play-state:paused}.tf__item{flex:none;margin-right:var(--space-10)}@keyframes tf-marquee{to{transform:translateX(-50%)}}.tf__toggle{background:var(--tofu-white);border:1px solid var(--neutral-200);border-radius:var(--radius-full);color:var(--neutral-900);cursor:pointer;font-family:inherit;font-size:var(--fs-00);font-weight:var(--fw-semibold);padding:var(--space-4) var(--space-12);transition:border-color .15s ease}.tf__toggle:hover{border-color:var(--neutral-400)}.tf__toggle:focus-visible{outline:2px solid var(--brand-400);outline-offset:2px}.tf__all[hidden],.tf__toggle[aria-expanded=false] .tf__toggle-less,.tf__toggle[aria-expanded=true] .tf__toggle-more,.tf__viewport[hidden]{display:none}.tf__all{gap:var(--space-20);padding:var(--space-6) 0 var(--space-12)}.tf__all,.tf__group{display:flex;flex-direction:column}.tf__group{gap:var(--space-10)}.tf__group-label{align-items:center;color:var(--neutral-700);display:inline-flex;font-size:var(--fs-0);font-weight:var(--fw-semibold);gap:var(--space-6)}.tf__group-label i{background:var(--tf-accent);border-radius:var(--radius-full);height:7px;width:7px}.tf__group-label em{color:var(--neutral-500);font-style:normal;font-weight:var(--fw-regular)}.tf__group-list{display:flex;flex-wrap:wrap;gap:var(--space-8);list-style:none;margin:0;padding:0}.tf__group-list .tf__item{margin-right:0}.tf__chip{align-items:center;background:var(--tofu-white);border:1px solid var(--neutral-200);border-radius:var(--radius-full);box-shadow:0 1px 2px rgba(16,24,40,.06);color:var(--neutral-800);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--fs-0);font-weight:var(--fw-medium);gap:var(--space-8);padding:var(--space-8) var(--space-16);transition:color .15s ease,border-color .15s ease,background-color .15s ease,box-shadow .15s ease,transform .15s ease;white-space:nowrap}.tf__chip:hover{border-color:color-mix(in oklab,var(--tf-accent) 60%,var(--neutral-300));box-shadow:0 4px 10px rgba(16,24,40,.08);color:var(--neutral-950);transform:translateY(-1px)}.tf__chip:active{box-shadow:0 1px 2px rgba(16,24,40,.06);transform:translateY(0)}.tf__chip:focus-visible{outline:2px solid var(--brand-400);outline-offset:2px}.tf__chip.is-selected{background:var(--neutral-950);border-color:var(--neutral-950);box-shadow:none;color:var(--tofu-white);transform:none}@media (max-width:900px){.tf__panel{gap:var(--space-24);padding:var(--space-24) var(--space-16) var(--space-16)}.tf__viewport{margin:0 calc(var(--space-16)*-1)}.tf__graph{gap:var(--space-24);grid-template-columns:minmax(0,1fr)}.tf__links{display:none}.tf__bubble{min-height:0}.tf__step--answer{min-height:calc(9em + var(--space-16)*2 + 32px)}}@media (prefers-reduced-motion:reduce){.tf__track{animation:none}.tf__viewport{overflow-x:auto}.tf__chip{transition:none}}