@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:var(--font-onest);--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:var(--font-geist-mono);--spacing:.25rem;--container-md:28rem;--container-4xl:56rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:2rem;--text-4xl:3.2rem;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wider:.05em;--leading-tight:1.25;--leading-relaxed:1.625;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--ease-out:var(--ease-out);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-onest);--default-mono-font-family:var(--font-geist-mono);--font-display:var(--font-zodiak);--font-essay:var(--font-literata);--text-2xs:.6875rem;--text-ui:.8125rem;--text-md:.9375rem;--ease-stoop:var(--ease-stoop);--ease-bate:var(--ease-bate)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.brand-lockup{color:var(--text-primary);align-items:center;gap:10px;display:inline-flex}.brand-lockup-mark{translate:0 -.5px}.brand-wordmark{font-size:var(--text-md);letter-spacing:.06em;color:var(--text-primary);white-space:nowrap;font-weight:700;line-height:1}.btn{min-block-size:var(--tap-target);border:var(--hairline-width) solid transparent;border-radius:var(--r-full);font-family:inherit;font-size:var(--text-sm);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;gap:8px;padding-block:11px;padding-inline:22px;font-weight:500;line-height:1;display:inline-flex;position:relative}@media (pointer:fine){.btn{min-block-size:38px;padding-block:9px}}.btn:active:not(:disabled,[aria-disabled=true]){transform:scale(.98)}@media (prefers-reduced-motion:reduce){.btn:active:not(:disabled,[aria-disabled=true]){transform:none}}.btn:disabled,.btn[aria-disabled=true]{background:var(--fill-soft);color:var(--text-disabled);cursor:not-allowed;border-color:#0000}.btn-primary{background:var(--action);color:var(--text-on-inverse)}.btn-primary:hover:not(:disabled,[aria-disabled=true]){background:var(--action-hover)}.btn-primary:active:not(:disabled,[aria-disabled=true]){background:var(--action-active)}.btn-secondary{background:var(--surface-raised);border-color:var(--border-subtle);color:var(--text-primary);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled,[aria-disabled=true]){border-color:var(--border-strong)}.btn-secondary:active:not(:disabled,[aria-disabled=true]){background:var(--paper-50)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover:not(:disabled,[aria-disabled=true]){background:var(--fill);color:var(--text-primary)}.btn-reward{background:var(--reward);color:var(--text-on-sun)}.btn-reward:hover:not(:disabled,[aria-disabled=true]){background:var(--progress)}.btn-danger{border-color:var(--danger);background:0 0}@supports (color:color-mix(in lab, red, red)){.btn-danger{border-color:color-mix(in oklab, var(--danger) 40%, transparent)}}.btn-danger{color:var(--danger)}.btn-danger:hover:not(:disabled,[aria-disabled=true]){background:var(--danger-subtle);border-color:var(--danger)}.btn-icon{inline-size:var(--tap-target);padding-inline:0}@media (pointer:fine){.btn-icon{inline-size:38px}}.btn-block{inline-size:100%}.btn-lg{min-block-size:52px;font-size:var(--text-base);padding-inline:32px}.btn[data-loading=true]{color:#0000;cursor:progress}.btn[data-loading=true]>:not(.spinner){visibility:hidden}.spinner{border-radius:var(--r-full);block-size:16px;inline-size:16px;color:var(--text-on-inverse);border:2px solid;border-block-start-color:#0000;animation:.62s linear infinite spin;position:absolute}.btn-secondary .spinner,.btn-ghost .spinner,.btn-reward .spinner{color:var(--text-primary)}.btn-danger .spinner{color:var(--danger)}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{border-block-start-color:currentColor;animation:1.4s ease-in-out infinite breathe}@keyframes breathe{0%,to{opacity:1}50%{opacity:.35}}}.field{flex-direction:column;gap:7px;display:flex}.field-label{color:var(--text-secondary);font-size:var(--text-sm);font-weight:500}.field-hint{color:var(--text-muted);font-size:var(--text-xs);line-height:1.5}.field-error{color:var(--danger);font-size:var(--text-xs);align-items:center;gap:6px;line-height:1.5;display:flex}.input{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-md);min-block-size:52px;inline-size:100%;color:var(--text-primary);font-family:inherit;font-size:var(--text-base);box-shadow:var(--shadow-sm);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);padding-block:14px;padding-inline:18px;line-height:1.4}.input::placeholder{color:var(--text-disabled)}.input:hover:not(:disabled){border-color:var(--border-strong)}.input:disabled{background:var(--fill-soft);color:var(--text-disabled);cursor:not-allowed;box-shadow:none}.input[aria-invalid=true]{border-color:var(--danger);background:var(--danger-subtle)}textarea.input{resize:vertical;min-block-size:120px;line-height:1.6}select.input{appearance:none;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 22px) calc(50% + 2px),calc(100% - 17px) calc(50% + 2px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-inline-end:42px}.panel{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.panel-feature{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-xl);box-shadow:var(--shadow-md)}.panel-quiet{background:var(--surface-sunken);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg)}.panel-inverse{background:var(--surface-inverse);border-radius:var(--r-xl);color:var(--text-on-inverse)}.overlay{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);box-shadow:var(--shadow-overlay)}.callout{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-md);color:var(--text-secondary);font-size:var(--text-sm);gap:10px;padding:14px 16px;line-height:1.6;display:flex}.callout-info{background:var(--info-subtle);border-color:var(--info)}@supports (color:color-mix(in lab, red, red)){.callout-info{border-color:color-mix(in oklab, var(--info) 26%, transparent)}}.callout-success{background:var(--success-subtle);border-color:var(--success)}@supports (color:color-mix(in lab, red, red)){.callout-success{border-color:color-mix(in oklab, var(--success) 26%, transparent)}}.callout-warning{background:var(--warning-subtle);border-color:var(--warning)}@supports (color:color-mix(in lab, red, red)){.callout-warning{border-color:color-mix(in oklab, var(--warning) 24%, transparent)}}.callout-danger{background:var(--danger-subtle);border-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.callout-danger{border-color:color-mix(in oklab, var(--danger) 34%, transparent)}}.callout-icon{flex:none;margin-block-start:2px}.pill{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-full);background:var(--surface-raised);color:var(--text-secondary);font-size:var(--text-xs);white-space:nowrap;align-items:center;gap:6px;padding-block:7px;padding-inline:14px;font-weight:500;display:inline-flex}.pill-solid{background:var(--action);color:var(--text-on-inverse);border-color:#0000}.pill-success{background:var(--success-subtle);border-color:var(--success)}@supports (color:color-mix(in lab, red, red)){.pill-success{border-color:color-mix(in oklab, var(--success) 28%, transparent)}}.pill-success{color:var(--success)}.pill-danger{background:var(--danger-subtle);border-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.pill-danger{border-color:color-mix(in oklab, var(--danger) 28%, transparent)}}.pill-danger{color:var(--danger)}.pill-reward{background:var(--reward);color:var(--text-on-sun);border-color:#0000}.segmented{background:var(--surface-sunken);border-radius:var(--r-full);gap:2px;padding:4px;display:inline-flex}.segmented-option{border-radius:var(--r-full);min-block-size:38px;color:var(--text-secondary);font-family:inherit;font-size:var(--text-sm);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0;padding-inline:18px;font-weight:500}.segmented-option:hover:not([aria-checked=true]){color:var(--text-primary)}.segmented-option[aria-checked=true]{background:var(--action);color:var(--text-on-inverse)}.theme-toggle{background:var(--surface-sunken);border-radius:var(--r-full);gap:2px;padding:3px;display:inline-flex}.theme-toggle-option{inline-size:var(--tap-target);block-size:var(--tap-target);border-radius:var(--r-full);color:var(--text-muted);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0;place-items:center;display:grid}@media (pointer:fine){.theme-toggle-option{block-size:30px;inline-size:30px}}.theme-toggle-option:hover:not([aria-checked=true]){color:var(--text-primary)}.theme-toggle-option[aria-checked=true]{background:var(--action);color:var(--text-on-inverse)}.meter{background:var(--progress-track);border-radius:var(--r-full);block-size:10px;inline-size:100%;overflow:hidden}.meter-fill{background:var(--progress);border-radius:var(--r-full);block-size:100%;transition:inline-size var(--dur-base) var(--ease-out)}.meter-fill[data-tone=low]{background:var(--danger)}.meter-fill[data-tone=dark]{background:var(--action)}.skeleton{background:linear-gradient(90deg, var(--fill-soft) 0%, var(--fill) 50%, var(--fill-soft) 100%);border-radius:var(--r-sm);animation:shimmer 1.4s var(--ease-out) infinite;background-size:200% 100%}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{background:var(--fill);animation:none}}.numeric{font-family:var(--font-sans), system-ui, sans-serif;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:-.02em}.label-micro{color:var(--text-muted);font-size:var(--text-xs);font-weight:500}.auth-shell{background:radial-gradient(120% 90% at 92% 108%, var(--sun-100) 0%, transparent 62%), var(--surface-base);background-attachment:fixed;place-content:center;place-items:center;gap:24px;min-block-size:100dvh;padding:24px;display:grid}.auth-card{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-xl);inline-size:100%;max-inline-size:420px;box-shadow:var(--shadow-md);padding:40px 32px}@media not all and (min-width:480px){.auth-card{padding:32px 22px}}.brand-sheet{gap:var(--panel-gap);padding:var(--panel-pad);flex-direction:column;display:flex}.brand-sheet-head{flex-direction:column;gap:4px;display:flex}.brand-sheet-row{flex-wrap:wrap;align-items:flex-end;gap:32px;display:flex}.brand-sheet-cell{color:var(--text-primary);flex-direction:column;align-items:center;gap:8px;display:flex}.brand-sheet-inverse{border-radius:var(--r-md);background:var(--surface-inverse);color:var(--text-on-inverse);padding:10px 16px}.brand-sheet-inverse-text{color:var(--text-on-inverse)}.brand-sheet-favicon{background:var(--surface-inverse);block-size:32px;inline-size:32px;color:var(--text-on-inverse);border-radius:8px;place-items:center;display:grid}.app-shell{background:var(--surface-base);min-block-size:100dvh;display:flex}.app-main{flex-direction:column;flex:1;min-inline-size:0;display:flex;container:app/inline-size}.app-content{flex:1;padding-block-end:calc(var(--tab-bar-height) + env(safe-area-inset-bottom) + 16px)}@media (min-width:1024px){.app-content{padding-block-end:0}}.topbar{padding-block:12px;padding-inline:var(--page-pad-inline);justify-content:flex-end;align-items:center;gap:8px;display:flex}.topbar-brand{min-block-size:var(--tap-target);color:var(--text-primary);align-items:center;gap:8px;margin-inline-end:auto;text-decoration:none;display:inline-flex}@media (min-width:1024px){.topbar-brand{display:none}}.topbar-bell{inline-size:var(--tap-target);block-size:var(--tap-target);border-radius:var(--r-full);color:var(--text-disabled);place-items:center;display:grid}@media (pointer:fine){.topbar-bell{block-size:36px;inline-size:36px}}.sidenav{inline-size:var(--sidebar-width);border-inline-end:var(--hairline-width) solid var(--border-subtle);background:var(--surface-sunken);block-size:100dvh;transition:inline-size var(--dur-base) var(--ease-out);flex-direction:column;flex-shrink:0;align-self:flex-start;gap:2px;padding:12px;display:none;position:sticky;inset-block-start:0}.sidenav-list:not(.sidenav-foot){scrollbar-width:none;flex:0 auto;min-block-size:0;overflow-y:auto}.sidenav-list:not(.sidenav-foot)::-webkit-scrollbar{display:none}@media (min-width:1024px){.sidenav{display:flex}}.sidenav-head{padding-block:6px 18px}.sidenav-toggle{inline-size:100%;min-block-size:var(--tap-target);border-radius:var(--r-full);color:var(--text-primary);font-family:inherit;font-size:var(--text-base);letter-spacing:-.02em;text-align:start;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out);background:0 0;border:0;align-items:center;gap:10px;padding-inline:10px;font-weight:600;display:flex}.sidenav-toggle:hover{background:var(--fill)}.sidenav-wordmark{white-space:nowrap;opacity:1;transition:opacity var(--dur-fast) var(--ease-out)}.sidenav-list,.sidenav-sublist{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.sidenav-foot{border-block-start:var(--hairline-width) solid var(--border-subtle);margin-block-start:auto;padding-block-start:8px}.sidenav-sublist{border-inline-start:var(--hairline-width) solid var(--border-subtle);margin-block-start:2px;margin-inline-start:19px;padding-inline-start:10px}.sidenav-item{border-radius:var(--r-full);min-block-size:44px;min-inline-size:0;color:var(--text-secondary);font-size:var(--text-sm);white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);flex:1;align-items:center;gap:12px;padding-inline:14px;font-weight:500;text-decoration:none;display:flex}.sidenav-item[data-child]{min-block-size:38px;font-weight:400}.sidenav-item:hover:not([aria-current=page],[aria-disabled=true]){background:var(--fill);color:var(--text-primary)}.sidenav-item[aria-current=page]{background:var(--action);color:var(--text-on-inverse)}.sidenav-item[aria-disabled=true]{color:var(--text-disabled);cursor:default}.sidenav-glyph{flex-shrink:0;place-items:center;inline-size:20px;display:grid}.sidenav-label{text-overflow:ellipsis;overflow:hidden}.sidenav-soon{color:var(--text-disabled);font-size:var(--text-xs);margin-inline-start:auto}.sidenav-group{inline-size:100%;color:var(--text-secondary);font-family:inherit;font-size:var(--text-sm);text-align:start;cursor:pointer;background:0 0;border:0;font-weight:500}.sidenav-group[data-within]{color:var(--text-primary)}.sidenav-chevron{color:var(--text-muted);flex-shrink:0;place-items:center;margin-inline-start:auto;display:grid}.sidenav-chevron svg{transition:rotate var(--dur-slow) var(--ease-stoop)}.sidenav-group[data-open] .sidenav-chevron svg{rotate:90deg}.sidenav-branch{transition:grid-template-rows var(--dur-slow) var(--ease-stoop);grid-template-rows:0fr;display:grid}.sidenav-branch[data-open]{grid-template-rows:1fr}.sidenav-branch-clip{overflow:hidden}@media (prefers-reduced-motion:reduce){.sidenav-branch,.sidenav-chevron svg{transition-duration:0s}}:root[data-sidebar=collapsed] .sidenav{padding-inline:10px}:root[data-sidebar=collapsed] .sidenav-label,:root[data-sidebar=collapsed] .sidenav-wordmark,:root[data-sidebar=collapsed] .sidenav-soon,:root[data-sidebar=collapsed] .sidenav-chevron{display:none}:root[data-sidebar=collapsed] .sidenav-item,:root[data-sidebar=collapsed] .sidenav-toggle{justify-content:center;padding-inline:0}:root[data-sidebar=collapsed] .sidenav-sublist{border-inline-start:0;margin-inline-start:0;padding-inline-start:0}:root[data-sidebar=collapsed] .sidenav-toggle{gap:0}.sidenav-flyout{z-index:100;border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-md);background:var(--surface-overlay);min-inline-size:190px;box-shadow:var(--shadow-overlay);animation:flyoutSlideIn var(--dur-fast) var(--ease-out);flex-direction:column;gap:4px;padding:6px;display:flex}@keyframes flyoutSlideIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.sidenav-flyout-header{color:var(--text-muted);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;border-block-end:var(--hairline-width) solid var(--border-subtle);margin-block-end:2px;padding-block:4px 6px;padding-inline:10px;font-weight:600}.sidenav-flyout-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.sidenav-flyout-item{border-radius:var(--r-sm);min-block-size:38px;color:var(--text-secondary);font-size:var(--text-sm);transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);align-items:center;gap:10px;padding-inline:10px;font-weight:500;text-decoration:none;display:flex}.sidenav-flyout-item:hover{background:var(--fill);color:var(--text-primary)}.sidenav-flyout-item[data-current]{background:var(--action);color:var(--text-on-inverse)}.sidenav-flyout-item[data-current] .sidenav-glyph{color:var(--text-on-inverse)}.sidenav-flyout-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tabbar{z-index:40;background:var(--surface-raised);border-block-start:var(--hairline-width) solid var(--border-subtle);padding-block-end:env(safe-area-inset-bottom);position:fixed;inset-block-end:0;inset-inline:0}.tabbar-track{scroll-snap-type:inline mandatory;overscroll-behavior-inline:contain;scrollbar-width:none;display:flex;overflow-x:auto}.tabbar-track::-webkit-scrollbar{display:none}.tabbar-item{min-block-size:var(--tab-bar-height);scroll-snap-align:center;min-inline-size:72px;color:var(--text-muted);font-size:var(--text-xs);transition:color var(--dur-fast) var(--ease-out);flex-direction:column;flex:none;justify-content:center;align-items:center;gap:4px;padding-inline:8px;font-weight:500;text-decoration:none;display:flex}.tabbar-item[aria-current=page]{color:var(--text-primary)}.tabbar-item[aria-disabled=true]{color:var(--text-disabled)}.tabbar-label{white-space:nowrap}.tabbar-glyph{border-radius:var(--r-full);block-size:28px;inline-size:44px;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);place-items:center;display:grid}.tabbar-item[aria-current=page] .tabbar-glyph{background:var(--action);color:var(--text-on-inverse)}.page{inline-size:100%;max-inline-size:calc(var(--page-max) + 2 * var(--page-pad-inline));padding-inline:var(--page-pad-inline);flex-direction:column;gap:24px;margin-inline:auto;padding-block:8px 48px;display:flex}.page[data-width=narrow]{max-inline-size:calc(var(--page-max-narrow) + 2 * var(--page-pad-inline))}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.page-head-text{flex-direction:column;gap:6px;display:flex}.page-title{font-size:var(--text-3xl);letter-spacing:-.02em;font-weight:600}.page-lede{max-inline-size:var(--measure);color:var(--text-secondary);font-size:var(--text-sm)}.page-head-actions{align-items:center;gap:8px;margin-block-start:4px;display:flex}.card-grid{grid-template-columns:1fr;gap:16px;display:grid}@container app (min-width:560px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@container app (min-width:900px){.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@container app (min-width:1280px){.card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.review-grid{grid-template-columns:1fr;gap:14px;display:grid}@container app (min-width:620px){.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@container app (min-width:1280px){.review-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.skill-card{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);background:var(--surface-raised);min-block-size:168px;color:inherit;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);flex-direction:column;gap:8px;padding:20px;text-decoration:none;display:flex}.skill-card:hover{border-color:var(--border-strong);background:var(--surface-overlay)}.skill-card-glyph{border-radius:var(--r-sm);background:var(--fill);block-size:36px;inline-size:36px;color:var(--text-primary);place-items:center;margin-block-end:4px;display:grid}.skill-card-title{font-size:var(--text-lg);letter-spacing:-.02em;font-weight:600}.skill-card-body{color:var(--text-secondary);font-size:var(--text-sm);flex:1;line-height:1.5}.skill-card-state{color:var(--text-muted);font-size:var(--text-xs);align-self:flex-start;font-weight:500}.skill-card-state[data-ready]{color:var(--success)}.sitting-card{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-md);background:var(--surface-raised);color:inherit;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;text-decoration:none;display:flex}.sitting-card:hover{border-color:var(--border-strong);background:var(--surface-overlay)}.sitting-card-text{flex-direction:column;gap:4px;min-inline-size:0;display:flex}.sitting-card-title{font-size:var(--text-base);letter-spacing:-.02em;align-items:baseline;gap:10px;font-weight:600;display:flex}.sitting-card-kind{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sitting-card-band{color:var(--text-secondary);font-weight:500}.sitting-card-unscored{color:var(--text-muted);font-size:var(--text-xs);font-weight:400}.sitting-card-sub{color:var(--text-muted);font-size:var(--text-xs)}.sitting-ring{flex-shrink:0;line-height:0}.sitting-ring circle{fill:none;stroke-width:3px}.sitting-ring-track{stroke:var(--chart-track)}.sitting-ring-fill{stroke:var(--action);stroke-linecap:round;transform-origin:50%;transition:stroke-dasharray var(--dur-base) var(--ease-out);transform:rotate(-90deg)}.practice-toolbar{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-block-end:20px;display:flex}.practice-search{flex:16rem;max-inline-size:26rem}.practice-search input{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-full);background:var(--surface-raised);min-block-size:40px;inline-size:100%;color:var(--text-primary);font-family:inherit;font-size:var(--text-sm);padding:0 14px}.practice-search input:focus-visible{border-color:var(--border-focus);outline:none}.practice-filter{gap:2px;display:flex}.practice-sort,.practice-sort-wrap{color:var(--text-muted);font-size:var(--text-sm);align-items:center;gap:8px;margin-inline-start:auto;display:flex;position:relative}.practice-sort-btn{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-md);background:var(--surface-raised);min-block-size:36px;color:var(--text-primary);font-family:inherit;font-size:var(--text-sm);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);align-items:center;gap:8px;padding-block:6px;padding-inline:12px 10px;font-weight:500;display:inline-flex}.practice-sort-btn:hover{background:var(--fill-soft);border-color:var(--border-focus)}.practice-sort-chevron{color:var(--text-muted);transition:transform var(--dur-fast) var(--ease-out)}.practice-sort-chevron[data-open]{transform:rotate(180deg)}.practice-sort-menu{z-index:50;border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-md);background:var(--surface-overlay);min-inline-size:10rem;box-shadow:var(--shadow-overlay);animation:sort-menu-in var(--dur-fast) var(--ease-out);flex-direction:column;gap:2px;padding:4px;display:flex;position:absolute;inset-block-start:calc(100% + 4px);inset-inline-end:0}@keyframes sort-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.practice-sort-option{border-radius:var(--r-sm);inline-size:100%;color:var(--text-secondary);font-family:inherit;font-size:var(--text-sm);text-align:start;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;padding-block:8px;padding-inline:10px;font-weight:500;display:flex}.practice-sort-option:hover{background:var(--fill);color:var(--text-primary)}.practice-sort-option[data-selected]{background:var(--fill-soft);color:var(--text-primary);font-weight:600}.practice-sort-check{color:var(--action);flex-shrink:0}.practice-sort select{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-sm);background:var(--surface-raised);min-block-size:36px;color:var(--text-primary);font-family:inherit;font-size:var(--text-sm);padding:0 10px}.practice-sort-dir{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-md);min-block-size:36px;color:var(--text-secondary);font-family:inherit;font-size:var(--text-sm);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;align-items:center;gap:6px;padding-inline:10px;display:inline-flex}.practice-sort-dir:hover{border-color:var(--border-focus);color:var(--text-primary)}.practice-sort-dir svg{transition:transform var(--dur-fast) var(--ease-out)}.practice-sort-dir svg[data-dir=asc]{transform:rotate(180deg)}.practice-sort-btn:focus-visible,.practice-sort-dir:focus-visible,.practice-sort-option:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.practice-sort-menu{min-inline-size:17rem}.practice-sort-option-text{flex-direction:column;gap:1px;min-inline-size:0;display:flex}.practice-sort-hint{color:var(--text-muted);font-size:var(--text-xs);font-weight:400;line-height:1.35}.practice-count{color:var(--text-muted);font-size:var(--text-sm);margin:0 0 14px}.practice-group+.practice-group{margin-block-start:28px}.practice-group-head{border-block-end:var(--hairline-width) solid var(--border-subtle);color:var(--text-primary);font-size:var(--text-sm);align-items:baseline;gap:10px;margin:0 0 12px;padding-block:6px;font-weight:600;display:flex}.practice-group-count{color:var(--text-muted);font-size:var(--text-xs);font-weight:400}.practice-none{color:var(--text-muted);font-size:var(--text-sm)}.link-button{color:var(--text-primary);font:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0}.test-grid{margin:0;padding:0;list-style:none}.test-grid>li{flex-direction:column;gap:6px;display:flex}.test-card{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);background:var(--surface-raised);min-block-size:188px;color:inherit;text-align:start;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), translate var(--dur-fast) var(--ease-out);flex-direction:column;flex:1;gap:10px;padding:18px 20px;font-family:inherit;display:flex}.test-card:hover{border-color:var(--border-strong);background:var(--surface-overlay)}.test-card:active{translate:0 1px}.test-card:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.test-card-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;display:flex}.test-card-kind{color:var(--text-muted);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.test-card-status{border-radius:var(--r-full);background:var(--fill);color:var(--text-secondary);font-size:var(--text-xs);font-variant-numeric:tabular-nums;padding:2px 8px;font-weight:600}.test-card-status[data-state=open]{background:var(--warning-subtle);color:var(--text-primary)}.test-card-status[data-state=taken]{background:var(--success-subtle);color:var(--text-primary)}.test-card-title{font-size:var(--text-lg);letter-spacing:-.02em;font-weight:600}.test-card-passages{color:var(--text-secondary);font-size:var(--text-sm);flex-direction:column;flex:1;gap:2px;line-height:1.45;display:flex}.test-card-foot{color:var(--text-muted);font-size:var(--text-xs)}.test-card-after{min-block-size:1.25rem;display:flex}.test-card-result{color:var(--text-secondary);font-size:var(--text-xs);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px;align-self:flex-start;padding-inline:4px}.reading-waiting{flex-direction:column;align-items:flex-start;gap:10px;padding:8px;display:flex}.reading-waiting-title{font-size:var(--text-lg);font-weight:600}.reading-waiting-body{max-inline-size:52ch;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.55}.result-summary{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);background:var(--surface-raised);grid-template-columns:minmax(0,1fr);gap:16px;margin-block-end:24px;padding:20px;display:grid}@container app (min-width:700px){.result-summary{grid-template-columns:auto auto minmax(0,1fr);align-items:start;gap:32px}}.result-eyebrow{color:var(--text-muted);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.result-figure{font-family:var(--font-sans), system-ui, sans-serif;font-size:var(--text-4xl);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.05}.result-of{color:var(--text-muted);font-size:var(--text-2xl)}.result-note{color:var(--text-secondary);font-size:var(--text-sm);flex-direction:column;gap:8px;line-height:1.55;display:flex}.result-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.result-clean{color:var(--text-secondary);font-size:var(--text-sm)}.result-late{color:var(--danger)}.result-h{font-size:var(--text-lg);letter-spacing:-.01em;font-weight:600}.result-types{margin-block-end:24px}.result-type-list{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.result-type{font-size:var(--text-sm);grid-template-columns:minmax(8rem,14rem) minmax(0,1fr) 3.5rem;align-items:center;gap:12px;display:grid}.result-type-bar{border-radius:var(--r-full);background:var(--chart-track);block-size:8px;overflow:hidden}.result-type-bar span{border-radius:var(--r-full);background:var(--action);block-size:100%;display:block}.result-type-score{color:var(--text-secondary);text-align:end}.result-show{gap:2px;margin-block-end:12px;display:flex}.result-show .skill-tab{text-decoration:none}.result-passage{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);background:var(--surface-raised);margin-block-end:24px;padding:20px}.result-passage-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;margin-block-end:12px;display:flex}.result-passage-meta{color:var(--text-muted);font-size:var(--text-sm)}.result-items{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.result-item{border-block-start:var(--hairline-width) solid var(--border-subtle);gap:12px;padding-block:12px;display:flex}.result-item-num{border:2px solid var(--danger);border-radius:var(--r-sm);block-size:28px;inline-size:28px;color:var(--danger);font-size:var(--text-sm);font-variant-numeric:tabular-nums;flex-shrink:0;place-items:center;font-weight:700;display:grid}.result-item[data-correct] .result-item-num{border-color:var(--success);background:var(--success);color:var(--text-on-inverse)}.result-item-body{flex-direction:column;flex:1;gap:6px;min-inline-size:0;display:flex}.result-item-prompt{font-size:var(--text-sm);line-height:1.55}.result-item-answers{color:var(--text-muted);font-size:var(--text-sm);flex-wrap:wrap;gap:4px 20px;display:flex}.result-item-answers strong{color:var(--text-primary);font-weight:600}.result-item-answers strong[data-empty]{color:var(--text-muted);font-style:italic;font-weight:400}.result-evidence{border-inline-start:3px solid var(--border-strong);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--surface-well);color:var(--text-secondary);font-family:var(--font-essay);font-size:var(--text-sm);margin:2px 0 0;padding:8px 12px;line-height:1.6}.result-evidence:before{content:"“"}.result-evidence:after{content:"”"}.result-evidence-none{color:var(--text-muted);font-size:var(--text-sm);font-style:italic}.review-status{flex-wrap:wrap;align-items:center;gap:8px;margin-block-start:8px;display:flex}.review-passage-title{font-family:var(--font-essay);font-size:var(--text-xl);margin-block:4px 12px;font-weight:600}.review-passage-text{max-inline-size:44rem;font-family:var(--font-essay);font-size:var(--text-sm);flex-direction:column;gap:10px;line-height:1.7;display:flex}.review-group{border-block-start:var(--hairline-width) solid var(--border-subtle);margin-block-start:20px;padding-block-start:16px}.review-group-type{font-size:var(--text-sm);font-weight:700}.review-group-instructions{color:var(--text-secondary);font-size:var(--text-sm);margin-block-start:4px}.review-options{font-size:var(--text-sm);flex-direction:column;gap:2px;margin:10px 0 0;padding:0;list-style:none;display:flex}.review-answers{flex-direction:column;gap:12px;margin:12px 0 0;padding:0;list-style:none;display:flex}.review-answers>li{font-size:var(--text-sm);gap:10px;line-height:1.55;display:flex}.review-answer-num{font-variant-numeric:tabular-nums;flex-shrink:0;inline-size:2em;font-weight:700}.review-answer-key{color:var(--text-secondary)}.review-answer-none{color:var(--warning);font-size:var(--text-xs)}.result-breakdown-section{margin-block-end:28px}.result-breakdown-title{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-block-end:12px;font-weight:700}.result-breakdown-grid{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:12px;display:grid}.result-part-card{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-md);background:var(--surface-raised);transition:border-color var(--dur-fast) var(--ease-out);flex-direction:column;gap:8px;padding:14px 16px;display:flex}.result-part-card:hover{border-color:var(--border-focus)}.result-part-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.result-part-badge{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;font-weight:700}.result-part-pct{font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--text-secondary);font-weight:600}.result-part-name{font-size:var(--text-sm);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:600;overflow:hidden}.result-part-score-row{justify-content:space-between;align-items:baseline;margin-block-start:4px;display:flex}.result-part-score{font-size:var(--text-xl);font-variant-numeric:tabular-nums;color:var(--text-primary);font-weight:700}.result-part-track{border-radius:var(--r-full);background:var(--surface-well);block-size:4px;inline-size:100%;overflow:hidden}.result-part-fill{border-radius:var(--r-full);background:var(--action);block-size:100%;transition:inline-size var(--dur-base) var(--ease-out)}.result-drill-banner{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-md);background:var(--surface-raised);justify-content:space-between;align-items:center;gap:16px;margin-block-end:24px;padding:16px 20px;display:flex}.result-drill-info{flex-direction:column;gap:4px;display:flex}.result-drill-badge{font-size:var(--text-xs);color:var(--action);text-transform:uppercase;letter-spacing:.04em;font-weight:700}.result-drill-text{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.result-action-hub{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);background:var(--surface-raised);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-block-end:32px;padding:16px 20px;display:flex}.result-action-hub-text{font-size:var(--text-sm);color:var(--text-secondary);flex:14rem;margin:0}.result-action-hub-buttons{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.result-review-section{flex-direction:column;gap:20px;margin-block-start:16px;display:flex}.result-review-header{border-block-end:var(--hairline-width) solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-block-end:12px;display:flex}.result-review-title{font-size:var(--text-xl);letter-spacing:-.02em;margin:0;font-weight:700}.result-filter-tabs{background:var(--surface-well);border-radius:var(--r-full);border:var(--hairline-width) solid var(--border-subtle);gap:4px;padding:3px;display:flex}.result-filter-tab{border-radius:var(--r-full);color:var(--text-secondary);font-family:inherit;font-size:var(--text-xs);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0;padding-block:4px;padding-inline:12px;font-weight:500}.result-filter-tab:hover{color:var(--text-primary)}.result-filter-tab[data-active]{background:var(--surface-raised);color:var(--text-primary);box-shadow:var(--shadow-sm,0 1px 2px #00000026);font-weight:600}.result-items-grid{flex-direction:column;gap:16px;display:flex}.result-item-card{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);background:var(--surface-raised);transition:border-color var(--dur-fast) var(--ease-out);flex-direction:column;gap:12px;padding:18px 20px;display:flex}.result-item-card[data-correct=true]{border-inline-start:4px solid var(--action)}.result-item-card[data-correct=false]{border-inline-start:4px solid var(--danger)}.result-item-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.result-item-badge-wrap{align-items:center;gap:8px;display:flex}.result-item-qnum{border:var(--hairline-width) solid var(--border-strong);border-radius:var(--r-sm);block-size:28px;min-inline-size:28px;font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;background:var(--surface-well);place-items:center;padding-inline:6px;font-weight:700;display:inline-grid}.result-status-pill{border-radius:var(--r-full);font-size:var(--text-xs);align-items:center;gap:5px;padding-block:2px;padding-inline:8px;font-weight:600;display:inline-flex}.result-status-pill[data-correct=true]{background:var(--action-soft,#2e7d321f);color:var(--success)}.result-status-pill[data-correct=false]{background:var(--danger-soft,#d32f2f1f);color:var(--danger)}.result-status-pill[data-blank=true]{background:var(--fill,#ffffff14);color:var(--text-muted)}.result-item-prompt{font-size:var(--text-sm);margin:0;font-weight:500;line-height:1.55}.result-comparison-row{border-radius:var(--r-md);background:var(--surface-well);font-size:var(--text-sm);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;padding:12px 14px;display:grid}.result-ans-block{flex-direction:column;gap:4px;display:flex}.result-ans-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-weight:600}.result-ans-value{word-break:break-word;font-weight:600}.result-ans-value[data-state=correct]{color:var(--action)}.result-ans-value[data-state=incorrect]{color:var(--danger)}.result-ans-value[data-state=blank]{color:var(--text-muted);font-style:italic;font-weight:400}.result-evidence-box{border-radius:var(--r-md);background:var(--fill-soft);border-inline-start:3px solid var(--border-strong);flex-direction:column;gap:4px;margin-block-start:4px;padding:10px 14px;display:flex}.result-evidence-label{font-size:var(--text-xs);color:var(--text-secondary);align-items:center;gap:6px;font-weight:600;display:flex}.result-evidence-quote{font-size:var(--text-sm);color:var(--text-secondary);margin:0;font-style:italic;line-height:1.5}.practice-combo{flex:0 9rem}.practice-combo-wide{flex:12rem;max-inline-size:18rem}.practice-combo input{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-full);background:var(--surface-raised);min-block-size:40px;inline-size:100%;color:var(--text-primary);font-family:inherit;font-size:var(--text-sm);padding:0 14px}.practice-combo input:focus-visible{border-color:var(--border-focus);outline:none}.writing-card-prompt{-webkit-line-clamp:4;line-clamp:4;font-size:var(--text-md);-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box;overflow:hidden}.writing-dialog-title{font-size:var(--text-lg);line-height:1.45}.writing-modes{flex-direction:column;gap:10px;margin-block:16px 8px;display:flex}.writing-mode-form{display:contents}.writing-mode{border:var(--hairline-width) solid var(--border-strong);border-radius:var(--r-md);background:var(--surface-raised);inline-size:100%;color:var(--text-primary);font:inherit;text-align:start;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);flex-direction:column;gap:4px;padding:14px 16px;text-decoration:none;display:flex}.writing-mode:hover{border-color:var(--action);background:var(--fill-soft)}.writing-mode:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.writing-mode-name{font-size:var(--text-md);font-weight:600}.writing-mode-detail{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5}.writing-mode-meta{color:var(--text-muted);font-size:var(--text-xs)}.read-crumb{color:var(--text-muted);font-size:var(--text-sm)}.read-crumb a{color:var(--text-secondary)}.read-layout{gap:var(--panel-gap);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}@container app (min-width:960px){.read-layout{grid-template-columns:minmax(0,1fr) minmax(300px,380px)}}.read-essay{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);background:var(--surface-raised);padding:clamp(20px,3vw,36px)}.read-eyebrow{color:var(--text-muted);font-size:var(--text-2xs);letter-spacing:.05em;text-transform:uppercase;font-weight:600}.read-prompt{max-inline-size:var(--measure);border-radius:var(--r-sm);background:var(--surface-sunken);color:var(--text-secondary);font-size:var(--text-sm);margin-block:8px 20px;padding:12px 14px;line-height:1.55}.read-body{max-inline-size:var(--measure);font-family:var(--font-essay), Georgia, serif;font-size:var(--text-lg);flex-direction:column;gap:1em;line-height:1.75;display:flex}.read-body ::selection{background:var(--info)}@supports (color:color-mix(in lab, red, red)){.read-body ::selection{background:color-mix(in oklab, var(--info) 30%, transparent)}}.read-tag{text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:4px;cursor:pointer;text-decoration-style:dotted;text-decoration-thickness:1.5px}.read-tag:hover,.read-tag-active{-webkit-text-decoration-color:var(--text-primary);-webkit-text-decoration-color:var(--text-primary);-webkit-text-decoration-color:var(--text-primary);text-decoration-color:var(--text-primary);text-decoration-style:solid}.read-lit{background:var(--info);border-radius:2px}@supports (color:color-mix(in lab, red, red)){.read-lit{background:color-mix(in oklab, var(--info) 22%, transparent)}}.read-float{z-index:50;border:var(--hairline-width) solid var(--border-strong);border-radius:var(--r-full);background:var(--surface-overlay);box-shadow:var(--shadow-overlay);gap:6px;padding:6px;display:flex;position:fixed}.read-panel{padding:var(--panel-pad);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);background:var(--surface-raised);flex-direction:column;gap:12px;display:flex}@container app (min-width:960px){.read-panel{max-block-size:calc(100dvh - 32px);position:sticky;inset-block-start:16px;overflow-y:auto}}.read-panel-title{font-size:var(--text-lg);font-weight:600}.read-panel-sub{color:var(--text-muted);font-size:var(--text-2xs);letter-spacing:.05em;text-transform:uppercase;margin-block-start:4px;font-weight:600}.read-panel-text{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.6}.read-thinking{color:var(--text-muted)}.read-back{font-size:var(--text-sm);align-self:flex-start}.read-quote{border-inline-start:2px solid var(--border-strong);font-family:var(--font-essay), Georgia, serif;font-size:var(--text-md);margin:0;padding-inline-start:12px;line-height:1.6}.read-question{font-size:var(--text-sm);font-weight:600}.read-answer{font-size:var(--text-sm);flex-direction:column;gap:8px;line-height:1.6;display:flex}.read-answer-point{padding-inline-start:14px;position:relative}.read-answer-point:before{content:"";border-radius:var(--r-full);background:var(--text-muted);block-size:5px;inline-size:5px;position:absolute;inset-block-start:.6em;inset-inline-start:0}.read-error{color:var(--danger);font-size:var(--text-sm)}.read-tag-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.read-tag-item{border-radius:var(--r-sm);inline-size:100%;color:var(--text-primary);font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.read-tag-item:hover{background:var(--fill-soft)}.read-tag-label{font-size:var(--text-sm);font-weight:600}.read-tag-quote{-webkit-line-clamp:2;line-clamp:2;color:var(--text-muted);font-size:var(--text-xs);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.read-lexis{color:var(--text-secondary);font-size:var(--text-sm);flex-direction:column;gap:4px;margin:0;padding-inline-start:18px;display:flex}.read-followup{gap:8px;display:flex}.read-followup .input{flex:1}.read-panel-foot{border-block-start:var(--hairline-width) solid var(--border-subtle);font-size:var(--text-sm);flex-wrap:wrap;justify-content:space-between;gap:8px;padding-block-start:12px;display:flex}.bank-card{border-radius:var(--r-lg);background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 24px;margin-block-end:20px;padding:16px 20px;display:flex}.bank-card-info{flex-direction:column;flex:360px;gap:6px;display:flex}.bank-card-badge{border-radius:var(--r-full);background:var(--surface-sunken);inline-size:fit-content;color:var(--text-secondary);font-size:var(--text-xs);letter-spacing:.02em;text-transform:uppercase;padding:2px 8px;font-weight:600}.bank-card-title{font-size:var(--text-lg);letter-spacing:-.01em;color:var(--text-primary);font-weight:700}.bank-card-desc{font-size:var(--text-sm);color:var(--text-secondary);max-inline-size:65ch;line-height:1.45}.bank-card-actions{flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}.study-notes{flex-direction:column;gap:24px;margin-block-start:28px;display:flex}.study-head{font-size:var(--text-lg);letter-spacing:-.01em;margin-block-end:10px;font-weight:700}.study-structure{font-size:var(--text-sm);color:var(--text-secondary);flex-direction:column;gap:10px;padding-inline-start:1.25em;line-height:1.5;display:flex}.study-structure ul{margin-block-start:4px;padding-inline-start:1.1em;list-style:outside}.study-structure strong{color:var(--text-primary)}.study-table-wrap{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-md);overflow-x:auto}.study-table{border-collapse:collapse;inline-size:100%;min-inline-size:640px;font-size:var(--text-sm);line-height:1.45}.study-table th,.study-table td{text-align:start;vertical-align:top;border-block-end:var(--hairline-width) solid var(--border-subtle);padding:10px 12px}.study-table thead th{color:var(--text-secondary);font-size:var(--text-xs);letter-spacing:.02em;text-transform:uppercase;background:var(--surface-sunken);font-weight:600}.study-table tbody th{color:var(--text-primary);font-weight:600}.study-table ul{color:var(--text-secondary);flex-direction:column;gap:4px;padding-inline-start:1.1em;list-style:outside;display:flex}.study-credit{font-size:var(--text-xs);color:var(--text-muted);margin-block-start:16px}.start-dialog{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-xl);background:var(--surface-overlay);max-block-size:min(94dvh,52rem);inline-size:min(100% - 32px,42rem);color:var(--text-primary);box-shadow:var(--shadow-overlay);margin:auto;padding:0;overflow:hidden auto}.start-dialog::backdrop{background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.start-dialog[open]{animation:start-dialog-in var(--dur-base) var(--ease-out)}@keyframes start-dialog-in{0%{opacity:0;translate:0 8px}}@media (prefers-reduced-motion:reduce){.start-dialog[open]{animation:none}}.start-dialog-body{flex-direction:column;gap:14px;padding:clamp(18px,2.5vw,24px);display:flex;overflow-x:hidden}.start-dialog-eyebrow{color:var(--text-muted);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.start-dialog-title{font-size:var(--text-xl);letter-spacing:-.02em;margin-block-start:-8px;font-weight:600}.start-choices{border:0;flex-direction:column;gap:6px;margin:0;padding:0;display:flex}.start-choice{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-md);cursor:pointer;min-block-size:38px;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);align-items:center;gap:12px;padding:8px 14px;display:flex}.start-choice:hover{background:var(--fill-soft)}.start-choice[data-picked]{border-color:var(--action);background:var(--fill-soft)}.start-choice input{accent-color:var(--action)}.start-choice-text{flex-direction:column;flex:1;min-inline-size:0;display:flex}.start-choice-label{font-size:var(--text-sm);font-weight:600}.start-choice-detail{color:var(--text-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.start-choice-meta{color:var(--text-secondary);font-size:var(--text-xs);font-variant-numeric:tabular-nums;flex-shrink:0}.start-summary{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.6}.start-summary strong{color:var(--text-primary);font-weight:600}.start-facts{border-radius:var(--r-md);background:var(--surface-well);color:var(--text-secondary);font-size:var(--text-xs);flex-direction:column;gap:6px;margin:0;padding:10px 14px;line-height:1.5;list-style:none;display:flex}.start-facts li{padding-inline-start:16px;position:relative}.start-facts li:before{content:"";border-radius:var(--r-full);background:var(--text-muted);block-size:5px;inline-size:5px;position:absolute;inset-block-start:.6em;inset-inline-start:2px}.start-error{color:var(--danger);font-size:var(--text-sm)}.start-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.exam{background:var(--surface-base);color:var(--text-primary);grid-template-rows:auto auto auto minmax(0,1fr) auto;grid-template-areas:"bar""banner""switch""body""nav";display:grid;position:fixed;inset:0;container:exam/inline-size}.exam-bar{grid-area:bar}.exam-banner{grid-area:banner}.exam-switch{grid-area:switch}.exam-body{grid-area:body}.exam-nav{grid-area:nav}.exam-bar{border-block-end:var(--hairline-width) solid var(--border-subtle);background:var(--surface-raised);grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:10px 16px;display:grid}.exam-bar-start,.exam-bar-end{align-items:center;gap:10px;min-inline-size:0;display:flex}.exam-bar-end{justify-content:flex-end}.exam-bar-kind{font-size:var(--text-sm);white-space:nowrap;font-weight:600}.exam-bar-title{color:var(--text-muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.exam-clock{border-radius:var(--r-full);background:var(--fill);font-family:var(--font-mono);font-size:var(--text-lg);font-variant-numeric:tabular-nums;letter-spacing:.02em;transition:background-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out);padding:6px 14px;font-weight:600}.exam-clock[data-warning]{background:var(--danger);color:var(--text-on-inverse)}.exam-save{color:var(--text-muted);font-size:var(--text-xs);white-space:nowrap}.exam-save[data-state=failed]{color:var(--danger)}.exam-flash{z-index:2;border-radius:var(--r-full);background:var(--danger);inline-size:fit-content;color:var(--text-on-inverse);font-size:var(--text-sm);animation:exam-flash-in var(--dur-base) var(--ease-out);margin-inline:auto;padding:6px 14px;font-weight:600;position:absolute;inset-block-start:64px;inset-inline:0}@keyframes exam-flash-in{0%{opacity:0;translate:0 -6px}}@media (prefers-reduced-motion:reduce){.exam-flash{animation:none}}.exam-switch{display:none}.exam-banner{border-block-end:var(--hairline-width) solid var(--border-subtle);background:var(--surface-sunken);color:var(--text-secondary);font-size:var(--text-sm);flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:10px 20px;display:flex}.exam-banner strong{color:var(--text-primary);font-weight:700}.exam-body{min-block-size:0;display:grid}.split{grid-template-columns:var(--split-cols,minmax(0, 1fr) auto minmax(0, 1fr));min-block-size:0;display:grid}.split-handle{background:var(--surface-sunken);border-inline:var(--hairline-width) solid var(--border-subtle);inline-size:12px;color:var(--text-muted);cursor:col-resize;touch-action:none;place-items:center;display:grid;position:relative}.split-handle:hover,.split-handle:focus-visible{background:var(--fill);color:var(--text-primary);outline:none}.split-grip{border:var(--hairline-width) solid var(--border-strong);border-radius:var(--r-full);background:var(--surface-raised);place-items:center;block-size:22px;inline-size:22px;display:grid}.exam-pane{overscroll-behavior:contain;min-block-size:0;padding:24px clamp(16px,3cqi,40px) 48px;overflow-y:auto}.exam-passage{background:var(--surface-raised);position:relative}.exam-questions{background:var(--surface-raised)}.exam-part{color:var(--text-muted);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.exam-passage-subtitle{color:var(--text-secondary);font-size:var(--text-base);margin-block:-8px 16px;font-style:italic;line-height:1.45}.exam-passage-title{font-size:var(--text-xl);margin-block:6px 16px;font-weight:700;line-height:1.3}.exam-paragraph{color:var(--text-primary);font-size:var(--text-base);margin-block-end:1em;line-height:1.7}.exam-paragraph-label{min-inline-size:1.6em;margin-inline-end:6px;font-weight:700;display:inline-block}.exam-highlight{background:var(--info);border-radius:2px}@supports (color:color-mix(in lab, red, red)){.exam-highlight{background:color-mix(in oklab, var(--info) 26%, transparent)}}.exam-highlight{color:inherit;cursor:pointer}.exam-evidence{background:var(--success);border-radius:3px;padding:1px 2px}@supports (color:color-mix(in lab, red, red)){.exam-evidence{background:color-mix(in oklab, var(--success) 24%, transparent)}}.exam-evidence{box-shadow:inset 0 -2px 0 var(--success);color:inherit}.exam-highlight-offer{z-index:3;border-radius:var(--r-full);background:var(--action);color:var(--text-on-inverse);font-family:inherit;font-size:var(--text-xs);box-shadow:var(--shadow-md);cursor:pointer;border:0;padding:5px 12px;font-weight:600;position:absolute;translate:-50% -100%}.exam-next{margin-block-start:24px}.qgroup+.qgroup{border-block-start:var(--hairline-width) solid var(--border-subtle);margin-block-start:32px;padding-block-start:24px}.qgroup-range{font-size:var(--text-base);font-weight:700}.qgroup-instructions{color:var(--text-secondary);font-size:var(--text-sm);margin-block:8px 16px;line-height:1.6}.qgroup-key{grid-template-columns:max-content 1fr;gap:2px 12px;margin-block-start:8px;display:grid}.qgroup-key dt{color:var(--text-primary);font-weight:700}.qlist{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.qitem{border:var(--hairline-width) solid transparent;border-radius:var(--r-md);transition:border-color var(--dur-fast) var(--ease-out);align-items:flex-start;gap:12px;margin-inline:-10px;padding:8px 10px;scroll-margin-block:24px;display:flex}.qitem[data-active]{border-color:var(--border-focus)}.qnum{border:var(--hairline-width) solid var(--border-strong);border-radius:var(--r-sm);block-size:28px;inline-size:28px;font-size:var(--text-sm);font-variant-numeric:tabular-nums;flex-shrink:0;place-items:center;font-weight:700;display:grid}.qbody{border:0;flex:1;min-inline-size:0;margin:0;padding:0}.qtext{font-size:var(--text-sm);padding:0;line-height:1.6}.qjudge{flex-wrap:wrap;gap:6px;margin-block-start:8px;display:flex}.qjudge-option{cursor:pointer;position:relative}.qjudge-option input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.qjudge-option span{border:var(--hairline-width) solid var(--border-strong);border-radius:var(--r-full);min-block-size:36px;font-size:var(--text-xs);letter-spacing:.02em;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);align-items:center;padding:0 14px;font-weight:600;display:inline-flex}.qjudge-option:hover span{background:var(--fill-soft)}.qjudge-option input:checked+span{border-color:var(--action);background:var(--action);color:var(--text-on-inverse)}.qjudge-option input:focus-visible+span{outline:2px solid var(--border-focus);outline-offset:2px}.qoptions{flex-direction:column;gap:4px;margin-block-start:8px;display:flex}.qoption{border:var(--hairline-width) solid transparent;border-radius:var(--r-md);font-size:var(--text-sm);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);align-items:flex-start;gap:10px;padding:8px 10px;line-height:1.5;display:flex}.qoption:hover{background:var(--fill-soft)}.qoption:has(input:checked){border-color:var(--action);background:var(--fill-soft)}.qoption input{accent-color:var(--action);margin-block-start:3px}.qoption-letter{flex-shrink:0;font-weight:700}.qmatch-box{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-md);background:var(--surface-well);margin-block-end:16px;padding:14px 16px}.qmatch-title{font-size:var(--text-sm);margin-block-end:8px;font-weight:700}.qmatch-options{flex-direction:column;gap:4px;margin:0;display:flex}.qmatch-option{font-size:var(--text-sm);grid-template-columns:2.4em 1fr;gap:8px;line-height:1.5;display:grid}.qmatch-option dt{font-weight:700}.qmatch-option dd{margin:0}.qmatch-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.qselect{border:var(--hairline-width) solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface-raised);min-block-size:36px;min-inline-size:7rem;color:var(--text-primary);font-family:inherit;font-size:var(--text-sm);padding:0 10px;font-weight:600}.qcomplete-title{font-size:var(--text-sm);margin-block-end:12px;font-weight:700}.qsentence{font-size:var(--text-sm);line-height:2.2}.qgap{border:0;border-block-end:2px solid var(--border-strong);background:var(--fill-soft);inline-size:11rem;max-inline-size:100%;color:var(--text-primary);font-family:inherit;font-size:var(--text-sm);border-radius:0;padding:2px 6px;font-weight:600}.qgap:focus-visible{border-block-end-color:var(--action);background:var(--fill);outline:none}.exam-nav{border-block-start:var(--hairline-width) solid var(--border-subtle);background:var(--surface-raised);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 20px;padding:10px 16px;display:flex}.exam-nav-parts{flex-wrap:wrap;align-items:center;gap:8px 16px;min-inline-size:0;display:flex}.exam-nav-end{align-items:center;gap:8px;display:flex}.exam-nav-tally{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-inline-start:8px;font-weight:500}.exam-step{border:var(--hairline-width) solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface-raised);block-size:34px;inline-size:34px;color:var(--text-primary);cursor:pointer;place-items:center;display:grid}.exam-step:hover:not(:disabled){background:var(--fill-soft)}.exam-step:disabled{color:var(--text-disabled);cursor:default}.exam-chevron[data-direction=back]{rotate:180deg}:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .exam-chevron[data-direction=back]{rotate:none}:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .exam-chevron[data-direction=forward]{rotate:180deg}.exam-nav-part{align-items:center;gap:8px;min-inline-size:0;display:flex}.exam-nav-name{border-radius:var(--r-full);color:var(--text-secondary);font-family:inherit;font-size:var(--text-xs);white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:4px 10px;font-weight:700}.exam-nav-part[data-current] .exam-nav-name{background:var(--fill);color:var(--text-primary)}.exam-nav-numbers{flex-wrap:wrap;gap:3px;margin:0;padding:0;list-style:none;display:flex}.exam-nav-number{border:var(--hairline-width) solid var(--border-strong);border-radius:var(--r-sm);block-size:26px;inline-size:26px;color:var(--text-secondary);font-family:inherit;font-size:var(--text-2xs);font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;place-items:center;font-weight:600;display:grid}.exam-nav-number:hover{background:var(--fill-soft)}.exam-nav-number[data-done]{border-color:var(--action);background:var(--action);color:var(--text-on-inverse)}.exam-nav-number[data-active]{outline:2px solid var(--border-focus);outline-offset:1px}.exam-nav-count{color:var(--text-muted);font-size:var(--text-xs);white-space:nowrap}@container exam (max-width:820px){.exam-switch{gap:4px;padding:8px 16px 0;display:flex}.exam-switch button{min-block-size:var(--tap-target);border-radius:var(--r-full);color:var(--text-secondary);font-family:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;flex:1;font-weight:600}.exam-switch button[aria-selected=true]{background:var(--fill);color:var(--text-primary)}.split{grid-template-columns:minmax(0,1fr)}.split-handle,.exam[data-pane=passage] .exam-questions,.exam[data-pane=questions] .exam-passage,.exam-nav-count{display:none}.exam-bar{grid-template-columns:1fr auto}.exam-bar-start,.exam-bar-title,.exam-save{display:none}.exam-nav{max-block-size:30dvh;overflow-y:auto}}.walk-body{grid-area:body;grid-template-columns:minmax(0,1fr) minmax(300px,26rem);min-block-size:0;display:grid}.walk-count{color:var(--text-secondary);font-size:var(--text-sm);font-variant-numeric:tabular-nums;white-space:nowrap}.walk-count strong{color:var(--text-primary)}.walk-next{align-items:center;gap:6px;display:inline-flex}.walk-nav .exam-nav-numbers{flex:1}.walk-clean{place-items:center;display:grid}.walk-none{text-align:center;flex-direction:column;align-items:center;gap:12px;max-inline-size:26rem;padding:24px;display:flex}.walk-none h1{font-size:var(--text-xl);font-weight:700}.walk-none p{color:var(--text-secondary)}.mistake{flex-direction:column;gap:16px;display:flex}.mistake .qgroup-instructions{margin:0}.mistake-choice{border:var(--hairline-width) solid var(--border-strong);border-radius:var(--r-full);min-block-size:36px;color:var(--text-muted);font-size:var(--text-xs);letter-spacing:.02em;align-items:center;gap:6px;padding:0 14px;font-weight:600;display:inline-flex}.mistake-choice[data-state=wrong],.mistake-option[data-state=wrong],.qmatch-option[data-state=wrong]{border-color:var(--danger);background:var(--danger-subtle);color:var(--text-primary)}.mistake-choice[data-state=right],.mistake-option[data-state=right],.qmatch-option[data-state=right]{border-color:var(--success);background:var(--success-subtle);color:var(--text-primary)}.mistake-choice[data-state=wrong]:before,.mistake-option[data-state=wrong] .qoption-letter:after{content:"✕";color:var(--danger)}.mistake-choice[data-state=right]:before,.mistake-option[data-state=right] .qoption-letter:after{content:"✓";color:var(--success)}.mistake-option .qoption-letter:after{margin-inline-start:6px}.mistake-option{cursor:default}.qmatch-option[data-state]{border:var(--hairline-width) solid transparent;border-radius:var(--r-sm);margin-inline:-8px;padding:2px 8px}.mistake-gap{border-radius:var(--r-sm);padding:1px 8px;font-weight:600}.mistake-gap[data-state=wrong]{background:var(--danger-subtle);color:var(--danger);text-decoration:line-through}.mistake-gap[data-state=right]{background:var(--success-subtle);color:var(--text-primary);box-shadow:inset 0 -2px 0 var(--success)}.mistake-answers{gap:8px;margin:0;display:grid}.mistake-answers>div{border-radius:var(--r-md);font-size:var(--text-sm);grid-template-columns:8.5rem minmax(0,1fr);gap:12px;padding:10px 12px;display:grid}.mistake-answers>div[data-state=wrong]{background:var(--danger-subtle)}.mistake-answers>div[data-state=right]{background:var(--success-subtle)}.mistake-answers dt{color:var(--text-secondary);font-weight:600}.mistake-answers dd{margin:0;font-weight:600}.mistake-where{color:var(--text-muted);font-size:var(--text-sm)}.tutor{border-inline-start:var(--hairline-width) solid var(--border-subtle);background:var(--surface-sunken);flex-direction:column;min-block-size:0;display:flex}.tutor-head{border-block-end:var(--hairline-width) solid var(--border-subtle);align-items:center;gap:8px;padding:14px 18px;display:flex}.tutor-mark{border-radius:var(--r-full);background:var(--action);block-size:26px;inline-size:26px;color:var(--text-on-inverse);place-items:center;display:grid}.tutor-title{font-size:var(--text-sm);font-weight:700}.tutor-body{overscroll-behavior:contain;min-block-size:0;font-size:var(--text-sm);flex-direction:column;flex:1;gap:14px;padding:16px 18px;line-height:1.6;display:flex;overflow-y:auto}.tutor-answer{flex-direction:column;gap:8px;display:flex}.tutor-list{flex-direction:column;gap:10px;margin:0;padding-inline-start:18px;list-style:outside;display:flex}.tutor-list li::marker{color:var(--text-muted)}.tutor-answer strong{font-weight:700}.tutor-answer[data-streaming]>.tutor-p:last-child:after,.tutor-answer[data-streaming]>.tutor-list:last-child>li:last-child:after{content:"";vertical-align:text-bottom;background:var(--text-primary);block-size:1em;inline-size:7px;margin-inline-start:3px;animation:1s steps(2,end) infinite tutor-caret;display:inline-block}@keyframes tutor-caret{50%{opacity:0}}.tutor-ask{border-radius:var(--r-lg) var(--r-lg) var(--r-sm) var(--r-lg);background:var(--action);max-inline-size:85%;color:var(--text-on-inverse);align-self:flex-end;padding:8px 12px}.tutor-thinking,.tutor-quiet{color:var(--text-muted);align-items:center;gap:10px;display:flex}.tutor-dots{gap:4px;display:inline-flex}.tutor-dots span{border-radius:var(--r-full);background:var(--text-muted);block-size:6px;inline-size:6px;animation:tutor-dot 1.2s var(--ease-out) infinite}.tutor-dots span:nth-child(2){animation-delay:.15s}.tutor-dots span:nth-child(3){animation-delay:.3s}@keyframes tutor-dot{0%,80%,to{opacity:.25}40%{opacity:1}}@media (prefers-reduced-motion:reduce){.tutor-dots span,.tutor-answer[data-streaming]>.tutor-p:last-child:after,.tutor-answer[data-streaming]>.tutor-list:last-child>li:last-child:after{animation:none}}.tutor-error{color:var(--text-secondary);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.tutor-error-line{color:var(--danger)}.tutor-form{border:var(--hairline-width) solid var(--border-strong);border-radius:var(--r-lg);background:var(--surface-raised);align-items:flex-end;gap:8px;margin:12px;padding-block:8px;padding-inline:14px 8px;display:flex}.tutor-form:focus-within{border-color:var(--border-focus)}.tutor-input{max-block-size:8rem;color:var(--text-primary);font-family:inherit;font-size:var(--text-sm);field-sizing:content;resize:none;background:0 0;border:0;flex:1;padding:6px 0;line-height:1.5}.tutor-input:focus-visible{outline:none}.tutor-send{border-radius:var(--r-full);background:var(--action);block-size:32px;inline-size:32px;color:var(--text-on-inverse);cursor:pointer;border:0;flex-shrink:0;place-items:center;display:grid}.tutor-send:disabled{background:var(--fill);color:var(--text-disabled);cursor:default}@container exam (max-width:1100px){.walk-body{grid-template-rows:minmax(0,1fr) minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.tutor{border-inline-start:0;border-block-start:var(--hairline-width) solid var(--border-subtle)}}.listening-runner{background:var(--surface-base);color:var(--text-primary);grid-template-rows:auto auto minmax(0,1fr) auto;display:grid;position:fixed;inset:0;overflow:hidden}.listening-head{border-block-end:var(--hairline-width) solid var(--border-subtle);background:var(--surface-raised);justify-content:space-between;align-items:center;gap:16px;padding-block:8px;padding-inline:16px;display:flex}.exam-head-brand{align-items:center;gap:10px;min-inline-size:0;display:flex}.exam-head-mark{flex-shrink:0;block-size:24px;inline-size:24px}.exam-head-skill{color:var(--text-muted);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;font-weight:600;display:block}.exam-head-title{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:600;overflow:hidden}.listening-head-audio{flex:1;max-inline-size:32rem}.listening-audio-player{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-full);background:var(--surface-well);align-items:center;gap:12px;padding-block:4px;padding-inline:12px;display:flex}.btn-audio-play,.btn-audio-mute{border-radius:var(--r-full);background:var(--fill);block-size:28px;inline-size:28px;color:var(--text-primary);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out);border:0;place-items:center;padding:0;display:grid}.btn-audio-play:hover,.btn-audio-mute:hover{background:var(--fill-soft)}.audio-progress-wrap{flex:1;align-items:center;gap:8px;display:flex}.audio-seeker{inline-size:100%;accent-color:var(--action);cursor:pointer;flex:1}.audio-time{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap;gap:3px;display:flex}.audio-volume-wrap{align-items:center;gap:6px;display:flex}.audio-volume{inline-size:4rem;accent-color:var(--action);cursor:pointer}.exam-head-controls{flex-shrink:0;align-items:center;gap:10px;display:flex}.exam-fs-toggle{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-md);color:var(--text-secondary);font-family:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;padding-block:4px;padding-inline:10px}.exam-fs-toggle:hover{background:var(--fill-soft);color:var(--text-primary)}.listening-sections-nav{border-block-end:var(--hairline-width) solid var(--border-subtle);background:var(--surface-base);gap:4px;padding-block:6px;padding-inline:16px;display:flex}.listening-section-tab{border-radius:var(--r-sm);color:var(--text-secondary);font-family:inherit;font-size:var(--text-sm);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out);background:0 0;border:0;align-items:center;gap:8px;padding-block:6px;padding-inline:12px;font-weight:500;display:flex}.listening-section-tab:hover{background:var(--fill-soft)}.listening-section-tab[data-active]{background:var(--fill);color:var(--text-primary);font-weight:600}.sec-tab-progress{border-radius:var(--r-full);background:var(--surface-well);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;padding-block:1px;padding-inline:6px}.listening-exam{grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"bar""body""nav"}.listening-exam-body{background:var(--surface-base);display:flex;overflow-y:auto}.listening-pane{background:var(--surface-base);flex:1;max-inline-size:56rem;margin-inline:0;padding-block:28px 48px;padding-inline:clamp(24px,4cqi,48px)}.listening-part-header{border-block-end:var(--hairline-width) solid var(--border-subtle);margin-block-end:24px;padding-block-end:16px}.listening-part-badge{color:var(--text-muted);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;margin:0;font-weight:700}.listening-part-title{color:var(--text-primary);font-size:var(--text-xl);margin:4px 0 0;font-weight:700}.listening-main-pane{padding-block:24px 48px;padding-inline:24px;overflow-y:auto}.listening-questions-container{flex-direction:column;gap:32px;max-inline-size:52rem;margin-inline:0;display:flex}.qitem-matching-select{align-items:center;gap:12px;margin-block-start:6px;display:flex}.matching-select{border:var(--hairline-width) solid var(--border-strong);border-radius:var(--r-md);background:var(--surface-raised);min-inline-size:14rem;color:var(--text-primary);font-family:inherit;font-size:var(--text-sm);padding-block:6px;padding-inline:10px}.completion-sentence{font-size:var(--text-sm);flex-wrap:wrap;align-items:baseline;gap:6px;line-height:1.8;display:flex}.completion-num{border:var(--hairline-width) solid var(--border-strong);border-radius:var(--r-sm);block-size:22px;inline-size:22px;font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;place-items:center;margin-inline-end:4px;font-weight:700;display:inline-grid}.completion-input{border:0;border-block-end:2px solid var(--border-strong);background:var(--surface-well);min-inline-size:8rem;max-inline-size:14rem;color:var(--text-primary);font-family:inherit;font-size:var(--text-sm);padding-block:2px;padding-inline:8px}.completion-input:focus{border-block-end-color:var(--border-focus);background:var(--fill-soft);outline:none}.listening-foot{border-block-start:var(--hairline-width) solid var(--border-subtle);background:var(--surface-raised);justify-content:space-between;align-items:center;gap:16px;padding-block:8px;padding-inline:16px;display:flex}.listening-foot-summary{color:var(--text-secondary);font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap}.exam-questions-strip{flex-wrap:wrap;gap:4px;display:flex;overflow-x:auto}.exam-q-btn{border:var(--hairline-width) solid var(--border-strong);border-radius:var(--r-sm);block-size:26px;inline-size:26px;color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;place-items:center;font-weight:600;display:grid}.exam-q-btn:hover{background:var(--fill-soft)}.exam-q-btn[data-filled]{border-color:var(--action);background:var(--action);color:var(--text-on-inverse)}.exam-confirm-dialog{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);background:var(--surface-overlay);inline-size:min(100% - 32px,28rem);color:var(--text-primary);box-shadow:var(--shadow-overlay);padding:0}.exam-confirm-dialog::backdrop{background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.exam-dialog-content{flex-direction:column;gap:12px;padding:24px;display:flex}.exam-dialog-title{font-size:var(--text-lg);margin:0;font-weight:600}.exam-dialog-body{color:var(--text-secondary);font-size:var(--text-sm);margin:0;line-height:1.5}.exam-dialog-error{color:var(--danger);font-size:var(--text-sm);margin:0}.exam-dialog-actions{justify-content:flex-end;gap:8px;margin-block-start:12px;display:flex}.transcript-pane{background:var(--bg-surface);flex-direction:column;block-size:100%;min-block-size:0;inline-size:100%;display:flex;overflow:hidden}.transcript-player-wrapper{background:var(--bg-surface-raised);border-block-end:var(--hairline-width) solid var(--border-subtle);flex-shrink:0;padding-block:16px;padding-inline:20px}.audio-clip-player{flex-direction:column;gap:12px;display:flex}.clip-controls-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.clip-play-group{align-items:center;gap:8px;display:flex}.clip-play-btn{align-items:center;gap:6px;min-inline-size:80px;display:inline-flex}.clip-jump-btn{font-size:var(--text-xs);align-items:center;gap:6px;display:inline-flex}.clip-badges-group{align-items:center;gap:10px;display:flex}.clip-toggle-pill{border-radius:var(--r-full);border:var(--hairline-width) solid var(--border-strong);background:var(--bg-surface);color:var(--text-secondary);font-size:var(--text-xs);cursor:pointer;transition:background-color var(--dur-fast), color var(--dur-fast), border-color var(--dur-fast);align-items:center;gap:6px;padding-block:4px;padding-inline:10px;font-weight:500;display:inline-flex}.clip-toggle-pill-active{border-color:var(--success);background:var(--success)}@supports (color:color-mix(in lab, red, red)){.clip-toggle-pill-active{background:color-mix(in oklab, var(--success) 16%, transparent)}}.clip-toggle-pill-active{color:var(--text-primary);font-weight:600}.clip-speeds{border-radius:var(--r-full);border:var(--hairline-width) solid var(--border-subtle);background:var(--bg-surface);display:inline-flex;overflow:hidden}.clip-speed-btn{color:var(--text-muted);font-size:var(--text-2xs);cursor:pointer;transition:background-color var(--dur-fast), color var(--dur-fast);background:0 0;border:0;padding-block:3px;padding-inline:8px;font-weight:600}.clip-speed-btn-active{background:var(--action);color:var(--text-on-inverse)}.clip-timeline{flex-direction:column;gap:4px;display:flex}.clip-track-container{align-items:center;block-size:8px;inline-size:100%;display:flex;position:relative}.clip-snippet-region{background:var(--success);border-radius:3px;block-size:6px;position:absolute}@supports (color:color-mix(in lab, red, red)){.clip-snippet-region{background:color-mix(in oklab, var(--success) 40%, transparent)}}.clip-snippet-region{border-inline:2px solid var(--success);pointer-events:none;z-index:1}.clip-scrubber{appearance:none;background:var(--border-subtle);cursor:pointer;border-radius:3px;outline:none;block-size:6px;inline-size:100%;margin:0}.clip-scrubber::-webkit-slider-thumb{appearance:none;background:var(--text-primary);border:2px solid var(--bg-surface);cursor:pointer;z-index:2;border-radius:50%;block-size:14px;inline-size:14px;position:relative}.clip-scrubber::-moz-range-thumb{background:var(--text-primary);border:2px solid var(--bg-surface);cursor:pointer;border-radius:50%;block-size:14px;inline-size:14px}.clip-times{font-size:var(--text-2xs);font-variant-numeric:tabular-nums;color:var(--text-muted);justify-content:space-between;align-items:center;display:flex}.clip-span-time{color:var(--text-secondary);font-weight:500}.transcript-scroll-area{flex-direction:column;flex:1;gap:16px;padding-block:20px;padding-inline:24px;display:flex;overflow-y:auto}.transcript-header{border-block-end:var(--hairline-width) solid var(--border-subtle);flex-direction:column;gap:6px;padding-block-end:12px;display:flex}.transcript-badge{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);align-self:flex-start;font-weight:600}.transcript-title{font-size:var(--text-lg);color:var(--text-primary);margin:0;font-weight:600}.transcript-body{font-size:var(--text-base);color:var(--text-secondary);flex-direction:column;gap:14px;line-height:1.7;display:flex}.transcript-line{margin:0}.transcript-speaker{color:var(--text-primary);margin-inline-end:4px;font-weight:600}.transcript-text mark.evidence-mark{background:var(--success);border-radius:3px;padding-block:2px;padding-inline:3px}@supports (color:color-mix(in lab, red, red)){.transcript-text mark.evidence-mark{background:color-mix(in oklab, var(--success) 24%, transparent)}}.transcript-text mark.evidence-mark{box-shadow:inset 0 -2px 0 var(--success);color:var(--text-primary);font-weight:500}.mock-picker-card{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-xl);box-shadow:var(--shadow-sm);flex-direction:column;gap:24px;padding:clamp(20px,3vw,32px);display:flex}.mock-picker-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.mock-picker-title{font-size:var(--text-2xl);letter-spacing:-.02em;color:var(--text-primary);margin-block:4px 8px;font-weight:700}.mock-picker-lede{color:var(--text-secondary);font-size:var(--text-sm);max-inline-size:60ch;margin:0;line-height:1.6}.mock-skills-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.mock-skill-item{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);background:var(--surface-base);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);align-items:flex-start;gap:12px;padding:16px;display:flex}.mock-skill-item:hover{background:var(--fill-soft)}.mock-skill-item.mock-skill-checked{border-color:var(--action);background:var(--action)}@supports (color:color-mix(in lab, red, red)){.mock-skill-item.mock-skill-checked{background:color-mix(in oklab, var(--action) 6%, var(--surface-base))}}.mock-skill-item.mock-skill-locked{opacity:.6;cursor:not-allowed}.mock-skill-checkbox{accent-color:var(--action);flex-shrink:0;block-size:18px;inline-size:18px;margin-block-start:2px}.mock-skill-info{flex-direction:column;flex:1;gap:4px;min-inline-size:0;display:flex}.mock-skill-heading{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.mock-skill-name{font-weight:600;font-size:var(--text-base);color:var(--text-primary)}.mock-skill-meta{font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.mock-skill-desc{font-size:var(--text-xs);color:var(--text-secondary);margin:0;line-height:1.4}.mock-skill-warning{font-size:var(--text-xs);color:var(--warning);margin-block-start:4px}.mock-exam-rules-box{background:var(--surface-well);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);padding:18px 22px}.mock-rules-title{font-size:var(--text-sm);color:var(--text-primary);margin:0 0 10px;font-weight:600}.mock-rules-list{font-size:var(--text-xs);color:var(--text-secondary);flex-direction:column;gap:6px;margin:0;padding-inline-start:20px;line-height:1.5;list-style:outside;display:flex}.mock-rules-list strong{color:var(--text-primary)}.mock-picker-error{background:var(--danger);padding:10px 14px}@supports (color:color-mix(in lab, red, red)){.mock-picker-error{background:color-mix(in oklab, var(--danger) 12%, transparent)}}.mock-picker-error{border:var(--hairline-width) solid var(--danger);border-radius:var(--r-md);color:var(--danger);font-size:var(--text-sm)}.mock-picker-footer{border-block-start:var(--hairline-width) solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-block-start:16px;display:flex}.mock-picker-summary{flex-direction:column;gap:2px;display:flex}.mock-picker-duration-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.mock-picker-duration-val{font-size:var(--text-xl);color:var(--text-primary);font-weight:700;font-family:var(--font-mono)}.mock-history-section{flex-direction:column;gap:16px;margin-block-start:40px;display:flex}.mock-history-title{font-size:var(--text-xl);color:var(--text-primary);margin:0;font-weight:600}.mock-history-card{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-xl);overflow:hidden}.mock-history-table{border-collapse:collapse;inline-size:100%;font-size:var(--text-sm)}.mock-history-table th{text-align:start;border-block-end:var(--hairline-width) solid var(--border-subtle);background:var(--surface-well);color:var(--text-muted);font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;padding:12px 16px}.mock-history-table td{border-block-end:var(--hairline-width) solid var(--border-subtle);vertical-align:middle;padding:14px 16px}.mock-history-table tr:last-child td{border-block-end:none}.mock-band-badge{border-radius:var(--r-full);min-inline-size:40px;font-weight:700;font-size:var(--text-sm);font-family:var(--font-mono);justify-content:center;align-items:center;padding:3px 10px;display:inline-flex}.mock-badge-success{background:var(--success)}@supports (color:color-mix(in lab, red, red)){.mock-badge-success{background:color-mix(in oklab, var(--success) 16%, transparent)}}.mock-badge-success{color:var(--success);border:var(--hairline-width) solid var(--success)}.mock-badge-neutral{background:var(--fill);color:var(--text-secondary)}.mock-skill-tags{flex-wrap:wrap;gap:6px;display:flex}.mock-skill-tag{font-size:var(--text-2xs);background:var(--fill);color:var(--text-secondary);border-radius:4px;padding:2px 8px;font-weight:500}.mock-strike-badge{font-size:var(--text-xs);align-items:center;gap:4px;font-weight:600;display:inline-flex}.mock-strike-badge.clean{color:var(--success)}.mock-strike-badge.flagged{color:var(--warning)}.mock-runner-top{background:var(--surface-raised);border-block-end:var(--hairline-width) solid var(--border-subtle);z-index:10;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:10px 20px;display:grid}.mock-runner-brand{align-items:center;gap:8px;display:flex}.mock-runner-badge{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.05em;border-radius:var(--r-full);background:var(--action);color:var(--text-on-inverse);padding:2px 8px;font-weight:700}.mock-stage-stepper{justify-content:center;align-items:center;gap:8px;display:flex}.mock-step-pill{border-radius:var(--r-full);font-size:var(--text-xs);background:var(--surface-base);border:var(--hairline-width) solid var(--border-subtle);color:var(--text-muted);transition:all var(--dur-fast) var(--ease-out);align-items:center;gap:6px;padding:4px 12px;font-weight:600;display:flex}.mock-step-pill[data-state=active]{background:var(--action);color:var(--text-on-inverse);border-color:var(--action)}.mock-step-pill[data-state=completed]{background:var(--success)}@supports (color:color-mix(in lab, red, red)){.mock-step-pill[data-state=completed]{background:color-mix(in oklab, var(--success) 12%, transparent)}}.mock-step-pill[data-state=completed]{color:var(--success);border-color:var(--success)}.mock-runner-right{justify-content:flex-end;align-items:center;gap:14px;display:flex}.mock-strike-pill{border-radius:var(--r-full);font-size:var(--text-xs);background:var(--fill);color:var(--text-secondary);align-items:center;gap:6px;padding:4px 10px;font-weight:600;display:flex}.mock-strike-pill[data-has-strikes=true]{background:var(--danger)}@supports (color:color-mix(in lab, red, red)){.mock-strike-pill[data-has-strikes=true]{background:color-mix(in oklab, var(--danger) 16%, transparent)}}.mock-strike-pill[data-has-strikes=true]{color:var(--danger);border:var(--hairline-width) solid var(--danger)}.mock-result-container{flex-direction:column;gap:32px;max-inline-size:880px;margin-inline:auto;padding-block:40px 60px;display:flex}.mock-result-hero{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-2xl);text-align:center;box-shadow:var(--shadow-md);flex-direction:column;align-items:center;gap:16px;padding:clamp(24px,4vw,40px);display:flex}.mock-result-eyebrow{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:700}.mock-result-band-display{align-items:baseline;gap:12px;display:flex}.mock-result-big-band{letter-spacing:-.04em;font-size:clamp(3.5rem,8vw,5.5rem);font-weight:800;line-height:1;font-family:var(--font-mono);color:var(--action)}.mock-result-band-max{font-size:var(--text-xl);color:var(--text-muted);font-weight:500}.mock-result-hero-text{max-inline-size:52ch;font-size:var(--text-sm);color:var(--text-secondary);margin:0;line-height:1.6}.mock-result-cards-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.mock-result-skill-card{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-xl);flex-direction:column;justify-content:space-between;gap:16px;padding:20px;display:flex}.mock-result-skill-header{justify-content:space-between;align-items:flex-start;display:flex}.mock-result-skill-title{font-size:var(--text-base);color:var(--text-primary);margin:0;font-weight:600}.mock-result-skill-band{font-size:var(--text-2xl);font-weight:700;font-family:var(--font-mono);color:var(--text-primary)}.mock-result-skill-body{font-size:var(--text-xs);color:var(--text-secondary);flex-direction:column;gap:6px;display:flex}.mock-result-discipline-banner{border-radius:var(--r-lg);background:var(--surface-well);border:var(--hairline-width) solid var(--border-subtle);font-size:var(--text-sm);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.speaking-hero-banner{border-radius:var(--r-lg);background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 24px;margin-block-end:20px;padding:16px 20px;display:flex}.speaking-hero-info{flex-direction:column;flex:360px;gap:6px;display:flex}.speaking-hero-badge{border-radius:var(--r-full);background:var(--surface-sunken);inline-size:fit-content;color:var(--text-secondary);font-size:var(--text-xs);letter-spacing:.02em;text-transform:uppercase;padding:2px 8px;font-weight:600}.speaking-hero-title{font-size:var(--text-lg);letter-spacing:-.01em;color:var(--text-primary);font-weight:700}.speaking-hero-desc{font-size:var(--text-sm);color:var(--text-secondary);max-inline-size:65ch;line-height:1.45}.speaking-hero-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.speak-card-title{font-size:var(--text-base);line-height:1.4}.speak-card-bullets{border-inline-start:2px solid var(--border-subtle);padding-inline-start:12px}.speak-consent{border-radius:var(--r-md);background:var(--surface-sunken);color:var(--text-secondary);font-size:var(--text-sm);padding:12px 14px;line-height:1.5}.speak-consent a{color:var(--text-primary);text-underline-offset:3px;text-decoration:underline}.speak-exam{background:var(--surface-base);color:var(--text-primary);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"bar""stage";display:grid;position:fixed;inset:0}.speak-stage{flex-direction:column;grid-area:stage;align-items:center;gap:24px;padding:clamp(24px,6vh,64px) 16px 40px;display:flex;overflow-y:auto}.speak-card{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);background:var(--surface-raised);inline-size:min(100%,40rem);box-shadow:var(--shadow-sm);padding:28px 32px}.speak-question{font-size:var(--text-2xl);letter-spacing:-.015em;font-weight:650;line-height:1.25}.speak-cue-lead{color:var(--text-secondary);font-size:var(--text-sm);margin-block-start:16px}.speak-cue{font-size:var(--text-base);flex-direction:column;gap:4px;margin-block-start:6px;padding-inline-start:1.2em;line-height:1.5;list-style:outside;display:flex}.speak-cue-small{color:var(--text-secondary);font-size:var(--text-sm)}.speak-notes{inline-size:min(100%,40rem);color:var(--text-muted);font-size:var(--text-xs);flex-direction:column;gap:6px;display:flex}.speak-notes textarea{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-md);background:var(--surface-raised);color:var(--text-primary);font:inherit;font-size:var(--text-sm);resize:vertical;padding:10px 12px}.speak-controls{text-align:center;flex-direction:column;align-items:center;gap:14px;inline-size:min(100%,40rem);display:flex}.speak-hint{color:var(--text-secondary);font-size:var(--text-sm)}.speak-error{color:var(--danger);font-size:var(--text-sm)}.speak-go{min-block-size:48px;min-inline-size:12rem;font-size:var(--text-base)}.speak-meter{--level:0;border-radius:var(--r-full);background:var(--fill);block-size:6px;inline-size:min(100%,18rem);overflow:hidden}.speak-meter-bar{inline-size:calc(var(--level) * 100%);border-radius:inherit;background:var(--text-muted);block-size:100%;transition:inline-size 60ms linear;display:block}.speak-meter[data-live] .speak-meter-bar{background:var(--text-primary)}.speak-rec{font-size:var(--text-sm);font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-weight:600;display:inline-flex}.speak-rec-dot{background:var(--danger);block-size:10px;inline-size:10px;animation:speak-blink 1.2s var(--ease-out) infinite;border-radius:50%}@keyframes speak-blink{50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.speak-rec-dot{animation:none}.speak-meter-bar{transition:none}}.speak-stages{text-align:start;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.speak-stages li{color:var(--text-muted);font-size:var(--text-sm);align-items:center;gap:10px;display:flex}.speak-stages li:before{content:"";border:2px solid var(--border-strong);border-radius:50%;flex:none;block-size:12px;inline-size:12px}.speak-stages li[data-state=done]{color:var(--text-secondary)}.speak-stages li[data-state=done]:before{border-color:var(--success);background:var(--success)}.speak-stages li[data-state=now]{color:var(--text-primary);font-weight:600}.speak-stages li[data-state=now]:before{border-color:var(--text-primary);border-inline-end-color:#0000;animation:.9s linear infinite speak-spin}.speak-heard{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);background:var(--surface-raised);text-align:start;inline-size:100%;max-inline-size:38rem;margin-block-start:20px;padding:16px 18px}.speak-heard-text{color:var(--text-primary);font-size:var(--text-sm);margin:6px 0 12px;line-height:1.65}.speak-heard-stats{flex-wrap:wrap;gap:6px 22px;margin:0;display:flex}.speak-heard-stats dd{margin:0;font-weight:600}@keyframes speak-spin{to{rotate:360deg}}@media (prefers-reduced-motion:reduce){.speak-stages li[data-state=now]:before{border-inline-end-color:var(--text-primary);animation:none}}.speak-failed{flex-direction:column;align-items:center;gap:12px;display:flex}.speak-failed-actions,.speak-next-actions{flex-wrap:wrap;gap:8px;display:flex}.speak-report{background:var(--surface-base);min-block-size:100dvh;color:var(--text-primary)}.speak-report-bar{z-index:5;position:sticky;inset-block-start:0}.speak-report-body{flex-direction:column;gap:16px;inline-size:min(100%,60rem);margin-inline:auto;padding:28px 16px 120px;display:flex}.speak-report-head{flex-direction:column;gap:6px;padding-block-end:4px;display:flex}.speak-eyebrow{color:var(--text-muted);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.speak-report-title{font-size:var(--text-2xl);letter-spacing:-.015em;font-weight:650;line-height:1.25}.speak-panel{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);background:var(--surface-raised);flex-direction:column;gap:12px;min-inline-size:0;padding:18px 20px;display:flex}.speak-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.speak-h2{font-size:var(--text-base);letter-spacing:-.01em;font-weight:650}.speak-h3{color:var(--text-secondary);font-size:var(--text-sm);margin-block-end:8px;font-weight:600}.speak-muted{color:var(--text-muted);font-size:var(--text-sm);line-height:1.5}.speak-beta{border-radius:var(--r-full);background:var(--fill);color:var(--text-muted);font-size:var(--text-xs);vertical-align:2px;margin-inline-start:4px;padding:1px 6px;font-weight:600}.speak-two{grid-template-columns:1fr;gap:16px;display:grid}@container app (min-width:820px){.speak-two{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:820px){.speak-report .speak-two{grid-template-columns:repeat(2,minmax(0,1fr))}}.speak-player-row{align-items:center;gap:14px;display:flex}.speak-play{background:var(--action);block-size:44px;inline-size:44px;color:var(--text-on-inverse);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.speak-play:hover{background:var(--action-hover)}.speak-play:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.speak-play-small{block-size:36px;inline-size:36px}.speak-wave-wrap{flex:1;min-inline-size:0}.speak-wave{cursor:pointer;touch-action:none;block-size:64px;inline-size:100%;display:block}.speak-wave:focus-visible{outline:2px solid var(--border-focus);outline-offset:4px;border-radius:var(--r-sm)}.speak-wave-bars rect{fill:var(--border-strong)}.speak-wave-played rect{fill:var(--text-primary)}.speak-wave-pause{fill:var(--anno-hl-uptalk)}.speak-wave-pause[data-long]{fill:var(--anno-hl-delivery)}.speak-wave-track{fill:var(--fill)}.speak-wave-fill{fill:var(--text-primary)}.speak-wave-head{stroke:var(--text-primary);stroke-width:1.5px}.speak-time{color:var(--text-secondary);font-size:var(--text-sm);font-variant-numeric:tabular-nums;flex:none}.speak-switch{font-size:var(--text-sm);cursor:pointer;align-items:center;gap:8px;display:inline-flex}.speak-mini{z-index:6;border-block-start:var(--hairline-width) solid var(--border-subtle);background:var(--surface-raised);box-shadow:var(--shadow-overlay);transition:translate var(--dur-base) var(--ease-out);align-items:center;gap:12px;padding:10px max(16px,50vw - 30rem + 16px);display:flex;position:fixed;inset-block-end:0;inset-inline:0;translate:0 110%}.speak-mini[data-shown]{translate:0}@media (prefers-reduced-motion:reduce){.speak-mini{transition:none}}.speak-mini-title{max-inline-size:22rem;font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.speak-mini-track{border-radius:var(--r-full);background:var(--fill);flex:1;block-size:4px;position:relative;overflow:hidden}.speak-mini-fill{background:var(--text-primary);position:absolute;inset-block:0;inset-inline-start:0}.speak-at{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-full);background:var(--surface-base);color:var(--text-secondary);font:inherit;font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer;flex:none;align-items:center;gap:4px;padding:2px 8px;font-weight:600;display:inline-flex}.speak-at:hover{border-color:var(--border-strong);color:var(--text-primary)}.speak-at:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.speak-at span{font-size:.8em}.speak-at-still{cursor:default}.speak-summary{font-size:var(--text-base);line-height:1.6}.speak-answered{border-radius:var(--r-full);background:var(--fill);font-size:var(--text-xs);padding:2px 10px;font-weight:600}.speak-answered[data-answered=fully]{background:var(--success-subtle)}.speak-answered[data-answered=no]{background:var(--danger-subtle)}.speak-warn{border-radius:var(--r-md);background:var(--warning-subtle);font-size:var(--text-sm);padding:10px 12px;line-height:1.5}.speak-compare ul{flex-wrap:wrap;gap:8px;margin:6px 0 0;padding:0;list-style:none;display:flex}.speak-compare li{border-radius:var(--r-full);background:var(--fill);font-size:var(--text-xs);gap:8px;padding:4px 10px;display:inline-flex}.speak-compare li[data-better=true]{background:var(--success-subtle)}.speak-compare li[data-better=false]{background:var(--danger-subtle)}.speak-compare a{color:var(--text-primary);text-underline-offset:3px;text-decoration:underline}.speak-overall{font-family:var(--font-sans), system-ui, sans-serif;font-size:var(--text-2xl);font-variant-numeric:tabular-nums;font-weight:700}.speak-criteria{grid-template-columns:1fr;gap:14px;margin:0;padding:0;list-style:none;display:grid}@media (min-width:720px){.speak-criteria{grid-template-columns:repeat(2,minmax(0,1fr))}}.speak-criterion{border-radius:var(--r-md);background:var(--surface-sunken);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.speak-criterion-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.speak-criterion-label{font-size:var(--text-sm);font-weight:600}.speak-criterion-band{font-size:var(--text-lg);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:650}.speak-scale{border-radius:var(--r-full);background:var(--fill);block-size:6px;display:block;position:relative}.speak-scale-fill{border-radius:var(--r-full);background:var(--text-primary);min-inline-size:6px;position:absolute;inset-block:0}.speak-adjustment{border-inline-start:2px solid var(--danger);border-radius:var(--r-sm);background:var(--danger-subtle);color:var(--text-primary);font-size:var(--text-sm);margin:8px 0 0;padding:8px 12px}.speak-next{color:var(--text-secondary);font-size:var(--text-sm);margin:10px 0 0;line-height:1.55}.speak-next strong{color:var(--text-primary);font-weight:600}.speak-evidence{font-size:var(--text-sm);flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.speak-evidence li{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.speak-evidence q{font-style:italic}.speak-points summary{cursor:pointer;list-style-position:outside}.speak-points[open] summary{margin-block-end:10px}.speak-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.speak-finding{border-block-end:var(--hairline-width) solid var(--border-subtle);font-size:var(--text-sm);flex-direction:column;gap:6px;padding-block-end:12px;line-height:1.5;display:flex}.speak-finding:last-child{border-block-end:0;padding-block-end:0}.speak-finding-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.speak-finding-title{font-weight:600}.speak-quote{border-radius:var(--r-sm);align-self:flex-start;padding:1px 4px;font-style:italic}.speak-quote[data-severity=needs_work]{-webkit-text-decoration:underline wavy var(--danger);-webkit-text-decoration:underline wavy var(--danger);-webkit-text-decoration:underline wavy var(--danger);text-decoration:underline wavy var(--danger);text-underline-offset:4px;text-decoration-thickness:1px}.speak-quote[data-severity=excellent]{background:var(--success-subtle)}.speak-more summary{color:var(--text-secondary);font-size:var(--text-xs);cursor:pointer;font-weight:600}.speak-more p{margin-block-start:6px}.speak-delivery{grid-template-columns:1fr;gap:20px;display:grid}@media (min-width:820px){.speak-delivery{grid-template-columns:repeat(2,minmax(0,1fr))}}.speak-fix{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.speak-correct{border-radius:var(--r-sm);background:var(--success-subtle);padding:1px 4px;font-weight:600}.speak-weak{flex-direction:column;gap:12px;display:flex}.speak-chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.speak-chip{border-radius:var(--r-full);font-size:var(--text-sm);padding:2px 10px}.speak-fillers{grid-template-columns:7.5rem minmax(0,1fr);align-items:center;gap:16px;display:grid}.speak-donut{inline-size:100%}.speak-donut-track{fill:none;stroke:var(--fill);stroke-width:12px}.speak-donut-part{fill:none;stroke:var(--text-secondary);stroke-width:12px}.speak-donut-total{fill:var(--text-primary);font-size:22px;font-weight:650}.speak-filler-list{font-size:var(--text-sm);flex-direction:column;gap:4px;margin:8px 0 0;padding:0;list-style:none;display:flex}.speak-filler-list li{grid-template-columns:10px 1fr auto;align-items:center;gap:8px;display:grid}.speak-swatch{background:var(--text-secondary);border-radius:3px;block-size:10px;inline-size:10px}.speak-delta{color:var(--text-muted);font-size:var(--text-sm)}.speak-tabs{flex-wrap:wrap;gap:2px;display:flex}.speak-refined{max-block-size:16rem;position:relative;overflow:hidden}.speak-refined[data-full]{max-block-size:none}.speak-refined:not([data-full]):after{content:"";background:linear-gradient(transparent, var(--surface-raised));pointer-events:none;block-size:3rem;position:absolute;inset-block-end:0;inset-inline:0}.speak-refined:has(.speak-structure,.speak-list):after{display:none}.speak-refined:has(.speak-structure,.speak-list){max-block-size:none}.speak-rewrite{font-size:var(--text-base);line-height:1.7}.speak-diff [data-op=del]{color:var(--danger);text-decoration:line-through}.speak-diff [data-op=add]{border-radius:var(--r-sm);background:var(--success-subtle)}.speak-against{color:var(--text-muted);font-size:var(--text-sm);align-items:center;gap:8px;margin-block-end:10px;display:inline-flex}.speak-against select{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-sm);background:var(--surface-raised);min-block-size:32px;color:var(--text-primary);font:inherit;padding:0 8px}.speak-full{font-size:var(--text-sm);align-self:flex-start}.speak-structure{flex-direction:column;gap:12px;display:flex}.speak-timeline{border-block-end:2px solid var(--border-subtle);block-size:26px;margin-inline:12px;position:relative}.speak-timeline-mark{background:var(--action);block-size:22px;inline-size:22px;color:var(--text-on-inverse);font-size:var(--text-xs);border-radius:50%;place-items:center;font-weight:650;display:grid;position:absolute;inset-block-start:0;translate:-50%}.speak-checklist{font-size:var(--text-sm);flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.speak-checklist li{grid-template-columns:24px 1fr;gap:10px;display:grid}.speak-check{background:var(--danger-subtle);block-size:22px;inline-size:22px;color:var(--danger);border-radius:50%;place-items:center;font-weight:700;display:grid}.speak-checklist li[data-covered] .speak-check{background:var(--success-subtle);color:var(--success)}.speak-check-label{font-weight:600}.speak-check-quote{flex-wrap:wrap;align-items:center;gap:6px;font-style:italic;display:flex}.speak-next{background:var(--surface-sunken)}.speak-pace-top{flex-wrap:wrap;align-items:baseline;gap:6px 16px;display:flex}.speak-pace-figure{font-family:var(--font-sans), system-ui, sans-serif;font-size:var(--text-4xl);font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.speak-pace-figure[data-zone=slow],.speak-pace-figure[data-zone=fast],.speak-pace-zone[data-zone=slow],.speak-pace-zone[data-zone=fast]{color:var(--danger)}.speak-pace-figure[data-zone=good],.speak-pace-zone[data-zone=good]{color:var(--success)}.speak-pace-unit{color:var(--text-muted);font-family:var(--font-sans);font-size:var(--text-sm);margin-inline-start:6px;font-weight:500}.speak-pace-zone{font-size:var(--text-sm);font-weight:600}.speak-stats{flex-wrap:wrap;gap:16px;margin:0;margin-inline-start:auto;display:flex}.speak-stats div{flex-direction:column;gap:2px;display:flex}.speak-stats dt{color:var(--text-muted);font-size:var(--text-xs)}.speak-stats dd{font-size:var(--text-sm);margin:0;font-weight:600}.speak-pace-chart{cursor:pointer;block-size:auto;inline-size:100%;display:block}.speak-pace-band{fill:var(--success-subtle)}.speak-pace-grid{stroke:var(--chart-grid);stroke-width:1px}.speak-pace-target{stroke:var(--success);stroke-dasharray:4 4;stroke-width:1px}.speak-pace-tick{fill:var(--text-muted);font-size:var(--text-2xs)}.speak-pace-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5px}.speak-pace-line[data-zone=out]{stroke:var(--danger)}.speak-pace-line[data-zone=in]{stroke:var(--success)}.speak-adjust{font-size:var(--text-sm);position:relative}.speak-adjust summary{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-full);color:var(--text-secondary);cursor:pointer;padding:4px 10px;list-style:none}.speak-adjust summary::-webkit-details-marker{display:none}.speak-adjust-body{z-index:2;border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-md);background:var(--surface-raised);inline-size:max-content;box-shadow:var(--shadow-md);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex;position:absolute;inset-block-start:calc(100% + 6px);inset-inline-end:0}.speak-adjust-body label{align-items:center;gap:6px;display:inline-flex}.speak-adjust-body input{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-sm);background:var(--surface-base);min-block-size:32px;inline-size:4.5rem;color:var(--text-primary);font:inherit;padding:0 8px}.speak-toggles{flex-wrap:wrap;gap:6px 14px;display:flex}.speak-toggle{font-size:var(--text-sm);cursor:pointer;align-items:center;gap:6px;display:inline-flex}.speak-toggle input{margin:0}.speak-dot{border-radius:50%;block-size:10px;inline-size:10px}.speak-transcript{font-size:var(--text-base);flex-direction:column;gap:14px;line-height:1.95;display:flex}.speak-word{cursor:pointer;padding-block:2px}.speak-word:not([data-hl]):hover{border-radius:var(--r-sm);background:var(--fill)}.speak-word[data-now]{box-shadow:inset 0 -2px 0 var(--text-primary)}.speak-word[data-edge=both]{border-radius:var(--r-sm);padding-inline:2px}.speak-word[data-edge=start]{border-start-start-radius:var(--r-sm);border-end-start-radius:var(--r-sm);padding-inline-start:2px}.speak-word[data-edge=end]{border-start-end-radius:var(--r-sm);border-end-end-radius:var(--r-sm);padding-inline-end:2px}[data-hl=filler]{--hl:var(--anno-hl-filler);--hl-solid:var(--text-muted)}[data-hl=restart]{--hl:var(--anno-hl-restart);--hl-solid:var(--anno-hl-restart)}[data-hl=weak]{--hl:var(--anno-hl-weak);--hl-solid:var(--series-writing)}[data-hl=delivery]{--hl:var(--anno-hl-delivery);--hl-solid:var(--anno-hl-weak)}[data-hl=grammar]{--hl:var(--anno-hl-grammar);--hl-solid:var(--anno-grammar)}[data-hl=lexical]{--hl:var(--anno-hl-lexical);--hl-solid:var(--info)}[data-hl=uptalk]{--hl:var(--anno-hl-uptalk);--hl-solid:var(--anno-cohesion)}.speak-word[data-hl],.speak-chip[data-hl],.speak-quote[data-hl]{background:var(--hl)}.speak-word[data-hl=restart]{color:var(--anno-hl-restart-text)}.speak-word[data-hl=grammar],.speak-quote[data-hl=grammar]{-webkit-text-decoration:underline wavy var(--anno-grammar);-webkit-text-decoration:underline wavy var(--anno-grammar);-webkit-text-decoration:underline wavy var(--anno-grammar);text-decoration:underline wavy var(--anno-grammar);text-underline-offset:4px;text-decoration-thickness:1px}.speak-toggle .speak-dot{background:var(--hl-solid)}.speak-provenance{font-size:var(--text-xs);padding-inline:4px}.speak-failed-page{background:var(--surface-base);place-items:center;min-block-size:100dvh;padding:16px;display:grid}.speak-failed-page .speak-panel{inline-size:min(100%,36rem)}@media (max-width:560px){.speak-card{padding:20px}.speak-question,.speak-report-title{font-size:var(--text-xl)}.speak-fillers{grid-template-columns:5.5rem minmax(0,1fr)}.speak-mini-title{display:none}.speak-stats{margin-inline-start:0}}.gmap{flex-direction:column;gap:24px;display:flex}.gmap-summary{color:var(--text-secondary);font-size:var(--text-sm);flex-direction:column;gap:8px;display:flex}.gmap-summary strong{color:var(--text-primary);font-weight:700}.gmap-track{border-radius:var(--r-full);background:var(--surface-sunken);block-size:6px;overflow:hidden}.gmap-track span{border-radius:inherit;background:var(--progress);block-size:100%;display:block}.gmap-hubs{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:16px;display:grid}.gmap-hub{aspect-ratio:1;border:var(--hairline-width) solid var(--border-strong);border-radius:var(--r-full);background:var(--surface-raised);inline-size:100%;max-inline-size:168px;color:var(--text-primary);font:inherit;text-align:center;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);flex-direction:column;justify-content:center;align-items:center;gap:4px;margin-inline:auto;padding:18px;display:flex;position:relative}.gmap-hub:hover{background:var(--fill-soft)}.gmap-hub:focus-visible{outline:2px solid var(--border-focus);outline-offset:3px}.gmap-hub[aria-expanded=true]{border-color:var(--action);background:var(--surface-inverse);color:var(--text-on-inverse)}.gmap-hub-ring{border-radius:inherit;background:conic-gradient(var(--progress) var(--pct), transparent 0);-webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 3px), var(--text-primary) calc(100% - 2px));-webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 3px), var(--text-primary) calc(100% - 2px));-webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 3px), var(--text-primary) calc(100% - 2px));mask:radial-gradient(farthest-side, transparent calc(100% - 3px), var(--text-primary) calc(100% - 2px));pointer-events:none;position:absolute;inset:-4px}.gmap-hub-title{font-size:var(--text-sm);font-weight:600;line-height:1.25}.gmap-hub-meta{font-size:var(--text-xs);opacity:.7}.gmap-hint{color:var(--text-muted);font-size:var(--text-sm)}.gmap-branch{padding:var(--panel-pad);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);background:var(--surface-raised);flex-direction:column;gap:16px;display:flex}.gmap-branch-head{max-inline-size:var(--measure);flex-direction:column;gap:4px;display:flex}.gmap-branch-title{font-size:var(--text-xl);font-weight:600}.gmap-branch-lede{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.55}.gmap-nodes{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.gmap-node{aspect-ratio:1;border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-full);background:var(--surface-base);inline-size:100%;max-inline-size:176px;color:var(--text-primary);text-align:center;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);flex-direction:column;justify-content:center;align-items:center;gap:6px;margin-inline:auto;padding:16px;text-decoration:none;display:flex}.gmap-node:hover{border-color:var(--border-strong);background:var(--fill-soft)}.gmap-node:focus-visible{outline:2px solid var(--border-focus);outline-offset:3px}.gmap-node[data-state=mastered]{border-color:var(--success)}.gmap-node[data-state=locked]{opacity:.6}.gmap-node-band{color:var(--text-muted);font-size:var(--text-2xs);letter-spacing:.04em;font-weight:600}.gmap-node-label{font-size:var(--text-ui);font-weight:600;line-height:1.3}.gmap-node-state{color:var(--text-muted);font-size:var(--text-2xs);align-items:center;gap:5px;display:inline-flex}.gmap-dot{border-radius:var(--r-full);background:var(--border-strong);block-size:6px;inline-size:6px}.gmap-node[data-state=mastered] .gmap-dot{background:var(--success)}.gmap-node[data-state=learning] .gmap-dot{background:var(--progress)}.grammar-tutorial-drill-layout{flex-direction:column;gap:20px;display:flex}.grammar-detail-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.grammar-detail-title-group{align-items:center;gap:8px;display:flex}.grammar-tutorial-drill-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:flex-start;gap:28px;display:grid}@container app (max-width:900px){.grammar-tutorial-drill-grid{grid-template-columns:1fr}}.grammar-book-pane{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-2xl);box-shadow:var(--shadow-sm);flex-direction:column;gap:28px;padding:clamp(24px,4vw,40px);display:flex}.grammar-book-kicker{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:700}.grammar-book-title{font-size:clamp(1.8rem,3vw,2.4rem);font-family:var(--font-serif);letter-spacing:-.02em;color:var(--text-primary);margin-block:6px;font-weight:700}.grammar-book-subhead{font-size:var(--text-sm);color:var(--text-secondary);margin:0;line-height:1.6}.grammar-book-content{flex-direction:column;gap:24px;display:flex}.grammar-book-chapter{flex-direction:column;gap:10px;display:flex}.grammar-chapter-heading{font-size:var(--text-base);border-block-end:var(--hairline-width) solid var(--border-subtle);color:var(--text-primary);margin:0;padding-block-end:6px;font-weight:700}.grammar-chapter-body{flex-direction:column;gap:10px;display:flex}.grammar-book-paragraph{font-size:var(--text-sm);color:var(--text-secondary);margin:0;line-height:1.7}.grammar-book-quote{background:var(--surface-well);border-inline-start:3px solid var(--action);font-style:italic;font-size:var(--text-sm);color:var(--text-primary);border-radius:0 var(--r-md) var(--r-md) 0;margin-block:6px;padding:12px 18px;line-height:1.6}.grammar-formula-box{background:var(--fill);border-radius:var(--r-md);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--action);margin-block:4px;padding:10px 14px}.grammar-drill-pane{position:sticky;inset-block-start:20px}.grammar-drill-card{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-xl);box-shadow:var(--shadow-md);flex-direction:column;gap:18px;padding:24px;display:flex}.grammar-drill-title{font-size:var(--text-base);color:var(--text-primary);margin:2px 0 4px;font-weight:700}.grammar-drill-prompt{font-size:var(--text-sm);color:var(--text-primary);margin:0}.grammar-drill-form{flex-direction:column;gap:12px;display:flex}.grammar-drill-textarea{border-radius:var(--r-md);background:var(--surface-base);border:var(--hairline-width) solid var(--border-subtle);inline-size:100%;font-size:var(--text-sm);color:var(--text-primary);resize:vertical;transition:border-color var(--dur-fast) var(--ease-out);outline:none;padding:12px 14px;line-height:1.6}.grammar-drill-textarea:focus{border-color:var(--action)}.grammar-drill-form-footer{justify-content:space-between;align-items:center;display:flex}.grammar-feedback-card{border-radius:var(--r-lg);border:var(--hairline-width) solid var(--border-subtle);flex-direction:column;gap:10px;padding:16px;display:flex}.grammar-feedback-card.success{background:var(--success)}@supports (color:color-mix(in lab, red, red)){.grammar-feedback-card.success{background:color-mix(in oklab, var(--success) 8%, var(--surface-base))}}.grammar-feedback-card.success{border-color:var(--success)}.grammar-feedback-card.needs-work{background:var(--warning)}@supports (color:color-mix(in lab, red, red)){.grammar-feedback-card.needs-work{background:color-mix(in oklab, var(--warning) 8%, var(--surface-base))}}.grammar-feedback-card.needs-work{border-color:var(--warning)}.grammar-feedback-badge{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.04em;border-radius:var(--r-full);padding:2px 8px;font-weight:700}.grammar-feedback-badge.success{background:var(--success)}@supports (color:color-mix(in lab, red, red)){.grammar-feedback-badge.success{background:color-mix(in oklab, var(--success) 20%, transparent)}}.grammar-feedback-badge.success{color:var(--success)}.grammar-feedback-badge.warning{background:var(--danger)}@supports (color:color-mix(in lab, red, red)){.grammar-feedback-badge.warning{background:color-mix(in oklab, var(--danger) 16%, transparent)}}.grammar-feedback-badge.warning{color:var(--danger)}.grammar-feedback-badge.refinement{background:var(--warning)}@supports (color:color-mix(in lab, red, red)){.grammar-feedback-badge.refinement{background:color-mix(in oklab, var(--warning) 20%, transparent)}}.grammar-feedback-badge.refinement{color:var(--warning)}.grammar-feedback-section{flex-direction:column;gap:4px;display:flex}.grammar-feedback-label{font-size:var(--text-2xs);text-transform:uppercase;color:var(--text-muted);font-weight:700}.grammar-feedback-text{font-size:var(--text-xs);color:var(--text-primary);margin:0;line-height:1.5}.upgrade-box{background:var(--surface-well);border-radius:var(--r-md);margin-block-start:4px;padding:10px 12px}.grammar-upgrade-quote{font-style:italic;font-size:var(--text-xs);color:var(--text-primary);margin:0}.colloc{gap:var(--panel-gap);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}@container app (min-width:860px){.colloc{grid-template-columns:240px minmax(0,1fr)}}.colloc-topics{scrollbar-width:thin;gap:6px;padding-block-end:4px;display:flex;overflow-x:auto}@container app (min-width:860px){.colloc-topics{flex-direction:column;gap:2px;position:sticky;inset-block-start:16px;overflow:visible}}.colloc-topic{min-block-size:var(--tap-target);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-full);background:var(--surface-raised);color:var(--text-secondary);font:inherit;font-size:var(--text-sm);text-align:start;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;font-weight:500;display:flex}@container app (min-width:860px){.colloc-topic{border-radius:var(--r-sm);background:0 0;border-color:#0000}}.colloc-topic:hover{background:var(--fill-soft);color:var(--text-primary)}.colloc-topic[aria-pressed=true]{background:var(--surface-inverse);color:var(--text-on-inverse)}.colloc-topic:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.colloc-topic-count{color:inherit;font-size:var(--text-xs);opacity:.7}.colloc-main{min-inline-size:0;padding:var(--panel-pad);flex-direction:column;gap:16px;display:flex}.colloc-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 24px;display:flex}.colloc-head-text{min-inline-size:0;max-inline-size:var(--measure);flex-direction:column;gap:4px;display:flex}.colloc-title{font-size:var(--text-xl);letter-spacing:-.01em;font-weight:600}.colloc-lede{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.55}.colloc-notice{border-radius:var(--r-sm);background:var(--success-subtle);color:var(--text-primary);font-size:var(--text-sm);padding:8px 12px}.colloc-toolbar{flex-wrap:wrap;gap:8px;display:flex}.colloc-toolbar .input{flex:240px}.colloc-toolbar .colloc-type{flex:0 200px}.colloc-empty{color:var(--text-muted);font-size:var(--text-sm);flex-direction:column;align-items:flex-start;gap:8px;padding-block:16px;display:flex}.colloc-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.colloc-row{border-block-start:var(--hairline-width) solid var(--border-subtle)}.colloc-row:first-child{border-block-start:0}.colloc-row-head{border-radius:var(--r-sm);inline-size:100%;color:var(--text-primary);font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(0,1fr);gap:4px 16px;padding:12px 8px;display:grid}@container app (min-width:700px){.colloc-row-head{grid-template-columns:minmax(180px,16rem) minmax(0,1fr) auto;align-items:baseline}}.colloc-row-head:hover{background:var(--fill-soft)}.colloc-row-head:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}.colloc-phrase{font-size:var(--text-md);font-weight:600}.colloc-meaning{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5}.colloc-meta{flex-wrap:wrap;gap:4px;display:flex}.colloc-chip{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-full);color:var(--text-muted);font-size:var(--text-2xs);white-space:nowrap;padding:2px 8px;font-weight:500}.colloc-row-body{flex-direction:column;gap:12px;padding:4px 8px 16px;display:flex}.colloc-example{border-inline-start:2px solid var(--border-strong);color:var(--text-primary);font-family:var(--font-essay), Georgia, serif;font-size:var(--text-md);margin:0;padding-inline-start:12px;line-height:1.6}.colloc-mark{background:var(--fill);color:inherit;border-radius:3px;padding-inline:2px;font-weight:600}.colloc-facts{grid-template-columns:minmax(0,1fr);gap:8px 24px;margin:0;display:grid}@container app (min-width:700px){.colloc-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}.colloc-facts dt{color:var(--text-muted);font-size:var(--text-xs);font-weight:500}.colloc-facts dd{font-size:var(--text-sm);margin:2px 0 0;line-height:1.5}.colloc-row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.colloc-model{max-inline-size:var(--measure);flex-direction:column;gap:16px;display:flex}.colloc-model-prompt{border-radius:var(--r-sm);background:var(--surface-sunken);font-size:var(--text-sm);flex-direction:column;gap:4px;padding:12px 14px;line-height:1.55;display:flex}.colloc-model-text{font-family:var(--font-essay), Georgia, serif;font-size:var(--text-base);line-height:1.75}.colloc-model-keys{color:var(--text-secondary);font-size:var(--text-sm);flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.colloc-model-keys strong{color:var(--text-primary)}.colloc-quiz,.colloc-quiz-done{max-inline-size:var(--measure);flex-direction:column;gap:14px;display:flex}.colloc-quiz-step{color:var(--text-muted);font-size:var(--text-xs)}.colloc-blank{border-block-end:2px solid var(--text-primary);color:#0000;min-inline-size:6em;display:inline-block}.colloc-quiz-options{flex-direction:column;gap:8px;display:flex}.colloc-quiz-option{min-block-size:var(--tap-target);border:var(--hairline-width) solid var(--border-strong);border-radius:var(--r-md);background:var(--surface-raised);color:var(--text-primary);font:inherit;font-size:var(--text-sm);text-align:start;cursor:pointer;padding:10px 14px;font-weight:500}.colloc-quiz-option:hover:not(:disabled){background:var(--fill-soft)}.colloc-quiz-option:disabled{cursor:default}.colloc-quiz-option[data-state=right]{border-color:var(--success);background:var(--success-subtle)}.colloc-quiz-option[data-state=wrong]{border-color:var(--danger);background:var(--danger-subtle)}.colloc-quiz-verdict{font-size:var(--text-sm);flex:1;font-weight:500}.colloc-quiz-score{font-size:var(--text-3xl);font-weight:700}.account-head{flex-direction:column;gap:16px;display:flex}.account-tabs{border-block-end:var(--hairline-width) solid var(--border-subtle);scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.account-tab{min-block-size:var(--tap-target);color:var(--text-secondary);font-size:var(--text-sm);transition:color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);border-block-end:2px solid #0000;flex-shrink:0;align-items:center;margin-block-end:-1px;padding-inline:12px;font-weight:500;text-decoration:none;display:inline-flex}.account-tab:hover{color:var(--text-primary)}.account-tab[aria-current=page]{border-block-end-color:var(--action);color:var(--text-primary)}.account-tab:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px;border-radius:var(--r-sm)}.account-identity{padding:var(--panel-pad);flex-wrap:wrap;align-items:center;gap:16px;display:flex}.account-avatar{border-radius:var(--r-full);background:var(--surface-inverse);block-size:52px;inline-size:52px;color:var(--text-on-inverse);font-size:var(--text-lg);letter-spacing:.02em;flex-shrink:0;place-items:center;font-weight:600;display:grid}.account-identity-text{flex-direction:column;flex:1;gap:2px;min-inline-size:0;display:flex}.account-name{font-size:var(--text-lg);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.account-sub{color:var(--text-muted);font-size:var(--text-sm)}.account-plan-chip{border:var(--hairline-width) solid var(--border-strong);border-radius:var(--r-full);min-block-size:36px;color:var(--text-primary);font-size:var(--text-sm);align-items:center;padding-inline:14px;font-weight:500;text-decoration:none;display:inline-flex}.account-plan-chip:hover{background:var(--fill-soft)}.account-section{flex-direction:column;gap:12px;margin-block-start:8px;display:flex}.account-section-title{font-size:var(--text-md);font-weight:600}.account-form{padding:var(--panel-pad);flex-direction:column;gap:20px;display:flex}.account-form-grid{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}@container app (min-width:560px){.account-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-form-wide{grid-column:1/-1}}.account-form-foot{border-block-start:var(--hairline-width) solid var(--border-subtle);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;padding-block-start:16px;display:flex}.account-form-status{color:var(--text-secondary);font-size:var(--text-sm);flex:1}.account-form-error{color:var(--danger)}.account-links{flex-direction:column;padding:6px;display:flex}.account-link{border-radius:var(--r-sm);color:var(--text-primary);font-size:var(--text-sm);flex-direction:column;gap:2px;padding:10px 14px;font-weight:500;text-decoration:none;display:flex}.account-link:hover{background:var(--fill-soft)}.account-link-note{color:var(--text-muted);font-size:var(--text-xs);font-weight:400}.account-theme{justify-content:space-between;align-items:center;gap:16px;display:flex}.account-danger{border-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.account-danger{border-color:color-mix(in oklab, var(--danger) 35%, var(--border-subtle))}}.account-handle{color:var(--text-muted);font-size:var(--text-md);align-items:center;gap:6px;display:flex}.account-handle .input{flex:1;min-inline-size:0}.profile-card{padding:var(--panel-pad);flex-wrap:wrap;align-items:center;gap:16px;display:flex}.profile-handle{color:var(--text-muted);font-size:var(--text-sm)}.bank-balance{padding:var(--panel-pad);grid-template-columns:minmax(0,1fr);gap:20px;display:grid}@container app (min-width:560px){.bank-balance{grid-template-columns:repeat(2,minmax(0,1fr))}}.bank-figure{font-size:var(--text-3xl);letter-spacing:-.02em;margin-block:4px 2px;font-weight:600}.bank-figure[data-low]{color:var(--danger)}.bank-sub{color:var(--text-muted);font-size:var(--text-sm);line-height:1.5}.bank-explainer{color:var(--text-secondary);font-size:var(--text-sm);flex-direction:column;gap:8px;line-height:1.6;display:flex}.bank-cards{gap:var(--panel-gap);grid-template-columns:minmax(0,1fr);display:grid}@container app (min-width:640px){.bank-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}.bank-card{padding:var(--panel-pad);flex-direction:column;gap:14px;display:flex}.bank-card>.btn,.bank-card .checkout-paid,.bank-card .checkout-unavailable{align-self:flex-start}.bank-card-title{font-size:var(--text-lg);font-weight:600}.bank-card-body{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.55}.bank-amounts{flex-wrap:wrap;gap:8px;display:flex}.bank-amount{border:var(--hairline-width) solid var(--border-strong);border-radius:var(--r-full);min-block-size:40px;min-inline-size:56px;color:var(--text-primary);font:inherit;font-size:var(--text-sm);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;padding-inline:12px;font-weight:500}.bank-amount:hover{background:var(--fill-soft)}.bank-amount[aria-pressed=true]{border-color:var(--surface-inverse);background:var(--surface-inverse);color:var(--text-on-inverse)}.bank-amount-custom{color:var(--text-muted);align-items:center;gap:4px;display:inline-flex}.bank-amount-custom .input{min-block-size:40px;inline-size:96px}.bank-recipient{flex-direction:column;gap:12px;display:flex}.bank-pool{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.bank-pool>div{flex-direction:column;gap:2px;display:flex}.bank-pool dt{color:var(--text-muted);font-size:var(--text-2xs);line-height:1.3}.bank-pool dd{font-size:var(--text-md);margin:0;font-weight:600}.bank-table-wrap{padding:var(--panel-pad);flex-direction:column;gap:10px;display:flex;overflow-x:auto}.bank-table{border-collapse:collapse;inline-size:100%;font-size:var(--text-sm)}.bank-table th{border-block-end:var(--hairline-width) solid var(--border-strong);color:var(--text-muted);font-size:var(--text-2xs);letter-spacing:.04em;text-align:start;text-transform:uppercase;padding:6px 8px;font-weight:600}.bank-table td{border-block-end:var(--hairline-width) solid var(--border-subtle);vertical-align:top;padding:8px}.bank-table .num{font-variant-numeric:tabular-nums;text-align:end;white-space:nowrap}.bank-table td[data-sign=in]{color:var(--success)}.bank-note{color:var(--text-muted)}.test-card-source{color:var(--text-muted);font-size:var(--text-xs)}.test-card-source[data-community]{color:var(--text-secondary)}.test-card-stats{color:var(--text-secondary);font-size:var(--text-xs)}.test-card-trending{border:var(--hairline-width) solid var(--reward-deep);border-radius:var(--r-full);color:var(--reward-deep);font-size:var(--text-xs);margin-inline:8px auto;padding:1px 7px;font-weight:500}.test-card-after{justify-content:space-between;gap:8px}.test-card-report{color:var(--text-muted);font-size:var(--text-xs);margin-inline-start:auto;padding-inline:4px}.test-card-report:hover{color:var(--danger)}.test-card-verified{color:var(--success);font-weight:500}.test-card-link{color:var(--text-muted);font-size:var(--text-xs);padding-inline:4px}.test-card-link:hover{color:var(--text)}.cm-source{border:0;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.cm-page{gap:var(--panel-gap);flex-direction:column;display:flex}.cm-panel{padding:var(--panel-pad);flex-direction:column;gap:12px;display:flex}.cm-h{font-size:var(--text-lg);font-weight:600}.cm-note{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.55}.cm-note[data-tone=bad]{color:var(--danger)}.cm-meta{color:var(--text-muted);font-size:var(--text-xs)}.cm-drop{border:var(--hairline-width) dashed var(--border-strong);border-radius:var(--r-lg);background:var(--surface-sunken);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:24px 16px;display:flex}.cm-drop[data-dragging]{border-color:var(--text-primary);background:var(--surface-well)}.cm-drop-title{font-weight:600}.cm-progress{font-size:var(--text-sm);line-height:1.5}.cm-progress[data-tone=bad]{color:var(--danger)}.cm-progress[data-tone=good]{color:var(--success)}.cm-list,.cm-drafts,.cm-issues{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.cm-issues{color:var(--danger);font-size:var(--text-sm);gap:4px;padding-inline-start:1.1em;list-style:outside}.cm-item{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-md);background:var(--surface-raised);flex-direction:column;gap:8px;min-inline-size:0;padding:12px 14px;display:flex}.cm-draft{border-block-start:var(--hairline-width) solid var(--border-subtle);flex-direction:column;gap:6px;padding-block-start:8px;display:flex}.cm-item-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;min-inline-size:0;display:flex}.cm-item-title{overflow-wrap:anywhere;font-weight:600}.cm-skill{color:var(--text-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;font-weight:500}.cm-chip{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-full);color:var(--text-secondary);font-size:var(--text-xs);white-space:nowrap;padding:2px 8px}.cm-chip[data-tone=good]{border-color:var(--success);color:var(--success)}.cm-chip[data-tone=bad]{border-color:var(--danger);color:var(--danger)}.cm-actions{flex-wrap:wrap;gap:6px;display:flex}.cm-editor{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.cm-json{inline-size:100%;font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--text-xs);line-height:1.5}.cm-fields{flex-direction:column;gap:10px;display:flex}.cm-check{color:var(--text-secondary);font-size:var(--text-sm);align-items:flex-start;gap:10px;line-height:1.55;display:flex}.cm-check input{flex-shrink:0;margin-block-start:3px}.cm-audio{inline-size:100%}.cm-file{cursor:pointer;align-self:flex-start}.profile-tests{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.profile-contrib{padding:var(--panel-pad)}.profile-tests li{border-block-end:var(--hairline-width) solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;gap:8px;padding-block:8px;display:flex}.admin-list{font-size:var(--text-sm);flex-direction:column;gap:10px;margin:0;padding:0;line-height:1.5;list-style:none;display:flex}.admin-list li{border-inline-start:2px solid var(--border-strong);background:var(--surface-sunken);border-radius:var(--r-sm);overflow-wrap:anywhere;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.rate-test{padding:var(--panel-pad);flex-direction:column;gap:10px;display:flex}.rate-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.rate-question{font-size:var(--text-sm);font-weight:500}.rate-choices{gap:6px;display:flex}.rate-choice{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-full);min-inline-size:3.5rem;color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;background:0 0;padding:4px 12px}.rate-choice[aria-pressed=true]{border-color:var(--text-primary);background:var(--surface-well);color:var(--text-primary)}.lab-matrix{max-block-size:24rem;font-size:var(--text-xs);white-space:pre;line-height:1.4;overflow:auto}.km-tabs{flex-wrap:wrap;gap:4px;margin-block-end:12px;display:flex}.km-tabs a{border-radius:var(--r-full);color:var(--text-secondary);font-size:var(--text-sm);padding:6px 12px;text-decoration:none}.km-tabs a[aria-current=page]{background:var(--surface-well);color:var(--text-primary);font-weight:500}.km{flex-direction:column;gap:10px;min-inline-size:0;display:flex}.km-toolbar{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.km-search input{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-full);background:var(--surface-sunken);block-size:34px;inline-size:min(220px,100%);color:var(--text-primary);font:inherit;font-size:var(--text-sm);padding-inline:12px}.km-seg{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-full);background:var(--surface-sunken);padding:2px;display:inline-flex}.km-seg button{border-radius:var(--r-full);color:var(--text-secondary);font:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;padding:4px 10px}.km-seg button[aria-pressed=true]{background:var(--surface-raised);color:var(--text-primary);box-shadow:var(--shadow-sm)}.km-tools{flex-wrap:wrap;gap:6px;display:flex}.km-progress{color:var(--text-muted);font-size:var(--text-xs);align-items:center;gap:8px;margin-inline-start:auto;display:flex}.km-progress-track{border-radius:var(--r-full);background:var(--progress-track);block-size:4px;inline-size:90px;overflow:hidden}.km-progress-bar{background:var(--text-primary);block-size:100%;transition:inline-size var(--dur-base) var(--ease-out);display:block}.km-body{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-xl);background:var(--surface-base);grid-template-columns:minmax(0,1fr);display:grid;position:relative;overflow:hidden;container-type:inline-size}@container (min-width:860px){.km[data-panel] .km-body{grid-template-columns:minmax(0,1fr) 380px}}.km-canvas{background-image:radial-gradient(var(--border-subtle) 1px, transparent 1.2px);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;block-size:clamp(460px,72dvh,880px);position:relative;overflow:hidden}.km-canvas:active{cursor:grabbing}.km-canvas:focus-visible{outline:2px solid var(--text-primary);outline-offset:-2px}.km-world{transform-origin:0 0;position:absolute;inset-block-start:0;inset-inline-start:0}.km-world[data-smooth]{transition:transform var(--dur-base) var(--ease-out)}.km-links{pointer-events:none;position:absolute;inset-block-start:0;inset-inline-start:0;overflow:visible}.km-link{fill-opacity:.32;transition:d .44s var(--ease-out), opacity var(--dur-base) var(--ease-out);animation:km-in .3s var(--ease-out)}.km-link-leaf{fill-opacity:.45}.km-link[data-dim]{opacity:.2}@keyframes km-in{0%{opacity:0}}.km-root{border-radius:var(--r-full);background:var(--text-primary);block-size:56px;inline-size:170px;color:var(--surface-raised);letter-spacing:-.01em;text-align:center;place-items:center;padding-inline:12px;font-weight:600;display:grid;position:absolute;inset-block-start:0;inset-inline-start:0;transform:translate(-50%,-50%)}.km-family,.km-leaf{font:inherit;cursor:pointer;transition:transform .44s var(--ease-out), opacity var(--dur-base) var(--ease-out), background var(--dur-fast) var(--ease-out);animation:km-in .3s var(--ease-out);position:absolute;inset-block-start:0;inset-inline-start:0}.km-family{border:1.5px solid var(--tone);border-radius:var(--r-full);background:var(--tone);justify-content:space-between;align-items:center;gap:8px;block-size:46px;inline-size:210px;padding-inline:16px 8px;display:flex}@supports (color:color-mix(in lab, red, red)){.km-family{background:color-mix(in oklab, var(--tone) 9%, var(--surface-raised))}}.km-family{color:var(--text-primary);font-size:var(--text-sm);text-align:start;font-weight:600}.km-family[data-side="-1"]{text-align:end;flex-direction:row-reverse;padding-inline:8px 16px}.km-family:hover,.km-family[data-open]{background:var(--tone)}@supports (color:color-mix(in lab, red, red)){.km-family:hover,.km-family[data-open]{background:color-mix(in oklab, var(--tone) 18%, var(--surface-raised))}}.km-family[data-active]{box-shadow:0 0 0 3px var(--tone)}@supports (color:color-mix(in lab, red, red)){.km-family[data-active]{box-shadow:0 0 0 3px color-mix(in oklab, var(--tone) 35%, transparent)}}.km-family-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.km-count{border-radius:var(--r-full);background:var(--surface-raised);block-size:26px;min-inline-size:26px;color:var(--text-secondary);font-size:var(--text-xs);font-variant-numeric:tabular-nums;place-items:center;padding-inline:6px;display:grid}.km-leaf{border-radius:var(--r-sm);block-size:30px;max-inline-size:240px;color:var(--text-primary);font-size:var(--text-sm);white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;padding:0 6px;display:flex}.km-leaf[data-side="-1"]{flex-direction:row-reverse}.km-leaf-name{text-overflow:ellipsis;border-block-end:2px solid var(--tone);overflow:hidden}@supports (color:color-mix(in lab, red, red)){.km-leaf-name{border-block-end:2px solid color-mix(in oklab, var(--tone) 70%, transparent)}}.km-leaf-name{line-height:1.35}.km-leaf:hover{background:var(--tone)}@supports (color:color-mix(in lab, red, red)){.km-leaf:hover{background:color-mix(in oklab, var(--tone) 10%, transparent)}}.km-leaf[aria-current=true]{background:var(--tone)}@supports (color:color-mix(in lab, red, red)){.km-leaf[aria-current=true]{background:color-mix(in oklab, var(--tone) 16%, var(--surface-raised))}}.km-leaf[aria-current=true]{font-weight:600}.km-leaf[data-hit] .km-leaf-name{background:var(--reward-tint)}.km-family[data-dim],.km-leaf[data-dim]{opacity:.3}.km-family[data-hidden],.km-leaf[data-hidden]{opacity:.6;border-style:dashed}.km-level{border:var(--hairline-width) solid var(--border-strong);border-radius:var(--r-sm);color:var(--text-muted);padding:0 5px;font-size:10px;font-weight:600}.km-dot{border:1.5px solid var(--tone);border-radius:50%;flex-shrink:0;block-size:8px;inline-size:8px}.km-leaf[data-learned] .km-dot{background:var(--tone)}.km-zoom{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-md);background:var(--surface-raised);box-shadow:var(--shadow-sm);flex-direction:column;display:flex;position:absolute;inset-block-end:12px;inset-inline-end:12px;overflow:hidden}.km-zoom button{border:0;border-block-end:var(--hairline-width) solid var(--border-subtle);block-size:32px;min-inline-size:36px;color:var(--text-primary);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;padding-inline:8px}.km-zoom button:last-child{font-size:var(--text-xs);border-block-end:0}.km-panel{border-block-start:var(--hairline-width) solid var(--border-subtle);background:var(--surface-raised);max-block-size:70%;box-shadow:var(--shadow-overlay);flex-direction:column;gap:14px;padding:18px 18px 22px;display:flex;position:absolute;inset-block-end:0;inset-inline:0;overflow-y:auto}@container (min-width:860px){.km-panel{border-block-start:0;border-inline-start:var(--hairline-width) solid var(--border-subtle);max-block-size:clamp(460px,72dvh,880px);box-shadow:none;position:static}}.km-panel-close{background:var(--surface-sunken);block-size:30px;inline-size:30px;color:var(--text-secondary);cursor:pointer;z-index:1;border:0;border-radius:50%;align-self:flex-end;margin-block-end:-30px;font-size:18px;line-height:1;position:sticky;inset-block-start:0}.km-card{flex-direction:column;gap:12px;display:flex}.km-card-family{color:var(--tone);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:600}.km-card-title{font-size:var(--text-2xl);letter-spacing:-.02em;margin-block-start:-6px;padding-inline-end:34px;font-weight:600;line-height:1.15}.km-tags{flex-wrap:wrap;gap:6px;display:flex}.km-tag{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-full);color:var(--text-secondary);font-size:var(--text-xs);padding:2px 8px}.km-tag[data-level=adv]{border-color:var(--text-primary);color:var(--text-primary)}.km-section{font-size:var(--text-sm);flex-direction:column;gap:6px;line-height:1.6;display:flex}.km-section-label{color:var(--text-muted);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;font-weight:600}.km-form{border-radius:var(--r-sm);background:var(--surface-sunken);font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--text-xs);padding:8px 10px}.km-examples{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.km-examples li{border-inline-start:2px solid var(--tone);padding-inline-start:12px}@supports (color:color-mix(in lab, red, red)){.km-examples li{border-inline-start:2px solid color-mix(in oklab, var(--tone) 60%, transparent)}}.km-examples li{font-style:italic}.km-examples strong{font-style:normal;font-weight:700}.km-mistake{flex-direction:column;gap:4px;display:flex}.km-mistake [data-verdict=bad]{color:var(--danger);text-decoration:line-through;text-decoration-thickness:1px}.km-mistake [data-verdict=good]{color:var(--success)}.km-card-actions{flex-wrap:wrap;gap:6px;display:flex}.km-card-actions [data-learned]{border-color:var(--success);color:var(--success)}.km-family-list{font-size:var(--text-sm);flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.km-family-list [data-learned]:after{content:" ✓";color:var(--success)}.km-tutor{border-block-start:var(--hairline-width) solid var(--border-subtle);flex-direction:column;align-items:flex-start;gap:8px;padding-block-start:12px;display:flex}.km-tutor textarea{resize:vertical;inline-size:100%}.km-tutor-answer{border-radius:var(--r-md);background:var(--surface-sunken);font-size:var(--text-sm);flex-direction:column;gap:8px;padding:10px 12px;line-height:1.6;display:flex}.km-quiz-prompt{font-size:var(--text-lg);line-height:1.5}.km-quiz-options{flex-direction:column;gap:8px;display:flex}.km-quiz-option{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-md);background:var(--surface-raised);color:var(--text-primary);font:inherit;text-align:start;cursor:pointer;padding:10px 14px}.km-quiz-option:hover:not(:disabled){border-color:var(--border-strong)}.km-quiz-option[data-state=right]{border-color:var(--success);background:var(--success-subtle)}.km-quiz-option[data-state=wrong]{border-color:var(--danger);background:var(--danger-subtle)}.km-quiz-option:disabled{cursor:default}.km-quiz-feedback{color:var(--danger);font-size:var(--text-sm);line-height:1.55}.km-quiz-feedback[data-right]{color:var(--success)}.km-quiz-why{color:var(--text-secondary)}.km-quiz-score{font-size:var(--text-3xl);font-weight:600}.km-quiz-missed{font-size:var(--text-sm);flex-direction:column;gap:6px;padding-inline-start:1.1em;line-height:1.5;display:flex}@media (prefers-reduced-motion:reduce){.km-world[data-smooth],.km-link,.km-family,.km-leaf,.km-progress-bar{transition:none;animation:none}}.km-editor{flex-direction:column;gap:12px;display:flex}.km-hint{color:var(--text-muted);font-size:var(--text-xs)}.km-tones{border:0;flex-wrap:wrap;gap:6px;margin:0;padding:0;display:flex}.km-tones legend{margin-block-end:6px}.km-swatch{border:2px solid var(--tone);background:var(--tone);border-radius:50%;block-size:28px;inline-size:28px}@supports (color:color-mix(in lab, red, red)){.km-swatch{background:color-mix(in oklab, var(--tone) 22%, var(--surface-raised))}}.km-swatch{cursor:pointer}.km-swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--surface-raised), 0 0 0 4px var(--text-primary)}.km-skills{border:0;flex-wrap:wrap;gap:10px;margin:0;padding:0;display:flex}.km-preview{border:var(--hairline-width) dashed var(--border-strong);border-radius:var(--r-lg);flex-direction:column;gap:8px;margin-block-start:8px;padding:14px;display:flex}.admin-shell{background:var(--surface-base);flex-direction:column;min-block-size:100dvh;display:flex}@media (min-width:1024px){.admin-shell{flex-direction:row}}.admin-nav{border-block-end:var(--hairline-width) solid var(--border-subtle);background:var(--surface-raised);flex-direction:column;gap:16px;padding:16px;display:flex}@media (min-width:1024px){.admin-nav{border-block-end:0;border-inline-end:var(--hairline-width) solid var(--border-subtle);flex-shrink:0;block-size:100dvh;inline-size:232px;position:sticky;inset-block-start:0;overflow-y:auto}}.admin-brand{color:var(--text-primary);align-items:center;gap:8px;text-decoration:none;display:inline-flex}.admin-badge{border-radius:var(--r-full);background:var(--surface-inverse);color:var(--text-on-inverse);font-size:var(--text-2xs);letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;font-weight:600}.admin-nav-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-nav-bar-actions{align-items:center;gap:8px;display:flex}.admin-search-trigger{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-sm);background:var(--surface-base);min-block-size:36px;color:var(--text-muted);font:inherit;font-size:var(--text-sm);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding-inline:12px 8px;display:inline-flex}.admin-search-trigger:hover{border-color:var(--border-strong);color:var(--text-primary)}.admin-search-trigger kbd,.palette kbd{border:var(--hairline-width) solid var(--border-subtle);background:var(--surface-raised);color:var(--text-muted);font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--text-2xs);border-radius:4px;padding:1px 5px}@media (hover:none){.admin-search-trigger kbd{display:none}}.admin-nav-groups{flex-direction:column;gap:16px;display:none}.admin-nav[data-open] .admin-nav-groups{display:flex}@media (min-width:1024px){.admin-nav-bar-actions{flex:1 0 100%}.admin-search-trigger{flex:1}.admin-menu-toggle{display:none}.admin-nav-groups{flex:1;display:flex}}.admin-nav-group ul{flex-wrap:wrap;gap:2px;margin:0;padding:0;list-style:none;display:flex}@media (min-width:1024px){.admin-nav-group ul{flex-direction:column}}.admin-nav-title{color:var(--text-muted);font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase;margin-block-end:4px;padding-inline:10px;font-weight:600}.admin-nav-link{border-radius:var(--r-sm);min-block-size:34px;color:var(--text-secondary);font-size:var(--text-sm);align-items:center;padding-inline:10px;font-weight:500;text-decoration:none;display:flex}.admin-nav-link:hover{background:var(--fill-soft);color:var(--text-primary)}.admin-nav-link[aria-current=page]{background:var(--fill);color:var(--text-primary)}.admin-nav-link:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}.admin-nav-foot{border-block-start:var(--hairline-width) solid var(--border-subtle);flex-direction:column;gap:4px;margin-block-start:auto;padding-block-start:12px;display:flex}.palette{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-md);background:var(--surface-raised);max-block-size:min(560px,100dvh - 96px);inline-size:min(640px,100vw - 32px);color:var(--text-primary);box-shadow:var(--shadow-overlay);margin:12vh auto auto;padding:0}.palette::backdrop{background:var(--scrim)}.palette-box{max-block-size:inherit;flex-direction:column;display:flex}.palette-input{border:0;border-block-end:var(--hairline-width) solid var(--border-subtle);min-block-size:52px;inline-size:100%;color:var(--text-primary);font:inherit;font-size:var(--text-md);background:0 0;padding-inline:16px}.palette-input:focus{outline:none}.palette-results{margin:0;padding:6px;list-style:none;overflow-y:auto}.palette-row{border-radius:var(--r-sm);cursor:pointer;grid-template-columns:64px minmax(0,1fr);align-items:baseline;gap:0 10px;padding:8px 10px;display:grid}.palette-row[aria-selected=true]{background:var(--fill)}.palette-kind{color:var(--text-muted);font-size:var(--text-2xs);letter-spacing:.05em;text-transform:uppercase;grid-row:span 2;font-weight:600}.palette-label{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.palette-sub{color:var(--text-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.palette-empty{color:var(--text-muted);font-size:var(--text-sm);padding:16px 10px}.palette-foot{border-block-start:var(--hairline-width) solid var(--border-subtle);color:var(--text-muted);font-size:var(--text-xs);padding:8px 14px}.admin-nav-email{color:var(--text-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;padding-inline:10px;overflow:hidden}.admin-content{flex:1;min-inline-size:0;container:admin/inline-size}.admin-content .studio{max-inline-size:1400px;margin-inline:0;padding:24px clamp(16px,3vw,32px) 64px}.admin-page{flex-direction:column;gap:24px;max-inline-size:1400px;padding:24px clamp(16px,3vw,32px) 64px;display:flex}.admin-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 24px;display:flex}.admin-head-main{flex-direction:column;gap:6px;min-inline-size:0;display:flex}.admin-crumbs{color:var(--text-muted);font-size:var(--text-xs)}.admin-crumbs a{color:var(--text-secondary);text-decoration:none}.admin-crumbs a:hover{color:var(--text-primary);text-decoration:underline}.admin-title{font-size:var(--text-2xl);letter-spacing:-.02em;text-wrap:balance;font-weight:600}.admin-panel-side{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 12px;display:flex}.admin-tabs{border-block-end:var(--hairline-width) solid var(--border-subtle);scrollbar-width:none;gap:4px;margin-block-start:-8px;display:flex;overflow-x:auto}.admin-tab{min-block-size:38px;color:var(--text-secondary);font-size:var(--text-sm);white-space:nowrap;border-block-end:2px solid #0000;align-items:center;gap:6px;padding-inline:12px;font-weight:500;text-decoration:none;display:inline-flex}.admin-tab:hover{color:var(--text-primary)}.admin-tab[aria-current=page]{border-block-end-color:var(--text-primary);color:var(--text-primary)}.admin-tab-count{border-radius:var(--r-full);background:var(--fill);color:var(--text-secondary);font-size:var(--text-2xs);padding:0 6px}.admin-page .studio-section{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-md);background:var(--surface-raised);gap:12px;min-inline-size:0;margin-block-end:0;padding:16px 18px}.admin-page .studio-section>.label-micro:first-child{color:var(--text-primary);font-size:var(--text-sm);letter-spacing:normal;text-transform:none;font-weight:600}.admin-page .panel-quiet{color:var(--text-muted);font-size:var(--text-sm);padding:12px 0}.admin-panel-submit{align-self:flex-start}.admin-lede{max-inline-size:var(--measure);color:var(--text-secondary);font-size:var(--text-sm)}.admin-kpis{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;display:grid}.admin-kpi{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-md);background:var(--surface-raised);flex-direction:column;gap:4px;padding:14px 16px;display:flex}.admin-kpi-label{color:var(--text-muted);font-size:var(--text-2xs);letter-spacing:.05em;text-transform:uppercase;font-weight:600}.admin-kpi-value{font-size:var(--text-2xl);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-weight:700}.admin-kpi-sub{color:var(--text-muted);font-size:var(--text-xs)}.admin-kpi[data-tone=bad] .admin-kpi-value{color:var(--danger)}.admin-kpi[data-tone=good] .admin-kpi-value{color:var(--success)}.admin-grid{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}@container admin (min-width:900px){.admin-grid[data-cols="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid[data-cols="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}}.admin-panel{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-md);background:var(--surface-raised);flex-direction:column;gap:12px;min-inline-size:0;padding:16px 18px;display:flex}.admin-panel-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.admin-panel-title{font-size:var(--text-sm);font-weight:600}.admin-panel-meta{color:var(--text-muted);font-size:var(--text-xs)}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;inline-size:100%;font-size:var(--text-ui)}.admin-table th{border-block-end:var(--hairline-width) solid var(--border-strong);color:var(--text-muted);font-size:var(--text-2xs);letter-spacing:.04em;text-align:start;text-transform:uppercase;white-space:nowrap;padding:8px 10px;font-weight:600}.admin-table th a{color:inherit;text-decoration:none}.admin-table td{border-block-end:var(--hairline-width) solid var(--border-subtle);vertical-align:top;padding:8px 10px}.admin-table tr:hover td{background:var(--fill-soft)}.admin-table .num{font-variant-numeric:tabular-nums;text-align:end;white-space:nowrap}.admin-table a{color:var(--text-primary)}.admin-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-toolbar .input{inline-size:auto;min-inline-size:160px}.admin-tag{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-full);color:var(--text-secondary);font-size:var(--text-2xs);white-space:nowrap;align-items:center;padding:1px 8px;font-weight:500;display:inline-flex}.admin-tag[data-tone=bad]{border-color:var(--danger);color:var(--danger)}.admin-tag[data-tone=good]{border-color:var(--success);color:var(--success)}.admin-tag[data-tone=warn]{border-color:var(--border-strong);background:var(--warning-subtle);color:var(--text-primary)}.admin-empty{color:var(--text-muted);font-size:var(--text-sm);padding:16px 0}.admin-pager{color:var(--text-muted);font-size:var(--text-sm);justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-form{flex-direction:column;gap:12px;display:flex}.admin-form-row{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}@container admin (min-width:700px){.admin-form-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}.admin-status{font-size:var(--text-sm)}.admin-status[data-tone=bad]{color:var(--danger)}.admin-status[data-tone=good]{color:var(--success)}.admin-kpi-link{color:inherit;transition:border-color var(--dur-fast) var(--ease-out);text-decoration:none}.admin-kpi-link:hover{border-color:var(--border-strong)}.admin-inbox{font-size:var(--text-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.admin-inbox>li{border-block-end:var(--hairline-width) solid var(--border-subtle);grid-template-columns:minmax(44px,auto) minmax(0,1fr) auto;align-items:center;gap:12px;padding-block:8px;display:grid}.admin-inbox>li:last-child{border-block-end:0}.admin-inbox .admin-tag{justify-content:center}.admin-alerts{font-size:var(--text-sm);flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.admin-bars{flex-direction:column;gap:10px;margin:0;display:flex}.admin-bars-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.admin-bars svg{block-size:72px;inline-size:100%}.admin-bars rect{fill:var(--text-secondary)}.admin-bars[data-tone=cost] rect{fill:var(--series-writing)}.admin-bars[data-tone=income] rect{fill:var(--series-reading)}.admin-code{border-radius:var(--r-sm);background:var(--surface-sunken);max-block-size:360px;font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--text-xs);white-space:pre-wrap;word-break:break-word;margin:0;padding:10px 12px;line-height:1.5;overflow-x:auto}.admin-history{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.admin-history>li{border-block-end:var(--hairline-width) solid var(--border-subtle);flex-direction:column;gap:8px;padding-block-end:16px;display:flex}.knob-wrap{flex-direction:column;gap:4px;display:flex}.knob-history{font-size:var(--text-xs);align-self:flex-end}.knob-group{border-block-end:var(--hairline-width) solid var(--border-subtle)}.knob-group>summary{min-block-size:40px;font-size:var(--text-sm);cursor:pointer;align-items:center;gap:8px;font-weight:600;display:flex}.knob-group[open]>.knob-list{padding-block:8px 16px}.admin-textarea{resize:vertical;min-block-size:0;font-family:inherit;line-height:1.5}.admin-check{font-size:var(--text-sm);align-items:center;gap:8px;display:inline-flex}.admin-items{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.admin-items>li{border-block-end:var(--hairline-width) solid var(--border-subtle)}.admin-items summary{cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:10px 4px;display:flex}.admin-items details[open]{flex-direction:column;gap:12px;padding-block-end:16px;display:flex}.admin-item-title{font-size:var(--text-sm);font-weight:600}.admin-danger-zone{border-block-start:var(--hairline-width) solid var(--border-subtle);flex-direction:column;align-items:flex-start;gap:6px;margin-block-start:8px;padding-block-start:12px;display:flex}.admin-json{font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--text-xs);white-space:pre;tab-size:2;resize:vertical;line-height:1.5}.admin-issues{border-radius:var(--r-sm);background:var(--danger-subtle);color:var(--text-primary);font-family:var(--font-mono), ui-monospace, monospace;font-size:var(--text-xs);flex-direction:column;gap:4px;margin:0;padding:10px 12px 10px 28px;display:flex}.importer{flex-direction:column;gap:16px;display:flex}.importer-drop{border:1.5px dashed var(--border-strong);border-radius:var(--r-md);background:var(--surface-sunken);text-align:center;transition:background-color var(--dur-fast) var(--ease-out);flex-direction:column;align-items:center;gap:8px;padding:32px 16px;display:flex}.importer-drop[data-dragging]{background:var(--fill)}.importer-drop-title{font-size:var(--text-md);font-weight:600}.importer-rows{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.importer-rows>li{border-block-end:var(--hairline-width) solid var(--border-subtle);font-size:var(--text-sm);grid-template-columns:minmax(0,2fr) auto minmax(0,2fr) auto;align-items:center;gap:12px;padding:8px 4px;display:grid}.importer-rows>li[data-tone=bad] .importer-stage{color:var(--danger)}.importer-rows>li[data-tone=good] .importer-stage{color:var(--success)}.importer-name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.importer-source{max-block-size:600px}.importer-audio{-webkit-user-select:all;user-select:all;padding:6px 10px}.admin-notes{color:var(--text-secondary);font-size:var(--text-xs);flex-direction:column;gap:2px;margin:6px 0 0;padding-inline-start:20px;display:flex}}@layer utilities{.\@container{container-type:inline-size}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.end-4{inset-inline-end:calc(var(--spacing) * 4)}.bottom-4{bottom:calc(var(--spacing) * 4)}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-1\.5{margin-inline:calc(var(--spacing) * 1.5)}.mx-auto{margin-inline:auto}.my-4{margin-block:calc(var(--spacing) * 4)}.my-6{margin-block:calc(var(--spacing) * 6)}.ms-1{margin-inline-start:var(--spacing)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-20{margin-top:calc(var(--spacing) * 20)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-full{width:100%;height:100%}.h-3{height:calc(var(--spacing) * 3)}.h-6{height:calc(var(--spacing) * 6)}.h-9{height:calc(var(--spacing) * 9)}.h-16{height:calc(var(--spacing) * 16)}.h-px{height:1px}.max-h-48{max-height:calc(var(--spacing) * 48)}.w-2\/5{width:40%}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-full{width:100%}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-\[9ch\]{max-width:9ch}.max-w-\[46ch\]{max-width:46ch}.max-w-\[60ch\]{max-width:60ch}.max-w-\[68ch\]{max-width:68ch}.max-w-md{max-width:var(--container-md)}.flex-1{flex:1}.flex-none{flex:none}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[auto_auto\]{grid-template-columns:auto auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-16{gap:calc(var(--spacing) * 16)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--r-lg)}.rounded-md{border-radius:var(--r-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-border-strong{border-color:var(--border-strong)}.border-border-subtle{border-color:var(--border-subtle)}.bg-border-subtle{background-color:var(--border-subtle)}.bg-surface-base{background-color:var(--surface-base)}.bg-surface-inverse\/95{background-color:var(--surface-inverse)}@supports (color:color-mix(in lab, red, red)){.bg-surface-inverse\/95{background-color:color-mix(in oklab, var(--surface-inverse) 95%, transparent)}}.bg-surface-overlay{background-color:var(--surface-overlay)}.bg-surface-raised{background-color:var(--surface-raised)}.bg-surface-sunken{background-color:var(--surface-sunken)}.bg-surface-well{background-color:var(--surface-well)}.fill-reward{fill:var(--reward)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-14{padding-block:calc(var(--spacing) * 14)}.ps-3{padding-inline-start:calc(var(--spacing) * 3)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-7{padding-top:calc(var(--spacing) * 7)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.text-center{text-align:center}.font-mono{font-family:var(--font-geist-mono)}.text-2xl{font-size:1.5rem;line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:1rem;line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:1.125rem;line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:.875rem;line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:1.25rem;line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:.75rem;line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.01em\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.whitespace-pre-line{white-space:pre-line}.text-action{color:var(--action)}.text-danger{color:var(--danger)}.text-info{color:var(--info)}.text-paper-200{color:var(--paper-200)}.text-paper-300{color:var(--paper-300)}.text-reward{color:var(--reward)}.text-reward-deep{color:var(--reward-deep)}.text-success{color:var(--success)}.text-text-disabled{color:var(--text-disabled)}.text-text-muted{color:var(--text-muted)}.text-text-on-inverse{color:var(--text-on-inverse)}.text-text-primary{color:var(--text-primary)}.text-text-secondary{color:var(--text-secondary)}.text-warning{color:var(--warning)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-60{opacity:.6}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale-\[0\.2\]{--tw-grayscale:grayscale(.2);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.last\:pb-0:last-child{padding-bottom:0}@media (hover:hover){.hover\:underline:hover{text-decoration-line:underline}}@media (min-width:40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\:pt-14{padding-top:calc(var(--spacing) * 14)}}@media (min-width:64rem){.lg\:hidden{display:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}}:root{--paper-0:#fff;--paper-50:#faf9f5;--paper-100:#f3f1ea;--paper-200:#e9e6dc;--paper-300:#dcd8ca;--coal-950:#0f0f11;--coal-900:#17171a;--coal-850:#1d1d21;--coal-800:#232328;--coal-700:#34343a;--coal-600:#55555c;--coal-500:#6b6b73;--coal-300:#a0a0a8;--sun-100:#fdf4d8;--sun-400:#ffd84d;--sun-500:#f2c230;--sun-600:#d9a441;--green-600:#1b7a73;--red-600:#ba4730;--red-700:#943b2a;--blue-600:#2f63b8;--line:#17171a1a;--line-strong:#17171a2e;--fill-soft:#17171a0a;--fill:#17171a12;--fill-strong:#17171a1f;--surface-base:var(--paper-100);--surface-raised:var(--paper-0);--surface-sunken:var(--paper-200);--surface-well:var(--paper-0);--surface-overlay:var(--paper-0);--surface-inverse:var(--coal-900);--bg-surface:var(--surface-raised);--bg-surface-raised:var(--surface-raised);--bg-subtle:var(--surface-well);--bg-canvas:var(--surface-base);--edge:var(--border-subtle);--edge-strong:var(--border-strong);--text-primary:var(--coal-900);--text-secondary:var(--coal-600);--text-muted:var(--coal-500);--text-disabled:var(--coal-300);--text-on-inverse:var(--paper-0);--text-on-sun:var(--coal-900);--border-subtle:var(--line);--border-strong:var(--line-strong);--border-focus:var(--coal-900);--action:var(--coal-900);--action-hover:var(--coal-700);--action-active:#000;--action-subtle:var(--fill);--action-text:var(--coal-900);--progress:var(--sun-500);--progress-bright:var(--sun-400);--progress-track:var(--paper-200);--reward:var(--sun-400);--reward-deep:var(--sun-600);--reward-tint:var(--sun-100);--reward-glow:#f2c23073;--success:var(--green-600);--success-subtle:var(--green-600)}@supports (color:color-mix(in lab, red, red)){:root{--success-subtle:color-mix(in oklab, var(--green-600) 10%, transparent)}}:root{--danger:var(--red-600);--danger-strong:var(--red-700);--danger-subtle:var(--red-600)}@supports (color:color-mix(in lab, red, red)){:root{--danger-subtle:color-mix(in oklab, var(--red-600) 9%, transparent)}}:root{--warning:var(--red-600);--warning-subtle:var(--red-600)}@supports (color:color-mix(in lab, red, red)){:root{--warning-subtle:color-mix(in oklab, var(--red-600) 7%, transparent)}}:root{--info:var(--blue-600);--info-subtle:var(--blue-600)}@supports (color:color-mix(in lab, red, red)){:root{--info-subtle:color-mix(in oklab, var(--blue-600) 9%, transparent)}}:root{--tone-1:#5b6f8e;--tone-2:#4f7f7a;--tone-3:#6b7d52;--tone-4:#8a7250;--tone-5:#8c5e5a;--tone-6:#7a5f84;--tone-7:#5f716b;--tone-8:#86693f;--tone-9:#6a6892;--tone-10:#7d6c5e;--shadow-sm:0 1px 2px #17171a0d;--shadow-md:0 2px 4px #17171a0d, 0 6px 16px -6px #17171a14;--shadow-overlay:0 4px 8px #17171a0f, 0 16px 40px -12px #17171a24;--scrim:#17171a6b;--r-sm:8px;--r-md:14px;--r-lg:20px;--r-xl:28px;--r-full:999px;--hairline-width:.8px;--ease-out:cubic-bezier(.25, 1, .5, 1);--ease-stoop:cubic-bezier(.16, 1, .3, 1);--ease-bate:cubic-bezier(.34, 1.56, .64, 1);--dur-fast:.14s;--dur-base:.24s;--dur-slow:.52s;--tab-bar-height:60px;--sidebar-width-expanded:240px;--sidebar-width-collapsed:68px;--sidebar-width:var(--sidebar-width-expanded);--page-pad-inline:clamp(20px, 3vw, 40px);--page-max:1320px;--page-max-narrow:880px;--panel-pad:20px;--panel-gap:16px;--tap-target:44px;--measure:68ch;--anno-grammar:var(--red-600);--anno-vocabulary:var(--green-600);--anno-pronunciation:var(--blue-600);--anno-cohesion:#7a53a8;--anno-excellent:var(--reward-deep);--anno-filler:var(--text-muted);--anno-task:var(--blue-600);--anno-grammar-text:#a8402b;--anno-vocabulary-text:#186d67;--anno-pronunciation-text:#2e60b2;--anno-cohesion-text:#7650a2;--anno-filler-text:#616169;--anno-hl-filler:var(--text-muted)}@supports (color:color-mix(in lab, red, red)){:root{--anno-hl-filler:color-mix(in oklab, var(--text-muted) 22%, transparent)}}:root{--anno-hl-restart:var(--anno-cohesion);--anno-hl-restart-text:var(--surface-raised);--anno-hl-weak:var(--series-writing)}@supports (color:color-mix(in lab, red, red)){:root{--anno-hl-weak:color-mix(in oklab, var(--series-writing) 34%, transparent)}}:root{--anno-hl-delivery:var(--series-writing)}@supports (color:color-mix(in lab, red, red)){:root{--anno-hl-delivery:color-mix(in oklab, var(--series-writing) 15%, transparent)}}:root{--anno-hl-uptalk:var(--anno-cohesion)}@supports (color:color-mix(in lab, red, red)){:root{--anno-hl-uptalk:color-mix(in oklab, var(--anno-cohesion) 20%, transparent)}}:root{--anno-hl-grammar:var(--danger)}@supports (color:color-mix(in lab, red, red)){:root{--anno-hl-grammar:color-mix(in oklab, var(--danger) 11%, transparent)}}:root{--anno-hl-lexical:var(--info)}@supports (color:color-mix(in lab, red, red)){:root{--anno-hl-lexical:color-mix(in oklab, var(--info) 16%, transparent)}}:root{--series-speaking:#2f63b8;--series-writing:#b5642a;--series-listening:#7a53a8;--series-reading:#16876b;--chart-grid:#17171a12;--chart-axis:#17171a24;--chart-track:#17171a0f;--ink-900:#0a0c13;--ink-800:#10131c;--ink-700:#171b27;--ink-600:#212636;--hairline:#2a3044;--bone-100:#f2ede1;--bone-300:#c7c1b4;--bone-500:#8c8878;--bone-700:#565348;--brass-400:#f0c567;--brass-500:#d9a441;--brass-600:#a87a28;--brass-glow:#f0c56733;--lapis-400:#4e86d9;--lapis-500:#2f63b8;--turq-400:#37b9b0;--turq-500:#229189;--madder-400:#e06a50;--madder-500:#c24a32}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--line:#f3f1ea21;--line-strong:#f3f1ea3d;--fill-soft:#f3f1ea0a;--fill:#f3f1ea14;--fill-strong:#f3f1ea24;--surface-base:var(--coal-900);--surface-raised:var(--coal-850);--surface-sunken:var(--coal-950);--surface-well:var(--coal-950);--surface-overlay:var(--coal-800);--surface-inverse:var(--paper-100);--text-primary:var(--bone-100);--text-secondary:var(--bone-300);--text-muted:var(--bone-500);--text-disabled:var(--bone-700);--text-on-inverse:var(--coal-900);--text-on-sun:var(--coal-900);--border-subtle:var(--line);--border-strong:var(--line-strong);--border-focus:var(--bone-100);--action:var(--bone-100);--action-hover:var(--paper-0);--action-active:var(--bone-300);--action-subtle:var(--fill);--action-text:var(--bone-100);--progress:var(--sun-400);--progress-bright:var(--sun-400);--progress-track:var(--fill-strong);--reward:var(--sun-400);--reward-deep:var(--brass-400);--reward-tint:var(--sun-400)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark]{--reward-tint:color-mix(in oklab, var(--sun-400) 14%, var(--coal-900))}}:root[data-theme=dark]{--reward-glow:#f0c5674d;--success:var(--turq-400);--success-subtle:var(--turq-400)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark]{--success-subtle:color-mix(in oklab, var(--turq-400) 14%, transparent)}}:root[data-theme=dark]{--danger:var(--madder-400);--danger-strong:var(--madder-400);--danger-subtle:var(--madder-400)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark]{--danger-subtle:color-mix(in oklab, var(--madder-400) 13%, transparent)}}:root[data-theme=dark]{--warning:var(--madder-400);--warning-subtle:var(--madder-400)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark]{--warning-subtle:color-mix(in oklab, var(--madder-400) 11%, transparent)}}:root[data-theme=dark]{--info:var(--lapis-400);--info-subtle:var(--lapis-400)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark]{--info-subtle:color-mix(in oklab, var(--lapis-400) 13%, transparent)}}:root[data-theme=dark]{--tone-1:#9fb0cc;--tone-2:#8fbdb6;--tone-3:#a9b98f;--tone-4:#c9b08a;--tone-5:#c99a94;--tone-6:#b89cc2;--tone-7:#a2b5ae;--tone-8:#c7a676;--tone-9:#aeabd6;--tone-10:#bfae9e;--shadow-sm:0 1px 2px #00000057;--shadow-md:0 2px 4px #0000004d, 0 6px 16px -6px #00000075;--shadow-overlay:0 4px 8px #00000057, 0 16px 40px -12px #00000094;--scrim:#0000009e;--anno-grammar:var(--madder-400);--anno-vocabulary:var(--turq-400);--anno-pronunciation:var(--lapis-400);--anno-cohesion:#a98fd8;--anno-excellent:var(--brass-400);--anno-filler:var(--text-muted);--anno-task:var(--lapis-400);--anno-grammar-text:#ef9581;--anno-vocabulary-text:#4ec8bf;--anno-pronunciation-text:#84adea;--anno-cohesion-text:#b9a3e2;--anno-filler-text:#a3a096;--anno-hl-filler:var(--text-muted)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark]{--anno-hl-filler:color-mix(in oklab, var(--text-muted) 28%, transparent)}}:root[data-theme=dark]{--anno-hl-restart:var(--anno-cohesion);--anno-hl-restart-text:var(--surface-base);--anno-hl-weak:var(--series-writing)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark]{--anno-hl-weak:color-mix(in oklab, var(--series-writing) 40%, transparent)}}:root[data-theme=dark]{--anno-hl-delivery:var(--series-writing)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark]{--anno-hl-delivery:color-mix(in oklab, var(--series-writing) 20%, transparent)}}:root[data-theme=dark]{--anno-hl-uptalk:var(--anno-cohesion)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark]{--anno-hl-uptalk:color-mix(in oklab, var(--anno-cohesion) 26%, transparent)}}:root[data-theme=dark]{--anno-hl-grammar:var(--danger)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark]{--anno-hl-grammar:color-mix(in oklab, var(--danger) 18%, transparent)}}:root[data-theme=dark]{--anno-hl-lexical:var(--info)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark]{--anno-hl-lexical:color-mix(in oklab, var(--info) 24%, transparent)}}:root[data-theme=dark]{--series-speaking:var(--lapis-400);--series-writing:#d98a4e;--series-listening:#a98fd8;--series-reading:#35b894;--chart-grid:#f3f1ea14;--chart-axis:#f3f1ea2e;--chart-track:#f3f1ea12}:root[data-sidebar=collapsed]{--sidebar-width:var(--sidebar-width-collapsed)}.typing-root{position:relative}.essay-measure,.essay-track{font-family:var(--font-literata), Georgia, serif;font-size:var(--text-xl);color:var(--text-disabled);line-height:1.75}.essay-measure{visibility:hidden;pointer-events:none;position:absolute;inset-block-start:0;inset-inline:0}.wd-measure{white-space:pre;display:inline-block}.essay-viewport{position:relative;overflow:hidden}.essay-track{will-change:transform;position:relative}.wd{white-space:pre;position:absolute}.ch{color:var(--text-disabled)}.ch-ok{color:var(--text-primary)}.ch-err{color:var(--danger);background-image:linear-gradient(var(--danger), var(--danger));animation:bate-underline .2s var(--ease-out) forwards;background-position:0 100%;background-repeat:no-repeat;background-size:0 2px}@keyframes bate-underline{to{background-size:100% 2px}}@media (prefers-reduced-motion:reduce){.ch-err{background-size:100% 2px;animation:none}}.caret{background:var(--reward-deep);border-radius:var(--r-sm);will-change:transform;inline-size:2px;position:absolute;inset-block-start:0;inset-inline-start:0}.typing-input{opacity:0;resize:none;border:0;block-size:1px;inline-size:1px;padding:0;position:absolute;inset-block-start:0;inset-inline-start:0;overflow:hidden}.wd{transition:opacity .2s var(--ease-out), filter .2s var(--ease-out)}.essay-track.is-hooded .wd:not(.wd-lit){opacity:.28;filter:blur(2px);transition-duration:.18s}.wd-lit{box-shadow:0 0 28px 12px var(--reward-glow);border-radius:var(--r-sm)}.ch-lit{color:var(--text-primary);background-color:var(--reward);transition:background-color .22s var(--ease-out), color .22s var(--ease-out)}.stoop-layer{z-index:60;pointer-events:none;contain:layout style;position:fixed;inset:0}.stoop-defs{block-size:0;inline-size:0;position:absolute}.stoop-clone{will-change:transform;position:absolute;inset-block-start:0;inset-inline-start:0}.stoop-clone-blur{display:block}.stoop-clone-body{font-family:var(--font-literata), Georgia, serif;font-size:var(--text-xl);color:var(--text-primary);line-height:1.75;position:relative}.stoop-clone-body .wd{white-space:pre;transition:none;position:absolute}.stoop-particle{border-radius:var(--r-full);background:var(--reward);block-size:5px;inline-size:5px;box-shadow:0 0 10px 3px var(--reward-glow);will-change:transform, opacity;position:absolute;inset-block-start:0;inset-inline-start:0}.mews.is-struck{border-color:var(--reward);box-shadow:0 0 0 2px var(--reward-glow)}.mews{transition:border-color .12s var(--ease-out), box-shadow .12s var(--ease-out)}.ch-pulse{animation:stoop-pulse .3s var(--ease-out)}@keyframes stoop-pulse{0%{background-color:#0000}40%{background-color:var(--reward)}to{background-color:#0000}}.is-bating{animation:90ms linear bate-shake}@keyframes bate-shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}@media (prefers-reduced-motion:reduce){.is-bating{animation:none}.wd,.ch-lit{transition:none}}.mews{flex-direction:column;gap:14px;padding:18px;display:flex}.mews-head{justify-content:space-between;align-items:center;display:flex}.mews-count{font-size:var(--text-sm);color:var(--text-secondary)}.mews-empty{font-size:var(--text-sm);color:var(--text-muted);text-wrap:balance;line-height:1.6}.mews-stack{flex-direction:column;gap:12px;display:flex}.mews-card{border-radius:var(--r-lg);background:var(--reward-tint);border:var(--hairline-width) solid var(--reward-deep);will-change:transform, opacity;flex-direction:column;gap:10px;padding:16px;display:flex}.mews-card-label{font-size:var(--text-sm);color:var(--text-primary);font-weight:600}.mews-card-why{font-size:var(--text-sm);color:var(--text-secondary);text-wrap:pretty;line-height:1.65}.mews-card-lexis{flex-wrap:wrap;gap:6px;display:flex}.copywork{grid-template-columns:1fr;gap:24px;max-inline-size:1180px;margin-inline:auto;padding:40px 16px;display:grid}.copywork-main{flex-direction:column;gap:24px;min-inline-size:0;display:flex}.copywork-readout{border-block-start:var(--hairline-width) solid var(--line);font-size:var(--text-sm);color:var(--text-primary);gap:32px;padding-block-start:16px;display:flex}@media (min-width:900px){.copywork{grid-template-columns:minmax(0,1fr) 320px;align-items:start}.mews{position:sticky;inset-block-start:24px}}.library,.studio,.review{max-inline-size:1180px;padding:40px var(--page-pad-inline) 64px;margin-inline:auto}.library-head,.studio-head{flex-direction:column;gap:8px;max-inline-size:62ch;margin-block-end:28px;display:flex}.library-filters{flex-direction:column;gap:14px;margin-block-end:28px;display:flex}.library-filter-row{flex-wrap:wrap;align-items:flex-start;gap:8px 6px;display:flex}.library-filter-row>.label-micro{flex:none;inline-size:52px;padding-block-start:7px}.studio-tabs+.library-head{margin-block-start:20px}.library-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.essay-card{border-radius:var(--r-lg);background:var(--surface-raised);border:var(--hairline-width) solid var(--line);block-size:100%;box-shadow:var(--shadow-sm);transition:box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);flex-direction:column;gap:10px;padding:20px;display:flex}.essay-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.essay-card-meta{gap:6px;display:flex}.essay-card-title{font-size:var(--text-lg);letter-spacing:-.015em;color:var(--text-primary);text-wrap:balance;font-weight:600}.essay-card-prompt{font-size:var(--text-sm);color:var(--text-secondary);-webkit-line-clamp:4;-webkit-box-orient:vertical;flex:1;line-height:1.55;display:-webkit-box;overflow:hidden}.essay-card-foot{border-block-start:var(--hairline-width) solid var(--line);font-size:var(--text-xs);color:var(--text-muted);justify-content:space-between;padding-block-start:10px;display:flex}.library-empty{text-align:center;color:var(--text-secondary);padding:28px}.library-pages{justify-content:center;gap:6px;margin-block-start:28px;display:flex}.library-crumb{max-inline-size:1180px;font-size:var(--text-sm);color:var(--text-muted);margin-inline:auto;padding:24px 16px 0}.library-crumb a{color:var(--text-primary);text-underline-offset:2px;text-decoration:underline}.studio-section{flex-direction:column;gap:10px;margin-block-end:32px;display:flex}.queue-list{flex-direction:column;gap:8px;display:flex}.queue-row{border-radius:var(--r-md);background:var(--paper-0);border:var(--hairline-width) solid var(--line);transition:background var(--dur-fast) var(--ease-out);justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.queue-row:hover{background:var(--paper-50)}.queue-row-main{flex-direction:column;gap:3px;min-inline-size:0;display:flex}.queue-title{font-size:var(--text-base);color:var(--text-primary);font-weight:600}.queue-meta{font-size:var(--text-xs);color:var(--text-muted)}.queue-row-counts{flex:none;gap:6px;display:flex}.review-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-block-end:20px;display:flex}.review-head-actions{align-items:center;gap:10px;display:flex}.review-notice{margin-block-end:16px}.review-body{grid-template-columns:1fr;align-items:start;gap:20px;display:grid}@media (min-width:1000px){.review-body{grid-template-columns:minmax(0,1fr) 420px}.review-essay{max-block-size:calc(100vh - 120px);position:sticky;inset-block-start:20px;overflow-y:auto}.review-cards{max-block-size:calc(100vh - 120px);overflow-y:auto}}.review-essay{border-radius:var(--r-lg);background:var(--paper-0);border:var(--hairline-width) solid var(--line);padding:24px}.review-prompt{border-block-end:var(--hairline-width) solid var(--line);font-size:var(--text-sm);color:var(--text-secondary);margin-block-end:16px;padding-block-end:12px}.review-text{font-family:var(--font-literata), Georgia, serif;font-size:var(--text-base);color:var(--text-primary);line-height:1.85}.review-sentence{border-radius:var(--r-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}.review-sentence[data-state=approved]{background:var(--success)}@supports (color:color-mix(in lab, red, red)){.review-sentence[data-state=approved]{background:color-mix(in oklab, var(--success) 10%, transparent)}}.review-sentence[data-state=rejected]{color:var(--text-muted);text-decoration:line-through;-webkit-text-decoration-color:var(--danger);-webkit-text-decoration-color:var(--danger);-webkit-text-decoration-color:var(--danger);text-decoration-color:var(--danger)}.review-sentence[data-state=rewrite]{background:var(--warning-subtle)}.review-sentence[data-verdict=exemplary]{font-weight:600}.review-sentence[data-current]{background:var(--reward);box-shadow:0 0 0 3px var(--reward)}.review-cards{flex-direction:column;gap:10px;display:flex}.review-card{border-radius:var(--r-md);background:var(--paper-0);border:var(--hairline-width) solid var(--line);cursor:pointer;padding:14px 16px}.review-card[data-current]{border-color:var(--action);box-shadow:var(--shadow-md);cursor:default}.review-card[data-state=approved]{background:var(--paper-50)}.review-card[data-flash=approved]{border-color:var(--success)}.review-card[data-flash=rejected]{border-color:var(--danger)}.review-card-head{align-items:center;gap:6px;margin-block-end:8px;display:flex}.review-card-text{font-family:var(--font-literata), Georgia, serif;font-size:var(--text-sm);color:var(--text-primary);line-height:1.6}.review-card-edit{border-block-start:var(--hairline-width) solid var(--line);flex-direction:column;gap:6px;margin-block-start:14px;padding-block-start:14px;display:flex}.review-why{resize:vertical;font-family:inherit;line-height:1.55}.review-card-actions,.review-rewrite{gap:8px;margin-block-start:6px;display:flex}.review-rewrite .input{flex:1;min-inline-size:0}.review-keys{color:var(--text-muted);justify-content:center;gap:18px;margin-block-start:24px;display:flex}kbd{border-radius:var(--r-sm);background:var(--fill);border:var(--hairline-width) solid var(--line);font-family:var(--font-mono), monospace;color:var(--text-primary);padding:1px 6px;font-size:.85em;display:inline-block}.btn kbd{color:inherit;background:#ffffff2e;border-color:#0000;margin-inline-start:6px}.legal{max-inline-size:68ch;margin-inline:auto;padding:56px 20px 40px}.legal-head h1{font-size:var(--text-3xl);letter-spacing:-.025em;color:var(--text-primary);text-wrap:balance;font-weight:800}.legal-summary{font-size:var(--text-lg);color:var(--text-secondary);text-wrap:pretty;margin-block-start:14px;line-height:1.55}.legal-updated{font-size:var(--text-xs);color:var(--text-muted);margin-block-start:16px}.legal-draft{margin-block-start:28px}.legal-body{font-size:var(--text-base);color:var(--text-secondary);margin-block-start:40px;line-height:1.7}.legal-body h2{font-size:var(--text-lg);letter-spacing:-.015em;color:var(--text-primary);margin-block:40px 12px;font-weight:700}.legal-body h2:first-child{margin-block-start:0}.legal-body p+p,.legal-body ul,.legal-body table{margin-block-start:14px}.legal-body ul{flex-direction:column;gap:8px;padding-inline-start:22px;list-style:outside;display:flex}.legal-body strong{color:var(--text-primary);font-weight:600}.legal-body a{color:var(--text-primary);text-underline-offset:2px;text-decoration:underline;-webkit-text-decoration-color:var(--line);-webkit-text-decoration-color:var(--line);-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line)}.legal-body a:hover{text-decoration-color:currentColor}.legal-body code{border-radius:var(--r-sm);background:var(--fill);font-family:var(--font-mono), monospace;color:var(--text-primary);padding:1px 5px;font-size:.9em}.legal-body table{border-collapse:collapse;inline-size:100%;font-size:var(--text-sm);display:block;overflow-x:auto}.legal-body th,.legal-body td{text-align:start;vertical-align:top;border-block-end:var(--hairline-width) solid var(--line);padding:10px 14px 10px 0}.legal-body th{color:var(--text-primary);white-space:nowrap;font-weight:600}.pricing{max-inline-size:1180px;margin-inline:auto;padding:56px 20px 40px}.pricing-head{max-inline-size:60ch;margin-block-end:32px}.pricing-head h1{font-size:var(--text-3xl);letter-spacing:-.025em;color:var(--text-primary);font-weight:800}.pricing-sub{font-size:var(--text-lg);color:var(--text-secondary);text-wrap:pretty;margin-block-start:14px;line-height:1.6}.price-toggle{margin-block-end:24px}.price-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));align-items:stretch;gap:16px;display:grid}.price-card{border-radius:var(--r-xl);background:var(--surface-raised);border:var(--hairline-width) solid var(--line);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:24px;display:flex;position:relative}.price-card[data-featured]{border-color:var(--action);box-shadow:var(--shadow-md)}.price-flag{position:absolute;inset-block-start:-11px;inset-inline-start:24px}.price-name{font-size:var(--text-lg);letter-spacing:-.015em;color:var(--text-primary);font-weight:700}.price-tagline{font-size:var(--text-sm);color:var(--text-secondary);text-wrap:pretty;line-height:1.5}.price-amount{font-size:var(--text-3xl);letter-spacing:-.03em;color:var(--text-primary);margin-block-start:6px;font-weight:800}.price-period{font-size:var(--text-sm);color:var(--text-muted);font-weight:500}.price-custom{font-size:var(--text-lg);font-weight:700}.price-equiv{font-size:var(--text-xs);color:var(--text-muted);margin-block-start:-6px}.price-features{font-size:var(--text-sm);color:var(--text-secondary);flex-direction:column;flex:1;gap:7px;margin-block:10px;line-height:1.45;display:flex}.price-features li{background-image:linear-gradient(var(--reward-deep), var(--reward-deep));background-position:0 .5em;background-repeat:no-repeat;background-size:7px 7px;padding-inline-start:20px}.sprint{border-radius:var(--r-xl);background:var(--reward-tint);border:var(--hairline-width) solid var(--reward-deep);grid-template-columns:1fr;gap:24px;margin-block-start:24px;padding:28px;display:grid}@media (min-width:760px){.sprint{grid-template-columns:minmax(0,1fr) 240px;align-items:center}}.sprint-title{font-size:var(--text-2xl);letter-spacing:-.025em;color:var(--text-primary);margin-block-start:10px;font-weight:800}.sprint-tagline{font-size:var(--text-base);color:var(--text-secondary);margin-block-start:6px}.sprint-points{font-size:var(--text-sm);color:var(--text-secondary);flex-direction:column;gap:6px;margin-block-start:14px;display:flex}.sprint-buy{text-align:center}.sprint-price{letter-spacing:-.03em;color:var(--text-primary);font-size:2.75rem;font-weight:800;line-height:1}.sprint-days{font-size:var(--text-sm);color:var(--text-secondary);margin-block:4px 14px}.pricing-cta{flex-wrap:wrap;gap:12px;margin-block:32px;display:flex}.pricing-notes{border-block-start:var(--hairline-width) solid var(--line);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px 32px;margin-block-start:48px;padding-block-start:32px;display:grid}.pricing-notes>h2{font-size:var(--text-lg);letter-spacing:-.015em;color:var(--text-primary);grid-column:1/-1;font-weight:700}.pricing-note h3{font-size:var(--text-sm);color:var(--text-primary);font-weight:600}.pricing-note p{font-size:var(--text-sm);color:var(--text-secondary);margin-block-start:5px;line-height:1.6}.pricing-note a{color:var(--text-primary);text-underline-offset:2px;text-decoration:underline}.pricing-note code{border-radius:var(--r-sm);background:var(--fill);font-family:var(--font-mono), monospace;padding:1px 5px;font-size:.9em}.pricing-disclaimer{border-block-start:var(--hairline-width) solid var(--line);max-inline-size:68ch;margin-block-start:40px;padding-block-start:24px}.site-footer{border-block-start:var(--hairline-width) solid var(--line);background:var(--surface-base);margin-block-start:80px;padding:36px 20px 48px}.site-footer-nav{max-inline-size:1180px;font-size:var(--text-sm);flex-wrap:wrap;gap:10px 26px;margin-inline:auto;display:flex}.site-footer-nav a{color:var(--text-secondary)}.site-footer-nav a:hover{color:var(--text-primary)}.site-footer-legal{max-inline-size:1180px;font-size:var(--text-xs);color:var(--text-muted);flex-direction:column;gap:10px;margin-block-start:24px;margin-inline:auto;line-height:1.65;display:flex}.site-footer-legal a{color:var(--text-secondary);text-underline-offset:2px;text-decoration:underline}.site-footer-legal code{border-radius:var(--r-sm);background:var(--fill);font-family:var(--font-mono), monospace;padding:0 4px}.site-footer-todo{color:var(--danger);font-weight:600}.landing-h2{font-size:var(--text-2xl);letter-spacing:-.025em;color:var(--text-primary);font-weight:800}.landing-features,.landing-centres{margin-block-start:88px;scroll-margin-block-start:24px}.landing-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px 32px;margin-block-start:28px;display:grid}.landing-feature h3{font-size:var(--text-base);letter-spacing:-.01em;color:var(--text-primary);font-weight:600}.landing-feature p{font-size:var(--text-sm);color:var(--text-secondary);text-wrap:pretty;margin-block-start:6px;line-height:1.6}.landing-centres p{max-inline-size:62ch;font-size:var(--text-base);color:var(--text-secondary);margin-block-start:14px;line-height:1.65}.landing-note{max-inline-size:62ch;font-size:var(--text-sm);color:var(--text-muted);margin-block-start:20px;line-height:1.6}.landing-note a,.landing-centres a{color:var(--text-primary);text-underline-offset:2px;text-decoration:underline}[aria-disabled=true].tabbar-item,[aria-disabled=true].sidenav-item{opacity:.42;cursor:default;pointer-events:none}.sidenav-soon{font-size:var(--text-xs);color:var(--text-muted);margin-inline-start:auto}.me{max-inline-size:calc(var(--page-max-narrow) + 2 * var(--page-pad-inline));padding:8px var(--page-pad-inline) 48px;flex-direction:column;gap:14px;margin-inline:auto;display:flex}.me-panel{flex-direction:column;align-items:flex-start;gap:12px;padding:18px;display:flex}.me-links{font-size:var(--text-sm);flex-direction:column;gap:8px;display:flex}.me-links a{color:var(--text-primary);text-underline-offset:2px;text-decoration:underline}.me-actions{flex-wrap:wrap;gap:8px;display:flex}.me-fineprint{font-size:var(--text-xs);color:var(--text-muted);line-height:1.6}.me-fineprint code{border-radius:var(--r-sm);background:var(--fill);font-family:var(--font-mono), monospace;padding:0 4px}.me-fineprint a{color:var(--text-secondary);text-decoration:underline}.arena{min-block-size:100%;max-inline-size:760px;padding:32px var(--page-pad-inline) 40px;flex-direction:column;gap:16px;margin-inline:auto;display:flex}.arena-gate{justify-content:center}.arena-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.arena-title{font-size:var(--text-2xl);letter-spacing:-.025em;color:var(--text-primary);font-weight:800}.arena-sub{font-size:var(--text-sm);color:var(--text-secondary);margin-block-start:4px}.arena-status{flex:none;align-items:center;gap:8px;display:flex}.arena-elapsed{font-size:var(--text-lg);color:var(--text-primary);font-weight:600}.arena-dot{border-radius:var(--r-full);background:var(--success);block-size:8px;inline-size:8px}@keyframes arena-pulse{50%{opacity:.3}}.arena-consent{flex-direction:column;align-items:flex-start;gap:14px;padding:28px;display:flex}.arena-consent-title{font-size:var(--text-2xl);letter-spacing:-.025em;color:var(--text-primary);font-weight:800}.arena-consent-body{font-size:var(--text-base);color:var(--text-secondary);text-wrap:pretty;line-height:1.6}.arena-consent-points{font-size:var(--text-sm);color:var(--text-secondary);flex-direction:column;gap:8px;padding-inline-start:20px;line-height:1.6;list-style:outside;display:flex}.arena-consent-fine{font-size:var(--text-xs);color:var(--text-muted)}.arena-consent a{color:var(--text-primary);text-underline-offset:2px;text-decoration:underline}.arena-prep{border-radius:var(--r-lg);background:var(--reward-tint);border:var(--hairline-width) solid var(--reward-deep);align-items:baseline;gap:14px;padding:18px 22px;display:flex}.arena-prep-clock{font-size:var(--text-3xl);letter-spacing:-.03em;color:var(--text-primary);font-weight:800;line-height:1}.arena-prep-note{font-size:var(--text-sm);color:var(--text-secondary)}.arena-transcript{border-radius:var(--r-lg);background:var(--surface-raised);border:var(--hairline-width) solid var(--line);flex-direction:column;flex:1;gap:14px;min-block-size:280px;max-block-size:52vh;padding:22px;display:flex;overflow-y:auto}.arena-empty{max-inline-size:44ch;font-size:var(--text-sm);color:var(--text-muted);text-align:center;text-wrap:pretty;margin:auto;line-height:1.6}.arena-turn{max-inline-size:90%;font-size:var(--text-base);color:var(--text-primary);flex-direction:column;gap:3px;line-height:1.6;display:flex}.arena-turn[data-role=candidate]{border-radius:var(--r-lg);background:var(--fill);text-align:start;align-self:flex-end;padding:12px 16px}.arena-turn[data-role=examiner]{font-family:var(--font-literata), Georgia, serif}.arena-turn[data-streaming]{opacity:.65}.arena-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.arena-flags{color:var(--text-muted);margin-inline-start:auto}.arena-refusal{flex-direction:column;gap:6px;display:flex}.arena-refusal-links a{color:var(--text-primary);text-underline-offset:2px;text-decoration:underline}.arena-disclaimer{border-block-start:var(--hairline-width) solid var(--line);padding-block-start:12px}.arena-card{border-radius:var(--r-lg);background:var(--paper-0);border:var(--hairline-width) solid var(--line);box-shadow:var(--shadow-sm);padding:22px 24px}.arena-card-prompt{font-family:var(--font-literata), Georgia, serif;font-size:var(--text-lg);color:var(--text-primary);text-wrap:pretty;line-height:1.5}.arena-card .label-micro{margin-block:14px 8px;display:block}.arena-card-bullets{font-family:var(--font-literata), Georgia, serif;font-size:var(--text-base);color:var(--text-secondary);flex-direction:column;gap:6px;padding-inline-start:20px;line-height:1.5;list-style:outside;display:flex}.arena-turn-group{flex-direction:column;gap:6px;display:flex}.anno{font:inherit;color:inherit;cursor:pointer;transition:border-color .32s var(--ease-out), color .32s var(--ease-out);border:0;background:0 0;border-block-end:2px solid #0000;padding:0}.anno[data-bloomed][data-type=grammar]{border-block-end-color:var(--anno-grammar);color:var(--anno-grammar-text)}.anno[data-bloomed][data-type=vocabulary]{border-block-end-color:var(--anno-vocabulary);color:var(--anno-vocabulary-text)}.anno[data-bloomed][data-type=pronunciation]{border-block-end-color:var(--anno-pronunciation);color:var(--anno-pronunciation-text)}.anno[data-bloomed][data-type=cohesion]{border-block-end-color:var(--anno-cohesion);color:var(--anno-cohesion-text)}.anno[data-bloomed][data-type=filler]{border-block-end-color:var(--anno-filler);color:var(--anno-filler-text);border-block-end-style:dotted}.anno[data-bloomed][data-type=excellent]{border-block-end-color:var(--anno-excellent);background:var(--reward-tint);border-radius:var(--r-sm)}.anno:hover{background:var(--surface-raised);border-radius:var(--r-sm)}.anno[data-bloomed][data-type=excellent]:hover{background:var(--reward-tint)}.anno[data-severity=high]{border-block-end-width:3px}@media (prefers-reduced-motion:reduce){.anno{transition:none}}.arena-coach{border-radius:var(--r-lg);background:var(--reward-tint);border:var(--hairline-width) solid var(--reward-deep);max-inline-size:90%;font-size:var(--text-sm);color:var(--text-primary);align-self:flex-end;padding:10px 14px;line-height:1.55}.arena-coach .label-micro{color:var(--text-muted);margin-block-end:3px;display:block}.shadow-ask{color:var(--text-muted);font:inherit;font-size:var(--text-xs);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;margin-block-start:6px;padding:0;text-decoration:underline;display:block}.shadow-ask:hover{color:var(--text-primary)}.shadow-bar{border-radius:var(--r-lg);background:var(--reward-tint);border:var(--hairline-width) solid var(--reward-deep);font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.shadow-bar b{min-inline-size:0;color:var(--text-primary);flex:auto;font-weight:600}.shadow-bar .label-micro{color:var(--text-muted)}.anno-card{box-shadow:var(--shadow-overlay);flex-direction:column;align-items:flex-start;gap:10px;padding:18px;display:flex;position:sticky;inset-block-end:12px}.anno-card-head{justify-content:space-between;align-items:center;inline-size:100%;display:flex}.anno-card-said{font-family:var(--font-literata), Georgia, serif;font-size:var(--text-base);color:var(--text-muted);text-decoration:line-through}.anno-card-fix{font-family:var(--font-literata), Georgia, serif;font-size:var(--text-lg);color:var(--text-primary)}.anno-card-fix .label-micro{color:var(--text-muted);margin-block-end:3px;display:block}.anno-card-note{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.6}.arena-table{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);flex-direction:column;gap:8px;padding:14px 16px;display:flex}.arena-table-list{flex-direction:column;gap:6px;display:flex}.arena-table-item{font-size:var(--text-sm);flex-wrap:wrap;align-items:baseline;gap:8px;line-height:1.5;display:flex}.arena-table-item b{color:var(--text-primary);font-weight:600}.arena-table-item span{color:var(--text-secondary)}.arena-table-item[data-used] b{text-decoration:line-through;-webkit-text-decoration-color:var(--reward-deep);-webkit-text-decoration-color:var(--reward-deep);-webkit-text-decoration-color:var(--reward-deep);text-decoration-color:var(--reward-deep);color:var(--text-muted)}.arena-table-item[data-used] span{color:var(--text-muted)}.arena-table-used{font-style:normal;font-size:var(--text-xs);color:var(--reward-deep)}.anno-card-kept{font-size:var(--text-xs);color:var(--reward-deep);align-items:center;gap:6px;display:flex}.anno-card-note-en{border-block-start:var(--hairline-width) solid var(--line);font-size:var(--text-xs);color:var(--text-muted);padding-block-start:8px}.review-session{flex-direction:column;gap:28px;max-inline-size:760px;margin-inline:auto;padding:24px 16px 56px;display:flex}.review-session-head h1{font-size:var(--text-3xl);letter-spacing:-.025em;color:var(--text-primary);font-weight:800}.review-overall{letter-spacing:-.03em;color:var(--text-primary);margin-block-start:6px;font-size:2.5rem;font-weight:800;line-height:1.05}.review-thin{font-size:var(--text-sm);color:var(--text-secondary);padding:28px;line-height:1.7}.review-bands{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.review-band{border-radius:var(--r-lg);background:var(--surface-raised);border:var(--hairline-width) solid var(--line);flex-direction:column;gap:8px;padding:20px;display:flex}.review-band[data-weakest]{border-color:var(--action);box-shadow:var(--shadow-md)}.review-band-name{font-size:var(--text-sm);color:var(--text-secondary);font-weight:600}.review-band-score{font-size:var(--text-2xl);letter-spacing:-.025em;color:var(--text-primary);font-weight:800}.review-band-score[data-unscored]{font-size:var(--text-sm);letter-spacing:0;color:var(--text-muted);font-weight:500}.review-citations{font-family:var(--font-literata), Georgia, serif;font-size:var(--text-sm);color:var(--text-secondary);flex-direction:column;gap:5px;line-height:1.5;display:flex}.review-band-why{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.6}.review-cta-slot{min-block-size:0}.review-cta-slot:not(:empty){margin-block-start:14px}.review-disclaimer{padding-block-start:4px}.review-focus{border-radius:var(--r-xl);background:var(--reward-tint);border:var(--hairline-width) solid var(--reward-deep);flex-direction:column;gap:6px;padding:22px 24px;display:flex}.review-focus-title{font-size:var(--text-xl);letter-spacing:-.02em;color:var(--text-primary);text-wrap:balance;font-weight:800}.review-focus-body{font-size:var(--text-base);color:var(--text-secondary);text-wrap:pretty;line-height:1.6}.review-flags ul,.review-structure-list{flex-wrap:wrap;gap:8px;margin-block-start:8px;display:flex}.review-flags li{border-radius:var(--r-md);background:var(--fill);font-family:var(--font-literata), Georgia, serif;font-size:var(--text-sm);color:var(--text-secondary);padding:8px 12px}.review-flags li[data-kind=strong]{background:var(--reward-tint);color:var(--text-primary)}.review-structures{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.review-structures-kept{color:var(--text-secondary);font-size:var(--text-sm)}.review-transcript{border-radius:var(--r-lg);background:var(--surface-raised);border:var(--hairline-width) solid var(--line);flex-direction:column;gap:14px;padding:22px;display:flex}.review-filters{border-block-end:var(--hairline-width) solid var(--line);flex-wrap:wrap;gap:6px;padding-block-end:8px;display:flex}.review-invite{font-size:var(--text-sm);color:var(--text-secondary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.link-quiet{color:var(--text-secondary);text-decoration:underline;-webkit-text-decoration-color:var(--border-subtle);-webkit-text-decoration-color:var(--border-subtle);-webkit-text-decoration-color:var(--border-subtle);text-decoration-color:var(--border-subtle);text-underline-offset:3px}.link-quiet:hover{color:var(--text-primary);text-decoration-color:currentColor}.btn-small{font-size:var(--text-ui);padding-block:6px;padding-inline:14px}.table-scroll{margin-inline:-16px;padding-inline:16px;overflow-x:auto}.cost-hint{max-inline-size:68ch;font-size:var(--text-ui);color:var(--text-muted);margin-block:4px 14px;line-height:1.5}.cost-hint-inline{text-transform:none;letter-spacing:0;color:var(--text-muted);font-weight:400}.cost-seatbelt{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);margin-block-end:24px;padding:18px 20px}.cost-seatbelt[data-hot]{border-color:var(--reward-deep);background:var(--reward-tint)}.cost-seatbelt-head{justify-content:space-between;align-items:baseline;gap:12px;margin-block-end:10px;display:flex}.cost-seatbelt-head .numeric{font-size:1.0625rem;font-weight:600}.cost-meter{border-radius:var(--r-full);background:var(--progress-track);block-size:8px;overflow:hidden}.cost-meter-fill{background:var(--progress);border-radius:var(--r-full);block-size:100%;transition:inline-size var(--dur-slow) var(--ease-out)}.cost-seatbelt[data-hot] .cost-meter-fill{background:var(--danger)}.cost-seatbelt-note{font-size:var(--text-ui);color:var(--text-muted);margin-block-start:10px}.cost-windows{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-block-end:32px;display:grid}.cost-window{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);padding:18px 20px}.cost-window-figure{letter-spacing:-.02em;margin-block:8px 2px;font-size:1.75rem;font-weight:600;line-height:1.1}.cost-window-sub{font-size:var(--text-ui);color:var(--text-muted)}.cost-owner-testing{border-inline-start:2px solid var(--border-strong);font-size:var(--text-ui);color:var(--text-secondary);margin-block:-20px 32px;padding:12px 16px}.coverage-table{border-collapse:collapse;inline-size:100%;font-size:var(--text-sm)}.coverage-table th,.coverage-table td{text-align:start;border-block-end:var(--hairline-width) solid var(--border-subtle);padding:8px 12px}.coverage-table thead th{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap;font-weight:500}.coverage-cell{text-align:end;font-variant-numeric:tabular-nums}.coverage-cell[data-empty]{background:var(--danger-subtle);color:var(--danger);font-weight:600}.coverage-cell[data-thin]{background:var(--danger-subtle)}@supports (color:color-mix(in lab, red, red)){.coverage-cell[data-thin]{background:color-mix(in oklab, var(--danger-subtle) 50%, transparent)}}.coverage-cell[data-commissioned]{outline:1px dashed var(--border-strong);outline-offset:-3px}.coverage-drafts{font-size:var(--text-xs);color:var(--text-muted);margin-inline-start:4px}.coverage-key{font-size:var(--text-ui);color:var(--text-muted);margin-block-start:10px;line-height:1.6}.coverage-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.coverage-commissions{flex-direction:column;gap:8px;display:flex}.coverage-commission{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.coverage-commission-cell{font-weight:500}.coverage-commission-why{font-size:var(--text-ui);color:var(--text-muted);margin-block-start:2px}.coverage-resolve{align-items:center;gap:8px;display:flex}.coverage-note{inline-size:14rem}.cost-table{border-collapse:collapse;inline-size:100%;font-size:var(--text-sm)}.cost-table th{text-align:start;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border-block-end:var(--hairline-width) solid var(--border-strong);white-space:nowrap;padding-block:8px;padding-inline-end:18px;font-weight:600}.cost-table td{border-block-end:var(--hairline-width) solid var(--border-subtle);white-space:nowrap;padding-block:10px;padding-inline-end:18px}.cost-table-name{font-weight:600}.cost-muted{color:var(--text-muted)}.cost-watch{font-weight:600}.cost-watch[data-over],.lat-figure[data-over],.lat-segment-value[data-over]{color:var(--danger-strong)}.cost-underwater{flex-direction:column;gap:2px;display:flex}.cost-underwater li{border-block-end:var(--hairline-width) solid var(--border-subtle);font-size:var(--text-sm);grid-template-columns:minmax(0,1fr) auto auto auto auto;align-items:center;gap:12px;padding-block:12px;display:grid}.cost-underwater-who{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cost-underwater-usage{color:var(--text-secondary)}.cost-underwater-cost{color:var(--danger-strong);font-weight:600}.cost-underwater-rev{color:var(--text-muted)}@media not all and (min-width:640px){.cost-underwater li{grid-template-columns:minmax(0,1fr) auto;row-gap:6px}}.alert-list{flex-direction:column;gap:8px;margin-block-end:24px;display:flex}.alert{border-radius:var(--r-lg);background:var(--warning-subtle);border:var(--hairline-width) solid var(--danger);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.alert[data-severity=info]{background:var(--info-subtle);border-color:var(--info)}.alert[data-severity=critical]{background:var(--danger-subtle);border-color:var(--danger-strong);border-width:1.5px}.alert-summary{font-size:var(--text-sm);max-inline-size:72ch;margin-block-start:4px;line-height:1.5}.alert-actions{align-items:center;gap:8px;display:flex}.lat-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-block-end:36px;display:grid}.lat-card{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);padding:18px 20px}.lat-card-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.lat-metric{font-size:var(--text-sm);font-weight:600}.lat-target{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap}.lat-figure{letter-spacing:-.02em;align-items:baseline;gap:8px;margin-block:10px 2px;font-size:1.625rem;font-weight:600;display:flex}.lat-figure-label{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:600}.lat-empty{color:var(--text-disabled)}.lat-sub{font-size:var(--text-xs);color:var(--text-muted)}.lat-segments{border-block-start:var(--hairline-width) solid var(--border-subtle);flex-direction:column;gap:4px;margin-block-start:12px;padding-block-start:10px;display:flex}.lat-segments li{font-size:var(--text-ui);grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;gap:10px;display:grid}.lat-segment-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lat-segment-value{font-weight:600}.lat-segment-n{font-size:var(--text-2xs);color:var(--text-muted)}.knob-list{flex-direction:column;gap:2px;display:flex}.knob{border-block-end:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-md);padding:14px 16px}.knob[data-dirty]{background:var(--reward-tint)}.knob-head{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-block-end:8px;display:flex}.knob-key{font-family:var(--font-geist-mono,ui-monospace, monospace);font-size:var(--text-ui);font-weight:600}.knob-note{font-size:var(--text-xs);color:var(--text-muted);flex:260px;line-height:1.45}.knob-input{inline-size:100%;font-size:var(--text-sm);background:var(--surface-raised);color:var(--text-primary);border:var(--hairline-width) solid var(--border-strong);border-radius:var(--r-md);padding:9px 12px}.knob-input:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.knob-input-tall{font-family:var(--font-geist-mono,ui-monospace, monospace);font-size:var(--text-ui);resize:vertical;line-height:1.55}.knob-commit{flex-wrap:wrap;gap:8px;margin-block-start:8px;display:flex}.knob-reason{flex:220px;inline-size:auto}.knob-error{font-size:var(--text-ui);color:var(--danger-strong);margin-block-start:8px}.knob-saved{font-size:var(--text-ui);color:var(--success);margin-block-start:8px}.paywall{border-radius:var(--r-lg);background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.paywall[data-urgency=clear]{background:var(--reward-tint);border-color:var(--reward-deep)}.paywall-body{flex:260px}.paywall-title{font-size:var(--text-base);letter-spacing:-.01em;font-weight:600}.paywall-text{font-size:var(--text-sm);color:var(--text-secondary);max-inline-size:60ch;margin-block-start:4px;line-height:1.55}.paywall-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.allowance{border-radius:var(--r-lg);background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);padding:14px 16px}.allowance[data-level=critical],.allowance[data-level=empty]{border-color:var(--reward-deep)}.allowance-head{font-size:var(--text-ui);justify-content:space-between;align-items:baseline;gap:12px;margin-block-end:8px;display:flex}.allowance-meter{border-radius:var(--r-full);background:var(--progress-track);block-size:6px;overflow:hidden}.allowance-fill{background:var(--progress);border-radius:var(--r-full);block-size:100%;transition:inline-size var(--dur-slow) var(--ease-out)}.allowance[data-level=critical] .allowance-fill,.allowance[data-level=empty] .allowance-fill{background:var(--reward-deep)}.allowance-note{font-size:var(--text-xs);color:var(--text-muted);margin-block-start:8px;line-height:1.5}.checkout-unavailable{font-size:var(--text-ui);color:var(--text-muted)}.checkout-paid{font-size:var(--text-sm);color:var(--success);font-weight:600}.checkout-error{font-size:var(--text-ui);color:var(--danger-strong);margin-block-start:8px}.billing-banner{font-size:var(--text-sm);background:var(--warning-subtle);border-block-end:var(--hairline-width) solid var(--danger);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.billing-banner[data-kind=cancelled]{background:var(--fill-soft);border-block-end-color:var(--border-strong)}.billing-banner a{text-underline-offset:3px;text-decoration:underline}.udetail-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-block-end:24px;display:grid}.udetail-card{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);padding:16px 18px}.udetail-card[data-flagged]{border-color:var(--danger);background:var(--warning-subtle)}.udetail-figure{letter-spacing:-.02em;text-transform:capitalize;margin-block:8px 2px;font-size:1.375rem;font-weight:600}.udetail-sub{font-size:var(--text-ui);color:var(--text-muted);line-height:1.5}.udetail-warn{font-size:var(--text-ui);color:var(--danger-strong);margin-block-start:6px}.udetail-actions{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-strong);border-radius:var(--r-lg);flex-direction:column;gap:12px;margin-block-end:28px;padding:18px 20px;display:flex}.udetail-reason{flex-direction:column;gap:6px;display:flex}.udetail-row{border-block-start:var(--hairline-width) solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:10px;padding-block-start:10px;display:flex}.udetail-row-label{inline-size:70px;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:600}.udetail-presets{flex-wrap:wrap;flex:220px;align-items:center;gap:6px;display:flex}.udetail-number{inline-size:84px}.udetail-message{font-size:var(--text-ui);color:var(--success)}.udetail-grants{flex-direction:column;gap:2px;display:flex}.udetail-grants li{border-block-end:var(--hairline-width) solid var(--border-subtle);font-size:var(--text-sm);grid-template-columns:100px auto minmax(0,1fr);align-items:center;gap:12px;padding-block:10px;display:grid}.udetail-grant-when{color:var(--text-muted)}.udetail-grant-reason{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.udetail-search{gap:8px;max-inline-size:460px;margin-block-end:20px;display:flex}.billing{max-inline-size:640px;margin-inline:auto;padding:40px 16px 64px}.billing-section{border-block-end:var(--hairline-width) solid var(--border-subtle);flex-direction:column;align-items:flex-start;gap:10px;padding-block:20px;display:flex}.billing-text{font-size:var(--text-sm);color:var(--text-secondary);max-inline-size:62ch;line-height:1.6}.prompt-panes{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;margin-block-end:16px;display:grid}.prompt-pane{flex-direction:column;gap:8px;display:flex}.prompt-pane[data-dirty] .prompt-text{border-color:var(--reward-deep);background:var(--reward-tint)}.prompt-text{inline-size:100%;font-family:var(--font-geist-mono,ui-monospace, monospace);font-size:var(--text-ui);background:var(--surface-raised);color:var(--text-primary);border:var(--hairline-width) solid var(--border-strong);border-radius:var(--r-md);resize:vertical;padding:12px 14px;line-height:1.6}.prompt-text[readonly]{background:var(--fill-soft);color:var(--text-secondary)}.prompt-controls{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-strong);border-radius:var(--r-lg);flex-direction:column;gap:10px;margin-block-end:24px;padding:16px 18px;display:flex}.prompt-note{inline-size:100%}.prompt-buttons,.prompt-ab{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.prompt-ab{border-block-start:var(--hairline-width) solid var(--border-subtle);padding-block-start:10px}.prompt-ab-unit{font-size:var(--text-ui);color:var(--text-muted)}.prompt-message{font-size:var(--text-ui);color:var(--text-secondary)}.prompt-ab-rows{flex-direction:column;gap:6px;display:flex}.prompt-ab-rows li{border-block-end:var(--hairline-width) solid var(--border-subtle);font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:14px;padding-block:10px;display:flex}.fixture-list{flex-direction:column;gap:2px;display:flex}.fixture-list li{border-block-end:var(--hairline-width) solid var(--border-subtle);font-size:var(--text-sm);grid-template-columns:180px minmax(0,1fr) auto;align-items:baseline;gap:14px;padding-block:10px;display:grid}.fixture-label{font-weight:600}.fixture-why{font-size:var(--text-ui);color:var(--text-muted);line-height:1.5}.fixture-runs{flex-direction:column;gap:4px;display:flex}.fixture-runs li{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-md);overflow:hidden}.fixture-runs li[data-severity=moved]{border-color:var(--reward-deep)}.fixture-runs li[data-severity=broken]{border-color:var(--danger);background:var(--warning-subtle)}.fixture-run-head{text-align:start;cursor:pointer;inline-size:100%;font-size:var(--text-sm);background:0 0;border:0;grid-template-columns:200px minmax(0,1fr) auto;align-items:baseline;gap:12px;padding:12px 14px;display:grid}.fixture-verdict{color:var(--text-secondary)}.fixture-runs li[data-severity=broken] .fixture-verdict{color:var(--danger-strong);font-weight:600}.fixture-ms{font-size:var(--text-xs);color:var(--text-muted)}.fixture-run-body{flex-direction:column;gap:12px;padding:0 14px 14px;display:flex}.fixture-raw{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;display:grid}.fixture-raw pre{max-block-size:320px;font-size:var(--text-xs);white-space:pre-wrap;background:var(--fill-soft);border-radius:var(--r-md);margin-block-start:6px;padding:10px 12px;line-height:1.5;overflow:auto}.cal-transcript{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);max-block-size:420px;margin-block-end:16px;padding:18px 20px;overflow-y:auto}.cal-scoring{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-strong);border-radius:var(--r-lg);flex-direction:column;gap:12px;margin-block-end:28px;padding:18px 20px;display:flex}.cal-row,.cal-offset-row{border-block-start:var(--hairline-width) solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:10px;padding-block-start:10px;display:flex}.cal-row-label{inline-size:210px;font-size:var(--text-ui);font-weight:600}.cal-bands{flex-wrap:wrap;gap:4px;display:flex}.cal-actions{align-items:center;gap:12px;padding-block-start:10px;display:flex}.cal-offsets{flex-direction:column;gap:2px;margin-block-end:12px;display:flex}.cal-offset-pairs{font-size:var(--text-xs);color:var(--text-muted)}.plait{align-items:center;gap:14px;display:flex}.plait-svg{overflow:visible}.plait-strand{stroke:var(--reward-deep);opacity:.55}.plait-strand[data-strand="1"]{stroke:var(--bone-700);opacity:.42}.plait-strand[data-strand="2"]{stroke:var(--reward-deep);opacity:.72}.plait-braiding .plait-strand{stroke-dasharray:1000;animation:plait-draw .62s var(--ease-out) both}.plait-braiding .plait-strand[data-strand="1"]{animation-delay:60ms}.plait-braiding .plait-strand[data-strand="2"]{animation-delay:.12s}@keyframes plait-draw{0%{stroke-dashoffset:1000px}to{stroke-dashoffset:0}}.plait-bell-body{fill:var(--reward);stroke:var(--reward-deep);stroke-width:1px}.plait-bell-clapper{fill:var(--reward-deep)}.plait[data-milestone] .plait-bell{animation:plait-ring .9s var(--ease-out) .3s;transform-origin:top}@keyframes plait-ring{0%,to{rotate:none}20%{rotate:14deg}45%{rotate:-10deg}70%{rotate:5deg}}.plait-count{flex-direction:column;line-height:1.05;display:flex}.plait-days{letter-spacing:-.03em;font-size:1.75rem;font-weight:700}.plait-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.ft-earned{align-items:center;gap:14px;display:flex}.ft-swivel,.ft-clip,.ft-strap{stroke:var(--reward-deep)}.ft-jess{overflow:visible}.ft-earned[data-phase=releasing] .ft-clip{transform-origin:20px 18px;animation:ft-unclip .4s var(--ease-out) both}.ft-earned[data-phase=releasing] .ft-strap{animation:.4s cubic-bezier(.4,0,.9,.55) both ft-fall}.ft-earned[data-phase=held] .ft-strap,.ft-earned[data-phase=held] .ft-clip{opacity:0}@keyframes ft-unclip{0%{rotate:none}to{opacity:0;rotate:-95deg}}@keyframes ft-fall{0%{translate:0}to{opacity:0;translate:3px 34px}}.ft-earned-text{flex-direction:column;gap:2px;display:flex}.ft-earned-minutes{font-size:var(--text-2xl);letter-spacing:-.02em;color:var(--reward-deep);font-weight:700}.ft-earned-label{font-size:var(--text-ui);color:var(--text-secondary)}@media (prefers-reduced-motion:reduce){.plait-braiding .plait-strand,.plait[data-milestone] .plait-bell,.ft-earned[data-phase=releasing] .ft-clip,.ft-earned[data-phase=releasing] .ft-strap{animation:none}}.finished{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);flex-direction:column;gap:16px;margin-block:24px;padding:22px 24px;display:flex}.finished-waiting{max-inline-size:60ch;font-size:var(--text-md);color:var(--text-secondary);line-height:1.6}.finished-refused{max-inline-size:60ch;font-size:var(--text-md);color:var(--text-primary);flex-direction:column;align-items:flex-start;gap:12px;line-height:1.6;display:flex}.finished-head{flex-direction:column;gap:14px;display:flex}.finished-title{font-size:var(--text-xl);letter-spacing:-.02em;font-weight:600}.finished-figures{flex-wrap:wrap;gap:28px;display:flex}.finished-figures dd{font-size:var(--text-lg);margin-block-start:3px;font-weight:600}.finished-caught{flex-direction:column;display:flex}.finished-caught-item{border-block-start:var(--hairline-width) solid var(--border-subtle);padding-block:12px}.finished-caught-label{font-size:var(--text-md);color:var(--text-primary);font-weight:500}.finished-caught-why{max-inline-size:68ch;font-size:var(--text-sm);color:var(--text-secondary);margin-block-start:4px;line-height:1.6}.finished-none,.finished-note{max-inline-size:64ch;font-size:var(--text-ui);color:var(--text-muted);line-height:1.6}.finished-streak{align-items:center;gap:14px;display:flex}.finished-onward{flex-wrap:wrap;gap:10px;padding-block-start:4px;display:flex}.mews-page,.league-page{max-inline-size:720px;margin-inline:auto;padding:40px 16px 64px}.mews-empty,.mews-finished{padding:24px}.mews-empty-sub{font-size:var(--text-sm);color:var(--text-muted);margin-block-start:8px}.mews-progress{margin-block-end:12px}.mews-card{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-xl);min-block-size:240px;padding:28px 24px}.mews-card-label{font-size:var(--text-xl);letter-spacing:-.01em;font-weight:600}.mews-card-evidence{border-inline-start:2px solid var(--reward-deep);font-size:var(--text-md);color:var(--text-secondary);margin-block-start:14px;padding-inline-start:14px;line-height:1.6}.mews-card-prompt{font-size:var(--text-sm);color:var(--text-muted);margin-block-start:20px}.mews-card-back{border-block-start:var(--hairline-width) solid var(--border-subtle);flex-direction:column;gap:12px;margin-block-start:18px;padding-block-start:16px;display:flex}.mews-card-body{font-size:var(--text-md);line-height:1.65}.mews-card-why{font-size:var(--text-sm);color:var(--text-secondary);flex-direction:column;gap:4px;line-height:1.6;display:flex}.mews-card-back .pill{align-self:flex-start}.mews-reveal{inline-size:100%;margin-block-start:16px}.mews-predict{flex-wrap:wrap;align-items:center;gap:10px;margin-block-start:12px;display:flex}.mews-predict-ask{font-size:var(--text-ui);color:var(--text-muted)}.mews-predict-choice{gap:6px;display:flex}.mews-predict-choice .btn[data-chosen]{background:var(--fill-strong);color:var(--text-primary)}.mews-calibration{max-inline-size:60ch;font-size:var(--text-ui);color:var(--text-secondary);margin-block-start:10px;line-height:1.6}.mews-flying{justify-content:center;gap:8px;margin-block-start:16px;display:flex}.mews-ratings{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-block-start:16px;display:grid}.mews-rating{flex-direction:column;gap:2px;block-size:auto;padding-block:12px;display:flex}.mews-rating-label{font-weight:600}.mews-rating-hint{font-size:var(--text-xs);color:var(--text-muted)}.mews-summary{flex-direction:column;gap:6px;margin-block-start:16px;display:flex}.mews-summary li{font-size:var(--text-sm);border-block-end:var(--hairline-width) solid var(--border-subtle);justify-content:space-between;gap:12px;padding-block-end:6px;display:flex}.mews-summary-days{color:var(--text-muted)}.league-board{flex-direction:column;gap:2px;display:flex}.league-row{border-radius:var(--r-md);font-size:var(--text-md);grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.league-row[data-zone=promote]{background:var(--reward-tint)}.league-row[data-zone=demote]{background:var(--danger-subtle)}.league-row[data-me]{outline:2px solid var(--action);outline-offset:-2px;font-weight:600}.league-rank{color:var(--text-muted);text-align:end}.league-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.league-xp{font-variant-numeric:tabular-nums}.league-perf{font-size:var(--text-xs);color:var(--text-muted);margin-block-start:20px}.creance-lede{font-size:var(--text-sm);color:var(--text-secondary);margin-block:6px 14px;line-height:1.6}.creance-freezes{border-block-end:var(--hairline-width) solid var(--border-subtle);font-size:var(--text-ui);color:var(--text-secondary);align-items:baseline;gap:10px;margin-block-end:16px;padding-block-end:16px;line-height:1.55;display:flex}.creance-freezes-count{font-size:var(--text-2xl);color:var(--reward-deep);font-weight:700}.creance-days{border:0;padding:0}.creance-day-row{flex-wrap:wrap;gap:6px;margin-block:8px 10px;display:flex}.creance-hint{font-size:var(--text-ui);color:var(--text-muted);line-height:1.5}.me-streak{flex-direction:column;gap:12px;display:flex}.me-streak-note{font-size:var(--text-ui);color:var(--text-secondary);line-height:1.55}.mews-flying[data-first=recognise] .btn:first-child{order:2}.mews-flying[data-first=recognise] .btn:last-child{order:1}.game-overlay{background:var(--surface-raised);border:var(--hairline-width) solid var(--reward-deep);border-radius:var(--r-xl);box-shadow:var(--shadow-md);flex-direction:column;gap:10px;margin-block:20px;padding:14px 16px 12px;display:flex}.game-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.game-skip{flex:none}.game-stage{border-radius:var(--r-lg);background:var(--surface-base);touch-action:none;block-size:clamp(280px,42vh,420px);position:relative;overflow:hidden}.game-canvas{block-size:100%;inline-size:100%;display:block}.game-done{flex-direction:column;align-items:flex-start;gap:8px;padding:24px 4px;display:flex}.game-done-title{font-size:var(--text-lg);letter-spacing:-.01em;font-weight:600}.game-done-why{font-size:var(--text-md);color:var(--text-secondary);max-inline-size:56ch;line-height:1.6}.game-foot{font-size:var(--text-xs);color:var(--text-muted);line-height:1.5}@media (prefers-reduced-motion:reduce){.game-overlay{animation:none}}.harness-row{flex-wrap:wrap;align-items:center;gap:10px;margin-block-end:10px;display:flex}.harness-log{font-size:var(--text-ui);color:var(--text-secondary);flex-direction:column;gap:4px;display:flex}.harness-json{white-space:pre-wrap;max-block-size:320px;overflow:auto}.harness-result{font-size:var(--text-xs);color:var(--text-muted)}.today-standing{font-size:var(--text-ui);color:var(--text-secondary)}.today-standing a{color:inherit}.today-standing strong{color:var(--text-primary);font-weight:600}.today-standing-zone{color:var(--text-muted);margin-inline-start:8px}.today-standing[data-zone=promote] .today-standing-zone{color:var(--success)}.today-standing-quiet{color:var(--text-muted)}.write,.write-page{inline-size:100%;max-inline-size:46rem;padding:32px var(--page-pad-inline) 64px;flex-direction:column;gap:24px;margin-inline:auto;display:flex}.studio-tabs{gap:8px;display:flex}.write-head{flex-direction:column;gap:8px;display:flex}.write-allowance{border-inline-start:2px solid var(--border-strong);font-size:var(--text-sm);color:var(--text-secondary);padding:12px 16px}.write-section{flex-direction:column;gap:12px;display:flex}.write-hint{font-size:var(--text-sm);color:var(--text-muted)}.write-list{flex-direction:column;gap:8px;display:flex}.write-row{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);color:inherit;flex-direction:column;gap:4px;padding:14px 16px;text-decoration:none;display:flex}.write-row:hover{border-color:var(--border-strong)}.write-row-prompt{font-size:var(--text-md);line-height:1.5}.write-row-meta{font-size:var(--text-ui);color:var(--text-muted)}.write-prompts{flex-direction:column;gap:10px;display:flex}.write-prompt{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);flex-direction:column;align-items:flex-start;gap:10px;padding:16px;display:flex}.write-prompt-text{font-size:var(--text-md);line-height:1.6}.compose{flex-direction:column;gap:16px;display:flex}.compose-prompt{background:var(--surface-sunken);border-radius:var(--r-lg);padding:18px 20px}.compose-prompt-text{font-size:var(--text-base);margin-block-start:8px;line-height:1.6}.compose-area{min-block-size:24rem;font-family:var(--font-literata), Georgia, serif;font-size:var(--text-base);color:var(--text-primary);background:var(--surface-base);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);resize:vertical;padding:20px;line-height:1.75}.compose-area:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-color:#0000}.compose-bar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.compose-count{gap:24px;display:flex}.compose-count dd{font-size:var(--text-lg);margin-block-start:2px;font-weight:600}.compose-count dd[data-under]{color:var(--text-muted)}.compose-actions{align-items:center;gap:12px;display:flex}.compose-left,.compose-note{font-size:var(--text-ui);color:var(--text-muted)}.compose-note{line-height:1.6}.compose-refusal{background:var(--danger-subtle);border-radius:var(--r-md);font-size:var(--text-sm);color:var(--text-primary);padding:12px 16px}.rewrite{flex-direction:column;gap:20px;display:flex}.rewrite-head{flex-direction:column;gap:6px;display:flex}.rewrite-sub{font-size:var(--text-md);color:var(--text-secondary);line-height:1.6}.rewrite-list{counter-reset:rewrite;flex-direction:column;gap:20px;display:flex}.rewrite-item{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);flex-direction:column;gap:10px;padding:20px;display:flex}.rewrite-original{border-inline-start:2px solid var(--border-strong);font-family:var(--font-literata), Georgia, serif;font-size:var(--text-base);padding-inline-start:14px;line-height:1.6}.rewrite-note-l1{font-size:var(--text-md);line-height:1.6}.rewrite-note{font-size:var(--text-ui);color:var(--text-muted);line-height:1.6}.rewrite-label{flex-direction:column;gap:6px;display:flex}.rewrite-input{font-family:var(--font-literata), Georgia, serif;font-size:var(--text-md);background:var(--surface-base);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-md);resize:vertical;padding:12px 14px;line-height:1.6}.rewrite-input:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-color:#0000}.rewrite-reveal{align-self:flex-start}.rewrite-shown{background:var(--surface-sunken);border-radius:var(--r-md);font-size:var(--text-md);padding:12px 14px;line-height:1.6}.rewrite-shown .label-micro,.rewrite-note .label-micro{margin-block-end:4px;display:block}.rewrite-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.review{flex-direction:column;gap:28px;display:flex}.review-prompt{background:var(--surface-sunken);border-radius:var(--r-lg);font-size:var(--text-md);padding:14px 16px;line-height:1.6}.review-prompt .label-micro{margin-block-end:4px;display:block}.review-head{flex-direction:column;gap:4px;display:flex}.review-overall{letter-spacing:-.02em;font-size:2.125rem;font-weight:600;line-height:1.1}.review-section,.review-criteria,.review-rewrites{flex-direction:column;gap:12px;display:flex}.review-criterion{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);padding:16px 18px}.review-criterion[data-weakest]{border-color:var(--border-strong)}.review-criterion-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.review-criterion-label{font-weight:500}.review-criterion-band{font-weight:600}.review-criterion-why{font-size:var(--text-sm);color:var(--text-secondary);margin-block-start:6px;line-height:1.6}.review-citations{font-size:var(--text-ui);color:var(--text-muted);flex-direction:column;gap:4px;margin-block-start:10px;font-style:italic;display:flex}.review-cta-slot{block-size:0}.review-rewrite{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);flex-direction:column;gap:6px;padding:14px 16px;display:flex}.review-rewrite-was{font-size:var(--text-sm);color:var(--text-muted);text-decoration:line-through}.review-rewrite-now{font-family:var(--font-literata), Georgia, serif;font-size:var(--text-md);line-height:1.6}.review-rewrite-verdict{font-size:var(--text-ui);color:var(--text-secondary);align-items:flex-start;gap:8px;line-height:1.6;display:flex}.review-focus{background:var(--surface-sunken);border-radius:var(--r-lg);flex-direction:column;align-items:flex-start;gap:6px;padding:20px;display:flex}.review-focus .btn{margin-block-start:10px}.review-focus-title{letter-spacing:-.02em;font-size:1.0625rem;font-weight:600}.review-focus-body,.review-model-note{font-size:var(--text-md);color:var(--text-secondary);line-height:1.6}.review-model{align-items:flex-start}.review-back{font-size:var(--text-sm)}.marked-body{background:var(--surface-base);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);font-family:var(--font-literata), Georgia, serif;font-size:var(--text-base);padding:20px;line-height:1.9}.marked-span{font:inherit;color:inherit;cursor:pointer;text-align:start;border:0;background:0 0;border-block-end:2px solid;padding:0}.marked-span[data-type=grammar]{color:var(--anno-grammar)}.marked-span[data-type=vocabulary]{color:var(--anno-vocabulary)}.marked-span[data-type=cohesion]{color:var(--anno-cohesion)}.marked-span[data-type=task]{color:var(--anno-task)}.marked-span[data-type=excellent]{color:var(--text-primary);background:var(--reward-tint);border-block-end-color:var(--reward)}.marked-span[data-severity=low]{border-block-end-style:dotted}.marked-card{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);flex-direction:column;gap:6px;margin-block-start:12px;padding:14px 16px;display:flex}.marked-card-fix .label-micro{margin-block-end:4px;display:block}.marked-card-fix{font-family:var(--font-literata), Georgia, serif;font-size:var(--text-md);line-height:1.6}.marked-card-l1{font-size:var(--text-md);line-height:1.6}.marked-card-note{font-size:var(--text-ui);color:var(--text-muted);line-height:1.6}.write-defer{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;padding-block-end:4px;display:flex}.write-defer p{font-size:var(--text-sm);color:var(--text-muted);flex:22rem;margin:0;line-height:1.6}.marking-live{flex-direction:column;gap:28px;display:flex}.marking-head{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.marking-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;line-height:1.2}.marking-lede{max-inline-size:38rem;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.6}.marking-clock{color:var(--text-muted);margin-inline-start:6px}.marking-essay{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);font-family:var(--font-literata), Georgia, serif;font-size:var(--text-md);flex-direction:column;gap:12px;padding:18px 20px;line-height:1.7;display:flex}.firstlook{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:10px;display:grid}.firstlook-row{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);flex-direction:column;gap:2px;padding:12px 14px;display:flex}.firstlook-row dd:not(.firstlook-note){font-size:var(--text-lg);font-weight:600}.firstlook-row[data-flag]{border-color:var(--danger);background:var(--danger-subtle)}.firstlook-note{font-size:var(--text-xs);color:var(--text-muted);line-height:1.4}.review-adjustment{border-inline-start:2px solid var(--danger);background:var(--danger-subtle);border-radius:var(--r-sm);font-size:var(--text-sm);color:var(--text-primary);margin-block-start:8px;padding:8px 12px}.review-next{font-size:var(--text-sm);color:var(--text-secondary);margin-block-start:10px;line-height:1.55}.review-next strong{color:var(--text-primary);font-weight:600}.review-note{font-size:var(--text-sm);color:var(--text-muted);line-height:1.6}.forge-page{flex-direction:column;gap:20px;inline-size:100%;max-inline-size:40rem;margin-inline:auto;padding:32px 20px 64px;display:flex}.forge{flex-direction:column;gap:20px;display:flex}.forge-back{font-size:var(--text-sm)}.forge-head{flex-direction:column;gap:8px;display:flex}.forge-frame{font-family:var(--font-literata), Georgia, serif;letter-spacing:-.01em;font-size:1.375rem;line-height:1.4}.forge-why{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.6}.forge-progress{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.forge-pips{gap:6px;display:flex}.forge-pip{border-radius:var(--r-full);background:var(--progress-track);block-size:14px;inline-size:14px}.forge-pip[data-filled]{background:var(--reward)}.forge-progress-text{font-size:var(--text-sm);color:var(--text-secondary)}.forge-write{flex-direction:column;gap:12px;display:flex}.forge-topic{background:var(--surface-sunken);border-radius:var(--r-lg);font-size:var(--text-base);padding:12px 16px}.forge-topic .label-micro{margin-block-end:4px;display:block}.forge-input{font-family:var(--font-literata), Georgia, serif;font-size:var(--text-base);background:var(--surface-base);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);resize:vertical;padding:16px;line-height:1.7}.forge-input:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-color:#0000}.forge-miss{border-inline-start:2px solid var(--border-strong);font-size:var(--text-md);color:var(--text-secondary);padding:12px 16px;line-height:1.6}.forge-bar{justify-content:space-between;align-items:center;gap:12px;display:flex}.forge-words{font-size:var(--text-ui);color:var(--text-muted)}.forge-voided,.forge-finished{font-size:var(--text-ui);color:var(--text-muted);line-height:1.6}.forge-hints{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.forge-hint{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);inline-size:100%;font-size:var(--text-md);padding:12px 16px;line-height:1.6}.forge-hint .label-micro{margin-block-end:4px;display:block}.forge-unhood{align-self:flex-start}.forge-done,.forge-list{flex-direction:column;gap:10px;display:flex}.forge-attempt{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-inline-start:2px solid var(--border-subtle);border-radius:var(--r-lg);flex-direction:column;gap:6px;padding:14px 16px;display:flex}.forge-attempt[data-sound]{border-inline-start-color:var(--reward)}.forge-attempt[data-voided]{opacity:.72}.forge-attempt-sentence{font-family:var(--font-literata), Georgia, serif;font-size:var(--text-base);line-height:1.65}.forge-attempt-l1{font-size:var(--text-md);line-height:1.6}.forge-attempt-note{font-size:var(--text-ui);color:var(--text-muted);line-height:1.6}.forge-attempt-upgrade{font-family:var(--font-literata), Georgia, serif;font-size:var(--text-md);background:var(--surface-sunken);border-radius:var(--r-md);padding:10px 12px;line-height:1.6}.forge-attempt-upgrade .label-micro{margin-block-end:4px;display:block}.lesson-page{inline-size:100%;max-inline-size:40rem;margin-inline:auto;padding:32px 20px 64px}.lesson{flex-direction:column;gap:20px;display:flex}.lesson-head{flex-direction:column;gap:6px;display:flex}.lesson-frame{font-family:var(--font-literata), Georgia, serif;font-size:var(--text-2xl);letter-spacing:-.01em;font-weight:600;line-height:1.35}.lesson-steps{align-items:center;gap:8px;display:flex}.lesson-step-pip{border-radius:var(--r-full);border:var(--hairline-width) solid var(--border-subtle);block-size:28px;inline-size:28px;color:var(--text-muted);font-size:var(--text-ui);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0}.lesson-step-pip:disabled{cursor:default;opacity:.45}.lesson-step-pip[data-done]{background:var(--reward);color:var(--text-on-sun);border-color:#0000}.lesson-step-pip[data-current]{border-color:var(--border-strong);color:var(--text-primary);font-weight:600}.lesson-body{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);flex-direction:column;gap:14px;padding:24px;display:flex}.lesson-lede{font-size:var(--text-md);color:var(--text-secondary);line-height:1.6}.lesson-contexts{flex-direction:column;gap:14px;display:flex}.lesson-context blockquote{border-inline-start:2px solid var(--border-strong);font-family:var(--font-literata), Georgia, serif;font-size:var(--text-base);padding-inline-start:14px;line-height:1.65}.lesson-context cite{font-size:var(--text-xs);color:var(--text-muted);margin-block-start:6px;padding-inline-start:16px;font-style:normal;display:block}.lesson-explain{flex-direction:column;gap:12px;display:flex}.lesson-what{font-size:var(--text-base);line-height:1.65}.lesson-why{font-size:var(--text-md);color:var(--text-secondary);background:var(--surface-sunken);border-radius:var(--r-md);padding:14px 16px;line-height:1.65}.lesson-why .label-micro,.lesson-flown .label-micro{margin-block-end:4px;display:block}.lesson-options{flex-direction:column;gap:8px;display:flex}.lesson-option{text-align:start;inline-size:100%;font-family:var(--font-literata), Georgia, serif;font-size:var(--text-md);color:inherit;background:var(--surface-base);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-md);cursor:pointer;padding:14px 16px;line-height:1.6}.lesson-option:hover:not(:disabled){border-color:var(--border-strong)}.lesson-option:disabled{cursor:default}.lesson-option[data-right]{border-color:var(--reward);background:var(--reward-tint)}.lesson-option[data-wrong]{border-color:var(--border-strong);opacity:.6}.lesson-verdict{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.6}.lesson-produce{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.lesson-produced{letter-spacing:-.02em;font-size:1.75rem;font-weight:600}.lesson-empty{font-size:var(--text-ui);color:var(--text-muted);line-height:1.6}.lesson-actions{align-items:center;gap:10px;display:flex}.lesson-flown{background:var(--reward-tint);border-radius:var(--r-lg);font-size:var(--text-md);padding:16px 18px;line-height:1.6}.hero{align-items:start;gap:32px;margin-block-start:8px;display:grid}@media (min-width:900px){.hero{grid-template-columns:minmax(19rem,25rem) 1fr;gap:48px;margin-block-start:20px}}.hero-copy{flex-direction:column;align-items:flex-start;display:flex}.hero-title{letter-spacing:-.03em;text-wrap:balance;max-inline-size:16ch;color:var(--text-primary);margin-block-start:20px;font-size:clamp(2rem,4.6vw,2.875rem);font-weight:800;line-height:1.06}.hero-lede{max-inline-size:40ch;color:var(--text-secondary);margin-block-start:18px;font-size:1.0625rem;line-height:1.6}.hero-actions{flex-wrap:wrap;gap:12px;margin-block-start:28px;display:flex}.hero-free{font-size:var(--text-sm);color:var(--text-muted);margin-block-start:14px}.hero-stage{flex-direction:column;gap:14px;display:flex}.hero-caption{font-size:var(--text-ui);color:var(--text-muted);line-height:1.5}.hero-canvas{background:var(--surface-base);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);min-block-size:9rem;padding:28px 24px;position:relative}.hero-nudge{font-size:var(--text-ui);color:var(--text-muted);margin-block-start:14px}.hero-mews{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);flex-direction:column;justify-content:center;min-block-size:7.5rem;padding:18px 20px;display:flex}.hero-mews-empty{font-size:var(--text-sm);color:var(--text-muted);line-height:1.6}.hero-card{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.hero-card-label{font-family:var(--font-literata), Georgia, serif;font-size:1.0625rem;line-height:1.4}.hero-card-why{font-size:var(--text-ui);color:var(--text-secondary);line-height:1.6}.hero-card-cta{margin-block-start:4px}@media (prefers-reduced-motion:no-preference){.hero-card{animation:hero-card-in var(--dur-base) var(--ease-bate) both}}@keyframes hero-card-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}.hero-card[data-reduced]{animation:none}.sound-toggle{font:inherit;font-size:var(--text-ui);color:var(--text-muted);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.sound-toggle:hover{color:var(--text-primary)}.quarry-page,.quarry.quarry-empty{inline-size:100%;max-inline-size:46rem;padding:32px var(--page-pad-inline) 64px;flex-direction:column;gap:20px;margin-inline:auto;display:flex}.quarry{flex-direction:column;gap:20px;display:flex}.quarry-head{flex-direction:column;gap:6px;display:flex}.quarry-title{font-size:var(--text-2xl);letter-spacing:-.02em;font-weight:600;line-height:1.2}.quarry-note{max-inline-size:62ch;font-size:var(--text-ui);color:var(--text-muted);line-height:1.6}.quarry-recognise{flex-direction:column;gap:14px;display:flex}.quarry-options{flex-direction:column;gap:8px;display:flex}.quarry-option{inline-size:100%;min-block-size:var(--tap-target);text-align:start;font-family:var(--font-literata), Georgia, serif;font-size:var(--text-md);color:var(--text-primary);background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-md);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);padding:14px 16px;line-height:1.6}.quarry-option:hover:not(:disabled){border-color:var(--border-strong)}.quarry-option:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.quarry-option:disabled{cursor:default}.quarry-option[data-right]{border-color:var(--success);background:var(--success-subtle)}.quarry-option[data-wrong]{color:var(--text-muted);border-style:dashed}.quarry-verdict{max-inline-size:66ch;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.6}.quarry-produce{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);flex-direction:column;gap:10px;padding:22px 24px;display:flex}.quarry-frame-label{color:var(--text-muted)}.quarry-frame{font-family:var(--font-literata), Georgia, serif;font-size:var(--text-md);color:var(--text-secondary);background:var(--surface-sunken);border-radius:var(--r-md);padding:12px 16px;line-height:1.65}.quarry-write{flex-direction:column;gap:6px;margin-block-start:6px;display:flex}.quarry-input{inline-size:100%;font-family:inherit;font-size:var(--text-md);color:var(--text-primary);background:var(--surface-well);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-md);resize:vertical;padding:12px 14px;line-height:1.6}.quarry-input:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.quarry-miss{border-inline-start:2px solid var(--danger);max-inline-size:62ch;font-size:var(--text-sm);color:var(--text-secondary);padding-inline-start:12px;line-height:1.6}.quarry-actions{flex-wrap:wrap;gap:10px;padding-block-start:6px;display:flex}.quarry-scheduled{flex-direction:column;display:flex}.quarry-scheduled-item{font-size:var(--text-md);border-block-end:var(--hairline-width) solid var(--border-subtle);justify-content:space-between;align-items:baseline;gap:16px;padding-block:10px;display:flex}.quarry-scheduled-item:last-child{border-block-end:none}.quarry-scheduled-label{color:var(--text-primary)}.quarry-scheduled-when{font-size:var(--text-ui);color:var(--text-muted)}.history-page{max-inline-size:720px;padding:40px var(--page-pad-inline) 64px;margin-inline:auto}.history-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.history-row{border-radius:var(--r-md);background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);color:inherit;transition:box-shadow var(--dur-fast) var(--ease-out);justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;text-decoration:none;display:flex}.history-row:hover{box-shadow:var(--shadow-sm)}.history-row-main{flex-direction:column;gap:2px;min-inline-size:0;display:flex}.history-row-date{font-weight:500}.history-row-meta{color:var(--text-muted)}.history-row-band{font-variant-numeric:tabular-nums;white-space:nowrap}.history-row-band[data-unscored]{font-size:var(--text-ui);color:var(--text-muted)}.history-empty{flex-direction:column;gap:6px;display:flex}.history-empty-sub{color:var(--text-secondary);font-size:var(--text-sm)}.history-disclaimer{margin-block-start:28px}.me-history-note{color:var(--text-secondary);font-size:var(--text-sm)}.topic-picker{flex-direction:column;gap:10px;margin-block-end:18px;display:flex}.topic-picker-head{color:var(--text-secondary)}.topic-picker-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.topic-chip{border-radius:var(--r-md);background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);text-align:start;cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;display:flex}.topic-chip:hover:not(:disabled){border-color:var(--border-strong)}.topic-chip[aria-checked=true]{background:var(--action);border-color:var(--action);color:var(--text-on-inverse)}.topic-chip:disabled{opacity:.5;cursor:default}.topic-chip[data-any]{border-style:dashed}.topic-chip-label{font-weight:500;font-size:var(--text-md)}.topic-chip-count{font-size:var(--text-xs);color:var(--text-muted)}.topic-chip[aria-checked=true] .topic-chip-count{color:#ffffffa6}.sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sr-only table{table-layout:fixed}.dash{gap:var(--panel-gap);max-inline-size:calc(var(--page-max) + 2 * var(--page-pad-inline));padding:8px var(--page-pad-inline) 48px;grid-template-columns:minmax(0,1fr);grid-template-areas:"head""next""activity""streak""trajectory""best""plans""wheel""recent";margin-inline:auto;display:grid}@container app (min-width:700px){.dash{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"head head""activity activity""streak next""trajectory trajectory""best wheel""plans plans""recent recent"}}@container app (min-width:1000px){.dash{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-areas:"head head head head head head head head head head head head""activity activity activity activity activity activity activity activity streak streak streak streak""activity activity activity activity activity activity activity activity next next next next""trajectory trajectory trajectory trajectory trajectory trajectory trajectory trajectory best best best best""plans plans plans plans plans plans plans plans wheel wheel wheel wheel""recent recent recent recent recent recent recent recent recent recent recent recent"}}.dash-head{grid-area:head}.dash-next{grid-area:next}.dash-recent{grid-area:recent}.dash-activity{grid-area:activity}.dash-streak{grid-area:streak}.dash-trajectory{grid-area:trajectory}.dash-best{grid-area:best}.dash-wheel{grid-area:wheel}.dash-plans{grid-area:plans}.dash-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 24px;padding-block:8px 4px;display:flex}.dash-head-text{flex-direction:column;gap:6px;min-inline-size:0;display:flex}.dash-hello{font-size:var(--text-2xl);letter-spacing:-.02em;font-weight:600;line-height:1.15}@container app (min-width:700px){.dash-hello{font-size:var(--text-3xl)}}.dash-exam{color:var(--text-secondary);font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:6px 14px;display:flex}.dash-exam strong{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:600}.dash-exam a{color:var(--text-primary);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px}.next-list,.recent-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.next-item,.recent-item{min-block-size:var(--tap-target);border-radius:var(--r-sm);color:var(--text-primary);transition:background-color var(--dur-fast) var(--ease-out);align-items:center;gap:12px;padding:8px 10px;text-decoration:none;display:flex}.next-item:hover,.recent-item:hover{background:var(--fill-soft)}.next-item:focus-visible,.recent-item:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.next-dot{border-radius:var(--r-full);background:var(--text-muted);flex-shrink:0;block-size:8px;inline-size:8px}.next-dot[data-skill=speaking]{background:var(--series-speaking)}.next-dot[data-skill=writing]{background:var(--series-writing)}.next-dot[data-skill=listening]{background:var(--series-listening)}.next-dot[data-skill=reading]{background:var(--series-reading)}.next-main{flex-direction:column;flex:1;gap:1px;min-inline-size:0;display:flex}.next-title{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.next-meta{color:var(--text-muted);font-size:var(--text-xs)}.next-go{color:var(--text-muted);font-size:var(--text-sm);flex-shrink:0}@container app (min-width:700px){.recent-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;display:grid}.recent-item{border:var(--hairline-width) solid var(--border-subtle)}}.recent-band{font-size:var(--text-md);font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:700}.dash-streak{flex-direction:column;gap:10px;display:flex}.streak-figure{color:var(--text-secondary);font-size:var(--text-sm);align-items:baseline;gap:8px;display:flex}.streak-figure strong{color:var(--text-primary);font-family:var(--font-sans), system-ui, sans-serif;font-size:var(--text-3xl);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.streak-note{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5}.dash-best{flex-direction:column;gap:12px;display:flex}.best-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.best-dropdown-wrap{position:relative}.best-select-btn{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-md);background:var(--surface-raised);min-block-size:32px;color:var(--text-primary);font-family:inherit;font-size:var(--text-sm);cursor:pointer;transition:all var(--dur-fast) var(--ease-out);align-items:center;gap:8px;padding:0 10px;font-weight:500;display:inline-flex}.best-select-btn:hover{background:var(--surface-well);border-color:var(--border-strong)}.best-chevron{color:var(--text-muted);transition:transform var(--dur-fast) var(--ease-out)}.best-chevron.open{transform:rotate(180deg)}.best-dropdown-menu{z-index:50;background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-md);flex-direction:column;gap:2px;min-inline-size:130px;margin:0;padding:4px;list-style:none;display:flex;position:absolute;inset-block-start:calc(100% + 4px);inset-inline-end:0;box-shadow:0 4px 16px #00000026}.best-dropdown-item{border-radius:var(--r-sm);inline-size:100%;color:var(--text-secondary);font-size:var(--text-sm);text-align:start;cursor:pointer;transition:all var(--dur-fast) var(--ease-out);background:0 0;border:none;padding:6px 10px;font-weight:500}.best-dropdown-item:hover{background:var(--surface-sunken);color:var(--text-primary)}.best-dropdown-item.active{background:var(--surface-well);color:var(--text-primary);font-weight:600}.best-score{flex-direction:column;gap:4px;margin-block:auto;display:flex}.best-score .best-figure{margin-block-start:0}.best-figure{font-family:var(--font-sans), system-ui, sans-serif;font-size:var(--text-3xl);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text-primary);margin-block-start:auto;font-weight:700;line-height:1}.best-dash{color:var(--text-muted);margin-inline:.12em}.best-when,.best-none{color:var(--text-muted);font-size:var(--text-sm)}.best-none{margin-block:auto}.dash-panel{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);flex-direction:column;min-inline-size:0;padding:14px 16px;display:flex}@container app (min-width:700px){.dash-panel{padding:16px var(--panel-pad)}}.dash-panel-head{justify-content:space-between;align-items:baseline;gap:10px;margin-block-end:8px;display:flex}.dash-panel-title{font-size:var(--text-sm);letter-spacing:-.01em;font-weight:600}.dash-panel-note{font-size:var(--text-ui);color:var(--text-muted);font-weight:500}.dash-panel-meta{font-size:var(--text-ui);color:var(--text-muted)}.dash-empty{max-inline-size:52ch;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.55}.dash-panel a:not(.btn,.next-item,.recent-item){color:var(--text-primary);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px;transition:text-decoration-color var(--dur-fast) var(--ease-out)}.dash-panel a:not(.btn,.next-item,.recent-item):hover{text-decoration-color:currentColor}.chart-legend{font-size:var(--text-ui);color:var(--text-secondary);flex-wrap:wrap;gap:4px 16px;margin:0 0 12px;padding:0;list-style:none;display:flex}.chart-legend li{align-items:center;gap:6px;display:inline-flex}.chart-swatch{border-radius:var(--r-full);flex:none;block-size:8px;inline-size:8px;display:inline-block}.chart-key{border-radius:1px;flex:none;block-size:2px;inline-size:10px;display:inline-block}.chart-swatch[data-skill=speaking],.chart-key[data-skill=speaking]{background:var(--series-speaking)}.chart-swatch[data-skill=writing],.chart-key[data-skill=writing]{background:var(--series-writing)}.chart-swatch[data-skill=reading],.chart-key[data-skill=reading]{background:var(--series-reading)}.chart-tooltip{z-index:2;border-radius:var(--r-sm);background:var(--surface-overlay);border:var(--hairline-width) solid var(--border-strong);min-inline-size:110px;box-shadow:var(--shadow-overlay);pointer-events:none;white-space:nowrap;gap:2px;padding:8px 10px;display:grid;position:absolute;transform:translate(-50%,calc(-100% - 10px))}.chart-tooltip-value{font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:700}.chart-tooltip-row{font-size:var(--text-xs);color:var(--text-secondary);align-items:center;gap:6px;display:flex}.trajectory{margin:0}.dash-trajectory{flex-direction:column;display:flex}.trajectory{flex-direction:column;flex:1;min-block-size:0;margin:0;display:flex}.trajectory-plot{flex:1;min-block-size:140px;margin-inline-start:18px;position:relative}.trajectory-grid{position:absolute;inset:0}.trajectory-gridline{border-block-start:1px solid var(--chart-grid);block-size:0;position:absolute;inset-inline:0}.trajectory-gridlabel{font-size:var(--text-2xs);color:var(--text-muted);font-variant-numeric:tabular-nums;position:absolute;inset-inline-end:calc(100% + 8px);transform:translateY(-50%)}.trajectory-target{border-block-start:1.5px solid var(--text-primary);opacity:.55;block-size:0;position:absolute;inset-inline:0}.trajectory-target-label{font-size:var(--text-2xs);color:var(--text-primary);font-weight:500;position:absolute;inset-block-end:3px;inset-inline-end:0}.trajectory-lines{block-size:100%;inline-size:100%;position:absolute;inset:0;overflow:visible}.trajectory-line{fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.trajectory-line[data-skill=speaking]{stroke:var(--series-speaking)}.trajectory-line[data-skill=writing]{stroke:var(--series-writing)}.trajectory-line[data-skill=reading]{stroke:var(--series-reading)}.trajectory-line[data-skill=listening]{stroke:var(--series-listening)}.trajectory-line[data-dim],.trajectory-point[data-dim],.chart-legend li[data-dim]{opacity:.18;transition:opacity var(--dur-base) var(--ease-out)}.trajectory-line,.trajectory-point,.chart-legend li{transition:opacity var(--dur-base) var(--ease-out)}@media (prefers-reduced-motion:reduce){.trajectory-line,.trajectory-point,.chart-legend li{transition-duration:0s}}.trajectory-point[data-dim]{pointer-events:none}.trajectory-controls{margin-block-end:12px}.trajectory-point{cursor:default;background:0 0;border:0;inline-size:28px;margin-inline-start:-14px;padding:0;position:absolute;inset-block:0}.trajectory-point:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:var(--r-sm)}.trajectory-whisker{display:none!important}.trajectory-dot{border-radius:var(--r-full);block-size:6px;inline-size:6px;box-shadow:0 0 0 2px var(--surface-raised);transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);margin-block-start:-3px;margin-inline-start:-3px;position:absolute;inset-inline-start:50%}.trajectory-point[data-skill=speaking] .trajectory-whisker,.trajectory-point[data-skill=speaking] .trajectory-dot{background:var(--series-speaking)}.trajectory-point[data-skill=writing] .trajectory-whisker,.trajectory-point[data-skill=writing] .trajectory-dot{background:var(--series-writing)}.trajectory-point[data-skill=reading] .trajectory-whisker,.trajectory-point[data-skill=reading] .trajectory-dot{background:var(--series-reading)}.trajectory-point[data-skill=listening] .trajectory-whisker,.trajectory-point[data-skill=listening] .trajectory-dot{background:var(--series-listening)}.trajectory-point[data-active] .trajectory-dot{box-shadow:0 0 0 3px var(--surface-raised);transform:scale(1.6)}.trajectory-axis{font-size:var(--text-2xs);color:var(--text-muted);justify-content:space-between;margin-block-start:10px;margin-inline-start:22px;display:flex}.activity{margin:0}@media (prefers-reduced-motion:reduce){.trajectory-dot,.trajectory-whisker,.activity-seg{transition:none}}.skill-tabs{flex-wrap:wrap;gap:2px;margin-block:4px 12px;display:flex}.skill-tab{border-radius:var(--r-full);color:var(--text-muted);font-family:inherit;font-size:var(--text-xs);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0;padding:4px 10px;font-weight:500}.skill-tab:hover{color:var(--text-primary)}.skill-tab[data-shown]{background:var(--fill);color:var(--text-primary)}.skill-tab[aria-checked=true]{color:var(--text-primary);font-weight:600}.skill-tab[data-unbuilt]{color:var(--text-disabled)}.skill-tab[data-unbuilt]:hover,.skill-tab[data-unbuilt][data-shown]{color:var(--text-muted)}.dash-activity{container:heat/inline-size}.heat-body{flex-direction:column;gap:16px;display:flex}.heat-calendar{flex-direction:column;min-inline-size:0;display:flex}.heat-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}@container heat (min-width:520px){.heat-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.heat-stat-card{background:var(--surface-sunken);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-sm);flex-direction:column;justify-content:center;gap:2px;min-inline-size:0;padding:10px 12px;display:flex}.heat-stat-label{color:var(--text-muted);font-size:var(--text-2xs);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.heat-stat-val{flex-wrap:wrap;align-items:baseline;gap:4px;margin:0;display:flex}.heat-stat-val strong{font-family:var(--font-sans), system-ui, sans-serif;font-size:var(--text-lg);color:var(--text-primary);font-weight:700;line-height:1.2}.heat-stat-highlight{color:var(--text-primary);font-weight:600;font-size:var(--text-md)}.heat-stat-sub{color:var(--text-muted);font-size:var(--text-2xs);font-weight:500}.heat-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 16px;margin-block-start:8px;display:flex}.heat-total{color:var(--text-muted);font-size:var(--text-xs);align-items:baseline;gap:6px;display:flex}.heat-total strong{color:var(--text-primary);font-family:var(--font-sans), system-ui, sans-serif;font-size:var(--text-lg);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-weight:700}.heat-chart{--gutter:30px;--cell:clamp(8px, calc((100cqi - var(--gutter) - (var(--weeks) - 1) * 4px) / var(--weeks)), 22px);grid-template-columns:var(--gutter) auto;justify-content:start;row-gap:6px;margin-block-start:8px;display:grid}.heat-months{grid-area:1/2;grid-auto-flow:column;grid-auto-columns:var(--cell);block-size:14px;color:var(--text-muted);font-size:var(--text-2xs);column-gap:4px;line-height:14px;display:grid}.heat-months span{white-space:nowrap}.heat-weekdays{grid-area:2/1;grid-template-rows:repeat(7, var(--cell));color:var(--text-muted);font-size:var(--text-2xs);align-items:center;gap:4px;padding-inline-end:6px;line-height:1;display:grid}.heat-grid{grid-area:2/2;grid-template-rows:repeat(7, var(--cell));grid-auto-flow:column;grid-auto-columns:var(--cell);gap:4px;display:grid;position:relative}.heat-cell{aspect-ratio:1;border:1px solid var(--border-subtle);background:var(--surface-sunken);cursor:pointer;outline-offset:1px;transition:outline-color var(--dur-fast) var(--ease-out);border-radius:3px;outline:2px solid #0000;padding:0}.heat-cell:hover,.heat-cell[data-active]{outline-color:var(--text-secondary)}.heat-tip{--tip-x:calc(var(--col) * (var(--cell) + 4px));z-index:3;border-radius:var(--r-sm);background:var(--surface-inverse);color:var(--text-on-inverse);box-shadow:var(--shadow-md);font-size:var(--text-xs);white-space:nowrap;pointer-events:none;animation:heat-tip-in var(--dur-fast) var(--ease-out);align-items:baseline;gap:8px;padding:5px 10px;line-height:1.3;display:flex;position:absolute;inset-block-start:calc(var(--row) * (var(--cell) + 4px));inset-inline-start:calc(var(--tip-x) + var(--cell) / 2);translate:-50% calc(-100% - 9px)}.heat-tip strong{font-size:var(--text-sm);letter-spacing:.02em;font-weight:700}.heat-tip-day{opacity:.72}.heat-tip:after{content:"";border:5px solid #0000;border-block-start-color:var(--surface-inverse);margin-inline-start:-5px;position:absolute;inset-block-start:100%;inset-inline-start:50%}.heat-tip[data-align=start]{inset-inline-start:var(--tip-x);translate:0 calc(-100% - 9px)}.heat-tip[data-align=start]:after{inset-inline-start:calc(var(--cell) / 2)}.heat-tip[data-align=end]{inset-inline-start:calc(var(--tip-x) + var(--cell));translate:-100% calc(-100% - 9px)}.heat-tip[data-align=end]:after{inset-inline-start:calc(100% - var(--cell) / 2)}@keyframes heat-tip-in{0%{opacity:0}}.heat-cell[data-step="1"]{background:var(--heat)}@supports (color:color-mix(in lab, red, red)){.heat-cell[data-step="1"]{background:color-mix(in oklab, var(--heat) 26%, var(--surface-sunken))}}.heat-cell[data-step="2"]{background:var(--heat)}@supports (color:color-mix(in lab, red, red)){.heat-cell[data-step="2"]{background:color-mix(in oklab, var(--heat) 48%, var(--surface-sunken))}}.heat-cell[data-step="3"]{background:var(--heat)}@supports (color:color-mix(in lab, red, red)){.heat-cell[data-step="3"]{background:color-mix(in oklab, var(--heat) 72%, var(--surface-sunken))}}.heat-cell[data-step="4"]{background:var(--heat)}.heat-cell[data-skill=all]{--heat:var(--text-secondary)}.heat-cell[data-skill=speaking]{--heat:var(--series-speaking)}.heat-cell[data-skill=writing]{--heat:var(--series-writing)}.heat-cell[data-skill=listening]{--heat:var(--series-listening)}.heat-cell[data-skill=reading]{--heat:var(--series-reading)}.heat-legend{color:var(--text-muted);font-size:var(--text-xs);align-items:center;gap:3px;display:flex}.heat-legend .heat-cell{cursor:default;inline-size:10px}.heat-legend span:first-child{margin-inline-end:4px}.heat-legend span:last-child{margin-inline-start:4px}.heat-hint{color:var(--text-muted);font-size:var(--text-xs);margin:0}.heat-unbuilt{max-inline-size:42ch;color:var(--text-muted);font-size:var(--text-sm);padding-block:20px;line-height:1.6}.dash-plans{grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:12px;min-inline-size:0;display:grid}@container app (min-width:700px){.dash-plans{gap:var(--panel-gap);grid-template-rows:minmax(0,1fr);grid-template-columns:repeat(2,minmax(0,1fr))}}.plans-col{flex-direction:column;min-block-size:0;min-inline-size:0;display:flex}@container app (min-width:1000px){.plans-col .plans-list{flex:auto;max-block-size:none}}.plans-list{overscroll-behavior-block:contain;flex-direction:column;gap:2px;min-block-size:64px;max-block-size:130px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.plans-empty{color:var(--text-muted);font-size:var(--text-sm);padding-block:8px}.plans-line{align-items:center;gap:6px;display:flex}.plans-check,.plans-body{min-inline-size:0;display:flex}.plans-body{flex:1}.plans-box{border:var(--hairline-width) solid var(--border-strong);block-size:18px;inline-size:18px;color:var(--text-on-inverse);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);background:0 0;border-radius:5px;flex-shrink:0;place-items:center;display:grid}.plans-line[data-done] .plans-box{border-color:var(--action);background:var(--action)}.plans-body-input{border-radius:var(--r-sm);inline-size:100%;color:var(--text-primary);font-family:inherit;font-size:var(--text-sm);field-sizing:content;resize:none;background:0 0;border:0;padding:4px 6px;line-height:1.45}.plans-body-input:hover{background:var(--fill-soft)}.plans-line[data-done] .plans-body-input{color:var(--text-muted);text-decoration:line-through}.plans-remove{border-radius:var(--r-full);block-size:24px;inline-size:24px;color:var(--text-disabled);cursor:pointer;opacity:0;transition:opacity var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0;flex-shrink:0;place-items:center;display:grid}.plans-line:hover .plans-remove,.plans-remove:focus-visible{opacity:1}.plans-remove:hover{color:var(--danger)}.plans-add{margin-block-start:8px;position:relative}.plans-input{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-sm);background:var(--surface-well);inline-size:100%;color:var(--text-primary);font-family:inherit;font-size:var(--text-sm);padding:7px 10px}.plans-ghost{pointer-events:none;color:var(--text-disabled);font-size:var(--text-sm);align-items:center;gap:8px;display:flex;position:absolute;inset-block:0;inset-inline:11px 8px}.plans-ghost-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.plans-ghost-key{border:var(--hairline-width) solid var(--border-subtle);background:var(--surface-raised);color:var(--text-muted);font-family:var(--font-mono), monospace;font-size:var(--text-2xs);border-radius:4px;flex-shrink:0;padding:1px 6px}.plans-error{color:var(--danger);font-size:var(--text-xs);margin-block-start:6px}.dash-wheel .wheel{margin-inline:auto}.wheel{aspect-ratio:1;inline-size:min(100%,17rem);margin-inline:auto;position:relative}.wheel-rings,.wheel-labels,.wheel-pointer{position:absolute;inset:0}.wheel-rim,.wheel-spoke,.wheel-hub,.wheel-pointer circle{fill:none;stroke:var(--border-strong);stroke-width:1px}.wheel-spoke{opacity:.55}.wheel-pointer{transition-property:rotate;transition-timing-function:var(--ease-stoop);rotate:none}.wheel-pointer circle{stroke:var(--text-primary);stroke-width:1.4px;stroke-linecap:round}.wheel-labels{margin:0;padding:0;list-style:none}.wheel-label{position:absolute;translate:-50% -50%}.wheel-label[data-quadrant="0"]{inset-block-start:19%;inset-inline-start:50%}.wheel-label[data-quadrant="1"]{inset-block-start:50%;inset-inline-start:82%}.wheel-label[data-quadrant="2"]{inset-block-start:81%;inset-inline-start:50%}.wheel-label[data-quadrant="3"]{inset-block-start:50%;inset-inline-start:18%}.wheel .wheel-label a{border-radius:var(--r-full);color:var(--text-secondary);font-size:var(--text-sm);white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);padding:4px 8px;font-weight:500;text-decoration-line:none;display:block}.wheel .wheel-label a:hover{background:var(--fill);color:var(--text-primary)}@media (prefers-reduced-motion:reduce){.wheel-pointer{transition-duration:0s}}.wheel-centre{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-full);background:var(--action);block-size:28%;inline-size:28%;color:var(--text-on-inverse);font-family:inherit;font-size:var(--text-xs);cursor:pointer;transition:scale var(--dur-fast) var(--ease-out);place-items:center;font-weight:600;display:grid;position:absolute;inset-block-start:50%;inset-inline-start:50%;translate:-50% -50%}.wheel-centre:hover{scale:1.05}.wheel-status{color:var(--text-muted);font-size:var(--text-xs);text-align:center;margin-block-start:12px}@media (prefers-reduced-motion:reduce){.wheel-centre{transition:none}}.kb{max-inline-size:760px;padding:24px var(--page-pad-inline) 64px;flex-direction:column;gap:20px;margin-inline:auto;display:flex}.kb-head{gap:4px;display:grid}.kb-title{letter-spacing:-.02em;font-size:1.625rem;font-weight:700}.kb-sub{max-inline-size:60ch;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.kb-note{font-size:var(--text-ui);color:var(--text-muted)}.kb-empty,.kb-rest{border-radius:var(--r-lg);background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);gap:8px;padding:24px;display:grid}.kb-empty-title,.kb-rest-title{font-size:var(--text-base);font-weight:700}.kb-empty-body,.kb-rest-body{max-inline-size:56ch;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.55}.kb-empty-actions{flex-wrap:wrap;gap:10px;margin-block-start:8px;display:flex}.kb-review{gap:12px;display:grid}.kb-progress{align-items:center;gap:12px;display:flex}.kb-progress-count{font-size:var(--text-ui);color:var(--text-secondary);font-variant-numeric:tabular-nums;flex:none;font-weight:500}.kb-progress-track{border-radius:var(--r-full);background:var(--progress-track);flex:1;block-size:6px;overflow:hidden}.kb-progress-fill{border-radius:var(--r-full);background:var(--progress);block-size:100%;transition:inline-size var(--dur-base) var(--ease-out);display:block}.kb-card{border-radius:var(--r-lg);background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);gap:18px;padding:24px;display:grid}@media (min-width:720px){.kb-card{padding:32px}}.kb-card-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.kb-card-kind{border-radius:var(--r-full);background:var(--fill);font-size:var(--text-xs);padding:3px 10px;font-weight:500}.kb-card-criterion{font-size:var(--text-xs);color:var(--text-muted);text-transform:capitalize}.kb-card-foot{border-block-start:var(--hairline-width) solid var(--border-subtle);justify-content:space-between;align-items:center;gap:12px;padding-block-start:16px;display:flex}.kb-card-when{font-size:var(--text-ui);color:var(--text-muted)}.ex{gap:14px;display:grid}.ex-prompt{font-size:var(--text-xl);letter-spacing:-.015em;font-weight:600;line-height:1.35}.ex-prompt strong{font-weight:700}.ex-context{max-inline-size:60ch;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.55}.ex-options{gap:8px;margin:0;padding:0;list-style:none;display:grid}.ex-option{border-radius:var(--r-md);background:var(--surface-base);border:var(--hairline-width) solid transparent;inline-size:100%;font:inherit;font-size:var(--text-sm);text-align:start;color:var(--text-primary);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);align-items:flex-start;gap:12px;padding:14px 16px;line-height:1.5;display:flex}.ex-option:hover:not(:disabled){border-color:var(--border-strong)}.ex-option:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.ex-option:disabled{cursor:default}.ex-option-key{border-radius:var(--r-full);background:var(--surface-raised);block-size:22px;inline-size:22px;font-size:var(--text-xs);color:var(--text-secondary);flex:none;place-items:center;font-weight:600;display:grid}.ex-option[data-state=right]{background:var(--success-subtle);border-color:var(--success)}.ex-option[data-state=right] .ex-option-key{background:var(--success);color:var(--text-on-inverse)}.ex-option[data-state=wrong]{color:var(--text-muted);text-decoration:line-through;-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong)}.ex-line{border-radius:var(--r-md);background:var(--surface-base);border:var(--hairline-width) dashed var(--border-strong);flex-wrap:wrap;align-items:center;gap:6px;min-block-size:58px;padding:10px;display:flex}.ex-line[data-state=right]{border-style:solid;border-color:var(--success);background:var(--success-subtle)}.ex-line-empty{font-size:var(--text-ui);color:var(--text-muted);padding-inline:6px}.ex-bank{flex-wrap:wrap;gap:6px;display:flex}.ex-chip{border-radius:var(--r-sm);background:var(--surface-raised);border:var(--hairline-width) solid var(--border-strong);font:inherit;font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;transition:opacity var(--dur-fast) var(--ease-out);padding:8px 12px}.ex-chip:disabled{cursor:default}.ex-bank .ex-chip:disabled{opacity:.3}.ex-check{justify-self:start}.ex-input{border-radius:var(--r-md);background:var(--surface-well);border:var(--hairline-width) solid var(--border-strong);inline-size:100%;font:inherit;font-size:var(--text-base);color:var(--text-primary);resize:vertical;padding:12px 14px;line-height:1.5}.ex-input:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.ex-input:disabled{color:var(--text-secondary)}.ex-actions{flex-wrap:wrap;gap:8px;display:flex}.ex-example{border-radius:var(--r-md);background:var(--surface-base);font-size:var(--text-sm);gap:4px;padding:12px 14px;line-height:1.55;display:grid}.ex-example-label{font-size:var(--text-xs);color:var(--text-muted);font-weight:500}.ex-feedback{gap:4px;display:grid}.ex-feedback-head{font-size:var(--text-sm);font-weight:600}.ex-feedback[data-state=right] .ex-feedback-head{color:var(--success)}.ex-feedback[data-state=retry] .ex-feedback-head,.ex-feedback[data-state=revealed] .ex-feedback-head{color:var(--text-secondary)}.ex-feedback-why{max-inline-size:60ch;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.55}.kb-done{border-radius:var(--r-lg);background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);gap:14px;padding:28px;display:grid}.kb-done-title{font-size:var(--text-xl);font-weight:700}.kb-done-summary{font-size:var(--text-sm);color:var(--text-secondary)}.kb-done-list{margin:0 0 6px;padding:0;list-style:none;display:grid}.kb-done-row{font-size:var(--text-sm);border-block-end:var(--hairline-width) solid var(--border-subtle);align-items:center;gap:10px;padding-block:10px;display:flex}.kb-done-mark{border-radius:var(--r-full);background:var(--border-strong);flex:none;block-size:8px;inline-size:8px}.kb-done-row[data-result=first] .kb-done-mark{background:var(--success)}.kb-done-label{flex:1;min-inline-size:0}.kb-done-when{font-size:var(--text-ui);color:var(--text-muted);flex:none}.bank{border-radius:var(--r-lg);background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);padding:24px}.bank-head{justify-content:space-between;align-items:baseline;gap:12px;margin-block-end:14px;display:flex}.bank-title{font-size:var(--text-base);font-weight:700}.bank-meta{font-size:var(--text-ui);color:var(--text-muted)}.bank-table{border-collapse:collapse;inline-size:100%;font-size:var(--text-sm)}.bank-table th{text-align:start;font-size:var(--text-xs);color:var(--text-muted);border-block-end:var(--hairline-width) solid var(--border-subtle);padding:0 0 10px;font-weight:500}.bank-table td{vertical-align:middle;border-block-end:var(--hairline-width) solid var(--border-subtle);padding-block:11px}.bank-table tbody tr:last-child td{border-block-end:0;padding-block-end:0}.bank-table th+th,.bank-table td+td{padding-inline-start:16px}.bank-name{gap:2px;display:grid}.bank-name a{color:var(--text-primary);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px;font-weight:500}.bank-name a:hover{text-decoration-color:currentColor}.bank-phrase{font-weight:500}.bank-kind{font-size:var(--text-xs);color:var(--text-muted);text-transform:capitalize}.bank-held{white-space:nowrap;color:var(--text-secondary);align-items:center;gap:8px;display:inline-flex}.bank-pips{gap:2px;display:inline-flex}.bank-pips span{background:var(--chart-track);border-radius:2px;block-size:10px;inline-size:6px}.bank-held[data-level="1"] .bank-pips span:nth-child(-n+1),.bank-held[data-level="2"] .bank-pips span:nth-child(-n+2),.bank-held[data-level="3"] .bank-pips span:nth-child(-n+3){background:var(--text-primary)}.bank-num{text-align:end;white-space:nowrap}.bank-muted{color:var(--text-muted)}@media (prefers-reduced-motion:reduce){.kb-progress-fill,.ex-option,.ex-chip{transition:none}}.thoughts-feed-layout{flex-direction:column;gap:24px;max-inline-size:48rem;margin-inline:auto;padding-block:16px 32px;display:flex}.thoughts-header-banner{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.thoughts-header-info{flex-direction:column;gap:4px;display:flex}.thoughts-header-title{font-size:var(--text-base);color:var(--text-primary);align-items:center;gap:8px;font-weight:600;display:flex}.thoughts-header-subtitle{font-size:var(--text-xs);color:var(--text-secondary)}.thoughts-mentor-badge{border-radius:var(--r-full);background:var(--action);block-size:1.75rem;inline-size:1.75rem;color:var(--text-on-inverse);font-weight:700;font-size:var(--text-xs);justify-content:center;align-items:center;display:inline-flex}.thoughts-date-divider{justify-content:center;align-items:center;margin-block:8px;display:flex;position:relative}.thoughts-date-divider:before{content:"";block-size:var(--hairline-width);background:var(--border-subtle);z-index:0;position:absolute;inset-inline:0}.thoughts-date-badge{z-index:1;background:var(--surface-base);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-full);font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;padding-block:4px;padding-inline:12px;font-weight:600;position:relative}.thought-card{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-xl);box-shadow:var(--shadow-sm);transition:border-color var(--dur-fast) var(--ease-out);flex-direction:column;gap:16px;padding:20px 24px;display:flex}.thought-card:hover{border-color:var(--border-strong)}.thought-card-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.thought-card-author{align-items:center;gap:10px;display:flex}.thought-author-details{flex-direction:column;display:flex}.thought-author-name{font-size:var(--text-sm);color:var(--text-primary);font-weight:600}.thought-meta-time{font-size:var(--text-xs);color:var(--text-muted)}.thought-lang-tag{font-size:var(--text-2xs);text-transform:uppercase;background:var(--surface-well);color:var(--text-secondary);border-radius:var(--r-sm);padding:2px 8px;font-weight:600}.thought-headline{font-size:var(--text-lg);color:var(--text-primary);margin-block:0;font-weight:700;line-height:1.35}.thought-body-content{font-size:var(--text-sm);color:var(--text-primary);line-height:1.65}.thought-body-content p{margin-block:0 12px}.thought-body-content p:last-child{margin-block-end:0}.thought-body-content strong{color:var(--text-primary);font-weight:600}.thought-highlights-box{background:var(--surface-well);border-radius:var(--r-md);flex-direction:column;gap:8px;padding:12px 16px;display:flex}.thought-highlights-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-weight:600}.thought-highlights-list{font-size:var(--text-xs);color:var(--text-primary);flex-direction:column;gap:6px;margin:0;padding-inline-start:20px;display:flex}.thought-action-card{border:var(--hairline-width) solid var(--action);background:var(--surface-raised);border-radius:var(--r-md);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.thought-action-left{flex-direction:column;gap:4px;display:flex}.thought-action-label{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.05em;color:var(--action);font-weight:700}.thought-action-item{font-size:var(--text-sm);color:var(--text-primary);font-weight:600}.thoughts-empty-state{text-align:center;background:var(--surface-raised);border:1px dashed var(--border-strong);border-radius:var(--r-xl);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:48px 24px;display:flex}.thoughts-empty-icon{color:var(--action);font-size:2.5rem;line-height:1}.thoughts-empty-title{font-size:var(--text-lg);color:var(--text-primary);font-weight:700}.thoughts-empty-body{font-size:var(--text-sm);color:var(--text-secondary);max-inline-size:28rem;line-height:1.5}.mentor-portal-layout{flex-direction:column;gap:24px;max-inline-size:60rem;margin-inline:auto;padding-block:16px 32px;display:flex}.mentor-tabs-bar{border-block-end:var(--hairline-width) solid var(--border-subtle);gap:8px;padding-block-end:8px;display:flex}.mentor-tab-btn{font-size:var(--text-sm);border-radius:var(--r-md);color:var(--text-secondary);cursor:pointer;transition:all var(--dur-fast) var(--ease-out);background:0 0;border:none;padding-block:8px;padding-inline:16px;font-weight:600}.mentor-tab-btn:hover{color:var(--text-primary);background:var(--surface-well)}.mentor-tab-btn.active{color:var(--text-primary);background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);box-shadow:var(--shadow-sm)}.mentor-section-card{background:var(--surface-raised);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-xl);box-shadow:var(--shadow-sm);flex-direction:column;gap:16px;padding:24px;display:flex}.mentor-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.mentor-card-title{font-size:var(--text-base);color:var(--text-primary);margin:0;font-weight:700}.mentor-card-lede{font-size:var(--text-xs);color:var(--text-secondary);margin:0}.mentor-code-banner{background:var(--surface-well);border-radius:var(--r-lg);border:1px dashed var(--border-strong);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.mentor-code-display{font-family:var(--font-mono,monospace);font-size:var(--text-xl);letter-spacing:.1em;color:var(--action);font-weight:700}.mentor-input-row{gap:8px;max-inline-size:28rem;display:flex}.mentor-input-row input{flex:1}.mentor-relation-card{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-md);background:var(--surface-raised);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.mentor-relation-left{flex-direction:column;gap:4px;display:flex}.mentor-relation-name{font-size:var(--text-sm);color:var(--text-primary);font-weight:600}.mentor-relation-meta{font-size:var(--text-xs);color:var(--text-secondary)}.mentor-tasks-grid{flex-direction:column;gap:12px;display:flex}.mentor-task-row{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-md);background:var(--surface-raised);transition:border-color var(--dur-fast) var(--ease-out);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.mentor-task-row.completed{opacity:.65;background:var(--surface-well)}.mentor-task-info{flex-direction:column;gap:4px;display:flex}.mentor-task-title-group{align-items:center;gap:8px;display:flex}.mentor-task-badge{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.05em;border-radius:var(--r-sm);background:var(--fill);color:var(--text-secondary);padding:2px 8px;font-weight:700}.mentor-task-badge.reading,.mentor-task-badge.listening,.mentor-task-badge.speaking,.mentor-task-badge.grammar{color:var(--action);background:var(--fill-soft)}.mentor-task-actions{align-items:center;gap:8px;display:flex}.student-overview-modal{background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:60;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.student-overview-dialog{background:var(--surface-overlay);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-xl);max-block-size:min(85dvh,48rem);inline-size:min(100%,44rem);box-shadow:var(--shadow-overlay);animation:start-dialog-in var(--dur-base) var(--ease-out);flex-direction:column;gap:16px;padding:clamp(18px,2.5vw,24px);display:flex;overflow:hidden auto}.topbar-bell-wrapper{display:inline-flex;position:relative}.topbar-bell-btn{cursor:pointer;color:var(--text-secondary);border-radius:var(--r-full);transition:color var(--dur-fast) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:inline-flex;position:relative}.topbar-bell-btn:hover{color:var(--text-primary)}.bell-unread-dot{background:var(--reward);border-radius:var(--r-full);border:1.5px solid var(--surface-raised);block-size:8px;inline-size:8px;position:absolute;inset-block-start:2px;inset-inline-end:2px}.bell-dropdown-popover{background:var(--surface-overlay);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);max-block-size:24rem;inline-size:20rem;box-shadow:var(--shadow-overlay);z-index:100;animation:flyoutSlideIn var(--dur-fast) var(--ease-out);flex-direction:column;gap:8px;padding:12px;display:flex;position:absolute;inset-block-start:calc(100% + 8px);inset-inline-end:0;overflow-y:auto}.bell-dropdown-head{border-block-end:var(--hairline-width) solid var(--border-subtle);justify-content:space-between;align-items:center;padding-block-end:8px;display:flex}.bell-dropdown-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-primary);font-weight:700}.bell-task-card{border-radius:var(--r-md);background:var(--surface-well);font-size:var(--text-xs);flex-direction:column;gap:4px;padding:8px 10px;display:flex}.bell-task-top{justify-content:space-between;align-items:center;display:flex}.bell-task-mentor,.bell-task-name{color:var(--text-primary);font-weight:600}.upload-modal-overlay{background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:60;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.upload-modal-dialog{background:var(--surface-overlay);border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-xl);max-block-size:min(90dvh,48rem);inline-size:min(100%,40rem);box-shadow:var(--shadow-overlay);animation:start-dialog-in var(--dur-base) var(--ease-out);flex-direction:column;gap:16px;padding:clamp(18px,2.5vw,24px);display:flex;overflow:hidden auto}.upload-privacy-callout{background:var(--surface-well);border-inline-start:3px solid var(--action);border-radius:var(--r-sm);font-size:var(--text-xs);color:var(--text-secondary);padding-block:10px;padding-inline:14px;line-height:1.45}.upload-privacy-callout strong{color:var(--text-primary)}.upload-dropzone{border:2px dashed var(--border-strong);border-radius:var(--r-lg);text-align:center;background:var(--surface-sunken);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}.upload-dropzone:hover{border-color:var(--action)}.upload-badge-private{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.05em;border-radius:var(--r-sm);background:var(--fill);color:var(--text-secondary);border:var(--hairline-width) solid var(--border-subtle);padding:2px 8px;font-weight:700}.upload-hub-layout{flex-direction:column;gap:24px;max-inline-size:54rem;margin-inline:auto;padding-block:16px 32px;display:flex}.upload-item-card{border:var(--hairline-width) solid var(--border-subtle);border-radius:var(--r-lg);background:var(--surface-raised);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background-color:var(--surface-base);color:var(--text-primary);font-family:var(--font-onest), var(--font-geist-sans), system-ui, sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}.font-mono,[class*=font-mono]{font-variant-numeric:tabular-nums}h1,h2,h3{letter-spacing:-.02em;line-height:1.2}.display{font-family:var(--font-display), Georgia, serif;letter-spacing:-.02em;line-height:1.15}p,li{line-height:1.6}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
