.workspace-entry{display:flex;align-items:center;justify-content:space-between;gap:24px;border-inline-start:4px solid var(--mint)}.workspace-entry h2{margin:6px 0}.workspace-entry p{max-width:760px;margin-bottom:0}.course-workspace{display:grid;gap:18px}.workspace-tabs{display:flex;gap:8px;flex-wrap:wrap}.workspace-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px}.workspace-sections{display:flex;flex-direction:column;gap:8px;align-items:stretch}.workspace-sections .btn{white-space:normal;text-align:start;justify-content:start}.workspace-reference{border:1px solid var(--line);border-radius:12px;padding:16px;margin:12px 0}.workspace-reference pre,.workspace-source{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;max-height:340px;overflow:auto}.workspace-evidence{max-height:65vh;overflow:auto}.workspace-footer{display:flex;gap:12px;align-items:center;flex-wrap:wrap;position:sticky;bottom:0;padding:16px 0;background:var(--surface);border-top:1px solid var(--line)}.workspace-grid textarea{width:100%;min-height:300px}.operations-list details{padding:14px;border-bottom:1px solid var(--line)}@media(max-width:850px){.workspace-entry{display:block}.workspace-entry .inline{margin-top:16px}.workspace-grid{grid-template-columns:1fr}.workspace-sections{display:grid;grid-template-columns:1fr 1fr}.workspace-footer{position:static}}@media print{.workspace-tabs,.workspace-footer{display:none}}:root,:root[data-theme=dark]{color-scheme:dark;--bg:#0b1020;--bg-glow:#17203b;--bg-glow-2:#25385c66;--surface:#142139;--surface-sunken:#101a2d;--surface-raised:#1a2941;--surface-hover:#223654;--surface-invert:#d8ded9;--surface-invert-2:#606d75;--line-invert:#b6c3c7;--scroll-thumb:#415573;--card-from:#152038f2;--card-to:#121b30f5;--chrome-bg:#101729eb;--sidebar-bg:#11182c88;--backdrop:#050a17ba;--line:#27354d;--line-strong:#33435f;--text:#e5ecf6;--text-strong:#ecf6ff;--text-soft:#b2c5df;--text-muted:#a0aec6;--text-dim:#8295b2;--text-invert:#253139;--muted:#91a0bb;--shadow:#050a1321;--shadow-strong:#0006;--mint:#55deb5;--mint-text:#a5ecd0;--mint-solid:#40cdaa;--mint-fill:#214c52;--mint-surface:#193843;--mint-line:#5a9e88;--mint-line-soft:#255b4e;--mint-on:#102d2c;--glow-mint:#69d3c321;--blue:#75b9ff;--blue-text:#9cc8f3;--blue-fill:#28578e;--blue-line:#4385ce;--glow-blue:#438dcd55;--purple:#b698f9;--purple-text:#d8cbff;--purple-line:#65588a;--purple-line-soft:#514769;--amber:#e1bf79;--amber-solid:#987e53;--amber-line:#c4a269;--amber-line-soft:#655236;--amber-surface:#3e3325;--coral:#e19da9;--coral-text:#ffbac3;--coral-solid:#dd888d;--coral-fill:#57333e;--coral-line:#b47c8c;--coral-line-soft:#694454;--coral-surface:#342733;--amber-text:#e6cf9a;--blue-line-soft:#30516f;--blue-solid:#3f86d6;--glow-purple:#9b7ae033;--purple-on:#201938;--purple-solid:#7d5fc4;--surface-active:#2b3d5e;--glass-blur:none;--glass-border:transparent}:root[data-theme=light]{color-scheme:light;--bg:#f3f6fc;--bg-glow:#e2e9f8;--bg-glow-2:#d6e1f580;--surface:#ffffff;--surface-sunken:#eff3fb;--surface-raised:#f7f9fe;--surface-hover:#e4ebf8;--surface-invert:#3a4763;--surface-invert-2:#5a6780;--line-invert:#46546e;--scroll-thumb:#b6c1d8;--card-from:#fffffff2;--card-to:#fbfcfff7;--chrome-bg:#fffffff2;--sidebar-bg:#eef2fbcc;--backdrop:#1b233899;--line:#dbe1ef;--line-strong:#bfc9e0;--text:#131c33;--text-strong:#080e1f;--text-soft:#3b4864;--text-muted:#586684;--text-dim:#78869f;--text-invert:#f4f7fd;--muted:#5d6a86;--shadow:#16203a14;--shadow-strong:#16203a2e;--mint:#0e8f72;--mint-text:#0a6a54;--mint-solid:#16b58f;--mint-fill:#d2f2e7;--mint-surface:#e5f8f1;--mint-line:#4fbfa0;--mint-line-soft:#a7e2d1;--mint-on:#04231b;--glow-mint:#16b58f2e;--blue:#1d68c6;--blue-text:#2a5f9e;--blue-fill:#d5e5fa;--blue-line:#7aa9e0;--glow-blue:#1d68c62e;--purple:#6741bb;--purple-text:#553496;--purple-line:#b4a0e6;--purple-line-soft:#d9cff4;--amber:#8d6312;--amber-solid:#e0b45f;--amber-line:#c79641;--amber-line-soft:#e9d8ae;--amber-surface:#faf1db;--coral:#b62f47;--coral-text:#97233c;--coral-solid:#de6178;--coral-fill:#fbdde3;--coral-line:#dd8798;--coral-line-soft:#f3c4ce;--coral-surface:#fdebef;--amber-text:#8a6111;--blue-line-soft:#b9d0ee;--blue-solid:#2f7ad6;--glow-purple:#6741bb2e;--purple-on:#ffffff;--purple-solid:#7c5ad0;--surface-active:#dbe5f6;--glass-blur:none;--glass-border:transparent}:root[data-theme=contrast]{color-scheme:dark;--bg:#000000;--bg-glow:#000000;--bg-glow-2:transparent;--surface:#000000;--surface-sunken:#000000;--surface-raised:#0d0d0d;--surface-hover:#242424;--surface-invert:#ffffff;--surface-invert-2:#d9d9d9;--line-invert:#ffffff;--scroll-thumb:#ffffff;--card-from:#000000;--card-to:#000000;--chrome-bg:#000000;--sidebar-bg:#000000;--backdrop:#000000e6;--line:#ffffff;--line-strong:#ffffff;--text:#ffffff;--text-strong:#ffffff;--text-soft:#ffffff;--text-muted:#ededed;--text-dim:#d4d4d4;--text-invert:#000000;--muted:#ededed;--shadow:transparent;--shadow-strong:#000000;--mint:#00ffa8;--mint-text:#00ffa8;--mint-solid:#00ffa8;--mint-fill:#00301f;--mint-surface:#00301f;--mint-line:#00ffa8;--mint-line-soft:#00ffa8;--mint-on:#000000;--glow-mint:transparent;--blue:#7cd2ff;--blue-text:#7cd2ff;--blue-fill:#002741;--blue-line:#7cd2ff;--glow-blue:transparent;--purple:#d7b0ff;--purple-text:#d7b0ff;--purple-line:#d7b0ff;--purple-line-soft:#d7b0ff;--amber:#ffd54a;--amber-solid:#ffd54a;--amber-line:#ffd54a;--amber-line-soft:#ffd54a;--amber-surface:#302400;--coral:#ff9fb0;--coral-text:#ff9fb0;--coral-solid:#ff9fb0;--coral-fill:#3a0010;--coral-line:#ff9fb0;--coral-line-soft:#ff9fb0;--coral-surface:#3a0010;--amber-text:#ffd54a;--blue-line-soft:#7cd2ff;--blue-solid:#7cd2ff;--glow-purple:transparent;--purple-on:#000000;--purple-solid:#d7b0ff;--surface-active:#2e2e2e;--glass-blur:none;--glass-border:transparent}:root[data-theme=glass]{color-scheme:dark;--bg:#070b18;--bg-glow:#1d2b55;--bg-glow-2:#3b2f6b66;--surface:#16203859;--surface-sunken:#0d162b73;--surface-raised:#1d294673;--surface-hover:#2b3a5c8c;--surface-invert:#dfe4ec;--surface-invert-2:#6a7789;--line-invert:#ffffff59;--scroll-thumb:#ffffff40;--card-from:#1a24404d;--card-to:#131c3359;--chrome-bg:#101a3059;--sidebar-bg:#0f182c40;--backdrop:#05091499;--line:#ffffff1f;--line-strong:#ffffff38;--text:#f2f6ff;--text-strong:#ffffff;--text-soft:#d3ddf2;--text-muted:#b3c0da;--text-dim:#93a2c0;--text-invert:#101a2e;--muted:#b3c0da;--shadow:#02050f38;--shadow-strong:#02050f80;--mint:#6ff0cd;--mint-text:#b6f5e2;--mint-solid:#3fd9b4;--mint-fill:#1d6b5c80;--mint-surface:#2b7a6a4d;--mint-line:#7fe6cb99;--mint-line-soft:#7fe6cb4d;--mint-on:#052a22;--glow-mint:#6ff0cd3d;--blue:#8ec8ff;--blue-text:#bcdcff;--blue-fill:#2b5e9e99;--blue-line:#8ec8ff99;--glow-blue:#8ec8ff3d;--purple:#c7aaff;--purple-text:#e0d3ff;--purple-line:#c7aaff80;--purple-line-soft:#c7aaff4d;--amber:#f0cf8a;--amber-solid:#e8c489;--amber-line:#f0cf8a99;--amber-line-soft:#f0cf8a4d;--amber-surface:#6b551f4d;--coral:#ffb3c0;--coral-text:#ffd0d8;--coral-solid:#ff9aad;--coral-fill:#7a3a4a80;--coral-line:#ffb3c099;--coral-line-soft:#ffb3c04d;--coral-surface:#7a3a4a4d;--amber-text:#f5dfae;--blue-line-soft:#8ec8ff4d;--blue-solid:#4f93e0cc;--glow-purple:#c7aaff3d;--purple-on:#17102e;--purple-solid:#9f7ae0cc;--surface-active:#35456b8c;--glass-blur:blur(22px) saturate(1.7);--glass-border:#ffffff26}:root[data-theme=glass] body{background:radial-gradient(ellipse at 12% 8%,#2a3f7a55 0,transparent 55%),radial-gradient(ellipse at 88% 18%,#5b3a8f4d 0,transparent 50%),radial-gradient(ellipse at 50% 100%,#12566b4d 0,transparent 55%),var(--bg);background-attachment:fixed}:root[data-theme=glass] .card,:root[data-theme=glass] .modal,:root[data-theme=glass] .topbar,:root[data-theme=glass] .bottom-bar,:root[data-theme=glass] .sidebar,:root[data-theme=glass] .login-card,:root[data-theme=glass] .info,:root[data-theme=glass] .toast,:root[data-theme=glass] .annotation-editor,:root[data-theme=glass] .resource,:root[data-theme=glass] .inspection,:root[data-theme=glass] .advice,:root[data-theme=glass] .peer-snapshot{backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-color:var(--glass-border)}:root[data-theme=glass] .card,:root[data-theme=glass] .login-card,:root[data-theme=glass] .modal{box-shadow:0 8px 40px var(--shadow-strong),inset 0 1px #ffffff1a}:root[data-theme=contrast] body{background:var(--bg)}:root[data-theme=contrast] .card,:root[data-theme=contrast] .metric,:root[data-theme=contrast] .btn,:root[data-theme=contrast] .badge,:root[data-theme=contrast] .modal,:root[data-theme=contrast] .login-card{border-width:2px}:root[data-theme=contrast] *:focus-visible{outline:3px solid var(--amber);outline-offset:2px}:root[data-theme=contrast] .btn.primary{background:var(--mint-solid)}:root{--radius:13px;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-size:14px;line-height:1.65;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 60% 0,var(--bg-glow) 0,transparent 70%),var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--mint);outline-offset:3px}h1,h2,h3,h4,p{margin:0 0 12px}h2{font-size:17px;font-weight:600}h3{font-size:14px;font-weight:600}h4{font-size:14px}small,.fine{font-size:12px;color:var(--muted);line-height:1.7}h3 small,h2 small{font-weight:400;margin-inline-start:6px}b,strong{font-weight:600}button{color:inherit;border:0;background:transparent}a{color:var(--blue)}.icon{display:inline-block;flex-shrink:0;vertical-align:middle}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line-strong);border-radius:7px;padding:7px 12px;color:var(--text-soft);background:var(--surface-raised);white-space:nowrap;font-size:12px;min-height:35px;transition:background .15s,border-color .15s}.btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--blue-line)}.btn.primary{background:linear-gradient(100deg,var(--mint-solid),var(--mint-solid));color:var(--mint-on);border-color:var(--mint-line);font-weight:650;box-shadow:0 0 20px var(--glow-mint)}.btn.blue{color:var(--text);background:var(--blue-fill);border-color:var(--blue-line)}.btn.purple{background:var(--surface-hover);color:var(--purple-text);border-color:var(--purple-line)}.wide{width:100%}.badge{font-size:10px;line-height:1.6;padding:2px 7px;background:var(--surface-hover);color:var(--text-muted);border:1px solid var(--line-strong);border-radius:4px;white-space:nowrap}.mint{--accent:var(--mint);color:var(--mint)}.blue{--accent:var(--blue);color:var(--blue)}.purple{--accent:var(--purple);color:var(--purple)}.amber{--accent:var(--amber);color:var(--amber)}.coral{--accent:var(--coral);color:var(--coral)}.badge.mint{background:var(--mint-surface);border-color:var(--mint-line-soft)}.badge.blue{background:var(--surface-hover);border-color:var(--line-strong)}.badge.amber{background:var(--amber-surface);border-color:var(--amber-line-soft)}.badge.purple{background:var(--surface-hover);border-color:var(--purple-line-soft)}.badge.coral{background:var(--coral-surface);border-color:var(--coral-line-soft)}.card{background:linear-gradient(135deg,var(--card-from),var(--card-to));border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 3px 20px var(--shadow)}.topbar{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 26px;border-bottom:1px solid var(--line-strong);background:var(--chrome-bg);gap:15px;position:relative;z-index:2}.brand{display:flex;gap:13px;align-items:center}.brand-logo{color:var(--mint-text);display:grid;place-items:center;width:48px;height:48px;filter:drop-shadow(0 0 8px var(--glow-mint))}.brand h1{font-size:24px;letter-spacing:1px;margin:0;line-height:1.45;font-weight:600}.brand small{font-size:11px;letter-spacing:1px}.top-actions{display:flex;align-items:center;gap:24px}.date{font-size:13px;color:var(--text-soft);font-variant-numeric:tabular-nums}.icon-btn{position:relative;padding:5px}.notification{width:6px;height:6px;border-radius:50%;background:var(--coral-solid);position:absolute;inset-inline-end:3px;top:1px}.profile{display:flex;align-items:center;gap:10px;padding:0;text-align:start}.profile b{font-size:12px;display:block}.profile small{font-size:10px;display:block}.avatar{display:grid;place-items:center;width:38px;height:38px;background:linear-gradient(140deg,var(--surface-invert),var(--surface-invert-2));color:var(--text-invert);border:2px solid var(--line-invert);border-radius:50%;font-size:20px;font-weight:700}.shell{display:grid;grid-template-columns:176px minmax(0,1fr);min-height:calc(100dvh - 84px);padding-bottom:69px}.sidebar{border-inline-end:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;padding:23px 10px 25px;background:var(--sidebar-bg)}.nav{display:flex;align-items:center;gap:11px;width:100%;padding:12px 13px;color:var(--text-muted);font-size:13px;border-radius:7px;margin-bottom:5px;text-align:start}.nav .badge{font-size:8px;margin-inline-start:auto;padding:0 4px}.nav.active{background:var(--surface-hover);color:var(--text);box-shadow:inset 3px 0 var(--glow-blue)}.nav:hover{background:var(--surface-raised);color:var(--text)}.sidebar-foot{text-align:center;padding:24px 18px;color:var(--text-dim);font-size:17px;letter-spacing:3px;line-height:1.9}.sidebar-foot svg{max-width:125px}.main{padding:18px 22px 22px;min-width:0}.eyebrow{font-size:9px;letter-spacing:1.7px;color:var(--text-dim);font-weight:500}.class-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.class-heading h2{font-size:15px;margin-bottom:0;color:var(--text)}.class-heading .btn{font-size:10px}.class-heading .eyebrow{display:block}.metrics-wrap{display:flex;gap:14px;margin-bottom:18px}.metrics{display:grid;grid-template-columns:1fr .8fr 1.3fr 1fr 1fr;gap:12px;flex:1;min-width:0}.metric{padding:17px 13px;display:flex;align-items:center;gap:12px;min-width:0;height:98px}.metric>.icon{color:var(--text-dim)}.metric label{font-size:11px;color:var(--text-muted);display:block}.metric strong{display:block;font-size:27px;line-height:1.5;letter-spacing:.1px;font-weight:600;color:var(--text);white-space:nowrap}.metric strong.long{font-size:19px}.metric:nth-child(2) strong,.metric:nth-child(4) strong{color:var(--mint)}.metric small{font-size:10px;white-space:nowrap;display:block}.quote-card{flex:0 0 240px;display:flex;gap:10px;padding:17px 18px;align-items:center}.quote-card>span{font:50px Georgia;color:var(--text-muted);height:60px}.quote-card p{font-size:14px;margin:0;letter-spacing:1px;color:var(--text-soft);line-height:1.9}.dashboard-grid{display:grid;grid-template-columns:211px minmax(0,1fr) 306px;gap:16px;align-items:start}.steps{padding:20px 12px;grid-row:1 / 3;min-height:560px}.steps h2{padding-inline-start:5px;margin-bottom:24px}.step-list{display:flex;flex-direction:column;gap:21px}.step{display:flex;align-items:center;gap:10px;position:relative;text-align:start;width:100%;padding:7px 0;min-height:70px}.step:before{content:"";position:absolute;inset-inline-start:18px;top:61px;height:44px;border-inline-start:1px solid var(--line-strong)}.step:last-child:before{display:none}.orb{display:grid;place-items:center;flex:0 0 37px;height:37px;border-radius:50%;background:var(--surface-hover);border:1px solid var(--line-strong);color:var(--text-muted);font-size:19px}.step.current .orb{background:linear-gradient(145deg,var(--blue-fill),var(--blue-fill));border-color:var(--blue-line);color:var(--text-strong);box-shadow:0 0 18px var(--glow-blue)}.step.complete .orb{background:var(--mint-fill);border-color:var(--mint-line);color:var(--mint-text)}.step b{font-size:12px;white-space:nowrap;display:block}.step small{font-size:11px;display:block}.step .badge{font-size:9px;margin-inline-start:auto;padding:2px 4px}.step.current b{color:var(--blue-text)}.steps>.fine{margin:25px 5px 0;font-size:10px}.workbench{grid-column:2;grid-row:1;min-height:415px;height:calc(100dvh - 440px);display:flex;flex-direction:column;overflow:hidden}.workbench>.section-row{padding:17px 20px 0}.section-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-row h2,.section-row h3{margin:0}.inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.timer{font-size:13px;color:var(--text-soft);font-variant-numeric:tabular-nums}.intro{padding:10px 20px 14px;margin:0;color:var(--text-soft);font-size:12px;border-bottom:1px solid var(--line);line-height:1.8}.work-scroll{padding:15px 20px;overflow:auto;min-height:0;flex:1;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}.info{display:flex;align-items:flex-start;gap:10px;background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:7px;padding:12px 14px;color:var(--text-soft);font-size:12px;margin:0 0 16px;flex-wrap:wrap}.info p{margin:6px 0}.info>.icon{color:var(--blue-text);margin-top:3px}.info.error{border-color:var(--coral-line);background:var(--coral-surface)}.tags{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:12px 0 17px}.tag{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:13px 10px 11px;background:color-mix(in srgb,var(--accent) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:7px;position:relative;text-align:start;min-height:125px}.tag strong{font-size:12px;white-space:nowrap}.tag small{font-size:10px;line-height:1.7;color:color-mix(in srgb,var(--accent) 58%,var(--text-soft))}.tag.selected{border-color:var(--accent);box-shadow:0 0 10px color-mix(in srgb,var(--accent) 20%,transparent)}.field{display:flex;flex-direction:column;gap:7px;margin:13px 0;color:var(--text-soft);font-size:12px}.field>span{font-weight:500}input:not([type=checkbox],[type=range],[type=file]),textarea,select{color:var(--text);background:var(--surface-sunken);border:1px solid var(--line-strong);border-radius:7px;padding:10px 11px;width:100%;font-size:12px;line-height:1.7}select{padding-inline-end:30px}textarea{min-height:85px;resize:vertical}textarea.source{min-height:143px;font-size:12px;line-height:1.95;color:var(--text-soft)}.source[readonly]{background:var(--surface-sunken);cursor:text}.annotation-editor{background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;padding:13px;margin-top:15px}.annotation-editor>textarea,.annotation-editor>input{margin:10px 0 5px}.annotation-editor>textarea{min-height:64px}.annotation-editor .section-row small{font-size:10px}.missing{display:flex;flex-wrap:wrap;gap:7px 13px;margin:14px 0;color:var(--text-soft);font-size:10px}input[type=checkbox]{accent-color:var(--mint);width:15px;height:15px;vertical-align:middle;margin-inline-end:5px;flex-shrink:0}.annotation{background:var(--surface);border:1px solid var(--line-strong);padding:10px;border-radius:7px;margin:9px 0;position:relative}.annotation blockquote{margin:10px 0;font-size:12px}.annotation .btn{font-size:10px;margin-inline-start:12px;padding:1px 8px;min-height:27px}.annotation small{font-size:10px}.work-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-top:1px solid var(--line);gap:10px;background:var(--surface)}.work-footer>small{font-size:10px}.right-column{grid-column:3;grid-row:1 / 3;display:flex;flex-direction:column;gap:15px}.live-groups{padding:15px 14px}.live-groups h2{font-size:14px}.live-groups h2 small{font-size:10px}.group-head{display:grid;grid-template-columns:48px 1fr 56px;gap:9px;font-size:10px;color:var(--text-dim);padding:14px 0 5px;border-bottom:1px solid var(--line-strong)}.group-row{display:grid;grid-template-columns:48px minmax(0,1fr) 56px;gap:9px;align-items:center;width:100%;text-align:start;padding:9px 0 6px;border-bottom:1px solid var(--line)}.group-row:last-child{border:0}.group-row b{font-size:11px;font-weight:400}.group-row .badge{font-size:9px;text-align:center}.group-row small{font-size:9px;display:block;line-height:1.5;margin-top:3px}.progress{height:6px;background:var(--surface-hover);border-radius:9px;overflow:hidden}.progress i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,var(--mint-solid),var(--mint-solid));transition:width .3s}.group-rows{max-height:420px;overflow:auto;scrollbar-width:thin}.participation{padding:14px}.participation h2{font-size:14px;margin-bottom:3px}.participation>small{font-size:9px}.heatmap{display:grid;grid-template-columns:repeat(12,1fr);gap:5px;margin:14px 0}.heatmap>span{height:12px;background:var(--surface-hover);border:1px solid var(--line-strong);border-radius:2px}.heatmap>span.online{background:var(--mint-fill);border-color:var(--mint-line)}.heatmap>span.complete{background:var(--mint-solid);border-color:var(--mint-line)}.heatmap>span.help{background:var(--amber-solid);border-color:var(--amber-line)}.legend{display:flex;gap:14px;font-size:9px;color:var(--text-muted)}.legend span:first-child{color:var(--mint)}.legend span:last-child{color:var(--amber)}.shortcuts{padding:15px}.shortcuts h2{font-size:14px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:10px}.quick-grid .btn{padding:6px 5px;font-size:10px}.shortcuts>.btn{font-size:11px}.next-previews{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:15px}.preview{padding:15px 17px;min-height:132px}.preview h3{font-size:12px}.preview .section-row small{font-size:10px}.preview p{font-size:11px;color:var(--text-soft);line-height:1.8;margin:10px 0}.preview .badge{font-size:9px}.bottom-bar{position:fixed;z-index:4;bottom:0;inset-inline-start:176px;inset-inline-end:0;background:var(--chrome-bg);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-top:1px solid var(--line-strong);gap:18px;height:70px;box-shadow:0 -5px 18px var(--shadow)}.bottom-bar>span{font-size:11px;color:var(--text-soft)}.bottom-bar>.inline>.primary{padding:10px 22px;font-size:13px}.overall{width:150px;font-size:10px;color:var(--text-muted)}.overall .progress{margin-top:7px;height:4px}.confidence{display:flex;gap:15px;align-items:center}.confidence input{width:100%;accent-color:var(--mint)}.confidence strong{color:var(--mint)}.checks,.alignment{display:grid;gap:12px}.checks{grid-template-columns:1fr 1fr 1fr}.alignment{grid-template-columns:1fr 1fr}.diagnosis{border:1px solid var(--mint-line);border-radius:8px;background:var(--mint-surface);padding:17px;margin:18px 0}.diagnosis p{font-size:14px;color:var(--mint-text)}.file-import{font-size:11px;color:var(--text-soft);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.file-import input{font-size:10px}.peer-snapshot{border:1px solid var(--line-strong);background:var(--surface-raised);border-radius:8px;padding:15px;margin-bottom:18px}.peer-snapshot pre,pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.9 inherit;max-height:400px;overflow:auto}blockquote{border-inline-start:2px solid var(--mint-line);padding-inline-start:12px;color:var(--mint-text)}.login-page{min-height:100dvh;display:grid;grid-template-columns:1.15fr 1fr}.login-story{padding:50px 8%;display:flex;flex-direction:column;justify-content:space-between;gap:50px;background:radial-gradient(ellipse at 5% 35%,var(--bg-glow-2),transparent 70%);border-inline-end:1px solid var(--line)}.login-story .brand h1{font-size:22px}.login-story .eyebrow{color:var(--text-muted);font-size:11px;letter-spacing:2px}.login-story h2{font-size:44px;line-height:1.55;letter-spacing:2px;margin-top:18px}.login-story h2 span{color:var(--mint-text)}.login-story p{font-size:16px;line-height:2;color:var(--text-soft);margin-top:20px}.login-steps{display:flex;justify-content:space-between;margin:37px 0;gap:12px}.login-steps div{display:flex;flex-direction:column;align-items:center;gap:10px;font-size:11px;color:var(--text-soft)}.login-steps b{border:1px solid var(--blue-line);color:var(--mint-text);width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:var(--mint-surface)}.login-stats{display:flex;gap:48px;border-top:1px solid var(--line-strong);padding-top:22px}.login-stats b{display:block;color:var(--text);font-size:29px}.login-stats small{display:block;font-size:11px}.login-right{display:grid;place-items:center;padding:40px}.login-card{width:min(460px,100%);padding:34px;border:1px solid var(--line-strong);border-radius:18px;background:var(--surface);box-shadow:0 20px 80px var(--shadow-strong)}.login-card h2{font-size:25px;margin-bottom:6px}.login-card>p{font-size:12px;color:var(--text-muted)}.roles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:26px 0}.roles button{display:flex;flex-direction:column;gap:6px;align-items:center;padding:17px 10px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);color:var(--text-muted)}.roles button.selected{border-color:var(--mint-line);background:var(--mint-fill);color:var(--mint-text);box-shadow:0 0 15px var(--glow-mint)}.roles b{font-size:13px}.roles small{font-size:10px}.login-card input{height:43px}.login-card .primary{margin:15px 0}.divider{display:flex;align-items:center;gap:12px;justify-content:center;color:var(--text-dim);font-size:10px;margin:20px 0 12px}.divider:before,.divider:after{content:"";height:1px;background:var(--line-strong);flex:1}.login-card .fine{font-size:10px;margin:15px 0 0}.loading{display:flex;align-items:center;flex-direction:column;justify-content:center;min-height:100vh;gap:22px;color:var(--mint-text)}.lobby{max-width:900px;margin:65px auto;padding:35px}.lobby .btn{margin-block:10px 0;margin-inline:0 10px}.modal{background:var(--surface);color:var(--text);border:1px solid var(--line-strong);border-radius:15px;padding:0;width:min(840px,calc(100vw - 30px));max-height:88dvh;box-shadow:0 25px 100px var(--shadow-strong)}.modal::backdrop{background:var(--backdrop);backdrop-filter:blur(5px)}.modal-header{padding:20px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line-strong);position:sticky;top:0;background:var(--surface-raised);z-index:1}.modal-header h2{margin:0;font-size:18px}.modal-body{padding:20px 24px 28px;overflow:auto}.modal-body>p{color:var(--text-soft);font-size:13px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.check-label{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--text-soft);margin:15px 0;line-height:1.9}.class-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:25px}.class-option{padding:14px;text-align:start;background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:7px}.class-option b,.class-option small{display:block}.class-option b{font-size:13px}.class-option small{font-size:10px;margin-top:5px}.table-scroll{overflow:auto;max-height:410px;margin:20px 0;border:1px solid var(--line-strong);border-radius:7px}table{width:100%;border-collapse:collapse;text-align:start;font-size:12px}td,th{padding:11px;border-bottom:1px solid var(--line-strong)}th{color:var(--text-muted);background:var(--surface-raised);position:sticky;top:0;font-weight:500}td small{display:block;font-size:10px}.resource,.inspection,.advice{border:1px solid var(--line-strong);border-radius:8px;background:var(--surface-raised);padding:18px;margin:15px 0}.resource pre{font-size:12px;color:var(--text-soft)}.advice h3{color:var(--text-soft);margin-top:18px}.advice p{font-size:13px;color:var(--text-soft)}.advice small{font-size:10px}.observation{background:var(--surface);padding:12px;border-radius:7px;margin:9px 0}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.random-result{text-align:center;border:1px solid var(--mint-line);background:var(--mint-surface);padding:45px 15px;border-radius:12px;margin:22px 0}.random-result h2{font-size:34px;color:var(--mint-text)}.toast-area{position:fixed;z-index:999;inset-inline-end:22px;bottom:86px;pointer-events:none}.toast{position:fixed;inset-inline-end:22px;bottom:86px;max-width:540px;z-index:999;background:var(--mint-fill);color:var(--mint-text);border:1px solid var(--mint-line);border-radius:9px;padding:13px 20px;box-shadow:0 5px 30px var(--shadow-strong);font-size:13px}.toast.error{background:var(--coral-fill);border-color:var(--coral-line);color:var(--coral-text)}fieldset{border:0;padding:0;margin:0;min-width:0}details{margin-top:14px}summary{cursor:pointer;font-size:12px;color:var(--blue-text)}.projection .sidebar{display:none}.projection .shell{grid-template-columns:1fr}.projection .bottom-bar{inset-inline-start:0}.projection .class-heading{justify-content:center}.projection .main{padding-inline-start:35px;padding-inline-end:35px}.projection .workbench,.projection .group-row{pointer-events:none}@media(min-width:1750px){.main{padding:22px 30px}.dashboard-grid{grid-template-columns:228px minmax(0,1fr) 340px}.quote-card{flex-basis:290px}.workbench{height:calc(100dvh - 451px)}.tag{padding:16px 13px}.metric strong{font-size:30px}.brand h1{font-size:27px}.group-row{padding:10px 0}}@media(max-width:1500px){.quote-card{display:none}.dashboard-grid{grid-template-columns:192px minmax(0,1fr) 275px}.main{padding:16px}.shell{grid-template-columns:156px minmax(0,1fr)}.bottom-bar{inset-inline-start:156px}.nav{padding:11px 10px}.top-actions{gap:15px}.steps{padding:17px 9px}.orb{flex-basis:32px;height:32px}.step{gap:7px}.step:before{inset-inline-start:15px}.step b{font-size:11px}.step .badge{font-size:8px}.workbench>.section-row{padding:14px 15px 0}.workbench>.section-row h2{font-size:15px}.workbench>.section-row .timer{display:none}.work-scroll{padding:14px 15px}.tag strong{font-size:11px}.tag small{font-size:9px}.tags{gap:6px}.tag{padding:10px 7px}.intro{padding-inline-start:15px;padding-inline-end:15px}.work-footer{padding:10px}.work-footer .btn{font-size:10px;padding:6px 8px}}@media(max-width:1250px){.shell{grid-template-columns:68px minmax(0,1fr)}.sidebar{padding:15px 6px}.sidebar .nav{padding:14px;justify-content:center}.nav>span,.nav>.badge,.sidebar-foot{display:none}.bottom-bar{inset-inline-start:68px}.dashboard-grid{grid-template-columns:168px minmax(0,1fr) 240px;gap:12px}.step{flex-wrap:wrap;gap:6px}.step .badge{margin-inline-start:38px;margin-top:-10px}.metric{padding:13px 10px;gap:10px}.metric>.icon{display:none}.metric strong{font-size:25px}.metrics{gap:9px}.brand h1{font-size:20px}.group-head,.group-row{grid-template-columns:42px minmax(0,1fr) 50px;gap:5px}.right-column{gap:12px}.live-groups,.participation,.shortcuts{padding:12px 10px}.live-groups .section-row .badge,.top-actions .date{display:none}.workbench .section-row>.inline>.badge{display:none}.next-previews{gap:10px}.preview{padding:12px}.login-story{padding:40px 7%}.login-story h2{font-size:36px}.login-right,.login-card{padding:25px}}@media(max-width:1000px){.dashboard-grid{grid-template-columns:155px minmax(0,1fr)}.right-column{grid-column:1 / 3;grid-row:3;display:grid;grid-template-columns:1.2fr 1fr 1fr}.steps{min-height:510px}.workbench{height:510px}.next-previews{grid-column:2}.metric strong.long{font-size:16px}.metric strong{font-size:22px}.metric small{font-size:9px}.metric{height:90px}.top-actions>.badge{display:none}.brand small{font-size:10px}.login-story .brand h1{font-size:19px}.login-story h2{font-size:32px}.login-stats{gap:25px}.login-steps{gap:5px}.login-steps span{font-size:9px}.overall{display:none}}@media(max-width:720px){.topbar{height:70px;padding:0 14px}.brand-logo,.brand-logo .icon{width:28px}.brand h1{font-size:16px;letter-spacing:0}.brand small{display:none}.top-actions{gap:8px}.profile>span:not(.avatar){display:none}.avatar{height:31px;width:31px;font-size:16px}.shell{display:block;padding-bottom:99px}.sidebar{border-inline-end:0;border-bottom:1px solid var(--line-strong);padding:7px 8px}.sidebar nav{display:flex;overflow:auto;gap:4px}.sidebar .nav{padding:9px;min-width:40px;width:auto;margin:0}.nav>.icon{width:18px}.main{padding:12px}.class-heading{margin-bottom:12px}.class-heading .eyebrow{font-size:8px}.class-heading h2{font-size:12px}.class-heading .btn{font-size:8px;padding:4px 6px}.metrics{grid-template-columns:1fr 1fr 1fr;gap:8px}.metric{height:75px;padding:10px}.metric strong{font-size:22px}.metric strong.long{font-size:15px}.metric label{font-size:9px}.metric small{font-size:8px}.metric:nth-child(4),.metric:nth-child(5){display:none}.metrics-wrap{margin-bottom:12px}.dashboard-grid{display:flex;flex-direction:column;gap:12px}.steps{width:100%;min-height:0;padding:10px 8px}.steps h2,.steps>.fine{display:none}.step-list{flex-direction:row;gap:5px;justify-content:space-between}.step{flex-direction:column;gap:4px;min-width:0;min-height:0;padding:0}.step:before{display:none}.orb{width:29px;height:29px;flex-basis:29px;font-size:15px}.step>span>b{font-size:10px}.step>span>small{display:none}.step>.badge{display:none}.workbench{width:100%;height:auto;min-height:0}.work-scroll{max-height:none;overflow:visible;padding:12px}.workbench>.section-row{padding:13px 12px 0}.workbench>.section-row h2{font-size:14px}.intro{font-size:11px;padding:10px 12px}.tags{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tag{min-height:103px;padding:10px}.tag strong{font-size:11px}.tag small{font-size:9px}.work-footer{position:sticky;bottom:84px;z-index:2;padding:10px 9px}.work-footer .inline{gap:5px}.right-column{display:flex;width:100%}.live-groups{max-height:330px;overflow:auto}.next-previews{display:grid;grid-template-columns:1fr 1fr;width:100%}.preview .section-row{display:block}.preview .section-row>small{display:none}.preview h3{font-size:11px}.preview p{font-size:10px}.bottom-bar{inset-inline-start:0;height:85px;padding:12px;gap:10px;flex-wrap:wrap;align-content:center}.bottom-bar>span{font-size:10px;flex:1}.bottom-bar>.inline>.primary{font-size:11px;padding:8px 14px}.bottom-bar>.inline>.btn:not(.primary){font-size:10px;padding:6px 8px}.checks,.alignment,.two-col,.class-list{grid-template-columns:1fr}.modal{width:calc(100vw - 18px);max-height:93dvh}.modal-header,.modal-body{padding:15px}.modal-header h2{font-size:16px}.toast{inset-inline-start:12px;inset-inline-end:12px;max-width:none;bottom:95px;font-size:12px}.login-page{grid-template-columns:1fr}.login-story{padding:27px 24px;gap:25px;border-inline-end:0;border-bottom:1px solid var(--line-strong)}.login-story h2{font-size:29px;line-height:1.45;margin:10px 0}.login-story .eyebrow{font-size:8px}.login-story p{font-size:12px;margin:12px 0}.login-story .login-steps,.login-story .login-stats,.login-story>small{display:none}.login-story .brand h1{font-size:19px}.login-story .brand small{display:none}.login-right{padding:25px 18px 40px}.login-card{padding:23px;max-width:480px}.login-card h2{font-size:23px}.roles{margin:18px 0}.roles button{padding:12px}.roles b{font-size:12px}.info{font-size:11px}.lobby{margin:20px auto;padding:25px}.projection .main{padding:12px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.boot{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:16px;text-align:center;background:radial-gradient(ellipse at 60% 0,var(--bg-glow) 0,transparent 70%),var(--bg);color:var(--muted);transition:opacity .25s}.boot.boot-done{opacity:0;pointer-events:none}.boot-logo{color:var(--mint-text);animation:boot-pulse 1.6s ease-in-out infinite}.boot-name{color:var(--text);font-size:18px;letter-spacing:.08em;margin-bottom:6px}.boot-bar{width:min(220px,60vw);height:3px;border-radius:3px;background:var(--line);overflow:hidden;margin-bottom:6px}.boot-bar i{display:block;width:40%;height:100%;border-radius:3px;background:var(--mint-solid);animation:boot-slide 1.3s ease-in-out infinite}.boot p{margin:0;font-size:13px}.boot .boot-slow{margin-top:14px;max-width:420px;font-size:12px;visibility:hidden;animation:boot-reveal 0s 12s forwards}.boot-slow a{color:var(--mint-text)}@keyframes boot-slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}@keyframes boot-pulse{50%{opacity:.55}}@keyframes boot-reveal{to{visibility:visible}}@media(prefers-reduced-motion:reduce){.boot-logo,.boot-bar i{animation:none}.boot-bar i{width:100%;opacity:.5}}.field-invalid input,.field-invalid textarea,.field-invalid select{border-color:var(--coral-line)!important;outline:1px solid var(--coral-line)}.field-error{color:var(--coral-text);font-weight:600}.field small{line-height:1.6}.wait-status{font-size:.85rem;line-height:1.6;color:var(--muted,var(--text-soft));padding:.7rem 0}.resource pre{white-space:pre-wrap;word-break:break-word}.recovery-actions{display:flex;flex-wrap:wrap;gap:.6rem}.class-context{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:1rem 1.25rem;margin-bottom:1rem;min-width:0}.class-context h2{margin:.3rem 0;overflow-wrap:anywhere}.class-context p{font-size:.82rem;color:var(--muted);margin:.4rem 0 0}.class-context-actions{display:flex;align-items:flex-end;flex-direction:column;gap:.5rem;max-width:45%;text-align:right}.class-select{display:flex;align-items:center;gap:.65rem;margin-top:.4rem;font-size:.88rem}.class-select select{min-width:0;max-width:25rem}.course-progress{font-size:.8rem;font-variant-numeric:tabular-nums}.course-week-nav{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;margin:0 0 1rem}.course-week-nav button{min-width:0;text-align:left;padding:.7rem;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);color:var(--text-soft);cursor:pointer}.course-week-nav button.selected{border-color:var(--mint-line);background:var(--surface-hover);color:var(--text-strong)}.course-week-nav b,.course-week-nav small{display:block;overflow-wrap:anywhere}.course-week-nav small{font-size:.72rem;line-height:1.4;margin-top:.3rem}.program-class-card{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.8rem;border:1px solid var(--line-strong);border-radius:10px}.program-class-card .class-option{flex:1;min-width:200px;border:0;margin:0}.program-class-card .check-label{width:100%;font-size:.8rem}@media(max-width:850px){.course-week-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.class-context{align-items:flex-start;flex-direction:column}.class-context-actions{max-width:100%;text-align:left;align-items:flex-start}.class-select{flex-wrap:wrap}.class-select select{max-width:100%;width:100%}}@media(max-width:480px){.course-week-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.program-class-card .class-option{min-width:0;width:100%}}.language-switcher,.theme-switcher{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted);white-space:nowrap}.language-switcher select,.theme-switcher select{width:auto;min-width:0;padding:5px 24px 5px 8px;font-size:11px;min-height:31px;line-height:1.4}.login-card .language-switcher,.login-card .theme-switcher{margin-bottom:10px}.login-card .theme-switcher{margin-inline-start:10px}@media(max-width:1250px){.theme-switcher>span[aria-hidden],.language-switcher>span[aria-hidden]{display:none}}@media(max-width:720px){.top-actions .theme-switcher select,.top-actions .language-switcher select{font-size:10px;padding:4px 20px 4px 6px;min-height:28px}}.switcher-row{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-block-end:12px;flex-wrap:wrap}.switcher-row .language-switcher,.switcher-row .theme-switcher{display:inline-flex;width:auto;margin:0;justify-content:flex-start}@media(max-width:480px){.topbar .brand,.topbar .brand>div{min-width:0}.topbar .brand h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-actions{flex:0 0 auto;gap:6px}.top-actions .theme-switcher select,.top-actions .language-switcher select{max-width:72px}}a.nav{text-decoration:none}a.nav:hover{color:var(--text)}.skill-link{text-decoration:none;display:inline-flex;align-items:center;gap:6px;width:fit-content}.week-entry .skill-link{margin-top:4px}.btn.coral{background:var(--coral-surface);color:var(--coral-text);border-color:var(--coral-line)}.restart-confirm{display:grid;gap:8px;margin-bottom:12px}.restart-confirm ul{margin:0;padding-left:1.2em}input[readonly],textarea[readonly]{background:var(--surface-sunken);border-style:dashed;color:var(--text-muted);cursor:default}.previous-work>.link-button{display:inline-flex;align-items:center;gap:6px;color:var(--blue-text);text-decoration:underline;text-underline-offset:3px}.previous-work>[role=region]{margin-top:12px}@media(min-width:1001px){.metrics-wrap{height:98px}.quote-card{height:98px;flex-basis:260px;padding:12px 14px}.quote-card p{font-size:12px;line-height:1.8;letter-spacing:0}.quote-card>span{font-size:36px;height:43px}.main{padding-top:12px}.class-heading{margin-bottom:10px}.class-heading .eyebrow{display:none}.class-heading .btn{min-height:27px;padding:3px 9px}.dashboard-grid{gap:14px}.steps{min-height:535px}.step-list{gap:16px}.workbench{height:calc(100dvh - 464px);min-height:415px}.workbench .info{padding:10px 12px;margin-bottom:12px}.workbench .info p{margin:3px 0}.tag{min-height:107px;padding-top:10px;gap:5px}.right-column{gap:12px}.live-groups{padding:12px}.group-head{padding-top:9px}.group-row{padding:5px 0;height:29px}.group-row>div{display:flex;align-items:center;gap:5px}.group-row .progress{flex:1;height:6px}.group-row small{margin:0;font-size:9px;white-space:nowrap}.group-row .badge{font-size:8px}.group-rows{max-height:290px;scrollbar-width:thin}.participation{padding:11px 12px}.participation h2{font-size:13px}.participation>small{font-size:9px}.heatmap{grid-template-columns:repeat(20,minmax(0,1fr));gap:3px;margin:10px 0}.heatmap>span{height:10px}.legend{font-size:8px;gap:10px}.shortcuts{padding:11px 12px}.shortcuts h2{font-size:13px;margin-bottom:9px}.quick-grid{gap:7px;margin-bottom:8px}.shortcuts .btn{min-height:30px;padding:5px;font-size:10px}.preview{min-height:122px}.next-previews{gap:12px}}a.btn{text-decoration:none;justify-content:center}.login-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.login-steps>div{display:flex;align-items:center;gap:10px}.login-steps>div:after{display:none}.program{max-width:1500px;margin:auto}.program-hero{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:32px 36px;margin-bottom:24px;border:1px solid var(--blue-line-soft);border-radius:18px;background:linear-gradient(115deg,var(--surface-raised),var(--surface) 75%)}.program-hero h2{font-size:29px;line-height:1.45;margin:16px 0}.program-hero p{color:var(--text-muted);line-height:1.9}.program-numbers{min-width:180px;text-align:center}.program-numbers>b{font-size:76px;display:block;color:var(--mint-text)}.program-numbers small{font-size:20px}.program-numbers>span{color:var(--text-muted);font-size:13px}.week-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:26px}.week-card{text-align:start;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:13px;color:inherit;cursor:pointer;transition:border-color .15s,background .15s}.week-card:hover{border-color:var(--blue-line);background:var(--surface-raised)}.week-card.selected{border-color:var(--blue-line);background:var(--surface-hover);box-shadow:inset 0 3px var(--glow-blue)}.week-card h3{margin:13px 0 10px;font-size:17px}.week-card p{color:var(--text-muted);font-size:13px;line-height:1.8;min-height:48px}.week-card>div{display:flex;justify-content:space-between;gap:5px;align-items:center;font-size:12px;color:var(--text-muted)}.program-detail{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:22px}.program-detail>.card{padding:26px}.program-detail p{line-height:1.85;color:var(--text-muted)}.curriculum-list article{display:flex;gap:17px;border-top:1px solid var(--line);padding:19px 0}.curriculum-list article>b{flex-shrink:0;background:var(--surface-hover);width:29px;height:29px;border-radius:50%;display:grid;place-items:center;color:var(--blue-text)}.curriculum-list article>div{flex:1;min-width:0}.curriculum-list h3{margin:0;font-size:16px;display:flex;justify-content:space-between;gap:15px}.curriculum-list h3 small{font-size:12px;color:var(--text-muted);white-space:nowrap}.curriculum-list p{font-size:14px;margin:8px 0 0}.week-entry{align-self:start}.week-entry .class-option{width:100%;margin:10px 0}.week-entry h2{margin:14px 0}.worksheet-row{border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);padding:18px;margin:16px 0}.worksheet-row textarea{min-height:86px}.worksheet-checks{display:flex;flex-wrap:wrap;gap:14px}.worksheet-checks label{display:flex;gap:7px;align-items:center}.worksheet-checks input{width:auto}.previous-work{border:1px solid var(--line-strong);padding:16px;border-radius:10px;margin:16px 0}.previous-work summary{cursor:pointer;color:var(--blue-text)}.previous-work pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;color:var(--text-muted);max-height:260px;overflow:auto}.previous-work article{border-top:1px solid var(--line-strong);padding-top:12px}@media(min-width:1800px){.week-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.week-card{padding:16px}.week-card>div{align-items:flex-start;flex-direction:column}}@media(max-width:1100px){.week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.program-detail{grid-template-columns:1fr}.program-hero{padding:25px}.program-hero h2{font-size:24px}}@media(max-width:600px){.program-hero{display:block;padding:20px}.program-numbers{display:none}.program-hero h2{font-size:23px}.week-grid{grid-template-columns:1fr}.week-card p{min-height:0}.program-detail>.card{padding:18px}.login-steps{grid-template-columns:1fr}.worksheet-row{padding:12px}}.step b{white-space:normal;overflow-wrap:anywhere;line-height:1.4}.step>span:not(.orb){min-width:0}.step.complete .orb .icon{display:block}.metric>div{min-width:0}.metric strong{overflow:hidden;text-overflow:ellipsis}.metrics{grid-template-columns:1fr 1fr 1.3fr 1fr 1fr}.group-head,.group-row{grid-template-columns:44px minmax(0,1fr) max-content}.group-row .badge{white-space:nowrap}.language-switcher{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-soft)}.language-switcher select{width:auto;min-width:96px;padding-block:4px;padding-inline:8px 26px;font-size:12px}.login-card .language-switcher{display:flex;justify-content:flex-end;margin-block-end:12px}progress.progress{appearance:none;-webkit-appearance:none;display:block;width:100%;border:0;color:var(--mint-text)}progress.progress::-webkit-progress-bar{background:var(--surface-hover);border-radius:9px}progress.progress::-webkit-progress-value{background:linear-gradient(90deg,var(--mint-solid),var(--mint-solid));border-radius:9px}progress.progress::-moz-progress-bar{background:linear-gradient(90deg,var(--mint-solid),var(--mint-solid));border-radius:9px}[dir=rtl] progress.progress::-webkit-progress-value{background:linear-gradient(270deg,var(--mint-solid),var(--mint-solid))}[dir=rtl] progress.progress::-moz-progress-bar{background:linear-gradient(270deg,var(--mint-solid),var(--mint-solid))}.suggest-toggle{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:1px solid var(--purple-line);border-radius:999px;background:var(--surface-raised);color:var(--purple-text);font-size:11px;white-space:nowrap}.login-card .suggest-ui{display:flex;justify-content:flex-end;margin-block-end:10px}.suggest-toggle.active{background:var(--purple-solid);border-color:var(--purple-line);color:var(--purple-on)}body.suggest-active [data-i18n]{outline:1px dashed var(--purple-line);outline-offset:2px;cursor:help}body.suggest-active [data-suggest-ui] [data-i18n]{outline:0;cursor:inherit}.suggest-dialog{width:min(620px,calc(100vw - 30px))}.suggest-readonly{background:var(--surface-sunken);border:1px solid var(--line-strong);border-radius:7px;padding:10px 11px;color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere}.suggest-alternatives{display:flex;flex-wrap:wrap;gap:8px;margin-block:10px}.suggest-alternative{border:1px solid var(--purple-line-soft);background:var(--surface-raised);color:var(--purple-text);border-radius:7px;padding:6px 10px;text-align:start}.suggest-alternative.selected{border-color:var(--purple-line);box-shadow:0 0 0 1px var(--glow-purple)}.suggestion-diff{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 14px;margin-block:12px}.suggestion-diff dt{color:var(--muted);font-size:12px}.suggestion-diff dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.review-tabs{margin-block:12px}.projection .suggest-ui{display:none}@media(max-width:700px){.top-actions .suggest-toggle>span[data-i18n]{display:none}}:root:lang(ar),:root:lang(fa),:root:lang(ur){font-family:Noto Sans Arabic,Segoe UI,Tahoma,system-ui,sans-serif}:root:lang(he){font-family:Noto Sans Hebrew,Segoe UI,Arial,system-ui,sans-serif}:root:lang(ja){font-family:Inter,Hiragino Sans,Yu Gothic,Noto Sans JP,system-ui,sans-serif}:root:lang(ko){font-family:Inter,Apple SD Gothic Neo,Malgun Gothic,Noto Sans KR,system-ui,sans-serif}:root:lang(th){font-family:Noto Sans Thai,Leelawadee UI,Tahoma,system-ui,sans-serif}:root:lang(hi){font-family:Noto Sans Devanagari,Nirmala UI,system-ui,sans-serif}[dir=rtl] *{letter-spacing:normal!important}[dir=rtl] .nav.active{box-shadow:inset -3px 0 var(--glow-blue)}[dir=rtl] .flip-rtl{transform:scaleX(-1)}@media(max-width:720px){.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.metric,.metric>div,.preview{min-width:0}.metric strong,.metric small{white-space:normal;overflow-wrap:anywhere}.next-previews{grid-template-columns:repeat(2,minmax(0,1fr))}.preview h3,.preview p{overflow-wrap:anywhere}.step>span{min-width:0;max-width:100%}.step>span>b{white-space:normal;overflow-wrap:anywhere;text-align:center}.top-actions .language-switcher select{min-width:0;max-width:88px}}.preview .badge{display:inline-block;max-width:100%;white-space:normal;overflow-wrap:anywhere}.record-weeks{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin-block:14px 22px}.record-week{min-width:0;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);padding:12px}.record-week.complete{border-color:var(--mint-line)}.record-week h4{margin-block:4px 6px;font-size:13px}.record-week p{margin-block:0 6px;font-size:12px;color:var(--text-soft);overflow-wrap:anywhere}.coherence{border:1px solid var(--line-strong);border-radius:8px;background:var(--surface-raised);padding:16px;margin-block:12px}.coherence h4{margin-block:16px 6px;color:var(--text-soft)}.coherence ol{padding-inline-start:20px}.coherence p,.coherence blockquote{overflow-wrap:anywhere}.modal.wide{width:min(1100px,calc(100vw - 30px))}.step-modal[open]{display:flex;flex-direction:column}.step-modal .modal-body{flex:1;min-height:0;padding:0;display:flex;overflow:hidden}.step-modal .workbench{flex:1;min-width:0;width:100%;height:auto;min-height:0;border:0;border-radius:0;box-shadow:none;background:none}.step-overview{grid-column:2;grid-row:1;min-height:415px;display:flex;flex-direction:column;overflow:hidden}.step.locked{opacity:.7}.week-summary-link{display:flex;align-items:center;gap:10px;width:100%;margin-top:18px;padding:10px;border:1px dashed var(--line-strong);border-radius:9px;background:var(--surface);color:var(--text-soft);text-align:start;cursor:pointer}.week-summary-link.ready{border-style:solid;border-color:var(--purple-line);background:var(--surface-raised);color:var(--purple-text)}.week-summary-link b{font-size:12px;display:block}.week-summary-link small{font-size:10px;display:block}.curriculum-list>button{display:flex;gap:17px;width:100%;border:0;border-top:1px solid var(--line);border-radius:0;padding:19px 0;background:none;color:inherit;font:inherit;text-align:start;cursor:pointer}.curriculum-list>button>b{flex-shrink:0;background:var(--surface-hover);width:29px;height:29px;border-radius:50%;display:grid;place-items:center;color:var(--blue-text)}.curriculum-list>button>div{flex:1;min-width:0}.curriculum-list>button:hover:not(:disabled) h3{color:var(--blue-text)}.extract{margin-bottom:22px;padding:14px 16px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface)}.extract>.section-row{padding:0}.extract h3{display:flex;align-items:center;gap:8px}.extract .proposal{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.extract .proposal textarea,.extract .proposal input{opacity:.85}.extract .annotation blockquote{margin:6px 0;overflow-wrap:anywhere}.extract .inline{flex-wrap:wrap;gap:10px}.extract .inline small{color:var(--muted)}.artifacts{margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}.artifacts>.section-row,.week-summary .section-row,.step-analytics .section-row,.week-analytics>.section-row{padding:0}.artifact-list{list-style:none;margin:12px 0;padding:0;display:grid;gap:8px}.artifact-list>li{padding:10px 12px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface)}.artifact-list>li.viewing{border-color:var(--blue-line)}.artifact-row{display:flex;align-items:flex-start;gap:10px}.artifact-row>div:nth-of-type(1){flex:1;min-width:0}.artifact-list b{display:block;overflow-wrap:anywhere}.artifact-list small{color:var(--muted);overflow-wrap:anywhere}.artifact-list pre{white-space:pre-wrap;max-height:220px;overflow:auto}.artifact-add form{margin-top:10px}.summary .overview{font-size:15px;line-height:1.8}.summary-steps li{margin:4px 0}.week-analytics{padding:24px 26px;margin-bottom:24px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:18px 0}.kpi{border:1px solid var(--line-strong);border-radius:10px;padding:12px 14px;background:var(--surface)}.kpi small{display:block;color:var(--muted);font-size:11px}.kpi strong{display:block;font-size:24px;margin-top:4px;color:var(--text);font-variant-numeric:tabular-nums}.kpi span{font-size:12px;color:var(--text-muted)}.analytics-table{width:100%;border-collapse:collapse}.analytics-table td small{display:block;color:var(--muted)}.analytics-search{max-width:260px}.link-button{background:none;border:0;color:inherit;font:inherit;text-align:start;padding:0;cursor:pointer}.link-button:hover{color:var(--blue-text);text-decoration:underline}.meter{display:flex;align-items:center;gap:8px;min-width:170px}.meter-track{flex:1;height:8px;border-radius:4px;background:var(--surface-hover);overflow:hidden}.meter-fill{height:100%;border-radius:4px;background:var(--mint)}.meter span{font-size:12px;color:var(--text-soft);white-space:nowrap;font-variant-numeric:tabular-nums}.funnel{display:grid;gap:8px;margin:10px 0}.funnel>div{display:grid;grid-template-columns:minmax(120px,220px) 1fr;gap:12px;align-items:center}@media(max-width:1000px){.step-overview{min-height:510px}}@media(max-width:720px){.step-overview{width:100%;min-height:0}.funnel>div{grid-template-columns:1fr}.analytics-search{max-width:none}}.flow-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 18px;padding:0;position:relative}.flow-steps:before,.flow-steps:after{content:"";position:absolute;top:26px;inset-inline-start:12.5%;height:2px;background:var(--surface-hover);width:75%}.flow-steps:after{background:linear-gradient(90deg,var(--mint-solid),var(--blue-solid));width:calc(var(--progress) * .75);transition:width .3s}.flow-steps button{position:relative;z-index:1}.flow-steps button{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;padding:4px;background:none;color:var(--text-muted);font-size:12px;text-align:center}.flow-steps b{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--surface-raised);border:2px solid var(--line-strong);transition:all .2s}.flow-steps span{display:flex;flex-direction:column;line-height:1.4}.flow-steps small{font-size:10px;color:var(--muted)}.flow-steps .done b{background:var(--mint-fill);border-color:var(--mint-line);color:var(--mint-text)}.flow-steps .current{color:var(--text);font-weight:600}.flow-steps .current b{background:linear-gradient(145deg,var(--blue-fill),var(--blue-fill));border-color:var(--blue-line);color:var(--text-strong);box-shadow:0 0 18px var(--glow-blue)}.flow-steps button:hover b{border-color:var(--blue-line)}.flow-body{display:grid;grid-template-columns:230px minmax(0,1fr);gap:20px;align-items:start}.flow-guide{position:sticky;top:0;padding:16px;border:1px solid var(--line-strong);border-radius:12px;background:linear-gradient(160deg,var(--surface-raised),var(--surface));display:flex;flex-direction:column;gap:6px}.flow-art{width:100%;max-width:150px;align-self:center;color:var(--text-dim);margin-bottom:6px}.flow-art .accent{color:var(--mint);stroke:var(--mint)}.flow-guide h4{margin:0;color:var(--text)}.flow-guide ol{margin:4px 0;padding-inline-start:18px;font-size:12px;color:var(--text-soft);display:grid;gap:4px}.flow-guide .fine{margin:6px 0 0;padding-top:8px;border-top:1px solid var(--line)}.flow-guide .fine .icon{color:var(--amber)}.flow-main{min-width:0}.flow-panel>h3{margin-bottom:6px}.flow-result{padding:12px 14px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface)}.flow-result>.section-row{padding:0;margin-bottom:6px}.flow-result details{margin:0}.flow-nav{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.flow-draft{padding:10px 12px;border:1px dashed var(--line-strong);border-radius:8px}.flow-draft blockquote{margin:10px 0}.flow-checklist{list-style:none;margin:10px 0;padding:0;display:grid;gap:8px}.flow-checklist li{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);font-size:12px;color:var(--amber-text)}.flow-checklist li.ok{color:var(--mint)}.flow-checklist li>span{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-summary dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 16px;margin:0}.flow-summary dt{color:var(--muted);font-size:12px}.flow-summary dd{margin:0;overflow-wrap:anywhere}@media(max-width:860px){.flow-body{grid-template-columns:1fr}.flow-guide{position:static;flex-direction:row;flex-wrap:wrap;align-items:center}.flow-art{max-width:64px;margin:0}}@media(max-width:720px){.flow-steps b{width:36px;height:36px}.flow-steps:before,.flow-steps:after{top:22px}.flow-steps span{display:none}.flow-steps .current span{display:flex}.flow-checklist li{grid-template-columns:auto 1fr auto}.flow-checklist li>span{display:none}.flow-summary dl{grid-template-columns:1fr}}.modal.step-modal{width:min(1320px,calc(100vw - 30px));height:min(900px,92dvh);max-height:92dvh}.modal.step-modal.maximized{width:calc(100vw - 12px);height:calc(100dvh - 12px);max-width:none;max-height:none;border-radius:8px}@media(max-width:720px){.modal.step-modal{width:calc(100vw - 12px);height:calc(100dvh - 12px)}.step-modal .work-footer{bottom:0}}.doc-viewer{margin-top:10px;border:1px solid var(--line-strong);border-radius:10px;overflow:hidden;background:var(--surface-sunken);display:flex;flex-direction:column}.doc-viewer:fullscreen{border-radius:0;border:0}.doc-viewer-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;background:var(--surface-raised);border-bottom:1px solid var(--line-strong)}.doc-viewer-bar b{overflow-wrap:anywhere}.doc-viewer-actions{margin-inline-start:auto;display:flex;gap:6px;flex-wrap:wrap}.doc-viewer-status{padding:10px 14px;margin:0}.doc-viewer-page{max-height:72dvh;overflow:auto;background:var(--surface-active);padding:12px;scrollbar-width:thin}.doc-viewer:fullscreen .doc-viewer-page{max-height:none;flex:1}.doc-viewer-canvas{display:flex;flex-direction:column;align-items:center;gap:12px}.doc-viewer-canvas canvas{background:var(--surface-active);box-shadow:0 2px 10px var(--shadow-strong);max-width:100%;height:auto}.doc-viewer-page.docx .docx-wrapper{background:transparent;padding:0}.doc-viewer-page.docx .docx-wrapper>section.docx{box-shadow:0 2px 10px var(--shadow-strong);margin-bottom:12px;color:var(--text-invert)}.doc-md{max-width:820px;margin:0 auto;background:var(--surface-active);color:var(--text-invert);padding:32px 40px;border-radius:4px;box-shadow:0 2px 10px var(--shadow-strong);font-size:15px;line-height:1.75;text-align:start}.doc-md h1,.doc-md h2,.doc-md h3,.doc-md h4{color:var(--text-invert);margin:1.2em 0 .5em;line-height:1.35}.doc-md h1{font-size:1.8em;border-bottom:1px solid var(--line-strong);padding-bottom:.3em}.doc-md h2{font-size:1.4em;border-bottom:1px solid var(--line-strong);padding-bottom:.3em}.doc-md p,.doc-md ul,.doc-md ol{margin:0 0 1em}.doc-md a{color:var(--blue-text)}.doc-md code{background:var(--surface-active);border-radius:4px;padding:.1em .35em;font-size:.9em}.doc-md pre{background:var(--surface-active);border-radius:6px;padding:12px;max-height:none;color:var(--text-invert)}.doc-md pre code{background:none;padding:0}.doc-md blockquote{border-inline-start:4px solid var(--line-strong);color:var(--text-dim);padding-inline-start:12px;margin:0 0 1em}.doc-md table{border-collapse:collapse;margin:0 0 1em;font-size:14px;width:auto}.doc-md th,.doc-md td{border:1px solid var(--line-strong);padding:6px 12px;color:var(--text-invert)}.doc-md th{background:var(--surface-active);position:static}.doc-md img{max-width:100%}@media(max-width:720px){.doc-md{padding:18px}.doc-viewer-page{padding:6px}}.workbench{position:relative}.coding-head{padding:0;margin-top:4px}.coding-progress{height:5px;background:var(--surface-hover);border-radius:9px;overflow:hidden;margin:10px 0 4px}.coding-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--mint-solid),var(--mint-solid));transition:width .3s}.coding-tags .tag{min-height:150px;cursor:pointer;transition:transform .15s,box-shadow .15s}.coding-tags .tag:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 6px 18px var(--shadow-strong)}.coding-tag-top{display:flex;justify-content:space-between;width:100%}.coding-tag-top small{font-size:10px;color:var(--muted)}.coding-status{margin-top:auto;font-size:11px;display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:10px;background:var(--surface-sunken);color:var(--text-muted)}.coding-status.is-found{color:var(--mint);background:var(--mint-surface)}.coding-status.is-missing{color:var(--amber);background:var(--amber-surface)}.tag.is-found{border-color:color-mix(in srgb,var(--accent) 70%,var(--line))}.coding-all{margin-top:14px}.coding-layer{position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:14px}.coding-backdrop{position:absolute;inset:0;background:var(--bg);backdrop-filter:blur(3px)}.coding-popup{position:relative;width:min(920px,100%);max-height:100%;display:flex;flex-direction:column;background:var(--surface);border:1px solid color-mix(in srgb,var(--accent) 55%,var(--line-strong));border-radius:14px;box-shadow:0 24px 80px var(--shadow-strong);overflow:hidden;color:var(--text)}.coding-popup-head{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:color-mix(in srgb,var(--accent) 10%,var(--surface-raised));border-bottom:1px solid var(--line-strong)}.coding-popup-head>div{flex:1;min-width:0}.coding-popup-head h2{margin:0;font-size:18px;color:var(--accent);outline:none}.coding-popup-head p{margin:2px 0 0;font-size:12px;color:var(--text-soft)}.coding-popup-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:color-mix(in srgb,var(--accent) 20%,var(--surface-sunken));color:var(--accent);flex-shrink:0}.coding-popup-body{padding:12px 16px;overflow:auto;min-height:0;scrollbar-width:thin}.coding-lookfor{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:8px;background:var(--surface-raised);border:1px solid var(--line-strong);font-size:12px;color:var(--text)}.coding-lookfor .icon{color:var(--amber);margin-top:3px}.coding-popup .source{min-height:170px}.coding-found{display:flex;align-items:center;gap:8px;margin:16px 0 6px}.coding-popup .annotation{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.coding-popup .annotation blockquote{flex:1 1 100%;margin:0}.coding-missing{padding:10px 12px;border:1px dashed var(--line-strong);border-radius:8px}.coding-popup-foot{display:flex;justify-content:space-between;gap:8px;padding:10px 16px;border-top:1px solid var(--line);background:var(--surface-sunken)}@media(max-width:720px){.coding-layer{padding:4px}.coding-tags .tag{min-height:120px}.coding-popup-head{flex-wrap:wrap}}.step-clock{display:inline-flex;align-items:center;gap:8px}.step-clock .timer,.workbench>.section-row .step-clock .timer,.workbench>.section-row .step-clock.timer{display:inline-flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums}.step-clock.low .timer{color:var(--amber)}.step-clock.over .timer{color:var(--coral)}.step-clock.done{color:var(--mint)}.step-clock .btn{font-size:11px;min-height:30px;padding:4px 9px}.coding-tags{align-items:stretch}.week-measures{margin:22px 0;padding-top:16px;border-top:1px solid var(--line)}.measure-overall{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:6px 0 14px}.measure-overall strong{font-size:30px;color:var(--text)}.measure-overall span{color:var(--muted)}.measure-trait>summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;list-style-position:inside}.measure-trait>summary small{margin-inline-end:auto}.measure-bar{flex:1 1 100%;margin-top:4px}.measure-sub{border-top:1px solid var(--line);padding:10px 0}.measure-sub .section-row{align-items:flex-start}.measure-descriptors ol{margin:8px 0;padding-inline-start:20px;font-size:12px;color:var(--text-soft)}.measure-descriptors li{margin:4px 0}.measure-descriptors li.current{color:var(--mint)}.rubric-dialog .modal-body{display:block}.rubric-view{display:flex;flex-direction:column;gap:12px}.rubric-head{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.rubric-head h3{margin:4px 0}.rubric-scale{list-style:none;display:flex;flex-wrap:wrap;gap:6px 12px;margin:0;padding:0;font-size:12px;color:var(--text-soft);align-self:flex-start}.rubric-scale li{display:flex;gap:5px;align-items:center}.rubric-tabs{display:inline-flex;gap:4px;padding:3px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface-sunken);align-self:flex-start}.rubric-tabs button{padding:6px 12px;border-radius:7px;color:var(--text-muted);font-size:12px}.rubric-tabs button.current{background:var(--surface-hover);color:var(--text)}.rubric-trait{border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);padding:0 14px}.rubric-trait.related{border-color:var(--purple);box-shadow:0 0 0 2px var(--glow-purple)}.rubric-trait>summary,.rubric-sub>summary{display:flex;justify-content:space-between;align-items:center;gap:10px;cursor:pointer;list-style:none;padding:12px 0;color:var(--text)}.rubric-trait>summary::-webkit-details-marker,.rubric-sub>summary::-webkit-details-marker{display:none}.rubric-trait>summary span{display:flex;flex-direction:column}.rubric-trait>summary small{color:var(--muted);font-size:11px}.rubric-trait[open]>summary .icon{transform:rotate(45deg)}.rubric-trait>p{font-size:13px;color:var(--text-soft)}.rubric-target{display:flex;gap:10px;padding:10px 12px;margin:0 0 10px;border-radius:8px;background:var(--mint-surface);border:1px solid var(--mint-line);color:var(--mint-text)}.rubric-target p{margin:2px 0 0;font-size:12px}.rubric-sub{border-top:1px solid var(--line)}.rubric-sub>summary{padding:10px 0;font-size:13px}.rubric-sub>summary small{color:var(--muted);white-space:nowrap;font-size:11px}.rubric-ladder{list-style:none;margin:6px 0 12px;padding:0;display:grid;gap:6px}.rubric-ladder li{display:grid;grid-template-columns:130px 1fr;gap:10px;align-items:start;font-size:12px;color:var(--text-soft);padding:6px 8px;border-radius:6px;background:var(--surface)}.rubric-ladder li.rung-3{outline:1px solid var(--mint-line)}.rubric-ask{border:1px solid var(--purple-line-soft);border-radius:12px;background:var(--surface);padding:14px 16px;margin-top:6px}.rubric-ask h4{margin:0 0 4px;color:var(--purple-text);display:flex;gap:6px;align-items:center}.rubric-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.rubric-suggestions button{border:1px solid var(--purple-line-soft);border-radius:16px;padding:5px 12px;font-size:12px;color:var(--purple-text);background:var(--surface-raised)}.rubric-suggestions button:hover{background:var(--surface-hover)}.rubric-thread{display:flex;flex-direction:column;gap:10px;max-height:340px;overflow:auto;margin:8px 0}.rubric-q{align-self:flex-end;margin:0 0 6px auto;max-width:85%;padding:8px 12px;border-radius:12px 12px 2px;background:var(--blue-fill);color:var(--text-strong);font-size:13px;width:fit-content}.rubric-a{padding:10px 12px;border-radius:12px 12px 12px 2px;background:var(--surface);border:1px solid var(--line-strong);font-size:13px}.rubric-a p{margin:0 0 6px}.rubric-a ul{margin:4px 0;padding-inline-start:18px}.rubric-form{display:flex;gap:8px}.rubric-form input{flex:1}.guided-fields{list-style:none;margin:6px 0 12px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px}.guided-fields li{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--text-soft);padding:6px 8px;border-radius:6px;background:var(--surface)}.guided-criterion{border-inline-start:3px solid var(--purple);padding:6px 12px;margin:8px 0;background:var(--surface);border-radius:0 8px 8px 0}.guided-criterion p{margin:4px 0 0}.guided-check{margin:10px 0}.guided-check h4{margin:0 0 6px}.guided-check label{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;margin:6px 0;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);cursor:pointer}.guided-check label.ok{border-color:var(--mint-line);background:var(--mint-surface)}.guided-check label span{display:flex;flex-direction:column;gap:4px}.guided-check label small{color:var(--muted);font-size:11px;line-height:1.6}.flow-guide .btn{white-space:normal;text-align:center}@media(max-width:760px){.rubric-ladder li,.flow-body{grid-template-columns:1fr}.flow-guide{position:static}}.partner-choice{margin-bottom:18px}.partner-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.partner-option{border:1px solid var(--line);background:var(--surface-raised);border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.partner-option h4{margin:0;display:flex;align-items:center;gap:6px}.partner-option p{margin:0;color:var(--muted)}.ai-extra{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.ai-extra h3{display:flex;align-items:center;gap:6px;margin:0 0 8px}.rubric-scores{display:flex;flex-direction:column;gap:4px;min-width:180px}.rubric-scores>div{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px}.rubric-scores>div span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}.rubric-scores .rubric-overall{border-top:1px solid var(--line);padding-top:4px;font-weight:600}.suggest-host{position:relative}.suggest-host:has(.suggest)>.field>span:first-child{padding-inline-end:240px}.suggest{position:absolute;top:0;inset-inline-end:0;display:flex;gap:6px}.suggest-trigger{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border:1px solid var(--blue-line);border-radius:999px;background:transparent;color:inherit;font:inherit;font-size:11px;line-height:1.5;cursor:pointer;opacity:.75}.suggest-trigger:hover,.suggest-trigger:focus-visible{opacity:1;background:var(--blue-fill)}.seamful-checklist{padding:12px;border:1px solid var(--line);border-radius:10px;margin:12px 0;background:var(--surface)}.seamful-checklist ol{columns:2;column-gap:28px;padding-inline-start:24px;line-height:1.65}.seamful-checklist li{break-inside:avoid;overflow-wrap:anywhere}.seamful-transition{display:block;margin:12px 0;padding:12px;overflow-wrap:anywhere;line-height:1.5}.seamful-transition p{margin:8px 0}.step-list>.seamful-transition,.curriculum-list>.seamful-transition{margin-inline-start:12px;font-size:.85rem}@media(max-width:600px){.seamful-checklist ol{columns:1}.seamful-transition .btn{white-space:normal}}.help-chip{position:fixed;z-index:1000;inset-inline-end:22px;bottom:90px;width:44px;height:44px;border-radius:50%;border:1px solid var(--blue-line);background:linear-gradient(145deg,var(--blue-fill),var(--blue-fill));color:var(--text-strong);font:700 20px/1 Inter,system-ui,sans-serif;box-shadow:0 6px 22px var(--shadow-strong);display:grid;place-items:center;transition:transform .15s,box-shadow .15s}.help-chip:hover,.help-chip.open{transform:scale(1.07);box-shadow:0 0 0 4px var(--glow-blue),0 6px 22px var(--shadow-strong)}.modal .help-chip{position:absolute;top:20px;bottom:auto;inset-inline-end:78px;width:36px;height:36px;font-size:16px;box-shadow:none}.modal.step-modal .help-chip{inset-inline-end:126px}.help-card{position:fixed;z-index:1001;display:flex;flex-direction:column;max-height:min(520px,calc(100dvh - 16px));background:var(--surface);color:var(--text);border:1px solid var(--blue-line);border-radius:14px;box-shadow:0 24px 70px var(--shadow-strong);overflow:hidden;font-size:13px;text-align:start}.help-card header{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface-raised);border-bottom:1px solid var(--line-strong);cursor:move;user-select:none;touch-action:none}.help-card header h2{margin:0;font-size:14px;flex:1}.help-mark{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--blue-fill);color:var(--text-strong);font-weight:700;font-size:13px}.help-x{display:grid;place-items:center;width:30px;height:30px;border-radius:7px;color:var(--text-soft)}.help-x:hover{background:var(--surface-hover)}.help-context{margin:0;padding:6px 12px;font-size:11px;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.help-thread{flex:1;min-height:90px;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:8px;scrollbar-width:thin}.help-turn{padding:9px 11px;border-radius:10px;line-height:1.65;max-width:95%;overflow-wrap:anywhere}.help-turn p{margin:0 0 6px}.help-turn p:last-child{margin:0}.help-turn ul{margin:4px 0;padding-inline-start:18px}.help-turn code{font-size:12px;background:var(--surface-sunken);border:1px solid var(--line-strong);border-radius:4px;padding:0 4px}.help-turn.assistant{background:var(--surface-raised);border:1px solid var(--line-strong);align-self:flex-start}.help-turn.user{background:var(--blue-fill);color:var(--text-strong);align-self:flex-end}.help-typing{display:flex;gap:4px;align-items:center}.help-typing>span:not(.sr-only){width:6px;height:6px;border-radius:50%;background:var(--blue-solid);animation:help-dot 1s infinite alternate}.help-typing>span:nth-child(2){animation-delay:.2s}.help-typing>span:nth-child(3){animation-delay:.4s}@keyframes help-dot{0%{opacity:.25}to{opacity:1}}@media(prefers-reduced-motion:reduce){.help-typing>span{animation:none}.help-chip{transition:none}}.help-error{margin:0;color:var(--coral-text);background:var(--coral-surface);border:1px solid var(--coral-line-soft);border-radius:8px;padding:8px 10px}.help-ask{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line)}.help-ask input{flex:1;min-width:0}.help-card footer{padding:8px 12px 10px;background:var(--surface-sunken);border-top:1px solid var(--line);display:grid;gap:4px}.help-card footer label{font-size:11px;color:var(--text-soft);display:flex;align-items:center;gap:4px}.help-card footer small{font-size:10px}.help-card footer{padding-inline-end:26px}.help-resize{position:absolute;bottom:0;inset-inline-end:0;width:20px;height:20px;min-width:0;min-height:0;padding:0;border:0;border-radius:0 0 13px;background:linear-gradient(135deg,transparent 0 50%,var(--muted) 50% 56%,transparent 56% 66%,var(--muted) 66% 72%,transparent 72% 82%,var(--muted) 82% 88%,transparent 88%);opacity:.7;cursor:nwse-resize;touch-action:none}.help-resize:hover,.help-resize:focus-visible{opacity:1}.help-resize:focus-visible{outline:2px solid var(--blue-solid);outline-offset:-2px}[dir=rtl] .help-resize{transform:scaleX(-1);cursor:nesw-resize}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.flow-read{margin-top:18px;padding:14px 16px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface)}.flow-read h4{display:flex;align-items:center;gap:6px;margin:0 0 6px}.flow-read h4 small{color:var(--muted);font-weight:400}.flow-panel{outline:none}.flow-panel>.artifacts{margin-top:8px;padding-top:0;border-top:0}.flow-guide .btn{margin-top:8px;align-self:flex-start}@media(max-width:720px){.help-chip{bottom:100px;inset-inline-end:14px}.modal .help-chip{top:16px}}.learning-moment-entry{margin:10px 0;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.learning-concepts{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:8px}.concept-link,.concept-inline{color:var(--purple);background:transparent;border:0;border-bottom:1px dotted currentColor;cursor:pointer;font:inherit;padding:0 2px;text-align:inherit}.concept-link:focus-visible,.concept-inline:focus-visible{outline:2px solid currentColor;outline-offset:3px}.modal.learning-modal{width:calc(100vw - 24px);max-width:calc(100vw - 24px);height:calc(100vh - 24px);height:calc(100dvh - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);display:flex;flex-direction:column;overflow:hidden;padding:0}.learning-modal:not([open]){display:none}.learning-modal>.modal-header{flex:none;gap:12px;padding:10px 16px;position:relative}.learning-modal>.modal-header>div{flex:1;min-width:0;padding-inline-end:44px;overflow-wrap:anywhere}.learning-modal>.modal-header>.btn{flex:none;min-width:44px;min-height:44px}.learning-modal .modal-header h2{font-size:1.15rem;margin:0}.learning-preview{overflow:auto;min-height:0;flex:1;padding:18px;line-height:1.6}.learning-consent{display:flex;gap:10px;align-items:flex-start;margin:16px 0}.learning-consent input{flex-shrink:0;margin-top:5px}.learning-frame-area{display:flex;flex:1;min-height:0;min-width:0;overflow:hidden;flex-direction:column;padding:8px;gap:6px}.learning-frame-tools{flex:none;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.learning-frame-tools small{flex:1;min-width:150px}.learning-frame-area iframe{display:block;width:100%;flex:1 1 0;min-height:0;min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.learning-frame-area>p{flex:none;margin:0}.learning-frame-notes{flex:none;font-size:12px;max-height:25dvh;overflow:auto}.learning-frame-notes summary{cursor:pointer;color:var(--muted)}.learning-frame-notes p{margin:6px 0 0}.modal.learning-return-confirm{position:fixed;inset:0;margin:auto;width:min(560px,calc(100vw - 32px));max-width:calc(100vw - 32px);height:fit-content;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;padding:20px;line-height:1.6}.learning-return-confirm:not([open]){display:none}.modal.learning-return-confirm>.help-chip{top:16px;inset-inline-end:16px}.learning-return-confirm>h2{padding-inline-end:44px}.learning-return-confirm .inline{display:flex;flex-wrap:wrap;gap:10px}.learning-return-confirm .btn{white-space:normal;min-height:44px}.learning-return-confirm>.fine{margin:14px 0 0}.learning-modal>p{margin:10px 18px}@media(max-width:600px){.modal.learning-modal{width:100vw;max-width:100vw;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;border-radius:0;border:0}.learning-modal .modal-header{padding:10px}.learning-preview{padding:12px}.learning-moment-entry .section-row{align-items:flex-start;flex-wrap:wrap}.learning-frame-tools .btn{font-size:.8rem;min-height:40px;white-space:normal}.learning-frame-tools small{display:none}.learning-frame-area{padding:4px;gap:4px}.modal.learning-return-confirm{padding:16px}}.learning-launch-status pre{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.learning-catalogue{max-width:1240px;margin:0 auto;padding:24px;display:grid;gap:22px;color:var(--text)}.catalogue-header,.catalogue-header nav,.catalogue-brand{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.catalogue-header{justify-content:space-between}.catalogue-brand{color:var(--mint);text-decoration:none;font-size:1.25rem}.catalogue-header nav{gap:8px}.catalogue-header .btn{font-size:.82rem}.catalogue-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;padding:28px;align-items:center}.catalogue-hero h1{font-size:clamp(1.7rem,4vw,2.5rem);line-height:1.2;margin:10px 0}.catalogue-hero p{max-width:720px;line-height:1.7}.catalogue-counts{display:flex;gap:26px}.catalogue-counts>div{display:grid;gap:5px;text-align:center}.catalogue-counts b{font-size:2rem;color:var(--mint)}.catalogue-counts span{font-size:.8rem;color:var(--text-muted)}.catalogue-access{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px}.catalogue-access h2{font-size:1.1rem}.catalogue-access p{line-height:1.6;margin:6px 0;color:var(--text-muted)}.catalogue-access>a{flex-shrink:0}.catalogue-boundary{line-height:1.6;margin:0}.catalogue-filters{padding:20px;display:grid;gap:16px}.catalogue-search{display:grid;gap:8px}.catalogue-search input{width:100%;min-width:0}.catalogue-units{display:flex;flex-wrap:wrap;gap:8px}.catalogue-filters p{margin:0;font-size:.88rem;color:var(--text-muted)}.catalogue-unit{display:grid;gap:16px}.catalogue-unit-heading{display:flex;gap:14px;align-items:center}.catalogue-unit-heading>div{flex:1;min-width:0}.catalogue-unit-heading .orb{flex-shrink:0}.catalogue-unit-heading h2{font-size:1.25rem;line-height:1.45}.catalogue-unit-heading p{color:var(--text-muted);margin:6px 0;line-height:1.5}.catalogue-unit-heading>.badge{flex-shrink:0}.catalogue-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.catalogue-step{padding:22px;display:flex;flex-direction:column;gap:12px;min-width:0;scroll-margin-top:24px}.catalogue-step.focused{outline:2px solid var(--mint);outline-offset:2px}.catalogue-step h3{font-size:1.05rem;line-height:1.5}.catalogue-step p{line-height:1.65;margin:0;overflow-wrap:anywhere}.catalogue-step-intro{color:var(--text-muted)}.catalogue-concepts{display:flex;gap:6px;flex-wrap:wrap}.catalogue-concepts .badge{white-space:normal}.catalogue-step details{border-top:1px solid var(--line);padding-top:12px}.catalogue-step summary{color:var(--blue);cursor:pointer;line-height:1.5}.catalogue-step h4{margin:12px 0 5px}.catalogue-step .learning-moment-entry{margin:0;padding:12px;flex:1}.catalogue-step .section-row{flex-wrap:wrap;gap:8px}.catalogue-step-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:8px}.catalogue-step-actions a{color:var(--blue);font-size:.85rem}.catalogue-footer{padding:16px 0;text-align:center;color:var(--text-muted);font-size:.85rem}.catalogue-start{margin-top:auto}@media(max-width:900px){.catalogue-hero{grid-template-columns:1fr}.catalogue-counts{justify-content:flex-start}.catalogue-header nav{width:100%}}@media(max-width:640px){.learning-catalogue{padding:14px;gap:18px}.catalogue-cards{grid-template-columns:1fr}.catalogue-hero,.catalogue-step{padding:18px}.catalogue-access{align-items:flex-start;flex-direction:column;gap:14px}.catalogue-unit-heading{flex-wrap:wrap}.catalogue-unit-heading>.badge{margin-inline-start:54px}.catalogue-header nav .btn{font-size:.76rem}.catalogue-counts{gap:22px}.catalogue-counts b{font-size:1.7rem}}
