:root{color-scheme:light;--red:#d42b2b;--red-600:#c42626;--red-700:#b01e1e;--red-100:#fbd9d7;--red-50:#fff3f2;--red-edge:#b01e1e;--ink-900:#172033;--ink-800:#232c42;--ink-700:#374057;--ink-600:#4a5469;--ink-500:#5a6478;--ink-400:#7a8396;--surface-page:#f6f7fa;--surface:#ffffff;--surface-raised:#ffffff;--surface-sunken:#eef0f5;--surface-hover:#f8f9fc;--surface-selected:var(--red-50);--surface-inverse:var(--ink-900);--on-inverse:#ffffff;--surface-inverse-hover:var(--ink-800);--accent-ink:var(--ink-700);--on-accent-ink:#ffffff;--surface-media:#0f1626;--on-media:#ffffff;--scrim:rgb(23 32 51/0.45);--banner-scrim-rgb:255 255 255;--scrim-media:rgb(23 32 51/0.78);--img-dim:none;--skeleton-shine:rgb(255 255 255/0.6);--text-1:var(--ink-900);--text-2:var(--ink-700);--text-3:var(--ink-500);--text-4:var(--ink-400);--text-inverse:#ffffff;--text-link:var(--red);--border-subtle:#eef0f5;--border:#e3e7ee;--line-mid:#cbd2de;--line-strong:#7f89a0;--border-strong:var(--line-strong);--border-hover:var(--ink-500);--ok:#17803f;--ok-text:#166534;--ok-bg:#e8f6ec;--ok-solid:#17803f;--ok-border:#b7e0c5;--almost:#c2410c;--almost-text:#8a2f0c;--almost-bg:#ffeddf;--almost-solid:#c2410c;--almost-border:#f4c5a4;--xp:#f5a524;--xp-text:#8a4b00;--xp-bg:#fff4d6;--xp-border:#f3d98f;--on-xp:#172033;--success-text:var(--ok-text);--success-bg:var(--ok-bg);--success-border:var(--ok-border);--warning-text:#b45309;--warning-bg:#fffbeb;--warning-border:#fde68a;--danger-text:var(--red-700);--danger-bg:var(--red-50);--danger-border:var(--red-100);--danger-solid:var(--red-edge);--info-text:var(--ink-700);--info-bg:var(--surface-sunken);--info-border:var(--border);--info-icon:var(--ink-600);--tone-grammar-fg:#4338ca;--tone-grammar-bg:#eef0ff;--tone-vocab-fg:#0f766e;--tone-vocab-bg:#e3f5f2;--tone-listening-fg:#0369a1;--tone-listening-bg:#e4f2fb;--tone-reading-fg:#9a3412;--tone-reading-bg:#ffebdd;--tone-speaking-fg:#a21caf;--tone-speaking-bg:#fae8fb;--tone-writing-fg:#3f6212;--tone-writing-bg:#eef6dc;--focus-color:var(--red);--focus-ring:0 0 0 2px var(--surface),0 0 0 4px var(--focus-color);--focus-halo:0 0 0 3px rgb(212 43 43/0.16);--focus-halo-danger:0 0 0 3px var(--danger-bg);--font-sans:"Nunito Sans Variable","Nunito Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--font-alt:"Montserrat Variable","Montserrat",system-ui,sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--fs-12:0.75rem;--fs-13:0.8125rem;--fs-14:0.875rem;--fs-15:0.9375rem;--fs-16:1rem;--fs-17:1.0625rem;--fs-18:1.125rem;--fs-20:1.25rem;--fs-22:1.375rem;--fs-24:1.5rem;--fs-28:1.75rem;--fs-30:1.875rem;--fs-32:2rem;--fs-34:2.125rem;--fs-36:2.25rem;--fs-40:2.5rem;--fs-48:3rem;--lh-tight:1.2;--lh-snug:1.35;--lh-base:1.55;--lh-read:1.6;--t-display:800 var(--fs-28) /1.15 var(--font-sans);--t-h1:800 var(--fs-24) /1.25 var(--font-sans);--t-h2:700 var(--fs-20) /1.3 var(--font-sans);--t-h3:700 var(--fs-17) /1.35 var(--font-sans);--t-question:700 var(--fs-20) /1.45 var(--font-sans);--t-body:400 var(--fs-16) /1.55 var(--font-sans);--t-read:400 var(--fs-18) /1.6 var(--font-sans);--t-body-sm:400 var(--fs-14) /1.5 var(--font-sans);--t-caption:400 var(--fs-13) /1.45 var(--font-sans);--t-label:600 var(--fs-14) /1.4 var(--font-sans);--t-control:700 var(--fs-15) /1.2 var(--font-sans);--t-badge:700 var(--fs-13) /1.3 var(--font-sans);--t-overline:700 var(--fs-12) /1.3 var(--font-alt);--t-num:700 var(--fs-28) /1.1 var(--font-alt);--t-num-lg:800 var(--fs-32) /1.1 var(--font-alt);--t-score:800 var(--fs-48) /1 var(--font-alt);--t-code:500 var(--fs-13) /1.5 var(--font-mono);--sp-0-5:2px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--gutter:16px;--card-pad:16px;--gap-section:24px;--page-top:20px;--r-xs:6px;--r-sm:10px;--r-btn:14px;--r:16px;--r-lg:20px;--r-sheet:24px;--r-pill:999px;--shadow-xs:0 1px 2px rgb(23 32 51/0.06);--shadow-card:0 1px 2px rgb(23 32 51/0.04),0 6px 18px rgb(23 32 51/0.06);--shadow-sm:var(--shadow-card);--shadow-md:0 2px 4px rgb(23 32 51/0.05),0 10px 24px rgb(23 32 51/0.09);--shadow-lg:0 4px 8px rgb(23 32 51/0.06),0 16px 40px rgb(23 32 51/0.12);--shadow-xl:0 24px 64px rgb(23 32 51/0.2);--shadow-sheet:0 -8px 30px rgb(23 32 51/0.12);--edge-btn:0 3px 0 var(--red-edge);--edge-btn-pressed:0 1px 0 var(--red-edge);--edge-tile:0 2px 0 var(--border);--edge-tile-selected:0 2px 0 var(--accent-ink);--z-raised:1;--z-sticky:10;--z-header:30;--z-dropdown:40;--z-scrim:50;--z-drawer:60;--z-toast:70;--dur-1:120ms;--dur-2:200ms;--dur-3:320ms;--ease-soft:cubic-bezier(0.32,0.72,0,1);--ease-pop:cubic-bezier(0.34,1.4,0.64,1);--ease-standard:var(--ease-soft);--ease-out:cubic-bezier(0.2,0.8,0.2,1);--ease-in:cubic-bezier(0.4,0,1,1);--w-auth:420px;--w-read:760px;--w-form:720px;--w-student:1040px;--w-staff:1280px;--w-side:256px;--w-rail:96px;--w-narrow:480px;--w-card:560px;--w-st-side:240px;--w-st-wide:1120px;--measure:68ch;--topbar-h:56px;--tabbar-h:64px;--action-bar-h:80px;--field-h:44px;--btn-h-base:44px;--gray-50:var(--surface-hover);--gray-100:var(--surface-sunken);--gray-200:var(--border);--gray-300:var(--line-mid);--gray-400:var(--ink-400);--gray-500:var(--ink-500);--gray-600:var(--ink-600);--gray-700:var(--ink-700);--gray-800:var(--ink-800);--gray-900:var(--ink-900);--ink:var(--text-1);--text:var(--text-2);--muted:var(--text-3);--subtle:var(--text-4);--line:var(--border);--soft:var(--surface-sunken);--bg:var(--surface-page);--green:var(--success-text);--green-50:var(--success-bg);--amber:var(--warning-text);--amber-50:var(--warning-bg);--blue:var(--info-text);--blue-50:var(--info-bg);--f-body:var(--font-sans);--f-alt:var(--font-alt);--shadow:var(--shadow-card);--focus:var(--focus-ring)}@media (max-width:639.98px){:root{--t-num:700 var(--fs-24) /1.1 var(--font-alt)}}@media (min-width:640px){:root{--gutter:24px;--card-pad:20px;--gap-section:32px;--page-top:28px;--topbar-h:64px}}@media (min-width:768px){:root{--t-display:800 var(--fs-34) /1.15 var(--font-sans);--t-h1:800 var(--fs-28) /1.2 var(--font-sans);--t-h2:700 var(--fs-22) /1.3 var(--font-sans);--t-h3:700 var(--fs-18) /1.35 var(--font-sans);--t-question:700 var(--fs-22) /1.45 var(--font-sans);--t-num-lg:800 var(--fs-40) /1.1 var(--font-alt)}}@media (min-width:1024px){:root{--gutter:32px;--card-pad:24px;--page-top:32px}}:root[data-theme=dark]{color-scheme:dark;--red-700:#ff9a95;--red-100:#5a2328;--red-50:#2c1a20;--ink-900:#eef1f7;--ink-800:#dde2ec;--ink-700:#ccd2df;--ink-600:#b6bfd0;--ink-500:#a0aabd;--ink-400:#7f8aa0;--surface-page:#0d1320;--surface:#151c2c;--surface-raised:#1b2336;--surface-sunken:#202a40;--surface-hover:#1a2235;--surface-inverse:#e9ecf3;--banner-scrim-rgb:13 19 32;--img-dim:brightness(0.82) saturate(0.92);--on-inverse:#172033;--surface-inverse-hover:#cfd5e2;--accent-ink:#ccd2df;--on-accent-ink:#172033;--surface-media:#0a0f1a;--scrim:rgb(3 6 14/0.7);--skeleton-shine:rgb(255 255 255/0.06);--text-link:#ff918c;--border-subtle:#1e2840;--border:#2a3652;--line-mid:#3b4868;--line-strong:#7d89a4;--ok:#17803f;--ok-text:#86e0a6;--ok-bg:#123022;--ok-solid:#17803f;--ok-border:#1f5c3a;--almost:#c2410c;--almost-text:#ffb98f;--almost-bg:#3a2013;--almost-solid:#c2410c;--almost-border:#7c3b1c;--xp:#f5a524;--xp-text:#ffd27a;--xp-bg:#382a0b;--xp-border:#6b5016;--warning-text:#fbc065;--warning-bg:#33260b;--warning-border:#6b5016;--danger-text:#ff9a95;--danger-bg:#331a1f;--danger-border:#5f2b31;--tone-grammar-fg:#b0bcff;--tone-grammar-bg:#242b58;--tone-vocab-fg:#6ee7d8;--tone-vocab-bg:#0f3a38;--tone-listening-fg:#86d2fb;--tone-listening-bg:#0f3350;--tone-reading-fg:#fdba8a;--tone-reading-bg:#3d2412;--tone-speaking-fg:#f2b0fc;--tone-speaking-bg:#3c1c45;--tone-writing-fg:#c4f06a;--tone-writing-bg:#2b3b12;--focus-color:#ff918c;--focus-halo:0 0 0 3px rgb(255 145 140/0.28);--shadow-xs:0 1px 2px rgb(0 0 0/0.4);--shadow-card:0 1px 2px rgb(0 0 0/0.35),0 6px 18px rgb(0 0 0/0.3);--shadow-md:0 2px 4px rgb(0 0 0/0.4),0 10px 24px rgb(0 0 0/0.4);--shadow-lg:0 4px 8px rgb(0 0 0/0.45),0 16px 40px rgb(0 0 0/0.5);--shadow-xl:0 24px 64px rgb(0 0 0/0.6);--shadow-sheet:0 -8px 30px rgb(0 0 0/0.5)}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--topbar-h) + var(--sp-4))}body{margin:0;background:var(--surface-page);color:var(--text-2);font:var(--t-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html:has(dialog[open]){overflow:hidden}[hidden]{display:none!important}button,input,select,textarea{font-family:inherit}h1,h2,h3,h4{color:var(--text-1);margin:0;text-wrap:balance}h1{font:var(--t-h1);letter-spacing:-.02em}h2{font:var(--t-h2);letter-spacing:-.01em}h3{font:var(--t-h3)}h4{font:700 var(--fs-15) /1.4 var(--font-sans)}p{margin:0;text-wrap:pretty}a{color:var(--text-link);text-underline-offset:2px;text-decoration-thickness:1px}:where(a):hover{color:var(--red-700)}img,video{max-width:100%}::selection{background:var(--red-100);color:var(--text-1)}:focus-visible{outline:2px solid transparent;outline-offset:2px;box-shadow:var(--focus-ring)}h1[tabindex="-1"]:focus,h2[tabindex="-1"]:focus,h3[tabindex="-1"]:focus,main[tabindex="-1"]:focus,p[tabindex="-1"]:focus{outline:none;box-shadow:none}.num,.tnum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.muted{color:var(--text-3)}.small{font-size:var(--fs-14);line-height:1.5}.help,.xs{font-size:var(--fs-13);line-height:1.45}.help,.label{color:var(--text-3)}.label{font:var(--t-overline);letter-spacing:.06em;text-transform:uppercase}.t-display{font:var(--t-display);letter-spacing:-.02em;color:var(--text-1)}.t-read{font:var(--t-read)}.t-question{font:var(--t-question);color:var(--text-1)}.num-lg{font:var(--t-num-lg);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.num-lg,.score{letter-spacing:-.02em;color:var(--text-1)}.score{font:var(--t-score);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.measure{max-width:var(--measure)}.truncate{min-width:0;text-overflow:ellipsis}.sr-only,.truncate{overflow:hidden;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;clip:rect(0 0 0 0)}.skip-link{position:fixed;left:var(--sp-4);top:var(--sp-3);z-index:var(--z-toast);display:inline-flex;align-items:center;min-height:44px;padding:0 var(--sp-4);border-radius:var(--r-btn);background:var(--surface);color:var(--text-1);font:var(--t-control);text-decoration:none;transform:translateY(calc(-100% - 64px))}.skip-link:focus,.skip-link:focus-visible{transform:none;box-shadow:var(--focus-ring),var(--shadow-lg)}.page{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;grid-gap:var(--gap-section);gap:var(--gap-section);padding-block:var(--page-top) var(--sp-16)}.stack{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:var(--sp-3);gap:var(--sp-3)}.stack-lg{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:var(--sp-6);gap:var(--sp-6)}.row{gap:var(--sp-2)}.row,.spread{display:flex;align-items:center;flex-wrap:wrap}.spread{justify-content:space-between;gap:var(--sp-3)}.grid-2{grid-gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.grid-2,.grid-3{display:grid;gap:var(--sp-4)}.grid-3{grid-gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.grid-4{display:grid;grid-gap:var(--sp-3);gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}.card,.card-body,.card-pad,.grid-2>*,.grid-3>*,.grid-4>*,.page>*,.stack-lg>*,.stack>*{min-width:0}.w-form{max-width:var(--w-form);width:100%}.w-read{max-width:var(--w-read);width:100%}.btn{--btn-h:var(--btn-h-base);display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:var(--btn-h);max-width:100%;padding:var(--sp-2) var(--sp-4);border:1px solid transparent;border-radius:var(--r-btn);background:transparent;color:var(--text-1);font:var(--t-control);line-height:1.25;text-align:center;text-decoration:none;white-space:normal;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--dur-1) var(--ease-soft),border-color var(--dur-1) var(--ease-soft),color var(--dur-1) var(--ease-soft),box-shadow var(--dur-1) var(--ease-soft),transform var(--dur-1) var(--ease-soft)}.btn svg{flex:none}.btn-nowrap,.table .btn{white-space:nowrap}dd,dt{overflow-wrap:anywhere}.btn:active:not(:disabled):not([aria-disabled=true]){transform:translateY(1px)}.btn-primary{background:var(--red);color:var(--text-inverse)}.btn-primary:hover{background:var(--red-600);color:var(--text-inverse)}.btn-secondary{background:var(--surface);color:var(--text-1);border-color:var(--line-mid)}.btn-secondary:hover{background:var(--surface-hover);border-color:var(--line-strong);color:var(--text-1)}.btn-ghost{background:transparent;color:var(--text-2)}.btn-ghost:hover{background:var(--surface-sunken);color:var(--text-1)}.btn-danger{background:var(--surface);color:var(--danger-text);border-color:var(--danger-border)}.btn-danger:hover{background:var(--danger-bg);color:var(--danger-text)}.btn-danger-solid,.btn-danger-solid:hover{background:var(--danger-solid);color:var(--text-inverse)}.btn-danger-solid:hover{filter:brightness(.92)}.auth-wrap .btn-primary,.focus-app .btn-primary,.st-app .btn-primary{box-shadow:var(--edge-btn)}.auth-wrap .btn-primary:active:not(:disabled):not([aria-disabled=true]),.focus-app .btn-primary:active:not(:disabled):not([aria-disabled=true]),.st-app .btn-primary:active:not(:disabled):not([aria-disabled=true]){transform:translateY(2px);box-shadow:var(--edge-btn-pressed)}.auth-wrap .btn-primary:focus-visible,.focus-app .btn-primary:focus-visible,.st-app .btn-primary:focus-visible{box-shadow:var(--edge-btn),var(--focus-ring)}.auth-wrap .btn-primary:disabled,.focus-app .btn-primary:disabled,.focus-app .btn-primary[aria-disabled=true],.st-app .btn-primary:disabled,.st-app .btn-primary[aria-disabled=true]{box-shadow:none}.btn-link{min-height:36px;padding:0 var(--sp-0-5);border:0;background:none;color:var(--text-link);font-weight:700}.btn-link:hover{background:none;color:var(--red-700);text-decoration:underline}.btn-sm{--btn-h:36px;padding:0 var(--sp-3);font-size:var(--fs-14)}.btn-lg{--btn-h:54px;padding:0 var(--sp-5);font-size:var(--fs-16)}.btn-icon{width:var(--btn-h);padding:0}.btn-block{width:100%}.btn-wrap{white-space:normal;text-align:center;line-height:1.25;padding-block:var(--sp-2)}.btn:disabled,.btn[aria-disabled=true]{background:var(--surface-sunken);color:var(--text-4);border-color:var(--border);cursor:not-allowed;filter:none}.btn-ghost:disabled,.btn-ghost[aria-disabled=true],.btn-link:disabled,.btn-link[aria-disabled=true]{background:transparent;border-color:transparent}.btn.is-loading{cursor:progress}.btn.is-loading:before{content:"";flex:none;width:16px;height:16px;border:2px solid;border-right:2px solid transparent;border-radius:50%;animation:spin .7s linear infinite}.btn.is-loading>svg:first-child{display:none}.btn-primary.is-loading,.btn-primary.is-loading:disabled{background:var(--red-edge);color:var(--text-inverse);border-color:transparent}.btn-secondary.is-loading:disabled{background:var(--surface);color:var(--text-1);border-color:var(--line-mid)}.btn-danger-solid.is-loading:disabled{background:var(--danger-solid);color:var(--text-inverse);border-color:transparent}@media (pointer:coarse){.btn-sm{--btn-h:44px}.btn-link{min-height:44px}}@keyframes spin{to{transform:rotate(1turn)}}.spinner{display:inline-block;flex:none;width:24px;height:24px;border:2px solid;border-right:2px solid transparent;border-radius:50%;animation:spin .7s linear infinite}.field{display:grid;grid-gap:var(--sp-2);gap:var(--sp-2);align-content:start;min-width:0}.field-label,.field>label{font:var(--t-label);color:var(--text-1)}.field-optional{font-weight:400;color:var(--text-3)}.field-error{display:flex;align-items:flex-start;gap:6px;font:600 var(--fs-13) /1.45 var(--font-sans);color:var(--danger-text)}.field-error svg{flex:none;margin-top:1px}.field-row{display:grid;grid-gap:var(--sp-4);gap:var(--sp-4);grid-template-columns:minmax(0,1fr)}@media (min-width:640px){.field-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}}.field-count{justify-self:end;font-size:var(--fs-13);color:var(--text-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.field-count.is-over{color:var(--warning-text);font-weight:600}.st-app .form-stack{gap:var(--sp-5)}.form-stack{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:var(--sp-4);gap:var(--sp-4)}.input,.select,.textarea{width:100%;min-height:var(--field-h);padding:10px var(--sp-4);border:1px solid var(--line-strong);border-radius:var(--r-btn);background:var(--surface);color:var(--text-1);font:400 var(--fs-16) /1.4 var(--font-sans);transition:border-color var(--dur-1) var(--ease-soft),box-shadow var(--dur-1) var(--ease-soft)}.input::placeholder,.textarea::placeholder{color:var(--text-3);opacity:1}.input:hover,.select:hover,.textarea:hover{border-color:var(--border-hover)}.input:focus,.input:focus-visible,.select:focus,.select:focus-visible,.textarea:focus,.textarea:focus-visible{outline:2px solid transparent;border-color:var(--red);box-shadow:var(--focus-halo)}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--danger-text)}.input[aria-invalid=true]:focus,.select[aria-invalid=true]:focus,.textarea[aria-invalid=true]:focus{border-color:var(--danger-text);box-shadow:var(--focus-halo-danger)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--surface-sunken);color:var(--text-3);border-color:var(--border);cursor:not-allowed}.input[readonly],.textarea[readonly]{background:var(--surface-hover);border-color:var(--border)}.input-sm{min-height:36px;padding:6px 10px}@media (pointer:coarse){.input-sm{min-height:44px}}@media (min-width:1024px) and (pointer:fine){.input-sm{font-size:var(--fs-14)}}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:44px;background-image:linear-gradient(45deg,transparent 50%,var(--text-3) 50%),linear-gradient(135deg,var(--text-3) 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px;background-repeat:no-repeat}.select[multiple]{background-image:none;padding-right:var(--sp-4)}.textarea{min-height:120px;resize:vertical;line-height:1.55}input[type=search]::-webkit-search-cancel-button{display:none}.check,.checkbox{display:flex;align-items:flex-start;gap:var(--sp-3);min-height:44px;padding-block:11px;font:600 var(--fs-15) /1.4 var(--font-sans);color:var(--text-1);cursor:pointer}.checkbox{display:inline-flex;align-items:center;padding-block:0}.check input[type=checkbox],.check input[type=radio],.checkbox input[type=checkbox],.checkbox input[type=radio]{flex:none;width:20px;height:20px;margin:0;accent-color:var(--red);cursor:pointer}.check-text{display:grid;grid-gap:var(--sp-0-5);gap:var(--sp-0-5);min-width:0}.check .help{font-weight:400}fieldset{margin:0;padding:0;border:0;min-width:0}legend{padding:0;font:var(--t-label);color:var(--text-1)}.switch{position:relative;display:flex;align-items:center;gap:var(--sp-3);min-height:44px;cursor:pointer}.switch-text{flex:1 1;display:grid;grid-gap:var(--sp-0-5);gap:var(--sp-0-5);min-width:0}.switch-label{font:600 var(--fs-15) /1.4 var(--font-sans);color:var(--text-1)}.switch-control{position:relative;display:inline-flex;flex:none;width:40px;height:24px}.switch-control input{position:absolute;inset:-10px -2px;width:calc(100% + 4px);height:calc(100% + 20px);margin:0;opacity:0;cursor:pointer;z-index:var(--z-raised)}.switch-track{position:relative;width:40px;height:24px;border-radius:var(--r-pill);background:var(--line-strong);transition:background-color var(--dur-2) var(--ease-soft)}.switch-track:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--surface);box-shadow:var(--shadow-xs);transition:transform var(--dur-2) var(--ease-soft)}.switch-control input:checked+.switch-track{background:var(--red)}.switch-control input:checked+.switch-track:after{transform:translateX(16px)}.switch-control input:focus-visible{box-shadow:none}.switch-control input:focus-visible+.switch-track{box-shadow:var(--focus-ring)}.switch-control input:disabled{cursor:not-allowed}.switch-control input:disabled+.switch-track{background:var(--border)}.switch-control input:disabled+.switch-track:after{background:var(--surface-hover);box-shadow:none}.switch-state{flex:none}@media (max-width:639.98px){.switch{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-column-gap:var(--sp-3);column-gap:var(--sp-3);grid-row-gap:var(--sp-1);row-gap:var(--sp-1);align-items:center}.switch-text{display:contents}.switch-label{grid-column:1;grid-row:1}.switch-state{grid-column:2;grid-row:1}.switch-control{grid-column:3;grid-row:1}.switch .help{grid-column:1/-1;grid-row:2}}.search{position:relative;display:flex;align-items:center;min-width:0}.search .input{padding-left:44px;padding-right:44px}.search-icon{position:absolute;left:16px;display:inline-flex;color:var(--text-3);pointer-events:none}.search-clear{position:absolute;right:4px}.file-drop{position:relative;display:grid;justify-items:center;grid-gap:var(--sp-2);gap:var(--sp-2);padding:var(--sp-5);border:2px dashed var(--line-mid);border-radius:var(--r);background:var(--surface-sunken);text-align:center;transition:border-color var(--dur-1) var(--ease-standard),background-color var(--dur-1) var(--ease-standard)}.file-drop .help,.file-drop-hint,.file-drop>svg{color:var(--text-2)}.file-drop.is-drag{border-color:var(--red);background:var(--red-50)}.file-drop-input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.file-drop-input:focus-visible{box-shadow:none}.file-drop:has(.file-drop-input:focus-visible){box-shadow:var(--focus-ring)}.file-drop:hover .btn-secondary{background:var(--surface-hover);border-color:var(--line-strong)}.file-row{position:relative;z-index:var(--z-raised);display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--r-btn);background:var(--surface);text-align:left}.file-row>svg{flex:none;color:var(--text-3)}.file-row-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:var(--text-1)}.file-row-size{flex:none;font-size:var(--fs-13);color:var(--text-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (pointer:coarse){.file-drop-hint{display:none}}.segmented{display:inline-flex;justify-self:start;gap:var(--sp-0-5);max-width:100%;padding:var(--sp-1);border-radius:var(--r-btn);background:var(--surface-sunken);overflow-x:auto;scrollbar-width:none}.segmented::-webkit-scrollbar{display:none}.segmented>a,.segmented>button,.segmented>label{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:none;min-height:36px;padding:0 var(--sp-4);border:0;border-radius:calc(var(--r-btn) - var(--sp-1));background:none;color:var(--text-2);font:700 var(--fs-14) /1.2 var(--font-sans);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-2) var(--ease-soft),color var(--dur-1) var(--ease-soft),box-shadow var(--dur-2) var(--ease-soft)}.segmented>a:hover,.segmented>button:hover,.segmented>label:hover{color:var(--text-1)}.segmented>[aria-current=page],.segmented>[aria-pressed=true],.segmented>label:has(input:checked){background:var(--surface);color:var(--text-1);box-shadow:var(--shadow-xs),0 0 0 1px var(--border)}.segmented .tab-count{background:var(--surface)}.segmented>[aria-current=page] .tab-count{background:var(--surface-sunken)}.segmented input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.segmented input:focus-visible{box-shadow:none}.segmented>label:has(input:focus-visible){box-shadow:var(--focus-ring)}.segmented>[aria-current=page]:focus-visible,.segmented>[aria-pressed=true]:focus-visible,.segmented>a:focus-visible,.segmented>button:focus-visible{box-shadow:var(--focus-ring)}.segmented>label:has(input:checked):has(input:focus-visible){box-shadow:var(--focus-ring)}@media (pointer:coarse){.segmented>a,.segmented>button,.segmented>label{min-height:44px}}.tabs{display:flex;gap:var(--sp-1);border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs [role=tab],.tabs>a,.tabs>button{display:inline-flex;align-items:center;gap:6px;flex:none;min-height:44px;margin-bottom:-1px;padding:0 var(--sp-3);border:0;border-bottom:3px solid transparent;border-radius:var(--r-xs) var(--r-xs) 0 0;background:none;color:var(--text-3);font:700 var(--fs-15) /1.2 var(--font-sans);text-decoration:none;white-space:nowrap;cursor:pointer;transition:color var(--dur-1) var(--ease-soft),border-color var(--dur-1) var(--ease-soft),background-color var(--dur-1) var(--ease-soft)}.tabs [role=tab]:hover,.tabs>a:hover,.tabs>button:hover{color:var(--text-1);background:var(--surface-hover)}.tabs [aria-current=page],.tabs [aria-selected=true]{color:var(--text-1);border-bottom-color:var(--red)}.tabs a:focus-visible,.tabs button:focus-visible{box-shadow:inset 0 0 0 2px var(--focus-color)}.tab-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--r-pill);background:var(--surface-sunken);color:var(--text-2);font:700 var(--fs-12) /1 var(--font-sans);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@property --fade-start{syntax:"<length>";inherits:false;initial-value:0}@property --fade-end{syntax:"<length>";inherits:false;initial-value:0}@keyframes scroll-fade{0%{--fade-start:0px;--fade-end:32px}12%{--fade-start:32px}88%{--fade-end:32px}to{--fade-start:32px;--fade-end:0px}}@supports (animation-timeline:scroll()){.scroll-x-fade,.segmented,.stepper,.tabs{-webkit-mask-image:linear-gradient(90deg,transparent 0,var(--ink-900) var(--fade-start),var(--ink-900) calc(100% - var(--fade-end)),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,var(--ink-900) var(--fade-start),var(--ink-900) calc(100% - var(--fade-end)),transparent 100%);animation:scroll-fade linear both;animation-timeline:scroll(self inline)}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:none}.auth-wrap .card,.st-app .card{border-color:transparent;box-shadow:var(--shadow-card)}.card-pad{padding:var(--card-pad)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;padding:var(--sp-4) var(--card-pad);border-bottom:1px solid var(--border-subtle)}.card-title{font:var(--t-h3);color:var(--text-1);margin:0}.card-head>.btn,.card-head>.page-actions>.btn,.card-head>.row>.btn{margin-block:calc(-1 * var(--sp-2))}.card-head .btn-ghost{color:var(--text-1)}.card-sub{margin-top:var(--sp-0-5);font-size:var(--fs-13);line-height:1.45;color:var(--text-3)}.card-body{padding:var(--card-pad)}.card-foot{display:flex;justify-content:flex-end;align-items:center;gap:var(--sp-2);flex-wrap:wrap;padding:var(--sp-3) var(--card-pad);border-top:1px solid var(--border-subtle)}@media (max-width:639.98px){.card-foot>.btn{flex:1 1 100%}}.card-link,a.card{color:inherit;text-decoration:none;transition:border-color var(--dur-1) var(--ease-soft),box-shadow var(--dur-2) var(--ease-soft),transform var(--dur-2) var(--ease-soft)}.card-link:hover,a.card:hover{border-color:var(--line-strong);color:inherit}.card-link:focus-visible,a.card:focus-visible,a.stat:focus-visible{box-shadow:var(--shadow-card),var(--focus-ring)}.st-app .card-link:hover,.st-app a.card:hover{border-color:transparent;box-shadow:var(--shadow-md);transform:translateY(-1px)}.card-link{position:relative}.card-link .link-cover:after,.list-row .link-cover:after{content:"";position:absolute;inset:0;border-radius:inherit}.card-link .link-cover:focus-visible{box-shadow:none}.card-link:has(.link-cover:focus-visible){box-shadow:var(--focus-ring)}.card-link :where(a,button,input,select,textarea,label,summary):not(.link-cover){position:relative;z-index:var(--z-raised)}.card.is-locked{border:1px dashed var(--line-mid);background:var(--surface-page);box-shadow:none}.card.is-hero{border-left:4px solid var(--red)}.well{padding:var(--sp-4);border-radius:var(--r);background:var(--surface-sunken)}.well .card-sub,.well .help,.well .muted{color:var(--text-2)}.row-list{display:grid;margin:0;padding:0;list-style:none}.row-list>.list-row+.list-row,.row-list>li+li{border-top:1px solid var(--border-subtle)}.list-row{position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-3);min-height:56px;padding:var(--sp-3) var(--sp-4);color:inherit;text-decoration:none}.st-app .list-row{min-height:64px;padding:var(--sp-4) var(--sp-5)}.list-lead{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--tone-bg,var(--surface-sunken));color:var(--tone-fg,var(--text-2));font:700 var(--fs-14) /1 var(--font-alt);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.list-main{flex:1 1;display:grid;grid-gap:var(--sp-0-5);gap:var(--sp-0-5);min-width:0}.list-title{font:600 var(--fs-15) /1.35 var(--font-sans);color:var(--text-1);overflow-wrap:anywhere}.list-meta{font-size:var(--fs-13);line-height:1.45;color:var(--text-3);overflow-wrap:anywhere}.list-trail{flex:none;display:flex;align-items:center;gap:var(--sp-2);margin-left:auto}.list-chevron{flex:none;color:var(--text-4)}a.list-row{transition:background-color var(--dur-1) var(--ease-soft)}a.list-row:hover{background:var(--surface-hover);color:inherit}a.list-row:hover .list-chevron{color:var(--text-3)}a.list-row:focus-visible{box-shadow:inset 0 0 0 2px var(--focus-color)}.list-row.is-locked .list-title{color:var(--text-3)}.list-row.is-current .list-lead{background:var(--red);color:var(--text-inverse)}@media (max-width:639.98px){.list-trail{flex-basis:100%;margin-left:0}.list-lead~.list-trail{padding-left:52px}.list-chevron{display:none}}.table-wrap{position:relative;overflow-x:auto;border:1px solid var(--border);border-radius:var(--r);background:var(--surface)}.card .table-wrap{border:0;border-radius:0}.card>.table-wrap:first-child{border-top-left-radius:calc(var(--r-lg) - 1px);border-top-right-radius:calc(var(--r-lg) - 1px)}.card>.table-wrap:last-child{border-bottom-left-radius:calc(var(--r-lg) - 1px);border-bottom-right-radius:calc(var(--r-lg) - 1px)}.table-wrap-scroll{max-height:min(70vh,720px);overflow:auto}.table{width:100%;border-collapse:collapse;font:var(--t-body-sm);line-height:1.45;color:var(--text-2)}.table td,.table th{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border-subtle);text-align:left;vertical-align:middle}.table td{height:52px}.table th{height:40px;padding-block:10px;border-bottom-color:var(--border);background:var(--surface-hover);color:var(--text-3);font:600 var(--fs-13) /1.3 var(--font-sans);white-space:nowrap}.table tbody tr:last-child td{border-bottom:0}.table td.num,.table th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table .cell-main{color:var(--text-1)}.cell-main a,.cell-main b,.cell-main strong{color:var(--text-1);font-weight:600;text-decoration:none;overflow-wrap:anywhere}.cell-main a:hover{color:var(--text-1);text-decoration:underline}.cell-main small,.cell-sub{display:block;font-size:var(--fs-13);color:var(--text-3);overflow-wrap:anywhere}.table .cell-actions{text-align:right;white-space:nowrap}.cell-actions .row{justify-content:flex-end;flex-wrap:nowrap}.table tr.is-clickable:hover td,.table-hover tbody tr:hover td{background:var(--surface-hover)}.th-sort{display:inline-flex;align-items:center;min-height:36px;gap:var(--sp-1);padding:0;border:0;background:none;color:inherit;font:inherit;text-decoration:none;cursor:pointer}.th-sort:hover,th[aria-sort=ascending] .th-sort,th[aria-sort=descending] .th-sort{color:var(--text-1)}.table th:has(.th-sort){padding-block:2px}@media (pointer:coarse){.th-sort{min-height:44px}}.table-sticky thead th{position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-sticky)}@media (min-width:640px){.table-sticky-first tbody td:first-child,.table-sticky-first thead th:first-child{position:-webkit-sticky;position:sticky;left:0;z-index:var(--z-raised);box-shadow:1px 0 0 var(--border-subtle)}.table-sticky-first tbody td:first-child{background:var(--surface)}.table-sticky-first thead th:first-child,.table-sticky-first.table-hover tbody tr:hover td:first-child{background:var(--surface-hover)}}.table-compact td,.table-compact th{height:40px;padding:var(--sp-2) var(--sp-3)}@media (max-width:639.98px){.hide-below-tablet{display:none!important}}@media (max-width:1023.98px){.hide-below-desktop{display:none!important}}.sf-app .row-list a:not(.btn):not(.list-row),.sf-app .table a:not(.btn){color:var(--text-1);font-weight:600;text-decoration:none}.sf-app .row-list a:not(.btn):not(.list-row):hover,.sf-app .table a:not(.btn):hover{color:var(--text-1);text-decoration:underline}@media (max-width:639.98px){.table-stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.table-stack,.table-stack tbody,.table-stack td,.table-stack tr{display:block}.table-stack tr{position:relative;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border-subtle)}.table-stack tbody tr:last-child{border-bottom:0}.table-stack td{display:grid;grid-template-columns:112px minmax(0,1fr);grid-gap:var(--sp-2);gap:var(--sp-2);height:auto;padding:var(--sp-1) 0;border:0;text-align:left;justify-items:start}.table-stack td>.progress,.table-stack td>.progress-row{justify-self:stretch}.table-stack td.num{text-align:left}.table-stack td:before{content:attr(data-label);font:var(--t-caption);color:var(--text-3)}.table-stack td.cell-main{display:block;padding-bottom:var(--sp-2)}.table-stack td.cell-actions:before,.table-stack td.cell-main:before{content:none}.table-stack td.cell-actions{display:flex;gap:var(--sp-2);padding-top:var(--sp-2);white-space:normal}.table-stack .cell-actions .row,.table-stack td.cell-actions{justify-content:flex-start;flex-wrap:wrap}.table-stack .link-cover:after{content:"";position:absolute;inset:0}.table-stack .link-cover:focus-visible{box-shadow:none}.table-stack tr:has(.link-cover:focus-visible){box-shadow:inset 0 0 0 2px var(--focus-color)}.table-stack tr:has(.link-cover):hover{background:var(--surface-hover)}.table-stack tr :where(a,button,input,select,label):not(.link-cover){position:relative;z-index:var(--z-raised)}.table-stack td.cell-menu{position:absolute;top:var(--sp-2);right:var(--sp-2);display:block;padding:0}.table-stack td.cell-menu:before{content:none}.table-stack tr:has(.cell-menu) td.cell-main{padding-right:48px}}.badge{display:inline-flex;align-items:center;gap:var(--sp-1);min-height:24px;padding:1px var(--sp-2);border:1px solid transparent;border-radius:var(--r-pill);background:var(--gray-100);color:var(--text-2);font:var(--t-badge);letter-spacing:.01em;white-space:normal;overflow-wrap:anywhere;vertical-align:middle;max-width:100%}.badge svg{flex:none;width:16px;height:16px}.badge-green,.badge-success{background:var(--success-bg);color:var(--success-text)}.badge-amber,.badge-warning{background:var(--warning-bg);color:var(--warning-text)}.badge-danger{background:var(--danger-bg);color:var(--danger-text)}.badge-blue,.badge-info{background:var(--surface);border-color:var(--border);color:var(--text-2)}.badge-brand,.badge-red{background:var(--red-50);color:var(--red-700)}.badge-locked{background:var(--surface);border:1px dashed var(--line-strong);color:var(--text-2)}.badge-xp{background:var(--xp-bg);color:var(--xp-text)}.badge-ok{background:var(--ok-bg);color:var(--ok-text)}.badge-almost{background:var(--almost-bg);color:var(--almost-text)}.badge-tone{background:var(--tone-bg,var(--surface-sunken));color:var(--tone-fg,var(--text-2))}.badge-dot{flex:none;width:6px;height:6px;border-radius:50%;background:currentColor}.tag{display:inline-flex;align-items:center;gap:var(--sp-1);height:24px;padding:0 var(--sp-2);border-radius:var(--r-xs);background:var(--surface-sunken);color:var(--text-2);font:700 var(--fs-12) /1 var(--font-sans);white-space:nowrap;vertical-align:middle}.tag svg{flex:none;width:16px;height:16px}.level-chip{display:inline-grid;place-items:center;min-width:40px;height:28px;padding:0 var(--sp-2);border:1px solid transparent;border-radius:var(--r-sm);background:var(--red);color:var(--text-inverse);font:800 var(--fs-14) /1 var(--font-alt);white-space:nowrap;vertical-align:middle}.sf-app .level-chip{background:var(--surface-sunken);color:var(--text-1)}.level-chip.is-soft{background:var(--red-50);color:var(--red-700)}.level-chip.is-quiet{background:var(--surface-sunken);color:var(--text-1)}.level-chip.is-review{background:var(--surface);border-color:var(--border);color:var(--text-2)}.level-chip.is-locked{background:var(--surface);border:1px dashed var(--line-strong);color:var(--text-3)}.level-chip-sm{height:24px;min-width:32px;padding:0 var(--sp-2);border-radius:var(--r-xs);font-size:var(--fs-12)}.level-chip-lg{height:36px;min-width:48px;padding:0 var(--sp-3);font-size:var(--fs-16)}.avatar{flex:none;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--surface-sunken);color:var(--text-2);font:700 min(var(--fs-14),18px) /1 var(--font-alt);letter-spacing:.02em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.avatar-sm{width:32px;height:32px;font-size:min(var(--fs-12),15px)}.avatar-lg{width:64px;height:64px;font-size:min(var(--fs-24),30px)}.avatar-ink{background:var(--surface-inverse);color:var(--on-inverse)}.avatar-btn{display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:none;cursor:pointer}.avatar-btn.is-active{background:var(--surface-sunken)}.avatar-btn.is-active .avatar{width:36px;height:36px}.tone-grammar{--tone-fg:var(--tone-grammar-fg);--tone-bg:var(--tone-grammar-bg)}.tone-vocab{--tone-fg:var(--tone-vocab-fg);--tone-bg:var(--tone-vocab-bg)}.tone-listening{--tone-fg:var(--tone-listening-fg);--tone-bg:var(--tone-listening-bg)}.tone-reading{--tone-fg:var(--tone-reading-fg);--tone-bg:var(--tone-reading-bg)}.tone-speaking{--tone-fg:var(--tone-speaking-fg);--tone-bg:var(--tone-speaking-bg)}.tone-writing{--tone-fg:var(--tone-writing-fg);--tone-bg:var(--tone-writing-bg)}.tone-neutral{--tone-fg:var(--text-2);--tone-bg:var(--surface-sunken)}.tone-box{flex:none;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:var(--r-btn);background:var(--tone-bg,var(--surface-sunken));color:var(--tone-fg,var(--text-2))}.tone-box-sm{width:32px;height:32px;border-radius:var(--r-sm)}.tone-box-lg{width:48px;height:48px;border-radius:var(--r)}.tone-chip{display:inline-flex;align-items:center;gap:var(--sp-1);height:28px;padding:0 var(--sp-3) 0 var(--sp-2);border-radius:var(--r-pill);background:var(--tone-bg,var(--surface-sunken));color:var(--tone-fg,var(--text-2));font:700 var(--fs-13) /1 var(--font-sans);white-space:nowrap}.tone-chip svg{flex:none;color:inherit}.tone-ico.tone-ico svg{color:var(--tone-fg,currentColor)}.stat-grid{display:grid;grid-gap:var(--sp-3);gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}.st-app .stat-grid{gap:var(--sp-4)}@media (min-width:640px) and (max-width:1023.98px){.stat-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr))}}@media (max-width:639.98px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}}.stat{position:relative;display:grid;align-content:start;grid-gap:var(--sp-1);gap:var(--sp-1);min-width:0;padding:var(--sp-4) var(--sp-5);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);color:inherit;text-decoration:none}.st-app .stat{border-color:transparent;box-shadow:var(--shadow-card)}@media (max-width:639.98px){.stat{padding:var(--sp-3) var(--sp-4)}}.stat-label{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);font:600 var(--fs-13) /1.35 var(--font-sans);color:var(--text-3)}.stat-label-text{display:inline-flex;align-items:center;gap:6px;min-width:0;overflow-wrap:anywhere}.stat-label>svg{flex:none;color:var(--text-4)}.stat-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--warning-text)}.stat-value{font:var(--t-num);letter-spacing:-.01em;color:var(--text-1);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.stat-value.is-text{font:700 var(--fs-18) /1.3 var(--font-sans);letter-spacing:0}@media (max-width:1023.98px){.stat .stat-label{min-height:calc(var(--fs-13) * 1.35 * 2);align-items:flex-start}}.stat-unit{margin-left:var(--sp-1);font:600 var(--fs-14) /1 var(--font-sans);letter-spacing:0;color:var(--text-3)}.stat-hint{font-size:var(--fs-13);line-height:1.45;color:var(--text-3)}.stat-delta{display:inline-flex;align-items:center;gap:var(--sp-1);font:600 var(--fs-13) /1.3 var(--font-sans)}.stat-delta.is-success{color:var(--success-text)}.stat-delta.is-danger{color:var(--danger-text)}.stat-go{position:absolute;right:var(--sp-4);top:var(--sp-4);color:var(--text-4)}.stat-main{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-3);min-width:0}.stat-spark{flex:none;padding-bottom:4px}a.stat>.stat-label{padding-right:var(--sp-6)}a.stat{transition:border-color var(--dur-1) var(--ease-soft),box-shadow var(--dur-2) var(--ease-soft),transform var(--dur-2) var(--ease-soft)}a.stat:hover{border-color:var(--line-strong);color:inherit}.st-app a.stat:hover{border-color:transparent;box-shadow:var(--shadow-md);transform:translateY(-1px)}a.stat:hover .stat-go{color:var(--text-3)}.stat.is-attention{border-color:var(--warning-border)}.progress{min-width:0;height:10px;border-radius:var(--r-pill);background:var(--border);overflow:hidden}.progress>span{display:block;width:100%;height:100%;border-radius:inherit;background:var(--red);transform:translateX(calc((var(--p, 100) - 100) * 1%));transition:transform var(--dur-3) var(--ease-soft)}.progress-sm{height:6px}.progress-lg{height:14px}.progress.is-green>span{background:var(--ok)}.progress.is-neutral>span{background:var(--accent-ink)}.progress-row{display:flex;align-items:center;gap:var(--sp-3);min-width:0}.progress-row .progress{flex:1 1}.progress-meta{flex:none;font-size:var(--fs-13);color:var(--text-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ring{position:relative;display:inline-grid;place-items:center;flex:none}.ring svg{display:block;transform:rotate(-90deg)}.ring-track{stroke:var(--surface-sunken)}.ring-fill{stroke:var(--red);transition:stroke-dashoffset var(--dur-3) var(--ease-soft)}.ring-value{position:absolute;font:700 var(--fs-14) /1 var(--font-alt);color:var(--text-1);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ring-40 .ring-value{font-size:var(--fs-12)}.ring-96 .ring-value{font-size:var(--fs-24)}.steps{flex:1 1;display:flex;align-items:center;gap:var(--sp-1);min-width:0}.steps>span{flex:1 1;height:10px;border-radius:var(--r-pill);background:var(--border);transition:background-color var(--dur-2) var(--ease-soft)}.steps>span.is-done{background:var(--red)}.steps>span.is-current{background:var(--red-100)}.steps.is-continuous{display:block;height:10px;border-radius:var(--r-pill);background:var(--border);overflow:hidden}.steps.is-continuous>span{display:block;width:100%;height:100%;border-radius:inherit;background:var(--red);transform:translateX(calc((var(--p, 100) - 100) * 1%));transition:transform var(--dur-3) var(--ease-soft)}.steps-text{flex:0 1 auto;min-width:0;max-width:60%;overflow:hidden;text-overflow:ellipsis;font:600 var(--fs-13) /1.2 var(--font-sans);color:var(--text-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.stepper{display:flex;gap:var(--sp-2);margin:0;padding:0;list-style:none;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.stepper::-webkit-scrollbar{display:none}.stepper>li{flex:none;display:inline-flex;align-items:center;gap:var(--sp-2);height:36px;padding:0 var(--sp-3) 0 6px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--text-3);font:600 var(--fs-14) /1 var(--font-sans);white-space:nowrap}.stepper-num{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--surface-sunken);color:var(--text-2);font:700 var(--fs-12) /1 var(--font-alt)}@media (max-width:639.98px){.stepper>li:not([aria-current=step]):has(>.stepper-label){padding-right:6px}.stepper>li:not([aria-current=step])>.stepper-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}.stepper>li.is-done{color:var(--ok-text)}.stepper>li.is-done .stepper-num{background:var(--ok-bg);color:var(--ok-text)}.stepper>li[aria-current=step]{border-color:var(--red-100);background:var(--red-50);color:var(--red-700)}.stepper>li[aria-current=step] .stepper-num{background:var(--surface);color:var(--red-700)}.empty,.error-state{display:grid;justify-items:center;grid-gap:var(--sp-3);gap:var(--sp-3);padding:var(--sp-10) var(--sp-5);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);text-align:center}.st-app .empty,.st-app .error-state{border-color:transparent;box-shadow:var(--shadow-card)}.card .empty,.card .error-state,.empty-compact{border:0;background:none;box-shadow:none}.empty .icon,.error-state .icon{display:grid;place-items:center;width:56px;height:56px;border-radius:var(--r-lg);background:var(--surface-sunken);color:var(--text-3)}.empty.is-success .icon{background:var(--ok-bg);color:var(--ok-text)}.error-state .icon{background:var(--danger-bg);color:var(--danger-text)}.empty h2,.empty h3,.empty-title,.error-state h1,.error-state h2{font:700 var(--fs-18) /1.35 var(--font-sans);letter-spacing:0;color:var(--text-1)}.empty p,.error-state p{max-width:52ch;font-size:var(--fs-15);color:var(--text-3)}.empty .row,.error-state .row{justify-content:center}.empty-compact{padding:var(--sp-5) var(--sp-4);gap:var(--sp-2)}.empty-compact .icon{width:40px;height:40px}.empty-compact .empty-title,.empty-compact h2,.empty-compact h3{font:600 var(--fs-15) /1.35 var(--font-sans)}.empty-compact p{font-size:var(--fs-14)}.error-digest{font:var(--t-code);color:var(--text-3)}.skeleton{position:relative;display:block;overflow:hidden;border-radius:var(--r-sm);background:var(--surface-sunken)}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,var(--skeleton-shine),transparent);animation:shimmer 1.4s linear infinite}.skeleton-line{height:12px;border-radius:var(--r-pill)}.skeleton-title{height:20px;width:40%}.skeleton-circle{border-radius:50%}.skeleton-card{height:120px;border-radius:var(--r-lg)}.skeleton-text{display:grid;grid-gap:var(--sp-2);gap:var(--sp-2)}.skeleton-text>.skeleton-line:nth-child(4n+1){width:100%}.skeleton-text>.skeleton-line:nth-child(4n+2){width:80%}.skeleton-text>.skeleton-line:nth-child(4n+3){width:60%}.skeleton-text>.skeleton-line:nth-child(4n){width:40%}.skeleton-box{padding:var(--card-pad);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);display:grid;grid-gap:var(--sp-3);gap:var(--sp-3)}.skeleton-page{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:var(--gap-section);gap:var(--gap-section)}.skeleton-stack{display:grid;grid-gap:10px;gap:10px}.skeleton-form{gap:var(--sp-5)}.skeleton-rows{gap:0;padding:0}.skeleton-row{display:flex;align-items:center;gap:var(--sp-3);padding:14px var(--sp-4)}.skeleton-row+.skeleton-row{border-top:1px solid var(--border-subtle)}.skeleton-row-main{flex:1 1;display:grid;grid-gap:6px;gap:6px}.st-app .skeleton-box{border-color:transparent;box-shadow:var(--shadow-card)}.skeleton-stack-lg{display:grid;grid-gap:var(--sp-4);gap:var(--sp-4)}.skeleton-entity{display:flex;align-items:center;gap:var(--sp-4)}.skeleton-entity>.skeleton-stack{flex:1 1;min-width:0}.skeleton-tabs{display:flex;align-items:center;gap:var(--sp-6);min-height:44px;border-bottom:1px solid var(--border)}.skeleton-split{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:var(--sp-4);gap:var(--sp-4);align-items:start}@media (min-width:640px){.skeleton-split.is-1-1{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.skeleton-split.is-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-6)}.skeleton-split.is-2-1{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--sp-6)}.skeleton-split.is-list{grid-template-columns:340px minmax(0,1fr)}.skeleton-split.is-settings{grid-template-columns:280px minmax(0,1fr);gap:var(--sp-8)}}@keyframes shimmer{to{transform:translateX(100%)}}.alert{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border:1px solid var(--info-border);border-radius:var(--r);background:var(--info-bg);color:var(--text-2);font-size:var(--fs-14);line-height:1.5}.alert>svg{flex:none;margin-top:1px;color:var(--info-icon)}.alert-body{flex:1 1;display:grid;grid-gap:var(--sp-1);gap:var(--sp-1);min-width:0}.alert-title{font:600 var(--fs-15) /1.4 var(--font-sans);color:var(--text-1)}.alert-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-1)}.alert-close{flex:none;margin:-6px -8px -6px 0}.alert .help,.alert .muted{color:var(--text-2)}.alert-success{background:var(--success-bg);border-color:var(--success-border)}.alert-success>svg{color:var(--success-text)}.alert-warning{background:var(--warning-bg);border-color:var(--warning-border)}.alert-warning>svg{color:var(--warning-text)}.alert-danger{background:var(--danger-bg);border-color:var(--danger-border)}.alert-danger>svg{color:var(--danger-text)}.alert-tip{background:var(--surface-sunken);border-color:transparent}.alert-tip>svg{color:var(--text-2)}.alert:focus{outline:none}.alert:focus-visible{box-shadow:var(--focus-ring)}.form-error,.form-ok{display:flex;align-items:flex-start;gap:var(--sp-2);padding:10px var(--sp-3);border:1px solid var(--danger-border);border-radius:var(--r-btn);background:var(--danger-bg);color:var(--text-1);font:600 var(--fs-14) /1.45 var(--font-sans)}.form-ok{border-color:var(--success-border);background:var(--success-bg)}.form-error:before,.form-ok:before{content:"";flex:none;width:18px;height:18px;margin-top:1px;background:currentColor;-webkit-mask:var(--mask-icon) center /contain no-repeat;mask:var(--mask-icon) center /contain no-repeat}.form-error:before{color:var(--danger-text);--mask-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.75'/%3E%3Cpath d='M9.25 9.25l5.5 5.5M14.75 9.25l-5.5 5.5'/%3E%3C/svg%3E")}.form-ok:before{color:var(--success-text);--mask-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.75'/%3E%3Cpath d='M8.5 12.25l2.5 2.5 4.5-5'/%3E%3C/svg%3E")}.page-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--sp-3) var(--sp-4)}.page-head-top{flex:1 1 100%;min-width:0;margin-bottom:calc(-1 * var(--sp-3))}.page-head-main{flex:1 1 320px;min-width:0}.page-head .label{display:block;margin-bottom:6px}.page-head .sub,.sub{max-width:var(--measure);margin-top:var(--sp-1);font-size:var(--fs-15);color:var(--text-3)}.page-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin-top:var(--sp-2)}.page-head .sub,.page-head h1,.page-meta>*{overflow-wrap:anywhere;min-width:0}.page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}@media (max-width:639.98px){.page-actions{width:100%}.page-actions>.btn:not(.btn-icon){flex:1 1;min-width:-moz-fit-content;min-width:fit-content}}.crumbs ol{display:flex;flex-wrap:wrap;margin:0 0 var(--sp-2);padding:0;list-style:none;font:600 var(--fs-13) /1.3 var(--font-sans)}.crumbs li,.crumbs ol{align-items:center;gap:var(--sp-1)}.crumbs li{display:inline-flex;min-width:0}.crumbs a{display:inline-flex;align-items:center;min-height:36px;margin-block:-10px;color:var(--text-3);text-decoration:none}@media (pointer:coarse){.crumbs a{min-height:44px;margin-block:-14px}}.crumbs a:hover{color:var(--text-1);text-decoration:underline}.crumbs [aria-current=page]{color:var(--text-2)}.crumb-sep{display:inline-flex;color:var(--text-4)}.crumbs .crumbs-back{display:none}.back-link{display:inline-flex;align-items:center;gap:6px;min-height:36px;margin-bottom:var(--sp-1);color:var(--text-2);font:600 var(--fs-14) /1.2 var(--font-sans);text-decoration:none}.back-link:hover{color:var(--text-1);text-decoration:underline}@media (pointer:coarse){.back-link{min-height:44px}}@media (max-width:639.98px){.crumbs ol{display:none}.crumbs .crumbs-back{display:inline-flex}}.filter-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--sp-3)}.filter-bar .search{flex:1 1 240px;max-width:360px}.filter-selects{display:contents}.filter-selects .field{flex:0 1 200px;min-width:160px}.filter-bar-actions{display:flex;align-items:center;gap:var(--sp-2)}.filter-toggle{display:none}.filter-bar-trail{margin-left:auto;min-height:44px}.filter-bar-trail,.filter-foot{display:flex;align-items:center;gap:var(--sp-2)}.filter-foot{flex-wrap:wrap}.filter-result{font-size:var(--fs-13);color:var(--text-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chip-filter{display:inline-flex;align-items:center;gap:var(--sp-1);min-height:36px;padding:0 6px 0 var(--sp-3);border:1px solid var(--line-mid);border-radius:var(--r-pill);background:var(--surface);color:var(--text-2);font:700 var(--fs-13) /1.2 var(--font-sans);text-decoration:none;transition:border-color var(--dur-1) var(--ease-soft),color var(--dur-1) var(--ease-soft)}.chip-filter svg{flex:none;color:var(--text-3)}.chip-filter:hover{border-color:var(--line-strong);color:var(--text-1)}@media (pointer:coarse){.chip-filter{min-height:44px}}@media (max-width:639.98px){.filter-bar{align-items:center}.filter-bar .search{flex:1 1 100%;max-width:none}}@media (max-width:639.98px) and (scripting:enabled){.filter-bar:has(.filter-toggle) .filter-selects{display:none}.filter-bar .filter-toggle{display:inline-flex}.filter-bar .filter-bar-actions:not(:has(>:not(noscript))){display:none}}.pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-3)}.pager-info{font-size:var(--fs-13);color:var(--text-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pager-list{display:flex;align-items:center;gap:var(--sp-1);margin:0;padding:0;list-style:none}.pager-list .pager-gap,.pager-list .pager-off,.pager-list a{display:inline-grid;place-items:center;min-width:36px;height:36px;padding:0 var(--sp-2);border-radius:var(--r-btn);color:var(--text-2);font:600 var(--fs-14) /1 var(--font-sans);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-decoration:none}.pager-list a:hover,.pager-list a[aria-current=page]{background:var(--surface-sunken);color:var(--text-1)}.pager-list .pager-off{color:var(--text-4)}.pager-list .pager-step{display:inline-flex;align-items:center;gap:var(--sp-1);padding:0 var(--sp-3)}.pager-mobile{display:none;font-size:var(--fs-14);color:var(--text-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (pointer:coarse){.pager-list .pager-gap,.pager-list .pager-off,.pager-list a{min-width:44px;height:44px}}@media (max-width:639.98px){.pager{justify-content:center}.pager-info,.pager-list .pager-gap,.pager-list .pager-num{display:none}.pager-mobile{display:inline;padding:0 var(--sp-2)}.pager-list .pager-off,.pager-list a{height:44px}}.action-stack{display:grid;justify-items:start;grid-gap:var(--sp-2);gap:var(--sp-2)}.action-stack>*{max-width:100%}.confirm{display:grid;grid-gap:var(--sp-3);gap:var(--sp-3);max-width:var(--w-narrow);padding:var(--sp-4);border:1px solid var(--danger-border);border-radius:var(--r);background:var(--danger-bg)}.confirm-neutral{border-color:var(--border);background:var(--surface-sunken)}.confirm-q,.confirm>p{font:600 var(--fs-15) /1.4 var(--font-sans);color:var(--text-1)}.confirm-c{font-size:var(--fs-14);color:var(--text-2)}.confirm:focus{outline:none;box-shadow:none}.confirm:focus-visible{box-shadow:var(--focus-ring)}.toasts{position:fixed;z-index:var(--z-toast);left:50%;bottom:calc(var(--sp-4) + env(safe-area-inset-bottom, 0px));display:grid;grid-gap:var(--sp-2);gap:var(--sp-2);width:min(420px,calc(100vw - 32px));transform:translateX(-50%);pointer-events:none}.st-app .toasts{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom, 0px) + var(--sp-3))}.focus-app .toasts{bottom:calc(var(--action-bar-h) + env(safe-area-inset-bottom, 0px) + var(--sp-3))}@media (min-width:640px){.focus-app .toasts,.toasts{left:auto;right:var(--sp-6);bottom:var(--sp-6);transform:none}}@media (min-width:1024px){.st-app .toasts{bottom:var(--sp-6)}}.toast{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-4);min-height:48px;border-radius:var(--r);background:var(--surface-inverse);color:var(--on-inverse);font:600 var(--fs-14) /1.4 var(--font-sans);box-shadow:var(--shadow-lg);pointer-events:none;animation:toast-in var(--dur-2) var(--ease-out)}.toast .btn{pointer-events:auto}.toast>svg{flex:none}.toast-text{flex:1 1;min-width:0;padding-block:var(--sp-1)}.toast .btn-link{text-decoration:underline}.toast .btn-link,.toast .btn-link:hover,.toast-close,.toast-close:hover{color:var(--on-inverse)}.toast-close:hover{background:var(--surface-inverse-hover)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.menu-wrap{position:relative;display:inline-flex}.menu{position:absolute;z-index:var(--z-dropdown);top:calc(100% + 6px);display:grid;grid-gap:var(--sp-0-5);gap:var(--sp-0-5);min-width:220px;max-width:280px;padding:6px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface-raised);box-shadow:var(--shadow-lg);animation:menu-in var(--dur-2) var(--ease-out)}.menu.is-end{right:0}.menu.is-start{left:0}.menu.is-up{top:auto;bottom:calc(100% + 6px)}.menu.is-right{top:auto;bottom:0;left:calc(100% + 8px)}.menu-label{display:grid;grid-gap:var(--sp-0-5);gap:var(--sp-0-5);margin-bottom:var(--sp-1);padding:var(--sp-2) 10px 10px;border-bottom:1px solid var(--border-subtle);font-size:var(--fs-13);line-height:1.35;color:var(--text-3)}.menu-label b{font:700 var(--fs-14) /1.35 var(--font-sans);color:var(--text-1)}.menu-label b,.menu-label span{overflow-wrap:anywhere}.menu-item{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:0 10px;border:0;border-radius:var(--r-sm);background:none;color:var(--text-2);font:600 var(--fs-14) /1.3 var(--font-sans);text-align:left;text-decoration:none;cursor:pointer}.menu-item svg{flex:none;color:var(--text-3)}.menu-item:focus-visible,.menu-item:hover{background:var(--surface-hover);color:var(--text-1)}.menu-item:focus-visible{box-shadow:inset 0 0 0 2px var(--focus-color)}.menu-item.is-danger,.menu-item.is-danger svg{color:var(--danger-text)}.menu-sep{height:1px;margin:6px 0;border:0;background:var(--border-subtle)}.menu form{margin:0}.menu-theme{display:grid;grid-gap:var(--sp-1);gap:var(--sp-1);padding:var(--sp-1) 10px var(--sp-2)}.menu-theme-title{font:var(--t-overline);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.menu-theme-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--sp-0-5);gap:var(--sp-0-5);padding:var(--sp-0-5);border-radius:var(--r-sm);background:var(--surface-sunken)}.menu-theme-opt{min-height:36px;padding:0 var(--sp-2);border:0;border-radius:calc(var(--r-sm) - 2px);background:none;color:var(--text-2);font:700 var(--fs-13) /1.2 var(--font-sans);cursor:pointer}.menu-theme-opt:hover{color:var(--text-1)}.menu-theme-opt[aria-checked=true]{background:var(--surface);color:var(--text-1);box-shadow:var(--shadow-xs),0 0 0 1px var(--border)}.menu-theme-opt:focus-visible{box-shadow:var(--focus-ring)}@media (pointer:coarse){.menu-theme-opt{min-height:44px}}.sf-drawer-theme{display:grid;grid-gap:var(--sp-1);gap:var(--sp-1);padding:var(--sp-2) 10px}.sf-drawer-theme>span{font:var(--t-overline);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.sf-drawer-theme .segmented{justify-self:stretch}.sf-drawer-theme .segmented>label{flex:1 1}@media (pointer:coarse){.menu-item{min-height:44px}}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)}}dialog.drawer{max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--surface);color:var(--text-2);box-shadow:var(--shadow-xl)}dialog.drawer[open]{display:flex;flex-direction:column}dialog.drawer::-webkit-backdrop{background:var(--scrim)}dialog.drawer::backdrop{background:var(--scrim)}.drawer-left{inset:0 auto 0 0;width:min(320px,86vw);border-radius:0 var(--r-lg) var(--r-lg) 0;padding-top:env(safe-area-inset-top,0)}.drawer-left,.drawer-right{position:fixed;height:100dvh}.drawer-right{inset:0 0 0 auto;width:min(480px,100vw);border-radius:var(--r-lg) 0 0 var(--r-lg)}.sheet{position:fixed;inset:auto 0 0 0;width:100%;max-height:85dvh;border-radius:var(--r-sheet) var(--r-sheet) 0 0;padding-bottom:env(safe-area-inset-bottom,0);box-shadow:var(--shadow-sheet)}dialog.drawer-left[open]{animation:drawer-left-in var(--dur-3) var(--ease-out)}dialog.drawer-right[open]{animation:drawer-right-in var(--dur-3) var(--ease-out)}dialog.sheet[open]{animation:sheet-in var(--dur-3) var(--ease-out)}@keyframes drawer-left-in{0%{transform:translateX(-100%)}}@keyframes drawer-right-in{0%{transform:translateX(100%)}}@keyframes sheet-in{0%{transform:translateY(100%)}}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);min-height:56px;padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-5);border-bottom:1px solid var(--border-subtle)}.drawer-head h2{font:700 var(--fs-18) /1.35 var(--font-sans);letter-spacing:0}.drawer-body{flex:1 1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:var(--sp-4) var(--sp-5)}.drawer-foot{display:flex;flex-wrap:wrap;gap:var(--sp-2);padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border-subtle);background:var(--surface)}@media (max-width:639.98px){.drawer-foot>.btn{flex:1 1 100%}}.dl{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:var(--sp-0-5);gap:var(--sp-0-5);margin:0}.dl dt{color:var(--text-3)}.dl dd,.dl dt{font-size:var(--fs-14)}.dl dd{min-width:0;margin:0 0 var(--sp-2);color:var(--text-1);overflow-wrap:anywhere}@media (min-width:640px){.dl{grid-template-columns:minmax(120px,max-content) minmax(0,1fr);gap:var(--sp-2) var(--sp-4)}.dl dd{margin:0}}.code{border:1px solid var(--border-subtle);border-radius:var(--r-xs);background:var(--surface-sunken);font:var(--t-code);overflow-wrap:anywhere}.code,kbd{padding:1px 6px;color:var(--text-1)}kbd{border:solid var(--border);border-width:1px 1px 2px;border-radius:var(--r-xs);background:var(--surface);font:600 var(--fs-12) /1.4 var(--font-sans)}.divider{height:1px;margin:var(--sp-4) 0;border:0;background:var(--border)}.disclosure>summary{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:36px;color:var(--text-2);font:600 var(--fs-14) /1.3 var(--font-sans);cursor:pointer;list-style:none}.disclosure>summary::-webkit-details-marker{display:none}.disclosure>summary>svg:first-child{flex:none;color:var(--text-3);transition:transform var(--dur-2) var(--ease-standard)}.disclosure[open]>summary>svg:first-child{transform:rotate(90deg)}.disclosure>summary:hover{color:var(--text-1)}.disclosure[open]>summary{margin-bottom:var(--sp-2)}@media (pointer:coarse){.disclosure>summary{min-height:44px}}.icon-box{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r-btn);background:var(--tone-bg,var(--surface-sunken));color:var(--tone-fg,var(--text-2))}.secret{display:inline-block;max-width:100%;padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text-1);font:700 var(--fs-24) /1.2 var(--font-mono);letter-spacing:.08em;overflow-wrap:anywhere;-webkit-user-select:all;-moz-user-select:all;user-select:all}.secret-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}.credentials{display:grid;grid-gap:var(--sp-3);gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--r);background:var(--surface)}.credentials:focus{outline:none}.credentials:focus-visible{box-shadow:var(--focus-ring)}.credentials-note{display:flex;align-items:flex-start;gap:var(--sp-2);font-size:var(--fs-13);line-height:1.45;color:var(--text-2)}.credentials-note svg{flex:none;color:var(--warning-text);margin-top:1px}.auth-wrap{min-height:100dvh;display:grid;place-items:center;padding:var(--sp-6) var(--sp-4);background:var(--surface-page)}.auth-card{width:100%;max-width:var(--w-auth);display:grid;grid-gap:var(--sp-5);gap:var(--sp-5)}.auth-card .logo img{display:block;height:48px;width:auto}.auth-card .card-pad{padding:var(--sp-6)}@media (max-width:639.98px){.auth-card .card-pad{padding:var(--sp-5)}}.st-app{min-height:100dvh;background:var(--surface-page)}.st-col{--st-inner:var(--w-student);min-width:0}.st-col:has(.st-home){--st-inner:var(--w-st-wide)}.auth-wrap,.focus-app,.st-app{--field-h:52px;--btn-h-base:48px}.st-top{position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-header);padding-top:env(safe-area-inset-top,0);border-bottom:1px solid var(--border);background:var(--surface)}.st-top-in{display:flex;align-items:center;gap:var(--sp-4);width:100%;max-width:calc(var(--st-inner) + 2 * var(--gutter));height:var(--topbar-h);margin:0 auto;padding:0 var(--gutter)}.st-logo{flex:none;display:inline-flex;align-items:center;min-height:44px;border-radius:var(--r-sm)}.st-logo img{display:block;height:32px;width:auto}@media (min-width:640px){.st-logo img{height:36px}}.st-meta{display:flex;align-items:center;gap:var(--sp-2);margin-left:auto}.st-streak{display:inline-flex;align-items:center;gap:var(--sp-1);height:36px;padding:0 var(--sp-3);border-radius:var(--r-pill);background:var(--surface-sunken);color:var(--text-2);font:800 var(--fs-14) /1 var(--font-alt);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.st-streak.is-on{background:var(--xp-bg);color:var(--xp-text)}.st-bell{position:relative}.st-bell[aria-current=page]{background:var(--red-50);color:var(--red-700)}.st-bell-count{position:absolute;top:4px;right:2px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border:2px solid var(--surface);border-radius:var(--r-pill);background:var(--surface-inverse);color:var(--on-inverse);font:800 var(--fs-12) /1 var(--font-alt);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.st-main{width:100%;max-width:calc(var(--st-inner) + 2 * var(--gutter));margin:0 auto;padding-inline:var(--gutter);padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom, 0px) + var(--sp-6))}@media (min-width:1024px){.st-main{padding-bottom:var(--sp-16)}}.st-bottom{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-header);padding-bottom:env(safe-area-inset-bottom,0);border-top:1px solid var(--border);border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--surface)}.st-bottom-in{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);width:100%;max-width:var(--w-card);margin:0 auto}.st-bottom a{display:grid;justify-items:center;align-content:center;grid-gap:var(--sp-1);gap:var(--sp-1);height:var(--tabbar-h);padding:0 var(--sp-1);color:var(--text-3);font:600 min(var(--fs-12),14px) /1.2 var(--font-sans);text-decoration:none;-webkit-tap-highlight-color:transparent}.st-tab-icon{display:grid;place-items:center;width:56px;height:32px;border-radius:var(--r-pill);transition:background-color var(--dur-2) var(--ease-soft),transform var(--dur-1) var(--ease-soft)}.st-bottom a:hover{color:var(--text-1)}.st-bottom a:active .st-tab-icon{transform:scale(.94)}.st-bottom a[aria-current=page]{color:var(--red-700);font-weight:800}.st-bottom a[aria-current=page] .st-tab-icon{background:var(--red-50)}.st-bottom a:focus-visible{box-shadow:inset 0 0 0 2px var(--focus-color)}@media (min-width:1024px){.st-bottom{display:none}}@media (max-width:399.98px){.st-top-in{gap:var(--sp-2)}.st-meta{gap:var(--sp-1)}.st-streak{padding:0 10px}}.st-side{display:none}@media (min-width:1024px){.st-app{display:grid;grid-template-columns:var(--w-st-side) minmax(0,1fr);align-items:start}.st-side{position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-header);display:flex;flex-direction:column;gap:var(--sp-1);height:100dvh;padding:var(--sp-5) var(--sp-4) var(--sp-5);overflow-y:auto;border-right:1px solid var(--border);background:var(--surface)}.st-side-logo{align-self:flex-start;display:inline-flex;align-items:center;min-height:48px;margin:0 0 var(--sp-5) var(--sp-2);border-radius:var(--r-sm)}.st-side-logo img{display:block;height:40px;width:auto}.st-side nav,.st-side-list{display:grid;grid-gap:var(--sp-1);gap:var(--sp-1)}.st-side-list{margin:0;padding:0;list-style:none}.st-side-label{margin:var(--sp-5) 0 var(--sp-1) var(--sp-3);font:var(--t-overline);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.st-side-link{display:flex;align-items:center;gap:var(--sp-3);min-height:44px;padding:0 var(--sp-3);border-radius:var(--r-btn);color:var(--text-2);font:700 var(--fs-15) /1.2 var(--font-sans);text-decoration:none;transition:background-color var(--dur-1) var(--ease-soft),color var(--dur-1) var(--ease-soft)}.st-side-link:hover{background:var(--surface-sunken);color:var(--text-1)}.st-side-link[aria-current=page]{background:var(--red-50);color:var(--red-700)}.st-side-link:focus-visible{box-shadow:inset 0 0 0 2px var(--focus-color)}.st-side-link svg{flex:none}.st-side-card{position:relative;flex:none;margin:auto 0 0;height:clamp(150px,calc(100dvh - 560px),330px);border-radius:var(--r-lg);overflow:hidden;background:var(--surface-sunken)}.st-side-card img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 82%;filter:var(--img-dim)}.st-side-card figcaption{position:absolute;inset:auto 0 0 0;padding:var(--sp-10) var(--sp-4) var(--sp-4);background:linear-gradient(to top,var(--scrim-media) 0,var(--scrim-media) 45%,transparent 100%);color:var(--on-media);font:800 var(--fs-18) /1.25 var(--font-sans);letter-spacing:-.005em}.st-top-in{padding-inline:var(--gutter)}.st-logo{display:none}}@media (min-width:1024px) and (max-height:640px){.st-side-card{display:none}}.sf-app{--sf-accent:var(--red);--r-sm:8px;--r-btn:12px;--r:14px;--r-lg:16px;--t-h1:700 var(--fs-24) /1.25 var(--font-sans);--t-h2:700 var(--fs-20) /1.3 var(--font-sans);--t-display:800 var(--fs-28) /1.15 var(--font-sans);min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);align-content:start;background:var(--surface-page);--t-h3:700 var(--fs-16) /1.4 var(--font-sans)}.sf-admin{--sf-accent:var(--ink-900)}@media (min-width:1024px){.sf-app{--card-pad:20px}}.sf-main{width:100%;max-width:calc(var(--w-staff) + 2 * var(--gutter));min-width:0;padding-inline:var(--gutter)}.sf-logo{display:inline-flex;align-items:center;min-height:44px;border-radius:var(--r-sm)}.sf-logo img{display:block;width:auto}.sf-role-chip{display:inline-flex;align-items:center;height:24px;padding:0 var(--sp-2);border-radius:var(--r-pill);font:600 var(--fs-12) /1 var(--font-sans);white-space:nowrap}.sf-teacher .sf-role-chip{background:var(--red-50);color:var(--red-700)}.sf-admin .sf-role-chip{background:var(--surface-inverse);color:var(--on-inverse)}.sf-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--r-pill);background:var(--warning-bg);color:var(--warning-text);font:700 var(--fs-12) /1 var(--font-alt);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sf-count.is-neutral{background:var(--surface-sunken);color:var(--text-2)}.sf-mobilebar{position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-header);display:flex;align-items:center;gap:var(--sp-3);height:calc(56px + env(safe-area-inset-top, 0px));padding:env(safe-area-inset-top,0) var(--sp-2) 0 var(--sp-4);border-bottom:1px solid var(--border);background:var(--surface);box-shadow:inset 0 3px 0 var(--sf-accent)}.sf-mobilebar .sf-logo img{height:28px}.sf-menu-btn{position:relative;margin-left:auto}.sf-menu-dot{position:absolute;top:9px;right:9px;width:8px;height:8px;border:2px solid var(--surface);border-radius:50%;background:var(--warning-text);box-sizing:content-box}.sf-side{display:none}@media (min-width:640px){.sf-app{grid-template-columns:var(--w-rail) minmax(0,1fr)}.sf-mobilebar{display:none}.sf-side{position:-webkit-sticky;position:sticky;top:0;grid-row:1/-1;display:flex;flex-direction:column;height:100dvh;overflow-y:auto;border-right:1px solid var(--border);background:var(--surface);box-shadow:inset 0 3px 0 var(--sf-accent);scrollbar-width:thin}}@media (min-width:1024px){.sf-app{grid-template-columns:var(--w-side) minmax(0,1fr)}}.sf-side-head{display:grid;grid-gap:var(--sp-3);gap:var(--sp-3);padding:var(--sp-5) var(--sp-4) var(--sp-4)}.sf-side-head .sf-logo img{height:34px}.sf-side-head .sf-role-chip{justify-self:start}.sf-nav{flex:1 1;display:grid;align-content:start;grid-gap:var(--sp-4);gap:var(--sp-4);padding:0 var(--sp-3) var(--sp-4)}.sf-nav-group{display:grid;grid-gap:var(--sp-0-5);gap:var(--sp-0-5)}.sf-nav-title{padding:0 var(--sp-3) var(--sp-1);font:600 var(--fs-12) /1.3 var(--font-sans);color:var(--text-3)}.sf-nav a{position:relative;display:flex;align-items:center;gap:var(--sp-3);min-height:40px;padding:0 var(--sp-3);border-radius:var(--r-btn);color:var(--text-2);font:600 var(--fs-15) /1.2 var(--font-sans);text-decoration:none;transition:background-color var(--dur-1) var(--ease-soft),color var(--dur-1) var(--ease-soft)}.sf-nav a svg{flex:none;color:var(--text-3)}.sf-nav a:hover{background:var(--surface-sunken);color:var(--text-1)}.sf-nav a .sf-count{margin-left:auto}.sf-teacher .sf-nav a[aria-current=page]{background:var(--red-50);color:var(--red-700)}.sf-teacher .sf-nav a[aria-current=page] svg{color:var(--red-700)}.sf-admin .sf-nav a[aria-current=page]{background:var(--surface-sunken);color:var(--text-1)}.sf-admin .sf-nav a[aria-current=page] svg{color:var(--text-1)}.sf-nav-label{min-width:0}.sf-side-foot{padding:var(--sp-3);border-top:1px solid var(--border-subtle)}.sf-user-btn{display:flex;align-items:center;gap:var(--sp-3);width:100%;min-height:52px;padding:var(--sp-1) var(--sp-2);border:0;border-radius:var(--r-btn);background:none;color:inherit;text-align:left;cursor:pointer}.sf-user-btn:hover{background:var(--surface-sunken)}.sf-user-who{flex:1 1;display:grid;min-width:0;line-height:1.3}.sf-user-who b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 var(--fs-14) /1.35 var(--font-sans);color:var(--text-1)}.sf-user-who span{font-size:var(--fs-13);color:var(--text-3)}.sf-user-more{flex:none;color:var(--text-3)}.sf-side-foot .menu-wrap{display:flex}@media (pointer:coarse){.sf-nav a{min-height:44px}}@media (min-width:640px) and (max-width:1023.98px){.sf-side-head{justify-items:center;gap:var(--sp-1);padding:var(--sp-4) var(--sp-2) var(--sp-3)}.sf-side-head .sf-logo img{width:72px;height:auto}.sf-side-head .sf-role-chip{justify-self:center;height:auto;padding:0;background:none;color:var(--text-3)}.sf-nav{gap:var(--sp-2);padding:0 var(--sp-1) var(--sp-3)}.sf-nav-group+.sf-nav-group{padding-top:var(--sp-2);border-top:1px solid var(--border-subtle)}.sf-nav-title,.sf-side .sf-nav-group.is-rail-hidden{display:none}.sf-nav a{flex-direction:column;justify-content:center;gap:var(--sp-1);min-height:64px;padding:var(--sp-2) var(--sp-0-5);font:600 var(--fs-12) /1.2 var(--font-sans);text-align:center}.sf-nav a svg{width:24px;height:24px}.sf-nav-label{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.sf-nav a .sf-count{position:absolute;top:6px;left:calc(50% + 6px);min-width:18px;height:18px;margin:0;padding:0 5px}.sf-side-foot{display:grid;justify-items:center;padding:var(--sp-2)}.sf-user-btn{justify-content:center;width:44px;min-height:44px;padding:0;border-radius:50%}.sf-label-full,.sf-user-more,.sf-user-who{display:none}}@media (max-width:639.98px),(min-width:1024px){.sf-label-short{display:none}}.sf-drawer-nav{display:grid;grid-gap:var(--sp-4);gap:var(--sp-4)}.sf-drawer-nav .sf-nav{padding:0}.sf-drawer-nav .sf-nav a{min-height:48px}.sf-drawer-user{display:flex;align-items:center;gap:var(--sp-3)}.sf-drawer-links{display:grid;grid-gap:var(--sp-0-5);gap:var(--sp-0-5);width:100%}.sf-drawer .drawer-foot{flex-direction:column;align-items:stretch;gap:var(--sp-3)}dialog.drawer.sf-drawer{box-shadow:var(--shadow-xl),inset 0 3px 0 var(--sf-accent)}@media (max-width:399.98px){.sf-mobilebar .sf-role-chip{display:none}}.focus-app{min-height:100dvh;background:var(--surface)}.focus-body{min-width:0}.focus-body:focus{outline:none;box-shadow:none}.focus-body:not(:has(.focus-main,.focus-top)){display:grid;grid-template-columns:minmax(0,1fr);align-content:start;grid-gap:var(--gap-section);gap:var(--gap-section);width:100%;max-width:calc(var(--w-read) + 2 * var(--gutter));margin:0 auto;padding:var(--page-top) var(--gutter) var(--sp-16)}.focus-body:not(:has(.focus-main,.focus-top))>*{min-width:0}.focus-top{position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-header);padding-top:env(safe-area-inset-top,0);border-bottom:1px solid var(--border);background:var(--surface)}.focus-top-in{display:flex;align-items:center;gap:var(--sp-3);height:56px;padding:0 var(--sp-2)}@media (min-width:640px){.focus-top-in{padding:0 var(--sp-4)}}.focus-close{flex:none}.focus-center{flex:1 1;display:flex;align-items:center;gap:var(--sp-3);min-width:0;max-width:var(--w-read);margin:0 auto}.focus-title{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 var(--fs-15) /1.3 var(--font-sans);color:var(--text-1)}.focus-actions{flex:none;display:flex;align-items:center;gap:var(--sp-2)}.focus-spacer{flex:none;width:44px}.focus-notice{padding:var(--sp-2) var(--gutter);border-top:1px solid var(--border-subtle);background:var(--surface-hover);font-size:var(--fs-13);line-height:1.45;color:var(--text-2);text-align:center}.focus-main{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;grid-gap:var(--sp-6);gap:var(--sp-6);width:100%;max-width:calc(var(--w-read) + 2 * var(--gutter));margin:0 auto;padding:var(--page-top) var(--gutter) calc(96px + env(safe-area-inset-bottom, 0px))}.focus-main>*{min-width:0}.focus-main.is-wide{max-width:calc(var(--w-student) + 2 * var(--gutter))}.action-bar{z-index:var(--z-sticky);background:var(--surface);border-top:1px solid var(--border)}.action-bar-result{padding:var(--sp-3) var(--gutter);border-bottom:1px solid var(--border-subtle)}.action-bar-row{display:flex;align-items:center;gap:var(--sp-3)}.action-bar-hint{margin-right:auto;font-size:var(--fs-13);line-height:1.45;color:var(--text-3)}@media (max-width:639.98px){.action-bar{position:fixed;left:0;right:0;bottom:0}.action-bar-row{min-height:calc(var(--action-bar-h) + env(safe-area-inset-bottom, 0px));padding:var(--sp-3) var(--gutter) calc(var(--sp-3) + env(safe-area-inset-bottom, 0px))}.action-bar-row>.btn{flex:1 1}.action-bar-hint{display:none}}@media (min-width:640px){.focus-main{padding-bottom:var(--sp-8)}.action-bar{position:-webkit-sticky;position:sticky;bottom:0;margin-inline:calc(-1 * var(--sp-1));padding-inline:var(--sp-1)}.action-bar-result{padding-inline:0}.action-bar-row{justify-content:flex-end;padding:var(--sp-4) 0 calc(var(--sp-4) + env(safe-area-inset-bottom, 0px))}.action-bar-row>.btn{min-width:160px}}.print-sheet{display:none}.login-cards{display:grid;grid-gap:var(--sp-3);gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}.login-card{display:grid;align-content:start;grid-gap:var(--sp-2);gap:var(--sp-2);padding:var(--sp-4);border:1px dashed var(--border-strong);border-radius:var(--r);background:var(--surface)}.login-card-name{font:700 var(--fs-16) /1.3 var(--font-sans);color:var(--text-1);overflow-wrap:anywhere}.login-card .dl{grid-template-columns:minmax(0,1fr);gap:var(--sp-0-5);font-size:var(--fs-14)}.login-card .dl dd{margin:0 0 var(--sp-2)}.login-card .secret{font-size:var(--fs-18);padding:var(--sp-1) var(--sp-2)}@media print{@page{size:A4;margin:10mm}body{background:var(--surface)}.action-bar,.focus-top,.no-print,.sf-mobilebar,.sf-side,.skip-link,.st-bottom,.st-side,.st-top,.toasts{display:none!important}.sf-app,.st-app{display:block}.card,.st-app .card{box-shadow:none;border-color:var(--border)}html.is-printing body>:not(.print-sheet){display:none!important}html.is-printing .print-sheet{display:block}.print-sheet .login-cards{display:flex;flex-wrap:wrap;gap:0}.print-sheet .login-card{width:50%;height:69mm;padding:6mm;border-radius:0;break-inside:avoid;page-break-inside:avoid}}@keyframes pop{0%{transform:scale(.8);opacity:0}60%{transform:scale(1.08);opacity:1}to{transform:scale(1);opacity:1}}@keyframes shake{0%,to{transform:translateX(0)}20%,60%{transform:translateX(-4px)}40%,80%{transform:translateX(4px)}}@keyframes fade-in{0%{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}}.motion-pop{animation:pop .18s var(--ease-pop) both;will-change:transform}.motion-shake{animation:shake .24s var(--ease-soft) both;will-change:transform}.motion-rise{animation:rise-in var(--dur-3) var(--ease-soft) both;will-change:transform}.press{transition:transform var(--dur-1) var(--ease-soft)}.press:active:not(:disabled){transform:scale(.985)}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important;scroll-behavior:auto!important}.menu,.toast,dialog.drawer[open]{animation:fade-in var(--dur-1) var(--ease-soft) both!important}.card-link:hover,.press:active:not(:disabled),.st-app .card-link:hover,.st-app a.card:hover,.st-app a.stat:hover,.st-bottom a:active .st-tab-icon,a.card:hover,a.stat:hover{transform:none}}.nav-progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:var(--z-toast);background:var(--red);transform-origin:left center;pointer-events:none}.nav-progress-run{animation:nav-progress-run 10s var(--ease-out) forwards}.nav-progress-done{animation:nav-progress-done .35s var(--ease-out) forwards}@keyframes nav-progress-run{0%{transform:scaleX(.02)}20%{transform:scaleX(.45)}to{transform:scaleX(.92)}}@keyframes nav-progress-done{0%{transform:scaleX(.92);opacity:1}60%{transform:scaleX(1);opacity:1}to{transform:scaleX(1);opacity:0}}@media (prefers-reduced-motion:reduce){.nav-progress-run{animation:none;transform:scaleX(.6)}.nav-progress-done{animation:none;opacity:0}}button[data-pending=true],input[data-pending=true]{pointer-events:none;opacity:.65;cursor:progress}