.shell-header{border-bottom:1px solid var(--color-border);background:var(--brand-surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 1.5rem;padding:.9rem clamp(1rem,4vw,2.5rem);display:flex}.shell-header .brand{align-items:center;gap:.6rem;text-decoration:none;display:flex}.brand-logo{flex:none;width:2rem;height:1.7rem}.brand-mark{letter-spacing:-.035em;color:var(--brand-ink);font-size:1.35rem;font-weight:800}.brand-tagline{letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary);border-left:1px solid var(--color-border);margin-left:.15rem;padding-left:.6rem;font-size:.7rem;font-weight:700}.shell-header nav{gap:.35rem;display:flex}.shell-header nav a{border-radius:var(--radius-pill);color:var(--color-text-muted);padding:.45rem 1.1rem;font-size:.95rem;font-weight:600;text-decoration:none}.shell-header nav a:hover{color:var(--brand-primary-700);background:var(--brand-primary-050)}.shell-header nav a.router-link-active{color:#fff;background:var(--color-primary)}.shell-main{flex-direction:column;flex:1;min-height:0;padding:clamp(1rem,3vw,2rem) clamp(1rem,4vw,2.5rem);display:flex}@media (width<=34rem){.brand-tagline{display:none}}.intro[data-v-219fa844]{flex-direction:column;gap:.4rem;display:flex}.cursor[data-v-219fa844]{animation:1s step-start infinite blink-219fa844}@keyframes blink-219fa844{50%{opacity:0}}.composer[data-v-219fa844]{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--brand-surface);box-shadow:var(--shadow-card);flex-wrap:wrap;gap:.5rem;padding:.75rem;display:flex}.composer input[data-v-219fa844]{background:var(--brand-primary-050);border-color:#0000;flex:12rem}.notice[data-v-62f87143]{border:1px solid var(--brand-accent-100);border-left:4px solid var(--brand-accent-500);border-radius:var(--radius-md);background:var(--brand-accent-050);flex-direction:column;gap:.5rem;max-width:46rem;padding:1rem 1.25rem;display:flex}.notice strong[data-v-62f87143]{color:var(--brand-primary-900)}.notice p[data-v-62f87143]{color:var(--color-text-muted);margin:0}.intro[data-v-04986cff]{flex-direction:column;gap:.4rem;display:flex}.state[data-v-04986cff]{color:var(--color-text-muted);margin:0}.state.live[data-v-04986cff]{color:var(--brand-primary-700);align-items:center;gap:.5rem;font-weight:600;display:flex}.dot[data-v-04986cff]{background:var(--brand-primary-600);border-radius:50%;width:.6rem;height:.6rem;animation:1.5s ease-in-out infinite pulse-04986cff}@keyframes pulse-04986cff{50%{opacity:.3}}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/plus-jakarta-sans-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--brand-primary-900:#16268f;--brand-primary-700:#1b2fc7;--brand-primary-600:#2a44ee;--brand-primary-100:#dfe4fd;--brand-primary-050:#f2f4fe;--brand-accent-600:#1f8ba3;--brand-accent-500:#2e9fb5;--brand-accent-100:#cdeaf1;--brand-accent-050:#eef8fb;--brand-ink:#3c4459;--brand-ink-muted:#6b7488;--brand-border:#e4e7ef;--brand-surface:#fff;--brand-canvas:#fff;--brand-danger:#b3261e;--color-primary:var(--brand-primary-600);--color-primary-hover:var(--brand-primary-700);--color-accent:var(--brand-accent-600);--color-text:var(--brand-ink);--color-text-muted:var(--brand-ink-muted);--color-border:var(--brand-border);--font-display:"Plus Jakarta Sans", "Avenir Next", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-sans:var(--font-display);--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-pill:999px;--shadow-card:0 1px 2px #3c44590a, 0 10px 30px #3c445912;--space-card:1.25rem 1.5rem;--transcript-max-height:36rem}*,:before,:after{box-sizing:border-box}html,body,#app{height:100%}body{min-height:100dvh;font-family:var(--font-sans);font-optical-sizing:auto;color:var(--color-text);background:var(--brand-canvas);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.6}#app{flex-direction:column;min-height:100dvh;display:flex}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.035em;color:var(--brand-ink);margin:0;font-weight:800;line-height:1.1}h1{font-size:clamp(2rem,1.4rem + 2.4vw,3rem)}a{color:var(--color-primary);-webkit-text-decoration-color:var(--brand-primary-100);text-decoration-color:var(--brand-primary-100);text-underline-offset:3px}a:hover{text-decoration-color:currentColor}code{border-radius:var(--radius-sm);background:var(--brand-primary-050);color:var(--brand-primary-900);padding:.1em .35em;font-size:.9em}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--color-primary);font-size:.75rem;font-weight:600}button{font:inherit;border-radius:var(--radius-pill);border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;cursor:pointer;padding:.65rem 1.5rem;font-weight:700;transition:background-color .12s,border-color .12s,color .12s}button:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}button.secondary{color:var(--color-primary);border-color:var(--brand-primary-100);background:0 0}button.secondary:hover:not(:disabled){background:var(--brand-primary-050);color:var(--color-primary-hover);border-color:var(--color-primary)}button:disabled{opacity:.45;cursor:not-allowed}input[type=text],input[type=password]{font:inherit;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--brand-surface);color:var(--color-text);padding:.55rem .75rem}input::placeholder{color:var(--color-text-muted)}:where(button,input,a):focus-visible{outline:2px solid var(--brand-primary-600);outline-offset:2px}.page{flex-direction:column;gap:1.25rem;max-width:46rem;margin:0 auto;display:flex}.page>.explain{color:var(--color-text-muted);max-width:40rem;margin:0;font-size:1.05rem}.panel{background:var(--brand-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-card)}.token-field{flex-direction:column;gap:.35rem;display:flex}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.token-disclosure{color:var(--color-text-muted);font-size:.85rem}.token-disclosure>summary{cursor:pointer;width:fit-content;color:var(--color-text-muted);align-items:center;gap:.5rem;padding:.15rem 0;list-style:none;display:flex}.token-disclosure>summary::-webkit-details-marker{display:none}.token-disclosure>summary:before{content:"";border-bottom:1.5px solid;border-right:1.5px solid;width:.3rem;height:.3rem;transition:transform .12s;transform:rotate(-45deg)}.token-disclosure[open]>summary:before{transform:rotate(45deg)}.token-disclosure>summary:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm)}.token-state{letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-sm);background:var(--brand-primary-050);color:var(--brand-primary-700);padding:.1rem .4rem;font-size:.7rem;font-weight:600}.token-state.missing{background:var(--brand-accent-050,var(--brand-primary-050));color:var(--brand-accent-500)}.token-disclosure .token-field{background:var(--brand-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-top:.6rem;padding:.85rem}.page.fills{flex:1;gap:.9rem;min-height:0}.page.fills>.transcript.panel{flex:1;min-height:0;max-height:none}.page.fills h1{font-size:clamp(1.5rem,1.15rem + 1.1vw,2rem)}.page.fills>.intro{gap:.2rem}.token-field>span{letter-spacing:.12em;text-transform:uppercase;color:var(--color-primary);font-size:.75rem;font-weight:600}.token-field small{color:var(--color-text-muted);line-height:1.5}.session-note{color:var(--color-text-muted);margin:0;font-size:.9rem}.transcript{flex-direction:column;gap:.85rem;margin:0;padding:0;list-style:none;display:flex}.transcript.panel{padding:var(--space-card);max-height:min(var(--transcript-max-height), 65vh);overscroll-behavior:contain;scrollbar-gutter:stable;overflow-y:auto}.transcript li{align-items:flex-start;gap:.75rem;display:flex}.transcript li.user{flex-direction:row-reverse}.transcript .who{letter-spacing:.1em;text-transform:uppercase;min-width:3.5rem;color:var(--color-primary);flex:none;padding-top:.55rem;font-size:.7rem;font-weight:600}.transcript li.user .who{text-align:right;color:var(--color-accent)}.transcript .bubble{border-radius:var(--radius-md);white-space:pre-wrap;overflow-wrap:anywhere;min-width:0;padding:.55rem .95rem}.transcript li.assistant .bubble{color:var(--color-text);background:var(--brand-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card);font-size:1.02rem;line-height:1.5}.transcript li.user .bubble{background:var(--brand-primary-050);border:1px solid var(--brand-primary-100);color:var(--color-text)}.bubble.partial{color:var(--color-text-muted)}.error{border-radius:var(--radius-md);border:1px solid var(--brand-accent-100);border-left:4px solid var(--brand-danger);background:var(--brand-accent-050);color:var(--brand-danger);margin:0;padding:.7rem 1rem}.controls{flex-wrap:wrap;gap:.5rem;display:flex}@media (width<=34rem){.transcript li{flex-direction:column;align-items:flex-start;gap:.15rem}.transcript li.user{flex-direction:column;align-items:flex-end}.transcript .who{min-width:0;padding-top:0}.transcript .bubble{max-width:100%}:root{--space-card:.9rem 1rem}.shell-main{padding:.9rem .9rem 1.1rem}.shell-header{padding:.7rem .9rem}.controls{gap:.6rem}.controls button{flex:100%;min-height:2.75rem}.token-disclosure>summary{width:100%;min-height:2.25rem}.page.fills h1{font-size:1.35rem}}.page.hero{text-align:center;justify-content:center;align-items:center;gap:1rem}.page.hero>.intro{flex-direction:column;gap:.5rem;display:flex}.page.hero h1{font-size:clamp(2.25rem,1.6rem + 2.6vw,3.25rem)}.page.hero>.explain{max-width:34rem;font-size:1.1rem}.page.hero .controls{justify-content:center}.page.hero .token-disclosure,.page.hero .token-field{text-align:left}.page.hero .token-disclosure{width:min(100%,34rem)}@media (width<=34rem){.page.hero{justify-content:flex-start}.page.hero h1{font-size:1.75rem}}
