@font-face{font-family:Fraunces;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/fraunces-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}@font-face{font-family:Fraunces;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/fraunces-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/fraunces-italic-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{--bg:#f7f3eb;--surface:#fffdf8;--surface-2:#efe9de;--border:#e4ddd0;--border-strong:#8f8471;--ink:#201b13;--ink-2:#5f574a;--ink-3:#716859;--ink-4:#948b7c;--water:#2a855d;--water-strong:#226e4d;--water-tint:#e4f1ea;--water-ink:#fff;--chart:#2a855d;--seafoam:#5dab81;--accent:#0e6e6a;--accent-tint:#d9edeb;--splash:#49b8d8;--mint:#6dc396;--stage-introduced:#556274;--stage-introduced-tint:#e7ebf1;--stage-recognized:#9a4708;--stage-recognized-tint:#fbeed7;--stage-understood:#0e6e6a;--stage-understood-tint:#d9edeb;--stage-producing:#376e1b;--stage-producing-tint:#e2f0d9;--stage-owned:#716859;--stage-owned-tint:transparent;--good:#376e1b;--warn:#9a4708;--warn-tint:#fbeed7;--danger:#b3382c;--danger-tint:color-mix(in srgb, var(--danger) 12%, transparent);--danger-ink:#fff;--bubble-ai:var(--surface);--bubble-user:#e7f1ea;--switch-knob:#fff;--switch-knob-shadow:0 1px 2px #201b134d;--scrim:color-mix(in srgb, var(--bg) 55%, transparent);--wordmark:url(/brand/wordmark-green.png);--font-body:system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"Fraunces", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:1.875rem;--leading-tight:1.2;--leading-snug:1.4;--leading-body:1.6;--space-0_5:2px;--space-1:4px;--space-1_5:6px;--space-2:8px;--space-2_5:10px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--thread-max:720px;--page-max:1040px;--page-narrow:720px;--gutter:var(--space-6);--radius-xs:6px;--radius-sm:8px;--radius:14px;--radius-md:var(--radius);--radius-lg:24px;--radius-pill:999px;--shadow:0 1px 2px #201b130a, 0 4px 16px #201b130d;--shadow-pop:0 4px 12px #201b1314, 0 12px 32px #201b131f;--shadow-0:none;--shadow-1:var(--shadow);--shadow-2:var(--shadow-pop);--shadow-3:0 8px 24px #201b131f, 0 24px 64px #201b1329;--z-raised:1;--z-sticky:10;--z-popover:40;--z-overlay:60;--z-modal:70;--z-toast:80;--z-skip:100;--t-instant:.1s;--t-fast:.15s;--t-pop:.2s;--t-step:.3s;--t-spring:.5s;--t-slow:.6s;--ease-out:cubic-bezier(.2, .7, .3, 1);--ease-in-out:cubic-bezier(.45, 0, .25, 1);--ease-spring:cubic-bezier(.22, 1, .36, 1);--ease-water:cubic-bezier(.34, 1.32, .64, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@supports (transition-timing-function:linear(0, 1)){:root{--ease-spring:linear(0, .048, .164, .313, .47, .618, .746, .851, .931, .988, 1.026, 1.047, 1.057, 1.058, 1.053, 1.046, 1.037, 1.028, 1.019, 1.012, 1.007, 1.003, 1, .998, 1)}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#17150f;--surface:#221f18;--surface-2:#2b281f;--border:#3a352a;--border-strong:#777060;--ink:#ece6da;--ink-2:#b0a795;--ink-3:#9a9282;--ink-4:#7d7666;--water:#6fcb9e;--water-strong:#8bd8b3;--water-tint:#16352a;--water-ink:#08211a;--chart:#41a97a;--seafoam:#7fd3a8;--accent:#4cc4bd;--accent-tint:#12332f;--splash:#63c8e4;--mint:#6dc396;--stage-introduced:#94a3b8;--stage-introduced-tint:#262c37;--stage-recognized:#e3a04a;--stage-recognized-tint:#38290f;--stage-understood:#4cc4bd;--stage-understood-tint:#12332f;--stage-producing:#8ac865;--stage-producing-tint:#22301a;--stage-owned:#9a9282;--stage-owned-tint:transparent;--good:#8ac865;--warn:#e3a04a;--warn-tint:#38290f;--danger:#e07064;--danger-tint:color-mix(in srgb, var(--danger) 12%, transparent);--danger-ink:#451009;--bubble-ai:var(--surface);--bubble-user:#1c322a;--switch-knob:var(--ink);--switch-knob-shadow:0 1px 2px #00000073;--scrim:color-mix(in srgb, var(--bg) 62%, transparent);--wordmark:url(/brand/wordmark-cream.png);--shadow:0 1px 2px #0000004d, 0 4px 16px #00000059;--shadow-pop:0 4px 12px #0006, 0 12px 32px #00000080;--shadow-3:0 8px 24px #00000073, 0 24px 64px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#17150f;--surface:#221f18;--surface-2:#2b281f;--border:#3a352a;--border-strong:#777060;--ink:#ece6da;--ink-2:#b0a795;--ink-3:#9a9282;--ink-4:#7d7666;--water:#6fcb9e;--water-strong:#8bd8b3;--water-tint:#16352a;--water-ink:#08211a;--chart:#41a97a;--seafoam:#7fd3a8;--accent:#4cc4bd;--accent-tint:#12332f;--splash:#63c8e4;--mint:#6dc396;--stage-introduced:#94a3b8;--stage-introduced-tint:#262c37;--stage-recognized:#e3a04a;--stage-recognized-tint:#38290f;--stage-understood:#4cc4bd;--stage-understood-tint:#12332f;--stage-producing:#8ac865;--stage-producing-tint:#22301a;--stage-owned:#9a9282;--stage-owned-tint:transparent;--good:#8ac865;--warn:#e3a04a;--warn-tint:#38290f;--danger:#e07064;--danger-tint:color-mix(in srgb, var(--danger) 12%, transparent);--danger-ink:#451009;--bubble-ai:var(--surface);--bubble-user:#1c322a;--switch-knob:var(--ink);--switch-knob-shadow:0 1px 2px #00000073;--scrim:color-mix(in srgb, var(--bg) 62%, transparent);--wordmark:url(/brand/wordmark-cream.png);--shadow:0 1px 2px #0000004d, 0 4px 16px #00000059;--shadow-pop:0 4px 12px #0006, 0 12px 32px #00000080;--shadow-3:0 8px 24px #00000073, 0 24px 64px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}#root{height:100dvh}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--text-md);-webkit-font-smoothing:antialiased;margin:0;line-height:1.55}h1,h2,h3{font-family:var(--font-display);font-optical-sizing:auto;font-weight:600;line-height:var(--leading-tight);letter-spacing:-.01em;text-wrap:balance;margin:0}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-lg)}h3{font-size:var(--text-md)}p{margin:0}a{color:var(--water-strong);text-underline-offset:2px}.page{width:100%;max-width:var(--page-max);padding:var(--space-10) var(--space-8) var(--space-12);gap:var(--space-5);flex-direction:column;margin:0 auto;display:flex}.page-narrow{max-width:var(--page-narrow)}.page-head{gap:var(--space-1_5);margin-bottom:var(--space-2);flex-direction:column;display:flex}.page-head h1{font-size:var(--text-2xl)}.page-sub{max-width:60ch;color:var(--ink-2);line-height:var(--leading-snug)}@media (width<=560px){.page{padding:var(--space-6) var(--space-4) var(--space-10);gap:var(--space-4)}.page-head h1{font-size:var(--text-xl)}}.stack{gap:var(--stack-gap,var(--space-3));flex-direction:column;display:flex}.cluster{align-items:center;gap:var(--cluster-gap,var(--space-2));flex-wrap:wrap;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-1);padding:var(--space-5)}.card-head{gap:var(--space-1);margin-bottom:var(--space-4);flex-direction:column;display:flex}.card-head h2{font-size:var(--text-lg)}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:40px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--text-sm);font-weight:600;line-height:var(--leading-tight);text-align:center;cursor:pointer;transition:background var(--t-fast) var(--ease-out), border-color var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out), transform var(--t-instant) var(--ease-out);text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--water);border-color:var(--water);color:var(--water-ink)}.btn-primary:hover:not(:disabled){background:var(--water-strong);border-color:var(--water-strong)}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--surface-2)}.btn-danger{background:var(--danger);border-color:var(--danger);color:var(--danger-ink)}.btn-danger:hover:not(:disabled){background:var(--danger);filter:brightness(.93)}.btn-danger-quiet{color:var(--danger)}.btn-sm{min-height:32px;padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.btn-lg{min-height:48px;padding:var(--space-3) var(--space-6);font-size:var(--text-md)}.btn-block{width:100%}.btn-icon{width:40px;height:40px;min-height:0;color:var(--ink-2);background:0 0;border:none;border-radius:50%;flex:none;place-items:center;padding:0;display:inline-grid;position:relative}.btn-icon:after{content:"";position:absolute;inset:-2px}.btn-icon:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.btn-link{font:inherit;color:var(--water-strong);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;display:inline}.btn-link:hover{text-decoration-color:currentColor}.btn-link:disabled{color:var(--ink-3);cursor:not-allowed}.field{gap:var(--space-1_5);flex-direction:column;display:flex}.field-label{font-size:var(--text-sm);color:var(--ink-2);font-weight:600}.input,.select{min-height:44px;padding:var(--space-2_5) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit;line-height:var(--leading-tight);transition:border-color var(--t-fast) var(--ease-out), box-shadow var(--t-fast) var(--ease-out)}.input::placeholder{color:var(--ink-3)}.input:hover:not(:disabled),.select:hover:not(:disabled){border-color:var(--ink-2)}.input:focus-visible,.select:focus-visible{border-color:var(--water)}.input:disabled,.select:disabled{opacity:.55;cursor:not-allowed}.select{cursor:pointer}.switch{appearance:none;border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface-2);cursor:pointer;width:44px;height:26px;transition:background var(--t-fast) var(--ease-out), border-color var(--t-fast) var(--ease-out);flex:none;margin:0;position:relative}.switch:after{content:"";background:var(--switch-knob);width:18px;height:18px;box-shadow:var(--switch-knob-shadow);transition:transform var(--t-spring) var(--ease-spring);border-radius:50%;position:absolute;top:3px;left:3px}.switch:checked{background:var(--water);border-color:var(--water)}.switch:checked:after{transform:translate(18px)}.switch:disabled{cursor:default;opacity:.55}.chip{align-items:center;gap:var(--space-1_5);padding:var(--space-0_5) var(--space-2_5);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:600;line-height:var(--leading-snug);display:inline-flex}.chip-toggle{align-items:center;gap:var(--space-1_5);min-height:36px;padding:var(--space-1_5) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-2);font:inherit;font-size:var(--text-sm);white-space:nowrap;cursor:pointer;transition:background var(--t-fast) var(--ease-out), border-color var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out);font-weight:600;display:inline-flex}.chip-toggle:hover{border-color:var(--border-strong);color:var(--ink)}.chip-toggle[aria-pressed=true]{border-color:var(--water);background:var(--water-tint);color:var(--water-strong)}.chip-count{font-size:var(--text-xs);font-variant-numeric:tabular-nums;opacity:.75}.stage-introduced{background:var(--stage-introduced-tint);color:var(--stage-introduced)}.stage-recognized{background:var(--stage-recognized-tint);color:var(--stage-recognized)}.stage-understood{background:var(--stage-understood-tint);color:var(--stage-understood)}.stage-producing{background:var(--stage-producing-tint);color:var(--stage-producing)}.stage-owned{background:var(--stage-owned-tint);color:var(--stage-owned)}.meter{border-radius:var(--radius-pill);background:var(--surface-2);height:6px;overflow:hidden}.meter>span{border-radius:var(--radius-pill);background:var(--water);height:100%;transition:width var(--t-slow) var(--ease-in-out);display:block}.meter-lg{height:10px}.meter>span.is-warn{background:var(--warn)}.card-interactive{cursor:pointer;transition:border-color var(--t-fast) var(--ease-out), box-shadow var(--t-fast) var(--ease-out), transform var(--t-fast) var(--ease-out)}.card-interactive:hover{border-color:var(--water);box-shadow:var(--shadow-2);transform:translateY(-1px)}@media (prefers-reduced-motion:reduce){.card-interactive:hover{transform:none}}.eyebrow{font-family:var(--font-body);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:700}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.small{font-size:var(--text-sm)}.tnum{font-variant-numeric:tabular-nums}.notice{align-items:flex-start;gap:var(--space-2);padding:var(--space-2_5) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);line-height:var(--leading-snug);display:flex}.notice-error{background:var(--danger-tint);color:var(--danger)}.notice-info{background:var(--water-tint);color:var(--water-strong)}.text-danger{color:var(--danger)}.text-saved{color:var(--water-strong);font-weight:600}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--water);outline-offset:2px}.empty-state{align-items:center;gap:var(--space-3);padding:var(--space-10) var(--space-6);text-align:center;flex-direction:column;display:flex}.empty-state-wade{margin-bottom:var(--space-1);animation:5.2s ease-in-out infinite wade-bob}.empty-state-title{font-size:var(--text-lg)}.empty-state p{max-width:38ch;color:var(--ink-2)}.empty-state .btn{margin-top:var(--space-2)}.empty-state-framed{border:1px dashed var(--border);border-radius:var(--radius)}@keyframes wade-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.skeleton{border-radius:var(--radius-sm);background:var(--surface-2);display:block}.skeleton-line{border-radius:var(--radius-xs);height:.9em;margin:.3em 0}.dialog{width:min(440px, calc(100vw - 2 * var(--space-5)));max-height:calc(100dvh - 2 * var(--space-5));border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-3);padding:0;overflow:hidden auto}.dialog::backdrop{background:var(--scrim);-webkit-backdrop-filter:blur(8px)}.dialog[open]{animation:dialog-rise var(--t-spring) var(--ease-spring)}.dialog[open]::backdrop{animation:dialog-fade var(--t-pop) var(--ease-out)}.dialog-body{gap:var(--space-2);padding:var(--space-6);flex-direction:column;display:flex}.dialog-title{font-size:var(--text-xl)}.dialog-actions{justify-content:flex-end;gap:var(--space-2_5);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.dialog-close{top:var(--space-3);right:var(--space-3);z-index:var(--z-raised);position:absolute}@keyframes dialog-rise{0%{opacity:0;transform:translateY(16px)scale(.98)}}@keyframes dialog-fade{0%{opacity:0}}.support-float{width:min(400px,100vw - 36px);z-index:var(--z-toast);display:none;position:fixed;bottom:18px;right:18px}.support-float-close{z-index:var(--z-raised);color:#201b13;width:30px;height:30px;font:inherit;cursor:pointer;background:#ffffffe6;border:0;border-radius:50%;line-height:1;position:absolute;top:8px;right:8px;box-shadow:0 1px 4px #201b1340}.support-float-close:hover{background:#fff}.skip-link{left:var(--space-2_5);top:var(--space-2_5);z-index:var(--z-skip);padding:var(--space-2) var(--space-3);background:var(--water);color:var(--water-ink);border-radius:var(--radius-sm);font-weight:600;text-decoration:none;position:absolute;transform:translateY(-200%)}.skip-link:focus-visible{transform:none}.shell-main:focus{outline:none}.brand-wordmark{aspect-ratio:1212/340;background:var(--wordmark) center / contain no-repeat;display:inline-block}.brand-mascot{height:auto;display:block}.brand-appmark{border-radius:24%;display:block}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.immersion-dial{flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.immersion-dial svg{position:absolute;inset:0}.immersion-dial-fill{transition:stroke-dasharray var(--t-slow) var(--ease-in-out)}.immersion-dial-label{letter-spacing:-.02em;color:var(--water-strong);font-variant-numeric:tabular-nums;font-size:1em;font-weight:700;position:relative}.immersion-dial-ripple{pointer-events:none;position:absolute;inset:0}.immersion-dial-ripple>span{border:2px solid var(--water);opacity:0;animation:dial-ripple 1.6s var(--ease-out) forwards;border-radius:50%;position:absolute;inset:0}.immersion-dial-ripple>span+span{animation-delay:.32s}@keyframes dial-ripple{0%{opacity:.55;transform:scale(1)}to{opacity:0;border-width:1px;transform:scale(2.1)}}@media (prefers-reduced-motion:reduce){.immersion-dial-ripple>span{transform:scale(1.18);animation:dial-ripple-fade 1.2s var(--ease-in-out) both!important}.immersion-dial-ripple>span+span{display:none}}@keyframes dial-ripple-fade{0%,to{opacity:0}35%{opacity:.5}}.wb{--wb-dawn:color-mix(in srgb, #f2c9a0 55%, var(--surface));width:min(460px, calc(100vw - 2 * var(--space-5)))}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .wb{--wb-dawn:color-mix(in srgb, #7a4b2a 45%, var(--surface))}}:root[data-theme=dark] .wb{--wb-dawn:color-mix(in srgb, #7a4b2a 45%, var(--surface))}.wb-scene{height:112px}.wb-wave{width:100%;height:100%;display:block}.wb-tideline{stroke:var(--ink-4);stroke-width:1.5px;stroke-linecap:round;opacity:.6}.wb-water{fill:var(--water-tint)}.wb-water-2{fill:var(--splash);opacity:.16}.wb-body{padding:0 var(--space-8) var(--space-6);text-align:center;flex-direction:column;align-items:center;display:flex}.wb-mascot{margin-top:-72px;margin-bottom:var(--space-1);filter:drop-shadow(0 6px 12px #201b131f);animation:5.2s ease-in-out infinite wade-bob}.wb-title{font-size:var(--text-xl);line-height:var(--leading-tight)}.wb-subline{margin-top:var(--space-2);max-width:34ch;color:var(--ink-2);line-height:var(--leading-snug)}.wb-dials{align-items:center;gap:var(--space-4);margin-top:var(--space-6);display:flex}.wb-dial-before{opacity:.5}.wb-dial-arrow{color:var(--ink-3)}.wb-dial-caption{margin-top:var(--space-3);max-width:36ch}.wb-fading{align-items:center;gap:var(--space-2_5);margin-top:var(--space-6);flex-direction:column;display:flex}.wb-words{justify-content:center;gap:var(--space-1_5);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.wb-words li{padding:var(--space-1) var(--space-3);border:1px dashed var(--border-strong);border-radius:var(--radius-pill);color:var(--ink-2);font-size:var(--text-sm);font-weight:600}.wb-words li.wb-words-more{color:var(--ink-3);border-color:#0000;font-weight:400}.wb-stance{margin-top:var(--space-6)}.wb-cta{margin-top:var(--space-4)}@media (width<=420px){.wb-body{padding:0 var(--space-5) var(--space-5)}}.auth-wrap{background:var(--bg);flex-direction:column;justify-content:flex-start;align-items:center;gap:22px;min-height:100%;padding:32px 20px;display:flex}.auth-brand{flex-direction:column;align-items:center;gap:10px;margin-top:auto;display:flex}.auth-card{gap:var(--space-3);width:min(400px,100%);padding:var(--space-8) var(--space-6) var(--space-6);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);flex-direction:column;margin-bottom:auto;display:flex}.auth-title{font-size:var(--text-2xl)}.auth-sub{margin-top:-6px}.auth-field{flex-direction:column;gap:5px;display:flex}.auth-field span{font-size:var(--text-sm);color:var(--ink-2);font-weight:600}.auth-field input{min-height:44px;padding:var(--space-2_5) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit}.auth-field input:focus-visible{border-color:var(--water)}.auth-error{padding:var(--space-2_5) var(--space-3);border-radius:var(--radius-sm);background:var(--danger-tint);color:var(--danger);font-size:var(--text-sm);margin:0}.auth-submit{width:100%;margin-top:4px;padding:11px}.auth-swap{text-align:center;margin-top:2px}.auth-link{font:inherit;color:var(--water-strong);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.auth-link:hover{text-decoration:underline}.auth-oauth{margin-top:16px}.auth-divider{color:var(--ink-3);font-size:var(--text-sm);align-items:center;gap:12px;margin:0 0 16px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.google-btn{justify-content:center;min-height:40px;display:flex}@media (width<=560px){.auth-card{padding:20px 16px}}.auth-legal{text-align:center;margin:14px 0 0;line-height:1.55}.auth-legal a{color:var(--ink-2);text-underline-offset:2px;text-decoration:underline}.auth-legal a:hover{color:var(--water-strong)}.auth-forgot{text-align:right;margin:-4px 0 0}.auth-link-quiet{font-weight:500}.auth-check{align-items:center;gap:var(--space-2_5);min-height:44px;font-size:var(--text-sm);color:var(--ink-2);cursor:pointer;display:flex}.auth-check input{width:20px;height:20px;accent-color:var(--water-strong);flex:none}.auth-google-wait{opacity:.45}.auth-google-hint{text-align:center;margin:6px 0 0}.avatar-menu{position:relative}.avatar-btn{align-items:center;gap:var(--space-2);width:100%;min-height:44px;padding:var(--space-1_5) var(--space-2);border-radius:var(--radius-pill);color:var(--ink-2);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:background var(--t-fast) var(--ease-out), border-color var(--t-fast) var(--ease-out);background:0 0;border:1px solid #0000;display:flex}.avatar-btn:hover{background:var(--surface-2)}.avatar-btn[aria-expanded=true]{background:var(--surface-2);border-color:var(--border)}.avatar-circle{background:var(--water);width:30px;height:30px;color:var(--water-ink);font-weight:700;font-size:var(--text-sm);border-radius:50%;flex:none;place-items:center;display:grid}.avatar-name{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.avatar-caret{opacity:.7;transition:transform var(--t-pop) var(--ease-out);flex:none}.avatar-btn[aria-expanded=true] .avatar-caret{transform:rotate(180deg)}.avatar-pop{bottom:calc(100% + var(--space-1_5));min-width:220px;padding:var(--space-1_5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-2);z-index:var(--z-popover);transform-origin:0 100%;animation:avatar-pop-in var(--t-spring) var(--ease-spring);position:absolute;left:0;right:0}@keyframes avatar-pop-in{0%{opacity:0;transform:translateY(4px)scale(.98)}}.avatar-pop-head{padding:var(--space-2) var(--space-2_5) var(--space-2_5);border-bottom:1px solid var(--border);margin-bottom:var(--space-1_5)}.avatar-pop-name{color:var(--ink);font-weight:700}.avatar-pop-email{text-overflow:ellipsis;overflow:hidden}.avatar-list{margin:0;padding:0;list-style:none}.avatar-item{align-items:center;gap:var(--space-2);width:100%;min-height:40px;padding:var(--space-2) var(--space-2_5);border-radius:var(--radius-sm);color:var(--ink);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;background:0 0;border:0;text-decoration:none;display:flex}.avatar-item:hover{background:var(--surface-2)}.avatar-item-trail{color:var(--ink-3);margin-left:auto}.avatar-item-danger{color:var(--danger)}.avatar-sep{background:var(--border);height:1px;margin:var(--space-1_5) 0}.avatar-menu.is-compact .avatar-btn{justify-content:center;width:44px;height:44px;padding:0}.avatar-menu.is-compact .avatar-pop{top:calc(100% + var(--space-1_5));width:min(260px, calc(100vw - 2 * var(--space-3)));transform-origin:100% 0;bottom:auto;left:auto;right:0}.paywall{padding:var(--space-6);justify-content:center;align-items:center;min-height:60vh;display:flex}.paywall-card{align-items:center;gap:var(--space-3);text-align:center;width:100%;max-width:460px;padding:var(--space-8) var(--space-6) var(--space-6);border-radius:var(--radius-lg);flex-direction:column;display:flex}.paywall-wade{animation:5.2s ease-in-out infinite wade-bob}.paywall-title{font-size:var(--text-2xl)}.paywall-sub{margin-bottom:var(--space-2)}.paywall-plans{gap:var(--space-2_5);width:100%;margin:0 0 var(--space-2);border:0;grid-template-columns:1fr 1fr;min-width:0;padding:0;display:grid}.paywall-plan{gap:var(--space-0_5);padding:var(--space-4) var(--space-2_5);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--ink);cursor:pointer;text-align:center;transition:border-color var(--t-fast) var(--ease-out), background var(--t-fast) var(--ease-out);flex-direction:column;display:flex}.paywall-plan:hover{border-color:var(--border-strong)}.paywall-plan:has(input:checked){border-color:var(--water);background:var(--water-tint);box-shadow:inset 0 0 0 1px var(--water)}.paywall-plan:has(input:focus-visible){outline:2px solid var(--water);outline-offset:2px}.paywall-plan-name{font-size:var(--text-sm);color:var(--ink-2);font-weight:600}.paywall-plan-price{font-family:var(--font-display);font-size:var(--text-xl);color:var(--ink);font-weight:600}.paywall-plan-note{font-size:var(--text-xs);color:var(--ink-3)}.paywall-fine{margin-top:var(--space-1)}.trial-banner{justify-content:center;align-items:center;gap:var(--space-2_5);padding:var(--space-2) var(--space-4);background:var(--water-tint);color:var(--water-strong);font-size:var(--text-sm);flex:none;display:flex}.trial-banner-link{color:var(--water-strong);font-weight:700}@media (width<=560px){.paywall{padding:var(--space-4)}.paywall-card{padding:var(--space-6) var(--space-4) var(--space-5)}}.shortcuts-list{margin:var(--space-3) 0 0;gap:var(--space-2);display:grid}.shortcuts-row{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:32px;display:flex}.shortcuts-row dt{flex:none}.shortcuts-row dd{color:var(--ink-2);text-align:right;margin:0}.shortcuts kbd{min-width:1.6em;padding:1px var(--space-1_5);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);font:inherit;font-size:var(--text-sm);text-align:center;border-bottom-width:2px;display:inline-block}.lang-switch{position:relative}.lang-switch-current{font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:0;display:flex}.lang-switch-current:hover .shell-learner-lang{color:var(--water-strong)}.lang-switch-chev{font-size:var(--text-2xs);color:var(--ink-3)}.lang-switch-backdrop{z-index:var(--z-popover);position:fixed;inset:0}.lang-switch-menu{z-index:calc(var(--z-popover) + 1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:264px;box-shadow:var(--shadow-pop);flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;bottom:calc(100% + 8px);left:0}.lang-switch-search{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);align-items:center;gap:8px;margin-bottom:2px;padding:7px 10px;display:flex}.lang-switch-search:focus-within{border-color:var(--water);background:var(--surface);outline:2px solid var(--water);outline-offset:2px}.lang-switch-search-icon{color:var(--ink-3);flex:none}.lang-switch-search input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:none;flex:1;padding:0}.lang-switch-search input::placeholder{color:var(--ink-3);font-weight:400}.lang-switch-search input:focus-visible{outline:none}.lang-switch-list{flex-direction:column;gap:1px;min-height:202px;display:flex}.lang-switch-item{border-radius:var(--radius-sm);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;font-weight:600;display:flex}.lang-switch-item.is-cursor{background:var(--surface-2)}.lang-switch-item.is-active{color:var(--water-strong)}.lang-switch-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.lang-switch-dial{color:var(--ink-3);font-size:var(--text-xs);font-variant-numeric:tabular-nums;flex:none;font-weight:500}.lang-switch-item.is-active .lang-switch-dial{color:var(--water-strong)}.lang-switch-check{color:var(--water-strong);flex:none}.lang-switch-empty{color:var(--ink-3);font-size:var(--text-sm);margin:0;padding:10px;line-height:1.4}.lang-switch-pager{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:6px;margin-top:2px;padding:4px 2px 2px;display:flex}.lang-switch-count{color:var(--ink-3);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.lang-switch-page{border:1px solid var(--border);border-radius:var(--radius-sm);width:26px;height:26px;color:var(--ink-2);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;display:inline-flex}.lang-switch-page:hover:enabled{border-color:var(--water);color:var(--water-strong)}.lang-switch-page:disabled{opacity:.35;cursor:default}.lang-switch-next svg{transform:rotate(180deg)}.lang-switch-add{border-top:1px solid var(--border);border-radius:0 0 var(--radius-sm) var(--radius-sm);color:var(--water-strong);font-size:var(--text-sm);margin-top:2px}.lang-switch-item:disabled{opacity:.5;cursor:default}.lang-switch-error{padding:6px 4px 2px}.lang-switch-error p{font-size:var(--text-sm);color:var(--ink-2);margin:0 0 6px;padding:0 6px;line-height:1.35}.lang-switch-suggests{flex-wrap:wrap;gap:6px;padding:0 6px;display:flex}.lang-switch-suggest{border:1px solid var(--water);border-radius:var(--radius-pill);color:var(--water-strong);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;padding:4px 10px;font-weight:600}.lang-switch-suggest:hover{background:var(--water);color:var(--surface)}.lang-switch-suggest:disabled{opacity:.5;cursor:default}.lang-switch-row{align-items:stretch;gap:2px;display:flex}.lang-switch-row .lang-switch-item{flex:1;min-width:0}.lang-switch-remove{width:36px;color:var(--ink-3);border-radius:var(--radius-sm);cursor:pointer;opacity:0;pointer-events:none;transition:opacity var(--t-fast) var(--ease-out);background:0 0;border:none;flex:none;place-items:center;padding:0;display:grid}.lang-switch-row:hover .lang-switch-remove,.lang-switch-remove:focus-visible{opacity:1;pointer-events:auto}@media (hover:none){.lang-switch-remove{opacity:.55;pointer-events:auto}}.lang-switch-remove:hover{color:var(--danger);background:var(--surface-2)}@media (width<=760px){.lang-switch-backdrop{background:var(--scrim)}.lang-switch-menu{top:auto;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));width:auto;position:fixed}.lang-switch-item{padding-top:12px;padding-bottom:12px}}.lang-switch-level{padding:6px 0}.lang-switch-level-q{font-size:var(--text-sm);margin:4px 12px 8px;font-weight:600}.lang-switch-back{opacity:.7}.tide-pool{aspect-ratio:300/190;border-radius:var(--radius-lg);box-shadow:var(--shadow);margin:0 auto;position:relative;overflow:hidden}.tide-pool-scene{width:100%;height:100%;position:absolute;inset:0}.tide-pool-wave{transform-origin:bottom;animation:6s ease-in-out infinite alternate tide-pool-swell}.tide-pool-wade{justify-content:center;display:flex;position:absolute;bottom:6%;left:0;right:0}@keyframes tide-pool-swell{0%{transform:translateY(0)}to{transform:translateY(3px)}}@media (prefers-reduced-motion:reduce){.tide-pool-wave{animation:none}}.wade-mood{animation:wade-mood-in var(--t-step) var(--ease-out);flex:none;justify-content:center;align-items:flex-end;display:inline-flex;overflow:visible}.wade-mood img{object-fit:contain;max-width:100%;max-height:100%}.wade-mood[data-mood=celebrating]{animation:wade-mood-hop var(--t-spring) var(--ease-spring)}@keyframes wade-mood-in{0%{opacity:0;transform:translateY(3px)}}@keyframes wade-mood-hop{0%{transform:translateY(0)}40%{transform:translateY(-5px)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.wade-mood,.wade-mood[data-mood=celebrating]{animation:none}}.convo-games-toggles{gap:var(--space-2);flex-wrap:wrap;display:flex}.convo-games-toggles .convo-games-toggle{min-height:44px}.convo-game-surprise{background:var(--water-tint);border-style:dashed}.convo-game-live{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-1) 0;display:flex}.convo-game-live-label{align-items:center;gap:var(--space-1_5);color:var(--ink-2);font-size:var(--text-sm);display:inline-flex}.convo-game-live-label strong{color:var(--water-strong)}.convo-game-live .btn{min-height:44px}.convo-scene,.convo-expeditions{margin:var(--space-2) 0 var(--space-1);animation:msg-in var(--t-spring) var(--ease-spring)}.convo-scene-hint{margin:0 0 var(--space-2);color:var(--ink-2);font-size:var(--text-sm);line-height:var(--leading-snug)}.convo-scene-list{margin:0 0 var(--space-2);gap:var(--space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.convo-scene-chip{min-height:44px;padding:var(--space-1) var(--space-3);border:1px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer;font:inherit;font-size:var(--text-sm)}.convo-scene-chip:hover:not(:disabled){border-color:var(--water);color:var(--water-strong)}.convo-expeditions-list{padding-left:var(--space-5);gap:var(--space-1);color:var(--ink);font-size:var(--text-sm);margin:0;display:grid}@media (prefers-reduced-motion:reduce){.convo-scene,.convo-expeditions{animation:none}}.convo-modules-list{margin-top:0}.convo-module-live+.convo-games,.convo-game-live+.convo-module-live{margin-top:var(--space-1)}.away-welcome{align-items:center;gap:var(--space-3);margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);background:var(--water-tint);display:flex}.away-welcome-wade{flex:none}.away-welcome-body{gap:var(--space-1_5);justify-items:start;display:grid}.away-welcome-title{font-size:var(--text-md);margin:0}.away-welcome-body p{margin:0}.history-list{gap:var(--space-2_5);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.history-item{align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-4) var(--space-5);color:inherit;grid-template-columns:1fr auto;text-decoration:none;display:grid}.history-item-main{justify-content:space-between;align-items:baseline;gap:var(--space-3);min-width:0;display:flex}.history-item-topic{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;line-height:var(--leading-tight);color:var(--ink)}.history-item-date{font-size:var(--text-sm);color:var(--ink-2);flex:none}.history-item-stats{gap:var(--space-1) var(--space-4);font-size:var(--text-sm);color:var(--ink-2);flex-wrap:wrap;grid-column:1;display:flex}.history-item-stat{align-items:center;gap:var(--space-1);display:inline-flex}.history-item-go{color:var(--ink-4);transition:transform var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out);grid-area:1/2/span 2}.history-item:hover .history-item-go{color:var(--water-strong);transform:translate(2px)}.history-transcript{flex-direction:column;flex:1;min-height:0;display:flex}.history-transcript-head{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border);background:var(--bg)}.history-transcript-inner{width:100%;max-width:var(--thread-max);align-items:flex-start;gap:var(--space-2);flex-direction:column;margin:0 auto;display:flex}.history-back{margin-left:calc(-1 * var(--space-3))}.history-transcript-title h1{font-size:var(--text-xl)}.history-thread{flex:1;min-height:0;overflow-y:auto}.history-skeleton{min-height:3.2em;box-shadow:none;background:var(--surface-2);border:none}.msg-assistant .history-skeleton{background:var(--surface-2);box-shadow:none;border:none}@media (width<=560px){.history-transcript-head,.history-item{padding:var(--space-3) var(--space-4)}.history-item-main{align-items:flex-start;gap:var(--space-0_5);flex-direction:column}}.history-views{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.history-search{max-width:420px;margin-bottom:var(--space-4);display:block;position:relative}.history-search .input{border-radius:var(--radius-pill);width:100%;padding-left:40px}.history-search .vocab-search-icon{color:var(--ink-3);pointer-events:none;position:absolute;top:50%;left:14px;translate:0 -50%}.history-item-summary{font-size:var(--text-sm);color:var(--ink-2);line-height:var(--leading-snug,1.45);grid-column:1}.history-panel-note{margin:var(--space-4) 0}.history-panel-title{font-size:var(--text-lg);margin-bottom:var(--space-1)}.history-panel-intro{margin-bottom:var(--space-4);max-width:60ch}.history-error{color:var(--danger);margin:var(--space-2) 0}.history-hit,.history-saved-link{gap:var(--space-1);padding:var(--space-4) var(--space-5);color:inherit;flex-direction:column;min-width:0;text-decoration:none;display:flex}.history-hit-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.history-hit-title{color:var(--ink);font-weight:600}.history-hit-snippet{color:var(--ink-2);overflow-wrap:anywhere}.history-hit-who{color:var(--ink-3);font-size:var(--text-sm)}.history-saved{align-items:center;gap:var(--space-2);padding-right:var(--space-3);display:flex}.history-saved-link{flex:1}.history-memory{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4) var(--space-3) var(--space-5);display:flex}.history-memory-main{gap:var(--space-0_5);flex-direction:column;min-width:0;display:flex}.history-memory-fact{color:var(--ink)}.history-memory-confirm{gap:var(--space-2);flex:none;display:inline-flex}.history-keepsake{gap:var(--space-3);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-4);background:var(--water-tint);border-color:#0000;flex-direction:column;display:flex}.history-keepsake-title{font-size:var(--text-sm);color:var(--water-strong);text-transform:none;font-weight:600}.history-keepsake-row{gap:var(--space-0_5);color:inherit;flex-direction:column;text-decoration:none;display:flex}.history-keepsake-label{font-size:var(--text-sm);color:var(--ink-2)}.history-keepsake-quote{font-family:var(--font-display);font-size:var(--text-lg);color:var(--ink)}a.history-keepsake-row .history-item-date{align-items:center;gap:var(--space-1);display:inline-flex}.history-summary{color:var(--ink-2);max-width:60ch}.history-transcript-tools{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.history-toggle{align-items:center;gap:var(--space-2);min-height:44px;font-size:var(--text-sm);color:var(--ink-2);cursor:pointer;display:inline-flex}.history-moment{border-radius:var(--radius-lg);outline:none}.history-moment.is-linked{background:var(--water-tint);box-shadow:0 0 0 6px var(--water-tint);animation:history-moment-settle 2.4s var(--ease-out) .3s both}@keyframes history-moment-settle{0%{box-shadow:0 0 0 10px var(--water-tint)}to{box-shadow:0 0 0 6px var(--water-tint)}}@media (prefers-reduced-motion:reduce){.history-moment.is-linked{animation:none}}.history-careful{margin-top:var(--space-8,2rem);padding-top:var(--space-4);border-top:1px solid var(--border);align-items:flex-start;gap:var(--space-2);flex-direction:column;display:flex}.history-careful-title{font-size:var(--text-sm);color:var(--ink-2)}.msg-actions{align-items:center;gap:var(--space-0_5);margin-top:var(--space-0_5);color:var(--ink-3);display:flex}.msg-action{border-radius:var(--radius-pill);min-width:44px;min-height:44px;color:inherit;cursor:pointer;transition:color var(--t-fast) var(--ease-out), background var(--t-fast) var(--ease-out);background:0 0;border:none;place-items:center;display:inline-grid}.msg-action:hover:not(:disabled),.msg-action:focus-visible{color:var(--ink);background:var(--surface-2)}.msg-action.is-on{color:var(--water-strong)}.msg-action-note{font-size:var(--text-xs);color:var(--ink-2);min-width:0}@media (hover:hover){.msg .msg-actions{opacity:0;transition:opacity var(--t-fast) var(--ease-out)}.msg:hover .msg-actions,.msg:focus-within .msg-actions{opacity:1}.msg-actions:has(.msg-action-note:not(:empty)){opacity:1}}@media (width<=560px){.history-memory{flex-direction:column;align-items:flex-start}.history-hit-head{gap:var(--space-0_5);flex-direction:column}}.dw-card{gap:var(--space-1_5);width:100%;max-width:420px;margin:var(--space-4) auto 0;text-align:left;flex-direction:column;display:flex}.dw-new{color:var(--water-strong)}.dw-term{font-size:var(--text-lg);color:var(--ink);overflow-wrap:anywhere;font-weight:600}.dw-gloss{line-height:var(--leading-snug)}.dw-actions{align-items:center;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.dw-actions .btn{min-height:44px}.dw-link{color:var(--water-strong);align-items:center;min-height:44px;margin-left:auto;font-weight:600;display:inline-flex}.dw-snoozed{margin-top:var(--space-3);text-align:center}.dw-list,.wm-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.dw-row{column-gap:var(--space-4);row-gap:var(--space-0_5);width:100%;min-height:44px;padding:var(--space-3) var(--space-4);font:inherit;text-align:left;color:inherit;cursor:pointer;grid-template-columns:7.5rem 1fr;grid-template-areas:"date term""date gloss";display:grid}.dw-row-date{grid-area:date;align-self:center}.dw-row-term{overflow-wrap:anywhere;grid-area:term;font-weight:600}.dw-row-gloss{grid-area:gloss}@media (width<=480px){.dw-row{grid-template-columns:1fr;grid-template-areas:"date""term""gloss"}}.wm-item{align-items:flex-start;gap:var(--space-2);flex-direction:column;display:flex}.wm-meta{align-items:center;gap:var(--space-2);display:flex}.wm-waiting{background:var(--water-tint);color:var(--water-strong)}.wm-text{line-height:var(--leading-body);white-space:pre-wrap}.wm-item .btn{min-height:44px}.dw-days{gap:var(--space-1_5);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.dw-days .chip-toggle{justify-content:center;min-width:44px;min-height:44px}.dw-quiet{flex-wrap:wrap}.dw-settings-links{gap:var(--space-4);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.dw-settings-links a{color:var(--water-strong);align-items:center;min-height:44px;font-weight:600;display:inline-flex}.convo{flex-direction:column;flex:1;min-height:0;display:flex}.convo-header-inner,.convo-thread-inner,.convo-composer-inner,.voice-panel-inner{width:100%;max-width:var(--thread-max);margin:0 auto}.convo-header{z-index:var(--z-sticky);padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(10px);flex:none;position:sticky;top:0}.convo-header-inner{align-items:center;gap:var(--space-3);display:flex}.convo-header-title{flex:1;min-width:0}.convo-header-title h1{font-size:var(--text-xl);line-height:var(--leading-tight)}.convo-header-sub{font-size:var(--text-sm);color:var(--ink-2)}.convo-end,.convo-wrapped{flex:none}@media (width<=760px){.convo-header-inner>.immersion-dial{display:none}}@media (width<=640px){.convo-header{padding:var(--space-2) var(--space-3)}.convo-header-title h1{font-size:var(--text-lg);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.convo-header-sub{font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}}.convo-thread{min-height:0;padding:var(--space-6) var(--space-6) var(--space-8);flex:1;overflow-y:auto}.convo-thread-inner{gap:var(--space-4);flex-direction:column;display:flex}.msg{animation:msg-in var(--t-spring) var(--ease-spring) backwards;flex-direction:column;align-items:flex-start;display:flex}.msg-still{animation:none}.msg:has(.gloss-pop){z-index:var(--z-popover)}@keyframes msg-in{0%{opacity:0;transform:translateY(10px)}}.msg-user{align-items:flex-end}.msg-bubble{max-width:82%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);overflow-wrap:anywhere;line-height:1.65}.msg-assistant .msg-bubble{background:var(--bubble-ai);border:1px solid var(--border);border-bottom-left-radius:var(--radius-xs);box-shadow:var(--shadow-1)}.msg-user .msg-bubble{background:var(--bubble-user);border-bottom-right-radius:var(--radius-xs)}.word-chip-root{display:inline-block;position:relative}.word-chip{--chip-ink:var(--ink);--chip-tint:var(--surface-2);background:linear-gradient(to top, var(--chip-tint) 0 55%, transparent 55%);color:var(--chip-ink);font:inherit;font-weight:500;line-height:inherit;cursor:pointer;transition:background-size var(--t-fast) var(--ease-out), box-shadow var(--t-fast) var(--ease-out);border:none;border-radius:3px;margin:0;padding:0 2px;display:inline}.word-chip-introduced{--chip-ink:var(--stage-introduced);--chip-tint:var(--stage-introduced-tint)}.word-chip-recognized{--chip-ink:var(--stage-recognized);--chip-tint:var(--stage-recognized-tint)}.word-chip-understood{--chip-ink:var(--stage-understood);--chip-tint:var(--stage-understood-tint)}.word-chip-producing{--chip-ink:var(--stage-producing);--chip-tint:var(--stage-producing-tint)}.word-chip:hover,.word-chip[aria-expanded=true]{background:var(--chip-tint);box-shadow:inset 0 -1.5px}@media (pointer:coarse){.word-chip{position:relative}.word-chip:after{content:"";position:absolute;inset:-8px -4px}}.gloss-pop{top:calc(100% + var(--space-2));z-index:var(--z-popover);gap:var(--space-2);width:min(248px,100vw - 32px);padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-2);color:var(--ink);font-size:var(--text-sm);font-weight:400;line-height:var(--leading-snug);text-align:left;cursor:default;animation:gloss-in var(--t-pop) var(--ease-out);flex-direction:column;display:flex;position:absolute;left:50%}.gloss-pop-above{top:auto;bottom:calc(100% + var(--space-2))}@keyframes gloss-in{0%{opacity:0}}.gloss-term{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;line-height:var(--leading-tight)}.gloss-rom{color:var(--ink-2);font-weight:600}.gloss-pron{margin-top:calc(-1 * var(--space-1));font-size:var(--text-xs);letter-spacing:.02em}.gloss-gloss{font-size:var(--text-md);font-weight:500}.gloss-stage-row{align-items:center;gap:var(--space-2);display:flex}.gloss-strength,.gloss-counts{font-size:var(--text-xs)}.gloss-counts{font-variant-numeric:tabular-nums}.gloss-strength{margin-bottom:calc(-1 * var(--space-1))}.wade-notes{gap:var(--space-1_5);max-width:82%;margin:0 0 var(--space-2) var(--space-1);flex-direction:column;display:flex}.wade-note{align-items:flex-start;gap:var(--space-2_5);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-2);border-radius:var(--radius);background:var(--water-tint);color:var(--water-strong);font-size:var(--text-sm);line-height:var(--leading-snug);display:flex}.wade-note-mark{background:var(--surface);width:24px;height:24px;color:var(--water-strong);border-radius:50%;flex:none;place-items:center;display:grid}.wade-note-body{gap:var(--space-0_5);overflow-wrap:anywhere;flex-direction:column;min-width:0;padding-top:2px;display:flex}.wade-note-fix{align-items:baseline;gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:inline-flex}.wade-note-was{color:var(--ink-2);animation:ink-dissolve .42s var(--ease-out) both}.wade-note-arrow{color:var(--ink-2);opacity:0;animation:ink-settle var(--t-step) var(--ease-out) .12s forwards;flex:none;align-self:center}.wade-note-to{color:var(--water-strong);animation:ink-settle var(--t-spring) var(--ease-spring) .18s both;font-weight:700}.wade-note-why{color:var(--ink-2);font-size:var(--text-xs)}@keyframes ink-dissolve{0%{color:var(--ink);filter:blur();opacity:1}45%{filter:blur(1.6px);opacity:.4}to{color:var(--ink-2);filter:blur();opacity:1}}@keyframes ink-settle{0%{opacity:0;filter:blur(2px);transform:translate(-4px)}to{opacity:1;filter:blur();transform:none}}.msg-still .wade-note-was,.msg-still .wade-note-to,.msg-still .wade-note-arrow{opacity:1;animation:none}.wade-note-term{font-family:var(--font-display);font-size:var(--text-md);color:var(--ink);font-weight:600}.wade-note.is-sound .wade-note-was{font-style:italic}.wade-note-label{margin-right:var(--space-1_5);color:var(--ink-2);font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase;font-style:normal;font-weight:700}.cap-card{align-items:center;gap:var(--space-4);width:100%;max-width:var(--thread-max);padding:var(--space-4) var(--space-5) var(--space-5);margin:0 auto;display:flex}.cap-wade{flex:none}.cap-body{flex:1;min-width:0}.cap-line{margin:0 0 var(--space-2_5);color:var(--ink)}.cap-actions{align-items:center;gap:var(--space-2_5) var(--space-4);flex-wrap:wrap;display:flex}@media (width<=560px){.cap-card{text-align:center;gap:var(--space-2);flex-direction:column}.cap-actions{justify-content:center}}.cap-card-centered{text-align:center;align-items:center;gap:var(--space-1);margin:var(--space-12) auto 0;flex-direction:column;max-width:460px}.cap-card-centered .cap-body{align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.cap-card-centered .cap-line{font-size:var(--text-lg);font-family:var(--font-display)}.cap-card-centered .cap-actions{align-items:center;gap:var(--space-2);flex-direction:column}.sponsored{align-items:baseline;gap:var(--space-1_5) var(--space-2_5);max-width:78%;margin-top:var(--space-1_5);padding:var(--space-2) var(--space-3);border:1px dashed var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);font-size:var(--text-sm);color:var(--ink-2);flex-wrap:wrap;display:flex}.sponsored-label{font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);border:1px solid var(--border-strong);border-radius:var(--radius-pill);padding:0 var(--space-2);font-weight:700}.sponsored-link{align-items:center;gap:var(--space-1);color:var(--water-strong);font-weight:600;display:inline-flex}.sponsored-paidfor{font-size:var(--text-xs);color:var(--ink-3);flex:100%}.nudge{align-items:center;gap:var(--space-2) var(--space-3);max-width:82%;margin:var(--space-2) 0 0 var(--space-2);padding:var(--space-1_5) var(--space-2) var(--space-1_5) var(--space-4);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-2);font-size:var(--text-sm);flex-wrap:wrap;display:inline-flex}.nudge-prompt{color:var(--ink-2);font-weight:600}.nudge-actions{gap:var(--space-1_5);display:inline-flex}.nudge-answered{gap:var(--space-1_5);border-style:solid;border-color:var(--border);color:var(--ink-2);padding:var(--space-1_5) var(--space-4)}.typing-bubble{align-items:center;gap:var(--space-2_5);display:flex}.typing-wade{display:block}.typing-dots{align-items:center;gap:5px;padding:5px 2px;display:inline-flex}.typing-dots span{background:var(--ink-4);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite typing-bounce}.typing-dots span:nth-child(2){animation-delay:.15s}.typing-dots span:nth-child(3){animation-delay:.3s}@keyframes typing-bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.convo-composer{padding:var(--space-3) var(--space-6) var(--space-5);border-top:1px solid var(--border);background:var(--bg);flex:none}.composer-suggestions{gap:var(--space-2);margin-bottom:var(--space-2_5);flex-wrap:wrap;display:flex}.suggestion{min-height:36px;padding:var(--space-1_5) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-2);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:background var(--t-fast) var(--ease-out), border-color var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out)}.suggestion:hover:enabled{background:var(--water-tint);border-color:var(--water);color:var(--water-strong)}.suggestion:disabled{opacity:.5;cursor:default}.suggestion-nav{border-style:dashed;border-color:var(--water);background:var(--water-tint);color:var(--water-strong);font-weight:500}.suggestion-nav:hover:enabled{border-style:solid}.module-trail{min-width:0;margin:0 0 var(--space-1_5);color:var(--ink-3);font-size:var(--text-xs);white-space:nowrap;display:flex}.module-trail-done{text-overflow:ellipsis;white-space:pre;min-width:0;overflow:hidden}.module-trail-current{color:var(--ink);flex:none;font-weight:600}.module-trail-finished{white-space:normal}.composer-group{align-items:flex-end;gap:var(--space-1_5);padding:var(--space-1_5);border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-1);transition:border-color var(--t-fast) var(--ease-out), box-shadow var(--t-fast) var(--ease-out);display:flex}.composer-group:has(.composer-input:focus){border-color:var(--water);outline:2px solid var(--water);outline-offset:2px}.composer-input{min-width:0;min-height:40px;padding:var(--space-2) var(--space-2);color:var(--ink);font:inherit;resize:none;field-sizing:content;background:0 0;border:none;outline:none;flex:1;max-height:142px;line-height:1.5;overflow-y:auto}.composer-input::placeholder{color:var(--ink-3)}.composer-icon-btn{cursor:pointer;width:40px;height:40px;transition:background var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out), opacity var(--t-fast) var(--ease-out), transform var(--t-instant) var(--ease-out);border:none;border-radius:50%;flex:none;place-items:center;display:grid}.composer-icon-btn:active:enabled{transform:scale(.94)}.composer-icon-btn{position:relative}.composer-icon-btn:after{content:"";border-radius:50%;position:absolute;inset:-2px}.composer-icon-btn:disabled{opacity:.4;cursor:default}.composer-mic{background:var(--surface-2);color:var(--ink-2)}.composer-mic:hover:enabled{background:var(--water-tint);color:var(--water-strong)}.composer-send{background:var(--water);color:var(--water-ink)}.composer-send:hover:enabled{background:var(--water-strong)}.convo-games{margin-bottom:var(--space-2)}.convo-games-toggle{align-items:center;gap:var(--space-1_5);min-height:32px;padding:var(--space-1) var(--space-2);margin-left:calc(-1 * var(--space-2));border-radius:var(--radius-pill);color:var(--ink-2);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:color var(--t-fast) var(--ease-out), background var(--t-fast) var(--ease-out);background:0 0;border:0;font-weight:600;display:inline-flex}.convo-games-toggle:hover{color:var(--water-strong);background:var(--surface-2)}.convo-games-caret{transition:transform var(--t-pop) var(--ease-out)}.convo-games-toggle[aria-expanded=true] .convo-games-caret{transform:rotate(180deg)}.convo-games-list{margin:var(--space-2) 0 var(--space-1);gap:var(--space-2);animation:msg-in var(--t-spring) var(--ease-spring);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));padding:0;list-style:none;display:grid}.convo-game-card{align-items:flex-start;gap:var(--space-0_5);text-align:left;width:100%;height:100%;padding:var(--space-2_5) var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;transition:border-color var(--t-fast) var(--ease-out), box-shadow var(--t-fast) var(--ease-out);flex-direction:column;display:flex}.convo-game-card:hover:not(:disabled){border-color:var(--water);box-shadow:var(--shadow-1)}.convo-game-card:disabled{opacity:.5;cursor:default}.convo-game-name{color:var(--water-strong);font-weight:700;font-size:var(--text-sm)}.convo-game-blurb{color:var(--ink-2);font-size:var(--text-xs);line-height:var(--leading-snug)}.recap{gap:var(--space-5);margin-top:var(--space-12);padding:var(--space-8) var(--space-6) var(--space-6);border-radius:var(--radius-lg);animation:msg-in var(--t-spring) var(--ease-spring) backwards;flex-direction:column;display:flex;position:relative}.recap-wade{animation:wade-pop var(--t-slow) var(--ease-water) .1s backwards;position:absolute;top:-50px;left:50%;translate:-50%}@keyframes wade-pop{0%{opacity:0;transform:translateY(12px)scale(.92)}}.recap-head{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.recap-head-text{gap:var(--space-1);flex-direction:column;display:flex}.recap-head h2{font-size:var(--text-xl)}.recap-section{gap:var(--space-2);flex-direction:column;display:flex}.recap-note{margin-top:calc(-1 * var(--space-1))}.recap-words{gap:var(--space-2) var(--space-4);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.recap-words li{align-items:baseline;gap:var(--space-1_5);display:inline-flex}.recap-advanced{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.recap-advanced li{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.recap-word-term{min-width:92px;font-weight:600}.recap-arrow{color:var(--ink-3)}.recap-said{color:var(--stage-producing);font-weight:600}.recap-closing{padding-top:var(--space-4);border-top:1px solid var(--border);color:var(--ink-2);font-family:var(--font-display);font-style:italic;font-size:var(--text-md)}.voice-panel{padding:var(--space-4) var(--space-6) calc(var(--space-5) + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--bg);flex:none}.voice-panel-inner{align-items:center;gap:var(--space-4);grid-template-columns:auto 1fr auto;display:grid}.voice-wade{place-items:center;width:88px;height:88px;display:grid;position:relative}.voice-pool,.voice-ripple{border-radius:50%;position:absolute;inset:12px}.voice-pool{background:var(--water-tint);transition:background var(--t-step) var(--ease-out)}.voice-ripple{border:2px solid var(--water);opacity:0}.voice-wade-pose{z-index:var(--z-raised);animation:wade-pop var(--t-spring) var(--ease-water);margin-top:-6px;position:relative}.voice-wade-listening .voice-ripple{animation:voice-ripple 2.4s var(--ease-out) infinite}.voice-wade-listening .voice-ripple:nth-child(2){animation-delay:.8s}.voice-wade-listening .voice-ripple:nth-child(3){animation-delay:1.6s}.voice-wade-speaking .voice-pool{animation:voice-swell 1.1s var(--ease-water) infinite alternate}.voice-wade-speaking .voice-ripple:first-child{animation:voice-ripple 1.8s var(--ease-out) infinite}.voice-wade-connecting .voice-pool{animation:1.4s ease-in-out infinite voice-breathe}.voice-wade-error .voice-pool{background:var(--danger-tint)}@keyframes voice-ripple{0%{opacity:.5;transform:scale(.9)}to{opacity:0;transform:scale(1.55)}}@keyframes voice-swell{0%{transform:scale(.96)}to{transform:scale(1.1)}}@keyframes voice-breathe{0%,to{opacity:1}50%{opacity:.55}}.voice-main{gap:var(--space-1_5);flex-direction:column;min-width:0;display:flex}.voice-status{font-family:var(--font-display);font-size:var(--text-lg);color:var(--ink);font-weight:600}.voice-interim{gap:var(--space-1);flex-direction:column;min-height:44px;display:flex}.voice-interim-model{color:var(--ink)}.voice-interim-user{color:var(--ink-2);font-style:italic}.voice-hint{color:var(--ink-2);font-size:var(--text-sm)}.voice-error{color:var(--danger);font-size:var(--text-sm)}.voice-end{align-self:center}@media (width<=560px){.voice-panel-inner{gap:var(--space-3);grid-template-columns:auto 1fr}.voice-wade{width:72px;height:72px}.voice-end{grid-column:1/-1;width:100%}}.convo-idle{padding-block:clamp(var(--space-8), 9vh, 88px)}.convo-idle-title{font-size:var(--text-2xl)}.convo-idle-actions{gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;justify-content:center;display:flex}.convo-restart{padding:var(--space-4) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--bg);justify-content:center;display:flex}.residence-inline{margin-top:var(--space-2_5)}.residence-row{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.residence-postal{width:140px}.residence-error{margin:var(--space-1_5) 0 0;color:var(--danger)}.residence-hint{margin:var(--space-1_5) 0 0}.convo-gate{gap:var(--space-1_5);margin:var(--space-4) 0 var(--space-2);padding:var(--space-4) var(--space-5);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);flex-direction:column;display:flex}.convo-gate h2{font-size:var(--text-lg)}.convo-gate-centered{text-align:center;margin:var(--space-10) auto 0;background:0 0;border:0;align-items:center;max-width:520px}.convo-gate-centered h2{margin-top:var(--space-2);font-size:var(--text-xl)}.convo-gate .residence-inline{margin-top:var(--space-4);width:100%}.convo-gate .residence-row{justify-content:center}.msg-recap{gap:var(--space-3);margin-top:var(--space-1_5);padding:var(--space-1_5) var(--space-3);border-radius:var(--radius-pill);background:var(--water-tint);color:var(--ink-2);font-size:var(--text-xs);flex-wrap:wrap;display:flex}.msg-recap-said{color:var(--water-strong);font-weight:700}.msg-pearl{align-items:baseline;gap:var(--space-1_5) var(--space-2);margin-top:var(--space-1_5);padding:var(--space-1_5) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);font-size:var(--text-xs);animation:msg-in var(--t-spring) var(--ease-water) .2s backwards;flex-wrap:wrap;display:flex}.msg-still .msg-pearl{animation:none}.msg-pearl-dot{background:radial-gradient(circle at 35% 35%, var(--surface), var(--water) 70%);width:8px;height:8px;box-shadow:0 0 0 2px var(--water-tint);border-radius:50%;align-self:center}.msg-pearl-name{color:var(--water-strong);font-weight:700}.msg-pearl-why{color:var(--ink-2)}.msg-caught{margin-top:var(--space-1_5);color:var(--ink-3);font-size:var(--text-xs);display:block}@media (width<=640px){.convo-thread{padding:var(--space-3) var(--space-3) var(--space-5)}.msg-bubble,.wade-notes{max-width:90%}.convo-composer{padding:var(--space-2_5) var(--space-3) calc(var(--space-3) + env(safe-area-inset-bottom))}.voice-panel{padding:var(--space-3) var(--space-3) calc(var(--space-3) + env(safe-area-inset-bottom))}.composer-suggestions{scrollbar-width:none;margin-inline:calc(-1 * var(--space-3));padding-inline:var(--space-3);flex-wrap:nowrap;overflow-x:auto}.composer-suggestions::-webkit-scrollbar{display:none}.suggestion{white-space:nowrap;flex:none}.recap{padding:var(--space-8) var(--space-4) var(--space-5)}}.onboarding{justify-content:flex-start;align-items:center;gap:var(--space-6);min-height:100%;padding:var(--space-12) var(--space-5);background:radial-gradient(80% 50% at 50% 0%, color-mix(in srgb, var(--water-tint) 80%, transparent), transparent 70%), var(--bg);flex-direction:column;display:flex}.ob-brand{align-items:center;gap:var(--space-2);flex-direction:column;margin-top:auto;display:flex}.ob-brand .brand-mascot{animation:5.2s ease-in-out infinite wade-bob}.ob-card{width:100%;max-width:560px;padding:var(--space-6) var(--space-8);gap:var(--space-5);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);flex-direction:column;margin-bottom:auto;display:flex}.ob-dots{justify-content:center;align-items:center;gap:var(--space-2_5);margin:0;padding:0;list-style:none;display:flex}.ob-dots li{display:flex}.ob-dot{border-radius:var(--radius-pill);background:var(--border-strong);opacity:.45;width:9px;height:9px;transition:background var(--t-pop) var(--ease-out), width var(--t-spring) var(--ease-spring), opacity var(--t-fast) var(--ease-out);border:none;flex:none;padding:0;display:block;position:relative}.ob-dot.is-done{background:var(--water);opacity:.5;cursor:pointer}.ob-dot.is-done:hover{opacity:.85}button.ob-dot:after{content:"";position:absolute;inset:-8px}.ob-dot.is-current{background:var(--water);opacity:1;width:24px}.ob-step{animation:ob-step-in var(--t-spring) var(--ease-spring) both}@keyframes ob-step-in{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}.ob-step-head{gap:var(--space-1_5);margin-bottom:var(--space-5);text-align:center;flex-direction:column;display:flex}.ob-title{font-size:var(--text-2xl)}.ob-title:focus{outline:none}.ob-subline{max-width:44ch;margin-inline:auto}.ob-note{margin-top:var(--space-3)}.ob-option{font:inherit;text-align:left;color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color var(--t-fast) var(--ease-out), background var(--t-fast) var(--ease-out), box-shadow var(--t-fast) var(--ease-out)}.ob-option:hover{border-color:var(--border-strong);background:var(--surface-2)}.ob-option[aria-pressed=true]{border-color:var(--water);background:var(--water-tint);box-shadow:0 0 0 1px var(--water) inset}.ob-thread{gap:var(--space-2_5);min-height:168px;max-height:320px;margin-bottom:var(--space-3);padding-right:var(--space-1);flex-direction:column;display:flex;overflow-y:auto}.ob-msg{animation:msg-in var(--t-spring) var(--ease-spring) backwards;display:flex}.ob-msg-you{justify-content:flex-end}.ob-bubble{max-width:84%;padding:var(--space-2_5) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-xs);background:var(--bubble-ai);line-height:var(--leading-body);margin:0}.ob-msg-you .ob-bubble{border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-xs);background:var(--bubble-user);border-color:#0000}.ob-typing{align-items:center;gap:var(--space-2_5);display:flex}.ob-typing-dots{align-items:center;gap:5px;padding:5px 2px;display:inline-flex}.ob-typing-dots span{background:var(--ink-4);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite ob-typing-bounce}.ob-typing-dots span:nth-child(2){animation-delay:.15s}.ob-typing-dots span:nth-child(3){animation-delay:.3s}@keyframes ob-typing-bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.ob-retry{margin-top:var(--space-2);color:var(--danger)}.ob-skip{margin:var(--space-3) auto 0;padding:var(--space-2);color:var(--ink-3);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;display:block}.ob-skip:hover{color:var(--ink-2);text-decoration:underline}.ob-heard{align-items:flex-start;gap:var(--space-2_5);margin-bottom:var(--space-4);display:flex}.ob-recap{gap:var(--space-0_5);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ob-recap-row{align-items:center;gap:var(--space-3);min-height:52px;padding:var(--space-2_5) var(--space-0_5);display:flex}.ob-recap-row+.ob-recap-row{border-top:1px solid var(--border)}.ob-recap-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.ob-recap-value{overflow-wrap:anywhere;font-weight:600}.ob-recap-edit{align-items:center;gap:var(--space-1);min-height:36px;padding:var(--space-1_5) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-2);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:border-color var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out), background var(--t-fast) var(--ease-out);flex:none;display:inline-flex}.ob-recap-edit:hover{border-color:var(--water);background:var(--water-tint);color:var(--water-strong)}.ob-lang-search{width:100%;margin-bottom:var(--space-3)}.ob-lang-grid{gap:var(--space-2_5);grid-template-columns:repeat(3,1fr);max-height:320px;padding:2px;display:grid;overflow-y:auto}.ob-lang{align-items:center;gap:var(--space-0_5);padding:var(--space-3) var(--space-2) var(--space-3);flex-direction:column;display:flex}.ob-lang-flag{color:var(--water-strong)}.ob-lang-name{font-weight:600}.ob-level-list{gap:var(--space-2_5);flex-direction:column;display:flex}.ob-level{padding:var(--space-3) var(--space-4);flex-direction:column;gap:1px;display:flex}.ob-level-lead{font-weight:600}.ob-topic-grid{gap:var(--space-2);flex-wrap:wrap;display:flex}.ob-topic{align-items:center;gap:var(--space-1_5);min-height:36px;padding:var(--space-1_5) var(--space-3);border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:600;display:inline-flex}.ob-topic-x{opacity:.7}.ob-topic-add{align-items:center;gap:var(--space-2);margin-top:var(--space-3);display:flex}.ob-topic-input{flex:1;min-width:0}.ob-pace-grid{gap:var(--space-2_5);grid-template-columns:repeat(3,1fr);display:grid}.ob-pace{gap:var(--space-1);padding:var(--space-4);flex-direction:column;display:flex}.ob-pace-name{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600}.ob-how{margin-top:var(--space-5);padding:var(--space-4);border-radius:var(--radius);background:var(--surface-2);gap:var(--space-2_5);flex-direction:column;display:flex}.ob-how-title{font-family:var(--font-body);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:700}.ob-how-list{gap:var(--space-2_5);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ob-how-list li{align-items:flex-start;gap:var(--space-2_5);color:var(--ink-2);font-size:var(--text-sm);line-height:var(--leading-snug);display:flex}.ob-how-glyph{background:var(--water-tint);width:28px;height:28px;color:var(--water-strong);border-radius:50%;flex:none;place-items:center;display:grid}.ob-footer{justify-content:space-between;align-items:center;display:flex}.ob-footer-final{gap:var(--space-2);flex-direction:column}.ob-back-final{align-self:center}.ob-blocked{text-align:center}.ob-error{width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--danger-tint);text-align:center}.ob-error p{font-size:var(--text-sm);line-height:var(--leading-snug);color:var(--danger);margin:0}.ob-lang-suggests{justify-content:center;align-items:center;gap:var(--space-2);margin-top:var(--space-2_5);flex-wrap:wrap;display:flex}.ob-lang-suggest{min-height:36px;padding:var(--space-1_5) var(--space-3);border:1px solid var(--water);border-radius:var(--radius-pill);background:var(--surface);color:var(--water-strong);font:inherit;font-size:var(--text-sm);cursor:pointer;font-weight:600}.ob-lang-suggest:hover{background:var(--water);color:var(--water-ink)}.ob-lang-suggest:disabled{opacity:.5;cursor:default}.ob-where{align-items:flex-end;gap:var(--space-3);margin:0 0 var(--space-1);flex-wrap:wrap;display:flex}.ob-where-row{gap:var(--space-1_5);flex-direction:column;flex:180px;display:flex}.ob-where-row .select,.ob-where-row .input{width:100%}.ob-postal{max-width:160px}.ob-where-note{flex:100%;margin:0}@media (width<=560px){.onboarding{gap:var(--space-4);padding:var(--space-6) var(--space-3)}.ob-brand{gap:var(--space-3);flex-direction:row}.ob-brand .brand-mascot{width:64px}.ob-brand .brand-wordmark{height:24px!important}.ob-card{padding:var(--space-5) var(--space-4);gap:var(--space-4)}.ob-title{font-size:var(--text-xl)}.ob-lang-grid{grid-template-columns:repeat(2,1fr)}.ob-pace-grid{grid-template-columns:1fr}}.onboarding .convo-composer{background:0 0;border-top:none;padding:0}.shell{height:100%;display:flex}.shell-nav{gap:var(--space-6);width:232px;padding:var(--space-5) var(--space-3);border-right:1px solid var(--border);background:var(--surface);flex-direction:column;flex:none;display:flex}.shell-brand{align-items:center;gap:var(--space-2_5);padding:var(--space-1) var(--space-2_5);display:flex}.shell-nav nav{gap:var(--space-0_5);flex-direction:column;display:flex}.shell-nav nav a{align-items:center;gap:var(--space-3);min-height:44px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--ink-2);transition:background var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out);font-weight:600;text-decoration:none;display:flex;position:relative}.shell-nav nav a:hover{background:var(--surface-2);color:var(--ink)}.shell-nav nav a.active{background:var(--water-tint);color:var(--water-strong)}.nav-icon{flex:none}.shell-nav-foot{gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border);flex-direction:column;margin-top:auto;display:flex}.shell-learner{align-items:center;gap:var(--space-2_5);padding:0 var(--space-1_5);display:flex}.shell-learner-meta{min-width:0;font-size:var(--text-xs);text-transform:capitalize}.shell-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow-y:auto}.app-splash{background:var(--bg);align-content:center;place-items:center;height:100%;display:grid;position:relative}.app-splash-error{gap:var(--space-4);padding:var(--space-6);text-align:center;grid-auto-flow:row}.app-splash-title{font-size:var(--text-xl)}.app-splash-msg{max-width:340px;color:var(--ink-2);margin:0}.app-splash-actions{gap:var(--space-2_5);display:flex}.app-splash-mascot{z-index:var(--z-raised);animation:3s ease-in-out infinite wade-bob;position:relative}.app-splash-ripple{border:2px solid color-mix(in srgb, var(--water) 40%, transparent);width:160px;height:36px;animation:splash-ripple 3s var(--ease-out) infinite;border-radius:50%;grid-area:1/1;align-self:end;margin-bottom:-6px}.app-splash>.app-splash-mascot{grid-area:1/1}@keyframes splash-ripple{0%{opacity:0;transform:scale(.6)}30%{opacity:1}to{opacity:0;transform:scale(1.4)}}.shell-topbar,.shell-tabbar{display:none}@media (width<=760px){.shell{flex-direction:column}.shell-nav{display:none}.shell-topbar{z-index:var(--z-overlay);align-items:center;gap:var(--space-2);padding:calc(var(--space-1_5) + env(safe-area-inset-top)) var(--space-3) var(--space-1_5);border-bottom:1px solid var(--border);background:var(--surface);flex:none;display:flex;position:relative}.shell-topbar-dial{place-items:center;margin-left:auto;display:grid}.shell-main{flex:1;min-height:0}.shell-tabbar{gap:var(--space-1);border-top:1px solid var(--border);background:var(--surface);padding:var(--space-1_5) max(var(--space-2_5), env(safe-area-inset-left)) calc(var(--space-1_5) + env(safe-area-inset-bottom)) max(var(--space-2_5), env(safe-area-inset-right));flex:none;display:flex}.shell-tabbar a{justify-content:center;align-items:center;gap:var(--space-0_5);border-radius:var(--radius-sm);min-height:48px;font-size:var(--text-2xs);letter-spacing:.01em;color:var(--ink-3);transition:color var(--t-fast) var(--ease-out), background var(--t-fast) var(--ease-out);flex-direction:column;flex:1;font-weight:600;text-decoration:none;display:flex}.shell-tabbar a.active{color:var(--water-strong);background:var(--water-tint)}}.route-fallback{gap:var(--space-2);padding-top:var(--space-2);flex-direction:column;display:flex}.route-fallback-title{width:12rem;max-width:60%;height:var(--text-2xl);margin-bottom:var(--space-2)}
