.neural-mesh{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:0}.neural-mesh__svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.neural-mesh__edges line{stroke:var(--mk-live);stroke-width:.12;opacity:.14}.neural-mesh__nodes circle{fill:var(--mk-live-deep);opacity:.2}@media (max-width: 768px){.neural-mesh{opacity:.5}}.brand-mark{display:inline-flex;align-items:center;text-decoration:none;line-height:0}.brand-mark__logo{height:var(--brand-logo-h);width:auto;display:block}.public-nav{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:var(--mk-gap-lg);width:100%;padding-block:var(--mk-gap-lg)}.public-nav--landing{padding-inline:0}.public-nav__links{display:flex;align-items:center;gap:var(--mk-gap-xl);list-style:none;margin:0;padding:0}.public-nav__link{font-family:var(--font-body);font-size:var(--mk-text-sm);font-weight:500;color:var(--mk-ink-muted);text-decoration:none;letter-spacing:.2px;transition:color var(--mk-dur-fast) var(--mk-ease)}.public-nav__link:hover{color:var(--mk-ink)}.public-nav__actions{display:flex;align-items:center;gap:var(--mk-gap-md)}.public-nav__burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:var(--touch-target);height:var(--touch-target);padding:10px;border:none;background:transparent;cursor:pointer;touch-action:manipulation}.public-nav__burger span{display:block;height:2px;width:100%;border-radius:var(--mk-r-pill);background:var(--mk-ink)}.public-nav__sheet-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50}.public-nav__scrim{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:#140f0c80;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);cursor:pointer;animation:nav-scrim-in var(--mk-dur) var(--mk-ease)}.public-nav__sheet{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:stretch;gap:var(--mk-gap-sm);padding:var(--mk-gap-md) var(--mk-page-gutter) calc(var(--mk-gap-2xl) + var(--sa-bottom, 0px));background:var(--mk-surface);border-top-left-radius:var(--mk-r-card);border-top-right-radius:var(--mk-r-card);box-shadow:var(--mk-shadow-lift);animation:nav-sheet-in var(--mk-dur) var(--mk-ease)}.public-nav__sheet-handle{align-self:center;width:42px;height:4px;border-radius:var(--mk-r-pill);background:var(--mk-border-strong);margin-bottom:var(--mk-gap-xs)}.public-nav__sheet-close{position:absolute;top:var(--mk-gap-sm);right:var(--mk-gap-md);width:var(--touch-target);height:var(--touch-target);border:none;background:transparent;color:var(--mk-ink-muted);font-size:26px;line-height:1;cursor:pointer}.public-nav__sheet-links{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.public-nav__sheet-link{display:flex;align-items:center;min-height:var(--touch-target-lg);padding:var(--mk-gap-sm) var(--mk-gap-xs);font-family:var(--font-display);font-size:var(--mk-display-md);font-weight:600;color:var(--mk-ink);text-decoration:none;border-bottom:1px solid var(--mk-border-soft)}.public-nav__sheet-link:active{color:var(--mk-live-ink)}@keyframes nav-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes nav-sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (max-width: 860px){.public-nav__links,.public-nav .public-nav__login{display:none}.public-nav__burger{display:inline-flex}}@media (prefers-reduced-motion: reduce){.public-nav__scrim,.public-nav__sheet{animation:none}}.pill{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--mk-gap-xs);border:1px solid transparent;border-radius:var(--mk-r-pill);font-family:var(--font-body);font-weight:600;text-decoration:none;cursor:pointer;white-space:nowrap;isolation:isolate;transition:transform var(--mk-dur-fast) var(--mk-ease),box-shadow var(--mk-dur) var(--mk-ease),background var(--mk-dur-fast) var(--mk-ease),border-color var(--mk-dur-fast) var(--mk-ease),color var(--mk-dur-fast) var(--mk-ease)}.pill:focus-visible{outline:2px solid var(--mk-live-deep);outline-offset:3px}.pill:active{transform:translateY(1px)}.pill[disabled],.pill[aria-disabled=true]{opacity:.6;cursor:not-allowed;pointer-events:none}.pill--md{min-height:var(--touch-target);padding:11px 20px;font-size:var(--mk-text-sm)}.pill--lg{min-height:var(--touch-target-lg);padding:15px 28px;font-size:var(--mk-text-body)}@media (max-width: 768px){.pill--lg{min-height:52px}.pill--md{min-height:var(--touch-target-lg)}}.pill--primary{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--mk-live) 0%,var(--mk-live-deep) 140%);color:var(--mk-on-live);box-shadow:0 14px 30px -12px color-mix(in srgb,var(--mk-live-deep) 80%,transparent),0 4px 10px -4px color-mix(in srgb,var(--mk-coral) 30%,transparent),inset 0 1px #ffffff80}.pill--primary:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 80% at 50% -20%,rgba(255,255,255,.5) 0%,transparent 60%);opacity:.9;transition:opacity var(--mk-dur) var(--mk-ease),transform var(--mk-dur) var(--mk-ease);pointer-events:none}.pill--primary:hover{transform:translateY(-2px);box-shadow:0 22px 44px -14px color-mix(in srgb,var(--mk-live-deep) 85%,transparent),0 6px 16px -6px color-mix(in srgb,var(--mk-coral) 40%,transparent),inset 0 1px #fff9}.pill--primary:hover:before{opacity:1;transform:translateY(18%)}.pill--ghost{background:var(--mk-frost-bg);color:var(--mk-ink);border-color:var(--mk-frost-border);backdrop-filter:blur(var(--mk-frost-blur));-webkit-backdrop-filter:blur(var(--mk-frost-blur));box-shadow:var(--mk-shadow-soft)}.pill--ghost:hover{transform:translateY(-2px);border-color:var(--mk-live);color:var(--mk-live-ink)}.pill--glass{background:var(--mk-lg-bg);color:var(--mk-ink);border-color:var(--mk-lg-border);backdrop-filter:blur(var(--mk-lg-blur)) saturate(var(--mk-lg-saturate));-webkit-backdrop-filter:blur(var(--mk-lg-blur)) saturate(var(--mk-lg-saturate));box-shadow:var(--mk-lg-shadow);filter:var(--mk-lg-halo)}.pill--glass:before{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:inherit;background:var(--mk-lg-glow);filter:blur(var(--mk-lg-glow-blur));opacity:.55;z-index:-1;transition:opacity var(--mk-dur) var(--mk-ease),transform var(--mk-dur) var(--mk-ease);pointer-events:none}.pill--glass:hover{transform:translateY(-2px);border-color:#ffffff8c}.pill--glass:hover:before{opacity:.8;transform:scale(1.08)}:root[data-theme=dark] .pill--glass{color:var(--mk-ink)}@media (prefers-reduced-motion: reduce){.pill,.pill:hover,.pill:active{transform:none}}.auth-shell{position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto;background:radial-gradient(80% 55% at 78% 0%,var(--mk-halo-coral) 0%,transparent 46%),radial-gradient(90% 60% at 22% 0%,var(--mk-halo-teal) 0%,transparent 50%),var(--mk-bg);color:var(--mk-ink);font-family:var(--font-body)}.auth-shell__inner{position:relative;z-index:1;display:flex;flex-direction:column;min-height:100dvh;padding-inline:var(--mk-page-gutter)}.auth-shell__main{flex:1;display:flex;align-items:center;justify-content:center;padding-block:var(--mk-gap-2xl)}.auth-shell__card{position:relative;width:100%;max-width:var(--mk-card-max);margin-top:46px;padding:62px var(--mk-gap-2xl) var(--mk-gap-2xl);border-radius:var(--mk-r-card);background:var(--mk-glass-bg);border:1px solid var(--mk-glass-border);backdrop-filter:blur(var(--mk-glass-blur)) saturate(1.3);-webkit-backdrop-filter:blur(var(--mk-glass-blur)) saturate(1.3);box-shadow:var(--mk-shadow-card)}.auth-shell__waldo{position:absolute;top:-58px;left:50%;transform:translate(-50%);z-index:2;width:104px;height:104px}.auth-shell__waldo-halo{position:absolute;top:6%;right:6%;bottom:6%;left:6%;border-radius:50%;background:radial-gradient(circle at 50% 50%,#1ed6c659,#1ed6c600 70%);filter:blur(6px)}.auth-shell__waldo-img{position:relative;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 12px 22px rgba(14,158,144,.4));animation:auth-waldo-float 6s var(--mk-ease) infinite}@keyframes auth-waldo-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@media (prefers-reduced-motion: reduce){.auth-shell__waldo-img{animation:none}}.auth-shell__title{margin:0 0 var(--mk-gap-xs);font-family:var(--font-display);font-size:var(--mk-display-md);font-weight:600;line-height:var(--mk-leading-tight);text-align:center;color:var(--mk-ink)}.auth-shell__subtitle{margin:0 0 var(--mk-gap-lg);text-align:center;font-size:var(--mk-text-sm);line-height:var(--mk-leading-body);color:var(--mk-ink-muted)}.google-button{display:flex;align-items:center;justify-content:center;gap:var(--mk-gap-sm);width:100%;padding:13px 18px;border:1px solid var(--mk-border-strong);border-radius:var(--mk-r-pill);background:var(--mk-surface);color:var(--mk-ink);font-family:var(--font-body);font-size:var(--mk-text-body);font-weight:600;cursor:pointer;box-shadow:var(--mk-shadow-soft);transition:transform var(--mk-dur-fast) var(--mk-ease),border-color var(--mk-dur-fast) var(--mk-ease),box-shadow var(--mk-dur) var(--mk-ease)}.google-button:hover{transform:translateY(-1px);border-color:var(--mk-border-strong);box-shadow:var(--mk-shadow-card)}.google-button:focus-visible{outline:2px solid var(--mk-live-deep);outline-offset:3px}.google-button:disabled{opacity:.6;cursor:not-allowed}.google-button__glyph{width:18px;height:18px;flex-shrink:0}@media (prefers-reduced-motion: reduce){.google-button,.google-button:hover{transform:none}}.auth-field{display:flex;flex-direction:column;gap:var(--mk-gap-xs)}.auth-field__labelrow{display:flex;align-items:baseline;justify-content:space-between;gap:var(--mk-gap-sm);flex-wrap:wrap}.auth-field__hint{margin-left:auto}.auth-field__label{font-family:var(--font-body);font-size:var(--mk-text-sm);font-weight:600;color:var(--mk-ink-muted)}.auth-field__hint{font-size:var(--mk-text-xs);font-weight:500;color:var(--mk-live-ink);text-decoration:none}.auth-field__hint:hover{text-decoration:underline}@media (pointer: coarse){.auth-field__hint{display:inline-flex;align-items:center;min-height:var(--touch-target)}}.auth-field__input{width:100%;padding:13px 15px;border:1px solid var(--mk-border);border-radius:var(--mk-r-sm);background:var(--mk-surface);color:var(--mk-ink);font-family:var(--font-body);font-size:var(--mk-text-body);transition:border-color var(--mk-dur-fast) var(--mk-ease),box-shadow var(--mk-dur-fast) var(--mk-ease)}.auth-field__input::placeholder{color:var(--mk-ink-subtle)}.auth-field__input:focus{outline:none;border-color:var(--mk-live);box-shadow:0 0 0 4px var(--mk-live-soft)}.auth-form{display:flex;flex-direction:column;gap:var(--mk-gap-lg)}.auth-form .pill{width:100%}.auth-form__divider{display:flex;align-items:center;gap:var(--mk-gap-md);color:var(--mk-ink-subtle);font-size:var(--mk-text-xs)}.auth-form__divider:before,.auth-form__divider:after{content:"";flex:1;height:1px;background:var(--mk-border)}.auth-form__fields{display:flex;flex-direction:column;gap:var(--mk-gap-md)}.auth-form__error,.auth-form__notice{margin:0;padding:var(--space-3) var(--space-4);border-radius:var(--mk-r-sm);background:var(--fixed-error-on-light-soft);color:var(--fixed-error-on-light);font-size:var(--mk-text-sm)}.auth-form__notice{text-align:center}.auth-form__footer{margin:0;text-align:center;font-size:var(--mk-text-sm);color:var(--mk-ink-muted)}.auth-form__footer-link{color:var(--mk-live-ink);font-weight:600;text-decoration:none}.auth-form__footer-link:hover{text-decoration:underline}@media (pointer: coarse){.auth-form__footer-link{display:inline-flex;align-items:center;min-height:var(--touch-target)}}.waldo-whisper{display:flex;flex-direction:column;align-items:center;gap:var(--mk-gap-sm)}.waldo-whisper__caption{font-size:var(--mk-text-xs);color:var(--mk-ink-subtle);letter-spacing:.2px}.waldo-whisper__states{display:flex;align-items:center;gap:var(--mk-gap-sm)}.waldo-whisper__state{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:var(--mk-r-pill);background:var(--mk-surface);border:1px solid var(--mk-border);font-size:var(--mk-text-xs);font-weight:500;color:var(--mk-ink-muted)}.waldo-whisper__dot{width:7px;height:7px;border-radius:var(--mk-r-pill);background:var(--wh-color);animation:waldo-whisper-pulse 2.7s var(--mk-ease) infinite;animation-delay:var(--wh-delay)}@keyframes waldo-whisper-pulse{0%,to{opacity:.35;transform:scale(.85);box-shadow:0 0 0 0 transparent}30%{opacity:1;transform:scale(1);box-shadow:0 0 0 4px color-mix(in srgb,var(--wh-color) 22%,transparent)}60%{opacity:.5;transform:scale(.9)}}@media (prefers-reduced-motion: reduce){.waldo-whisper__dot{animation:none;opacity:.8}}.signup-extras{display:flex;flex-direction:column;align-items:center;gap:var(--mk-gap-md);margin-top:calc(-1 * var(--mk-gap-xs))}.signup-extras__promise{margin:0;text-align:center;font-size:var(--mk-text-xs);color:var(--mk-ink-subtle);letter-spacing:.2px}.privacy-page{min-height:100vh;background:var(--mk-bg);color:var(--mk-ink);font-family:var(--font-sans)}.privacy-page__main{max-width:var(--mk-prose-max);margin-inline:auto;padding-inline:var(--mk-page-gutter);padding-block:var(--mk-gap-3xl) var(--mk-section-pad-y)}.privacy-page__head{margin-bottom:var(--mk-gap-2xl);padding-bottom:var(--mk-gap-lg);border-bottom:1px solid var(--mk-border)}.privacy-page__title{margin:0 0 var(--mk-gap-md);font-size:var(--mk-display-lg);line-height:var(--mk-leading-tight);font-weight:var(--weight-bold);color:var(--mk-ink)}.privacy-page__intro{margin:0 0 var(--mk-gap-md);font-size:var(--mk-text-lead);line-height:var(--mk-leading-body);color:var(--mk-ink-muted)}.privacy-page__updated{margin:0;font-size:var(--mk-text-sm);color:var(--mk-ink-subtle)}.privacy-page__section{margin-bottom:var(--mk-gap-2xl)}.privacy-page__section-title{margin:0 0 var(--mk-gap-md);font-size:var(--mk-display-md);line-height:var(--mk-leading-tight);font-weight:var(--weight-medium);color:var(--mk-ink)}.privacy-page__text{margin:0 0 var(--mk-gap-md);font-size:var(--mk-text-body);line-height:var(--mk-leading-body);color:var(--mk-ink-muted)}.privacy-page__not-list{margin:var(--mk-gap-md) 0 0;padding:var(--mk-gap-md) var(--mk-gap-lg);list-style:none;background:var(--mk-live-soft);border-radius:var(--mk-r-sm)}.privacy-page__not-item{position:relative;padding-left:var(--mk-gap-lg);font-size:var(--mk-text-body);line-height:var(--mk-leading-body);color:var(--mk-ink)}.privacy-page__not-item+.privacy-page__not-item{margin-top:var(--mk-gap-xs)}.privacy-page__not-item:before{content:"✓";position:absolute;left:0;color:var(--mk-live-ink);font-weight:var(--weight-bold)}.privacy-page__back{margin-top:var(--mk-gap-lg);padding:var(--mk-gap-sm) var(--mk-gap-lg);min-height:var(--touch-target);background:transparent;color:var(--mk-live-ink);border:1px solid var(--mk-border-strong);border-radius:var(--mk-r-pill);font-family:inherit;font-size:var(--mk-text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.privacy-page__back:hover{background:var(--mk-live-soft);border-color:var(--mk-live)}@media (max-width: 640px){.privacy-page__main{padding-block:var(--mk-gap-xl) var(--mk-gap-3xl)}.privacy-page__section{margin-bottom:var(--mk-gap-xl)}}.app-welcome{position:fixed;top:0;right:0;bottom:0;left:0;height:100dvh;display:grid;grid-template-rows:minmax(0,1fr) auto auto;justify-items:center;gap:var(--mk-gap-lg);padding:calc(var(--sa-top, 0px) + var(--mk-gap-xl)) var(--mk-gap-xl) calc(var(--sa-bottom, 0px) + var(--mk-gap-xl));background:radial-gradient(90% 55% at 78% 0%,var(--mk-halo-coral) 0%,transparent 45%),radial-gradient(100% 65% at 20% 0%,var(--mk-halo-teal) 0%,transparent 50%),var(--mk-bg);color:var(--mk-ink);font-family:var(--font-body);text-align:center;overflow:hidden}.app-welcome__orb{min-height:0;width:100%;display:grid;place-items:center;max-width:340px}.app-welcome__waldo{display:block;width:100%;height:100%;max-height:100%;object-fit:contain}.app-welcome__copy{display:grid;gap:var(--mk-gap-sm);max-width:34ch}.app-welcome__eyebrow{margin:0;font-size:var(--mk-text-xs);font-weight:700;letter-spacing:var(--mk-tracking-eyebrow);text-transform:uppercase;color:var(--mk-live-ink)}.app-welcome__title{margin:0;font-family:var(--font-display);font-size:var(--mk-display-md);line-height:1.1;color:var(--mk-ink)}.app-welcome__subtitle{margin:0;font-size:var(--mk-text-body);line-height:1.5;color:var(--mk-ink-muted)}.app-welcome__actions{display:grid;justify-items:center;gap:var(--mk-gap-md);width:100%;max-width:420px}.app-welcome__cta{width:100%;min-height:var(--touch-target-lg)}.app-welcome__hint{margin:0;font-size:var(--mk-text-xs);color:var(--mk-ink-subtle)}.app-welcome__points{list-style:none;margin:0;padding:0;display:grid;gap:var(--mk-gap-sm);width:100%;text-align:left}.app-welcome__point{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--mk-gap-sm);font-size:var(--mk-text-sm);color:var(--mk-ink-muted)}.app-welcome__point-icon{width:18px;height:18px;color:var(--mk-live-ink)}.app-welcome__secondary{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;padding:0 var(--mk-gap-md);min-height:var(--touch-target);font-family:inherit;font-size:var(--mk-text-sm);font-weight:600;color:var(--mk-live-ink);cursor:pointer;text-decoration:underline;text-underline-offset:3px}@media (max-height: 640px){.app-welcome__points{display:none}.app-welcome__orb{max-width:220px}}.welcome-video{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal, 100);background:var(--mk-ink);display:grid;place-items:center;overflow:hidden}.welcome-video__player{width:100%;height:100%;object-fit:cover}.welcome-video__skip,.welcome-video__sound{position:absolute;-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:var(--touch-target);padding:0 var(--mk-gap-lg);border-radius:var(--mk-r-pill);border:1px solid var(--mk-frost-border);background:var(--scrim-bg);backdrop-filter:blur(var(--scrim-blur));-webkit-backdrop-filter:blur(var(--scrim-blur));color:var(--mk-on-live);font-family:inherit;font-size:var(--mk-text-sm);font-weight:600;cursor:pointer}.welcome-video__skip{top:calc(var(--sa-top, 0px) + var(--mk-gap-lg));right:var(--mk-gap-lg)}.welcome-video__sound{bottom:calc(var(--sa-bottom, 0px) + var(--mk-gap-xl));left:50%;transform:translate(-50%)}@media (prefers-reduced-motion: reduce){.welcome-video{animation:none}}.organic-orb{position:relative;width:var(--oorb-size, min(42vh, 46vw));height:var(--oorb-size, min(42vh, 46vw));max-width:72vw;max-height:72vh;aspect-ratio:1 / 1;flex:none;border-radius:50%;overflow:hidden;margin:0 auto;transform-origin:center center;transform:scale(calc(1 + var(--gorb-level, 0) * .2));transition:transform var(--transition-fast);will-change:transform}.organic-orb__spinner,.organic-orb__texture,.organic-orb__highlight{position:absolute;top:0;right:0;bottom:0;left:0;width:auto;height:auto;border-radius:50%}.organic-orb__spinner,.organic-orb__texture{background:conic-gradient(from 0deg,var(--oorb-c1) 0%,var(--oorb-c2) 12%,var(--oorb-c3) 22%,var(--oorb-c4) 28%,var(--oorb-c1) 29%,var(--oorb-c2) 45%,var(--oorb-c3) 55%,var(--oorb-c4) 62%,var(--oorb-c1) 63%,var(--oorb-c2) 75%,var(--oorb-c3) 85%,var(--oorb-c4) 92%,var(--oorb-c1) 93%,var(--oorb-c1) 100%);transition:background var(--oorb-color-fade) linear}.organic-orb__spinner{filter:saturate(1.15) brightness(calc(1 + var(--gorb-level, 0) * var(--oorb-glow)));transition:filter var(--transition-fast),background var(--oorb-color-fade) linear}.organic-orb__texture{filter:url(#oorb-silk-flow)}.organic-orb__highlight{background:radial-gradient(ellipse 70% 40% at 50% 5%,var(--oorb-highlight) 0%,transparent 100%);pointer-events:none;z-index:5}.organic-orb__defs{position:absolute;width:0;height:0;overflow:hidden}@media (prefers-reduced-motion: reduce){.organic-orb{transform:none;transition:background var(--oorb-color-fade) linear}}.interview-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-dialog);display:grid;place-items:center;padding:var(--space-4);background:var(--scrim-bg);backdrop-filter:blur(var(--scrim-blur));-webkit-backdrop-filter:blur(var(--scrim-blur));animation:interview-fade var(--mk-dur-fast) ease-out}.interview-modal__panel{position:relative;display:flex;flex-direction:column;width:min(920px,100%);max-height:min(88dvh,760px);border-radius:var(--panel-radius);background:#fff;box-shadow:var(--elevation-3);overflow:hidden;animation:interview-rise var(--mk-dur-slow) var(--mk-ease)}@keyframes interview-fade{0%{opacity:0}to{opacity:1}}@keyframes interview-rise{0%{transform:translateY(12px) scale(.98);opacity:0}to{transform:none;opacity:1}}.interview-modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-3);border-bottom:1px solid var(--board-rule)}.interview-modal__eyebrow{display:block;font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fixed-coral-on-light-ink)}.interview-modal__title{margin:0;font-size:var(--mk-display-md);line-height:var(--leading-tight);color:var(--board-ink)}.interview-modal__close{display:grid;place-items:center;width:var(--touch-target);height:var(--touch-target);flex:0 0 auto;border:1px solid var(--board-rule);border-radius:50%;background:#fff;color:var(--board-ink-soft);font-size:var(--text-xl);line-height:1;cursor:pointer;transition:background var(--transition-fast)}.interview-modal__close:hover{background:var(--fixed-coral-on-light-soft)}.interview-modal__close:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.interview-modal__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-5);padding:var(--space-5);overflow:hidden;min-height:0}.interview-modal__stage{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);text-align:center}.interview-modal__orb{--interview-orb-size: min(220px, 34vh);--oorb-size: var(--interview-orb-size);display:grid;place-items:center;transition:filter var(--transition-fast);filter:saturate(.5) opacity(.75)}.interview-modal__orb.is-live{filter:none}.interview-modal__status{margin:0;font-size:var(--text-lg);font-weight:var(--weight-medium);color:var(--board-ink-soft)}.interview-modal__status.is-error{color:var(--fixed-error-on-light)}.interview-modal__error{margin:0;max-width:34ch;font-size:var(--text-md);line-height:var(--leading-normal);color:var(--fixed-error-on-light)}.interview-modal__warn{margin:0;max-width:34ch;font-size:var(--text-md);line-height:var(--leading-normal);color:var(--fixed-warning-on-light)}.interview-modal__error p{margin:0 0 var(--space-2)}.interview-modal__retry,.interview-modal__mute{min-height:var(--touch-target);padding:var(--space-2) var(--space-4);border:1px solid var(--board-rule);border-radius:var(--radius-pill);background:#fff;color:var(--board-ink);font:inherit;font-size:var(--text-md);cursor:pointer}.interview-modal__retry:hover,.interview-modal__mute:hover{border-color:var(--fixed-coral-on-light)}.interview-modal__retry:focus-visible,.interview-modal__mute:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.interview-modal__side{display:flex;flex-direction:column;gap:var(--space-3);min-height:0}.interview-modal__progress{display:flex;flex-direction:column;gap:var(--space-2)}.interview-modal__bar{height:var(--space-2);border-radius:var(--radius-pill);background:var(--board-rule);overflow:hidden}.interview-modal__bar>span{display:block;height:100%;border-radius:inherit;background:var(--fixed-coral-on-light);transition:width var(--mk-dur-slow) var(--mk-ease)}.interview-modal__count{font-size:var(--text-md);color:var(--board-ink-faint)}.interview-modal__fields{display:flex;flex-wrap:wrap;align-content:flex-start;gap:var(--space-2);margin:0;padding:0;list-style:none;flex:0 1 auto;max-height:42%;overflow-y:auto;min-height:0}.interview-modal__field{display:inline-flex;align-items:baseline;gap:var(--space-1);min-width:0;max-width:100%;overflow-wrap:anywhere;padding:var(--space-1) var(--space-3);border:1px dashed var(--board-rule);border-radius:var(--radius-pill);font-size:var(--text-sm);color:var(--board-ink-faint)}.interview-modal__field.is-filled{border-style:solid;border-color:var(--fixed-live-on-light);background:var(--fixed-live-on-light-soft);color:var(--fixed-live-on-light-ink);animation:interview-fill var(--mk-dur-slow) var(--mk-ease)}.interview-modal__field-value{font-weight:var(--weight-bold)}@keyframes interview-fill{0%{transform:scale(.92);background:var(--fixed-coral-on-light-soft)}to{transform:scale(1)}}.interview-modal__log{flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--space-3);border:1px solid var(--board-rule);border-radius:var(--radius-lg);background:var(--book-table-bg)}.interview-modal__log.is-empty{flex:0 0 auto;padding:0;border:0;background:none}.interview-modal__turn{margin:0 0 var(--space-2);font-size:var(--text-md);line-height:var(--leading-normal);color:var(--board-ink)}.interview-modal__turn span{display:block;font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--board-ink-faint)}.interview-modal__turn.is-waldo span{color:var(--fixed-coral-on-light-ink)}.interview-modal__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--board-rule);background:#fff}.interview-modal__finish{min-height:var(--touch-target-lg);padding:var(--space-3) var(--space-5);border:0;border-bottom:var(--push-depth) solid var(--push-live-edge);border-radius:var(--push-radius);background:var(--push-live-bg);color:var(--push-live-ink);font:inherit;font-size:var(--text-lg);font-weight:var(--weight-bold);cursor:pointer;flex:0 0 auto}.interview-modal__finish:hover{background:var(--push-live-edge)}.interview-modal__finish:active{transform:translateY(var(--push-depth));border-bottom-width:0}.interview-modal__finish:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:3px}.interview-modal__hint{margin:0;font-size:var(--text-md);line-height:var(--leading-normal);color:var(--board-ink-faint)}@media (max-width: 760px){.interview-modal{padding:0}.interview-modal__panel{width:100%;max-height:100dvh;height:100dvh;border-radius:0}.interview-modal__head{padding-top:calc(var(--space-5) + var(--sa-top, 0px))}.interview-modal__foot{padding-bottom:calc(var(--space-4) + var(--sa-bottom, 0px))}.interview-modal__body{grid-template-columns:minmax(0,1fr);overflow-y:auto}.interview-modal__orb{--interview-orb-size: min(150px, 24vh)}.interview-modal__field{flex-direction:column;align-items:flex-start;width:100%}.interview-modal__foot{flex-direction:column-reverse;align-items:stretch;text-align:center}.interview-modal__finish{width:100%}}@media (prefers-reduced-motion: reduce){.interview-modal,.interview-modal__panel,.interview-modal__field.is-filled{animation:none}.interview-modal__bar>span,.interview-modal__orb{transition:none}}.mic-controls{position:absolute;bottom:max(var(--space-8),var(--sa-bottom, 0px));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--space-5);padding:var(--space-2);z-index:var(--z-controls)}@media (max-width: 480px){.mic-controls{bottom:max(var(--space-5),var(--sa-bottom, 0px));gap:var(--space-4);padding:var(--space-2)}}.mic-ctrl-btn{position:relative;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none;border-radius:var(--radius-pill);color:var(--color-fg-subtle);cursor:pointer;transition:color var(--transition-normal),transform var(--transition-normal),opacity var(--transition-normal),background var(--transition-normal)}.mic-ctrl-btn svg{width:20px;height:20px}.mic-ctrl-btn:hover:not(:disabled){color:var(--color-fg-strong);transform:translateY(-1px)}.mic-ctrl-btn:hover:not(:disabled){background:var(--color-surface-hover)}.mic-ctrl-btn:active:not(:disabled){transform:translateY(0)}.mic-ctrl-btn:disabled{opacity:.3;cursor:not-allowed}.mic-ctrl-btn:focus-visible{outline:2px solid var(--color-live);outline-offset:2px}.mic-ctrl-mode__text{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-wide);font-weight:var(--weight-medium)}.mic-ctrl-stop:hover:not(:disabled){color:var(--color-error);background:var(--color-error-soft)}.mic-ctrl-primary{position:relative;width:72px;height:72px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:50%;background:var(--color-surface);color:var(--color-fg);cursor:pointer;transition:background var(--transition-normal),color var(--transition-normal),box-shadow var(--transition-normal),transform var(--transition-fast)}@media (max-width: 480px){.mic-ctrl-primary{width:64px;height:64px}}.mic-ctrl-primary__icon{position:relative;z-index:1;display:inline-flex}.mic-ctrl-primary__icon svg{width:26px;height:26px}.mic-ctrl-primary:hover{transform:translateY(-1px);background:var(--color-surface-hover)}.mic-ctrl-primary:active{transform:translateY(0)}.mic-ctrl-primary:focus-visible{outline:2px solid var(--color-live);outline-offset:3px}.mic-ctrl-primary__ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1.5px solid var(--color-live);opacity:0;pointer-events:none}.mic-ctrl-primary__ring--2{top:-6px;right:-6px;bottom:-6px;left:-6px}.mic-ctrl-primary__meter{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;opacity:0;pointer-events:none;background:conic-gradient(var(--state-listening) calc(var(--mic-level, 0) * 360deg),transparent 0);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),var(--mask-fill) calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),var(--mask-fill) calc(100% - 3px));transition:opacity var(--transition-normal)}.mic-ctrl-primary.is-listening .mic-ctrl-primary__meter{opacity:.9}.mic-ctrl-primary.is-offline{color:var(--color-fg-strong);background:var(--color-surface-active);box-shadow:0 0 0 1px var(--color-border-strong);animation:mic-invite 2.8s ease-in-out infinite}@keyframes mic-invite{0%,to{box-shadow:0 0 0 1px var(--color-border-strong)}50%{box-shadow:0 0 0 1px var(--color-border-strong),0 0 18px 2px var(--color-accent-soft)}}.mic-ctrl-primary.is-idle{color:var(--color-fg-strong);box-shadow:0 0 0 1px var(--color-live-faint)}.mic-ctrl-primary.is-idle .mic-ctrl-primary__ring{opacity:.25;animation:ring-breathe 3.6s ease-in-out infinite}.mic-ctrl-primary.is-your-turn{color:var(--state-listening);box-shadow:0 0 22px 3px var(--state-listening-soft);animation:mic-your-turn 1.8s ease-in-out infinite}.mic-ctrl-primary.is-your-turn .mic-ctrl-primary__ring{opacity:.7;border-color:var(--state-listening);animation:ring-pulse 1.8s ease-in-out infinite}@keyframes mic-your-turn{0%,to{box-shadow:0 0 0 1px var(--state-listening-soft)}50%{box-shadow:0 0 24px 4px var(--state-listening-soft)}}.mic-ctrl-turn{position:absolute;bottom:calc(-1 * var(--space-5));left:50%;transform:translate(-50%);font-size:var(--text-2xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--state-listening);white-space:nowrap;pointer-events:none}@media (prefers-reduced-motion: reduce){.mic-ctrl-primary.is-your-turn,.mic-ctrl-primary.is-your-turn .mic-ctrl-primary__ring{animation:none}}.mic-ctrl-primary.is-listening{color:var(--state-listening);background:var(--state-listening-soft);box-shadow:0 0 22px 2px var(--state-listening-soft)}.mic-ctrl-primary.is-listening .mic-ctrl-primary__ring{border-color:var(--state-listening);animation:ring-ripple 1.4s ease-out infinite}.mic-ctrl-primary.is-listening .mic-ctrl-primary__ring--2{border-color:var(--state-listening);animation:ring-ripple 1.4s ease-out infinite .5s}.mic-ctrl-primary.is-thinking{color:var(--state-thinking);box-shadow:0 0 0 1px var(--state-thinking-soft)}.mic-ctrl-primary.is-thinking .mic-ctrl-primary__ring{border-color:var(--state-thinking);opacity:.6;border-style:dashed;animation:ring-spin 2s linear infinite}.mic-ctrl-primary.is-speaking{color:var(--state-speaking);background:var(--state-speaking-soft);box-shadow:0 0 26px 3px var(--state-speaking-soft)}.mic-ctrl-primary.is-speaking .mic-ctrl-primary__ring{border-color:var(--state-speaking);animation:ring-pulse .9s ease-in-out infinite}.mic-ctrl-primary.is-muted{color:var(--state-muted);background:var(--state-muted-soft);box-shadow:0 0 0 1px var(--state-muted-soft)}.mic-ctrl-primary.is-muted .mic-ctrl-primary__ring{opacity:0;animation:none}@keyframes ring-breathe{0%,to{transform:scale(1);opacity:.2}50%{transform:scale(1.05);opacity:.4}}@keyframes ring-ripple{0%{transform:scale(.9);opacity:.7}to{transform:scale(1.5);opacity:0}}@keyframes ring-spin{0%{transform:rotate(0) scale(.96)}to{transform:rotate(360deg) scale(.96)}}@keyframes ring-pulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.18);opacity:.15}}@media (hover: none){.mic-ctrl-btn:hover:not(:disabled),.mic-ctrl-primary:hover{transform:none}}@media (prefers-reduced-motion: reduce){.mic-ctrl-primary,.mic-ctrl-primary__ring{animation:none!important}}.orb-mic{display:flex;flex-direction:column;align-items:center;gap:var(--space-px)}.orb-mic__btn{position:relative;margin-top:calc(var(--mobfoot-orb-lift) * -1);width:var(--mobfoot-orb-size);height:var(--mobfoot-orb-size);display:grid;place-items:center;padding:0;background:transparent;border:none;border-radius:var(--radius-pill);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--transition-fast)}.orb-mic__btn:active:not(:disabled){transform:scale(.94)}@media (hover: hover){.orb-mic__btn:hover:not(:disabled) .orb-mic__glyph{background:var(--color-surface-hover)}}.orb-mic__btn:disabled{cursor:default}.orb-mic__btn:focus-visible{outline:2px solid var(--color-live);outline-offset:3px}.orb-mic__glyph{position:relative;z-index:1;display:grid;place-items:center;width:calc(100% - var(--mobfoot-ring-w) * 3);height:calc(100% - var(--mobfoot-ring-w) * 3);border-radius:var(--radius-pill);background:var(--mobfoot-mic-bg);color:var(--mobfoot-mic-ink);transition:background var(--transition-fast),color var(--transition-fast)}.orb-mic__btn[data-mic-state=listening] .orb-mic__glyph{background:var(--state-listening-soft);color:var(--state-listening)}.orb-mic__btn[data-mic-state=speaking] .orb-mic__glyph{background:var(--state-speaking-soft);color:var(--state-speaking)}.orb-mic__btn[data-mic-state=muted] .orb-mic__glyph,.orb-mic__btn[data-mic-state=denied] .orb-mic__glyph{color:var(--color-fg-faint)}.orb-mic__ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-pill);background:conic-gradient(from 0deg,transparent 0%,var(--mobfoot-ring-color, var(--color-live)) 22%,transparent 48%,var(--mobfoot-ring-color, var(--color-live)) 72%,transparent 100%);mask:radial-gradient(farthest-side,transparent calc(100% - var(--mobfoot-ring-w)),#000 calc(100% - var(--mobfoot-ring-w)));-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - var(--mobfoot-ring-w)),#000 calc(100% - var(--mobfoot-ring-w)));opacity:0;filter:blur(.5px) brightness(calc(1 + var(--gorb-level, 0) * .5));transition:opacity var(--transition-normal)}@keyframes orb-mic-spin{to{transform:rotate(360deg)}}@keyframes orb-mic-breathe{0%,to{opacity:.35}50%{opacity:.7}}.orb-mic__btn[data-mic-state=connecting] .orb-mic__ring{--mobfoot-ring-color: var(--color-fg-subtle);opacity:.8;animation:orb-mic-spin var(--mobfoot-ring-spin) linear infinite}.orb-mic__btn[data-mic-state=listening] .orb-mic__ring{--mobfoot-ring-color: var(--state-listening);opacity:1;animation:orb-mic-spin var(--mobfoot-ring-spin) linear infinite}.orb-mic__btn[data-mic-state=speaking] .orb-mic__ring{--mobfoot-ring-color: var(--state-speaking);opacity:1;animation:orb-mic-spin calc(var(--mobfoot-ring-spin) * 1.8) linear infinite}.orb-mic__btn[data-mic-state=processing] .orb-mic__ring{--mobfoot-ring-color: var(--color-fg-subtle);opacity:.7;animation:orb-mic-spin calc(var(--mobfoot-ring-spin) * .6) linear infinite}.orb-mic__btn[data-mic-state=correct] .orb-mic__ring{--mobfoot-ring-color: var(--color-success);opacity:1;background:var(--color-success)}.orb-mic__btn[data-mic-state=incorrect] .orb-mic__ring{--mobfoot-ring-color: var(--color-error);opacity:1;background:var(--color-error)}.orb-mic__btn[data-mic-state=muted] .orb-mic__ring,.orb-mic__btn[data-mic-state=denied] .orb-mic__ring{--mobfoot-ring-color: var(--color-fg-faint);opacity:.5;background:var(--color-fg-faint)}.orb-mic__btn[data-mic-state=idle] .orb-mic__ring{--mobfoot-ring-color: var(--color-live);animation:orb-mic-breathe calc(var(--mobfoot-ring-spin) * 1.4) ease-in-out infinite}.orb-mic__hint{max-width:calc(var(--mobfoot-orb-size) * 2);font-size:var(--text-2xs);line-height:1.2;color:var(--color-fg-subtle);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.orb-mic__hint--sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media (prefers-reduced-motion: reduce){.orb-mic__ring{animation:none!important;background:var(--mobfoot-ring-color, var(--color-live))}.orb-mic__btn[data-mic-state=idle] .orb-mic__ring{opacity:.45}.orb-mic__btn:active:not(:disabled){transform:none}}.voice-wave{display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.voice-wave__bars{display:flex;align-items:center;gap:var(--wave-gap);height:var(--wave-h)}.voice-wave__bar{width:var(--wave-bar-w);height:100%;border-radius:var(--wave-radius);background:var(--wave-color);transform:scaleY(var(--bar, .08));transition:transform var(--wave-ease)}.voice-wave__bars[data-silent=true] .voice-wave__bar{background:var(--wave-color-idle);opacity:.5}.voice-wave__status{min-height:1em;color:var(--color-warning);font-size:var(--text-xs);text-align:center}.voice-wave[data-active=false] .voice-wave__bar{background:var(--wave-color-idle);opacity:.35}@media (prefers-reduced-motion: reduce){.voice-wave__bar{transition:none}}.link-ind{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-fg-subtle);font-size:var(--text-2xs)}.link-ind__bars{display:flex;align-items:flex-end;gap:var(--link-bar-gap)}.link-ind__bar{width:var(--link-bar-w);border-radius:var(--radius-sm);background:var(--link-off);opacity:.3;height:calc(var(--link-bar-h) * var(--step, 1));transition:background var(--transition-normal),opacity var(--transition-normal)}.link-ind__bar[data-step="1"]{--step: 1}.link-ind__bar[data-step="2"]{--step: 1.6}.link-ind__bar[data-step="3"]{--step: 2.2}.link-ind__bar[data-on=true]{opacity:1}.link-ind[data-state=good] .link-ind__bar[data-on=true]{background:var(--link-good)}.link-ind[data-state=fair] .link-ind__bar[data-on=true]{background:var(--link-fair)}.link-ind[data-state=poor] .link-ind__bar[data-on=true]{background:var(--link-poor)}.link-ind[data-state=poor],.link-ind[data-state=offline]{color:var(--color-warning)}.link-ind__text{font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-tight)}.micchip{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--micchip-h);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-3);border-radius:var(--micchip-radius);border:1px solid var(--state-listening);background:var(--micchip-bg);color:var(--color-fg);font-size:var(--text-xs)}.micchip__dot{width:var(--micchip-dot);height:var(--micchip-dot);border-radius:var(--radius-pill);background:var(--state-error);animation:micchip-pulse 1.6s var(--ease) infinite}@keyframes micchip-pulse{0%,to{opacity:1}50%{opacity:.35}}.micchip__text{font-weight:var(--weight-medium)}.micchip__btn{min-height:var(--touch-target);padding:0 var(--space-2);margin-block:calc((var(--micchip-h) - var(--touch-target)) / 2);border:0;border-radius:var(--micchip-radius);background:transparent;color:var(--color-live);font-size:var(--text-xs);font-weight:var(--weight-medium);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.micchip__btn:hover{background:var(--color-surface-hover)}.micchip__btn--quiet{color:var(--color-fg-subtle);text-decoration:none}@media (prefers-reduced-motion: reduce){.micchip__dot{animation:none}}.sheet-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:flex-end}.sheet-scrim{position:absolute;top:0;right:0;bottom:0;left:0;border:0;padding:0;background:var(--sheet-scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:sheet-scrim-in var(--sheet-spring) both}@keyframes sheet-scrim-in{0%{opacity:0}to{opacity:1}}.sheet{position:relative;width:100%;max-width:var(--sheet-max-w);margin-inline:auto;height:var(--sheet-h, auto);display:flex;flex-direction:column;background:var(--sheet-bg);border-top-left-radius:var(--sheet-radius);border-top-right-radius:var(--sheet-radius);border-top:1px solid var(--color-border);box-shadow:var(--sheet-shadow);padding-bottom:var(--sa-bottom, 0px);transform:translateY(var(--sheet-drag, 0px));animation:sheet-in var(--sheet-spring) both;overflow:hidden}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:translateY(var(--sheet-drag, 0px))}}.sheet__handle-zone{min-height:var(--touch-target);display:grid;place-items:center;cursor:grab;touch-action:none}.sheet__handle{width:var(--sheet-handle-w);height:var(--sheet-handle-h);border-radius:var(--radius-pill);background:var(--color-fg-subtle);opacity:.5}.sheet__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:0 var(--sheet-pad) var(--space-3)}.sheet__title{margin:0;font-size:var(--text-xl);font-weight:var(--weight-medium);color:var(--color-fg)}.sheet__close{flex:none;min-width:var(--touch-target);min-height:var(--touch-target);display:grid;place-items:center;border:0;border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-fg-muted);font-size:var(--text-lg);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.sheet__close:hover{background:var(--color-surface-hover);color:var(--color-fg)}.sheet__body{flex:1;min-height:0;overflow-y:auto;padding:0 var(--sheet-pad);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;color:var(--color-fg-muted);font-size:var(--text-lg);line-height:var(--leading-normal)}.sheet__foot{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4) var(--sheet-pad) var(--space-5);border-top:1px solid var(--color-border);background:var(--sheet-bg)}@media (prefers-reduced-motion: reduce){.sheet,.sheet-scrim{animation-duration:.01ms}}@media (min-width: 769px){.sheet{max-width:var(--sheet-max-w-desktop);margin-bottom:var(--space-8);border-radius:var(--sheet-radius);border:1px solid var(--color-border)}}.mic-sheet__body{margin:0 0 var(--space-4);color:var(--color-fg-muted);font-size:var(--text-lg);line-height:var(--leading-normal)}.mic-sheet__policy{display:inline-block;min-height:var(--touch-target);line-height:var(--touch-target);color:var(--color-live);font-size:var(--text-md);text-decoration:underline;text-underline-offset:3px}.mic-sheet__primary,.mic-sheet__secondary{width:100%;min-height:var(--touch-target-lg);border-radius:var(--radius-lg);font-size:var(--text-xl);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.mic-sheet__primary{border:0;background:var(--color-live);color:var(--color-bg)}.mic-sheet__primary:hover{background:color-mix(in srgb,var(--color-live) 88%,var(--color-fg))}.mic-sheet__secondary{border:1px solid var(--color-border);background:transparent;color:var(--color-fg)}.mic-sheet__secondary:hover{background:var(--color-surface-hover);border-color:var(--color-fg-subtle)}.written{display:flex;flex-direction:column;gap:var(--space-2);width:100%}.written__reason{margin:0;color:var(--color-fg-muted);font-size:var(--text-md);line-height:var(--leading-normal)}.written__row{display:flex;align-items:stretch;gap:var(--space-2)}.written__label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.written__input{flex:1;min-width:0;min-height:var(--touch-target-lg);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-fg);font-size:var(--text-xl)}.written__input::placeholder{color:var(--color-fg-subtle)}.written__input:focus-visible{outline:2px solid var(--color-live);outline-offset:1px;border-color:transparent}.written__send{flex:none;min-width:var(--touch-target-lg);min-height:var(--touch-target-lg);padding-inline:var(--space-4);border:0;border-radius:var(--radius-lg);background:var(--color-live);color:var(--color-bg);font-size:var(--text-lg);font-weight:var(--weight-medium);cursor:pointer}.written__send:disabled{background:var(--color-surface);color:var(--color-fg-subtle);cursor:default}.written__retry{align-self:flex-start;min-height:var(--touch-target);border:0;background:transparent;color:var(--color-live);font-size:var(--text-md);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.micdock{display:flex;flex-direction:column;align-items:center;gap:var(--micdock-gap);width:100%;max-width:var(--sheet-max-w);margin-inline:auto;padding-inline:var(--space-4)}.micdock__top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;min-height:var(--micchip-h)}.micdock__center{position:relative;display:grid;place-items:center}.micdock .orb-mic__btn{--mobfoot-orb-size: var(--micdock-orb-size);--mobfoot-ring-w: 3px;margin-top:0}.micdock .orb-mic__hint{max-width:100%;font-size:var(--text-sm);white-space:normal}.micdock__center:before,.micdock__center:after{content:"";position:absolute;inset:calc(50% - 76px);width:152px;height:152px;border-radius:var(--radius-pill);pointer-events:none;opacity:var(--ptt-lock, 0);mask:radial-gradient(farthest-side,transparent calc(100% - var(--ptt-track-w) * 2),#000 calc(100% - var(--ptt-track-w) * 2));-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - var(--ptt-track-w) * 2),#000 calc(100% - var(--ptt-track-w) * 2))}.micdock__center:before{background:conic-gradient(from 180deg,var(--ptt-lock-color) calc(var(--ptt-lock, 0) * 360deg),transparent 0)}.micdock__center:after{opacity:var(--ptt-cancel, 0);background:conic-gradient(from 0deg,var(--ptt-cancel-color) calc(var(--ptt-cancel, 0) * 360deg),transparent 0)}.micdock__hint{margin:0;min-height:calc(var(--ptt-hint-size) * 2.4);font-size:var(--ptt-hint-size);line-height:var(--leading-normal);color:var(--color-fg-muted);text-align:center;transition:color var(--transition-fast)}.micdock__hint[data-phase=cancelling]{color:var(--ptt-cancel-color);font-weight:var(--weight-medium)}.micdock__hint[data-phase=locked]{color:var(--ptt-lock-color)}.micdock__row{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2)}.micdock__mode{min-height:var(--touch-target);padding-inline:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:transparent;color:var(--color-fg-muted);font-size:var(--text-xs);cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast)}.micdock__mode[aria-pressed=true]{border-color:var(--color-live);color:var(--color-fg)}.micdock__mode:focus-visible{outline:2px solid var(--color-live);outline-offset:2px}.micdock__stop{min-height:var(--touch-target);margin-top:var(--space-2);padding-inline:var(--space-4);border:0;border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-fg-muted);font-size:var(--text-sm);cursor:pointer}.micdock__stop:focus-visible{outline:2px solid var(--color-live);outline-offset:2px}.micdock[data-mode=auto] .micdock__hint{min-height:0}@media (prefers-reduced-motion: reduce){.micdock__hint,.micdock__mode{transition:none}}.micdock-portal{position:fixed;left:0;right:0;bottom:var(--micdock-inset);z-index:var(--z-controls);pointer-events:none}.micdock-portal>*{pointer-events:auto}@media (min-width: 769px){.micdock-portal{display:none}}.session-timer{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-normal);color:var(--color-fg-faint);font-variant-numeric:tabular-nums}.orb-unit-selector{position:absolute;top:max(20px,var(--sa-top, 0px));left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:var(--space-2);padding:0;background:transparent;z-index:3}.orb-unit-selector__label{display:inline-flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:0 var(--space-3);font-family:var(--font-sans);white-space:nowrap}.orb-unit-selector__title-row{display:inline-flex;align-items:baseline;gap:var(--space-2)}.orb-unit-selector__prefix{font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-ui);text-transform:uppercase;color:var(--color-fg-faint)}.orb-unit-selector__current{font-size:var(--text-md);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);color:var(--color-fg-strong)}.orb-unit-selector__meta{display:inline-flex;align-items:center;gap:var(--space-3)}.orb-unit-selector__tutor{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-normal);color:var(--color-fg-subtle)}.orb-unit-selector__progress{display:inline-flex;align-items:center;gap:var(--space-1);margin-top:var(--space-1)}.orb-unit-selector__progress-seg{width:var(--progress-seg-w);height:var(--progress-seg-h);border-radius:var(--radius-pill);background:var(--color-surface-active);transition:background var(--transition-normal)}.orb-unit-selector__progress-seg.is-done{background:var(--color-live)}.orb-unit-selector__activity{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-normal);color:var(--orb-state-color, var(--color-fg-subtle));transition:color var(--transition-normal)}.orb-unit-selector__activity:before{content:"";width:var(--status-dot-size);height:var(--status-dot-size);border-radius:var(--radius-pill);background:var(--orb-state-color, var(--color-fg-subtle));box-shadow:0 0 var(--status-dot-glow) 0 var(--orb-state-color, transparent)}.orb-unit-selector__arrow{width:var(--touch-target);height:var(--touch-target);padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:var(--radius-pill);color:var(--color-fg-muted);cursor:pointer;touch-action:manipulation;transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.orb-unit-selector__arrow:active:not(:disabled){transform:scale(.92);opacity:.7}.orb-unit-selector__arrow:hover:not(:disabled){background:var(--color-surface-active);color:var(--color-fg-strong);transform:scale(1.1)}.orb-unit-selector__arrow:disabled{color:var(--color-fg-faint);cursor:default;opacity:.35}@media (max-width: 480px){.orb-unit-selector{top:max(14px,var(--sa-top, 0px));gap:var(--space-1)}.orb-unit-selector__label{padding:0 var(--space-2)}.orb-unit-selector__current{font-size:var(--text-sm)}}@media (hover: none){.orb-unit-selector__arrow:hover:not(:disabled){transform:none;background:transparent;color:var(--color-fg-muted)}}.glass-orb{position:relative;width:var(--gorb-size);height:var(--gorb-size);border-radius:50%;transform-origin:center center;will-change:transform;animation:gorb-breathe var(--gorb-breathe) ease-in-out infinite;filter:saturate(var(--gorb-saturate)) brightness(calc(var(--gorb-brightness) * var(--gorb-lum)))}.glass-orb:after{content:"";position:absolute;left:50%;bottom:var(--gorb-contact-bottom);width:var(--gorb-contact-w);height:var(--gorb-contact-h);transform:translate(-50%);background:radial-gradient(ellipse at center,var(--gorb-contact),transparent 70%);filter:blur(var(--gorb-contact-blur));z-index:0}.glass-orb__halo{position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;border-radius:50%;background:radial-gradient(circle at 50% 50%,var(--gorb-halo) 0%,var(--gorb-halo-tint) 45%,transparent 70%);filter:blur(14px);z-index:0}.glass-orb__body{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,calc(var(--gorb-body-alpha) * .35)),rgba(255,255,255,calc(var(--gorb-body-alpha) * .5)) 55%,rgba(255,255,255,calc(var(--gorb-body-alpha) + .1)) 88%,rgba(255,255,255,calc(var(--gorb-body-alpha) * .6)));box-shadow:inset 0 -16% 26% -12% var(--gorb-inner-shadow),inset 0 12% 22% -12% #ffffff24;z-index:1}.glass-orb__rainbow{position:absolute;top:8%;right:8%;bottom:8%;left:8%;border-radius:50%;background:conic-gradient(from 0deg,var(--gorb-rb-1),var(--gorb-rb-2),var(--gorb-rb-3),var(--gorb-rb-4),var(--gorb-rb-5),var(--gorb-rb-6),var(--gorb-rb-1));-webkit-mask:radial-gradient(circle at 50% 50%,transparent 6%,var(--mask-fill) 40%,var(--mask-fill) 62%,transparent 86%);mask:radial-gradient(circle at 50% 50%,transparent 6%,var(--mask-fill) 40%,var(--mask-fill) 62%,transparent 86%);opacity:var(--gorb-iridescence);filter:blur(7px);mix-blend-mode:var(--gorb-blend);animation:gorb-spin var(--gorb-spin) linear infinite}.glass-orb__ink{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;border-radius:50%;background:radial-gradient(ellipse 40% 34% at 34% 36%,var(--gorb-rb-1),transparent 60%),radial-gradient(ellipse 36% 40% at 66% 58%,var(--gorb-rb-5),transparent 60%),radial-gradient(ellipse 32% 30% at 52% 70%,var(--gorb-rb-4),transparent 60%),radial-gradient(ellipse 30% 34% at 60% 32%,var(--gorb-rb-6),transparent 60%);opacity:var(--gorb-nebula-op);filter:blur(var(--gorb-nebula-blur));mix-blend-mode:var(--gorb-blend);will-change:transform;animation:gorb-nebula var(--gorb-nebula-drift) ease-in-out infinite}.glass-orb__ink:after{content:"";position:absolute;top:6%;right:6%;bottom:6%;left:6%;border-radius:50%;background:radial-gradient(ellipse 40% 36% at 44% 60%,var(--gorb-rb-2),transparent 60%),radial-gradient(ellipse 36% 40% at 62% 42%,var(--gorb-rb-3),transparent 60%);opacity:var(--gorb-nebula-op-2);filter:blur(var(--gorb-nebula-blur-2));mix-blend-mode:var(--gorb-blend);will-change:transform;animation:gorb-nebula-2 calc(var(--gorb-nebula-drift) * 1.4) ease-in-out infinite}.glass-orb__mist{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:radial-gradient(circle at 50% 48%,var(--gorb-core) 0%,var(--gorb-mist) calc(24% + var(--gorb-level) * 22%),transparent 70%)}.glass-orb__lens{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:radial-gradient(ellipse 120% 90% at 50% 14%,var(--gorb-lens-top) 0%,var(--gorb-lens-fade) 34%,transparent 58%);box-shadow:inset 0 -22% 30% -18% var(--gorb-lens-shadow),inset 0 0 0 1px var(--gorb-caustic);filter:blur(var(--gorb-lens-blur));pointer-events:none;z-index:2}.glass-orb__rim{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;box-shadow:inset 0 0 0 var(--gorb-rim-outer-w) var(--gorb-rim-outer),inset 0 0 0 calc(var(--gorb-rim-outer-w) + var(--gorb-rim-inner-w)) var(--gorb-rim-inner),inset 0 0 10% 0 var(--gorb-rim-glow);z-index:2}.glass-orb__rim:before{content:"";position:absolute;inset:6% 14% auto 14%;height:26%;border-radius:50%;background:linear-gradient(to bottom,var(--gorb-refraction),transparent);opacity:.7;filter:blur(var(--gorb-refraction-blur))}.glass-orb__specular{position:absolute;top:8%;left:22%;width:20%;height:46%;border-radius:50%;background:linear-gradient(to bottom,var(--gorb-white-cool),transparent);filter:blur(var(--gorb-specular-blur));transform:rotate(-12deg);opacity:var(--gorb-specular-op);z-index:3}.glass-orb__specular:before{content:"";position:absolute;top:8%;left:30%;width:34%;height:16%;border-radius:50%;background:var(--gorb-hotspot);filter:blur(var(--gorb-hotspot-blur))}.glass-orb__specular--2{top:auto;bottom:18%;left:auto;right:22%;width:6%;height:6%;background:linear-gradient(to bottom,var(--gorb-white-cool),transparent);filter:blur(var(--gorb-catchlight-blur));transform:none;opacity:.7}.glass-orb__specular--2:before{display:none}.glass-orb__equator{position:absolute;left:10%;right:10%;top:49%;height:5%;border-radius:50%;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.16),transparent);filter:blur(2px);z-index:3}.glass-orb__genie{position:absolute;left:50%;top:6%;width:46%;height:46%;border-radius:50%;transform:translate(-50%) scale(.5);background:radial-gradient(circle at 50% 50%,var(--gorb-rb-5),var(--gorb-rb-6) 45%,var(--gorb-rb-1) 70%,transparent 80%);filter:blur(10px);opacity:0;pointer-events:none;z-index:2;mix-blend-mode:var(--gorb-blend)}.orb-root[data-orb-state=speaking] .glass-orb__genie{animation:gorb-genie 3.4s ease-out infinite}@keyframes gorb-genie{0%{transform:translate(-50%) scale(.4);opacity:0;filter:blur(6px)}25%{opacity:calc(.5 * var(--gorb-iridescence))}60%{transform:translate(-58%,-70%) scale(.9);opacity:calc(.3 * var(--gorb-iridescence))}to{transform:translate(-46%,-140%) scale(1.4);opacity:0;filter:blur(18px)}}.glass-orb__eyes{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;transform:rotate(var(--gorb-tilt));transform-origin:50% 50%;transition:transform var(--transition-slow)}.glass-orb__eyes:before,.glass-orb__eyes:after{content:"";position:absolute;top:var(--gorb-eye-top);width:var(--gorb-eye-w);height:var(--gorb-eye-h);border-radius:var(--gorb-eye-radius);background:radial-gradient(ellipse var(--gorb-eye-gleam-w) var(--gorb-eye-gleam-h) at 50% 14%,var(--gorb-eye-gleam),transparent 72%),var(--gorb-eye-color);box-shadow:inset 0 0 var(--gorb-eye-glow-blur) 0 var(--gorb-eye-glow),var(--gorb-eye-occlusion) var(--gorb-inner-shadow);opacity:calc(.7 + var(--gorb-level) * .3);transition:opacity var(--transition-normal),height var(--transition-normal)}.glass-orb__eyes:before{left:calc(50% - var(--gorb-eye-gap) - var(--gorb-eye-w))}.glass-orb__eyes:after{right:calc(50% - var(--gorb-eye-gap) - var(--gorb-eye-w))}.glass-orb__rainbow{transition:opacity var(--transition-slow)}.orb-root[data-orb-state=idle] .glass-orb{--gorb-lum: .94;--gorb-iridescence: .55;--gorb-tilt: 0deg;--gorb-nebula-drift: 34s}.orb-root[data-orb-state=listening] .glass-orb{--gorb-lum: 1.02;--gorb-iridescence: .8;--gorb-tilt: 2deg;--gorb-nebula-drift: 22s}.orb-root[data-orb-state=thinking] .glass-orb{--gorb-iridescence: .7;--gorb-tilt: -3.5deg;--gorb-nebula-drift: 26s}.orb-root[data-orb-state=thinking] .glass-orb__eyes:before,.orb-root[data-orb-state=thinking] .glass-orb__eyes:after{height:calc(var(--gorb-eye-h) * .8)}.orb-root[data-orb-state=speaking] .glass-orb{--gorb-lum: 1.08;--gorb-iridescence: 1;--gorb-nebula-drift: 14s}.orb-root[data-orb-state=speaking] .glass-orb__eyes:before,.orb-root[data-orb-state=speaking] .glass-orb__eyes:after{opacity:1}.orb-root[data-orb-state=muted] .glass-orb{--gorb-lum: .8;--gorb-iridescence: .35}.orb-root[data-orb-state=muted] .glass-orb__eyes:before,.orb-root[data-orb-state=muted] .glass-orb__eyes:after{opacity:.3;height:calc(var(--gorb-eye-h) * .4)}.orb-root[data-orb-size=large] .glass-orb{--gorb-nebula-op: .72;--gorb-nebula-op-2: .5;--gorb-saturate: 1.05;--gorb-body-alpha: .16}.orb-root[data-orb-size=large] .glass-orb__ink{filter:blur(calc(var(--gorb-nebula-blur) * 1.4))}.orb-root[data-orb-size=large] .glass-orb__ink:after{filter:blur(calc(var(--gorb-nebula-blur-2) * 1.4))}:root[data-theme=light] .orb-root[data-orb-size=large] .glass-orb{--gorb-nebula-op: .92;--gorb-nebula-op-2: .62}@keyframes gorb-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes gorb-nebula{0%{transform:translate(0) rotate(0) scale(1)}33%{transform:translate(4%,-3%) rotate(4deg) scale(1.05)}66%{transform:translate(-3%,4%) rotate(-3deg) scale(1.03)}to{transform:translate(0) rotate(0) scale(1)}}@keyframes gorb-nebula-2{0%{transform:translate(0) rotate(0) scale(1)}50%{transform:translate(-5%,-4%) rotate(-6deg) scale(1.07)}to{transform:translate(0) rotate(0) scale(1)}}@keyframes gorb-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@media (prefers-reduced-motion: reduce){.glass-orb,.glass-orb__rainbow,.glass-orb__ink,.glass-orb__ink:after,.glass-orb__genie{animation:none}.glass-orb__ink,.glass-orb__ink:after{transform:none}.glass-orb__eyes{transition:none}.glass-orb__genie{display:none}}.orb-scene{position:relative;width:100%;height:100%;isolation:isolate}.orb-scene:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:repeating-linear-gradient(0deg,var(--orb-brick-line) 0 1px,transparent 1px var(--orb-brick-h)),repeating-linear-gradient(90deg,var(--orb-brick-line) 0 1px,transparent 1px var(--orb-brick-w));-webkit-mask-image:radial-gradient(130% 100% at 50% 40%,var(--mask-fill) 55%,transparent 92%);mask-image:radial-gradient(130% 100% at 50% 40%,var(--mask-fill) 55%,transparent 92%)}.orb-scene:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:repeating-linear-gradient(90deg,var(--orb-brick-line) 0 1px,transparent 1px var(--orb-brick-w));background-position:calc(var(--orb-brick-w) / 2) calc(var(--orb-brick-h) / 2);background-size:var(--orb-brick-w) var(--orb-brick-h);-webkit-mask-image:radial-gradient(130% 100% at 50% 40%,var(--mask-fill) 55%,transparent 92%);mask-image:radial-gradient(130% 100% at 50% 40%,var(--mask-fill) 55%,transparent 92%)}.orb-stage{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:grid;place-items:center;pointer-events:none;transform-origin:center center;will-change:transform}@media (max-width: 768px){.orb-stage{top:calc(max(var(--space-4),var(--sa-top, 0px)) + var(--stage-header-h) + var(--stage-board-occupied) + var(--stage-gap));bottom:var(--micdock-clearance);overflow:visible}.orb-stage{--gorb-size: var(--stage-orb-size);--oorb-size: var(--stage-orb-size);--orb-diameter: var(--stage-orb-size)}.orb-stage .waldo-character{width:100%;height:100%}}.gear-btn,.exam-btn,.vocab-btn{position:absolute;right:max(var(--space-5),var(--sa-right, 0px));width:var(--touch-target);height:var(--touch-target);display:inline-flex;align-items:center;justify-content:center;color:var(--color-fg-muted);background:var(--color-surface-hover);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);cursor:pointer;touch-action:manipulation;transition:background var(--transition-normal),color var(--transition-normal),border-color var(--transition-normal),box-shadow var(--transition-normal);z-index:3}.gear-btn{top:max(var(--space-5),var(--sa-top, 0px))}.exam-btn{top:calc(max(var(--space-5),var(--sa-top, 0px)) + 56px)}.vocab-btn{top:calc(max(var(--space-5),var(--sa-top, 0px)) + 112px)}.gear-btn:hover,.exam-btn:hover,.vocab-btn:hover{color:var(--color-fg-strong);background:var(--color-surface-active)}.gear-btn:hover{transform:rotate(45deg)}.exam-btn:hover{transform:rotate(-10deg) translateY(-2px)}.vocab-btn:hover{transform:rotate(10deg) translateY(-2px)}.gear-btn:active,.exam-btn:active,.vocab-btn:active{transform:scale(.92);opacity:.8}@media (max-width: 480px){.gear-btn,.exam-btn,.vocab-btn{right:max(var(--space-4),var(--sa-right, 0px))}.gear-btn{top:max(var(--space-4),var(--sa-top, 0px))}.exam-btn{top:calc(max(var(--space-4),var(--sa-top, 0px)) + 56px)}.vocab-btn{top:calc(max(var(--space-4),var(--sa-top, 0px)) + 112px)}}@media (hover: none){.gear-btn:hover,.exam-btn:hover,.vocab-btn:hover{transform:none;background:var(--color-surface-hover);color:var(--color-fg-muted);border-color:var(--color-border-strong);box-shadow:0 var(--space-2) var(--space-5) -12px var(--orb-contact-shadow)}}.orb-error{position:absolute;top:max(var(--space-5),var(--sa-top, 0px));left:50%;transform:translate(-50%);max-width:min(var(--container-max),calc(100vw - var(--space-8)));padding:var(--space-3) var(--space-4);background:var(--color-error-soft);color:var(--color-error);border:1px solid var(--color-error);border-radius:var(--radius-md);font-size:var(--text-md);line-height:var(--leading-normal);text-align:center;z-index:var(--z-modal)}.orb-glass--secondary{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;opacity:0;pointer-events:none}.settings-tabs{display:flex;gap:var(--space-1);padding:0 var(--space-7);border-bottom:1px solid var(--color-border)}.settings-tab{position:relative;padding:var(--space-3) var(--space-4);background:transparent;border:0;color:var(--color-fg-subtle);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;cursor:pointer;transition:color var(--transition-normal)}.settings-tab:hover{color:var(--color-fg)}.settings-tab.is-active{color:var(--color-fg-strong)}.settings-tab.is-active:after{content:"";position:absolute;left:var(--space-4);right:var(--space-4);bottom:-1px;height:1px;background:var(--color-accent)}.orb-tab{max-width:var(--container-max);width:100%;margin:0 auto}.orb-tab__hint{margin:0 0 var(--space-7);font-size:var(--text-md);line-height:var(--leading-normal);color:var(--color-fg-subtle);letter-spacing:var(--tracking-tight)}.orb-tab__row{margin-bottom:var(--space-6)}.orb-tab__row-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-2)}.orb-tab__label{font-size:var(--text-md);letter-spacing:var(--tracking-normal);color:var(--color-fg)}.orb-tab__value{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-fg-subtle);font-variant-numeric:tabular-nums}.orb-tab__select{width:100%;min-height:var(--control-height);padding:var(--space-2) var(--space-3);color:var(--color-fg);background:var(--color-accent-soft);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-sm);cursor:pointer}.orb-tab__slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:2px;background:var(--color-border-strong);border-radius:var(--radius-pill);outline:none;cursor:pointer}.orb-tab__slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--color-fg-strong);border:1px solid var(--color-border-strong);cursor:grab;transition:transform var(--transition-fast)}.orb-tab__slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.orb-tab__slider::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.1)}.orb-tab__slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--color-fg-strong);border:1px solid var(--color-border-strong);cursor:grab}.orb-tab__actions{margin-top:var(--space-8);display:flex;justify-content:flex-end}.orb-tab__btn{padding:var(--space-2) var(--space-5);color:var(--color-fg-muted);background:var(--color-accent-soft);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase;cursor:pointer;transition:background var(--transition-normal),color var(--transition-normal)}.orb-tab__btn:hover{background:var(--color-surface-active);color:var(--color-fg-strong)}@media (max-width: 480px){.orb-tab__slider::-webkit-slider-thumb,.orb-tab__slider::-moz-range-thumb{width:18px;height:18px}.orb-tab__row{margin-bottom:var(--space-5)}}@media (hover: none){.orb-tab__btn:hover{background:var(--color-accent-soft);color:var(--color-fg-muted)}}.screen-tab{max-width:var(--container-max);width:100%;margin:0 auto}.screen-tab__hint{margin:0 0 var(--space-7);font-size:var(--text-md);line-height:var(--leading-normal);color:var(--color-fg-subtle);letter-spacing:var(--tracking-tight)}.screen-tab__group{margin:0;padding:0;border:0;min-width:0}.screen-tab__legend{padding:0;margin-bottom:var(--space-3);font-size:var(--text-md);letter-spacing:var(--tracking-normal);color:var(--color-fg)}.screen-tab__options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--screen-option-gap)}.screen-tab__option{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--screen-option-pad);background:var(--color-accent-soft);border:1px solid var(--color-border-strong);border-radius:var(--screen-option-radius);cursor:pointer;transition:background var(--transition-normal),border-color var(--transition-normal)}.screen-tab__option:hover{background:var(--color-surface-hover)}.screen-tab__option[data-active=true]{border-color:var(--screen-option-active);background:var(--screen-option-active-soft)}.screen-tab__radio{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.screen-tab__option:has(.screen-tab__radio:focus-visible){outline:2px solid var(--color-focus-ring);outline-offset:2px}.screen-tab__preview{width:100%;aspect-ratio:var(--screen-preview-ratio);background:var(--screen-preview);border:1px solid var(--color-border-strong);border-radius:var(--screen-preview-radius)}.screen-tab__text{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.screen-tab__label{font-size:var(--text-lg);color:var(--color-fg);letter-spacing:var(--tracking-tight)}.screen-tab__option[data-active=true] .screen-tab__label{color:var(--color-fg-strong)}.screen-tab__meta{font-size:var(--text-sm);color:var(--color-fg-subtle);letter-spacing:var(--tracking-tight)}@media (hover: none){.screen-tab__option:hover{background:var(--color-accent-soft)}.screen-tab__option[data-active=true]:hover{background:var(--screen-option-active-soft)}}.prompts-tab{display:grid;grid-template-columns:var(--sidebar-width) 1fr;gap:var(--space-8);width:100%;height:100%;align-items:stretch}.prompts-tab__sidebar{display:flex;flex-direction:column;gap:var(--space-6);padding-right:var(--space-2);overflow-y:auto}.prompts-tab__group{display:flex;flex-direction:column;gap:var(--space-2)}.prompts-tab__group-title{margin:0;padding:0 var(--space-3);font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-ui);text-transform:uppercase;color:var(--color-fg-faint)}.prompts-tab__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.prompts-tab__item{display:block;width:100%;text-align:left;padding:var(--space-2) var(--space-3);background:transparent;border:0;border-radius:var(--radius-sm);color:var(--color-fg-muted);font-family:var(--font-sans);font-size:var(--text-md);letter-spacing:var(--tracking-tight);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.prompts-tab__item:hover{background:var(--color-surface);color:var(--color-fg)}.prompts-tab__item.is-active{background:var(--color-surface-active);color:var(--color-fg-strong)}.prompts-tab__detail{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.prompts-tab__detail-head{display:flex;flex-direction:column;gap:var(--space-2)}.prompts-tab__detail-title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.prompts-tab__detail-title{margin:0;font-size:var(--text-xl);font-weight:var(--weight-medium);color:var(--color-fg-strong);letter-spacing:var(--tracking-tight)}.prompts-tab__title-input{flex:1;min-width:0;margin:0 calc(-1 * var(--space-2));padding:var(--space-1) var(--space-2);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-fg-strong);font-family:var(--font-sans);font-size:var(--text-xl);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);outline:none;transition:background var(--transition-fast),border-color var(--transition-fast)}.prompts-tab__title-input:hover{background:var(--color-surface)}.prompts-tab__title-input:focus{background:var(--color-surface-hover);border-color:var(--color-border-strong)}.prompts-tab__desc-input{width:100%;margin:0 calc(-1 * var(--space-2));padding:var(--space-1) var(--space-2);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-fg-subtle);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-normal);outline:none;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.prompts-tab__desc-input::placeholder{color:var(--color-fg-faint)}.prompts-tab__desc-input:hover{background:var(--color-surface)}.prompts-tab__desc-input:focus{background:var(--color-surface-hover);border-color:var(--color-border-strong);color:var(--color-fg)}.prompts-tab__meta-row{display:flex;gap:var(--space-4);align-items:flex-end}.prompts-tab__field{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.prompts-tab__field--grow{flex:1}.prompts-tab__number{width:96px;height:var(--control-height);padding:0 var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-fg);font-family:var(--font-mono);font-size:var(--text-md);font-variant-numeric:tabular-nums;outline:none;transition:border-color var(--transition-fast),background var(--transition-fast)}.prompts-tab__number:hover,.prompts-tab__number:focus{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.prompts-tab__number::placeholder{color:var(--color-fg-faint)}.prompts-tab__select{width:100%;height:var(--control-height);padding:0 var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-fg);font-family:var(--font-sans);font-size:var(--text-md);cursor:pointer;outline:none;transition:border-color var(--transition-fast),background var(--transition-fast)}.prompts-tab__select:hover,.prompts-tab__select:focus{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.prompts-tab__save{flex-shrink:0;height:var(--control-height);padding:0 var(--space-5);background:var(--color-fg-strong);color:var(--color-bg);border:1px solid var(--color-fg-strong);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),opacity var(--transition-fast)}.prompts-tab__save:hover:not(:disabled){opacity:.85}.prompts-tab__save:disabled{background:transparent;color:var(--color-fg-faint);border-color:var(--color-border);cursor:default}.prompts-tab__detail-desc{margin:0;font-size:var(--text-md);color:var(--color-fg-subtle);line-height:var(--leading-normal)}.prompts-tab__field-label{font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-ui);text-transform:uppercase;color:var(--color-fg-faint);margin-top:var(--space-2)}.prompts-tab__textarea{flex:1;min-height:240px;resize:vertical;padding:var(--space-4);background:var(--color-surface);color:var(--color-fg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--text-md);line-height:var(--leading-normal);outline:none;transition:border-color var(--transition-fast),background var(--transition-fast)}.prompts-tab__textarea:focus{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.prompts-tab__empty{color:var(--color-fg-faint);font-size:var(--text-md)}@media (max-width: 720px){.prompts-tab{grid-template-columns:1fr;gap:var(--space-6)}.prompts-tab__sidebar{padding-right:0}}.llm-tab{max-width:var(--container-wide);width:100%;margin:0 auto}.llm-tab__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-8);align-items:start}.llm-tab__grid--single{grid-template-columns:minmax(0,var(--container-max));justify-content:center}.llm-tab__column,.llm-tab__section{display:flex;flex-direction:column;gap:var(--space-5)}.llm-tab__section{gap:var(--space-4)}.llm-tab__section-title{margin:0;font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-ui);text-transform:uppercase;color:var(--color-fg-faint)}.llm-tab__row{display:flex;flex-direction:column;gap:var(--space-2)}.llm-tab__row-head{display:flex;justify-content:space-between;align-items:baseline}.llm-tab__label{font-size:var(--text-md);letter-spacing:var(--tracking-normal);color:var(--color-fg)}.llm-tab__value{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-fg-subtle);font-variant-numeric:tabular-nums}.llm-tab__select{width:100%;height:var(--control-height);padding:0 var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-fg);font-family:var(--font-sans);font-size:var(--text-md);cursor:pointer;outline:none;transition:border-color var(--transition-fast),background var(--transition-fast)}.llm-tab__select:hover,.llm-tab__select:focus{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.llm-tab__slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:var(--control-track-height);background:var(--color-border-strong);border-radius:var(--radius-pill);outline:none;cursor:pointer}.llm-tab__slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:var(--control-thumb-size);height:var(--control-thumb-size);border-radius:50%;background:var(--color-fg-strong);border:1px solid var(--color-border-strong);cursor:grab;transition:transform var(--transition-fast)}.llm-tab__slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.llm-tab__slider::-moz-range-thumb{width:var(--control-thumb-size);height:var(--control-thumb-size);border-radius:50%;background:var(--color-fg-strong);border:1px solid var(--color-border-strong);cursor:grab}.llm-tab__init{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-surface);border-radius:var(--radius-sm)}.llm-tab__init-label{flex-shrink:0;font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-ui);text-transform:uppercase;color:var(--color-fg-faint)}.llm-tab__init-select{flex:1;min-width:var(--field-min);height:var(--control-height);padding:0 var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-fg);font-family:var(--font-sans);font-size:var(--text-md);cursor:pointer;outline:none;transition:border-color var(--transition-fast),background var(--transition-fast)}.llm-tab__init-select:hover,.llm-tab__init-select:focus{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.llm-tab__init-meta{flex-shrink:0;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-fg-subtle)}.llm-tab__init-meta strong{color:var(--color-fg-strong);font-weight:var(--weight-medium);font-family:var(--font-sans)}.llm-tab__init-meta--warn{color:var(--color-error)}.llm-tab__key-row{display:flex;gap:var(--space-2)}.llm-tab__key-input{flex:1;font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:0}.llm-tab__key-toggle{flex-shrink:0;height:var(--control-height);padding:0 var(--space-3);background:transparent;color:var(--color-fg-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.llm-tab__key-toggle:hover{background:var(--color-surface);border-color:var(--color-fg-subtle);color:var(--color-fg-strong)}.llm-tab__warning{margin:0;padding:var(--space-2) var(--space-3);background:var(--color-error-soft);border-radius:var(--radius-sm);color:var(--color-error);font-size:var(--text-xs);line-height:var(--leading-normal)}.llm-tab__row--actions{flex-direction:row;align-items:center;gap:var(--space-3)}.llm-tab__status{display:inline-flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);height:var(--control-height);font-family:var(--font-sans);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-fg-subtle)}.llm-tab__status-dot{width:var(--status-dot-size);height:var(--status-dot-size);border-radius:var(--radius-pill);background:var(--color-fg-faint);transition:background var(--transition-fast)}.llm-tab__status--connecting .llm-tab__status-dot{background:var(--color-fg-subtle);animation:llm-pulse 1.2s ease-in-out infinite}.llm-tab__status--connected{color:var(--color-success)}.llm-tab__status--connected .llm-tab__status-dot{background:var(--color-success)}.llm-tab__status--error{color:var(--color-error)}.llm-tab__status--error .llm-tab__status-dot{background:var(--color-error)}@keyframes llm-pulse{0%,to{opacity:1}50%{opacity:.35}}.llm-tab__connect,.llm-tab__disconnect{margin-left:auto;height:var(--control-height);padding:0 var(--space-5);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;cursor:pointer;transition:opacity var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.llm-tab__connect{background:var(--color-fg-strong);color:var(--color-bg);border:1px solid var(--color-fg-strong)}.llm-tab__connect:hover:not(:disabled){opacity:.85}.llm-tab__connect:disabled{background:transparent;color:var(--color-fg-faint);border-color:var(--color-border);cursor:default}.llm-tab__disconnect{background:transparent;color:var(--color-fg-muted);border:1px solid var(--color-border-strong)}.llm-tab__disconnect:hover{background:var(--color-surface);color:var(--color-fg-strong)}.llm-tab__error{margin:0;padding:var(--space-2) var(--space-3);background:var(--color-error-soft);border-radius:var(--radius-sm);color:var(--color-error);font-size:var(--text-sm)}.llm-tab__transcript{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--color-surface);border-radius:var(--radius-sm);max-height:var(--transcript-max-height);overflow-y:auto}.llm-tab__transcript-line{margin:0;font-size:var(--text-md);line-height:var(--leading-normal);color:var(--color-fg)}.llm-tab__transcript-tag{display:inline-block;padding:0 var(--space-2);margin-right:var(--space-2);background:var(--color-surface-active);border-radius:var(--radius-pill);font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-ui);text-transform:uppercase;color:var(--color-fg-subtle)}.llm-tab__transcript-tag--ai{background:var(--color-success-soft);color:var(--color-success)}.llm-tab__toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.llm-tab__toggle-label{font-size:var(--text-md);color:var(--color-fg)}.llm-tab__toggle-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;flex-shrink:0;width:calc(var(--control-height) * 1.45);height:calc(var(--control-height) * .58);margin:0;border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-bg);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.llm-tab__toggle-input:before{content:"";position:absolute;top:50%;left:var(--space-1);width:calc(var(--control-height) * .4);height:calc(var(--control-height) * .4);border-radius:var(--radius-pill);background:var(--color-fg-muted);transform:translateY(-50%);transition:transform var(--transition-fast),background var(--transition-fast)}.llm-tab__toggle-input:checked{background:var(--color-success-soft);border-color:var(--color-success)}.llm-tab__toggle-input:checked:before{background:var(--color-success);transform:translate(calc(var(--control-height) * .82),-50%)}@media (max-width: 900px){.llm-tab__grid{grid-template-columns:1fr;gap:var(--space-6)}}@media (max-width: 480px){.llm-tab__slider::-webkit-slider-thumb,.llm-tab__slider::-moz-range-thumb{width:var(--control-thumb-size-touch);height:var(--control-thumb-size-touch)}.llm-tab__row--actions{flex-wrap:wrap}.llm-tab__connect,.llm-tab__disconnect{margin-left:0;width:100%}}.prompt-lookup{position:relative;width:100%}.prompt-lookup__trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;height:var(--control-height);padding:0 var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-fg);font-family:var(--font-sans);font-size:var(--text-md);text-align:left;cursor:pointer;outline:none;transition:border-color var(--transition-fast),background var(--transition-fast)}.prompt-lookup__trigger:hover,.prompt-lookup__trigger:focus,.prompt-lookup__trigger.is-open{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.prompt-lookup__trigger-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prompt-lookup__chevron{flex-shrink:0;color:var(--color-fg-faint);font-size:var(--text-sm)}.prompt-lookup__popover{position:absolute;z-index:var(--z-modal);top:calc(100% + var(--space-1));left:0;right:0;max-height:320px;display:flex;flex-direction:column;background:var(--color-bg);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);overflow:hidden}.prompt-lookup__search{width:100%;padding:var(--space-3);background:transparent;border:0;border-bottom:1px solid var(--color-border);color:var(--color-fg);font-family:var(--font-sans);font-size:var(--text-md);outline:none}.prompt-lookup__search::placeholder{color:var(--color-fg-faint)}.prompt-lookup__list{list-style:none;margin:0;padding:var(--space-1);overflow-y:auto;flex:1}.prompt-lookup__item{display:flex;flex-direction:column;gap:var(--space-1);width:100%;text-align:left;padding:var(--space-2) var(--space-3);background:transparent;border:0;border-radius:var(--radius-sm);color:var(--color-fg);font-family:var(--font-sans);font-size:var(--text-md);cursor:pointer;transition:background var(--transition-fast)}.prompt-lookup__item:hover{background:var(--color-surface)}.prompt-lookup__item.is-active{background:var(--color-surface-active);color:var(--color-fg-strong)}.prompt-lookup__name{letter-spacing:var(--tracking-tight)}.prompt-lookup__desc{font-size:var(--text-sm);color:var(--color-fg-subtle)}.prompt-lookup__empty{padding:var(--space-3);color:var(--color-fg-faint);font-size:var(--text-md);text-align:center}.content-tab{display:grid;grid-template-columns:var(--sidebar-width) 1fr;gap:var(--space-8);width:100%;height:100%;align-items:stretch}.content-tab__sidebar{display:flex;flex-direction:column;gap:var(--space-6);padding-right:var(--space-2);overflow-y:auto}.content-tab__group{display:flex;flex-direction:column;gap:var(--space-2)}.content-tab__group-header{display:flex;align-items:center;gap:var(--space-1);padding:0 var(--space-2) 0 var(--space-3)}.content-tab__group-title-btn{flex:1;min-width:0;text-align:left;padding:var(--space-1) 0;background:transparent;border:0;color:var(--color-fg-faint);font-family:var(--font-sans);font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-ui);text-transform:uppercase;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color var(--transition-fast)}.content-tab__group-title-btn:hover{color:var(--color-fg-subtle)}.content-tab__group-title-btn.is-active{color:var(--color-fg-strong)}.content-tab__group-add{flex-shrink:0;width:22px;height:22px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:var(--radius-pill);color:var(--color-fg-faint);font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--weight-regular);line-height:1;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.content-tab__group-add:hover{background:var(--color-surface-active);color:var(--color-fg-strong)}.content-tab__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.content-tab__item{display:flex;align-items:baseline;gap:var(--space-2);width:100%;text-align:left;padding:var(--space-2) var(--space-3);background:transparent;border:0;border-radius:var(--radius-sm);color:var(--color-fg-muted);font-family:var(--font-sans);font-size:var(--text-md);letter-spacing:var(--tracking-tight);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.content-tab__item:hover{background:var(--color-surface);color:var(--color-fg)}.content-tab__item.is-active{background:var(--color-surface-active);color:var(--color-fg-strong)}.content-tab__item-code{flex-shrink:0;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-fg-faint);font-variant-numeric:tabular-nums}.content-tab__item.is-active .content-tab__item-code{color:var(--color-fg-subtle)}.content-tab__item-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content-tab__add-btn{margin-top:var(--space-3);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:transparent;border:0;border-radius:var(--radius-sm);color:var(--color-fg-muted);font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.content-tab__add-btn:hover{background:var(--color-surface);color:var(--color-fg-strong)}.content-tab__add-icon{flex-shrink:0;display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;background:var(--color-surface-active);border-radius:var(--radius-pill);color:var(--color-fg-strong);font-size:var(--text-lg);font-weight:var(--weight-regular);line-height:1}.content-tab__add-btn:hover .content-tab__add-icon{background:var(--color-fg-strong);color:var(--color-bg)}.content-tab__meta-row{display:grid;grid-template-columns:minmax(180px,240px) 1fr;gap:var(--space-4);align-items:end}@media (max-width: 720px){.content-tab__meta-row{grid-template-columns:1fr}}.content-tab__detail{display:flex;flex-direction:column;gap:var(--space-5);min-width:0}.content-tab__detail-head{display:flex;flex-direction:column;gap:var(--space-4)}.content-tab__detail-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.content-tab__code-input{flex-shrink:0;width:88px;height:var(--control-height);padding:0 var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-fg-strong);font-family:var(--font-mono);font-size:var(--text-md);font-variant-numeric:tabular-nums;outline:none;text-transform:uppercase;transition:border-color var(--transition-fast),background var(--transition-fast)}.content-tab__code-input:hover,.content-tab__code-input:focus{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.content-tab__objective-input{flex:1;min-width:200px;height:var(--control-height);padding:0 var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-fg-strong);font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);outline:none;transition:border-color var(--transition-fast),background var(--transition-fast)}.content-tab__objective-input::placeholder{color:var(--color-fg-faint)}.content-tab__objective-input:hover,.content-tab__objective-input:focus{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.content-tab__save{flex-shrink:0;height:var(--control-height);padding:0 var(--space-5);background:var(--color-fg-strong);color:var(--color-bg);border:1px solid var(--color-fg-strong);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),opacity var(--transition-fast)}.content-tab__save:hover:not(:disabled){opacity:.85}.content-tab__save:disabled{background:transparent;color:var(--color-fg-faint);border-color:var(--color-border);cursor:default}.content-tab__delete{flex-shrink:0;height:var(--control-height);padding:0 var(--space-4);background:transparent;color:var(--color-fg-faint);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.content-tab__delete:hover{background:var(--color-surface);border-color:var(--color-fg-subtle);color:var(--color-fg-strong)}.content-tab__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4) var(--space-5)}.content-tab__field{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.content-tab__field-label{font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-ui);text-transform:uppercase;color:var(--color-fg-faint)}.content-tab__select{width:100%;height:var(--control-height);padding:0 var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-fg);font-family:var(--font-sans);font-size:var(--text-md);cursor:pointer;outline:none;transition:border-color var(--transition-fast),background var(--transition-fast)}.content-tab__select:hover,.content-tab__select:focus{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.content-tab__textarea{width:100%;min-height:64px;resize:vertical;padding:var(--space-3);background:var(--color-surface);color:var(--color-fg);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-normal);outline:none;transition:border-color var(--transition-fast),background var(--transition-fast)}.content-tab__textarea:focus{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.content-tab__empty{color:var(--color-fg-faint);font-size:var(--text-md)}.content-tab__artifacts-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);margin-top:var(--space-2)}.content-tab__artifact-panel{min-width:0}.content-tab__artifact-title{margin:0 0 var(--space-2);font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-ui);text-transform:uppercase;color:var(--color-fg-faint)}.content-tab__artifact-table{width:100%;border-collapse:collapse}.content-tab__artifact-row{display:grid;grid-template-columns:1fr auto;gap:var(--space-3);width:100%;padding:var(--space-2) 0;background:transparent;border:0;color:var(--color-fg-muted);font-family:var(--font-sans);font-size:var(--text-md);text-align:left;cursor:pointer;transition:color var(--transition-fast)}.content-tab__artifact-row:hover{color:var(--color-fg-strong)}.content-tab__artifact-main{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content-tab__artifact-meta,.content-tab__artifact-empty{color:var(--color-fg-faint);font-family:var(--font-mono);font-size:var(--text-sm);white-space:nowrap}.content-tab__artifact-empty{display:block;padding:var(--space-2) 0}.content-artifact-view{display:flex;flex-direction:column;gap:var(--space-6);width:100%;max-width:var(--container-wide);margin:0 auto}.content-artifact-view__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5)}.content-artifact-view__back,.content-artifact-view__download{height:var(--control-height);display:inline-flex;align-items:center;padding:0 var(--space-4);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-fg-muted);font-family:var(--font-sans);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.content-artifact-view__back:hover,.content-artifact-view__download:hover{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-fg-strong)}.content-artifact-view__title{margin:0;color:var(--color-fg-strong);font-size:var(--text-xl);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);text-align:right}.content-artifact-view__meta{margin:var(--space-1) 0 0;color:var(--color-fg-faint);font-family:var(--font-mono);font-size:var(--text-sm);text-align:right}.content-artifact-view__body{display:flex;flex-direction:column;gap:var(--space-4)}.content-artifact-view__audio{width:100%}.content-artifact-view__transcript{width:100%;min-height:var(--transcript-max-height);margin:0;padding:var(--space-4) 0;color:var(--color-fg);background:transparent;white-space:pre-wrap;line-height:var(--leading-normal);font-family:var(--font-sans);font-size:var(--text-md)}@media (max-width: 900px){.content-tab__grid,.content-tab__artifacts-grid{grid-template-columns:1fr}}@media (max-width: 720px){.content-tab{grid-template-columns:1fr;gap:var(--space-6)}.content-tab__sidebar{padding-right:0}}.recordings-tab{display:flex;flex-direction:column;gap:var(--space-5);width:100%;min-width:0}.recordings-tab__consent{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.recordings-tab__consent-status{margin:0;color:var(--color-fg);font-family:var(--font-sans);font-size:var(--text-md);letter-spacing:var(--tracking-tight)}.recordings-tab__revoke{flex-shrink:0;height:var(--control-height);padding:0 var(--space-4);background:transparent;color:var(--color-error);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.recordings-tab__revoke:hover{background:var(--color-error-soft);border-color:var(--color-error);color:var(--color-error)}.recordings-tab__title{margin:0;color:var(--color-fg-strong);font-family:var(--font-sans);font-size:var(--text-xl);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight)}.recordings-tab__empty,.recordings-tab__error{margin:0;color:var(--color-fg-faint);font-family:var(--font-sans);font-size:var(--text-md)}.recordings-tab__error{color:var(--color-error)}.recordings-tab__table{width:100%;border-collapse:collapse}.recordings-tab__th{padding:var(--space-2) var(--space-3);text-align:left;color:var(--color-fg-faint);font-family:var(--font-sans);font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-ui);text-transform:uppercase;border-bottom:1px solid var(--color-border)}.recordings-tab__th--num{text-align:right}.recordings-tab__row{border-bottom:1px solid var(--color-border)}.recordings-tab__cell{padding:var(--space-3);color:var(--color-fg);font-family:var(--font-sans);font-size:var(--text-md);letter-spacing:var(--tracking-tight);white-space:nowrap}.recordings-tab__cell--lesson{color:var(--color-fg-muted);font-family:var(--font-mono);font-size:var(--text-sm);white-space:normal}.recordings-tab__cell--num{text-align:right;color:var(--color-fg-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.recordings-tab__cell--action{text-align:right;width:0}.recordings-tab__delete{height:var(--control-height);padding:0 var(--space-4);background:transparent;color:var(--color-fg-faint);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.recordings-tab__delete:hover{background:var(--color-surface);border-color:var(--color-error);color:var(--color-error)}@media (max-width: 480px){.recordings-tab__cell,.recordings-tab__th{padding:var(--space-2)}}.settings-root{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);background:var(--color-bg);color:var(--color-fg);display:flex;flex-direction:column;overflow:hidden}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-6) var(--space-7) var(--space-5)}.settings-title{margin:0;font-size:var(--text-lg);font-weight:var(--weight-medium);letter-spacing:var(--tracking-ui);text-transform:uppercase;color:var(--color-fg)}.settings-close{width:var(--control-height);height:var(--control-height);display:inline-flex;align-items:center;justify-content:center;color:var(--color-fg-muted);background:var(--color-surface-hover);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-normal),color var(--transition-normal),transform var(--transition-normal)}.settings-close:hover{background:var(--color-surface-active);color:var(--color-fg-strong);transform:rotate(90deg)}.settings-body{flex:1;overflow-y:auto;padding:var(--space-7) var(--space-7) var(--space-10)}@media (max-width: 480px){.settings-header{padding:max(var(--space-4),var(--sa-top, 0px)) var(--space-4) var(--space-3)}.settings-title{font-size:var(--text-md);letter-spacing:var(--tracking-wide)}.settings-body{padding:var(--space-5) var(--space-4) max(var(--space-10),var(--sa-bottom, 0px) + var(--space-6))}}@media (hover: none){.settings-close:hover{transform:none}}.exam-sidebar{display:flex;flex-direction:column;gap:var(--space-5);overflow-y:auto;padding-right:var(--space-2);min-width:0}.exam-sidebar__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.exam-sidebar__item{display:flex;flex-direction:column;gap:var(--space-1);width:100%;text-align:left;padding:var(--space-2) var(--space-3);background:transparent;border:0;border-radius:var(--radius-sm);color:var(--color-fg-muted);font-family:var(--font-sans);font-size:var(--text-md);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.exam-sidebar__item:hover{background:var(--color-surface);color:var(--color-fg)}.exam-sidebar__item.is-active{background:var(--color-surface-active);color:var(--color-fg-strong)}.exam-sidebar__item-name{letter-spacing:var(--tracking-tight)}.exam-sidebar__item-meta{font-size:var(--text-xs);color:var(--color-fg-faint);letter-spacing:var(--tracking-wide);text-transform:uppercase}.exam-sidebar__actions{display:flex;flex-direction:column;gap:var(--space-2)}.exam-sidebar__add-btn,.exam-sidebar__import-toggle{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:transparent;border:0;border-radius:var(--radius-sm);color:var(--color-fg-muted);font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);text-align:left}.exam-sidebar__add-btn:hover,.exam-sidebar__import-toggle:hover{background:var(--color-surface);color:var(--color-fg-strong)}.exam-sidebar__add-icon{flex-shrink:0;display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;background:var(--color-surface-active);border-radius:var(--radius-pill);color:var(--color-fg-strong);font-size:var(--text-md);font-weight:var(--weight-regular);line-height:1}.exam-sidebar__add-btn:hover .exam-sidebar__add-icon,.exam-sidebar__import-toggle:hover .exam-sidebar__add-icon{background:var(--color-fg-strong);color:var(--color-bg)}.exam-sidebar__import{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-2)}.exam-sidebar__import-textarea{width:100%;min-height:200px;resize:vertical;padding:var(--space-3);background:var(--color-surface);color:var(--color-fg);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--leading-normal);outline:none;transition:border-color var(--transition-fast)}.exam-sidebar__import-textarea:focus{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.exam-sidebar__import-textarea::placeholder{color:var(--color-fg-faint)}.exam-sidebar__import-actions{display:flex;justify-content:flex-end}.exam-sidebar__import-btn{height:var(--control-height);padding:0 var(--space-5);background:var(--color-fg-strong);color:var(--color-bg);border:1px solid var(--color-fg-strong);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;cursor:pointer;transition:opacity var(--transition-fast)}.exam-sidebar__import-btn:hover:not(:disabled){opacity:.85}.exam-sidebar__import-btn:disabled{background:transparent;color:var(--color-fg-faint);border-color:var(--color-border);cursor:default}.exam-sidebar__import-error{margin:0;padding:var(--space-2) var(--space-3);background:var(--color-error-soft);border-radius:var(--radius-sm);color:var(--color-error);font-size:var(--text-sm);line-height:var(--leading-normal)}.exam-sidebar__import-info{margin:0;padding:var(--space-2) var(--space-3);background:var(--color-success-soft);border-radius:var(--radius-sm);color:var(--color-success);font-size:var(--text-sm)}.exam-runner{display:flex;flex-direction:column;gap:var(--space-5);min-width:0}.exam-runner__empty{color:var(--color-fg-faint);font-size:var(--text-md)}.exam-runner__head{display:flex;flex-direction:column;gap:var(--space-2)}.exam-runner__head-row{display:flex;align-items:center;gap:var(--space-3)}.exam-runner__name-input{flex:1;min-width:0;padding:var(--space-2);margin:0 calc(-1 * var(--space-2));background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-fg-strong);font-family:var(--font-sans);font-size:var(--text-xl);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);outline:none;transition:background var(--transition-fast),border-color var(--transition-fast)}.exam-runner__name-input:hover{background:var(--color-surface)}.exam-runner__name-input:focus{background:var(--color-surface-hover);border-color:var(--color-border-strong)}.exam-runner__desc-input{width:100%;margin:0 calc(-1 * var(--space-2));padding:var(--space-1) var(--space-2);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-fg-subtle);font-family:var(--font-sans);font-size:var(--text-md);outline:none;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.exam-runner__desc-input::placeholder{color:var(--color-fg-faint)}.exam-runner__desc-input:hover{background:var(--color-surface)}.exam-runner__desc-input:focus{background:var(--color-surface-hover);border-color:var(--color-border-strong);color:var(--color-fg)}.exam-runner__save{flex-shrink:0;height:var(--control-height);padding:0 var(--space-5);background:var(--color-fg-strong);color:var(--color-bg);border:1px solid var(--color-fg-strong);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;cursor:pointer;transition:opacity var(--transition-fast)}.exam-runner__save:hover:not(:disabled){opacity:.85}.exam-runner__save:disabled{background:transparent;color:var(--color-fg-faint);border-color:var(--color-border);cursor:default}.exam-runner__delete{flex-shrink:0;height:var(--control-height);padding:0 var(--space-4);background:transparent;color:var(--color-fg-faint);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.exam-runner__delete:hover{background:var(--color-surface);border-color:var(--color-fg-subtle);color:var(--color-fg-strong)}.exam-runner__grid{display:flex;flex-direction:column;gap:var(--space-2)}.exam-runner__grid-headers{display:grid;grid-template-columns:1.2fr 1fr 130px;gap:var(--space-3);padding:0 var(--space-3)}.exam-runner__col-label{font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-ui);text-transform:uppercase;color:var(--color-fg-faint)}.exam-runner__hint{margin:0;padding:var(--space-4);color:var(--color-fg-faint);font-size:var(--text-md);text-align:center;border:1px dashed var(--color-border);border-radius:var(--radius-sm)}.exam-runner__row{display:grid;grid-template-columns:1.2fr 1fr 130px;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface);transition:background var(--transition-fast)}.exam-runner__row.is-ok{background:var(--color-success-soft)}.exam-runner__row.is-error{background:var(--color-error-soft)}.exam-runner__cell{display:flex;align-items:flex-start;gap:var(--space-2);min-width:0}.exam-runner__cell--answer{align-items:center}.exam-runner__cell--result{align-items:center;justify-content:space-between;gap:var(--space-2)}.exam-runner__index{flex-shrink:0;display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-fg-faint);background:var(--color-surface-active);border-radius:var(--radius-pill);margin-top:var(--space-1)}.exam-runner__prompt-input{flex:1;min-width:0;padding:var(--space-2) var(--space-3);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-fg);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-normal);resize:vertical;outline:none;transition:background var(--transition-fast),border-color var(--transition-fast)}.exam-runner__prompt-input:hover,.exam-runner__prompt-input:focus{background:var(--color-surface-hover);border-color:var(--color-border-strong)}.exam-runner__answer-input{width:100%;height:var(--control-height);padding:0 var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-fg-strong);font-family:var(--font-sans);font-size:var(--text-md);outline:none;transition:border-color var(--transition-fast)}.exam-runner__answer-input::placeholder{color:var(--color-fg-faint)}.exam-runner__answer-input:hover,.exam-runner__answer-input:focus{border-color:var(--color-border-strong)}.exam-runner__pending{color:var(--color-fg-faint);font-family:var(--font-mono);font-size:var(--text-sm)}.exam-runner__badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase}.exam-runner__badge.is-ok{background:var(--color-success-soft);color:var(--color-success)}.exam-runner__badge.is-error{background:var(--color-error-soft);color:var(--color-error)}.exam-runner__row-delete{flex-shrink:0;width:24px;height:24px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:var(--radius-pill);color:var(--color-fg-faint);font-size:var(--text-lg);line-height:1;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.exam-runner__row-delete:hover{background:var(--color-surface-active);color:var(--color-fg-strong)}.exam-runner__add-question{margin-top:var(--space-2);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:transparent;border:0;border-radius:var(--radius-sm);color:var(--color-fg-muted);font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.exam-runner__add-question:hover{background:var(--color-surface);color:var(--color-fg-strong)}.exam-runner__add-icon{flex-shrink:0;display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;background:var(--color-surface-active);border-radius:var(--radius-pill);color:var(--color-fg-strong);font-size:var(--text-lg);line-height:1}.exam-runner__add-question:hover .exam-runner__add-icon{background:var(--color-fg-strong);color:var(--color-bg)}.exam-runner__footer{display:flex;align-items:center;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.exam-runner__verify{height:var(--control-height);padding:0 var(--space-6);background:var(--color-fg-strong);color:var(--color-bg);border:1px solid var(--color-fg-strong);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;cursor:pointer;transition:opacity var(--transition-fast)}.exam-runner__verify:hover:not(:disabled){opacity:.85}.exam-runner__verify:disabled{background:transparent;color:var(--color-fg-faint);border-color:var(--color-border);cursor:default}.exam-runner__secondary{height:var(--control-height);padding:0 var(--space-4);background:transparent;color:var(--color-fg-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.exam-runner__secondary:hover{background:var(--color-surface);border-color:var(--color-fg-subtle);color:var(--color-fg-strong)}.exam-runner__score{margin-left:auto;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-fg);font-variant-numeric:tabular-nums}@media (max-width: 720px){.exam-runner__grid-headers,.exam-runner__row{grid-template-columns:1fr}.exam-runner__cell--result{justify-content:flex-start}}.exam-root{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);background:var(--color-bg);color:var(--color-fg);display:flex;flex-direction:column;overflow:hidden}.exam-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-6) var(--space-7) var(--space-5);border-bottom:1px solid var(--color-border)}.exam-title{margin:0;font-size:var(--text-lg);font-weight:var(--weight-medium);letter-spacing:var(--tracking-ui);text-transform:uppercase;color:var(--color-fg)}.exam-close{width:var(--control-height);height:var(--control-height);display:inline-flex;align-items:center;justify-content:center;color:var(--color-fg-muted);background:var(--color-surface-hover);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-normal),color var(--transition-normal),transform var(--transition-normal)}.exam-close:hover{background:var(--color-surface-active);color:var(--color-fg-strong);transform:rotate(90deg)}.exam-body{flex:1;display:grid;grid-template-columns:var(--sidebar-width) 1fr;gap:var(--space-8);padding:var(--space-7);overflow:hidden;min-height:0}.exam-main{min-width:0;overflow-y:auto}@media (max-width: 720px){.exam-body{grid-template-columns:1fr;gap:var(--space-6);padding:var(--space-5) var(--space-4)}}@media (hover: none){.exam-close:hover{transform:none}}.vocab-sidebar{display:flex;flex-direction:column;gap:var(--space-5);overflow-y:auto;padding-right:var(--space-2);min-width:0}.vocab-sidebar__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.vocab-sidebar__item{display:flex;flex-direction:column;gap:var(--space-1);width:100%;text-align:left;padding:var(--space-2) var(--space-3);background:transparent;border:0;border-radius:var(--radius-sm);color:var(--color-fg-muted);font-family:var(--font-sans);font-size:var(--text-md);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.vocab-sidebar__item:hover{background:var(--color-surface);color:var(--color-fg)}.vocab-sidebar__item.is-active{background:var(--color-surface-active);color:var(--color-fg-strong)}.vocab-sidebar__item-name{letter-spacing:var(--tracking-tight)}.vocab-sidebar__item-meta{font-size:var(--text-xs);color:var(--color-fg-faint);letter-spacing:var(--tracking-wide);text-transform:uppercase}.vocab-sidebar__add-btn{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:transparent;border:0;border-radius:var(--radius-sm);color:var(--color-fg-muted);font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);text-align:left}.vocab-sidebar__add-btn:hover{background:var(--color-surface);color:var(--color-fg-strong)}.vocab-sidebar__add-icon{flex-shrink:0;display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;background:var(--color-surface-active);border-radius:var(--radius-pill);color:var(--color-fg-strong);font-size:var(--text-lg);line-height:1}.vocab-sidebar__add-btn:hover .vocab-sidebar__add-icon{background:var(--color-fg-strong);color:var(--color-bg)}.vocab-table{display:flex;flex-direction:column;gap:var(--space-5);min-width:0}.vocab-table__empty{color:var(--color-fg-faint);font-size:var(--text-md)}.vocab-table__head{display:flex;flex-direction:column;gap:var(--space-2)}.vocab-table__head-row{display:flex;align-items:center;gap:var(--space-3)}.vocab-table__name-input{flex:1;min-width:0;padding:var(--space-2);margin:0 calc(-1 * var(--space-2));background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-fg-strong);font-family:var(--font-sans);font-size:var(--text-xl);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);outline:none;transition:background var(--transition-fast),border-color var(--transition-fast)}.vocab-table__name-input:hover{background:var(--color-surface)}.vocab-table__name-input:focus{background:var(--color-surface-hover);border-color:var(--color-border-strong)}.vocab-table__desc-input{width:100%;margin:0 calc(-1 * var(--space-2));padding:var(--space-1) var(--space-2);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-fg-subtle);font-family:var(--font-sans);font-size:var(--text-md);outline:none;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.vocab-table__desc-input::placeholder{color:var(--color-fg-faint)}.vocab-table__desc-input:hover{background:var(--color-surface)}.vocab-table__desc-input:focus{background:var(--color-surface-hover);border-color:var(--color-border-strong);color:var(--color-fg)}.vocab-table__save{flex-shrink:0;height:var(--control-height);padding:0 var(--space-5);background:var(--color-fg-strong);color:var(--color-bg);border:1px solid var(--color-fg-strong);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;cursor:pointer;transition:opacity var(--transition-fast)}.vocab-table__save:hover:not(:disabled){opacity:.85}.vocab-table__save:disabled{background:transparent;color:var(--color-fg-faint);border-color:var(--color-border);cursor:default}.vocab-table__delete{flex-shrink:0;height:var(--control-height);padding:0 var(--space-4);background:transparent;color:var(--color-fg-faint);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.vocab-table__delete:hover{background:var(--color-surface);border-color:var(--color-fg-subtle);color:var(--color-fg-strong)}.vocab-table__grid{display:flex;flex-direction:column;gap:var(--space-1)}.vocab-table__grid-headers,.vocab-table__row{display:grid;grid-template-columns:32px 1fr 1fr 1fr 32px;gap:var(--space-3);align-items:center}.vocab-table__grid-headers{padding:0 var(--space-3)}.vocab-table__col-label{font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-ui);text-transform:uppercase;color:var(--color-fg-faint)}.vocab-table__hint{margin:0;padding:var(--space-4);color:var(--color-fg-faint);font-size:var(--text-md);text-align:center;border:1px dashed var(--color-border);border-radius:var(--radius-sm)}.vocab-table__row{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface);transition:background var(--transition-fast)}.vocab-table__row:hover{background:var(--color-surface-hover)}.vocab-table__index{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-fg-faint);text-align:center}.vocab-table__cell-input{width:100%;height:var(--control-height);padding:0 var(--space-3);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-fg);font-family:var(--font-sans);font-size:var(--text-md);outline:none;transition:background var(--transition-fast),border-color var(--transition-fast)}.vocab-table__cell-input::placeholder{color:var(--color-fg-faint)}.vocab-table__cell-input:hover,.vocab-table__cell-input:focus{background:var(--color-bg);border-color:var(--color-border-strong)}.vocab-table__cell-input--word{font-weight:var(--weight-medium);color:var(--color-fg-strong)}.vocab-table__cell-input--pronunciation{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-fg-subtle)}.vocab-table__row-delete{width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:var(--radius-pill);color:var(--color-fg-faint);font-size:var(--text-lg);line-height:1;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.vocab-table__row-delete:hover{background:var(--color-surface-active);color:var(--color-fg-strong)}.vocab-table__add-row{margin-top:var(--space-2);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:transparent;border:0;border-radius:var(--radius-sm);color:var(--color-fg-muted);font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.vocab-table__add-row:hover{background:var(--color-surface);color:var(--color-fg-strong)}.vocab-table__add-icon{flex-shrink:0;display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;background:var(--color-surface-active);border-radius:var(--radius-pill);color:var(--color-fg-strong);font-size:var(--text-lg);line-height:1}.vocab-table__add-row:hover .vocab-table__add-icon{background:var(--color-fg-strong);color:var(--color-bg)}.vocab-table__footer{display:flex;align-items:center;padding-top:var(--space-3);border-top:1px solid var(--color-border)}.vocab-table__count{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-fg-subtle);font-variant-numeric:tabular-nums}@media (max-width: 720px){.vocab-table__grid-headers,.vocab-table__row{grid-template-columns:32px 1fr 32px;grid-template-areas:"idx word del" "idx translation del" "idx pronunciation del"}.vocab-table__grid-headers{display:none}.vocab-table__cell-input--word{grid-area:word}.vocab-table__cell-input--translation{grid-area:translation}.vocab-table__cell-input--pronunciation{grid-area:pronunciation}}.vocab-root{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);background:var(--color-bg);color:var(--color-fg);display:flex;flex-direction:column;overflow:hidden}.vocab-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-6) var(--space-7) var(--space-5);border-bottom:1px solid var(--color-border)}.vocab-title{margin:0;font-size:var(--text-lg);font-weight:var(--weight-medium);letter-spacing:var(--tracking-ui);text-transform:uppercase;color:var(--color-fg)}.vocab-close{width:var(--control-height);height:var(--control-height);display:inline-flex;align-items:center;justify-content:center;color:var(--color-fg-muted);background:var(--color-surface-hover);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-normal),color var(--transition-normal),transform var(--transition-normal)}.vocab-close:hover{background:var(--color-surface-active);color:var(--color-fg-strong);transform:rotate(90deg)}.vocab-body{flex:1;display:grid;grid-template-columns:var(--sidebar-width) 1fr;gap:var(--space-8);padding:var(--space-7);overflow:hidden;min-height:0}.vocab-main{min-width:0;overflow-y:auto}@media (max-width: 720px){.vocab-body{grid-template-columns:1fr;gap:var(--space-6);padding:var(--space-5) var(--space-4)}}@media (hover: none){.vocab-close:hover{transform:none}}.theme-btn{position:absolute;top:calc(max(20px,var(--sa-top, 0px)) + 168px);right:max(20px,var(--sa-right, 0px));width:var(--touch-target);height:var(--touch-target);touch-action:manipulation;display:inline-flex;align-items:center;justify-content:center;color:var(--color-fg-muted);background:var(--color-surface-hover);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-normal),color var(--transition-normal),transform var(--transition-slow);z-index:3}.theme-btn:hover{background:var(--color-surface-active);color:var(--color-fg-strong);transform:rotate(20deg)}@media (max-width: 480px){.theme-btn{top:calc(max(14px,var(--sa-top, 0px)) + 168px);right:max(14px,var(--sa-right, 0px));width:var(--touch-target);height:var(--touch-target)}}.theme-btn--corner{position:fixed;top:auto;right:auto;bottom:max(var(--space-5),var(--sa-bottom, 0px));left:max(var(--space-5),var(--sa-left, 0px));z-index:var(--z-controls)}@media (max-width: 768px){.theme-btn--corner{top:auto;right:auto;bottom:calc(var(--mobfoot-total) + var(--space-3));left:max(var(--space-4),var(--sa-left, 0px))}}@media (hover: none){.theme-btn:hover{transform:none;background:var(--color-surface-hover);color:var(--color-fg-muted)}}.record-btn{position:absolute;top:calc(max(20px,var(--sa-top, 0px)) + 224px);right:max(20px,var(--sa-right, 0px));width:var(--touch-target);height:var(--touch-target);touch-action:manipulation;display:inline-flex;align-items:center;justify-content:center;color:var(--color-fg-muted);background:var(--color-surface-hover);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-normal),color var(--transition-normal),transform var(--transition-slow);z-index:3}.record-btn:hover{background:var(--color-surface-active);color:var(--color-fg-strong);transform:translateY(-2px)}.record-btn[data-recording=true]{color:var(--color-error);border-color:var(--color-error);background:var(--color-error-soft)}.record-btn[data-recording=true]:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:var(--radius-md);border:1px solid var(--color-error);animation:record-pulse 1.6s ease-in-out infinite}@keyframes record-pulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:0;transform:scale(1.12)}}.record-btn[data-saving=true]{opacity:.6;cursor:progress}@media (max-width: 480px){.record-btn{top:calc(max(14px,var(--sa-top, 0px)) + 224px);right:max(14px,var(--sa-right, 0px));width:var(--touch-target);height:var(--touch-target)}}@media (hover: none){.record-btn:hover{transform:none;background:var(--color-surface-hover);color:var(--color-fg-muted)}}@media (prefers-reduced-motion: reduce){.record-btn[data-recording=true]:after{animation:none;opacity:.7}}.live-transcript{position:absolute;left:50%;bottom:calc(max(var(--space-8),var(--sa-bottom, 0px)) + var(--chat-mic-clearance));transform:translate(-50%);width:min(var(--container-max),calc(100vw - var(--space-8)));max-height:var(--transcript-max-height);z-index:3;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 24px);mask-image:linear-gradient(to bottom,transparent,#000 24px)}@media (max-width: 480px){.live-transcript{bottom:calc(max(var(--space-5),var(--sa-bottom, 0px)) + 84px)}}.live-transcript__body{display:flex;flex-direction:column;gap:var(--space-3);max-height:var(--transcript-max-height);overflow-y:auto;padding:var(--space-2) var(--space-1);scrollbar-width:none}.live-transcript__body::-webkit-scrollbar{display:none}.live-transcript__line{margin:0;display:flex;gap:var(--space-3);align-items:baseline;line-height:var(--leading-normal);text-align:left}.live-transcript__tag{flex:0 0 auto;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;padding-top:2px}.live-transcript__line--user .live-transcript__tag{color:var(--color-fg-faint)}.live-transcript__line--assistant .live-transcript__tag{color:var(--color-live);opacity:.7}.live-transcript__text{font-size:var(--text-lg);font-weight:var(--transcript-text-weight);text-shadow:0 0 var(--transcript-halo-blur) var(--transcript-halo),0 0 var(--transcript-halo-blur) var(--transcript-halo),0 1px calc(var(--transcript-halo-blur) * 2) var(--transcript-halo)}.live-transcript__line--user .live-transcript__text{color:var(--color-fg-subtle)}.live-transcript__line--assistant .live-transcript__text{color:var(--color-fg-muted)}.live-transcript__stage{font-style:italic;opacity:.5;font-size:.85em;color:var(--color-fg-faint);text-shadow:none}.live-transcript__correction{background:var(--color-live-soft);color:var(--color-live);border-radius:var(--radius-sm);padding:0 var(--space-1);text-decoration:underline;text-decoration-color:var(--color-live);text-underline-offset:2px;text-shadow:none}.board-attempt{display:flex;align-items:center;gap:var(--board-attempt-gap);min-height:var(--board-attempt-h);padding:0 var(--board-attempt-gap);margin:0 0 var(--space-3);border-radius:var(--board-attempt-radius);font-size:var(--board-attempt-size);line-height:1.3;flex:0 0 auto}.board-attempt[hidden]{display:none}.board-attempt__dot{width:var(--board-attempt-dot);height:var(--board-attempt-dot);border-radius:50%;background:currentColor;flex:0 0 auto}.board-attempt__label{font-weight:var(--weight-medium)}.board-attempt__detail{color:var(--board-ink);font-weight:var(--weight-bold)}.board-attempt--turn{color:var(--board-attempt-turn-ink);background:var(--board-attempt-turn-bg)}.board-attempt--listening{color:var(--board-attempt-listening-ink);background:var(--board-attempt-listening-bg)}.board-attempt--ok{color:var(--board-attempt-ok-ink);background:var(--board-attempt-ok-bg)}.board-attempt--retry{color:var(--board-attempt-retry-ink);background:var(--board-attempt-retry-bg)}.board-attempt--listening .board-attempt__dot{animation:board-attempt-breathe var(--board-attempt-pulse) var(--ease) infinite}@keyframes board-attempt-breathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.7)}}@media (prefers-reduced-motion: reduce){.board-attempt--listening .board-attempt__dot{animation:none}}.board-actions{display:flex;gap:var(--board-action-gap);justify-content:flex-end;flex-wrap:wrap;flex:0 0 auto;margin-bottom:var(--space-3);position:relative;z-index:2}.board-action{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);min-width:var(--board-action-size);min-height:var(--board-action-size);padding:var(--space-1) var(--space-2);border:1px solid var(--board-action-border);border-radius:var(--board-action-radius);background:var(--board-action-bg);color:var(--board-ink-soft);cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease)}.board-action:hover,.board-action:focus-visible{background:var(--board-action-bg-hover);color:var(--board-ink)}.board-action.is-on{background:var(--board-action-on-bg);color:var(--board-action-on-ink);box-shadow:var(--board-action-shadow)}.board-action:active{transform:scale(var(--press-scale))}.board-action__glyph{font-size:var(--board-action-glyph);line-height:1}.board-action__label{font-size:var(--board-action-label);line-height:1;white-space:nowrap}.board-action.is-speaking{animation:board-action-pulse var(--board-action-pulse) var(--ease) infinite}@keyframes board-action-pulse{0%,to{box-shadow:var(--board-action-shadow)}50%{box-shadow:0 0 0 var(--board-action-pulse-ring) var(--board-action-on-bg)}}@media (prefers-reduced-motion: reduce){.board-action.is-speaking{animation:none}.board-action:active{transform:none}}.board-notebook{position:relative;z-index:1;flex:1;min-height:0;display:flex;flex-direction:column}.board-notebook__card{flex:1;min-height:0;display:flex;flex-direction:column;outline:none}.board-notebook__card:focus-visible{outline:var(--board-card-ring) solid var(--board-live);outline-offset:var(--board-card-ring-offset);border-radius:var(--radius-md)}.board-notebook__stack{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none}.board-notebook__sheet{position:absolute;top:0;right:0;bottom:0;left:0;transform:translateY(calc(var(--sheet-i) * var(--board-sheet-step))) scaleX(calc(1 - var(--sheet-i) * var(--board-sheet-shrink)));border:1px solid var(--board-sheet-border);border-radius:var(--board-radius);background:var(--board-sheet-bg);opacity:calc(1 - var(--sheet-i) * var(--board-sheet-fade))}.board-nav{flex:0 0 auto;display:flex;align-items:center;gap:var(--board-nav-gap);margin-top:var(--space-3);position:relative;z-index:2}.board-nav__arrow{display:inline-flex;align-items:center;justify-content:center;min-width:var(--board-action-size);min-height:var(--board-action-size);border:1px solid var(--board-action-border);border-radius:var(--board-action-radius);background:var(--board-action-bg);color:var(--board-ink-soft);cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}.board-nav__arrow:hover,.board-nav__arrow:focus-visible{background:var(--board-action-bg-hover);color:var(--board-ink)}.board-nav__arrow:active{transform:scale(var(--press-scale))}.board-nav__arrow[data-empty]{opacity:var(--board-nav-empty-op);cursor:default}.board-nav__arrow[data-empty]:active{transform:none}.board-nav__counter{font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--board-ink-faint)}.board-nav__dropped{font-size:var(--text-2xs);color:var(--board-ink-faint);padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);background:var(--board-action-bg);cursor:help}.board-nav__now{margin-left:auto;display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--board-action-size);padding:var(--space-1) var(--space-3);border:1px solid var(--board-action-border);border-radius:var(--radius-pill);background:var(--board-action-bg);color:var(--board-ink-soft);font-size:var(--text-xs);cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease)}.board-nav__now:hover,.board-nav__now:focus-visible{background:var(--board-action-bg-hover);color:var(--board-ink)}.board-nav__now:active{transform:scale(var(--press-scale))}.board-nav__now.has-new{background:var(--board-action-on-bg);color:var(--board-action-on-ink);border-color:var(--board-live-soft)}@media (max-width: 768px){.board-notebook{--board-sheet-step: var(--board-sheet-step-compact)}.board-nav{margin-top:var(--space-2);gap:var(--space-1)}.board-nav__arrow{min-width:var(--board-nav-compact);min-height:var(--board-nav-compact)}.board-nav__now{min-height:var(--board-nav-compact)}}@media (prefers-reduced-motion: reduce){.board-nav__arrow:active,.board-nav__now:active{transform:none}}.vocab-table{width:100%}.vocab-table__title{margin:0 0 var(--space-3);font-size:var(--text-md);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--board-live-ink)}.vocab-table__grid{width:100%;border-collapse:collapse;font-size:var(--text-lg);table-layout:fixed}.vocab-table__grid col.col-es,.vocab-table__grid col.col-en{width:26%}.vocab-table__grid col.col-read{width:48%}.vocab-table__grid th{text-align:left;padding:var(--space-2) var(--space-3);font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--board-ink-faint);border-bottom:1px solid var(--board-rule)}.vocab-table__grid td{padding:var(--space-4) var(--space-3);color:var(--board-ink-soft);border-bottom:1px solid var(--board-rule);vertical-align:baseline;transition:background var(--dur) var(--ease)}.vocab-table__grid tbody tr:last-child td{border-bottom:none}.vocab-table__grid tbody tr{cursor:pointer}.vocab-table__grid tbody tr:focus-visible{outline:2px solid var(--board-live);outline-offset:-2px}.vocab-table__grid tbody tr:hover td{background:var(--color-live-faint)}.vocab-table__grid tbody tr.is-active td{background:var(--color-live-soft)}.vocab-table__grid tbody tr.is-active td:first-child{box-shadow:inset 3px 0 0 0 var(--board-live)}.vocab-table__grid tbody tr.is-active .vocab-table__en{color:var(--board-live);font-weight:var(--weight-medium);text-shadow:0 0 12px var(--color-live-soft)}.vocab-table__grid tbody tr.is-active .vocab-table__read{text-shadow:0 0 12px var(--color-live-soft)}.vocab-table__en{font-weight:var(--weight-medium);color:var(--board-ink)}.vocab-table__grid tbody tr.is-known td,.vocab-table__grid tbody tr.is-known .vocab-table__en,.vocab-table__grid tbody tr.is-known .vocab-table__read{color:var(--board-known-ink)}.vocab-table__badge{margin-left:var(--space-2);padding:0 var(--space-1);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--board-live-ink);background:var(--board-live-soft);vertical-align:middle}.vocab-table__read{font-family:var(--font-mono);color:var(--board-live);font-size:var(--vocab-read-size);font-weight:var(--weight-medium);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);overflow-wrap:normal;word-break:keep-all}.vocab-table__read .board-syllable{display:inline;white-space:normal}.board-sheet{transition:height var(--transition-normal),background var(--transition-slow)}.board-sheet[data-dragging]{transition:none}@media (prefers-reduced-motion: reduce){.board-sheet{transition:none}}.board-sheet__content{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.board-sheet__bar{flex:0 0 auto;display:flex;align-items:center;gap:var(--board-chip-gap);min-height:var(--board-bar-h);margin:0 calc(-1 * var(--space-4)) calc(-1 * var(--space-3));padding:0 var(--space-4);border-top:1px solid var(--board-sheet-border);touch-action:none}.board-sheet__handle-zone{flex:1 1 auto;display:grid;place-items:center;min-height:var(--board-bar-h);cursor:grab}.board-sheet__handle-zone:active{cursor:grabbing}.board-sheet__handle{width:var(--board-handle-w);height:var(--board-handle-h);border-radius:var(--radius-pill);background:var(--board-handle-color);transition:background var(--transition-fast)}.board-sheet[data-dragging] .board-sheet__handle{background:var(--board-handle-color-active)}.board-sheet__toggle{flex:0 0 auto;display:grid;place-items:center;width:var(--touch-target);height:var(--touch-target);padding:0;border:0;border-radius:var(--radius-pill);background:none;color:var(--board-ink-faint);font-size:var(--text-sm);line-height:1;cursor:pointer;transition:color var(--transition-fast),transform var(--transition-fast)}.board-sheet__toggle:hover{color:var(--board-live)}.board-sheet__toggle:active{transform:scale(var(--press-scale))}.board-sheet__chip{flex:1 1 auto;min-width:0;display:flex;align-items:center;min-height:var(--board-chip-h);padding:0;border:0;background:none;color:var(--board-chip-ink);font-size:var(--text-sm);text-align:left;cursor:pointer}.board-sheet__chip-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.board-sheet[data-snap=chip] .board-sheet__handle-zone{flex:0 0 auto;width:var(--board-handle-w)}@media (max-width: 768px){.board-sheet[data-snap=chip]{aspect-ratio:auto;max-height:none;padding-block:0}.board-sheet{aspect-ratio:auto;max-height:none}}.invocable-board{position:absolute;top:max(var(--controls-safe-zone),var(--sa-top, 0px));bottom:var(--controls-safe-zone);left:max(var(--board-inset),var(--sa-left, 0px));right:calc(var(--meet-sidebar-width) + var(--space-8));max-width:var(--board-max);max-height:min(78vh,calc(100dvh - 2 * var(--controls-safe-zone)));margin:auto;padding:var(--space-8);z-index:var(--z-overlay);display:flex;flex-direction:column;background:linear-gradient(180deg,var(--board-state-wash),transparent 60%),linear-gradient(155deg,var(--board-veil),transparent 55%),var(--board-glass-bg);backdrop-filter:blur(var(--board-glass-blur)) saturate(var(--board-glass-saturate));-webkit-backdrop-filter:blur(var(--board-glass-blur)) saturate(var(--board-glass-saturate));border:1px solid var(--board-frame);border-top-color:var(--board-frame-top);border-radius:var(--board-radius);transition:background var(--transition-slow);box-shadow:var(--board-shadow),inset 0 1px 0 0 var(--board-frame-top),inset 0 0 0 1px var(--board-inner-line),inset 0 -1px 0 0 var(--board-frame-bevel)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.invocable-board{background:#ffffffe6}}.invocable-board:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border-radius:inherit;background:var(--board-rainbow);opacity:var(--board-rainbow-op);pointer-events:none}.invocable-board:after{content:"";position:absolute;left:8%;right:8%;bottom:calc(-1 * var(--board-tray-height) + 2px);height:var(--board-tray-height);border-radius:0 0 var(--radius-md) var(--radius-md);background:linear-gradient(180deg,var(--board-tray-top),var(--board-tray-bottom));box-shadow:0 1px 0 var(--board-tray-sheen) inset,0 2px 5px var(--board-tray-shadow);pointer-events:none}@media (max-width: 768px){.invocable-board{top:calc(max(var(--space-4),var(--sa-top, 0px)) + var(--stage-header-h));bottom:auto;left:max(var(--stage-side),var(--sa-left, 0px));right:max(var(--stage-side),var(--sa-right, 0px));max-width:min(var(--container-max),calc(100vw - 2 * var(--stage-side)));margin-inline:auto;aspect-ratio:16 / 9;height:var(--stage-board-h);max-height:var(--stage-board-h);padding:var(--space-3) var(--space-4);background:linear-gradient(180deg,var(--board-state-wash),transparent 60%),var(--color-board-paper);backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:var(--stage-board-radius);box-shadow:inset 0 2px 12px -4px var(--board-tray-shadow),inset 0 0 0 1px var(--board-inner-line),0 1px 0 0 var(--board-frame-top)}.invocable-board:after{content:none}}@media (min-width: 769px) and (orientation: portrait){.invocable-board{top:max(var(--controls-safe-zone),var(--sa-top, 0px));bottom:auto;left:max(var(--board-inset),var(--sa-left, 0px));right:max(var(--board-inset),var(--sa-right, 0px));max-width:var(--board-max);max-height:var(--board-portrait-height);margin-inline:auto}}.board-snapshot{position:relative;z-index:1;flex:1;min-height:0;display:flex;flex-direction:column}.invocable-board__stack{position:relative;z-index:1;flex:1;min-height:0;overflow-y:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(to bottom,var(--mask-fill) calc(100% - var(--board-scroll-fade)),transparent 100%);mask-image:linear-gradient(to bottom,var(--mask-fill) calc(100% - var(--board-scroll-fade)),transparent 100%)}.invocable-board__stack::-webkit-scrollbar{display:none}.invocable-board__fit{display:flex;flex-direction:column;gap:var(--space-5);transform-origin:top center;will-change:transform}.board-block+.board-block{padding-top:var(--space-5);border-top:1px solid var(--board-accent-mint)}.board-block--phrase{display:flex;flex-direction:column;gap:var(--space-4);text-align:center;max-width:var(--board-phrase-measure);margin-inline:auto}.board-block__phrase-row{display:flex;flex-direction:column;gap:var(--space-1);align-items:center}.board-block__phrase-label{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-ui);text-transform:uppercase;color:var(--board-ink-faint)}.board-block__phrase-en{font-family:var(--font-sans);font-weight:var(--weight-bold);letter-spacing:var(--display-tracking);line-height:var(--leading-tight);color:var(--board-ink);font-size:var(--display-phrase);overflow-wrap:anywhere}.board-block__phrase-es{font-family:var(--font-sans);font-weight:var(--weight-regular);font-size:var(--display-phrase-sub);color:var(--board-ink-soft);line-height:var(--leading-tight);overflow-wrap:anywhere}.board-block__phrase-read{font-family:var(--font-mono);font-size:var(--display-phrase-read);font-weight:var(--weight-medium);color:var(--board-live);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);overflow-wrap:anywhere}.board-syllable{display:inline-block;white-space:pre-wrap}.board-syllable.is-stressed{color:var(--board-live);font-weight:var(--weight-medium);text-shadow:var(--syllable-glow)}.board-syllable.is-lit{color:var(--board-live);text-shadow:var(--syllable-glow);transform:translateY(var(--syllable-lift));transition:text-shadow var(--transition-fast),transform var(--transition-fast)}.board-syllable:not(.is-lit){transition:text-shadow var(--transition-normal),transform var(--transition-normal)}.board-block__phrase-read.is-sweeping .board-syllable{animation:syllable-sweep calc(var(--syl-count, 4) * var(--syllable-step)) ease-in-out infinite;animation-delay:calc(var(--syl-i, 0) * var(--syllable-step))}@keyframes syllable-sweep{0%,to{color:var(--board-live);text-shadow:none}8%{color:var(--board-live);text-shadow:var(--syllable-glow);transform:translateY(var(--syllable-lift))}20%{color:var(--board-live);text-shadow:none;transform:translateY(0)}}.board-block__phrase-read.is-sweeping .board-syllable.is-stressed{animation-name:syllable-sweep-stressed}@keyframes syllable-sweep-stressed{0%,to{color:var(--board-live);text-shadow:var(--syllable-glow)}8%{color:var(--board-live);text-shadow:var(--syllable-glow);transform:translateY(var(--syllable-lift))}20%{color:var(--board-live);text-shadow:var(--syllable-glow);transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.board-block__phrase-read.is-sweeping .board-syllable,.board-block__phrase-read.is-sweeping .board-syllable.is-stressed{animation:none}.board-syllable.is-lit,.board-syllable:not(.is-lit){transform:none;transition:none}}.board-pinned{position:absolute;top:var(--space-5);right:var(--space-5);z-index:2;max-width:var(--board-pinned-max-w);padding:var(--space-3) var(--space-4);border:1px solid var(--board-pinned-border);border-radius:var(--radius-md);background:var(--board-pinned-bg);box-shadow:var(--board-pinned-shadow);pointer-events:none}.board-pinned__pin{position:absolute;top:calc(-1 * var(--board-pinned-pin-size) / 2);left:50%;transform:translate(-50%);width:var(--board-pinned-pin-size);height:var(--board-pinned-pin-size);border-radius:var(--radius-pill);background:var(--board-live);box-shadow:var(--syllable-glow)}.board-pinned__title{margin:0 0 var(--space-2);font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--board-live-ink)}.board-pinned__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.board-pinned__item{display:flex;align-items:baseline;gap:var(--space-2)}.board-pinned__en{font-weight:var(--weight-medium);color:var(--board-ink)}.board-pinned__es{font-size:var(--text-sm);color:var(--board-ink-soft)}.board-options{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.board-options__item{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);border:1px solid var(--board-rule);border-left:3px solid var(--board-live);border-radius:var(--radius-md);background:var(--color-live-faint)}.board-options__en{font-size:var(--text-lg);font-weight:var(--weight-medium);color:var(--board-ink);overflow-wrap:anywhere}.board-options__es{font-size:var(--text-md);color:var(--board-ink-soft)}.board-options__read{font-family:var(--font-mono);font-size:var(--text-md);color:var(--board-live-ink);overflow-wrap:anywhere}.board-block__note-title{margin:0 0 var(--space-3);padding-bottom:var(--space-1);font-size:var(--text-md);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--board-live-ink);border-bottom:1px solid var(--board-accent-lav)}.board-block__note-body{margin:0;font-size:var(--text-lg);line-height:var(--leading-normal);color:var(--board-ink);white-space:pre-wrap}.board-breakdown{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}.board-breakdown__part{display:flex;flex-direction:column;align-items:center;gap:var(--space-px);padding:var(--space-2) var(--space-3);border:1px solid var(--board-rule);border-radius:var(--radius-md);background:var(--color-live-faint)}.board-breakdown__en{font-weight:var(--weight-medium);color:var(--board-ink)}.board-breakdown__read{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--board-live-ink)}.board-breakdown__es{font-size:var(--text-sm);color:var(--board-ink-soft)}.board-sounds{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.board-sounds__item{display:flex;align-items:baseline;gap:var(--space-3);padding:var(--space-1) 0;border-bottom:1px solid var(--board-rule)}.board-sounds__item:last-child{border-bottom:none}.board-sounds__sound{font-family:var(--font-mono);font-weight:var(--weight-medium);color:var(--board-live-ink);min-width:6ch}.board-sounds__example{color:var(--board-ink);font-weight:var(--weight-medium)}.board-sounds__read{font-family:var(--font-mono);color:var(--board-ink-soft)}.board-progress{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.board-progress__item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-md);color:var(--board-ink-soft)}.board-progress__item.is-done{color:var(--board-ink)}.board-progress__mark{display:inline-flex;width:1.4em;justify-content:center;font-family:var(--font-mono);color:var(--board-live-ink)}.board-progress__item:not(.is-done) .board-progress__mark{color:var(--board-ink-faint)}.board-progress__sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.board-block--progress-final{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--board-progress-final-gap)}.board-progress__crown{font-size:var(--board-progress-crown-size);line-height:1;color:var(--board-live);text-shadow:var(--syllable-glow)}.board-block--progress-final .board-block__note-title{margin:0;padding:0;border:none;font-size:var(--board-progress-final-title);font-weight:var(--weight-bold);letter-spacing:var(--display-tracking);text-transform:none;color:var(--board-ink)}.board-progress__count{margin:0;font-family:var(--font-mono);font-size:var(--text-lg);color:var(--board-live-ink)}.board-block--progress-final .board-progress{align-items:center;gap:var(--space-2)}.board-block--progress-final .board-progress__item{font-size:var(--text-lg)}.invocable-board__columns{position:relative;z-index:1;flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,var(--board-split-left)) minmax(0,var(--board-split-right));grid-template-rows:minmax(0,1fr);gap:var(--space-6);align-items:stretch}.invocable-board__col{min-width:0;min-height:0;overflow-y:auto;scrollbar-width:none;display:flex;flex-direction:column;-webkit-mask-image:linear-gradient(to bottom,var(--mask-fill) calc(100% - var(--board-scroll-fade)),transparent 100%);mask-image:linear-gradient(to bottom,var(--mask-fill) calc(100% - var(--board-scroll-fade)),transparent 100%)}.invocable-board__col>.invocable-board__fit{margin-block:auto}.invocable-board__col::-webkit-scrollbar{display:none}.invocable-board--split .board-block__phrase-en{font-size:var(--display-phrase-split)}.invocable-board--split .board-block__phrase-read{font-size:var(--display-phrase-read-split)}.invocable-board--split .board-block__phrase-es{font-size:var(--display-phrase-sub-split)}.invocable-board--split .vocab-table__grid col.col-es{width:24%}.invocable-board--split .vocab-table__grid col.col-en{width:28%}.invocable-board--split .vocab-table__grid col.col-read{width:48%}.invocable-board--split .vocab-table__grid td{padding:var(--space-2) var(--space-2)}.invocable-board__col:has(>.invocable-board__fit:empty){display:none}.invocable-board__columns:has(.invocable-board__col--left>.invocable-board__fit:empty),.invocable-board__columns:has(.invocable-board__col--right>.invocable-board__fit:empty){grid-template-columns:1fr}@media (max-width: 720px){.invocable-board__columns{grid-template-columns:1fr;grid-template-rows:none;overflow-y:auto;scrollbar-width:none}.invocable-board__columns::-webkit-scrollbar{display:none}.invocable-board__col{overflow:visible;min-height:auto}}.lesson-intro{position:absolute;top:var(--intro-top-clearance);bottom:var(--controls-safe-zone);left:max(var(--board-inset),var(--sa-left, 0px));right:calc(var(--meet-sidebar-width) + var(--space-8));max-width:var(--container-max);margin-inline:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-4);padding:var(--space-6);overflow-y:auto;scrollbar-width:none;z-index:var(--z-overlay);pointer-events:none}.lesson-intro::-webkit-scrollbar{display:none}@media (max-width: 640px){.lesson-intro{left:max(var(--space-4),var(--sa-left, 0px));right:max(var(--space-4),var(--sa-right, 0px));padding:var(--space-5)}.lesson-intro__objective{font-size:var(--intro-title-fluid)}.lesson-intro--chat-active{display:none}}.lesson-intro__eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-ui);text-transform:uppercase}.lesson-intro__unit{color:var(--color-fg-faint)}.lesson-intro__code{padding:var(--space-px) var(--space-2);border-radius:var(--radius-pill);color:var(--color-live);background:var(--color-live-soft);font-weight:var(--weight-medium)}.lesson-intro__objective{margin:0;font-family:var(--font-sans);font-weight:var(--weight-bold);font-size:var(--intro-title-size);letter-spacing:var(--display-tracking);line-height:var(--leading-tight);color:var(--color-fg-strong);overflow-wrap:anywhere;text-wrap:balance;max-width:18ch}.lesson-intro__highlights{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3);max-width:44ch}.lesson-intro__chip{--chip-accent: var(--color-live);--chip-accent-soft: var(--color-live-soft);display:flex;flex-direction:column;gap:var(--space-1);align-items:flex-start;text-align:left;padding:var(--space-2) var(--space-3);border:1px solid var(--glass-border);border-left:3px solid var(--chip-accent);border-radius:var(--radius-md);background:var(--chip-accent-soft)}.lesson-intro__chip-label{display:inline-flex;align-items:center;gap:var(--space-1);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-ui);text-transform:uppercase;color:var(--color-fg-subtle)}.lesson-intro__chip-icon{color:var(--chip-accent);flex-shrink:0}.lesson-intro__chip-value{font-size:var(--text-lg);color:var(--color-fg);overflow-wrap:anywhere}.lesson-intro__hint{display:inline-flex;align-items:center;gap:var(--space-2);margin:var(--space-2) 0 0;padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);background:var(--color-live-soft);color:var(--color-live);font-size:var(--text-md);font-weight:var(--weight-medium)}.lesson-intro__hint-icon{flex-shrink:0}.lesson-chat{position:absolute;right:max(var(--chat-inset),var(--sa-right, 0px));top:var(--meet-sidebar-top);bottom:calc(max(var(--space-8),var(--sa-bottom, 0px)) + var(--chat-mic-clearance));width:var(--meet-sidebar-width);display:flex;flex-direction:column;z-index:var(--z-overlay);background:transparent;pointer-events:none}@media (max-width: 768px){.lesson-chat{left:50%;right:auto;top:calc(max(var(--space-4),var(--sa-top, 0px)) + var(--stage-header-h) + var(--stage-board-occupied) + var(--stage-gap));bottom:var(--micdock-clearance);transform:translate(-50%);width:min(var(--container-max),calc(100vw - 2 * var(--stage-side)));max-height:none}}@media (min-width: 769px) and (orientation: portrait){.lesson-chat{top:auto;right:max(var(--board-inset),var(--sa-right, 0px));left:max(var(--board-inset),var(--sa-left, 0px));width:auto;max-width:var(--board-max);margin-inline:auto;bottom:calc(max(var(--space-8),var(--sa-bottom, 0px)) + var(--chat-mic-clearance));max-height:var(--board-portrait-chat-height)}}.lesson-chat__body{flex:1;display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-2) 0;overflow-y:auto;scrollbar-width:none;pointer-events:auto;-webkit-mask-image:linear-gradient(to bottom,transparent 0,var(--mask-fill) var(--chat-fade),var(--mask-fill) 100%);mask-image:linear-gradient(to bottom,transparent 0,var(--mask-fill) var(--chat-fade),var(--mask-fill) 100%)}.lesson-chat__body::-webkit-scrollbar{display:none}.lesson-chat__msg{display:flex;flex-direction:column;gap:var(--space-1);opacity:var(--chat-old-opacity);transition:opacity var(--transition-normal)}.lesson-chat__msg:first-child{margin-top:auto}.lesson-chat__msg--current{opacity:1}.lesson-chat__msg--assistant{align-self:stretch;align-items:flex-start;max-width:100%;text-align:left}.lesson-chat__msg--user{align-self:flex-end;align-items:flex-end;max-width:88%;text-align:right}.lesson-chat__who{display:inline-block;padding:var(--space-px) var(--space-2);border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-wide);text-transform:uppercase}.lesson-chat__msg--assistant .lesson-chat__who{color:var(--color-live);background:var(--color-live-soft)}.lesson-chat__msg--user .lesson-chat__who{color:var(--color-fg-muted);background:var(--color-surface-hover)}.lesson-chat__text{position:relative;margin:0;max-width:60ch;overflow-wrap:anywhere;font-size:var(--text-md);line-height:var(--leading-normal);color:var(--color-fg)}@media (max-width: 640px){.lesson-chat__text{font-size:var(--mk-text-body);line-height:1.5}}.lesson-chat__msg--assistant .lesson-chat__text{background:transparent;padding:0;text-shadow:0 0 var(--transcript-halo-blur) var(--transcript-halo),0 0 var(--transcript-halo-blur) var(--transcript-halo),0 1px calc(var(--transcript-halo-blur) * 2) var(--transcript-halo)}.lesson-chat__msg--user .lesson-chat__text{background:var(--color-live-faint);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md)}.lesson-chat__text--typing{display:inline-flex;align-items:center;gap:var(--space-1);min-width:var(--chat-typing-min)}.lesson-chat__dot{width:var(--chat-dot-size);height:var(--chat-dot-size);border-radius:var(--radius-pill);background:var(--color-live);opacity:.5;animation:chat-typing 1.2s ease-in-out infinite}.lesson-chat__dot:nth-child(2){animation-delay:.15s}.lesson-chat__dot:nth-child(3){animation-delay:.3s}@keyframes chat-typing{0%,to{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}.lesson-chat__text .live-transcript__stage{font-style:italic;opacity:.5;font-size:.85em;color:var(--color-fg-faint)}.transcript-target-word{background:var(--color-live-soft);color:var(--color-live);font-weight:var(--weight-medium);border-radius:var(--radius-sm);padding:0 var(--space-1)}.lesson-chat__text .live-transcript__correction{display:inline-flex;align-items:baseline;gap:var(--space-1);background:var(--chat-correction-soft);color:var(--chat-correction-ink);font-weight:var(--weight-medium);border-radius:var(--radius-sm);padding:0 var(--space-1);text-decoration:underline;text-decoration-color:var(--chat-correction-ink);text-underline-offset:2px}.lesson-chat__text .live-transcript__correction-tick{margin-right:var(--space-1);font-family:var(--font-mono);font-size:.85em;opacity:.9}.lesson-chat__input{padding:var(--space-3) 0 0}.lesson-chat__input-hint{font-size:var(--text-sm);color:var(--color-fg-muted);transition:color var(--transition-normal)}.lesson-chat__input-hint--waiting{color:var(--color-fg-subtle)}@media (prefers-reduced-motion: reduce){.lesson-chat__dot{animation:none;opacity:.6}}.destination-art{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:var(--mk-surface-2)}.destination-art__img{width:100%;height:100%;object-fit:cover;display:block}.destination-art__poster{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 90% at 18% 12%,var(--mk-coral-soft),transparent 60%),linear-gradient(160deg,var(--mk-surface-2) 0%,var(--mk-surface) 100%)}.destination-art__veil{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.32) 100%)}.course-card-item{display:flex}.course-card{display:flex;flex-direction:column;width:100%;padding:0;border:none;border-radius:var(--mosaic-card-radius);background:var(--mosaic-card-bg);box-shadow:var(--mosaic-card-shadow);cursor:pointer;text-align:left;color:var(--board-ink);overflow:hidden;transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.course-card:hover{transform:translateY(var(--mosaic-card-hover-lift))}.course-card:focus-visible{outline:2px solid var(--color-live);outline-offset:2px}.course-card__art{position:relative;display:block;width:100%;height:var(--course-art-height)}.course-card__city{position:absolute;left:var(--space-3);bottom:var(--space-2);padding:3px 9px;border-radius:var(--radius-pill);background:var(--course-city-veil);color:var(--course-city-ink);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.3px;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.course-card__soon-pill{position:absolute;right:var(--space-3);top:var(--space-3);padding:4px 10px;border-radius:var(--radius-pill);background:#ffffffe6;color:var(--board-ink-soft);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.6px;text-transform:uppercase}.course-card__body{display:flex;align-items:center;gap:var(--space-3);padding:var(--mosaic-card-pad)}.course-card__flag{display:block;line-height:0;flex-shrink:0}.course-card__flag>svg{width:var(--mosaic-flag-size);height:auto;border-radius:var(--flag-radius);box-shadow:0 0 0 1px var(--flag-hairline)}.course-card__text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.course-card__title{font-size:var(--mosaic-title-size);font-weight:var(--weight-bold)}.course-card__sub{font-size:var(--mosaic-sub-size);color:var(--board-ink-soft)}.course-card__levels{font-size:var(--text-xs);color:var(--board-live-ink);font-weight:var(--weight-medium)}.course-card__enter{flex-shrink:0;font-size:var(--mosaic-sub-size);font-weight:var(--weight-bold);color:var(--board-live-ink);opacity:0;transform:translate(-4px);transition:opacity var(--transition-normal),transform var(--transition-normal)}.course-card:hover .course-card__enter,.course-card:focus-visible .course-card__enter{opacity:1;transform:translate(0)}.course-card--soon{cursor:default}.course-card--soon .course-card__art{filter:saturate(.75)}.course-card--soon:hover{transform:none}.course-card--soon .course-card__title,.course-card--soon .course-card__sub{color:var(--board-known-ink)}.course-card--locked{cursor:default}.course-card--locked .course-card__art{filter:saturate(.7)}.course-card--locked:hover{transform:none}.course-card--locked:hover .course-card__art{filter:none}.course-card__locked-pill{position:absolute;right:var(--space-3);top:var(--space-3);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--fixed-coral-on-light-soft);color:var(--fixed-coral-on-light-ink);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase}@media (pointer: coarse){.course-card__city,.course-card__levels,.course-card__locked-pill{font-size:var(--mk-text-xs)}}@media (prefers-reduced-motion: reduce){.course-card{transition:none}.course-card:hover{transform:none}.course-card__enter{transition:none}}.course-gallery{display:flex;flex-direction:column;gap:var(--gallery-gap);width:min(100%,var(--gallery-max-w));max-height:100dvh;overflow-y:auto;scrollbar-width:none;padding-block:var(--gallery-pad);-webkit-mask-image:linear-gradient(to bottom,transparent 0,var(--mask-fill) var(--gallery-fade),var(--mask-fill) calc(100% - var(--gallery-fade)),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,var(--mask-fill) var(--gallery-fade),var(--mask-fill) calc(100% - var(--gallery-fade)),transparent 100%)}.course-gallery::-webkit-scrollbar{display:none}.course-gallery__search{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);min-height:var(--touch-target);border-radius:var(--radius-pill);background:var(--mosaic-card-bg);box-shadow:var(--mosaic-card-shadow);color:var(--board-ink)}.course-gallery__search-icon{color:var(--board-ink-soft);flex-shrink:0}.course-gallery__search-input{flex:1;border:none;background:transparent;color:var(--board-ink);font-size:var(--mosaic-sub-size);outline:none}.course-gallery__search-input::placeholder{color:var(--color-fg-faint)}.course-gallery__search-clear{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--board-ink-soft);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-pill)}.course-gallery__search-clear:focus-visible{outline:2px solid var(--color-live);outline-offset:2px}.course-gallery__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--mosaic-card-min),1fr));gap:var(--mosaic-gap);list-style:none;margin:0;padding:0;scroll-snap-type:y proximity}.course-gallery__grid>.course-card-item{scroll-snap-align:start}.course-gallery__empty{color:var(--board-ink-soft);font-size:var(--mosaic-sub-size);text-align:center;padding:var(--space-6)}.onboarding-node{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);--onboarding-rail-h: calc(var(--space-8) + var(--space-6));--onboarding-rail-w: 3px;margin:0 auto var(--space-8);padding:var(--space-6) var(--space-5) var(--space-7);max-width:640px;border:1px solid var(--board-rule);border-radius:var(--panel-radius);background:#fff;box-shadow:var(--elevation-2);overflow:visible}.onboarding-node__halos{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;overflow:hidden;background:radial-gradient(70% 70% at 8% -20%,var(--mk-halo-coral),transparent 70%),radial-gradient(65% 65% at 96% 0%,var(--mk-halo-lila),transparent 70%);opacity:.6}.onboarding-node__head{position:relative;z-index:1;display:flex;align-items:center;gap:var(--space-3)}.onboarding-node__step{display:grid;place-items:center;width:var(--touch-target);height:var(--touch-target);flex:0 0 auto;border-radius:50%;background:var(--fixed-coral-on-light-soft);color:var(--fixed-coral-on-light-ink);font-size:var(--text-xl);font-weight:var(--weight-bold)}.onboarding-node.is-done .onboarding-node__step{background:var(--fixed-live-on-light-soft);color:var(--fixed-live-on-light-ink)}.onboarding-node.is-next .onboarding-node__step{animation:onboarding-pulse 2.4s ease-in-out infinite}@keyframes onboarding-pulse{0%,to{box-shadow:0 0 0 0 var(--fixed-coral-on-light-soft)}50%{box-shadow:0 0 0 8px transparent}}.onboarding-node__titles{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.onboarding-node__eyebrow{font-size:var(--mk-text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fixed-coral-on-light-ink)}.onboarding-node.is-done .onboarding-node__eyebrow{color:var(--fixed-live-on-light-ink)}.onboarding-node__title{margin:0;font-size:var(--mk-display-md);line-height:var(--leading-tight);color:var(--board-ink)}.onboarding-node__sub{position:relative;z-index:1;max-width:48ch;margin:0;font-size:var(--text-lg);line-height:var(--leading-normal);color:var(--board-ink-soft)}.onboarding-node__progress{position:relative;z-index:1;display:flex;flex-direction:column;gap:var(--space-2);width:100%;max-width:380px}.onboarding-node__bar{height:var(--space-2);border-radius:var(--radius-pill);background:var(--board-rule);overflow:hidden}.onboarding-node__bar>span{display:block;height:100%;border-radius:inherit;background:var(--fixed-coral-on-light);transition:width var(--mk-dur-slow) var(--mk-ease)}.onboarding-node__count{font-size:var(--text-md);color:var(--board-ink-faint)}.onboarding-node__warn{position:relative;z-index:1;margin:0;max-width:44ch;font-size:var(--text-md);line-height:var(--leading-normal);color:var(--fixed-warning-on-light)}.onboarding-node__cta{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-target-lg);padding:var(--space-3) var(--space-6);border:0;border-bottom:var(--push-depth) solid var(--push-coral-edge);border-radius:var(--push-radius);background:var(--push-coral-bg);color:var(--push-coral-ink);font:inherit;font-size:var(--text-xl);font-weight:var(--weight-bold);cursor:pointer;transition:transform var(--transition-fast),background var(--transition-fast)}.onboarding-node__cta:hover:not(:disabled){background:var(--push-coral-edge)}.onboarding-node__cta:active:not(:disabled){transform:translateY(var(--push-depth));border-bottom-width:0}.onboarding-node__cta:disabled{opacity:.65;cursor:default}.onboarding-node__cta:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:3px}.onboarding-node.is-done .onboarding-node__cta{border-bottom-color:var(--push-ghost-edge);background:var(--push-ghost-bg);color:var(--board-ink);font-size:var(--text-lg)}.onboarding-node__rail{position:absolute;left:50%;bottom:calc(var(--onboarding-rail-h) * -1);width:var(--onboarding-rail-w);height:var(--onboarding-rail-h);transform:translate(-50%);background:linear-gradient(to bottom,var(--fixed-coral-on-light) 0%,var(--board-rule) 100%)}.onboarding-node.is-done .onboarding-node__rail{background:linear-gradient(to bottom,var(--fixed-live-on-light) 0%,var(--fixed-live-on-light-soft) 100%)}.onboarding-node__hint{position:relative;z-index:1;margin:0;max-width:44ch;font-size:var(--text-md);line-height:var(--leading-normal);color:var(--board-ink-faint)}@media (max-width: 640px){.onboarding-node{--onboarding-rail-h: calc(var(--space-7) + var(--space-6));padding:var(--space-5) var(--space-4) var(--space-6);margin-bottom:var(--space-7)}.onboarding-node__head{flex-direction:column;gap:var(--space-2)}.onboarding-node__titles{align-items:center;text-align:center}.onboarding-node__cta{width:100%}}@media (prefers-reduced-motion: reduce){.onboarding-node.is-next .onboarding-node__step{animation:none}.onboarding-node__bar>span,.onboarding-node__cta{transition:none}}.lab-sidebar{flex:none;width:var(--lab-sidebar-w);align-self:stretch;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--lab-sidebar-pad);border-right:1px solid var(--lab-sidebar-border);background:var(--lab-sidebar-bg);backdrop-filter:blur(var(--lab-sidebar-blur));-webkit-backdrop-filter:blur(var(--lab-sidebar-blur));color:var(--lab-sidebar-ink);transition:width var(--lab-sidebar-transition);overflow:hidden}.lab-sidebar--collapsed{width:var(--lab-sidebar-w-collapsed);padding-left:var(--space-2);padding-right:var(--space-2)}.lab-sidebar__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:var(--touch-target)}.lab-sidebar--collapsed .lab-sidebar__head{justify-content:center}.lab-sidebar__title{font-size:var(--lab-sidebar-title-size);font-weight:var(--weight-bold);letter-spacing:var(--tracking-ui);text-transform:uppercase;color:var(--lab-sidebar-ink-active);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lab-sidebar__toggle{flex:none;display:inline-flex;align-items:center;justify-content:center;width:var(--touch-target);height:var(--touch-target);border:none;background:transparent;color:var(--lab-sidebar-ink);cursor:pointer;border-radius:var(--lab-sidebar-radius);transition:color var(--transition-fast),background var(--transition-fast)}.lab-sidebar__toggle:hover{color:var(--lab-sidebar-ink-active);background:var(--lab-sidebar-item-hover)}.lab-sidebar__toggle:focus-visible{outline:2px solid var(--color-live);outline-offset:-2px}.lab-sidebar__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--lab-sidebar-gap)}.lab-sidebar__item{position:relative;width:100%;display:flex;align-items:center;gap:var(--space-3);min-height:var(--touch-target);padding:0 var(--space-3);border:none;border-radius:var(--lab-sidebar-radius);background:transparent;color:var(--lab-sidebar-ink);font:inherit;font-size:var(--lab-sidebar-item-size);text-align:left;cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.lab-sidebar--collapsed .lab-sidebar__item{justify-content:center;padding:0}.lab-sidebar__item:hover{color:var(--lab-sidebar-ink-active);background:var(--lab-sidebar-item-hover)}.lab-sidebar__item:focus-visible{outline:2px solid var(--color-live);outline-offset:-2px}.lab-sidebar__icon{flex:none}.lab-sidebar__label{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lab-sidebar__item.is-active{color:var(--lab-sidebar-ink-active);background:var(--lab-sidebar-item-bg-active);font-weight:var(--weight-medium)}.lab-sidebar__item.is-active:before{content:"";position:absolute;left:0;top:20%;bottom:20%;width:2px;border-radius:var(--radius-pill);background:var(--lab-sidebar-accent)}.lab-sidebar--collapsed .lab-sidebar__item.is-active:before{display:none}.lab-sidebar__item.is-soon{cursor:default;opacity:.55}.lab-sidebar__item.is-soon:hover{background:transparent;color:var(--lab-sidebar-ink)}.lab-sidebar__soon{font-size:var(--text-2xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--lab-sidebar-ink)}@media (max-width: 768px){.lab-sidebar,.lab-sidebar--collapsed{width:var(--lab-sidebar-w-collapsed);padding-left:var(--space-2);padding-right:var(--space-2)}.lab-sidebar__title,.lab-sidebar__label,.lab-sidebar__toggle{display:none}.lab-sidebar__head{min-height:var(--space-4)}.lab-sidebar__item{justify-content:center;padding:0}.lab-sidebar__item.is-active:before{display:none}}.insights{width:100%;min-width:0;overflow-x:auto}.insights__table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:var(--text-lg)}.insights__caption{caption-side:top;text-align:left;padding-bottom:var(--space-4);display:flex;flex-direction:column;gap:var(--space-1)}.insights__title{font-family:var(--font-display);font-size:var(--text-xl);color:var(--board-ink);line-height:var(--leading-tight)}.insights__sub{font-size:var(--text-lg);color:var(--board-ink-soft)}.insights__th{padding:var(--insights-cell-pad-y) var(--insights-cell-pad-x);text-align:left;font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--board-ink-faint);border-bottom:1px solid var(--board-rule)}.insights__th--value{width:var(--insights-value-col)}.insights__group+.insights__group .insights__lesson-th{padding-top:var(--insights-lesson-gap)}.insights__lesson-th{padding:0;text-align:left;font-weight:var(--weight-regular)}.insights__toggle{width:100%;display:flex;align-items:center;gap:var(--space-2);padding:var(--insights-lesson-pad-y) var(--insights-cell-pad-x);background:var(--insights-lesson-bg);border:0;border-radius:var(--radius-sm);color:var(--board-ink);font:inherit;text-align:left;cursor:pointer;transition:background var(--transition-fast)}.insights__toggle:hover{background:var(--color-live-faint)}.insights__toggle:focus-visible{outline:2px solid var(--color-live);outline-offset:-2px}.insights__chevron{flex:none;color:var(--board-ink-faint);transition:transform var(--transition-fast)}.insights__chevron.is-open{transform:rotate(180deg)}.insights__lesson-name{font-weight:var(--weight-medium);color:var(--board-ink)}.insights__lesson-summary{margin-left:auto;font-size:var(--text-sm);color:var(--board-ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap}.insights__metric{padding:var(--insights-cell-pad-y) var(--insights-cell-pad-x);text-align:left;font-weight:var(--weight-regular);color:var(--board-ink-soft);border-bottom:1px solid var(--board-rule);vertical-align:baseline}.insights__detail{display:block;margin-top:var(--space-1);font-size:var(--text-sm);color:var(--board-ink-faint)}.insights__value{padding:var(--insights-cell-pad-y) var(--insights-cell-pad-x);color:var(--board-ink);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;border-bottom:1px solid var(--board-rule);vertical-align:baseline}.insights__row.is-notice .insights__metric,.insights__row.is-notice .insights__value{background:var(--board-live-soft)}.insights__row.is-notice .insights__metric{box-shadow:inset 3px 0 0 0 var(--board-live)}.insights__unavailable{font-weight:var(--weight-regular);font-style:italic;color:var(--board-ink-faint)}.insights__empty{margin:0;font-size:var(--text-lg);color:var(--board-ink-faint)}@media (max-width: 640px){.insights__table{font-size:var(--text-md)}.insights__th--value{width:auto}.insights__lesson-summary{display:none}}.lab-progress{width:100%;max-width:var(--lab-progress-max-w);display:flex;flex-direction:column;gap:var(--space-6)}.lab-progress__head{display:flex;flex-direction:column;gap:var(--space-1)}.lab-progress__eyebrow{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);letter-spacing:var(--tracking-ui);text-transform:uppercase;color:var(--color-live)}.lab-progress__title{margin:0;font-family:var(--font-display);font-size:clamp(26px,3.4vw,38px);color:var(--color-fg-strong);line-height:var(--leading-tight)}.lab-progress__sub{margin:0;font-size:var(--text-lg);color:var(--color-fg-subtle);max-width:var(--container-max)}.lab-progress__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.lab-progress__card{width:100%;display:flex;align-items:center;gap:var(--space-4);padding:var(--lab-progress-card-pad);border:1px solid var(--board-frame);border-radius:var(--board-radius);background:var(--board-glass-bg);backdrop-filter:blur(var(--board-glass-blur));-webkit-backdrop-filter:blur(var(--board-glass-blur));color:var(--board-ink);font:inherit;text-align:left;cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast)}.lab-progress__card:hover{transform:translateY(var(--mosaic-card-hover-lift));border-color:var(--board-live)}.lab-progress__card:focus-visible{outline:2px solid var(--color-live);outline-offset:2px}.lab-progress__flag{flex:none;width:var(--mosaic-flag-size);border-radius:var(--flag-radius);overflow:hidden;box-shadow:0 0 0 var(--space-px) var(--flag-hairline);line-height:0}.lab-progress__flag svg{display:block;width:100%;height:auto}.lab-progress__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-2)}.lab-progress__name{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--mosaic-title-size);font-weight:var(--weight-bold);color:var(--board-ink)}.lab-progress__check{color:var(--grammar-correct-ink)}.lab-progress__track{width:100%;height:var(--lab-progress-track-h);border-radius:var(--radius-pill);background:var(--board-rule);overflow:hidden}.lab-progress__fill{display:block;height:100%;border-radius:inherit;background:var(--lab-progress-fill);transition:width var(--transition-normal)}.lab-progress__count{font-size:var(--text-sm);color:var(--board-ink-soft);font-variant-numeric:tabular-nums}.lab-progress__empty{font-size:var(--text-sm);color:var(--board-ink-faint)}.lab-progress__insights{margin-top:var(--space-2);padding:var(--lab-progress-card-pad);border:1px solid var(--board-frame);border-radius:var(--board-radius);background:var(--board-glass-bg);backdrop-filter:blur(var(--board-glass-blur));-webkit-backdrop-filter:blur(var(--board-glass-blur))}@media (max-width: 768px){.lab-progress__card{padding:var(--space-3)}}.waldo-dock{position:fixed;right:var(--waldo-dock-edge);bottom:var(--waldo-dock-edge);z-index:var(--z-controls);display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-3);pointer-events:none}.waldo-dock__bubble,.waldo-dock__orb{pointer-events:auto}.waldo-dock__bubble{position:relative;max-width:240px;padding:var(--space-4) var(--space-5);border-radius:var(--mk-r-card);background:var(--mk-surface);border:1px solid var(--mk-border-soft);box-shadow:var(--mk-shadow-card);animation:dock-pop var(--mk-dur) var(--mk-ease) both}.waldo-dock__bubble:after{content:"";position:absolute;right:28px;bottom:-7px;width:14px;height:14px;background:var(--mk-surface);border-right:1px solid var(--mk-border-soft);border-bottom:1px solid var(--mk-border-soft);transform:rotate(45deg)}.waldo-dock__close{position:absolute;top:0;right:0;display:inline-flex;align-items:center;justify-content:center;width:var(--touch-target);height:var(--touch-target);border:none;background:transparent;color:var(--mk-ink-subtle);font-size:var(--text-2xl, 18px);line-height:1;cursor:pointer;padding:0;touch-action:manipulation}.waldo-dock__close:hover{color:var(--mk-ink)}.waldo-dock__close:focus-visible{outline:2px solid var(--color-live);outline-offset:-4px;border-radius:var(--radius-sm)}.waldo-dock__hello{margin:0 0 2px;font-weight:700;font-size:var(--mk-text-sm);color:var(--mk-ink)}.waldo-dock__role{margin:0 0 var(--space-1);font-size:var(--mk-text-xs, var(--text-xs));line-height:1.4;color:var(--mk-ink-subtle)}.waldo-dock__prompt,.waldo-dock__line{margin:0;font-size:var(--mk-text-sm);line-height:1.45;color:var(--mk-ink-muted)}.waldo-dock__orb{position:relative;width:var(--waldo-dock-orb);height:var(--waldo-dock-orb);padding:0;border:none;border-radius:var(--mk-r-pill);background:transparent;cursor:pointer;animation:dock-float 5s var(--mk-ease) infinite;transition:transform var(--mk-dur) var(--mk-ease)}.waldo-dock__orb:before{content:"";position:absolute;top:8%;right:8%;bottom:8%;left:8%;border-radius:50%;background:radial-gradient(circle at 50% 50%,#1ed6c657,#1ed6c600 70%);filter:blur(6px);z-index:0}.waldo-dock__orb:hover,.waldo-dock__orb--active{transform:translateY(-3px) scale(1.05)}.waldo-dock__orb:focus-visible{outline:2px solid var(--mk-live-deep);outline-offset:4px}.waldo-dock__img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 10px 20px rgba(14,158,144,.45))}.waldo-dock__live{position:absolute;right:10px;bottom:12px;z-index:2;width:16px;height:16px;border-radius:var(--mk-r-pill);background:var(--mk-listening);border:2.5px solid #fff;box-shadow:0 0 8px #66dca8b3;animation:dock-live 2.4s var(--mk-ease) infinite}@keyframes dock-pop{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes dock-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes dock-live{0%,to{box-shadow:0 0 #66dca880}50%{box-shadow:0 0 0 6px #66dca800}}@media (max-width: 768px){.waldo-dock{bottom:var(--waldo-dock-edge-mobile);right:var(--space-3)}.waldo-dock__orb{width:var(--waldo-dock-orb-mobile);height:var(--waldo-dock-orb-mobile)}.waldo-dock__bubble{max-width:min(240px,calc(100vw - var(--space-8)))}}@media (prefers-reduced-motion: reduce){.waldo-dock__bubble,.waldo-dock__orb,.waldo-dock__live{animation:none}.waldo-dock__orb:hover,.waldo-dock__orb--active{transform:none}}.account-chip{position:fixed;top:clamp(12px,2vw,24px);right:clamp(12px,2vw,24px);z-index:20}.account-chip__trigger{display:inline-flex;align-items:center;gap:var(--space-2);padding:5px 12px 5px 5px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--mosaic-card-bg);box-shadow:var(--elevation-1);color:var(--board-ink);font-size:var(--text-md);font-weight:var(--weight-medium);cursor:pointer;max-width:220px}.account-chip__trigger:focus-visible{outline:2px solid var(--color-live);outline-offset:2px}.account-chip__avatar{width:28px;height:28px;border-radius:var(--radius-pill);object-fit:cover;flex-shrink:0}.account-chip__avatar--initial{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(150deg,var(--mk-live) 0%,var(--mk-live-deep) 100%);color:var(--mk-on-live);font-weight:var(--weight-bold)}.account-chip__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-chip__menu{position:absolute;top:calc(100% + var(--space-2));right:0;min-width:160px;padding:var(--space-1);border-radius:var(--radius-lg);background:var(--mosaic-card-bg);box-shadow:var(--elevation-2);border:1px solid var(--color-border)}.account-chip__item{display:block;width:100%;padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-md);background:transparent;color:var(--board-ink);font-size:var(--text-md);text-align:left;cursor:pointer}.account-chip__item:hover{background:var(--color-surface-hover)}@media (max-width: 768px){.account-chip{display:none}}.menu-sheet__group{margin:var(--space-4) 0 var(--space-2);font-size:var(--menusheet-group-size);font-weight:var(--weight-medium);letter-spacing:var(--menusheet-group-tracking);text-transform:uppercase;color:var(--color-fg-subtle)}.menu-sheet nav>.menu-sheet__group:first-child{margin-top:0}.menu-sheet__list{margin:0;padding:0;list-style:none}.menu-sheet__row{display:flex;align-items:center;gap:var(--menusheet-row-gap);width:100%;min-height:var(--menusheet-row-h);padding:var(--space-2) var(--space-3);border:none;border-radius:var(--menusheet-row-radius);background:transparent;color:var(--color-fg);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--transition-fast)}.menu-sheet__row:active{background:var(--menusheet-row-hover)}.menu-sheet__row:focus-visible{outline:2px solid var(--color-live);outline-offset:2px}.menu-sheet__row.is-active{background:var(--color-surface)}.menu-sheet__row.is-active .menu-sheet__label{font-weight:var(--weight-bold);color:var(--color-fg-strong)}.menu-sheet__icon{flex:none;display:grid;place-items:center;width:var(--menusheet-icon);height:var(--menusheet-icon);color:var(--color-fg-muted)}.menu-sheet__text{display:flex;flex-direction:column;gap:var(--space-px);min-width:0;flex:1}.menu-sheet__label{font-size:var(--text-lg);font-weight:var(--weight-medium);line-height:var(--leading-tight)}.menu-sheet__desc{font-size:var(--menusheet-desc-size);line-height:var(--leading-normal);color:var(--color-fg-subtle)}.menu-sheet__chevron{flex:none;color:var(--color-fg-subtle)}.menu-sheet__account{display:flex;align-items:center;gap:var(--menusheet-row-gap);padding:var(--space-2) var(--space-3)}.menu-sheet__avatar{flex:none;width:var(--menusheet-avatar);height:var(--menusheet-avatar);border-radius:var(--radius-pill);object-fit:cover}.menu-sheet__avatar--initial{display:grid;place-items:center;background:linear-gradient(150deg,var(--mk-live) 0%,var(--mk-live-deep) 100%);color:var(--mk-on-live);font-size:var(--text-lg);font-weight:var(--weight-bold)}.menu-sheet__who{display:flex;flex-direction:column;gap:var(--space-px);min-width:0}.menu-sheet__name{font-size:var(--text-lg);font-weight:var(--weight-medium);color:var(--color-fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-sheet__mail{font-size:var(--menusheet-desc-size);color:var(--color-fg-subtle);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-sheet__row--quiet .menu-sheet__label{font-weight:var(--weight-regular);color:var(--color-fg-muted)}.menu-sheet__empty{margin:0;padding:var(--space-2) var(--space-3);font-size:var(--menusheet-desc-size);color:var(--color-fg-subtle)}@media (prefers-reduced-motion: reduce){.menu-sheet__row{transition:none}}.mobfoot{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-controls);padding-bottom:var(--mobfoot-inset);background:var(--mobfoot-bg);backdrop-filter:blur(var(--mobfoot-blur));-webkit-backdrop-filter:blur(var(--mobfoot-blur));border-top:1px solid var(--mobfoot-border);box-shadow:var(--mobfoot-shadow)}.mobfoot__row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;justify-items:center;gap:var(--space-2);min-height:var(--mobfoot-h);margin:0;padding:0 var(--space-3);list-style:none}.mobfoot__cell{display:flex;justify-content:center;min-width:0}.mobfoot__cell[data-slot=center]{overflow:visible}.mobfoot__cell[data-slot=left]{justify-self:start}.mobfoot__cell[data-slot=right]{justify-self:end}.mobfoot__tab,.mobfoot__action,.mobfoot__menu{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:var(--touch-target-lg);min-height:var(--touch-target);padding:var(--space-1) var(--space-2);background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-fg-subtle);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast)}.mobfoot__tab:active,.mobfoot__menu:active,.mobfoot__action:active:not(:disabled){transform:scale(.95);background:var(--color-surface)}.mobfoot__menu{min-width:var(--mobfoot-menu-size);color:var(--color-fg-muted)}.mobfoot__menu .mobfoot__icon-wrap{width:var(--mobfoot-menu-icon);height:var(--mobfoot-menu-icon)}.mobfoot__menu[aria-expanded=true]{color:var(--color-fg-strong);background:var(--color-surface)}.mobfoot__tab.is-active{color:var(--color-fg-strong)}.mobfoot__tab.is-active .mobfoot__icon-wrap:before{content:"";position:absolute;inset:calc(-1 * var(--space-2)) calc(-1 * var(--space-3));border-radius:var(--radius-pill);background:var(--color-live-soft);z-index:-1}.mobfoot__action:disabled{opacity:.4;cursor:default}.mobfoot__tab:focus-visible,.mobfoot__action:focus-visible,.mobfoot__menu:focus-visible{outline:2px solid var(--color-live);outline-offset:2px}.mobfoot__icon-wrap{position:relative;display:grid;place-items:center;width:var(--mobfoot-icon);height:var(--mobfoot-icon)}.mobfoot__label{font-size:var(--mobfoot-label-size);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(var(--touch-target-lg) * 1.6)}.mobfoot__tab.is-active .mobfoot__label{font-weight:var(--weight-bold)}.mobfoot__badge{position:absolute;top:calc(var(--mobfoot-badge-size) * -.4);right:calc(var(--mobfoot-badge-size) * -.55);min-width:var(--mobfoot-badge-size);height:var(--mobfoot-badge-size);padding:0 var(--space-1);display:grid;place-items:center;border-radius:var(--radius-pill);background:var(--color-live);color:var(--color-bg);font-size:var(--text-2xs);font-weight:var(--weight-bold);line-height:1}.mobfoot__sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media (min-width: 769px){.mobfoot{display:none}}@media (prefers-reduced-motion: reduce){.mobfoot__tab:active,.mobfoot__menu:active,.mobfoot__action:active:not(:disabled){transform:none}}.course-mosaic{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;display:flex;flex-direction:column;box-sizing:border-box}.course-mosaic__shell{flex:1;min-height:0;display:flex;align-items:stretch}.course-mosaic__main{position:relative;flex:1;min-width:0;overflow-y:auto;display:flex;flex-direction:column;align-items:center;justify-content:safe center;gap:var(--space-6);padding-inline:var(--gallery-pad);padding-block:var(--space-8);box-sizing:border-box}.course-mosaic__header{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center;max-width:640px}.course-mosaic__eyebrow{font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);color:var(--color-live)}.course-mosaic__title{margin:0;font-family:var(--font-display);font-size:clamp(30px,4vw,46px);font-weight:600;line-height:var(--leading-tight);letter-spacing:-.015em;color:var(--color-fg-strong)}.course-mosaic__sub{margin:0;font-size:var(--text-lg);line-height:var(--leading-normal);color:var(--color-fg-muted)}.course-mosaic__base-select{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);font-size:var(--text-md);color:var(--mk-ink-subtle)}.course-mosaic__base-select select{min-height:var(--touch-target);padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--mk-frost-border);background:var(--mk-frost-bg);color:var(--mk-ink);font-size:var(--text-md)}@media (max-width: 768px){.course-mosaic__shell>.lab-sidebar{display:none}.course-mosaic__main{justify-content:flex-start;padding-bottom:var(--mobfoot-clearance);overscroll-behavior:contain}}.pull{position:absolute;top:0;left:50%;z-index:var(--z-overlay);display:flex;align-items:center;gap:var(--pull-gap);padding:var(--space-1) var(--space-3);border:1px solid var(--pull-border);border-radius:var(--radius-pill);background:var(--pull-bg);backdrop-filter:blur(var(--pull-blur));-webkit-backdrop-filter:blur(var(--pull-blur));box-shadow:var(--pull-shadow);color:var(--pull-ink);transform:translate(-50%,calc(var(--pull-rest-y) + var(--pull-offset, 0px)));opacity:var(--pull-progress, 0);pointer-events:none}.pull--pulling,.pull--ready{transition:none}.pull--idle,.pull--refreshing{transition:transform var(--transition-normal),opacity var(--transition-normal)}.pull--idle{opacity:0}.pull--ready{color:var(--pull-ready-ink);border-color:var(--pull-ready-ink)}.pull--refreshing{color:var(--pull-ready-ink);opacity:1}.pull__dial{display:grid;place-items:center;width:var(--pull-dial-size);height:var(--pull-dial-size)}.pull__icon{transform:rotate(calc(var(--pull-progress, 0) * 180deg))}.pull__icon.is-spinning{animation:pull-spin var(--pull-spin-dur) linear infinite}@keyframes pull-spin{to{transform:rotate(360deg)}}.pull__label{font-size:var(--pull-label-size);white-space:nowrap}@media (prefers-reduced-motion: reduce){.pull__icon,.pull__icon.is-spinning{animation:none;transform:none}.pull{transition:none}}.pull-btn{display:grid;place-items:center;width:var(--lessonarrow-size);height:var(--lessonarrow-size);border:1px solid var(--lessonarrow-border);border-radius:var(--radius-pill);background:var(--lessonarrow-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));color:var(--lessonarrow-ink);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast);-webkit-tap-highlight-color:transparent}.pull-btn:hover{color:var(--lessonarrow-ink-hover);border-color:var(--color-live)}.pull-btn:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.pull-btn[aria-busy=true]{color:var(--pull-ready-ink);border-color:var(--pull-ready-ink)}.pull-btn .is-spinning{animation:pull-spin var(--pull-spin-dur) linear infinite}@media (prefers-reduced-motion: reduce){.pull-btn .is-spinning{animation:none}}.syllabus{position:relative;isolation:isolate;height:100dvh;min-height:100dvh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;width:100%;padding:var(--space-10) var(--gallery-pad) var(--space-12);display:flex;flex-direction:column;align-items:center;gap:var(--space-6)}.syllabus:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:repeating-linear-gradient(0deg,var(--orb-brick-line) 0 1px,transparent 1px var(--orb-brick-h)),repeating-linear-gradient(90deg,var(--orb-brick-line) 0 1px,transparent 1px var(--orb-brick-w));-webkit-mask-image:radial-gradient(130% 100% at 50% 30%,var(--mask-fill) 55%,transparent 92%);mask-image:radial-gradient(130% 100% at 50% 30%,var(--mask-fill) 55%,transparent 92%)}.syllabus__crumbs{width:100%;max-width:var(--syllabus-board-max-w);display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-md)}.syllabus__refresh{margin-left:auto}.syllabus__crumb{color:var(--syllabus-crumb-ink);background:none;border:none;padding:0;font:inherit}.syllabus__crumb--link{cursor:pointer;transition:color var(--transition-fast)}.syllabus__crumb--link:hover{color:var(--color-fg-strong)}.syllabus__crumb--link:focus-visible{outline:2px solid var(--color-live);outline-offset:2px;border-radius:var(--radius-sm)}.syllabus__crumb--active{color:var(--syllabus-crumb-active)}.syllabus__crumb-sep{color:var(--syllabus-crumb-sep)}.syllabus__board{position:relative;width:100%;max-width:var(--syllabus-board-max-w);padding:var(--syllabus-board-pad);display:flex;flex-direction:column;gap:var(--space-7);color:var(--syllabus-ink);background:linear-gradient(155deg,var(--board-veil),transparent 55%),var(--board-glass-bg);backdrop-filter:blur(var(--board-glass-blur)) saturate(var(--board-glass-saturate));-webkit-backdrop-filter:blur(var(--board-glass-blur)) saturate(var(--board-glass-saturate));border:1px solid var(--board-frame);border-top-color:var(--board-frame-top);border-radius:var(--board-radius);box-shadow:var(--board-shadow),inset 0 1px 0 0 var(--board-frame-top),inset 0 0 0 1px var(--board-inner-line),inset 0 -1px 0 0 var(--board-frame-bevel)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.syllabus__board{background:#ffffffe6}}.syllabus__board:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border-radius:inherit;background:var(--board-rainbow);opacity:var(--syllabus-rainbow-op);pointer-events:none}.syllabus__board:after{content:"";position:absolute;left:8%;right:8%;bottom:calc(-1 * var(--board-tray-height) + 2px);height:var(--board-tray-height);border-radius:0 0 var(--radius-md) var(--radius-md);background:linear-gradient(180deg,var(--board-tray-top),var(--board-tray-bottom));box-shadow:0 1px 0 var(--board-tray-sheen) inset,0 2px 5px var(--board-tray-shadow);pointer-events:none}.syllabus__board>*{position:relative;z-index:1}.syllabus__header{display:flex;align-items:center;gap:var(--space-5)}.syllabus__flag{flex:none;width:var(--mosaic-flag-size);border-radius:var(--flag-radius);overflow:hidden;box-shadow:0 0 0 var(--space-px) var(--flag-hairline);line-height:0}.syllabus__flag svg{display:block;width:100%;height:auto}.syllabus__heading{display:flex;flex-direction:column;gap:var(--space-1)}.syllabus__eyebrow{font-size:var(--text-xs);letter-spacing:var(--tracking-ui);text-transform:uppercase;color:var(--syllabus-ink-faint)}.syllabus__title{margin:0;font-size:var(--intro-title-size);font-weight:var(--weight-bold);letter-spacing:var(--display-tracking);color:var(--syllabus-ink);line-height:var(--leading-tight)}.syllabus__sub{margin:0;font-size:var(--text-lg);color:var(--syllabus-ink-soft);max-width:var(--container-max)}.syllabus__track{width:100%;max-width:var(--syllabus-path-max-w);margin:0 auto;display:flex;flex-direction:column;gap:var(--space-3)}.syllabus__track+.syllabus__track{margin-top:var(--space-7)}.syllabus__track-head{display:flex;align-items:center;gap:var(--space-3)}.syllabus__track-code{flex:none;display:grid;place-items:center;min-width:var(--syllabus-track-badge);height:var(--syllabus-track-badge);padding:0 var(--space-2);border-radius:var(--radius-md);background:var(--syllabus-live-soft);color:var(--syllabus-live-ink);font-size:var(--text-lg);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide)}.syllabus__track-text{display:flex;flex-direction:column;gap:2px;min-width:0}.syllabus__track-label{font-size:var(--syllabus-module-size);font-weight:var(--weight-bold);color:var(--syllabus-ink);line-height:var(--leading-tight)}.syllabus__track-meta{font-size:var(--text-sm);color:var(--syllabus-meta-ink)}.syllabus__path{width:100%;max-width:var(--syllabus-path-max-w);margin:0 auto;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--syllabus-gap)}.syllabus__stage{display:flex;flex-direction:column;gap:var(--space-2);padding-bottom:var(--syllabus-gap);border-bottom:var(--space-px) solid var(--syllabus-rule-board)}.syllabus__stage:last-child{border-bottom:none;padding-bottom:0}.syllabus__node--grammar{--cell-accent: var(--syllabus-accent-grammar);--cell-accent-soft: var(--syllabus-accent-grammar-soft)}.syllabus__node--speaking{--cell-accent: var(--syllabus-accent-speaking);--cell-accent-soft: var(--syllabus-accent-speaking-soft)}.syllabus__node--listening{--cell-accent: var(--syllabus-accent-listening);--cell-accent-soft: var(--syllabus-accent-listening-soft)}.syllabus__level{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2);padding:0 var(--space-1) var(--space-1)}.syllabus__level-tag{font-size:var(--syllabus-level-size);font-weight:var(--weight-bold);color:var(--syllabus-ink);letter-spacing:var(--display-tracking);line-height:var(--leading-tight)}.syllabus__level-title{font-size:var(--text-sm);color:var(--syllabus-ink-faint)}.syllabus__nodes{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.syllabus__step{position:relative}.syllabus__step:before{content:"";position:absolute;left:calc(var(--syllabus-row-pad) + var(--syllabus-node-icon) / 2 - var(--syllabus-rail-w) / 2);top:50%;bottom:calc(-1 * var(--space-2));width:var(--syllabus-rail-w);background:var(--syllabus-rail);border-radius:var(--radius-pill);pointer-events:none}.syllabus__step:last-child:before{display:none}.syllabus__stage--done .syllabus__step:before{background:var(--syllabus-rail-done)}.syllabus__node{position:relative;width:100%;display:flex;align-items:center;gap:var(--space-3);min-height:var(--touch-target-lg);padding:var(--syllabus-row-pad);border:1px solid var(--syllabus-node-border);border-bottom-width:var(--syllabus-node-depth);border-radius:var(--syllabus-node-radius);background:var(--syllabus-node-bg);color:var(--syllabus-ink-soft);text-align:left;font:inherit;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.syllabus__node-chip{position:relative;z-index:1;flex:none;display:grid;place-items:center;width:var(--syllabus-node-icon);height:var(--syllabus-node-icon);border-radius:var(--radius-md);background:var(--cell-accent-soft, var(--board-veil));color:var(--cell-accent, var(--syllabus-ink-faint))}.syllabus__node-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.syllabus__node-kind{display:flex;align-items:baseline;gap:var(--space-2);font-size:var(--text-xs);letter-spacing:var(--syllabus-head-tracking);text-transform:uppercase;color:var(--cell-accent, var(--syllabus-ink-faint))}.syllabus__node-mins{color:var(--syllabus-meta-ink);letter-spacing:normal;text-transform:none}.syllabus__node-label{font-size:var(--syllabus-module-size);font-weight:var(--weight-medium);color:var(--syllabus-ink);line-height:var(--leading-tight)}.syllabus__node-summary{font-size:var(--syllabus-summary-size);color:var(--syllabus-summary-ink);line-height:var(--leading-normal)}.syllabus__node-state{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-1)}.syllabus__badge{flex:none;display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--syllabus-badge-pad);border-radius:var(--radius-pill);background:var(--syllabus-badge-bg);color:var(--syllabus-badge-ink);font-size:var(--text-2xs);letter-spacing:var(--tracking-wide);text-transform:uppercase}.syllabus__node--go{cursor:pointer}.syllabus__node--go:hover{transform:translateY(var(--mosaic-card-hover-lift));border-color:var(--syllabus-live)}.syllabus__node--go:active{transform:translateY(calc(var(--syllabus-node-depth) - 1px));border-bottom-width:1px}.syllabus__node--go:focus-visible{outline:2px solid var(--syllabus-live);outline-offset:2px}.syllabus__node-go{display:inline-flex;align-items:center;color:var(--syllabus-live-ink)}.syllabus__node-opening{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase}.syllabus__node.is-opening{opacity:var(--syllabus-done-row-opacity)}.syllabus__node.is-next{border-color:var(--syllabus-live);box-shadow:0 0 0 3px var(--syllabus-live-soft);animation:syllabus-next-pulse 2.4s ease-in-out infinite}@keyframes syllabus-next-pulse{0%,to{box-shadow:0 0 0 3px var(--syllabus-live-soft)}50%{box-shadow:0 0 0 6px var(--syllabus-next-halo)}}@media (prefers-reduced-motion: reduce){.syllabus__node.is-next{animation:none}}.syllabus__node--soon{cursor:default;background:transparent;border-style:dashed;border-bottom-width:1px}.syllabus__node--soon .syllabus__node-label{color:var(--syllabus-ink-faint);font-weight:var(--weight-regular)}.syllabus__back{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--touch-target);padding:0 var(--space-2) 0 0;border:none;background:none;color:var(--syllabus-back-ink);font:inherit;cursor:pointer;transition:color var(--transition-fast)}.syllabus__back:hover{color:var(--syllabus-back-hover)}.syllabus__back:focus-visible{outline:2px solid var(--color-live);outline-offset:2px;border-radius:var(--radius-sm)}.syllabus__cta{flex:none;margin-left:auto;display:inline-flex;flex-direction:column;align-items:flex-start;min-height:var(--touch-target-lg);padding:var(--syllabus-cta-pad);border:none;border-bottom:var(--push-depth) solid var(--push-live-edge);border-radius:var(--push-radius);background:var(--push-live-bg);color:var(--push-live-ink);font:inherit;cursor:pointer;transition:transform var(--transition-fast),background var(--transition-fast)}.syllabus__cta:hover{background:var(--push-live-edge)}.syllabus__cta:active{transform:translateY(var(--push-depth));border-bottom-width:0}.syllabus__cta:focus-visible{outline:2px solid var(--syllabus-live-ink);outline-offset:2px}.syllabus__cta-label{font-weight:var(--weight-bold)}.syllabus__cta-hint{font-size:var(--text-xs);opacity:.85}.syllabus__all-done{margin:0 0 0 auto;max-width:var(--container-max);font-size:var(--text-lg);color:var(--syllabus-done-ink)}.syllabus__overall{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--syllabus-ink-soft)}.syllabus__overall-track{width:var(--syllabus-overall-w);height:var(--syllabus-overall-h);border-radius:var(--radius-pill);background:var(--syllabus-overall-track);overflow:hidden}.syllabus__overall-fill{display:block;height:100%;border-radius:inherit;background:var(--syllabus-overall-fill);transition:width var(--transition-normal)}.syllabus__overall-count{font-variant-numeric:tabular-nums}.syllabus__stage--done{opacity:var(--syllabus-done-row-opacity)}.syllabus__level-check{margin-left:var(--space-1);color:var(--syllabus-done-ink);vertical-align:middle}.syllabus__badge--done{background:var(--syllabus-done-soft);color:var(--syllabus-done-ink)}.syllabus__node--done .syllabus__node-chip{background:var(--syllabus-done-ink);color:var(--syllabus-node-bg)}.syllabus__node--practiced .syllabus__node-chip{box-shadow:inset 0 0 0 2px var(--syllabus-practiced-ink);color:var(--syllabus-practiced-ink)}.syllabus__badge--practiced{background:var(--syllabus-practiced-soft);color:var(--syllabus-practiced-ink)}.syllabus__level-meta{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-1);font-size:var(--text-xs);color:var(--syllabus-meta-ink)}.syllabus__minutes{display:inline-flex;align-items:center;gap:2px}.syllabus__tools{width:100%;max-width:var(--syllabus-path-max-w);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--syllabus-tool-min),1fr));gap:var(--space-3);padding-top:var(--space-5);border-top:var(--space-px) solid var(--syllabus-rule-board)}.syllabus__tools-label{grid-column:1 / -1;font-size:var(--text-xs);letter-spacing:var(--tracking-ui);text-transform:uppercase;color:var(--syllabus-ink-faint)}.syllabus__tool{display:flex;align-items:center;gap:var(--space-3);min-height:var(--touch-target-lg);padding:var(--syllabus-row-pad);border:1px solid var(--syllabus-node-border);border-bottom-width:var(--syllabus-node-depth);border-radius:var(--syllabus-node-radius);background:var(--syllabus-node-bg);color:var(--syllabus-ink);font:inherit;text-align:left;cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast)}.syllabus__tool:hover{transform:translateY(var(--mosaic-card-hover-lift));border-color:var(--syllabus-live)}.syllabus__tool:active{transform:translateY(calc(var(--syllabus-node-depth) - 1px));border-bottom-width:1px}.syllabus__tool-icon{flex:none;display:grid;place-items:center;width:var(--syllabus-node-icon);height:var(--syllabus-node-icon);border-radius:var(--radius-md);background:var(--syllabus-live-soft);color:var(--syllabus-live-ink)}.syllabus__tool-text{display:flex;flex-direction:column;gap:2px;min-width:0}.syllabus__tool-name{font-size:var(--syllabus-module-size);font-weight:var(--weight-medium);line-height:var(--leading-tight)}.syllabus__tool-desc{font-size:var(--syllabus-summary-size);color:var(--syllabus-summary-ink);line-height:var(--leading-normal)}.syllabus__tool:focus-visible{outline:2px solid var(--color-live);outline-offset:2px}.syllabus__detail{min-height:var(--syllabus-detail-min-h);margin:0;padding:var(--syllabus-row-pad);border-radius:var(--syllabus-cell-radius);background:var(--board-live-soft);color:var(--syllabus-ink-soft);font-size:var(--text-lg);line-height:var(--leading-normal)}@media (max-width: 768px){.syllabus{padding:var(--space-8) var(--space-4) var(--mobfoot-clearance);gap:var(--space-5)}.syllabus:before{opacity:.6}.syllabus__board{padding:var(--space-5);gap:var(--space-6);backdrop-filter:blur(var(--board-glass-blur-mobile, 16px)) saturate(var(--board-glass-saturate));-webkit-backdrop-filter:blur(var(--board-glass-blur-mobile, 16px)) saturate(var(--board-glass-saturate))}.syllabus__crumbs{gap:var(--space-1)}.syllabus__back{white-space:nowrap}.syllabus__crumb,.syllabus__crumb-sep{display:none}.syllabus__header{flex-wrap:wrap;gap:var(--space-3)}.syllabus__eyebrow,.syllabus__sub{display:none}.syllabus__title{font-size:var(--syllabus-title-size-mobile)}.syllabus__cta{margin-left:0;width:100%;align-items:center}.syllabus__all-done{margin-left:0}.syllabus__overall{flex-wrap:wrap}.syllabus__node{padding:var(--space-3)}.syllabus__node-label{font-size:var(--text-xl)}.syllabus__node-state{flex-direction:row;align-items:center}.syllabus__node:not(.is-opening) .syllabus__node-go{display:none}.syllabus__detail{display:none}}.practice-intro{flex:1;width:100%;display:flex;align-items:center;justify-content:center;padding:var(--space-5);animation:intro-fade var(--intro-reveal-dur) ease-out}@keyframes intro-fade{0%{opacity:0}to{opacity:1}}.practice-intro__card{width:100%;max-width:var(--intro-card-max-w);display:flex;flex-direction:column;gap:var(--intro-card-gap);padding:var(--intro-card-pad);color:var(--syllabus-ink);background:linear-gradient(155deg,var(--board-veil),transparent 55%),var(--board-glass-bg);backdrop-filter:blur(var(--board-glass-blur)) saturate(var(--board-glass-saturate));-webkit-backdrop-filter:blur(var(--board-glass-blur)) saturate(var(--board-glass-saturate));border:1px solid var(--board-frame);border-top-color:var(--board-frame-top);border-radius:var(--board-radius);box-shadow:var(--board-shadow);animation:intro-rise var(--intro-reveal-dur) cubic-bezier(.22,1,.36,1)}@keyframes intro-rise{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}.practice-intro__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.practice-intro__step{font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-ui);text-transform:uppercase;color:var(--syllabus-ink-faint)}.practice-intro__dots{display:inline-flex;gap:var(--space-1)}.practice-intro__dot{width:var(--intro-dot-size);height:var(--intro-dot-size);border-radius:50%;background:var(--intro-dot-idle);transition:background var(--transition-normal)}.practice-intro__dot.is-active,.practice-intro__dot.is-done{background:var(--intro-dot-active)}.practice-intro__body{display:flex;align-items:flex-start;gap:var(--space-4)}.practice-intro__orb{flex:none;width:var(--grammar-feedback-orb-size);height:var(--grammar-feedback-orb-size);border-radius:50%;background:radial-gradient(circle at 32% 26%,var(--board-frame-top),transparent 42%),conic-gradient(from 160deg,var(--gorb-rb-1),var(--gorb-rb-2),var(--gorb-rb-3),var(--gorb-rb-4),var(--gorb-rb-5),var(--gorb-rb-6),var(--gorb-rb-1));box-shadow:inset 0 0 10px var(--board-frame-top),0 0 14px var(--color-live-soft)}.practice-intro__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-2)}.practice-intro__title{margin:0;font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--syllabus-ink);line-height:var(--leading-tight)}.practice-intro__chip{align-self:flex-start;padding:var(--syllabus-badge-pad);border-radius:var(--radius-pill);background:var(--syllabus-accent-grammar-soft);color:var(--syllabus-accent-grammar);font-size:var(--text-2xs);letter-spacing:var(--tracking-wide);text-transform:uppercase}.practice-intro__line{margin:0;font-size:var(--text-lg);color:var(--syllabus-ink-soft);line-height:var(--leading-normal)}.practice-intro__rules{list-style:none;margin:var(--space-1) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--intro-rule-gap)}.practice-intro__rule{display:flex;align-items:baseline;gap:var(--space-3)}.practice-intro__rule-answer{flex:none;min-width:4.5em;padding:2px var(--space-2);border-radius:var(--radius-sm);background:var(--board-live-soft);color:var(--board-live-ink);font-family:var(--font-mono);font-size:var(--text-lg);font-weight:var(--weight-bold);text-align:center}.practice-intro__rule-subjects{font-size:var(--text-lg);color:var(--syllabus-ink-soft)}.practice-intro__facts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-lg);color:var(--syllabus-ink-soft)}.practice-intro__facts li{position:relative;padding-left:var(--space-4)}.practice-intro__facts li:before{content:"·";position:absolute;left:var(--space-1);color:var(--board-live);font-weight:var(--weight-bold)}.practice-intro__actions{display:flex;align-items:center;gap:var(--space-2)}.practice-intro__skip{margin-right:auto;border:none;background:none;padding:var(--space-2) 0;color:var(--syllabus-ink-faint);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:color var(--transition-fast)}.practice-intro__skip:hover{color:var(--syllabus-ink)}.practice-intro__btn{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--touch-target);padding:var(--space-2) var(--space-4);border:1px solid var(--board-frame);border-radius:var(--radius-pill);background:var(--board-veil);color:var(--syllabus-ink);font:inherit;cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast)}.practice-intro__btn:hover{transform:translateY(var(--mosaic-card-hover-lift));border-color:var(--board-live)}.practice-intro__btn:focus-visible,.practice-intro__skip:focus-visible{outline:2px solid var(--color-live);outline-offset:2px}.practice-intro__btn--primary{border:none;border-bottom:var(--push-depth) solid var(--push-live-edge);border-radius:var(--push-radius);background:var(--push-live-bg);color:var(--push-live-ink);font-weight:var(--weight-bold)}.practice-intro__btn--primary:hover{background:var(--push-live-edge);transform:none}.practice-intro__btn--primary:active{transform:translateY(var(--push-depth));border-bottom-width:0}@media (prefers-reduced-motion: reduce){.practice-intro,.practice-intro__card{animation:none}.practice-intro__btn:hover{transform:none}}@media (max-width: 768px){.practice-intro{padding:var(--space-4);align-items:flex-start;overflow-y:auto}.practice-intro__card{padding:var(--space-5);margin-top:var(--space-8)}.practice-intro__actions{flex-wrap:wrap}.practice-intro__btn--primary{flex:1;justify-content:center}}@media (max-height: 480px){.practice-intro{align-items:center;padding:var(--space-3)}.practice-intro__card{padding:var(--intro-card-pad-short);gap:var(--intro-card-gap-short);margin-top:0}.practice-intro__orb{width:var(--intro-orb-short);height:var(--intro-orb-short)}.practice-intro__rules{margin-top:0;gap:var(--space-1)}.practice-intro__actions{flex-wrap:nowrap}}.book-audio{display:inline-flex;align-items:center;gap:var(--book-audio-gap);min-height:var(--touch-target);padding:0 var(--space-3);border:none;border-radius:var(--radius-pill);background:var(--book-accent);color:var(--board-ink);font-family:var(--font-display);font-size:var(--book-audio-size);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.book-audio:hover:not(:disabled){transform:translateY(-1px)}.book-audio:focus-visible{outline-offset:3px}.book-audio:disabled{background:var(--book-accent-soft);color:var(--book-accent-ink);cursor:default}.book-audio[aria-pressed=true]{box-shadow:0 0 0 3px var(--book-accent-soft)}.book-audio__glyph{line-height:1}.book-audio__num{font-variant-numeric:tabular-nums}.form-pill{display:inline-block;padding:var(--be-form-pad);border-radius:var(--be-form-radius);font-size:var(--be-form-size);font-weight:var(--be-form-weight);line-height:var(--leading-tight);color:var(--be-form-ink);background:var(--form-pill-fill);white-space:nowrap}.form-pill--neutral{background:transparent;border:1px solid var(--book-table-rule);color:var(--board-ink-soft);font-weight:var(--weight-medium)}.book-form{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--book-grid-rule);border-radius:var(--radius-sm);background:var(--book-grid-bg)}.book-form[data-mode=example]{background:var(--book-accent-soft);border-color:var(--book-accent-rule)}.book-form__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-2);margin:0}.book-form__title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--board-ink)}.book-form__mode{font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-ui);text-transform:uppercase;color:var(--book-accent-ink)}.book-form__rows{margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.book-form__row{display:grid;grid-template-columns:1fr;gap:var(--space-1)}@media (min-width: 560px){.book-form__row{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:center;gap:var(--space-3)}}.book-form__label{margin:0;font-size:var(--text-md);color:var(--board-ink-soft)}.book-form__value{margin:0;min-width:0}.book-form__filled{display:block;padding:var(--space-1) 0;border-bottom:1px solid var(--book-accent-rule);font-size:var(--text-lg);font-weight:var(--weight-medium);color:var(--board-ink)}.book-form__input{width:100%;min-height:var(--book-field-h);padding:0 var(--space-2);border:none;border-bottom:1px solid var(--board-ink-faint);border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:var(--book-field-bg);font-family:inherit;font-size:var(--text-lg);color:var(--board-ink)}.book-form__input:focus-visible{outline-offset:1px;border-bottom-color:var(--book-accent-ink)}.book-plus__term{font-weight:var(--weight-bold);color:var(--book-plus-term-ink)}.book-plus__pairs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--book-plus-gap)}.book-plus__pair{font-size:var(--text-md);color:var(--board-ink)}.book-plus__rules{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--book-plus-pair-gap)}.book-plus__rule{display:flex;flex-direction:column;gap:var(--space-1)}.book-plus__says{font-size:var(--text-md);color:var(--board-ink)}.book-plus__examples{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-1) var(--book-plus-pair-gap)}.book-plus__example{display:flex;align-items:baseline;gap:var(--space-2);font-size:var(--text-md);font-style:italic;color:var(--board-ink-soft)}.book-plus__example:before{content:"";flex:none;width:var(--space-1);height:var(--space-1);border-radius:var(--radius-pill);background:var(--book-accent)}.book-plus__equal{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2);font-size:var(--text-md);color:var(--board-ink)}.book-plus__side{font-weight:var(--weight-medium)}.book-plus__equal-sign{flex:none;font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--book-plus-term-ink)}.book-plus__equal-word{flex:none;font-size:var(--text-2xs);letter-spacing:var(--tracking-ui);text-transform:uppercase;color:var(--board-ink-faint)}.book-plus__span{display:flex;flex-direction:column;gap:var(--book-span-gap);margin-bottom:var(--book-plus-gap)}.book-plus__span-total{align-self:center;font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--book-plus-term-ink)}.book-plus__span-line{height:var(--book-span-cap-h);border-left:var(--book-span-thickness) solid var(--book-span-line);border-right:var(--book-span-thickness) solid var(--book-span-line);background:linear-gradient(var(--book-span-line),var(--book-span-line)) center / 100% var(--book-span-thickness) no-repeat}.book-plus__span-ends{display:flex;justify-content:space-between;font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--board-ink-soft)}.book-plus__lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.book-plus__line{font-size:var(--text-md);color:var(--board-ink)}.book-pair{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.book-pair__turn{display:flex}.book-pair__turn[data-side=theirs]{justify-content:flex-end}.book-pair__bubble{margin:0;max-width:88%;display:flex;flex-direction:column;gap:var(--space-1);padding:var(--book-bubble-pad);border:1px solid var(--book-bubble-mine-border);border-radius:var(--book-bubble-radius);background:var(--book-bubble-mine-bg);font-size:var(--text-lg);color:var(--board-ink)}.book-pair__turn[data-side=mine] .book-pair__bubble{border-bottom-left-radius:var(--radius-sm)}.book-pair__turn[data-side=theirs] .book-pair__bubble{border-color:var(--book-bubble-theirs-border);background:var(--book-bubble-theirs-bg);border-bottom-right-radius:var(--radius-sm)}.book-pair__who{font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-ui);text-transform:uppercase;color:var(--board-ink-faint)}.book-pair__said{min-width:0}.book-pointer{display:inline-flex;align-items:center;gap:var(--space-2);margin:0;min-height:var(--touch-target);padding:var(--space-1) var(--space-3);border:1px dashed var(--book-accent-rule);border-radius:var(--radius-md);background:var(--book-accent-soft);color:var(--book-accent-ink);font-size:var(--text-lg);font-style:italic;text-align:left;cursor:pointer;transition:background var(--transition-fast)}p.book-pointer{cursor:default}button.book-pointer:hover{background:var(--book-accent-rule)}button.book-pointer:focus-visible{outline-offset:3px}.book-pointer[data-back=true]{border-style:solid;border-color:var(--board-rule);background:transparent;color:var(--board-ink-soft)}.book-pointer__arrow{flex:none;font-style:normal;font-weight:var(--weight-bold)}.book-pointer__text{min-width:0}.book-tick{border-collapse:collapse;background:var(--book-grid-bg);border-radius:var(--radius-sm);overflow:hidden;font-size:var(--text-lg);color:var(--board-ink)}.book-tick__caption{padding-bottom:var(--space-2);text-align:left;font-size:var(--text-md);color:var(--board-ink-soft)}.book-tick__corner{border:none}.book-tick__th{padding:var(--space-2) var(--space-3);text-align:center;font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--board-ink-faint);border-bottom:1px solid var(--book-grid-rule)}.book-tick__rowhead{padding:var(--space-2) var(--space-3);text-align:left;font-weight:var(--weight-medium);color:var(--board-ink);border-right:1px solid var(--book-grid-rule);white-space:nowrap}.book-tick__cell{padding:var(--space-1) var(--space-2);text-align:center;border-right:1px solid var(--book-grid-rule)}.book-tick__cell:last-child{border-right:none}.book-tick tbody tr+tr th,.book-tick tbody tr+tr td{border-top:1px solid var(--book-grid-rule)}.book-tick__box{display:inline-flex;align-items:center;justify-content:center;min-width:var(--touch-target);min-height:var(--touch-target);cursor:pointer}.book-tick__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.book-tick__glyph{display:inline-flex;align-items:center;justify-content:center;width:var(--book-tick-size);height:var(--book-tick-size);border:1px solid var(--board-ink-faint);border-radius:var(--radius-sm);background:var(--book-field-bg);font-weight:var(--weight-bold);line-height:1;color:var(--book-accent-ink);transition:border-color var(--transition-fast)}.book-tick__input:checked+.book-tick__glyph{border-color:var(--book-accent-ink);border-width:2px}.book-tick__input:focus-visible+.book-tick__glyph{outline:2px solid var(--color-focus-ring);outline-offset:2px}.book-tick__input:disabled+.book-tick__glyph{border-color:var(--board-rule)}.book-bank{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--board-rule);border-radius:var(--radius-sm);background:var(--book-grid-bg)}.book-bank__label{margin:0;font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-ui);text-transform:uppercase;color:var(--board-ink-faint)}.book-bank__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);font-size:var(--text-lg);color:var(--board-ink)}.book-bank__item[data-used=true]{color:var(--book-bank-used-ink);text-decoration:line-through;text-decoration-thickness:var(--book-bank-used-thickness)}.book-worked{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:var(--space-2) var(--space-3);border-left:2px solid var(--book-accent-rule);background:var(--book-accent-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:var(--text-lg);color:var(--board-ink)}.book-worked__marker{flex:none;font-family:var(--font-display);font-weight:var(--weight-bold);color:var(--book-accent-ink)}.book-worked__label{flex:none;font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-ui);text-transform:uppercase;color:var(--board-ink-faint)}.book-worked__line{min-width:0}.book-worked__filled{font-weight:var(--weight-bold);color:var(--book-accent-ink);text-decoration:underline;text-decoration-thickness:var(--book-bank-used-thickness);text-underline-offset:3px}.book{width:100%;max-width:var(--book-max-w);margin:0 auto;display:flex;flex-direction:column;gap:var(--space-6);color:var(--board-ink-soft)}.book--slide,.book--slide .book__col,.book--slide .book__section{gap:var(--space-3)}.book--slide .book__ex-body{gap:var(--space-2)}.book--slide .book__section-head{padding-bottom:0}@media (max-width: 768px),(max-height: 700px){.book--slide,.book--slide .book__col,.book--slide .book__section,.book--slide .book__ex{gap:var(--space-2)}}.book__header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--board-rule)}.book__id{display:flex;align-items:baseline;gap:var(--space-3);min-width:0}.book__code{font-family:var(--font-display);font-size:var(--book-code-size);font-weight:var(--weight-bold);line-height:1;letter-spacing:var(--tracking-tight);color:var(--book-accent)}.book__page-ref{flex:none;align-self:flex-end;font-size:var(--text-xs);font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-normal);color:var(--board-ink-faint)}.book__objective{margin:0;font-size:var(--text-xl);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--board-ink);line-height:var(--leading-tight)}.book__band{flex:1 1 auto;min-width:0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--book-band-bg);color:var(--book-band-ink)}.book__band-label{margin:0 0 var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase}.book__badges{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.book__badge-row{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--book-band-ink-soft)}.book__badge{flex:none;width:var(--book-badge-size);height:var(--book-badge-size);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);background:var(--book-accent);color:var(--board-ink);font-size:var(--text-2xs);font-weight:var(--weight-bold);line-height:1}.book__badge-text{min-width:0}.book__body{display:grid;grid-template-columns:1fr;gap:var(--book-col-gap)}@media (min-width: 900px){.book__body{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start}}.book__col{min-width:0;display:flex;flex-direction:column;gap:var(--space-6)}.book__section{display:flex;flex-direction:column;gap:var(--space-5)}.book__section-head{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin:0;padding-bottom:var(--space-1);border-bottom:1px solid var(--book-accent-rule);font-size:var(--book-section-size)}.book__section-num{flex:none;padding:0 var(--space-2);border-radius:var(--radius-sm);background:var(--book-accent);color:var(--board-ink);font-weight:var(--weight-bold);line-height:var(--leading-normal)}.book__section-label{font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--board-ink)}.book__section-topic{font-size:var(--text-lg);font-weight:var(--weight-medium);color:var(--book-accent-ink)}.book__ex{display:flex;gap:var(--space-3)}.book__ex-letter{flex:none;width:1ch;font-size:var(--book-letter-size);font-weight:var(--weight-bold);line-height:var(--leading-normal);color:var(--book-accent-ink)}.book__ex-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-3)}.book__ex-instruction{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--book-audio-gap);margin:0;font-size:var(--text-lg);color:var(--board-ink-soft)}.book__ex-slot{min-width:0}@media (max-height: 700px){.book--slide,.book--slide .book__col,.book--slide .book__section,.book--slide .book__ex,.book--slide .book__ex-body,.book--slide .book__ex-slot{gap:var(--space-1)}}@media (min-width: 700px) and (max-height: 500px){.book--slide .book__ex-slot{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-4)}.book--slide .book__ex-slot>.grammar__rule{flex:0 1 auto}.book--slide .book__ex-slot>.grammar__sentences{flex:1 0 100%}}.book__rules{border-collapse:collapse;background:var(--book-table-bg);border-radius:var(--radius-sm);overflow:hidden;font-size:var(--text-lg)}.book__rules-th{padding:var(--space-2) var(--space-3);text-align:left;font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--board-ink-faint);border-bottom:1px solid var(--book-table-rule)}.book__rules-answer{padding:var(--space-2) var(--space-3);text-align:left;border-right:1px solid var(--book-table-rule);white-space:nowrap}.book__rules-subjects{padding:var(--space-2) var(--space-3);color:var(--board-ink)}.book__rules-more{color:var(--board-ink-faint);font-size:var(--text-sm);white-space:nowrap}.book__rules tbody tr+tr .book__rules-answer,.book__rules tbody tr+tr .book__rules-subjects{border-top:1px solid var(--book-table-rule)}.book__plus{padding:var(--space-4);border:1px solid var(--book-plus-border);border-radius:var(--radius-sm);background:var(--book-plus-bg)}@media (min-width: 900px){.book__plus{position:sticky;top:var(--space-4)}}.book__plus-title{margin:0 0 var(--space-2);display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-lg);font-weight:var(--weight-bold);font-style:italic;color:var(--book-accent-ink)}.book__plus-focus{font-size:var(--text-lg);font-weight:var(--weight-regular);font-style:normal;color:var(--board-ink)}.book__plus-line{margin:0;display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-md);color:var(--board-ink-soft)}.book__plus-label{font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-ui);text-transform:uppercase;color:var(--board-ink-faint)}@media (max-width: 640px){.book__header{flex-direction:column}.book__band{width:100%}}.blank-choice{display:inline-flex;gap:var(--grammar-choice-gap);vertical-align:middle}.blank-choice__opt{min-height:var(--grammar-choice-h);padding:var(--grammar-choice-pad);font-family:inherit;font-size:var(--grammar-choice-size);font-weight:var(--grammar-choice-weight);color:var(--grammar-choice-ink);background:var(--grammar-choice-bg);border:var(--grammar-choice-border-w) solid var(--grammar-choice-border);border-radius:var(--grammar-choice-radius);cursor:pointer;box-shadow:0 var(--push-depth) 0 var(--grammar-choice-edge);transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast),color var(--transition-fast)}.blank-choice__opt:active:not([aria-disabled=true]){transform:translateY(var(--push-depth));box-shadow:0 0 0 var(--grammar-choice-edge)}.blank-choice__opt.is-on{color:var(--grammar-choice-ink-on);font-weight:var(--grammar-choice-weight-on);background:var(--grammar-choice-bg-on);border-color:var(--grammar-choice-border-on);box-shadow:0 var(--push-depth) 0 var(--grammar-choice-edge-on)}.blank-choice__opt:hover:not([aria-disabled=true]){border-color:var(--grammar-choice-border-on)}.blank-choice__opt[aria-disabled=true]{cursor:default}.grammar__blank.is-ok .blank-choice__opt.is-on{color:var(--grammar-correct-ink);background:var(--grammar-correct-soft);border-color:var(--grammar-correct-ink);box-shadow:0 var(--push-depth) 0 var(--grammar-correct-ink)}.grammar__blank.is-error .blank-choice__opt.is-on{color:var(--grammar-incorrect-ink);background:var(--grammar-incorrect-soft);border-color:var(--grammar-incorrect-ink);box-shadow:0 var(--push-depth) 0 var(--grammar-incorrect-ink)}@media (prefers-reduced-motion: reduce){.blank-choice__opt{transition:none}}.lessonarrows{display:flex;align-items:center;gap:var(--lessonarrow-gap)}.lessonarrows__btn{display:grid;place-items:center;width:var(--lessonarrow-size);height:var(--lessonarrow-size);border:1px solid var(--lessonarrow-border);border-radius:var(--radius-pill);background:var(--lessonarrow-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));color:var(--lessonarrow-ink);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast);-webkit-tap-highlight-color:transparent}.lessonarrows__btn:hover{color:var(--lessonarrow-ink-hover);border-color:var(--color-live)}.lessonarrows__btn:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.lessonarrows__btn[data-empty]{opacity:var(--lessonarrow-empty-op);cursor:default}.lessonarrows__btn[data-empty]:hover{color:var(--lessonarrow-ink);border-color:var(--lessonarrow-border)}.lessonarrows__btn--module+.lessonarrows__btn--level{margin-left:var(--space-2)}.blanknav{display:inline-flex;align-items:center;gap:var(--lessonarrow-gap)}.blanknav__btn{display:grid;place-items:center;width:var(--lessonarrow-size);height:var(--lessonarrow-size);border:1px solid var(--lessonarrow-border);border-radius:var(--radius-pill);background:var(--lessonarrow-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));color:var(--lessonarrow-ink);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast);-webkit-tap-highlight-color:transparent}.blanknav__btn:hover{color:var(--lessonarrow-ink-hover);border-color:var(--color-live)}.blanknav__btn:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.grammar{position:relative;isolation:isolate;height:100dvh;min-height:100dvh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;width:100%;padding:var(--space-10) var(--gallery-pad) 0;display:flex;flex-direction:column;align-items:center;gap:var(--space-6)}.grammar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:repeating-linear-gradient(0deg,var(--orb-brick-line) 0 1px,transparent 1px var(--orb-brick-h)),repeating-linear-gradient(90deg,var(--orb-brick-line) 0 1px,transparent 1px var(--orb-brick-w));-webkit-mask-image:radial-gradient(130% 100% at 50% 30%,var(--mask-fill) 55%,transparent 92%);mask-image:radial-gradient(130% 100% at 50% 30%,var(--mask-fill) 55%,transparent 92%)}.grammar__crumbs{width:100%;max-width:var(--grammar-board-max-w);display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-md);flex-wrap:wrap}.grammar__navarrows{margin-left:auto;flex-shrink:0}.grammar__crumb{color:var(--syllabus-crumb-ink);background:none;border:none;padding:0;font:inherit}.grammar__crumb--link{cursor:pointer;transition:color var(--transition-fast)}.grammar__crumb--link:hover{color:var(--color-fg-strong)}.grammar__crumb--link:focus-visible{outline:2px solid var(--color-live);outline-offset:2px;border-radius:var(--radius-sm)}.grammar__crumb--active{color:var(--syllabus-crumb-active)}.grammar__crumb-sep{color:var(--syllabus-crumb-sep)}.grammar__board{position:relative;width:100%;max-width:var(--grammar-board-max-w);padding:var(--grammar-board-pad);display:flex;flex-direction:column;gap:var(--space-7);color:var(--syllabus-ink);background:linear-gradient(155deg,var(--board-veil),transparent 55%),var(--board-glass-bg);backdrop-filter:blur(var(--board-glass-blur)) saturate(var(--board-glass-saturate));-webkit-backdrop-filter:blur(var(--board-glass-blur)) saturate(var(--board-glass-saturate));border:1px solid var(--board-frame);border-top-color:var(--board-frame-top);border-radius:var(--board-radius);box-shadow:var(--board-shadow),inset 0 1px 0 0 var(--board-frame-top),inset 0 0 0 1px var(--board-inner-line),inset 0 -1px 0 0 var(--board-frame-bevel)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.grammar__board{background:#ffffffe6}}.grammar__board:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border-radius:inherit;background:var(--board-rainbow);opacity:var(--board-rainbow-op);pointer-events:none}.grammar__board:after{content:"";position:absolute;left:8%;right:8%;bottom:calc(-1 * var(--board-tray-height) + 2px);height:var(--board-tray-height);border-radius:0 0 var(--radius-md) var(--radius-md);background:linear-gradient(180deg,var(--board-tray-top),var(--board-tray-bottom));box-shadow:0 1px 0 var(--board-tray-sheen) inset,0 2px 5px var(--board-tray-shadow);pointer-events:none}.grammar__board>*{position:relative;z-index:1}.grammar__header{display:flex;align-items:center;gap:var(--space-5)}.grammar__header--book{flex-wrap:wrap;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--board-rule)}.grammar__flag{flex:none;width:var(--mosaic-flag-size);border-radius:var(--flag-radius);overflow:hidden;box-shadow:0 0 0 var(--space-px) var(--flag-hairline);line-height:0}.grammar__flag svg{display:block;width:100%;height:auto}.grammar__eyebrow{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);letter-spacing:var(--tracking-ui);text-transform:uppercase;color:var(--syllabus-accent-grammar)}.grammar__title{margin:0;font-size:var(--intro-title-size);font-weight:var(--weight-bold);letter-spacing:var(--display-tracking);color:var(--syllabus-ink);line-height:var(--leading-tight)}.grammar__goal{margin-left:auto;font-size:var(--text-md);color:var(--syllabus-ink-soft);text-align:right}.grammar__sentences{display:flex;flex-direction:column;gap:var(--grammar-sentence-gap)}.grammar__section{display:flex;flex-direction:column;gap:var(--grammar-section-gap);padding:var(--grammar-section-pad);border-left:var(--grammar-section-edge) solid var(--grammar-section-rule);border-radius:var(--grammar-section-radius);background:var(--grammar-section-bg)}.grammar__section:not(:first-child){margin-top:var(--space-6)}.grammar__section-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:0;font-size:var(--grammar-section-title-size)}.grammar__section-letter{font-size:var(--grammar-section-letter-size);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--board-ink-faint)}.grammar__section-title{font-weight:var(--weight-bold);color:var(--board-ink)}.grammar__section-count{margin-left:auto;font-size:var(--text-sm);font-weight:var(--weight-regular);color:var(--board-ink-faint)}.grammar__section-instruction{margin:0;font-size:var(--grammar-section-instruction-size);line-height:var(--leading-normal);color:var(--board-ink-soft)}.grammar__section-key{margin:0;font-size:var(--text-sm);color:var(--board-ink-soft)}.grammar__section-key-label{margin-right:var(--space-1);font-weight:var(--weight-bold);color:var(--board-ink-faint)}.grammar__blockbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--grammar-block-gap);margin:0;font-size:var(--grammar-block-label-size);letter-spacing:var(--tracking-ui);text-transform:uppercase;color:var(--grammar-block-ink)}.grammar__blockbar-dots{display:inline-flex;flex-wrap:wrap;gap:var(--space-1)}.grammar__blockbar-dot{width:var(--grammar-block-dot-size);height:var(--grammar-block-dot-size);border-radius:var(--radius-pill);background:var(--grammar-block-dot-idle);transition:background var(--transition-normal),width var(--transition-normal)}.grammar__blockbar-dot.is-done{background:var(--grammar-block-dot-done)}.grammar__blockbar-dot.is-active{width:var(--grammar-block-dot-active-w);background:var(--grammar-block-dot-active)}.grammar__how{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);margin:0;font-size:var(--text-sm);color:var(--syllabus-ink-faint)}.grammar__how .blanknav__btn{background:var(--grammar-blanknav-bg);border-color:var(--grammar-blanknav-border);color:var(--grammar-blanknav-ink);backdrop-filter:none;-webkit-backdrop-filter:none}.grammar__rule{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--grammar-rule-gap);margin:0;padding:var(--grammar-rule-pad);border-radius:var(--grammar-rule-radius);background:var(--grammar-rule-bg);font-size:var(--grammar-rule-size);color:var(--grammar-rule-ink)}.grammar__rule-label{flex:none;font-size:var(--grammar-rule-label-size);font-weight:var(--weight-bold);letter-spacing:var(--tracking-ui);text-transform:uppercase;color:var(--grammar-rule-label-ink)}.grammar__rule-pairs{font-weight:var(--weight-medium)}.grammar__sentences.has-results{gap:calc(var(--grammar-sentence-gap) * 2.2)}.grammar__sentence{margin:0;font-size:var(--grammar-sentence-size);line-height:var(--grammar-sentence-leading);color:var(--syllabus-ink)}.grammar__sentence:has(.grammar__blank.is-choice){line-height:var(--grammar-sentence-leading-choice)}.grammar__text{white-space:pre-wrap}.grammar__blank{position:relative;display:inline-flex;flex-direction:column;align-items:center;vertical-align:baseline;margin:0 var(--space-1)}.grammar__blank.is-choice{vertical-align:middle;margin:0 var(--space-2)}.grammar__blank-input{width:var(--grammar-blank-w, var(--grammar-blank-min-w));min-width:var(--grammar-blank-min-w);padding:var(--grammar-blank-pad);font:inherit;font-size:inherit;text-align:center;color:var(--grammar-blank-ink);background:transparent;border:none;border-bottom:2px solid var(--grammar-blank-rule);border-radius:var(--grammar-blank-radius) var(--grammar-blank-radius) 0 0;transition:border-color var(--transition-fast),background var(--transition-fast)}.grammar__blank-input::placeholder{color:var(--grammar-hint-ink)}.grammar__blank-input:focus{outline:none;border-bottom-color:var(--grammar-blank-rule-focus);background:var(--grammar-blank-bg-focus)}.grammar__blank-hint{position:absolute;top:100%;font-size:var(--grammar-hint-size);color:var(--grammar-hint-ink);line-height:1.2;white-space:nowrap;pointer-events:none}.grammar__blank.is-ok .grammar__blank-input{border-bottom-color:var(--grammar-correct-ink);color:var(--grammar-correct-ink)}.grammar__blank.is-error .grammar__blank-input{border-bottom-color:var(--grammar-incorrect-ink);background:var(--grammar-incorrect-soft)}.grammar__blank-mark{position:absolute;top:calc(-1 * var(--space-2));right:calc(-1 * var(--space-2));display:inline-flex;align-items:center;justify-content:center;line-height:0;pointer-events:none}.grammar__blank.is-choice .grammar__blank-mark{top:calc(-1 * var(--grammar-mark-size) / 2);right:calc(-1 * var(--grammar-mark-size) / 2);width:var(--grammar-mark-size);height:var(--grammar-mark-size);border-radius:var(--radius-pill);background:var(--grammar-mark-bg)}.grammar__blank.is-ok .grammar__blank-mark{color:var(--grammar-correct-ink)}.grammar__blank.is-error .grammar__blank-mark{color:var(--grammar-incorrect-ink)}.grammar__notes{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--grammar-note-size);max-width:var(--grammar-note-measure);margin:0;padding:0;list-style:none}.grammar__note{display:flex;align-items:baseline;gap:var(--space-2);padding:var(--grammar-note-pad);border-radius:var(--radius-sm);border-inline-start:var(--grammar-note-bar-w) solid var(--grammar-incorrect-ink);background:var(--grammar-incorrect-soft);color:var(--grammar-incorrect-ink);font-size:var(--grammar-note-size);font-weight:var(--weight-medium);line-height:var(--leading-normal)}.grammar__note.is-ok{border-inline-start-color:var(--grammar-correct-ink);background:var(--grammar-correct-soft);color:var(--grammar-correct-ink)}.grammar__note-tag{flex-shrink:0;font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-ui);text-transform:uppercase;opacity:var(--grammar-note-tag-opacity)}.grammar__blockdone{display:flex;flex-direction:column;align-items:center;gap:var(--grammar-blockdone-gap);padding:var(--grammar-blockdone-pad);border-radius:var(--grammar-blockdone-radius);background:var(--grammar-blockdone-bg);text-align:center}.grammar__blockdone-title{margin:0;font-size:var(--grammar-blockdone-title-size);font-weight:var(--weight-bold);color:var(--grammar-blockdone-ink)}.grammar__blockdone-body{margin:0;font-size:var(--text-md);line-height:var(--leading-normal);color:var(--syllabus-ink-soft)}.grammar__feedback{display:flex;align-items:center;gap:var(--space-3);min-height:var(--grammar-feedback-min-h);padding:var(--grammar-feedback-pad);border-radius:var(--grammar-feedback-radius);background:var(--grammar-feedback-bg);color:var(--syllabus-ink-soft);border-left:3px solid transparent;transition:border-color var(--transition-normal),background var(--transition-normal)}.grammar__feedback.is-ok{border-left-color:var(--grammar-correct-ink);background:var(--grammar-correct-soft)}.grammar__feedback.is-error{border-left-color:var(--grammar-incorrect-ink);background:var(--grammar-incorrect-soft)}.grammar__feedback-msg{margin:0;font-size:var(--text-lg)}.grammar__feedback-orb{flex:none;width:var(--grammar-feedback-orb-size);height:var(--grammar-feedback-orb-size);border-radius:50%;background:radial-gradient(circle at 32% 26%,var(--board-frame-top),transparent 42%),conic-gradient(from 160deg,var(--gorb-rb-1),var(--gorb-rb-2),var(--gorb-rb-3),var(--gorb-rb-4),var(--gorb-rb-5),var(--gorb-rb-6),var(--gorb-rb-1));box-shadow:inset 0 0 10px var(--board-frame-top),0 0 14px var(--color-live-soft)}.grammar__foot{position:sticky;bottom:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:var(--grammar-foot-row-h);margin:0 calc(-1 * var(--grammar-board-pad)) calc(-1 * var(--grammar-board-pad));padding:var(--grammar-foot-pad-y) var(--grammar-board-pad) calc(var(--grammar-foot-pad-y) + var(--sa-bottom, 0px));background:var(--grammar-foot-bg);backdrop-filter:blur(var(--grammar-foot-blur));-webkit-backdrop-filter:blur(var(--grammar-foot-blur));border-top:1px solid var(--grammar-foot-rule);border-radius:0 0 var(--board-radius) var(--board-radius);box-shadow:var(--grammar-foot-shadow)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.grammar__foot{background:var(--color-board-paper)}}.grammar__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:var(--space-3)}.grammar__btn{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--touch-target);padding:var(--space-2) var(--space-5);border-radius:var(--radius-pill);border:1px solid var(--board-frame);background:var(--board-veil);color:var(--syllabus-ink);font:inherit;font-weight:var(--weight-medium);cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.grammar__btn:hover{transform:translateY(var(--mosaic-card-hover-lift));border-color:var(--grammar-blank-rule-focus)}.grammar__btn:active{transform:translateY(0) scale(.98)}.grammar__btn:focus-visible{outline:2px solid var(--color-live);outline-offset:2px}.grammar__btn:disabled{opacity:.6;cursor:default;transform:none}.grammar__btn--check{border:none;border-bottom:var(--push-depth) solid var(--push-live-edge);border-radius:var(--push-radius);background:var(--push-live-bg);color:var(--push-live-ink);font-weight:var(--weight-bold)}.grammar__btn--check:hover{background:var(--push-live-edge);transform:none}.grammar__btn--check:active:not(:disabled){transform:translateY(var(--push-depth));border-bottom-width:0}.grammar__btn--check:disabled{border-bottom-width:0;transform:translateY(var(--push-depth))}.grammar__btn--icon{width:var(--grammar-foot-icon-btn);min-width:var(--grammar-foot-icon-btn);height:var(--grammar-foot-icon-btn);padding:0;justify-content:center;flex:none}.grammar__btn--inline{flex:none;padding:0 var(--space-3);font-size:var(--text-sm);font-weight:var(--weight-medium)}.grammar__tray{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--syllabus-ink-faint);flex:none}.grammar__ring{position:relative;flex:none;display:grid;place-items:center;width:var(--grammar-foot-ring-size);height:var(--grammar-foot-ring-size)}.grammar__ring:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-pill);background:conic-gradient(var(--grammar-foot-ring-fill) calc(var(--grammar-ring-pct, 0) * 360deg),var(--grammar-foot-ring-track) 0);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - var(--grammar-foot-ring-stroke)),var(--mask-fill) calc(100% - var(--grammar-foot-ring-stroke)));mask:radial-gradient(farthest-side,transparent calc(100% - var(--grammar-foot-ring-stroke)),var(--mask-fill) calc(100% - var(--grammar-foot-ring-stroke)))}.grammar__ring-count{position:relative;font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--syllabus-ink-soft)}.grammar__empty{margin:0;font-size:var(--text-lg);color:var(--syllabus-ink-soft)}@media (max-width: 768px){.grammar{padding:var(--space-4) var(--space-4) 0;gap:var(--space-3)}.grammar:before{opacity:.6}.grammar__board{padding:var(--space-5);gap:var(--space-6);backdrop-filter:blur(var(--board-glass-blur-mobile, 16px)) saturate(var(--board-glass-saturate));-webkit-backdrop-filter:blur(var(--board-glass-blur-mobile, 16px)) saturate(var(--board-glass-saturate))}.grammar__actions{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0}.grammar__btn{min-height:var(--grammar-foot-btn-h);justify-content:center}.grammar__btn--check{flex:1;min-width:0}.grammar__tray{flex-direction:row;align-items:center;gap:var(--space-2)}.grammar__foot{padding-left:var(--grammar-foot-theme-gap)}}.grammar__save{margin-left:auto;flex:none;font-size:var(--text-xs);color:var(--syllabus-ink-faint);white-space:nowrap}.grammar__save--saved{color:var(--grammar-correct-ink)}.grammar__save--error{color:var(--grammar-incorrect-ink);font-weight:var(--weight-medium)}.grammar__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.grammar__blank.is-locked .grammar__blank-input{cursor:default;opacity:.9}.grammar__feedback-text{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.grammar__summary{font-size:var(--text-sm);color:var(--syllabus-ink-faint);font-variant-numeric:tabular-nums}@media (max-width: 768px){.grammar__blank-input{min-height:var(--touch-target)}}.grammar__welcome{display:flex;align-items:center;gap:var(--space-4);padding:var(--grammar-feedback-pad);border-radius:var(--grammar-feedback-radius);background:var(--board-live-soft);border-left:3px solid var(--board-live)}.grammar__welcome-orb{flex:none;width:var(--grammar-feedback-orb-size);height:var(--grammar-feedback-orb-size);border-radius:50%;background:radial-gradient(circle at 32% 26%,var(--board-frame-top),transparent 42%),conic-gradient(from 160deg,var(--gorb-rb-1),var(--gorb-rb-2),var(--gorb-rb-3),var(--gorb-rb-4),var(--gorb-rb-5),var(--gorb-rb-6),var(--gorb-rb-1));box-shadow:inset 0 0 10px var(--board-frame-top),0 0 14px var(--color-live-soft)}.grammar__welcome-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.grammar__welcome-greet{margin:0;font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--syllabus-ink)}.grammar__welcome-intro{margin:0;font-size:var(--text-lg);color:var(--syllabus-ink-soft)}.grammar__welcome-scope{font-size:var(--text-sm);color:var(--syllabus-ink-faint);font-variant-numeric:tabular-nums}.grammar__welcome-cta{flex:none}.grammar__brief-label{display:inline-block;margin-right:var(--space-2);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-ui);text-transform:uppercase;color:var(--syllabus-ink-faint)}.grammar__example{margin:0;font-size:var(--text-lg);color:var(--syllabus-ink-soft)}.grammar__example code{font-family:var(--font-mono);font-size:var(--text-lg)}.grammar__example b{color:var(--grammar-correct-ink)}.grammar__target{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--board-live-ink);font-variant-numeric:tabular-nums}.grammar__blank-input:focus{box-shadow:0 0 0 2px var(--grammar-blank-rule-focus)}.grammar__sentences.has-results .grammar__blank.is-ok{opacity:.62}.grammar__sentences.has-results .grammar__blank.is-error{opacity:1}@media (max-width: 768px){.grammar__welcome{flex-wrap:wrap}.grammar__welcome-cta{width:100%;justify-content:center}}.grammar__row{display:flex;flex-direction:column;gap:var(--space-1)}.grammar__row-label{font-size:var(--text-2xs);letter-spacing:var(--tracking-ui);text-transform:uppercase;color:var(--syllabus-ink-faint)}.grammar__strip{display:flex;align-items:center;gap:var(--grammar-strip-gap)}.grammar__strip-step{flex:1;max-width:var(--grammar-strip-step-max);height:var(--grammar-strip-h);border-radius:var(--radius-pill);background:var(--grammar-strip-todo);transition:background var(--transition-fast)}.grammar__strip-step[data-state=done]{background:var(--grammar-strip-done)}.grammar__strip-step[data-state=current]{flex:1.8;background:var(--grammar-strip-current)}.grammar__strip-track{flex:1;height:var(--grammar-strip-h);border-radius:var(--radius-pill);background:var(--grammar-strip-todo);overflow:hidden}.grammar__strip-fill{display:block;height:100%;border-radius:inherit;background:var(--grammar-strip-done);transition:width var(--transition-normal)}.grammar__strip-count{flex:none;font-size:var(--text-2xs);letter-spacing:var(--tracking-ui);text-transform:uppercase;color:var(--syllabus-ink-faint);font-variant-numeric:tabular-nums}@media (prefers-reduced-motion: reduce){.grammar__strip-step,.grammar__strip-fill{transition:none}}.grammar__example code{margin-right:var(--space-4);white-space:nowrap}.grammar--intro{justify-content:flex-start}@media (max-width: 768px),(max-height: 700px){.grammar{padding:var(--grammar-shell-pad-short) var(--space-4) 0;gap:var(--space-2)}.grammar__board{padding:var(--grammar-board-pad-short);gap:var(--grammar-board-gap-short)}.grammar__feedback{min-height:var(--grammar-feedback-min-h-short);padding:var(--grammar-feedback-pad-short)}.grammar__feedback-orb{width:var(--grammar-feedback-orb-short);height:var(--grammar-feedback-orb-short)}}@media (max-height: 700px){.grammar{padding:var(--space-2) var(--space-4) 0;gap:var(--space-1)}.grammar__board{padding:var(--grammar-board-pad-tight);gap:var(--grammar-board-gap-tight)}.grammar__header--book{padding-bottom:0}.grammar__feedback{min-height:var(--grammar-feedback-min-h-tight);padding:var(--grammar-feedback-pad-tight)}.grammar__crumbs,.grammar__how{row-gap:var(--space-1)}.grammar__board{padding-bottom:var(--space-1)}}@media (min-width: 700px) and (max-height: 500px){.grammar__row{flex-direction:row;align-items:baseline;gap:var(--space-3)}.grammar__row-label{flex:none}}@media (max-width: 768px){.grammar__blockbar-dots{display:flex;flex:1;flex-wrap:nowrap;gap:var(--grammar-block-dot-gap-mobile);min-width:0}.grammar__blockbar-dot{flex:1;width:auto;min-width:0;height:var(--grammar-block-dot-h-mobile)}.grammar__blockbar-dot.is-active{flex:2.4}}@media (max-width: 768px){.grammar__how-hint{flex:1 0 100%}}@media (min-width: 700px) and (max-height: 500px){.grammar__how-hint{flex:0 1 auto}}.listening{position:relative;isolation:isolate;height:100dvh;min-height:100dvh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;width:100%;padding:var(--space-10) var(--gallery-pad) var(--space-12);display:flex;flex-direction:column;align-items:center;gap:var(--space-6)}.listening:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:repeating-linear-gradient(0deg,var(--orb-brick-line) 0 1px,transparent 1px var(--orb-brick-h)),repeating-linear-gradient(90deg,var(--orb-brick-line) 0 1px,transparent 1px var(--orb-brick-w));-webkit-mask-image:radial-gradient(130% 100% at 50% 30%,var(--mask-fill) 55%,transparent 92%);mask-image:radial-gradient(130% 100% at 50% 30%,var(--mask-fill) 55%,transparent 92%)}.listening__crumbs{width:100%;max-width:var(--grammar-board-max-w);display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-md);flex-wrap:wrap}.listening__navarrows{margin-left:auto;flex-shrink:0}.listening__crumb{color:var(--syllabus-crumb-ink);background:none;border:none;padding:0;font:inherit}.listening__crumb--link{cursor:pointer;transition:color var(--transition-fast)}.listening__crumb--link:hover{color:var(--color-fg-strong)}.listening__crumb--link:focus-visible{outline:2px solid var(--color-live);outline-offset:2px;border-radius:var(--radius-sm)}.listening__crumb--active{color:var(--syllabus-crumb-active)}.listening__crumb-sep{color:var(--syllabus-crumb-sep)}.listening__board{position:relative;width:100%;max-width:var(--grammar-board-max-w);padding:var(--grammar-board-pad);display:flex;flex-direction:column;gap:var(--space-7);color:var(--syllabus-ink);background:linear-gradient(155deg,var(--board-veil),transparent 55%),var(--board-glass-bg);backdrop-filter:blur(var(--board-glass-blur)) saturate(var(--board-glass-saturate));-webkit-backdrop-filter:blur(var(--board-glass-blur)) saturate(var(--board-glass-saturate));border:1px solid var(--board-frame);border-top-color:var(--board-frame-top);border-radius:var(--board-radius);box-shadow:var(--board-shadow),inset 0 1px 0 0 var(--board-frame-top),inset 0 0 0 1px var(--board-inner-line),inset 0 -1px 0 0 var(--board-frame-bevel)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.listening__board{background:#ffffffe6}}.listening__board:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border-radius:inherit;background:var(--board-rainbow);opacity:var(--board-rainbow-op);pointer-events:none}.listening__board:after{content:"";position:absolute;left:8%;right:8%;bottom:calc(-1 * var(--board-tray-height) + 2px);height:var(--board-tray-height);border-radius:0 0 var(--radius-md) var(--radius-md);background:linear-gradient(180deg,var(--board-tray-top),var(--board-tray-bottom));box-shadow:0 1px 0 var(--board-tray-sheen) inset,0 2px 5px var(--board-tray-shadow);pointer-events:none}.listening__board>*{position:relative;z-index:1}.listening__header{display:flex;align-items:center;gap:var(--space-5)}.listening__flag{flex:none;width:var(--mosaic-flag-size);border-radius:var(--flag-radius);overflow:hidden;box-shadow:0 0 0 var(--space-px) var(--flag-hairline);line-height:0}.listening__flag svg{display:block;width:100%;height:auto}.listening__heading{display:flex;flex-direction:column;gap:var(--space-1)}.listening__eyebrow{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);letter-spacing:var(--tracking-ui);text-transform:uppercase;color:var(--listening-accent)}.listening__title{margin:0;font-size:var(--intro-title-size);font-weight:var(--weight-bold);letter-spacing:var(--display-tracking);color:var(--syllabus-ink);line-height:var(--leading-tight)}.listening__sub{margin:0;font-size:var(--text-lg);color:var(--syllabus-ink-soft);max-width:var(--container-max)}.listening__player{display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.listening__orb{width:var(--listening-orb-size);height:var(--listening-orb-size);border-radius:50%;background:radial-gradient(circle at 32% 26%,var(--board-frame-top),transparent 42%),conic-gradient(from 160deg,var(--gorb-rb-1),var(--gorb-rb-2),var(--gorb-rb-3),var(--gorb-rb-4),var(--gorb-rb-5),var(--gorb-rb-6),var(--gorb-rb-1));box-shadow:inset 0 0 12px var(--board-frame-top),0 0 16px var(--listening-accent-soft)}.listening__orb.is-active{animation:listening-orb-pulse var(--listening-orb-pulse-dur) ease-in-out infinite}@keyframes listening-orb-pulse{0%,to{transform:scale(1);box-shadow:inset 0 0 12px var(--board-frame-top),0 0 16px var(--listening-accent-soft)}50%{transform:scale(1.08);box-shadow:inset 0 0 12px var(--board-frame-top),0 0 26px var(--color-live-soft)}}.listening__wave{display:flex;align-items:center;justify-content:center;gap:var(--listening-wave-gap);width:100%;max-width:var(--container-max);height:var(--listening-wave-h);padding:0 var(--listening-wave-pad);border-radius:var(--radius-md);background:var(--listening-wave-bg);border:1px solid var(--listening-wave-border);backdrop-filter:blur(var(--listening-wave-blur));-webkit-backdrop-filter:blur(var(--listening-wave-blur));overflow:hidden}.listening__wave-bar{flex:1 1 auto;max-width:var(--listening-wave-bar-w);min-height:8%;border-radius:var(--listening-wave-radius);background:var(--listening-wave-future);transition:background var(--transition-normal)}.listening__wave.is-playing .listening__wave-bar{background:var(--listening-wave-played);animation:listening-wave-beat .9s ease-in-out infinite}@keyframes listening-wave-beat{0%,to{transform:scaleY(.5);opacity:.65}50%{transform:scaleY(1);opacity:1}}.listening__wave.is-done .listening__wave-bar{background:var(--listening-wave-played)}.listening__blind{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-6) 0}.listening__blind-hint{margin:0;max-width:var(--container-max);text-align:center;font-size:var(--text-lg);color:var(--syllabus-ink-faint)}.listening__sentences{display:flex;flex-direction:column;gap:var(--space-6)}.listening__sentence{margin:0;font-size:var(--listening-sentence-size);line-height:var(--listening-sentence-leading);color:var(--listening-word-dim)}.listening__text{white-space:pre-wrap;transition:color var(--transition-normal)}.listening__text .is-lit,.listening__text.is-lit{color:var(--listening-word-lit)}.listening__replay-hint{margin:0;font-size:var(--text-sm);color:var(--syllabus-ink-faint)}.listening__capsule{position:relative;display:inline-flex;flex-direction:column;align-items:center;vertical-align:baseline;margin:0 var(--space-1)}.listening__capsule-input{min-width:var(--listening-capsule-min-w);width:auto;padding:var(--listening-capsule-pad);font:inherit;font-size:inherit;text-align:center;color:var(--listening-capsule-ink);background:var(--listening-capsule-bg);border:1px solid var(--listening-capsule-border);border-radius:var(--listening-capsule-radius);backdrop-filter:blur(var(--listening-capsule-blur));-webkit-backdrop-filter:blur(var(--listening-capsule-blur));box-shadow:inset 0 1px 2px var(--board-tray-shadow);transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.listening__capsule-input::placeholder{color:var(--syllabus-ink-faint)}.listening__capsule-input:focus{outline:none;border-color:var(--listening-capsule-focus);background:var(--listening-capsule-focus-bg);box-shadow:0 0 12px var(--color-live-soft)}.listening__capsule-hint{position:absolute;top:100%;font-size:var(--grammar-hint-size);color:var(--grammar-hint-ink);line-height:1.2;white-space:nowrap;pointer-events:none}.listening__capsule.is-replaying .listening__capsule-input{border-color:var(--listening-capsule-focus);box-shadow:0 0 14px var(--color-live-soft)}.listening__capsule.is-ok .listening__capsule-input{border-color:var(--grammar-correct-ink);color:var(--grammar-correct-ink)}.listening__capsule.is-error .listening__capsule-input{border-color:var(--grammar-incorrect-ink);background:var(--grammar-incorrect-soft)}.listening__feedback{display:flex;align-items:center;gap:var(--space-3);min-height:var(--grammar-feedback-min-h);padding:var(--grammar-feedback-pad);border-radius:var(--grammar-feedback-radius);background:var(--grammar-feedback-bg);color:var(--syllabus-ink-soft);border-left:3px solid transparent;transition:border-color var(--transition-normal),background var(--transition-normal)}.listening__feedback.is-ok{border-left-color:var(--grammar-correct-ink);background:var(--grammar-correct-soft)}.listening__feedback.is-error{border-left-color:var(--grammar-incorrect-ink);background:var(--grammar-incorrect-soft)}.listening__feedback-msg{margin:0;font-size:var(--text-lg)}.listening__feedback-orb{flex:none;width:var(--grammar-feedback-orb-size);height:var(--grammar-feedback-orb-size);border-radius:50%;background:radial-gradient(circle at 32% 26%,var(--board-frame-top),transparent 42%),conic-gradient(from 160deg,var(--gorb-rb-1),var(--gorb-rb-2),var(--gorb-rb-3),var(--gorb-rb-4),var(--gorb-rb-5),var(--gorb-rb-6),var(--gorb-rb-1));box-shadow:inset 0 0 10px var(--board-frame-top),0 0 14px var(--listening-accent-soft)}.listening__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:var(--space-3)}.listening__btn{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--touch-target);padding:var(--space-2) var(--space-5);border-radius:var(--radius-pill);border:1px solid var(--board-frame);background:var(--board-veil);color:var(--syllabus-ink);font:inherit;font-weight:var(--weight-medium);cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.listening__btn:hover{transform:translateY(var(--mosaic-card-hover-lift));border-color:var(--listening-capsule-focus)}.listening__btn:active{transform:translateY(0) scale(.98)}.listening__btn:focus-visible{outline:2px solid var(--color-live);outline-offset:2px}.listening__btn:disabled{opacity:.6;cursor:default;transform:none}.listening__btn--play{background:var(--listening-accent-soft);border-color:var(--listening-accent);color:var(--listening-accent);font-weight:var(--weight-bold)}.listening__btn--check{border:none;border-bottom:var(--push-depth) solid var(--push-live-edge);border-radius:var(--push-radius);background:var(--push-live-bg);color:var(--push-live-ink);font-weight:var(--weight-bold)}.listening__btn--check:hover{background:var(--push-live-edge);transform:none}.listening__btn--check:active:not(:disabled){transform:translateY(var(--push-depth));border-bottom-width:0}.listening__btn--check:disabled{border-bottom-width:0;transform:translateY(var(--push-depth))}.listening__tray{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-top:var(--space-3);border-top:var(--space-px) solid var(--syllabus-rule-board);font-size:var(--text-sm);color:var(--syllabus-ink-faint)}.listening__progress{display:inline-flex;align-items:center;gap:var(--space-2)}.listening__progress-track{width:var(--grammar-progress-w);height:var(--grammar-progress-h);border-radius:var(--radius-pill);background:var(--grammar-progress-track);overflow:hidden}.listening__progress-fill{display:block;height:100%;border-radius:inherit;background:var(--listening-accent);transition:width var(--transition-normal)}.listening__progress-count{color:var(--syllabus-ink-soft);font-variant-numeric:tabular-nums}.listening__empty{margin:0;font-size:var(--text-lg);color:var(--syllabus-ink-soft)}@media (prefers-reduced-motion: reduce){.listening__orb.is-active,.listening__wave.is-playing .listening__wave-bar{animation:none}}@media (max-width: 768px){.listening{padding:var(--space-8) var(--space-4) var(--space-10);gap:var(--space-5)}.listening:before{opacity:.6}.listening__board{padding:var(--space-5);gap:var(--space-6);backdrop-filter:blur(var(--board-glass-blur-mobile, 16px)) saturate(var(--board-glass-saturate));-webkit-backdrop-filter:blur(var(--board-glass-blur-mobile, 16px)) saturate(var(--board-glass-saturate))}.listening__actions{display:grid;grid-template-columns:1fr}.listening__btn{width:100%;min-height:var(--touch-target-lg);justify-content:center}.listening__tray{flex-direction:column;align-items:flex-start;gap:var(--space-2)}}.listening__save{margin-left:auto;flex:none;font-size:var(--text-xs);color:var(--syllabus-ink-faint);white-space:nowrap}.listening__save--saved{color:var(--grammar-correct-ink)}.listening__save--error{color:var(--grammar-incorrect-ink);font-weight:var(--weight-medium)}.consent-gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:grid;place-items:center;background:var(--mk-glass2-bg);backdrop-filter:blur(var(--mk-frost-blur));-webkit-backdrop-filter:blur(var(--mk-frost-blur))}.consent-gate__card{max-width:min(var(--container-max),calc(100vw - var(--space-8)));padding:var(--space-8);border-radius:var(--radius-lg);background:var(--mk-frost-bg);border:1px solid var(--mk-frost-border);box-shadow:var(--mk-glass-shadow)}.consent-gate__title{font-family:var(--font-display);font-size:var(--text-xl);color:var(--mk-ink);margin:0 0 var(--space-3)}.consent-gate__body{font-size:var(--text-lg);line-height:1.5;color:var(--mk-ink-subtle);margin:0 0 var(--space-4)}.consent-gate__learn-more{display:inline-block;margin:0 0 var(--space-6);color:var(--mk-live-ink);font-size:var(--text-lg);text-decoration:underline;text-underline-offset:2px}.consent-gate__learn-more:hover{text-decoration-thickness:2px}.consent-gate__error{margin:calc(var(--space-6) * -1 + var(--space-3)) 0 var(--space-5);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--state-error-soft);color:var(--state-error);font-size:var(--text-lg)}.consent-gate__actions{display:flex;gap:var(--space-3);justify-content:flex-end}.consent-gate__accept,.consent-gate__decline{min-height:var(--touch-target);padding:var(--space-3) var(--space-5);border-radius:var(--radius-pill);font-size:var(--text-lg);cursor:pointer}.consent-gate__accept{border:none;background:var(--mk-live);color:var(--mk-on-live)}.consent-gate__decline{border:1px solid var(--mk-frost-border);background:transparent;color:var(--mk-ink)}.app-neural-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.back-to-courses{position:fixed;top:var(--space-2);left:var(--space-2);z-index:20;min-height:var(--touch-target);display:inline-flex;align-items:center;padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-pill);background:transparent;color:var(--board-ink-soft);font-size:var(--text-sm);cursor:pointer;touch-action:manipulation;transition:background var(--transition-fast),transform var(--transition-fast)}.back-to-courses:hover{background:var(--color-surface-hover)}.back-to-courses:active{transform:scale(.96)}.back-to-courses:focus-visible{outline:2px solid var(--color-live);outline-offset:2px}.toast-layer{position:fixed;left:0;right:0;bottom:var(--mobfoot-clearance);z-index:var(--z-toast);display:flex;flex-direction:column;align-items:center;gap:var(--toast-gap);padding:0 var(--space-4);pointer-events:none}.toast-layer>*{pointer-events:auto}.toast-region{display:flex;flex-direction:column;gap:var(--toast-gap);width:100%;max-width:var(--toast-max-w)}.toast-region:empty{display:none}.toast{display:flex;align-items:center;gap:var(--space-3);padding:var(--toast-pad-y) var(--toast-pad-x);border-radius:var(--toast-radius);border:1px solid var(--toast-border);border-left:var(--toast-accent-w) solid var(--toast-accent, var(--color-fg-subtle));background:var(--toast-bg);backdrop-filter:blur(var(--toast-blur));-webkit-backdrop-filter:blur(var(--toast-blur));box-shadow:var(--toast-shadow);color:var(--color-fg);font-size:var(--toast-text);animation:toast-in var(--toast-in) both}.toast--info{--toast-accent: var(--color-live)}.toast--success{--toast-accent: var(--state-listening)}.toast--warning{--toast-accent: var(--state-muted)}.toast--error{--toast-accent: var(--state-error)}.toast__icon{flex-shrink:0;color:var(--toast-accent)}.toast__msg{flex:1;min-width:0;line-height:1.35}.toast__action{flex-shrink:0;min-height:var(--touch-target);padding:var(--space-1) var(--space-3);background:var(--color-surface);border:1px solid var(--toast-border);border-radius:var(--radius-pill);color:var(--color-fg-strong);font-size:var(--text-xs);font-weight:var(--weight-bold);cursor:pointer;-webkit-tap-highlight-color:transparent}.toast__action:active{background:var(--color-surface-active)}.toast__close{flex-shrink:0;display:grid;place-items:center;min-width:var(--touch-target);min-height:var(--touch-target);margin:calc(var(--toast-pad-y) * -1) calc(var(--toast-pad-x) * -.5);background:transparent;border:none;color:var(--color-fg-subtle);cursor:pointer;-webkit-tap-highlight-color:transparent}.toast__action:focus-visible,.toast__close:focus-visible{outline:2px solid var(--color-live);outline-offset:2px}.toast.is-paused{border-color:var(--toast-accent)}@keyframes toast-in{0%{opacity:0;transform:translateY(var(--space-4))}to{opacity:1;transform:translateY(0)}}@media (min-width: 769px){.toast-layer{bottom:var(--space-6);align-items:flex-end;padding:0 var(--space-6)}}@media (prefers-reduced-motion: reduce){.toast{animation:none}}:root{--color-bg: #121212;--bg-gradient: radial-gradient(120% 120% at 50% 0%, #161616 0%, #101010 60%, #0c0c0c 100%);--color-surface: rgba(255, 255, 255, .04);--color-surface-hover: rgba(255, 255, 255, .08);--color-surface-active: rgba(255, 255, 255, .14);--color-selection: var(--color-live-soft);--color-fg-strong: rgba(255, 255, 255, .95);--color-fg: rgba(255, 255, 255, .85);--color-fg-muted: rgba(255, 255, 255, .7);--color-fg-subtle: rgba(255, 255, 255, .58);--color-fg-faint: rgba(255, 255, 255, .46);--color-border: rgba(255, 255, 255, .08);--color-border-strong: rgba(255, 255, 255, .18);--color-accent: rgba(255, 255, 255, .95);--color-accent-soft: rgba(255, 255, 255, .06);--color-live: rgba(30, 214, 198, .95);--color-live-soft: rgba(30, 214, 198, .14);--color-live-faint: rgba(30, 214, 198, .06);--color-focus-ring: rgba(30, 214, 198, .95);--area-grammar: rgba(120, 170, 255, .95);--area-grammar-soft: rgba(120, 170, 255, .12);--area-vocab: var(--color-live);--area-vocab-soft: var(--color-live-soft);--area-pronunciation: rgba(190, 150, 255, .95);--area-pronunciation-soft: rgba(190, 150, 255, .12);--transcript-halo: rgba(18, 18, 18, .72);--transcript-halo-blur: 3px;--transcript-text-weight: var(--weight-regular);--orb-live-r: .12;--orb-live-g: .84;--orb-live-b: .78;--color-success: rgba(102, 220, 168, .95);--color-success-soft: rgba(102, 220, 168, .12);--color-error: rgba(255, 132, 144, .95);--color-error-soft: rgba(255, 132, 144, .12);--color-warning: rgba(226, 176, 82, .95);--color-warning-soft: rgba(226, 176, 82, .14);--chat-correction-ink: var(--color-warning);--chat-correction-soft: var(--color-warning-soft);--state-idle: var(--color-fg-subtle);--state-idle-soft: var(--color-surface);--state-listening: var(--color-success);--state-listening-soft: var(--color-success-soft);--state-thinking: rgba(120, 165, 235, .95);--state-thinking-soft: rgba(120, 165, 235, .14);--state-speaking: var(--color-live);--state-speaking-soft: var(--color-live-soft);--state-muted: var(--color-warning);--state-muted-soft: var(--color-warning-soft);--state-error: var(--color-error);--state-error-soft: var(--color-error-soft);--space-px: 1px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 14px;--panel-radius: 16px;--radius-pill: 999px;--glass-bg: rgba(28, 32, 38, .55);--glass-border: rgba(255, 255, 255, .1);--glass-highlight: rgba(255, 255, 255, .14);--glass-blur: 14px;--glass-blur-mobile: 7px;--glass-saturate: 1.2;--elevation-1: 0 1px 2px rgba(0, 0, 0, .28);--elevation-2: 0 8px 30px rgba(0, 0, 0, .36);--elevation-3: 0 16px 48px rgba(0, 0, 0, .46);--glass-inset: inset 0 1px 0 var(--glass-highlight);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--text-2xs: 10px;--text-xs: 11px;--text-sm: 12px;--text-md: 13px;--text-lg: 14px;--text-xl: 16px;--weight-light: 300;--weight-regular: 400;--weight-medium: 500;--weight-bold: 800;--display-phrase: clamp(40px, 5.5vw, 72px);--display-phrase-sub: clamp(18px, 2vw, 26px);--display-phrase-split: clamp(28px, 3.1vw, 42px);--display-phrase-read-split: clamp(17px, 1.9vw, 24px);--display-phrase-sub-split: clamp(15px, 1.6vw, 20px);--display-phrase-read: clamp(24px, 3vw, 40px);--vocab-read-size: clamp(16px, 1.5vw, 22px);--display-tracking: -.025em;--leading-tight: 1.3;--leading-normal: 1.5;--tracking-tight: .3px;--tracking-normal: .5px;--tracking-wide: 1px;--tracking-ui: 1.5px;--container-max: 640px;--container-wide: 1280px;--sidebar-width: 240px;--control-height: 36px;--field-min: 220px;--control-track-height: 2px;--control-thumb-size: 14px;--control-thumb-size-touch: 18px;--status-dot-size: 8px;--transcript-max-height: 200px;--chat-dot-size: 6px;--chat-typing-min: 44px;--chat-old-opacity: .72;--board-glass-bg: rgba(255, 255, 255, .82);--color-board-paper: #f4f7f9;--board-glass-blur: 22px;--board-glass-saturate: 1.4;--board-known-ink: #6b7178;--board-rainbow: radial-gradient(120% 90% at 12% 8%, color-mix(in srgb, var(--gorb-rb-1) 55%, transparent), transparent 46%), radial-gradient(120% 90% at 90% 12%, color-mix(in srgb, var(--gorb-rb-5) 50%, transparent), transparent 48%), radial-gradient(130% 100% at 80% 96%, color-mix(in srgb, var(--gorb-rb-6) 50%, transparent), transparent 50%), radial-gradient(130% 100% at 18% 92%, color-mix(in srgb, var(--gorb-rb-4) 45%, transparent), transparent 50%);--board-rainbow-op: .5;--board-veil: rgba(255, 255, 255, .14);--board-frame: rgba(255, 255, 255, .6);--board-frame-top: rgba(255, 255, 255, .85);--board-frame-bevel: rgba(120, 130, 150, .14);--board-inner-line: rgba(255, 255, 255, .35);--board-radius: 16px;--board-ink: #14181e;--board-ink-soft: #33393f;--board-ink-faint: #474d54;--board-rule: rgba(30, 40, 60, .12);--board-rule-strong: #7f858f;--board-live: #0a7d70;--board-live-ink: #0a6f66;--board-live-soft: rgba(13, 148, 136, .14);--board-accent-mint: color-mix(in srgb, var(--gorb-rb-4) 70%, transparent);--board-accent-lav: color-mix(in srgb, var(--gorb-rb-6) 70%, transparent);--board-state-wash: color-mix(in srgb, var(--orb-state-color, transparent) 10%, transparent);--board-shadow: inset 0 1px 0 rgba(255, 255, 255, .7), inset 0 -18px 34px -20px rgba(80, 90, 120, .12), 0 20px 44px -16px rgba(40, 50, 80, .24), 0 6px 16px -8px rgba(40, 50, 80, .16);--board-tray-top: rgba(255, 255, 255, .75);--board-tray-bottom: rgba(230, 236, 244, .6);--board-tray-sheen: rgba(255, 255, 255, .9);--board-tray-shadow: rgba(40, 50, 80, .16);--board-tray-height: 9px;--board-action-size: var(--touch-target);--board-action-gap: var(--space-2);--board-action-radius: var(--radius-md);--board-action-glyph: var(--text-lg);--board-action-label: var(--text-xs);--board-action-bg: rgba(255, 255, 255, .55);--board-action-bg-hover: rgba(255, 255, 255, .85);--board-action-border: var(--board-rule);--board-action-on-bg: var(--board-live-soft);--board-action-on-ink: var(--board-live-ink);--board-action-shadow: 0 4px 12px -6px rgba(40, 50, 80, .22);--board-action-pulse: 1.6s;--board-action-pulse-ring: 3px;--board-nav-gap: var(--space-2);--board-nav-empty-op: .4;--board-nav-compact: 38px;--board-card-ring: 2px;--board-card-ring-offset: 3px;--board-sheet-step: 5px;--board-sheet-step-compact: 3px;--board-sheet-shrink: .022;--board-sheet-fade: .26;--board-sheet-bg: rgba(255, 255, 255, .5);--board-sheet-border: var(--board-rule);--board-bar-h: var(--touch-target);--board-handle-w: 36px;--board-handle-h: 4px;--board-handle-color: var(--board-ink-faint);--board-handle-color-active: var(--board-live);--board-chip-h: 56px;--board-chip-ink: var(--board-ink-soft);--board-chip-gap: var(--space-2);--board-attempt-h: var(--touch-target);--board-attempt-gap: var(--space-2);--board-attempt-radius: var(--radius-sm);--board-attempt-size: var(--text-sm);--board-attempt-dot: 7px;--board-attempt-turn-ink: var(--board-ink-soft);--board-attempt-turn-bg: transparent;--board-attempt-listening-ink: var(--fixed-success-on-light);--board-attempt-listening-bg: var(--fixed-success-on-light-soft);--board-attempt-ok-ink: var(--fixed-success-on-light);--board-attempt-ok-bg: var(--fixed-success-on-light-soft);--board-attempt-retry-ink: var(--fixed-warning-on-light);--board-attempt-retry-bg: var(--fixed-warning-on-light-soft);--board-attempt-pulse: var(--board-action-pulse);--board-progress-final-gap: var(--space-5);--board-progress-crown-size: clamp(32px, 4vw, 56px);--board-progress-final-title: clamp(22px, 2.6vw, 34px);--board-pinned-bg: color-mix(in srgb, var(--board-live) 8%, var(--color-board-paper));--board-pinned-border: color-mix(in srgb, var(--board-live) 26%, transparent);--board-pinned-max-w: 190px;--board-pinned-pin-size: 10px;--board-pinned-shadow: 0 6px 16px -8px rgba(40, 50, 80, .32);--syllable-glow: 0 0 10px var(--color-live-soft);--syllable-step: .42s;--syllable-lift: -1px;--board-inset: var(--space-8);--chat-inset: var(--space-5);--progress-seg-w: 18px;--progress-seg-h: 3px;--board-split-left: 1fr;--board-split-right: 1fr;--board-scroll-fade: 28px;--meet-sidebar-width: clamp(300px, 26vw, 360px);--board-max: 960px;--board-autofit-floor: .72;--board-phrase-measure: 20ch;--meet-sidebar-top: 26vh;--board-portrait-height: 44dvh;--board-portrait-chat-height: 22dvh;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--dur: .2s;--ease: cubic-bezier(.4, 0, .2, 1);--press-scale: .97;--orb-scene-bg: #121212;--orb-particle-color: #ffffff;--orb-particle-blending: additive;--orb-particle-opacity: .5;--orb-particle-vertex-colors: 0;--gorb-size: min(58vh, 62vw);--gorb-body-alpha: .12;--gorb-saturate: .8;--gorb-brightness: 1.04;--gorb-iridescence: .85;--gorb-rb-1: #ffd9e8;--gorb-rb-2: #ffe7cc;--gorb-rb-3: #fff4b8;--gorb-rb-4: #dff7da;--gorb-rb-5: #d9efff;--gorb-rb-6: #e8dcff;--gorb-mist: rgba(255, 255, 255, .18);--gorb-core: rgba(255, 255, 255, .72);--gorb-rim: rgba(255, 255, 255, .55);--gorb-halo: rgba(255, 255, 255, .28);--gorb-halo-tint: rgba(255, 226, 240, .22);--gorb-inner-shadow: rgba(120, 110, 140, .18);--gorb-contact: rgba(80, 70, 110, .18);--gorb-contact-w: 46%;--gorb-contact-h: 7%;--gorb-contact-bottom: -5%;--gorb-contact-blur: 6px;--gorb-blend: screen;--gorb-nebula-op: .5;--gorb-nebula-op-2: .35;--gorb-nebula-drift: 26s;--gorb-nebula-blur: 12px;--gorb-nebula-blur-2: 14px;--gorb-white-cool: rgba(244, 249, 255, .9);--gorb-rim-outer: rgba(255, 255, 255, .72);--gorb-rim-outer-w: 1px;--gorb-rim-inner: rgba(226, 240, 255, .32);--gorb-rim-inner-w: 2.5px;--gorb-hotspot: rgba(248, 252, 255, .95);--gorb-refraction: rgba(255, 255, 255, .22);--gorb-rim-glow: rgba(255, 255, 255, .1);--gorb-specular-blur: 2px;--gorb-catchlight-blur: .5px;--gorb-hotspot-blur: .5px;--gorb-refraction-blur: 1.5px;--gorb-specular-op: .62;--gorb-lens-top: rgba(255, 255, 255, .3);--gorb-lens-fade: rgba(255, 255, 255, .06);--gorb-lens-shadow: rgba(120, 112, 145, .16);--gorb-lens-blur: 3px;--gorb-caustic: rgba(255, 255, 255, .14);--gorb-tilt: 0deg;--gorb-eye-glow-blur: 3px;--gorb-eye-occlusion: 0 1px 2px 0;--gorb-eye-gleam: rgba(255, 255, 255, .55);--gorb-eye-gleam-w: 55%;--gorb-eye-gleam-h: 22%;--gorb-eye-color: rgba(255, 255, 255, .82);--gorb-eye-glow: rgba(255, 255, 255, .28);--gorb-eye-w: 3.4%;--gorb-eye-h: 12%;--gorb-eye-gap: 15%;--gorb-eye-top: 40%;--gorb-eye-radius: 999px;--gorb-level: 0;--gorb-spin: 42s;--gorb-breathe: 5.2s;--gorb-lum: 1;--oorb-size: min(42vh, 46vw);--oorb-color-fade: 4s;--oorb-highlight: var(--gorb-lens-top);--oorb-mask-fill: var(--mask-fill);--oorb-glow: .25;--orb-brick-line: rgba(255, 255, 255, .035);--orb-brick-w: 92px;--orb-brick-h: 46px;--orb-shadow-r: .02;--orb-shadow-g: .2;--orb-shadow-b: .28;--orb-mid-r: .09;--orb-mid-g: .72;--orb-mid-b: .7;--orb-hi-r: .7;--orb-hi-g: 1;--orb-hi-b: .96;--orb-light-x: -.5;--orb-light-y: .7;--orb-light-z: .5;--orb-lum: .72;--orb-lum-compact: .6;--orb-opacity: .42;--orb-contact-shadow: rgba(0, 0, 0, .32);--orb-contact-blur: 6px;--status-dot-glow: 8px;--mask-fill: #000;--orb-diameter: 60vh;--orb-glass-blend: screen;--orb-glass-specular: rgba(255, 255, 255, .42);--orb-glass-specular-blur: 4px;--orb-glass-refraction: .06;--orb-glass-rim: .4;--orb-glass-rotate: 26s;--orb-glass-rotate-2: 34s;--orb-glass-equator: .05;--orb-glass-halo-alpha: 18%;--orb-glass-halo-blur: 24px;--z-overlay: 10;--z-controls: 15;--z-modal: 20;--z-dialog: 25;--z-toast: 30;--scrim-bg: rgba(10, 12, 16, .55);--scrim-blur: 6px;--controls-cta-size: 72px;--controls-safe-zone: calc(var(--controls-cta-size) + var(--space-8) + var(--space-6));--chat-mic-clearance: calc(var(--controls-cta-size) + var(--space-6));--intro-top-clearance: calc(56px + var(--space-8));--intro-title-size: clamp(30px, 4.2vw, 56px);--mosaic-gap: var(--space-5);--mosaic-card-min: 240px;--mosaic-card-pad: var(--space-6);--mosaic-card-radius: var(--board-radius);--mosaic-card-bg: var(--board-glass-bg);--mosaic-card-shadow: var(--board-shadow);--mosaic-card-hover-lift: -4px;--mosaic-flag-size: clamp(32px, 4vw, 44px);--mosaic-title-size: var(--text-xl);--mosaic-sub-size: var(--text-sm);--mosaic-enter-dur: .6s;--course-art-height: 120px;--course-city-veil: rgba(0, 0, 0, .58);--course-city-ink: #fff;--push-radius: 16px;--push-depth: 4px;--push-live-bg: var(--fixed-live-on-light);--push-live-edge: var(--fixed-live-on-light-deep);--push-live-ink: var(--mk-on-live);--push-ghost-bg: #ffffff;--push-ghost-edge: var(--board-rule);--push-ghost-ink: var(--board-ink);--push-coral-bg: var(--fixed-coral-on-light);--push-coral-edge: var(--fixed-coral-on-light-deep);--push-coral-ink: var(--mk-on-live);--waldo-point-ring: var(--fixed-coral-on-light-deep);--waldo-point-glow: var(--mk-halo-coral);--waldo-point-width: 3px;--syllabus-gap: var(--space-4);--syllabus-row-pad: var(--space-4);--syllabus-cell-radius: var(--radius-md);--syllabus-head-size: var(--text-sm);--syllabus-head-tracking: var(--tracking-ui);--syllabus-level-size: var(--text-xl);--syllabus-module-size: var(--text-lg);--syllabus-summary-size: var(--text-sm);--syllabus-detail-min-h: 64px;--syllabus-title-size-mobile: 24px;--syllabus-live: var(--fixed-live-on-light);--syllabus-live-deep: var(--fixed-live-on-light-deep);--syllabus-live-ink: var(--fixed-live-on-light-ink);--syllabus-live-soft: var(--fixed-live-on-light-soft);--syllabus-path-max-w: 560px;--syllabus-track-badge: 40px;--syllabus-tool-min: 240px;--syllabus-rail-w: 3px;--syllabus-rail: var(--board-rule);--syllabus-rail-done: var(--fixed-success-on-light);--syllabus-node-bg: #ffffff;--syllabus-node-border: var(--board-rule);--syllabus-node-radius: 18px;--syllabus-node-depth: var(--push-depth);--syllabus-node-icon: 44px;--syllabus-next-halo: rgba(23, 182, 176, .34);--syllabus-rainbow-op: .18;--syllabus-board-max-w: 1040px;--syllabus-board-pad: var(--space-8);--syllabus-ink: var(--board-ink);--syllabus-ink-soft: var(--board-ink-soft);--syllabus-ink-faint: var(--board-ink-faint);--syllabus-rule-board: var(--board-rule);--syllabus-cell-hover-board: rgba(255, 255, 255, .5);--syllabus-accent-grammar: #2d5fc4;--syllabus-accent-grammar-soft: rgba(45, 95, 196, .1);--syllabus-accent-speaking: var(--board-live-ink);--syllabus-accent-speaking-soft: var(--board-live-soft);--syllabus-accent-listening: #6b4fd8;--syllabus-accent-listening-soft: rgba(107, 79, 216, .1);--syllabus-badge-ink: var(--board-live-ink);--syllabus-badge-bg: var(--board-live-soft);--syllabus-badge-pad: 2px var(--space-2);--syllabus-crumb-ink: var(--color-fg-subtle);--syllabus-crumb-active: var(--color-live);--syllabus-crumb-sep: var(--color-fg-faint);--syllabus-summary-ink: var(--board-ink-soft);--syllabus-cta-pad: var(--space-2) var(--space-4);--syllabus-back-ink: var(--color-fg-subtle);--syllabus-back-hover: var(--color-fg-strong);--syllabus-overall-track: var(--board-rule);--syllabus-overall-fill: var(--color-live);--syllabus-overall-h: 6px;--syllabus-overall-w: 160px;--syllabus-done-ink: var(--grammar-correct-ink);--syllabus-done-soft: var(--grammar-correct-soft);--syllabus-done-row-opacity: .82;--syllabus-practiced-ink: var(--syllabus-accent-speaking);--syllabus-practiced-soft: var(--syllabus-accent-speaking-soft);--syllabus-meta-ink: var(--board-ink-faint);--grammar-board-max-w: var(--syllabus-board-max-w);--grammar-board-pad: var(--syllabus-board-pad);--grammar-board-pad-short: var(--space-4);--grammar-board-gap-short: var(--space-3);--grammar-shell-pad-short: var(--space-3);--grammar-board-pad-tight: var(--space-2);--grammar-board-gap-tight: var(--space-1);--grammar-sentence-gap: var(--space-6);--grammar-sentence-size: clamp(18px, 2.2vw, 24px);--grammar-sentence-leading: 2.1;--grammar-sentence-leading-choice: calc( var(--grammar-choice-h) + var(--grammar-mark-size) + var(--space-2) );--grammar-hint-size: var(--text-sm);--grammar-hint-ink: var(--syllabus-ink-faint);--grammar-note-measure: 46ch;--grammar-note-size: var(--text-sm);--grammar-note-pad: var(--space-2) var(--space-3);--grammar-note-bar-w: 3px;--grammar-note-tag-opacity: .75;--grammar-mark-size: 16px;--grammar-mark-bg: var(--book-field-bg);--intro-card-max-w: 460px;--intro-card-pad: var(--space-7);--intro-card-gap: var(--space-5);--intro-backdrop: rgba(10, 14, 20, .45);--intro-backdrop-blur: 3px;--intro-dot-size: 6px;--intro-dot-idle: var(--board-rule);--intro-dot-active: var(--board-live);--intro-rule-gap: var(--space-2);--intro-reveal-dur: .45s;--intro-card-pad-short: var(--space-4);--intro-card-gap-short: var(--space-3);--intro-orb-short: 28px;--grammar-blank-min-w: 72px;--grammar-blank-pad: 0 var(--space-2);--grammar-blank-radius: var(--radius-sm);--grammar-blank-ink: var(--syllabus-ink);--grammar-blank-rule: var(--board-rule);--grammar-blank-rule-focus: var(--color-live);--grammar-blank-bg-focus: var(--color-live-soft);--fixed-success-on-light: #12744f;--fixed-success-on-light-soft: rgba(18, 116, 79, .12);--fixed-error-on-light: #b4232f;--fixed-error-on-light-soft: rgba(180, 35, 47, .1);--fixed-warning-on-light: #8a5200;--fixed-warning-on-light-soft: rgba(138, 82, 0, .1);--fixed-live-on-light: #17B6B0;--fixed-live-on-light-deep: #0D8F8A;--fixed-live-on-light-ink: #076E68;--fixed-live-on-light-soft: #D3F1EE;--fixed-coral-on-light: #FF8A6B;--fixed-coral-on-light-deep: #E7623F;--fixed-coral-on-light-ink: #A93D1C;--fixed-coral-on-light-soft: #FFE3D8;--grammar-correct-ink: var(--fixed-success-on-light);--grammar-correct-soft: var(--fixed-success-on-light-soft);--grammar-incorrect-ink: var(--fixed-error-on-light);--grammar-incorrect-soft: var(--fixed-error-on-light-soft);--grammar-feedback-min-h: 64px;--grammar-feedback-pad: var(--space-3) var(--space-4);--grammar-feedback-min-h-short: var(--touch-target);--grammar-feedback-pad-short: var(--space-2) var(--space-3);--grammar-feedback-orb-short: var(--intro-orb-short);--grammar-feedback-min-h-tight: calc(var(--grammar-feedback-orb-short) + var(--space-2));--grammar-feedback-pad-tight: var(--space-1) var(--space-3);--grammar-feedback-bg: rgba(255, 255, 255, .5);--grammar-feedback-radius: var(--radius-md);--grammar-feedback-orb-size: 38px;--grammar-progress-track: var(--board-rule);--grammar-progress-fill: var(--color-live);--grammar-progress-h: 6px;--grammar-progress-w: 84px;--grammar-foot-pad-y: var(--space-3);--grammar-foot-bg: rgba(255, 255, 255, .94);--grammar-foot-blur: 12px;--grammar-foot-rule: var(--board-rule);--grammar-foot-shadow: 0 -8px 24px -16px rgba(0, 0, 0, .5);--grammar-foot-theme-gap: calc(var(--touch-target) + var(--space-4) + var(--space-3));--grammar-foot-row-h: 56px;--grammar-foot-ring-size: 36px;--grammar-foot-ring-stroke: 3px;--grammar-foot-ring-track: var(--grammar-progress-track);--grammar-foot-ring-fill: var(--grammar-progress-fill);--grammar-foot-btn-h: var(--touch-target);--grammar-foot-icon-btn: var(--touch-target);--book-accent: #ea580c;--book-accent-ink: #a63c06;--book-accent-soft: rgba(234, 88, 12, .1);--book-accent-rule: rgba(234, 88, 12, .28);--book-band-bg: #374151;--book-band-ink: rgba(255, 255, 255, .95);--book-band-ink-soft: rgba(255, 255, 255, .72);--book-table-bg: #edebfa;--book-table-rule: #7a6bc9;--book-plus-bg: #fefce8;--book-plus-border: #fde047;--book-max-w: 900px;--book-pad: var(--space-6);--book-col-gap: var(--space-8);--book-code-size: clamp(40px, 6vw, 56px);--book-section-size: var(--text-xl);--book-letter-size: var(--text-xl);--book-badge-size: 18px;--be-am-fill: #2ed9a0;--be-is-fill: #4fa3f7;--be-are-fill: #ff8a5b;--be-form-ink: var(--board-ink);--be-form-pad: var(--space-1) var(--space-3);--be-form-radius: var(--radius-pill);--be-form-size: var(--text-sm);--be-form-weight: var(--weight-bold);--grammar-section-bg: var(--book-table-bg);--grammar-section-rule: var(--book-table-rule);--grammar-section-pad: var(--space-3) var(--space-4);--grammar-section-radius: var(--radius-sm);--grammar-section-gap: var(--space-2);--grammar-section-letter-size: var(--text-2xs);--grammar-section-title-size: var(--text-xl);--grammar-section-instruction-size: var(--text-sm);--grammar-section-edge: 3px;--grammar-choice-gap: var(--space-2);--grammar-choice-h: var(--touch-target);--grammar-choice-pad: 0 var(--space-4);--grammar-choice-radius: var(--radius-pill);--grammar-choice-size: var(--text-xl);--grammar-choice-weight: var(--weight-medium);--grammar-choice-bg: rgba(255, 255, 255, .72);--grammar-choice-ink: var(--board-ink-soft);--grammar-choice-border: var(--board-rule-strong);--grammar-choice-border-w: 2px;--grammar-choice-bg-on: var(--board-live-soft);--grammar-choice-ink-on: var(--board-ink);--grammar-choice-border-on: var(--board-live);--grammar-choice-weight-on: var(--weight-bold);--grammar-choice-edge: var(--board-rule-strong);--grammar-choice-edge-on: var(--fixed-live-on-light-deep);--grammar-strip-h: 6px;--grammar-strip-gap: var(--space-2);--grammar-strip-step-max: 40px;--grammar-strip-todo: var(--board-rule);--grammar-strip-done: var(--fixed-success-on-light);--grammar-strip-current: var(--fixed-live-on-light);--grammar-block-gap: var(--space-3);--grammar-block-label-size: var(--text-xs);--grammar-block-ink: var(--board-ink-faint);--grammar-block-dot-size: 6px;--grammar-block-dot-active-w: var(--space-4);--grammar-block-dot-h-mobile: 4px;--grammar-block-dot-gap-mobile: 2px;--grammar-block-dot-idle: var(--board-rule-strong);--grammar-block-dot-active: var(--board-live);--grammar-block-dot-done: var(--grammar-correct-ink);--grammar-blockdone-bg: var(--grammar-correct-soft);--grammar-blockdone-ink: var(--grammar-correct-ink);--grammar-blockdone-pad: var(--space-4);--grammar-blockdone-radius: var(--radius-md);--grammar-blockdone-gap: var(--space-2);--grammar-blockdone-title-size: var(--text-lg);--grammar-rule-bg: var(--book-table-bg);--grammar-rule-pad: var(--space-3);--grammar-rule-radius: var(--radius-md);--grammar-rule-gap: var(--space-2);--grammar-rule-label-size: var(--text-2xs);--grammar-rule-label-ink: var(--board-ink-faint);--grammar-rule-size: var(--text-md);--grammar-rule-ink: var(--board-ink);--book-audio-size: var(--text-sm);--book-audio-gap: var(--space-2);--book-bank-used-ink: #5b6169;--book-bank-used-thickness: 2px;--book-bubble-mine-bg: #fff7ed;--book-bubble-mine-border: var(--book-accent-rule);--book-bubble-theirs-bg: #eef2f7;--book-bubble-theirs-border: var(--board-rule);--book-bubble-radius: var(--radius-lg);--book-bubble-pad: var(--space-3);--book-grid-bg: #f8fafc;--book-grid-rule: var(--board-rule);--book-tick-size: 22px;--book-field-h: var(--touch-target);--book-field-bg: #ffffff;--book-plus-term-ink: var(--book-accent-ink);--book-plus-gap: var(--space-3);--book-plus-pair-gap: var(--space-4);--book-span-line: var(--book-accent);--book-span-thickness: 2px;--book-span-cap-h: 10px;--book-span-gap: var(--space-1);--book-cando-bg: #0e7490;--book-cando-ink: #ffffff;--book-cando-ink-soft: rgba(255, 255, 255, .88);--book-cando-rule: rgba(255, 255, 255, .3);--book-cando-row-bg: #ecfeff;--book-cando-row-gap: 1px;--book-cando-pad: var(--space-4);--book-cando-glyph-size: var(--text-lg);--book-unit-title-size: clamp(var(--text-xl), 3.4vw, 26px);--book-rate-size: var(--touch-target);--book-rate-bg: var(--book-cando-row-bg);--book-rate-ink: var(--board-ink);--book-rate-rule: var(--book-cando-bg);--book-rate-on-bg: var(--book-cando-bg);--book-rate-on-ink: #ffffff;--book-rate-gap: var(--space-2);--listening-accent: var(--syllabus-accent-listening);--listening-accent-soft: var(--syllabus-accent-listening-soft);--listening-wave-played: var(--listening-accent);--listening-wave-future: var(--board-rule);--listening-wave-bar-w: 3px;--listening-wave-gap: 3px;--listening-wave-h: 56px;--listening-wave-radius: var(--radius-pill);--listening-wave-pad: var(--space-4);--listening-wave-bg: rgba(255, 255, 255, .06);--listening-wave-border: var(--board-frame);--listening-wave-blur: 8px;--listening-capsule-min-w: 84px;--listening-capsule-pad: var(--space-1) var(--space-3);--listening-capsule-radius: var(--radius-md);--listening-capsule-bg: rgba(255, 255, 255, .5);--listening-capsule-border: var(--board-frame);--listening-capsule-ink: var(--syllabus-ink);--listening-capsule-focus: var(--color-live);--listening-capsule-focus-bg: var(--color-live-soft);--listening-capsule-blur: 12px;--listening-orb-size: 52px;--listening-orb-pulse-dur: 1.6s;--listening-word-dim: var(--syllabus-ink-faint);--listening-word-lit: var(--syllabus-ink);--listening-sentence-size: clamp(18px, 2.2vw, 24px);--listening-sentence-leading: 2.1;--lab-sidebar-w: 232px;--lab-sidebar-w-collapsed: 60px;--lab-sidebar-pad: var(--space-4);--lab-sidebar-gap: var(--space-1);--lab-sidebar-radius: var(--radius-md);--lab-sidebar-bg: var(--board-glass-bg);--lab-sidebar-blur: var(--board-glass-blur);--lab-sidebar-border: var(--board-frame);--lab-sidebar-ink: var(--board-ink-soft);--lab-sidebar-ink-active: var(--board-ink);--lab-sidebar-item-hover: var(--board-veil);--lab-sidebar-item-bg-active: var(--board-live-soft);--lab-sidebar-accent: var(--board-live);--lab-progress-max-w: var(--syllabus-board-max-w);--lab-progress-card-pad: var(--space-4);--lab-progress-track-h: var(--grammar-progress-h);--lab-progress-fill: var(--color-live);--insights-value-col: 42%;--insights-cell-pad-y: var(--space-3);--insights-cell-pad-x: var(--space-3);--insights-lesson-pad-y: var(--space-3);--insights-lesson-bg: var(--board-veil);--insights-lesson-gap: var(--space-5);--lab-sidebar-title-size: var(--text-sm);--lab-sidebar-item-size: var(--text-lg);--lab-sidebar-transition: var(--transition-normal);--gallery-gap: var(--space-5);--gallery-pad: var(--space-6);--gallery-max-w: 880px;--gallery-fade: var(--space-6);--flag-radius: var(--radius-sm);--flag-hairline: rgba(0, 0, 0, .12);--brand-logo-h: clamp(52px, 5.7vw, 73px);--font-display: "Fraunces", Georgia, "Times New Roman", serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-brand-mono: "Space Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--mk-bg: #F8F4EE;--mk-bg-deep: #EDE4DA;--mk-surface: #FFFDFB;--mk-surface-2: #F1EAE1;--mk-ink: #1C1A1A;--mk-ink-muted: #5A534E;--mk-ink-subtle: #756D65;--mk-border: #E4DBD0;--mk-border-soft: #EDE6DC;--mk-border-strong: #D2C6B8;--mk-live: #17B6B0;--mk-live-deep: #0D8F8A;--mk-live-ink: #076E68;--mk-live-soft: #D3F1EE;--mk-on-live: #052220;--mk-coral: #FF8A6B;--mk-coral-deep: #E7623F;--mk-coral-ink: #B8431F;--mk-coral-soft: #FFE3D8;--mk-lila: #B7A7FF;--mk-lila-soft: #EAE4FF;--mk-listening: var(--mk-live-ink);--mk-thinking: #6B4FD8;--mk-speaking: var(--mk-coral-ink);--mk-violet: #6B4FD8;--mk-amber: #E7623F;--mk-r-card: 20px;--mk-r-sm: 12px;--mk-r-pill: 999px;--mk-shadow-card: 0 24px 60px -24px rgba(60, 40, 30, .2), 0 6px 18px -10px rgba(60, 40, 30, .12);--mk-shadow-soft: 0 12px 32px -18px rgba(60, 40, 30, .14);--mk-shadow-lift: 0 30px 72px -28px rgba(60, 40, 30, .26), 0 8px 22px -12px rgba(60, 40, 30, .14);--mk-gap-xs: 8px;--mk-gap-sm: 12px;--mk-gap-md: 16px;--mk-gap-lg: 24px;--mk-gap-xl: 32px;--mk-gap-2xl: 48px;--mk-gap-3xl: 64px;--mk-section-pad-y: clamp(72px, 9vw, 120px);--mk-page-gutter: clamp(20px, 6vw, 160px);--mk-content-max: 1120px;--mk-card-max: 440px;--mk-prose-max: 68ch;--mk-display-hero: clamp(40px, 6vw, 68px);--mk-display-lg: clamp(30px, 4vw, 46px);--mk-display-md: clamp(22px, 2.6vw, 30px);--mk-text-lead: clamp(17px, 1.5vw, 20px);--mk-text-body: 16px;--mk-text-sm: 14px;--mk-text-xs: 12px;--mk-eyebrow: 13px;--mk-tracking-eyebrow: 1.6px;--mk-leading-tight: 1.12;--mk-leading-body: 1.6;--mk-glass-bg: rgba(255, 253, 251, .82);--mk-glass-border: rgba(255, 255, 255, .7);--mk-glass-blur: 20px;--mk-frost-bg: rgba(255, 253, 251, .8);--mk-frost-border: rgba(255, 255, 255, .68);--mk-frost-blur: 22px;--mk-glass2-bg: rgba(255, 255, 255, .16);--mk-glass2-border: rgba(255, 255, 255, .3);--mk-glass2-blur: 18px;--mk-sheer-bg: rgba(255, 255, 255, .1);--mk-sheer-border: rgba(255, 255, 255, .26);--mk-sheer-blur: 12px;--mk-glass-shadow: 0 18px 44px -20px rgba(60, 40, 30, .28), inset 0 1px 0 rgba(255, 255, 255, .55);--mk-glass-sheen: linear-gradient(115deg, transparent 30%, rgba(255, 255, 255, .55) 48%, transparent 66%);--mk-lg-bg: rgba(255, 255, 255, .14);--mk-lg-border: rgba(255, 255, 255, .38);--mk-lg-blur: 12px;--mk-lg-saturate: 160%;--mk-lg-shadow: 0 8px 32px rgba(40, 30, 20, .22), inset 0 1px 1px rgba(255, 255, 255, .6), inset 0 -2px 6px rgba(255, 255, 255, .16);--mk-lg-glow: radial-gradient(circle at 30% 40%, color-mix(in srgb, var(--mk-live) 85%, transparent) 0%, color-mix(in srgb, var(--mk-live-deep) 55%, transparent) 38%, transparent 72%);--mk-lg-glow-blur: 8px;--mk-lg-halo: drop-shadow(0 0 22px color-mix(in srgb, var(--mk-live) 50%, transparent));--mk-edge-fade: clamp(20px, 6vw, 40px);--mk-halo-teal: rgba(23, 182, 176, .34);--mk-halo-coral: rgba(255, 138, 107, .3);--mk-halo-lila: rgba(183, 167, 255, .3);--mk-ease: cubic-bezier(.22, 1, .36, 1);--mk-dur-fast: .18s;--mk-dur: .32s;--mk-dur-slow: .6s;--mk-sheen-dur: 6s;--touch-target: 44px;--touch-target-lg: 48px;--bp-mobile: 768px;--progress-seg-h-thick: 5px;--chat-bubble-max: 85%;--chat-measure: 65ch;--avatar-mobile-size: clamp(120px, 40vw, 200px);--intro-title-fluid: clamp(2rem, 9vw, 3rem);--thumb-bar-bottom: calc(var(--controls-cta-size) + var(--space-8) + var(--sa-bottom, 0px));--mobfoot-h: 60px;--mobfoot-inset: var(--sa-bottom, 0px);--mobfoot-total: calc(var(--mobfoot-h) + var(--mobfoot-inset));--mobfoot-clearance: calc(var(--mobfoot-total) + var(--space-6));--mobfoot-bg: color-mix(in srgb, var(--color-bg) 82%, transparent);--mobfoot-blur: 18px;--mobfoot-border: var(--color-border);--mobfoot-shadow: 0 -8px 24px -16px rgba(0, 0, 0, .5);--mobfoot-orb-size: 56px;--mobfoot-orb-lift: calc(var(--mobfoot-orb-size) * .42);--mobfoot-ring-w: 3px;--mobfoot-ring-spin: 3s;--mobfoot-mic-bg: var(--color-surface);--mobfoot-mic-ink: var(--color-fg-strong);--mobfoot-label-size: var(--text-2xs);--mobfoot-icon: 20px;--mobfoot-badge-size: 16px;--mobfoot-menu-size: calc(var(--touch-target) + var(--space-1));--mobfoot-menu-icon: 24px;--waldo-dock-edge: clamp(16px, 3vw, 40px);--waldo-dock-edge-mobile: calc(var(--mobfoot-total) + var(--space-3));--waldo-dock-orb: 104px;--waldo-dock-orb-mobile: 72px;--menusheet-row-gap: var(--space-3);--menusheet-row-h: calc(var(--touch-target) + var(--space-3));--menusheet-row-radius: var(--radius-lg);--menusheet-row-hover: var(--color-surface-hover);--menusheet-icon: 20px;--menusheet-group-size: var(--text-xs);--menusheet-group-tracking: var(--tracking-ui);--menusheet-desc-size: var(--text-sm);--menusheet-avatar: 36px;--wave-h: 26px;--wave-bar-w: 3px;--wave-gap: 2px;--wave-radius: var(--radius-pill);--wave-color: var(--state-listening);--wave-color-idle: var(--color-fg-subtle);--wave-ease: 90ms linear;--micdock-orb-size: 116px;--micdock-gap: var(--space-3);--micdock-wave-band: calc(var(--wave-h) + var(--space-1) + var(--text-xs));--micdock-orb-band: calc( var(--micdock-orb-size) + var(--space-px) + var(--text-sm) * 1.2 );--micdock-hint-band: calc(var(--ptt-hint-size) * 2.4);--micdock-h: calc( var(--micchip-h) + var(--micdock-wave-band) + var(--micdock-orb-band) + var(--micdock-hint-band) + var(--touch-target) + var(--space-2) + var(--touch-target) + 5 * var(--micdock-gap) );--micdock-inset: var(--sa-bottom, 0px);--micdock-clearance: calc(var(--micdock-h) + var(--micdock-inset));--stage-header-h: 56px;--stage-gap: var(--space-3);--stage-side: var(--space-3);--stage-h: calc( 100dvh - var(--stage-header-h) - var(--micdock-clearance) - max(var(--space-4), var(--sa-top, 0px)) - 2 * var(--stage-gap) );--stage-orb-min: 132px;--stage-orb-max: 260px;--stage-board-h: max( 96px, min( calc((100vw - 2 * var(--stage-side)) / (16 / 9)), calc(var(--stage-h) - var(--stage-orb-min)) ) );--stage-board-occupied: var(--board-fold-h, var(--stage-board-h));--stage-orb-size: clamp( var(--stage-orb-min), calc(var(--stage-h) - var(--stage-board-occupied)), var(--stage-orb-max) );--stage-board-radius: var(--radius-lg);--stage-board-bar-h: 30px;--ptt-hint-size: var(--text-xs);--ptt-track-w: 2px;--ptt-lock-color: var(--state-speaking);--ptt-cancel-color: var(--state-error);--micchip-h: 28px;--micchip-radius: var(--radius-pill);--micchip-bg: var(--state-listening-soft);--micchip-dot: 8px;--link-bar-w: 3px;--link-bar-gap: 2px;--link-bar-h: 6px;--link-good: var(--state-listening);--link-fair: var(--state-muted);--link-poor: var(--state-error);--link-off: var(--color-fg-subtle);--sheet-radius: 20px;--sheet-bg: var(--color-bg);--sheet-handle-w: 36px;--sheet-handle-h: 4px;--sheet-scrim: rgba(0, 0, 0, .45);--sheet-shadow: 0 -12px 40px -20px rgba(0, 0, 0, .7);--sheet-pad: var(--space-6);--sheet-max-w: 560px;--sheet-max-w-desktop: 460px;--sheet-spring: .26s cubic-bezier(.32, .72, 0, 1);--toast-max-w: 420px;--toast-radius: var(--radius-lg);--toast-gap: var(--space-2);--toast-pad-y: var(--space-3);--toast-pad-x: var(--space-4);--toast-bg: color-mix(in srgb, var(--color-bg) 92%, transparent);--toast-border: var(--glass-border);--toast-blur: 14px;--toast-shadow: 0 8px 28px -12px rgba(0, 0, 0, .55);--toast-text: var(--text-sm);--toast-accent-w: 3px;--toast-in: .22s cubic-bezier(.32, .72, 0, 1);--lessonarrow-size: var(--touch-target);--lessonarrow-gap: var(--space-2);--lessonarrow-bg: var(--glass-bg);--lessonarrow-border: var(--glass-border);--lessonarrow-ink: var(--color-fg-subtle);--lessonarrow-ink-hover: var(--color-fg-strong);--lessonarrow-empty-op: .4;--grammar-blanknav-bg: transparent;--grammar-blanknav-border: var(--board-rule);--grammar-blanknav-ink: var(--syllabus-ink-soft);--pull-dial-size: var(--space-8);--pull-rest-y: calc(-1 * var(--space-10));--pull-gap: var(--space-2);--pull-bg: var(--toast-bg);--pull-border: var(--glass-border);--pull-blur: var(--toast-blur);--pull-shadow: var(--toast-shadow);--pull-ink: var(--color-fg-subtle);--pull-ready-ink: var(--color-live);--pull-label-size: var(--text-xs);--pull-spin-dur: 1s;--screen-preview-dark: radial-gradient(120% 120% at 50% 0%, #161616 0%, #101010 60%, #0c0c0c 100%);--screen-preview-light: linear-gradient(160deg, #fafbfc 0%, #eef1f5 100%);--screen-preview-ratio: 16 / 9;--screen-preview-radius: var(--radius-md);--screen-option-pad: var(--space-3);--screen-option-gap: var(--space-3);--screen-option-radius: var(--radius-md);--screen-option-active: var(--color-live);--screen-option-active-soft: var(--color-live-soft)}:root[data-theme=light]{--color-bg: #f6f7f9;--bg-gradient: linear-gradient(160deg, #fafbfc 0%, #eef1f5 100%);--orb-brick-line: rgba(40, 50, 70, .045);--color-surface: rgba(0, 0, 0, .04);--color-surface-hover: rgba(0, 0, 0, .08);--color-surface-active: rgba(0, 0, 0, .14);--color-selection: var(--color-live-soft);--color-fg-strong: rgba(0, 0, 0, .92);--color-fg: rgba(0, 0, 0, .82);--color-fg-muted: rgba(0, 0, 0, .68);--color-fg-subtle: rgba(0, 0, 0, .62);--color-fg-faint: rgba(0, 0, 0, .54);--color-border: rgba(0, 0, 0, .08);--color-border-strong: rgba(0, 0, 0, .2);--color-accent: rgba(0, 0, 0, .92);--color-accent-soft: rgba(0, 0, 0, .06);--color-live: rgba(15, 160, 148, .95);--color-live-soft: rgba(15, 160, 148, .14);--color-live-faint: rgba(15, 160, 148, .07);--color-focus-ring: rgba(13, 143, 138, .95);--area-grammar: rgba(52, 110, 220, .95);--area-grammar-soft: rgba(52, 110, 220, .1);--area-pronunciation: rgba(135, 90, 220, .95);--area-pronunciation-soft: rgba(135, 90, 220, .1);--transcript-halo: rgba(247, 247, 245, .82);--orb-live-r: .06;--orb-live-g: .63;--orb-live-b: .58;--color-success: rgba(16, 116, 80, .95);--color-success-soft: rgba(16, 116, 80, .12);--color-error: rgba(190, 50, 70, .95);--color-error-soft: rgba(190, 50, 70, .1);--color-warning: rgba(140, 95, 8, .95);--color-warning-soft: rgba(176, 120, 20, .14);--chat-correction-ink: rgba(74, 48, 0, 1);--chat-correction-soft: var(--color-warning-soft);--state-idle: var(--color-fg-subtle);--state-idle-soft: var(--color-surface);--state-listening: var(--color-success);--state-listening-soft: var(--color-success-soft);--state-thinking: rgba(52, 96, 176, .95);--state-thinking-soft: rgba(52, 96, 176, .12);--state-speaking: rgba(8, 110, 102, .95);--state-speaking-soft: var(--color-live-soft);--state-muted: var(--color-warning);--state-muted-soft: var(--color-warning-soft);--state-error: var(--color-error);--state-error-soft: var(--color-error-soft);--glass-bg: rgba(255, 255, 255, .72);--glass-border: rgba(18, 21, 26, .08);--glass-highlight: rgba(255, 255, 255, .9);--glass-blur: 14px;--glass-blur-mobile: 7px;--glass-saturate: 1.2;--elevation-1: 0 1px 2px rgba(18, 21, 26, .08);--elevation-2: 0 8px 30px rgba(18, 21, 26, .1);--elevation-3: 0 16px 48px rgba(18, 21, 26, .16);--glass-inset: inset 0 1px 0 var(--glass-highlight);--orb-scene-bg: #f7f7f5;--orb-particle-color: #1a1a1a;--orb-particle-blending: normal;--orb-particle-opacity: .85;--orb-particle-vertex-colors: 1;--orb-shadow-r: .06;--orb-shadow-g: .6;--orb-shadow-b: .6;--orb-mid-r: .13;--orb-mid-g: .82;--orb-mid-b: .78;--orb-hi-r: .7;--orb-hi-g: 1;--orb-hi-b: .94;--orb-lum: 1;--orb-lum-compact: .88;--orb-opacity: .82;--orb-contact-shadow: rgba(18, 90, 84, .18);--orb-glass-blend: normal;--orb-glass-specular: rgba(255, 255, 255, .55);--orb-glass-refraction: .03;--orb-glass-rim: .35;--orb-glass-equator: .04;--gorb-body-alpha: .3;--gorb-saturate: .98;--gorb-brightness: 1;--gorb-mist: rgba(255, 255, 255, .22);--gorb-blend: normal;--gorb-nebula-op: .82;--gorb-nebula-op-2: .55;--gorb-rb-1: #ff9ec4;--gorb-rb-2: #ffc08a;--gorb-rb-3: #ffe27a;--gorb-rb-4: #8fe6bf;--gorb-rb-5: #8ec9ff;--gorb-rb-6: #c3a4ff;--gorb-halo: rgba(150, 130, 200, .2);--gorb-halo-tint: rgba(255, 170, 210, .18);--gorb-inner-shadow: rgba(90, 80, 120, .16);--gorb-contact: rgba(90, 80, 120, .2);--gorb-core: rgba(255, 255, 255, .5);--gorb-eye-color: rgba(90, 84, 120, .7);--gorb-eye-glow: rgba(120, 110, 160, .2);--gorb-white-cool: rgba(255, 255, 255, .92);--gorb-rim-outer: rgba(110, 125, 170, .72);--gorb-rim-inner: rgba(140, 155, 195, .4);--gorb-hotspot: rgba(255, 255, 255, .98);--gorb-refraction: rgba(255, 255, 255, .4);--gorb-specular-op: .72;--gorb-lens-top: rgba(255, 255, 255, .42);--gorb-lens-fade: rgba(255, 255, 255, .1);--gorb-lens-shadow: rgba(110, 100, 135, .2);--gorb-caustic: rgba(150, 165, 200, .2);--gorb-eye-gleam: rgba(235, 240, 250, .75);--orb-glass-halo-alpha: 30%;--orb-glass-halo-blur: 30px;--board-glass-bg: rgba(255, 255, 255, .85);--board-rainbow-op: .6;--board-shadow: inset 0 1px 0 rgba(255, 255, 255, .8), inset 0 -18px 34px -20px rgba(80, 90, 120, .1), 0 20px 44px -16px rgba(60, 70, 90, .18), 0 6px 16px -8px rgba(60, 70, 90, .12)}:root[data-theme=dark]{--mk-bg: #171417;--mk-bg-deep: #120F12;--mk-surface: #221E22;--mk-surface-2: #2A252A;--mk-ink: #F6EFE9;--mk-ink-muted: #C3B8AE;--mk-ink-subtle: #8E837B;--mk-border: rgba(255, 255, 255, .12);--mk-border-soft: rgba(255, 255, 255, .08);--mk-border-strong: rgba(255, 255, 255, .22);--mk-live: #2BD4CC;--mk-live-deep: #17B6B0;--mk-live-ink: #6FE6DF;--mk-live-soft: rgba(43, 212, 204, .16);--mk-on-live: #052220;--mk-coral: #FF8A6B;--mk-coral-deep: #FF7350;--mk-coral-ink: #FFB49E;--mk-coral-soft: rgba(255, 138, 107, .18);--mk-lila: #C6B8FF;--mk-lila-soft: rgba(183, 167, 255, .18);--mk-listening: var(--mk-live-ink);--mk-thinking: #B7A7FF;--mk-speaking: var(--mk-coral-ink);--mk-violet: #B7A7FF;--mk-shadow-card: 0 24px 60px -24px rgba(0, 0, 0, .6), 0 6px 18px -10px rgba(0, 0, 0, .5);--mk-shadow-soft: 0 12px 32px -18px rgba(0, 0, 0, .5);--mk-shadow-lift: 0 30px 72px -28px rgba(0, 0, 0, .7), 0 8px 22px -12px rgba(0, 0, 0, .5);--mk-glass-bg: rgba(40, 36, 40, .66);--mk-glass-border: rgba(255, 255, 255, .2);--mk-frost-bg: rgba(40, 36, 40, .68);--mk-frost-border: rgba(255, 255, 255, .18);--mk-glass2-bg: rgba(255, 255, 255, .1);--mk-glass2-border: rgba(255, 255, 255, .22);--mk-sheer-bg: rgba(255, 255, 255, .07);--mk-sheer-border: rgba(255, 255, 255, .18);--mk-glass-shadow: 0 18px 44px -20px rgba(0, 0, 0, .6), inset 0 1px 0 rgba(255, 255, 255, .14);--mk-halo-teal: rgba(43, 212, 204, .3);--mk-halo-coral: rgba(255, 138, 107, .26);--mk-halo-lila: rgba(183, 167, 255, .26)}@media (max-height: 700px){:root{--micdock-orb-size: 92px;--micdock-gap: var(--space-2)}}@media (min-width: 1600px){:root{--board-max: 1180px;--meet-sidebar-width: clamp(360px, 24vw, 460px);--meet-sidebar-top: 22vh}}@media (min-width: 2000px){:root{--board-max: 1360px;--meet-sidebar-width: clamp(420px, 22vw, 520px)}}:root{--sa-top: env(safe-area-inset-top, 0px);--sa-right: env(safe-area-inset-right, 0px);--sa-bottom: env(safe-area-inset-bottom, 0px);--sa-left: env(safe-area-inset-left, 0px)}html.is-native{--sa-top: var(--safe-area-inset-top, env(safe-area-inset-top, 0px));--sa-right: var(--safe-area-inset-right, env(safe-area-inset-right, 0px));--sa-bottom: var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px));--sa-left: var(--safe-area-inset-left, env(safe-area-inset-left, 0px))}html,body,#root{margin:0;padding:0;width:100%;height:100%;background-color:var(--color-bg);background-image:var(--bg-gradient);background-attachment:fixed;overflow:hidden;font-family:var(--font-sans);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .35s ease,color .35s ease}:root{color-scheme:dark}:root[data-theme=light]{color-scheme:light}::selection{background:var(--color-selection)}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.waldo-highlight{box-shadow:0 0 0 var(--waldo-point-width) var(--waldo-point-ring),0 0 0 calc(var(--waldo-point-width) + 6px) var(--waldo-point-glow);animation:waldo-point-pulse 1.4s ease-in-out 2}@keyframes waldo-point-pulse{0%,to{box-shadow:0 0 0 var(--waldo-point-width) var(--waldo-point-ring),0 0 0 calc(var(--waldo-point-width) + 6px) var(--waldo-point-glow)}50%{box-shadow:0 0 0 var(--waldo-point-width) var(--waldo-point-ring),0 0 0 calc(var(--waldo-point-width) + 14px) transparent}}@media (prefers-reduced-motion: reduce){.waldo-highlight{animation:none}}@media (prefers-contrast: more){:root{--glass-bg: var(--color-surface-active);--glass-border: var(--color-border-strong)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@supports (height: 100dvh){html,body,#root{height:100dvh}}*{box-sizing:border-box}
