:root{--bg:#F4F5F3;--surface:#FFFFFF;--surface-2:#ECEFED;--rail:#E7EAE8;--text:#1B2329;--text-2:#4F5A62;--text-3:#848E95;--line:#DDE2E0;--teal:#2D4A68;--teal-2:#3B5E85;--accent-soft:#DEE6EF;--amber:#C49A3A;--amber-ink:#7E5E17;--clay:#B4462F;--peach:#F4C6A0;--wood:#8A5A3C;--leaf:#4E7D4C;--bloom:#C24C8B;--good-bg:#E2EFE7;--good-ink:#2B6347;--bad-bg:#F5E1DB;--bad-ink:#8E3524;--warn-bg:#F7EDD6;--warn-ink:#6E4E0E;--night:#0F2B3C;--night-2:#163B4F;--shadow:0 1px 2px rgba(27,35,41,.06), 0 8px 24px -14px rgba(27,35,41,.22);--radius-card:12px;--radius-control:8px;--radius-chip:999px;--ease:cubic-bezier(.2,.7,.3,1);--font-body:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;--font-display:Fraunces,Georgia,"Times New Roman",serif;--font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--on-accent:#FFFFFF}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg:#14181B;--surface:#1C2226;--surface-2:#232A2F;--rail:#181D20;--text:#E9EBE8;--text-2:#A7B0B5;--text-3:#78838A;--line:#2E363B;--teal:#8FB3D9;--teal-2:#AFCBE8;--accent-soft:#22324A;--amber:#D6AE55;--amber-ink:#E2BE6A;--clay:#E08A68;--good-bg:#1E3328;--good-ink:#9AD7AF;--bad-bg:#3A221D;--bad-ink:#F0B5A8;--warn-bg:#3A2F17;--warn-ink:#EBD093;--shadow:0 1px 2px rgba(0,0,0,.3), 0 8px 24px -14px rgba(0,0,0,.6);--on-accent:#14181B;color-scheme:dark}}:root[data-theme=dark]{--bg:#14181B;--surface:#1C2226;--surface-2:#232A2F;--rail:#181D20;--text:#E9EBE8;--text-2:#A7B0B5;--text-3:#78838A;--line:#2E363B;--teal:#8FB3D9;--teal-2:#AFCBE8;--accent-soft:#22324A;--amber:#D6AE55;--amber-ink:#E2BE6A;--clay:#E08A68;--good-bg:#1E3328;--good-ink:#9AD7AF;--bad-bg:#3A221D;--bad-ink:#F0B5A8;--warn-bg:#3A2F17;--warn-ink:#EBD093;--shadow:0 1px 2px rgba(0,0,0,.3), 0 8px 24px -14px rgba(0,0,0,.6);--on-accent:#14181B;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg)}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:14.5px;line-height:1.55;-webkit-font-smoothing:antialiased}#root{min-height:100vh;background:var(--bg)}h1,h2,h3,.serif{font-family:Fraunces,Georgia,Times New Roman,serif;font-optical-sizing:auto;font-weight:600;text-wrap:balance;margin:0}a{color:var(--teal)}button{font:inherit;color:inherit}img{max-width:100%}.wrap{max-width:1160px;margin:0 auto;padding:0 28px}.eyebrow{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--teal)}.mono{font-family:var(--font-mono)}.muted{color:var(--text-2)}.num{font-variant-numeric:tabular-nums}:focus-visible{outline:3px solid var(--teal);outline-offset:2px;border-radius:4px}.skip-link{position:absolute;left:-9999px;top:0;background:var(--teal);color:var(--on-accent);padding:10px 16px;border-radius:0 0 8px;z-index:100;font-weight:600;text-decoration:none}.skip-link:focus{left:0}.top{position:sticky;top:0;z-index:10;background:var(--night);color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}.shell--scene .top{position:absolute;left:0;right:0;background:transparent;border-bottom:0}.shell--scene .top .wrap{max-width:none;padding:0 28px}.shell--scene .top .brand{opacity:0;pointer-events:none}.shell--scene:has(.ls-scene[data-tone=light]) .top nav a,.shell--scene:has(.ls-scene[data-tone=light]) .top nav button{color:var(--text)}.shell--scene:has(.ls-scene[data-tone=light]) .top nav a:hover,.shell--scene:has(.ls-scene[data-tone=light]) .top nav button:hover{background:#1e2a330f}.shell--scene .site-footer{display:none}.top .wrap{display:flex;align-items:center;gap:20px;height:60px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff;cursor:pointer;padding:8px 10px;margin:-8px -10px;border-radius:8px;transition:background .15s}.brand:hover{background:#ffffff14}.brand:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.brand img{height:28px;width:auto;display:block}.brand .school{font-weight:800;letter-spacing:.06em;font-size:13px;text-transform:uppercase}.brand .course{font-family:Fraunces,serif;font-size:15px;color:var(--amber)}.top nav{margin-left:auto;display:flex;gap:4px;align-items:center}.top nav a,.top nav button{color:#fff;text-decoration:none;padding:8px 12px;border-radius:6px;font-size:14px;font-weight:600;background:transparent;border:0;cursor:pointer;opacity:.85}.top nav a:hover,.top nav button:hover{opacity:1;background:#ffffff14}.top nav .on{opacity:1;background:#ffffff1f}.top nav a.glass{opacity:1;background:#ffffff1a;border:1px solid rgba(255,255,255,.25);border-radius:10px;backdrop-filter:blur(12px) saturate(1.4);-webkit-backdrop-filter:blur(12px) saturate(1.4);box-shadow:inset 0 1px #fff3,0 1px 3px #00000026;transition:background .2s,border-color .2s,box-shadow .2s}.top nav a.glass:hover{background:#ffffff2e;border-color:#ffffff59;box-shadow:inset 0 1px #ffffff4d,0 2px 8px #ffffff0f}.top nav a.glass.on{background:#ffffff29;border-color:#ffffff4d}.avatar{width:32px;height:32px;border-radius:50%;background:var(--amber);color:var(--night);display:grid;place-items:center;font-weight:800;font-size:13px;border:0;cursor:pointer}.switch{position:relative}.swbtn{display:flex;align-items:center;gap:8px;background:#ffffff14;border:1px solid rgba(255,255,255,.18);color:#fff;padding:6px 10px 6px 12px;border-radius:8px;cursor:pointer}.swbtn:hover{background:#ffffff24}.swbtn .swk{font-weight:800;letter-spacing:.04em;font-size:13px}.swbtn .swn{font-family:Fraunces,serif;font-size:14px;color:var(--amber)}.swmenu{position:absolute;top:calc(100% + 8px);left:0;min-width:300px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:6px;z-index:20}.swmenu a{display:grid;grid-template-columns:76px 1fr;gap:2px 10px;padding:9px 10px;border-radius:8px;text-decoration:none;color:inherit;font-size:14px}.swmenu a:hover{background:var(--surface-2)}.swmenu a.on{background:color-mix(in srgb,var(--amber) 16%,transparent)}.swmenu a b{font-weight:800;letter-spacing:.03em;font-size:13px;white-space:nowrap;grid-row:span 2;align-self:start;padding-top:2px}.swmenu a span{font-family:Fraunces,serif}.swmenu a em{font-style:normal;font-size:12px;color:var(--text-2)}.swmenu a.all{grid-template-columns:1fr;color:var(--teal);font-weight:700;border-top:1px solid var(--line);border-radius:0 0 8px 8px;margin-top:4px}.hub{padding:44px 0 72px}.hub h1{font-size:36px;font-weight:700;margin-top:8px}.hub .lede{font-size:17px;color:var(--text-2);max-width:60ch;margin-top:10px}.courses{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:28px}.course-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:22px 24px;display:grid;gap:10px;text-decoration:none;color:inherit;position:relative}.course-card.live{box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--amber) 50%,var(--line))}.course-card .code{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--amber-ink)}.course-card h3{font-size:22px;font-weight:700}.course-card p{margin:0;color:var(--text-2);font-size:14.5px;max-width:48ch}.course-card .foot{display:flex;gap:10px;align-items:center;margin-top:4px;font-size:13px;color:var(--text-2)}.course-card .pill{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:var(--radius-chip);background:var(--surface-2)}.course-card.live .pill{background:var(--good-bg);color:var(--good-ink)}.course-card.soon{opacity:.75}.hub .note{margin-top:28px;font-size:14px;color:var(--text-2);max-width:64ch}.hub .note code{font-family:var(--font-mono);font-size:13px;background:var(--surface-2);padding:1px 6px;border-radius:5px}.admin{padding:40px 0 72px;display:grid;gap:28px}.admin h1{font-size:34px;font-weight:700;margin-top:6px}.admin .lede{font-size:16px;color:var(--text-2);max-width:66ch;margin-top:8px}.admin-head{display:flex;align-items:center;gap:8px;color:var(--amber-ink)}.admin-head svg{color:var(--amber-ink)}.admin-head span{font-family:Fraunces,serif;font-size:15px;font-weight:600;letter-spacing:.02em}.admin-tabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:0;margin-top:-6px}.admin-tabs a{padding:10px 4px;margin-right:18px;text-decoration:none;color:var(--text-2);font-size:14px;font-weight:600;border-bottom:2px solid transparent}.admin-tabs a:hover{color:var(--text)}.admin-tabs a.on{color:var(--text);border-bottom-color:var(--amber)}.chip.status-live,.chip.status-done,.chip.status-verified{background:var(--good-bg);color:var(--good-ink);border-color:transparent}.chip.status-draft,.chip.status-queued,.chip.status-running{background:var(--warn-bg);color:var(--warn-ink);border-color:transparent}.chip.status-failed,.chip.status-retired{background:var(--bad-bg);color:var(--bad-ink);border-color:transparent}.arow{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.apanel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden}.apanel .ah{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}.apanel .ah h3{font-size:17px;font-weight:700}.apanel .ah .r{margin-left:auto;display:flex;gap:8px;align-items:center;font-size:13px;color:var(--text-2)}.apanel .body{padding:16px 18px;display:grid;gap:14px}.term{padding:14px 18px;border-bottom:1px solid var(--line);display:grid;gap:8px}.term:last-child{border-bottom:0}.term .th{display:flex;align-items:baseline;gap:10px}.term .th b{font-family:Fraunces,serif;font-size:17px}.term .th .st{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:var(--radius-chip);background:var(--surface-2)}.term.live .th .st{background:var(--good-bg);color:var(--good-ink)}.term.draft .th .st{background:var(--warn-bg);color:var(--warn-ink)}.term .dates{font-size:12.5px;color:var(--text-2);display:flex;gap:14px;flex-wrap:wrap}.term .dates b{color:var(--text);font-weight:600}.offer{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;padding:8px 10px;border-radius:8px;background:var(--surface-2);font-size:14px}.offer .sec{grid-column:1/-1;font-size:12.5px;color:var(--text-2)}.offer .ver{font-family:var(--font-mono);font-size:12.5px;padding:2px 7px;border-radius:5px;background:var(--surface);border:1px solid var(--line)}.offer .ver.dev{border-style:dashed;color:var(--warn-ink)}table.auto{width:100%;border-collapse:collapse;font-size:14px}table.auto th{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);font-weight:700;text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}table.auto td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}table.auto tr:nth-child(2n) td{background:var(--surface-2)}table.auto tr:last-child td{border-bottom:0}table.auto td small{display:block;color:var(--text-2);font-size:12.5px}table.auto .ok{color:var(--good-ink);font-weight:600}table.auto .due{color:var(--warn-ink);font-weight:600}.roll{background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--amber);border-radius:var(--radius-card);padding:18px 20px;display:grid;gap:12px}.roll h3{font-size:18px}.roll .dgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.roll .d{background:var(--surface-2);border-radius:8px;padding:8px 10px;font-size:13px}.roll .d b{display:block;font-size:14.5px;font-variant-numeric:tabular-nums}.roll .d span{color:var(--text-2);font-size:12px}.roll .acts{display:flex;gap:10px;flex-wrap:wrap}.vers{padding:14px 18px;display:grid;gap:10px}.ver-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;font-size:14px}.ver-row .tag{font-family:var(--font-mono);font-size:12.5px;padding:3px 8px;border-radius:6px;background:var(--surface-2)}.ver-row .tag.dev{background:var(--warn-bg);color:var(--warn-ink)}.ver-row small{display:block;color:var(--text-2);font-size:12.5px}.scene-strip{position:relative;height:150px;overflow:hidden;isolation:isolate}.scene-strip .ls-scene{position:absolute;top:0;right:0;bottom:0;left:0;min-height:0}.scene-strip .ls-content{position:absolute;top:0;right:0;bottom:0;left:0;display:block;padding:0;animation:none}.scene-strip-shade{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.ls-scene[data-tone=dark] .scene-strip-shade{background:linear-gradient(180deg,#0f2b3c00 38%,#0f2b3cc7)}.ls-scene[data-tone=light] .scene-strip-shade{background:linear-gradient(180deg,#fbf4e600 38%,#fbf4e6e6)}.scene-strip-content{position:absolute;left:50%;bottom:0;transform:translate(-50%);width:100%;padding-bottom:20px;color:var(--ls-fg)}.scene-strip-content h1{color:var(--ls-card-title);font-size:32px;text-shadow:var(--ls-shadow)}.scene-strip-eyebrow{color:var(--ls-eyebrow);text-shadow:var(--ls-shadow);margin-bottom:4px}@media (max-width:700px){.scene-strip{height:118px}.scene-strip-content h1{font-size:22px}.scene-strip-content{padding-bottom:14px}}.hero{padding:44px 0 28px;display:grid;grid-template-columns:1.4fr 1fr;gap:28px;align-items:start}.hero h1{font-size:36px;font-weight:700;line-height:1.15;margin-top:8px}.hero .lede{font-size:17px;color:var(--text-2);max-width:56ch;margin-top:12px}.continue{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow);padding:22px 24px;display:grid;gap:14px}.continue h3{font-size:22px;font-weight:700}.bar{height:8px;background:var(--surface-2);border-radius:var(--radius-chip);overflow:hidden}.bar>i{display:block;height:100%;background:var(--amber);border-radius:var(--radius-chip)}.steps-mini{display:flex;gap:6px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-chip);font-size:12.5px;font-weight:600;border:1px solid var(--line);background:var(--surface)}.chip.done{background:var(--good-bg);color:var(--good-ink);border-color:transparent}.chip.now{background:var(--teal);color:var(--on-accent);border-color:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:var(--radius-control);border:1px solid var(--line);background:var(--surface);font-weight:700;cursor:pointer;text-decoration:none;color:var(--text);transition:transform .15s var(--ease),background .15s}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--teal);color:var(--on-accent);border-color:transparent}.btn.primary:hover{background:var(--teal-2)}.btn.sm{padding:7px 12px;font-size:13.5px}.btn:disabled{opacity:.6;cursor:default}.btn:disabled:hover{background:var(--surface)}.notice{border-radius:var(--radius-control);padding:12px 14px;font-size:14px;display:flex;gap:10px;align-items:flex-start}.notice.info{background:var(--surface-2);color:var(--text)}.notice.error{background:var(--bad-bg);color:var(--bad-ink)}.notice.good{background:var(--good-bg);color:var(--good-ink)}.grid{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;padding:8px 0 64px}.track{position:relative}.track h2{font-size:22px;margin-bottom:14px}.mod{display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:start;padding:16px 16px 16px 8px;border-radius:12px;position:relative;text-decoration:none;color:inherit}.mod+.mod{margin-top:2px}.mod:before{content:"";position:absolute;left:29px;top:-2px;bottom:-2px;width:2px;background:var(--line)}.mod:first-of-type:before{top:24px}.mod:last-of-type:before{bottom:auto;height:26px}.dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--line);background:var(--surface);margin:8px 0 0 21px;position:relative;z-index:1}.mod.done .dot{background:var(--good-ink);border-color:var(--good-ink)}.mod.now .dot{background:var(--amber);border-color:var(--amber);box-shadow:0 0 0 5px color-mix(in srgb,var(--amber) 25%,transparent)}.mod.now{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}.mod .wk,.mod .t,.mod .topics{display:block}.mod .wk{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2)}.mod .t{font-family:Fraunces,serif;font-size:18px;font-weight:700;margin-top:2px}.mod.lock .t,.mod.lock .topics{color:var(--text-2)}.mod .topics{font-size:14px;color:var(--text-2);margin-top:3px}.mod .parts{display:flex;gap:10px;margin-top:8px;font-size:12.5px;color:var(--text-2);flex-wrap:wrap}.mod .parts b{font-weight:600;color:var(--text)}.mod .state{font-size:12.5px;font-weight:600;white-space:nowrap;padding-top:6px}.mod.done .state{color:var(--good-ink)}.mod.now .state{color:var(--amber-ink)}.mod.lock .state{color:var(--text-2)}.mod .newtag{font:600 11px var(--font-body);letter-spacing:.04em;background:var(--warn-bg);color:var(--warn-ink);padding:2px 7px;border-radius:var(--radius-chip);margin-left:8px;vertical-align:middle;white-space:nowrap;display:inline-block}.side{display:grid;gap:18px;align-content:start}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:18px 20px}.panel h3{font-size:16px;font-weight:700;margin-bottom:10px}.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:14.5px}.kv dt{color:var(--text-2)}.kv dd{margin:0}.week li{display:grid;grid-template-columns:52px 1fr;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:14.5px}.week li:first-child{border-top:0;padding-top:0}.week .d{font-weight:700;color:var(--amber-ink);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;padding-top:3px}.week ul{list-style:none;margin:0;padding:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat{background:var(--surface-2);border-radius:10px;padding:12px}.stat b{display:block;font-size:24px;font-weight:800;line-height:1.1}.stat span{font-size:12.5px;color:var(--text-2)}.mhead{padding:34px 0 22px;border-bottom:1px solid var(--line)}.crumbs{font-size:13.5px;color:var(--text-2);margin-bottom:12px}.crumbs a{color:inherit}.mhead h1{font-size:36px;font-weight:700;margin-top:6px}.mhead .lede{font-size:17px;color:var(--text-2);max-width:62ch;margin-top:10px}.mgrid{display:grid;grid-template-columns:200px 1fr 340px;gap:32px;padding:28px 0 72px;align-items:start}.rail{position:sticky;top:78px}.rail ol{list-style:none;margin:0;padding:0;display:grid;gap:2px}.rail li a{display:grid;grid-template-columns:26px 1fr;gap:10px;align-items:center;padding:8px;border-radius:8px;text-decoration:none;color:var(--text-2);font-size:14.5px;font-weight:600}.rail li a:hover{background:var(--surface-2)}.rail li a .n{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;border:1.5px solid var(--line);background:var(--surface)}.rail li.done a{color:var(--text)}.rail li.done a .n{background:var(--good-bg);color:var(--good-ink);border-color:transparent}.rail li.now a{color:var(--text);background:var(--surface);box-shadow:var(--shadow)}.rail li.now a .n{background:var(--amber);color:var(--night);border-color:transparent}.rail .note{margin-top:16px;font-size:12.5px;color:var(--text-2);padding:0 8px;line-height:1.5}.main{display:grid;grid-template-columns:minmax(0,1fr);gap:34px;min-width:0}.step{scroll-margin-top:80px;min-width:0}.step-h{display:flex;align-items:baseline;gap:12px;margin-bottom:12px;flex-wrap:wrap}.step-h .k{white-space:nowrap;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--amber-ink)}.step-h h2{font-size:24px;font-weight:700}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden}.player{background:var(--night);aspect-ratio:16/9;position:relative;display:grid;place-items:center;color:#fff;background-image:radial-gradient(ellipse at 30% 40%,rgba(242,184,75,.22),transparent 55%),radial-gradient(ellipse at 80% 80%,rgba(42,125,144,.35),transparent 50%)}.player iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.player .play{width:72px;height:72px;border-radius:50%;background:var(--amber);color:var(--night);display:grid;place-items:center;border:0;cursor:pointer;box-shadow:0 10px 30px -8px #0009}.player--empty{display:grid;place-items:center;gap:12px;padding:36px 20px;text-align:center}.player-lantern{color:var(--amber);filter:drop-shadow(0 0 10px rgba(242,184,75,.55));animation:player-lantern-swing 8s ease-in-out infinite;transform-origin:top center}@keyframes player-lantern-swing{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}.player--empty p{margin:0;color:#c8d6dc;font-size:14.5px;max-width:32ch}.vmeta{display:grid;grid-template-columns:1fr auto;gap:16px;padding:14px 18px;align-items:center;font-size:14px}.chapters{display:flex;flex-wrap:wrap;gap:6px 14px;padding:0 18px 16px;font-size:13.5px}.chapters button{color:var(--text-2);text-decoration:none;background:none;border:0;cursor:pointer;padding:0;font:inherit}.chapters button b{color:var(--amber-ink);font-weight:600;margin-right:6px}.chapters button.seen{color:var(--text)}.notes{padding:20px 22px;display:grid;gap:14px;max-width:70ch}.notes p{margin:0}.notes h2,.notes h3{margin-top:8px}.defs{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:4px}.def{background:var(--surface-2);border-radius:10px;padding:12px 14px;font-size:14px}.def b{display:block;font-family:Fraunces,serif;font-size:15px;margin-bottom:3px}.def small{display:block;color:var(--amber-ink);font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:11px;margin-top:6px}.summary-card{border-left:4px solid var(--amber)}.prob{padding:20px 22px;display:grid;gap:16px}.prob .setup{max-width:66ch}.prob .setup p{margin:0 0 8px}table{border-collapse:collapse;width:100%;font-size:14.5px}.data th,.data td{text-align:right;padding:7px 10px;border-bottom:1px solid var(--line)}.data th:first-child,.data td:first-child{text-align:left}.data th{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);font-weight:700}.data tr.hi td,.data tr.lo td{background:color-mix(in srgb,var(--amber) 14%,transparent)}.data tr.hi td:first-child:after{content:"high";font-size:11px;font-weight:700;color:var(--amber-ink);margin-left:8px;letter-spacing:.06em;text-transform:uppercase}.data tr.lo td:first-child:after{content:"low";font-size:11px;font-weight:700;color:var(--amber-ink);margin-left:8px;letter-spacing:.06em;text-transform:uppercase}table.cells{width:100%;border-collapse:separate;border-spacing:0;font-size:14.5px;border:1px solid var(--line);border-radius:10px;overflow:hidden}.cells .hdr{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);font-weight:700;text-align:left;padding:8px 12px 8px 15px;border-bottom:1px solid var(--line);background:var(--surface-2)}.cells tbody tr{border-bottom:1px solid var(--line)}.cells tbody tr:last-child{border-bottom:0}.cells td{padding:8px 12px 8px 15px;vertical-align:middle;border-left:3px solid transparent}.cells tr.active td:first-child{border-left-color:var(--amber);background:color-mix(in srgb,var(--amber) 7%,transparent)}.cells .lab{padding-top:8px;padding-bottom:8px}.cells .lab small{display:block;color:var(--text-2);font-size:12.5px}.cells input{width:100%;min-width:110px;padding:8px 10px;border:1.5px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font-family:inherit;font-size:16px;font-variant-numeric:tabular-nums;text-align:right}.cells input:focus{border-color:var(--teal);outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--teal) 20%,transparent)}.cells .st{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;min-width:84px;font-size:11.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;text-align:center;padding:5px 12px;border-radius:var(--radius-chip);min-height:22px}.cells .st.good{background:var(--good-bg);color:var(--good-ink)}.cells .st.bad{background:var(--bad-bg);color:var(--bad-ink)}.cells .st.first{outline:1.5px dashed var(--amber);outline-offset:1px}.cell-say{font-size:13px;color:var(--bad-ink);background:var(--bad-bg);border-radius:0;padding:8px 12px 10px 15px}.pact{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.pact .fine{font-size:13px;color:var(--text-2);margin-left:auto}.draws{padding:20px 22px;display:grid;gap:10px;font-size:15px}.draws .row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.done-card{padding:22px;display:grid;gap:10px}.done-card .sync{display:flex;gap:10px;align-items:center;font-size:14px;color:var(--text-2)}.done-card .sync i{width:10px;height:10px;border-radius:50%;background:var(--good-ink)}.help{position:sticky;top:78px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow);display:grid;grid-template-rows:auto 1fr auto;max-height:calc(100vh - 100px)}.help .hh{padding:13px 16px;border-bottom:2px solid var(--amber);display:flex;align-items:center;gap:10px}.help .hh b{font-family:Fraunces,serif;font-size:16px}.log{overflow:auto;padding:14px 16px;display:grid;gap:12px;align-content:start;font-size:14.5px}.msg{max-width:92%;padding:10px 13px;border-radius:12px;line-height:1.5}.msg.me{justify-self:end;background:var(--teal);color:var(--on-accent);border-bottom-right-radius:4px}.msg.bot{background:var(--surface-2);border-bottom-left-radius:4px}.msg.bot .ctx{display:block;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--amber-ink);margin-bottom:4px}.msg .acts{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.msg .acts button{font-size:12.5px;padding:5px 10px;border-radius:var(--radius-chip);border:1px solid var(--line);background:var(--surface);cursor:pointer}.msg .acts button:hover{background:var(--surface-2)}.ask{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line)}.ask input{flex:1;padding:9px 12px;border:1.5px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);font:inherit;font-size:16px}.quick{display:flex;gap:6px;flex-wrap:wrap;padding:0 12px 12px}.quick button{font-size:12.5px;padding:5px 10px;border-radius:var(--radius-chip);border:1px solid var(--line);background:var(--surface);cursor:pointer;color:var(--text-2)}.quick button:hover{color:var(--text);background:var(--surface-2)}.instr{background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--amber);border-radius:var(--radius-card);padding:20px 22px;margin-top:8px}.instr h3{font-size:18px;margin-bottom:4px}.heat{margin-top:12px;min-width:540px}.heat th,.heat td{padding:7px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:14px;white-space:nowrap}.heat td:nth-child(2),.heat td:nth-child(3),.heat th:nth-child(2),.heat th:nth-child(3){text-align:right;font-variant-numeric:tabular-nums}.heat .bar{height:8px;width:160px;display:inline-block;vertical-align:middle;margin-right:8px}.heat .bar i{background:var(--teal)}.heat tr.worst td{background:color-mix(in srgb,var(--bad-bg) 60%,transparent)}.heat tr.worst td:first-child{font-weight:700}.instr .why{font-size:14px;color:var(--text-2);margin-top:12px;max-width:70ch}.ls-scene{position:relative;width:100%;min-height:100svh;overflow:hidden;isolation:isolate;color:var(--ls-fg)}.ls-scene[data-tone=dark]{--ls-fg:#F2EAD9;--ls-fg-2:#C8D6DC;--ls-eyebrow:#F2B84B;--ls-card-bg:rgba(15,43,60,.55);--ls-card-line:rgba(242,184,75,.35);--ls-card-title:#fff;--ls-box-bg:rgba(15,43,60,.4);--ls-box-line:rgba(242,184,75,.25);--ls-pick-line:rgba(242,184,75,.6);--ls-pick-ink:#F2B84B;--ls-pick-hover:rgba(242,184,75,.12);--ls-tag-bg:rgba(15,43,60,.28);--ls-shadow:0 2px 10px rgba(0,0,0,.45);--ls-mark-shadow:rgba(0,0,0,.35);background:var(--night)}.ls-scene[data-tone=light]{--ls-fg:#1E2A33;--ls-fg-2:#5C6B75;--ls-eyebrow:#8A5A12;--ls-card-bg:rgba(255,251,243,.8);--ls-card-line:#E6D9C2;--ls-card-title:#1E2A33;--ls-box-bg:rgba(255,251,243,.7);--ls-box-line:#E6D9C2;--ls-pick-line:#1F5E6E;--ls-pick-ink:#1F5E6E;--ls-pick-hover:rgba(31,94,110,.08);--ls-tag-bg:rgba(255,251,243,.45);--ls-shadow:none;--ls-mark-shadow:rgba(30,42,51,.12);background:var(--bg)}.ls-ground{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.ls-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;z-index:1;pointer-events:none}.login-page{background:var(--night);min-height:calc(100svh - 220px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 20px 64px;gap:28px}.login-wordmark{width:200px;max-width:60%;aspect-ratio:900/371;background:#fff;-webkit-mask:url(/art/layer-wordmark.png) center/contain no-repeat;mask:url(/art/layer-wordmark.png) center/contain no-repeat;filter:drop-shadow(0 6px 18px rgba(0,0,0,.35))}.login-wrap{max-width:420px;width:100%;margin:0 auto;padding:0 20px}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow);padding:28px 26px;display:grid;gap:16px}.login-card h1{font-size:24px}.login-card .field{display:grid;gap:6px}.login-card label{font-size:13px;font-weight:600;color:var(--text-2)}.login-card input{padding:10px 12px;border:1.5px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);font:inherit;font-size:16px}.login-card input:focus{border-color:var(--teal);outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--teal) 20%,transparent)}.field{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}.field label{font-size:13px;font-weight:600;color:var(--text-2)}.field input,.field select{padding:9px 11px;border:1.5px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:16px}.field input:focus,.field select:focus{border-color:var(--teal);outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--teal) 20%,transparent)}.formrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--line);border-top-color:var(--teal);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-block{padding:40px 0;text-align:center;color:var(--text-2)}footer.site-footer{border-top:1px solid var(--line);padding:22px 0 40px;font-size:13px;color:var(--text-2);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;position:relative}@media (max-width:1000px){.hero,.grid,.arow{grid-template-columns:1fr}.roll .dgrid{grid-template-columns:repeat(3,1fr)}.mgrid{grid-template-columns:1fr}.rail{position:static}.rail ol{display:flex;flex-wrap:wrap;gap:4px}.help{position:static;max-height:none}}@media (max-width:600px){.wrap{padding:0 16px}.hero h1{font-size:28px}.mhead h1{font-size:26px}.defs{grid-template-columns:1fr}.cells{font-size:13.5px}.cells input{min-width:88px}.mod{grid-template-columns:36px 1fr}.mod .state{grid-column:2}.top .course{font-size:13px}.top .wrap{flex-wrap:wrap;height:auto;min-height:56px;padding-block:8px;gap:8px 12px}.top nav{margin-left:0;flex-basis:100%;order:3}.swbtn .swn{display:none}.courses{grid-template-columns:1fr}.roll .dgrid{grid-template-columns:repeat(2,1fr)}.top nav a,.top nav button{padding:6px 10px;font-size:13px}.avatar{margin-left:auto}.stats{grid-template-columns:1fr 1fr 1fr}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.course-home{--accent:var(--teal)}.course-welcome{max-width:70ch;color:var(--text-2);font-size:15.5px;margin-top:10px}.welcome{margin-top:28px;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--amber);border-radius:var(--radius-card);box-shadow:var(--shadow);padding:22px 24px;display:grid;gap:10px;max-width:760px}.welcome h2{font-size:24px;margin:0}.welcome-alias{font-family:var(--font-body);font-weight:700;color:var(--amber-ink);letter-spacing:.02em}.welcome p{margin:0;color:var(--text-2);font-size:15px;max-width:65ch}.welcome-note{color:var(--text);font-style:italic}.welcome-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}.studio-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--line);flex-wrap:wrap}.studio-row:first-of-type{border-top:0}.studio-actions{display:flex;gap:8px;flex-wrap:wrap}.account-form{padding:14px 18px 18px;display:grid;gap:12px;max-width:420px}.account-form .field{display:grid;gap:6px}.account-form label{font-size:13px;font-weight:600;color:var(--text-2)}.account-form input{padding:10px 12px;border:1.5px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);font:inherit;font-size:16px}.account-form input:focus{border-color:var(--teal);outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--teal) 20%,transparent)}.mod.exam-prep{border-left:3px solid var(--amber)}.mod.exam-prep .wk{color:var(--amber-ink)}.playlist{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:4px}.playlist button{width:100%;display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;text-align:left;padding:8px 10px;border-radius:9px;border:1px solid transparent;background:transparent;color:var(--text);font:inherit;font-size:14.5px;cursor:pointer}.playlist button:hover{background:var(--surface-2)}.playlist li.on button{background:var(--surface);border-color:var(--line);box-shadow:inset 3px 0 0 var(--amber)}.playlist li.soon button{color:var(--text-2);cursor:default}.playlist li.soon button:hover{background:transparent}.playlist .n{font-variant-numeric:tabular-nums;font-weight:700;color:var(--amber-ink);font-size:12.5px}.playlist .d{font-size:12.5px;color:var(--text-2);font-variant-numeric:tabular-nums}.cgrid{display:grid;grid-template-columns:1fr 300px;gap:32px;padding:28px 0 72px;align-items:start}.cgrid .main{display:grid;gap:28px;min-width:0}.cgrid .main>*{min-width:0}.instr{min-width:0}.chapter-progress{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:14px;color:var(--text-2)}.chapter-progress .bar{flex:1 1 180px;height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.chapter-progress .bar i{display:block;height:100%;background:var(--amber);border-radius:999px;transition:width .4s ease}.chapter-progress .btn.sm{margin-left:auto}.lessons{list-style:none;margin:0;padding:0;display:grid;gap:8px}.lesson a{display:grid;grid-template-columns:40px 1fr auto;gap:14px;align-items:center;padding:14px 18px 14px 12px;border-radius:12px;background:var(--surface);border:1px solid var(--line);text-decoration:none;color:inherit;transition:box-shadow .15s ease,transform .15s ease}.lesson a:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.lesson .mark{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;border:1.5px solid var(--line);background:var(--surface);color:var(--text-2)}.lesson.done .mark{background:var(--good-bg);color:var(--good-ink);border-color:transparent}.lesson.started .mark,.lesson.next .mark{background:var(--amber);color:var(--night);border-color:transparent}.lesson.next a{box-shadow:0 0 0 2px color-mix(in srgb,var(--amber) 45%,transparent)}.lesson .body{display:grid;gap:3px}.lesson .no{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--amber-ink)}.lesson .t{font-family:Fraunces,serif;font-size:19px;font-weight:600;color:var(--text)}.lesson .parts{display:flex;gap:12px;font-size:12.5px;color:var(--text-2);flex-wrap:wrap}.lesson .parts span+span:before{content:"·";margin-right:12px;opacity:.6}.lesson .state{font-size:12.5px;font-weight:600;white-space:nowrap;color:var(--text-2)}.lesson.done .state{color:var(--good-ink)}.lesson-page h1 .lesson-no{color:var(--amber-ink);font-size:.6em;letter-spacing:.08em;margin-right:6px;vertical-align:middle}.lesson-nav{display:flex;justify-content:space-between;gap:16px;padding:8px 4px 0;font-size:14.5px;font-weight:600}.lesson-nav a{text-decoration:none;color:var(--text-2)}.lesson-nav a:hover{color:var(--text)}.done-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.draws .row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.draws .row>span{flex:1 1 240px}@media (max-width:960px){.cgrid{grid-template-columns:1fr}}@media (max-width:600px){.lesson a{grid-template-columns:32px 1fr}.lesson .state{grid-column:2}.lesson .mark{width:26px;height:26px;font-size:12px}}.dash-grid{display:grid;grid-template-columns:1fr 300px;gap:22px;margin-top:22px;align-items:start}.dash-main{display:grid;gap:22px;min-width:0}.offering-card .ah h3 a{text-decoration:none;color:inherit}.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:18px}.kpi{display:grid;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);cursor:help;min-width:0;text-decoration:none;color:inherit}.kpi.kpi-link{cursor:pointer}.kpi.kpi-link span:after{content:" →"}.kpi.kpi-link:hover{border-color:var(--teal)}.kpi b{font-size:22px;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums;line-height:1.1}.kpi span{font-size:12.5px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi.good b{color:var(--good-ink)}.kpi.warn b{color:var(--warn-ink)}.kpi.bad b{color:var(--bad-ink)}@media (max-width:960px){.kpis{grid-template-columns:repeat(3,1fr)}}@media (max-width:560px){.kpis{grid-template-columns:repeat(2,1fr)}}.dash-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.dash-block{display:grid;gap:8px;align-content:start;font-size:14.5px}.dash-block .plain{list-style:none;margin:0;padding:0;display:grid;gap:6px}.dash-block .plain a{text-decoration:none;color:inherit}.dash-block .plain a:hover b{text-decoration:underline}.due-row{display:grid;gap:6px}.due-head{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.due-head a{text-decoration:none;color:inherit}.due-head .num{margin-left:auto;font-variant-numeric:tabular-nums}.due-row .bar{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.due-row .bar i{display:block;height:100%;background:var(--amber);border-radius:999px}.modstrip{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.modchip{position:relative;display:grid;gap:2px;padding:6px 10px 8px;border-radius:8px;border:1px solid var(--line);background:var(--surface);text-decoration:none;color:inherit;font-size:12.5px;min-width:96px;overflow:hidden}.modchip .t{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.modchip .pct{color:var(--text-2);font-variant-numeric:tabular-nums}.modchip i{position:absolute;left:0;bottom:0;height:3px;background:var(--teal)}.modchip.due_this_week{border-color:var(--amber);box-shadow:0 0 0 2px color-mix(in srgb,var(--amber) 30%,transparent)}.modchip.upcoming{opacity:.6}.modchip.hot{border-color:var(--bad-ink)}.modchip.hot i{background:var(--bad-ink)}.attn{list-style:none;margin:0;padding:6px 18px}.attn li{display:flex;gap:12px;align-items:baseline;padding:9px 0;border-top:1px solid var(--line);font-size:14.5px}.attn li:first-child{border-top:0}.attn .chip{white-space:nowrap;font-size:11.5px}.attn .t{flex:1}.attn .go{white-space:nowrap;font-size:13px;font-weight:600;text-decoration:none}.attn-at_risk .chip,.attn-struggling .chip{background:var(--bad-bg);color:var(--bad-ink)}.attn-due .chip{background:color-mix(in srgb,var(--amber) 25%,transparent);color:var(--amber-ink)}.instr-line{display:block;margin-top:8px;font-size:13px;color:var(--text-2);border-left:3px solid var(--amber);padding-left:10px}.lessons-heat{min-width:0;width:100%;font-size:13.5px}.lessons-heat th,.lessons-heat td{white-space:normal;font-size:13.5px;padding:7px 8px}.lessons-heat td:nth-child(n+2),.lessons-heat th:nth-child(n+2){text-align:right;font-variant-numeric:tabular-nums}.lessons-heat td:first-child{min-width:170px;width:34%}.lessons-heat td:last-child .ls-linkbtn{display:block;padding:0;margin:0 0 4px!important;text-align:left}@media (max-width:960px){.dash-grid,.dash-row{grid-template-columns:1fr}}.field-hint{font-size:12.5px;color:var(--text-2);margin-top:4px}.field-hint.bad{color:var(--bad-ink)}.field-hint.ok{color:var(--good-ink)}.pw-wrap{position:relative;display:grid}.pw-wrap input{padding-right:64px}.pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:var(--surface-2);color:var(--text-2);font:inherit;font-size:12.5px;font-weight:600;padding:5px 9px;border-radius:6px;cursor:pointer}.pw-toggle:hover{color:var(--text)}.learn-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.learn-card{display:grid;gap:2px;padding:10px 14px;min-width:0;border:1.5px solid var(--line);border-radius:10px;background:var(--surface);text-decoration:none;color:inherit;font:inherit;cursor:pointer;text-align:left}.learn-card:hover{box-shadow:var(--shadow)}.learn-card.on{border-color:var(--amber);box-shadow:0 0 0 2px color-mix(in srgb,var(--amber) 30%,transparent)}.learn-card:disabled{opacity:.55;cursor:default;box-shadow:none}.learn-card .lc-kind{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--amber-ink)}.learn-card .lc-t{font-weight:600;font-size:14.5px}.assess-intro{padding:16px 22px 0;font-size:14.5px;color:var(--text-2)}.qlist{list-style:none;margin:0;padding:8px 22px 22px;display:grid;gap:18px}.q{border-top:1px solid var(--line);padding-top:16px}.q:first-child{border-top:0;padding-top:8px}.q-head{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start}.q-n{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12.5px;font-weight:700;background:var(--surface-2);color:var(--text-2)}.q.right .q-n{background:var(--good-bg);color:var(--good-ink)}.q.wrong .q-n{background:var(--bad-bg);color:var(--bad-ink)}.q-stem{font-size:15.5px;line-height:1.55;max-width:66ch}.q-stem p{margin:0 0 6px}.q-options{display:grid;gap:6px;margin:10px 0 0 40px}.q-opt{display:grid;grid-template-columns:24px 1fr auto;gap:10px;align-items:center;padding:8px 12px;border:1.5px solid var(--line);border-radius:9px;cursor:pointer;font-size:14.5px;background:var(--surface)}.q-opt input{position:absolute;opacity:0;width:0;height:0}.q-opt:hover{border-color:var(--teal)}.q-opt.pick{border-color:var(--teal);box-shadow:0 0 0 2px color-mix(in srgb,var(--teal) 25%,transparent)}.q-opt.answer{border-color:var(--good-ink);background:var(--good-bg)}.q-opt.miss{border-color:var(--bad-ink);background:var(--bad-bg)}.q-letter{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;background:var(--surface-2)}.q-opt.answer .q-letter{background:var(--good-ink);color:#fff}.q-opt.miss .q-letter{background:var(--bad-ink);color:#fff}.q-mark{font-weight:700}.q-actions{display:flex;gap:14px;align-items:center;margin:10px 0 0 40px}.q-tags{font-size:12.5px}.q-reveal{margin:10px 0 0 40px;padding:12px 14px;border-radius:10px;background:var(--surface-2);font-size:14.5px;display:grid;gap:6px}.q-reveal.good{background:var(--good-bg)}.q-reveal.bad{background:color-mix(in srgb,var(--bad-bg) 55%,var(--surface))}.q-why{margin:0;color:var(--text)}.q-expl p{margin:0 0 6px}.q-expl p:last-child{margin-bottom:0}.result{display:grid;gap:12px}.result-score{display:flex;align-items:baseline;gap:10px}.result-score .num{font-family:Fraunces,serif;font-size:34px;font-weight:700}.result-tags{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-width:520px}.result-tags li{position:relative;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:7px 12px;border-radius:8px;background:var(--surface-2);overflow:hidden;font-size:14px}.result-tags li i{position:absolute;left:0;top:0;bottom:0;background:color-mix(in srgb,var(--good-ink) 18%,transparent)}.result-tags li.bad i{background:color-mix(in srgb,var(--bad-ink) 18%,transparent)}.result-tags li.mid i{background:color-mix(in srgb,var(--amber) 28%,transparent)}.result-tags li span,.result-tags li b{position:relative}.result-tags li b{font-variant-numeric:tabular-nums}@media (max-width:600px){.q-options,.q-actions,.q-reveal{margin-left:0}}.qheat td:first-child{min-width:260px}.qheat td:first-child p{margin:0}.qheat td:nth-child(2),.qheat th:nth-child(2),.qheat td:nth-child(3),.qheat th:nth-child(3){text-align:right}.qheat td:nth-child(4),.qheat th:nth-child(4){text-align:left}.vheat{display:grid;gap:8px;padding:4px 0}.vheat-strip{display:flex;align-items:flex-end;gap:2px;height:56px;padding:4px 0;border-bottom:1px solid var(--line)}.vheat-col{flex:1 1 0;min-width:3px;height:100%;display:flex;flex-direction:column-reverse;cursor:help}.vheat-col i{display:block;width:100%;min-height:0}.vheat-col .ps{background:var(--warn-ink);opacity:.75;border-radius:2px 2px 0 0}.vheat-col .rw{background:var(--bad-ink);opacity:.8}.vheat-col .none{height:2px;background:var(--line)}.action-note{display:inline-block;font-size:13px;padding:4px 9px;border-radius:8px;margin-left:8px;vertical-align:middle;max-width:48ch}.action-note.good{background:var(--good-bg);color:var(--good-ink)}.action-note.bad{background:var(--bad-bg);color:var(--bad-ink)}.accounts td{vertical-align:top}.acct-actions{display:flex;flex-wrap:wrap;gap:4px 12px}.acct-actions .ls-linkbtn{padding:0;margin:0}.acct-actions .ls-linkbtn:disabled{opacity:.6;cursor:default}.ls-linkbtn.danger{color:var(--bad-ink)}.chip.role-owner{background:var(--warn-bg);color:var(--warn-ink)}.chip.role-instructor{background:var(--surface-2)}.obj-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:8px}.obj-head h2{font-size:22px;margin:0}.obj-head .ls-linkbtn{margin-left:auto}.objectives{margin-bottom:28px}.objectives .bar.big{height:10px;border-radius:6px;background:var(--surface-2);overflow:hidden;margin:4px 0 10px}.objectives .bar.big i{display:block;height:100%;background:var(--accent);border-radius:6px}.obj-chapters{list-style:none;margin:0;padding:0;display:grid;gap:6px}.obj-row{display:grid;grid-template-columns:1fr 140px auto auto 16px;gap:12px;align-items:center;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 14px;cursor:pointer;font:inherit;color:inherit}.obj-row:hover{background:var(--surface-2)}.obj-row .t{font-family:Fraunces,serif;font-size:16px;font-weight:600}.obj-row .bar{height:8px;border-radius:4px;background:var(--surface-2);overflow:hidden;display:block}.obj-row .bar i{display:block;height:100%;background:var(--accent)}.obj-row .n{font-size:13px;color:var(--text-2);white-space:nowrap;font-variant-numeric:tabular-nums}.obj-row .cls{font-size:12px;color:var(--amber-ink);font-weight:700;white-space:nowrap}.obj-row .chev{color:var(--text-2);font-size:12px}.obj-list{list-style:none;margin:6px 0 4px;padding:0 0 0 12px;border-left:2px solid var(--line);display:grid;gap:4px}.obj-list li a{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:start;text-decoration:none;color:inherit;padding:8px 10px;border-radius:8px}.obj-list li a:hover{background:var(--surface-2)}.obj-list .mark{width:22px;height:22px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-size:12px;color:var(--good-ink)}.obj-list li.done .mark{background:var(--good-bg);border-color:transparent}.obj-list .body{display:grid;gap:2px}.obj-list .body b{font-size:14.5px}.obj-list .lo,.lesson .lo{font-size:13px;color:var(--text-2);line-height:1.45}.obj-list .res{font-size:12.5px;color:var(--text-2);white-space:nowrap;font-variant-numeric:tabular-nums;padding-top:3px}.announce{margin-bottom:28px}.ann-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.ann-list li{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px}.ann-head{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.ann-head b{font-family:Fraunces,serif;font-size:16px}.ann-head .muted{font-size:12.5px}.ann-head .ls-linkbtn{margin-left:auto;padding:0}.ann-body{font-size:14.5px;margin-top:4px}.ann-body p{margin:0 0 6px}.announce .compose{margin-bottom:10px;display:grid;gap:10px}.announce .compose textarea{width:100%;font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.week ul li.cal{align-items:start}.week .what{display:grid;gap:1px}.week .what a{color:inherit;text-decoration:none;font-weight:600}.week .what a:hover{text-decoration:underline}.week .when{font-size:12.5px;color:var(--text-2)}.week li.exam_window .what a,.week li.exam_window .what{color:var(--bad-ink)}.week li.open .when{color:var(--amber-ink);font-weight:600}.contact{display:grid;gap:8px}.contact .who{font-family:Fraunces,serif;font-size:16px;font-weight:600}.contact .oh{font-size:14px}.contact .btn{justify-self:start}.linklist{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:14.5px}.syllabus-page{padding-bottom:64px}.syllabus-page .card{padding:24px 28px;max-width:76ch}@media (max-width:720px){.obj-row{grid-template-columns:1fr auto 16px}.obj-row .bar,.obj-row .cls{display:none}}.sched-table td input[type=date]{padding:5px 8px;font-size:13.5px}.sched-table td{white-space:nowrap}.qlist{counter-reset:q}.qlist .q{counter-increment:q}.q-n:before{content:counter(q)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.practice-more{margin-top:14px;padding:16px 20px;display:grid;gap:12px}.pm-head b{font-family:Fraunces,serif;font-size:17px}.pm-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pm-controls select{max-width:280px}.pm-set{border-top:1px solid var(--line);padding-top:10px}.pm-set .qlist{padding:8px 0 4px}.gen-row{border:1px solid var(--line);border-radius:10px;padding:10px 14px;display:grid;gap:6px;background:var(--surface)}.gen-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.gen-head .ls-linkbtn{margin-left:auto;padding:0}.gen-stem{font-size:14.5px}.gen-opts{margin:0;padding-left:22px;font-size:14px;display:grid;gap:2px}.gen-opts li.answer{font-weight:700;color:var(--good-ink)}.gen-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.chip.status-unreviewed{background:var(--warn-bg);color:var(--warn-ink)}.chip.status-approved{background:var(--good-bg);color:var(--good-ink)}.chip.status-rejected{background:var(--bad-bg);color:var(--bad-ink)}.sheat th,.sheat td{font-size:13px;padding:5px 8px}.sheat td:nth-child(n+2),.sheat th:nth-child(n+2){text-align:right;font-variant-numeric:tabular-nums}.modecircle{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:13px;cursor:pointer;font-family:inherit;border:2px solid var(--amber);background:var(--amber);color:var(--night);margin-right:-6px}.modecircle.s{background:transparent;color:var(--amber)}.modecircle:hover{box-shadow:0 0 0 3px #f2b84b40}.modecircle:disabled{cursor:default;opacity:.7}.sections{display:grid;gap:12px;margin-top:8px}.section-card{padding:16px 18px}.section-card.current{border-color:var(--amber)}.section-card.sandbox{background:color-mix(in srgb,var(--surface-2) 55%,var(--surface))}.sec-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sec-head b{font-size:17px}.chip.sec-open{background:var(--good-bg);color:var(--good-ink);border-color:transparent}.chip.sec-upcoming{background:color-mix(in srgb,var(--amber) 22%,transparent);color:var(--amber-ink);border-color:transparent}.chip.sec-past{opacity:.7}.sec-meta{font-size:13.5px;margin-top:6px}.sec-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.tabs-mini{display:flex;gap:6px;flex-wrap:wrap}.course-block{padding:14px 0 6px;border-top:1px solid var(--line)}.course-block:first-of-type{border-top:0;padding-top:4px}.cb-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.cb-head h4{margin:0 0 2px;font-size:18px}.cb-code{font:700 12px/1 var(--mono,ui-monospace,monospace);letter-spacing:.08em;color:var(--amber-ink);margin-right:6px;vertical-align:middle}.cb-actions{display:flex;gap:8px;flex-wrap:wrap}.cb-empty{font-size:13.5px;margin:10px 0 6px}.new-section{margin:12px 0 4px;padding:14px 16px;border:1px dashed var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface-2) 40%,var(--surface))}.sec-rows{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:10px}.sec-row{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--surface)}.sec-row.current{border-color:var(--amber)}.sec-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sec-title b{font-size:15.5px}.sec-btns{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:10px}.sec-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}.sec-form.stack{display:block}.sec-form input{min-width:280px}.btn.danger{color:var(--bad-ink);border-color:color-mix(in srgb,var(--bad-ink) 40%,transparent)}.swmenu.ctx{min-width:420px;max-width:calc(100vw - 32px);max-height:min(70vh,560px);overflow:auto}.ctx-course+.ctx-course{border-top:1px solid var(--line);margin-top:4px;padding-top:4px}.swmenu .ctx-head{grid-template-columns:76px 1fr auto;align-items:baseline;grid-row:auto}.swmenu .ctx-head b{grid-row:auto}.swmenu .ctx-head em{color:var(--teal);font-weight:700;grid-column:3}.ctx-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;width:100%;text-align:left;background:none;border:0;color:inherit;font:inherit;font-size:14px;padding:8px 10px 8px 24px;border-radius:8px;cursor:pointer}.ctx-row:hover{background:var(--surface-2)}.ctx-row.on{background:color-mix(in srgb,var(--amber) 16%,transparent)}.ctx-row:disabled{opacity:.5;cursor:default}.ctx-row span{font-family:Fraunces,serif}.ctx-row em{font-style:normal;font-size:12px;color:var(--text-2);white-space:nowrap}.ctx-row.studio span{color:var(--teal)}.ctx-empty{padding:10px;color:var(--text-2);font-size:13px}@media (max-width:640px){.swmenu.ctx{position:fixed;left:16px;right:16px;top:64px;min-width:0;max-width:none}.ctx-row em{white-space:normal;text-align:right}}.vflag{white-space:nowrap}.vclarity{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:0 18px 14px;font-size:14px}.vclarity .chip{cursor:pointer;border:1.5px solid var(--line);background:transparent;font:inherit;font-size:13px;padding:4px 12px;border-radius:999px;color:var(--text)}.vclarity .chip:hover{border-color:var(--amber)}.vclarity .chip.on{background:var(--amber);border-color:var(--amber);color:var(--night);font-weight:700}.vclarity-split{display:grid;gap:4px}.vsplit{display:flex;height:18px;border-radius:6px;overflow:hidden;gap:2px}.vsplit i{display:flex;align-items:center;justify-content:center;font-style:normal;font-size:12px;font-weight:700;color:#fff;min-width:18px}.vsplit .clear{background:var(--teal)}.vsplit .mostly{background:var(--warn-ink)}.vsplit .lost{background:var(--bad-ink)}.vheat-col .fl{background:var(--teal);opacity:.9}.notopen{padding-block:56px;display:grid;justify-items:center}.notopen-card{max-width:620px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:32px 34px;box-shadow:var(--shadow)}.notopen-card h1{margin:6px 0 2px;font-size:30px}.notopen-term{color:var(--text-2);margin:0 0 18px;font-family:Fraunces,serif}.notopen-lead{font-size:16.5px;line-height:1.6;margin:0 0 12px}.notopen-links{margin-top:22px}.mod.shut{opacity:.72}.mod.shut .state{color:var(--text-2)}.btn.disabled{opacity:.6;pointer-events:none}.notice.warn{background:var(--warn-bg);color:var(--warn-ink)}.mebox{position:relative;display:flex}.mebox .avatar{border:0;cursor:pointer;font:inherit}.memenu{position:absolute;top:calc(100% + 8px);right:0;min-width:230px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:6px;z-index:30}.memenu .mehead{padding:8px 10px 10px;border-bottom:1px solid var(--line);margin-bottom:4px;display:grid;gap:2px}.memenu .mehead b{font-family:Fraunces,serif;font-size:15px}.memenu .mehead span{font-size:12px;color:var(--text-2)}.memenu a,.memenu button{display:block;width:100%;text-align:left;padding:9px 10px;border-radius:8px;border:0;background:none;color:inherit;font:inherit;font-size:14px;text-decoration:none;cursor:pointer}.memenu a:hover,.memenu button:hover{background:var(--surface-2)}.memenu a em{display:block;font-style:normal;font-size:12px;color:var(--text-2)}.memenu button{border-top:1px solid var(--line);border-radius:0 0 8px 8px;margin-top:4px;color:var(--text-2)}.sitecheck{list-style:none;margin:0;padding:6px 0}.sitecheck li{display:flex;gap:12px;align-items:flex-start;padding:12px 18px;border-top:1px solid var(--line)}.sitecheck li:first-child{border-top:0}.sitecheck .dot{width:10px;height:10px;border-radius:50%;margin-top:6px;flex:0 0 auto}.sitecheck li.ok .dot{background:var(--good-ink)}.sitecheck li.bad .dot{background:var(--bad-ink)}.sitecheck li.idle .dot{background:var(--line);border:1px solid var(--text-2)}.sitecheck .what{display:grid;gap:2px}.sitecheck .what b{font-size:14.5px}.sitecheck .what span{font-size:13.5px;color:var(--text-2)}.games-label{font-size:13px;color:var(--text-2);display:block;margin-bottom:6px}.games-note{background:var(--warn-bg);color:var(--warn-ink);border-radius:var(--radius-control);padding:10px 14px;font-size:14px}.games-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.games-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:var(--radius-control);padding:12px 14px;background:var(--surface)}.games-row-main{min-width:220px;flex:1;display:grid;gap:4px}.games-row-actions{display:flex;gap:8px;flex-wrap:wrap}.games-meta{font-size:13px;color:var(--text-2)}.games-ready{color:var(--good-ink);font-weight:700}.games-draft{color:var(--warn-ink);font-weight:700}.games-title{font-size:16px;font-weight:700;color:var(--text);background:transparent;border:1px solid transparent;border-radius:6px;padding:3px 6px;width:100%;max-width:420px}.games-title:hover{border-color:var(--line)}.games-title:focus{border-color:var(--teal);outline:none}.games-cat{border:1px solid var(--line);border-radius:var(--radius-control);padding:12px;display:grid;gap:8px}.games-cat-head{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.games-cat-head input{font-weight:700;flex:1;min-width:180px}.games-cat-head div{display:flex;gap:6px;flex-wrap:wrap}.games-clue{display:grid;grid-template-columns:22px 1fr 1fr 32px;gap:8px;align-items:center}.games-n{font-size:12px;color:var(--text-2);text-align:center}.games-x{border:1px solid var(--line);background:var(--surface);border-radius:6px;color:var(--text-2);cursor:pointer;padding:8px 0;line-height:1}.games-x:hover{color:var(--bad-ink);border-color:color-mix(in srgb,var(--bad-ink) 40%,transparent)}.games-final{border-top:1px solid var(--line);padding-top:14px;display:grid;gap:8px}.games-final h4{font-size:15px;font-weight:700}.games-editor-actions{margin-left:auto;display:flex;gap:8px}@media (max-width:640px){.games-clue{grid-template-columns:1fr}.games-n{text-align:left}.games-row-actions{width:100%}}.attach-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.attach-sandbox{margin:6px 0 0}.attach-add{margin-top:12px;padding:14px 16px;border:1px dashed var(--line);border-radius:var(--radius-control);display:grid;gap:12px}.attach-add-tabs{display:flex;gap:6px;flex-wrap:wrap}.attach-add-tabs button.on{background:var(--teal);color:var(--on-accent);border-color:transparent}.attach-pick-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-height:320px;overflow-y:auto}.attach-pick-list li{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:var(--radius-control);padding:9px 12px;background:var(--surface)}.attach-pick-main{min-width:200px}.attach-header-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.attach-header-form input{flex:1;min-width:160px}.attach-form{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding-top:2px}.attach-form label{display:grid;gap:4px;font-size:12.5px;color:var(--text-2)}.attach-form input:not([type=checkbox]):not([type=radio]),.attach-form select,.attach-form textarea{font:inherit;font-size:14px;color:var(--text);padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);max-width:100%}.attach-form textarea{resize:vertical;min-height:44px}.attach-topic-chips{display:flex;flex-wrap:wrap;gap:6px}.attach-topic-chips button{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:3px 11px;font-size:12.5px;color:var(--text-2);cursor:pointer}.attach-topic-chips button.on{background:var(--teal);border-color:transparent;color:var(--on-accent);font-weight:600}.attach-form-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.attach-pick-divider{margin:4px 0 0;padding-top:10px;border-top:1px solid var(--line);font-size:12.5px;color:var(--text-2)}.attach-upload-progress{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-2)}.attach-upload-progress .bar{width:120px;height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden}.attach-upload-progress .bar i{display:block;height:100%;background:var(--amber);border-radius:999px;transition:width .3s ease}.attach-list{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px}.attach-row{border:1px solid var(--line);border-radius:var(--radius-control);padding:12px 14px;background:var(--surface);display:grid;gap:8px}.attach-row-main{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}.attach-row-title{font-size:15.5px;font-weight:700;color:var(--text);line-height:1.35;padding:3px 6px}.attach-row-note{font-size:13.5px;color:var(--text-2);margin:2px 0 0}.attach-row-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between}.attach-row-actions-left,.attach-row-actions-right{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.attach-title-input{font:inherit;font-size:15.5px;font-weight:700;color:var(--text);background:transparent;border:1px solid transparent;border-radius:6px;padding:3px 6px;resize:none;overflow:hidden;overflow-wrap:anywhere;line-height:1.35;flex:1 1 240px;min-width:0}.attach-title-input:hover{border-color:var(--line)}.attach-title-input:focus{border-color:var(--teal);outline:none}.attach-row.instr-only{opacity:.68;border-left:3px dashed var(--text-2)}.attach-row.instr-only:hover,.attach-row.instr-only:focus-within{opacity:.86}.modtag{display:inline-block;font-size:11.5px;font-weight:600;letter-spacing:.02em;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--amber) 20%,transparent);color:var(--amber-ink);vertical-align:middle}.attach-hidden-tag{display:inline-flex;align-items:center;padding:2px 9px;border-radius:var(--radius-chip);font-size:11.5px;font-weight:700;color:var(--text-2);background:var(--surface-2);white-space:nowrap}.attach-order{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:8px;overflow:hidden;flex:none}.attach-order button{display:flex;align-items:center;justify-content:center;width:26px;height:20px;border:0;background:var(--surface);color:var(--text-2);cursor:pointer;padding:0}.attach-order button+button{border-top:1px solid var(--line)}.attach-order button:hover:not(:disabled){background:var(--surface-2);color:var(--teal)}.attach-order button:disabled{opacity:.35;cursor:default}.attach-order button:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--text-2);cursor:pointer;padding:0}.icon-btn:hover:not(:disabled){color:var(--teal);border-color:var(--teal)}.icon-btn:focus-visible{outline:2px solid var(--teal);outline-offset:1px}.icon-btn:disabled{opacity:.5;cursor:default}.attach-eye[aria-pressed=true]{color:var(--amber-ink);border-color:color-mix(in srgb,var(--amber-ink) 40%,transparent)}.attach-note-set,.attach-note-empty{display:block;width:100%;text-align:left;font:inherit;font-size:13.5px;padding:4px 6px;border:1px solid transparent;border-radius:6px;background:transparent;cursor:pointer}.attach-note-set{color:var(--text-2)}.attach-note-empty{color:var(--text-2);opacity:.65;font-style:italic}.attach-note-set:hover,.attach-note-empty:hover{border-color:var(--line);opacity:1}.attach-note-input{width:100%;font:inherit;font-size:13.5px;padding:8px 10px;border:1px solid var(--teal);border-radius:8px;background:var(--surface);resize:vertical;min-height:44px}.attach-edit{display:grid}.attach-runs{margin-top:2px}.attach-runs-toggle{font-size:12.5px;color:var(--text-2);cursor:pointer;padding:2px 0;list-style:none;width:fit-content}.attach-runs-toggle::-webkit-details-marker{display:none}.attach-runs-toggle:hover{color:var(--teal)}.attach-runs-toggle:before{content:"▸";display:inline-block;margin-right:5px;font-size:10px;transition:transform .15s var(--ease)}.attach-runs[open]>.attach-runs-toggle:before{transform:rotate(90deg)}.attach-runs-loading{font-size:12.5px;margin:6px 0 0}.attach-runs-list{margin-top:6px;border-top:1px dashed var(--line);padding-top:6px;display:grid;gap:2px}.attach-run summary{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;cursor:pointer;font-size:13.5px;padding:4px 0;list-style:none}.attach-run summary::-webkit-details-marker{display:none}.attach-run-when{color:var(--text-2);font-size:12.5px}.attach-run-title{font-weight:600}.attach-run-n{color:var(--text-2)}.attach-run-pct{font-weight:700;padding:1px 8px;border-radius:999px;font-size:12.5px}.attach-run-pct.good{background:color-mix(in srgb,var(--teal) 18%,transparent);color:var(--teal)}.attach-run-pct.mid{background:color-mix(in srgb,var(--amber) 22%,transparent);color:var(--amber-ink)}.attach-run-pct.low{background:var(--bad-bg);color:var(--bad-ink)}.attach-run-unknown{color:var(--amber-ink);font-size:12px;font-style:italic}.attach-run-units{font-size:13px;margin:2px 0 8px 8px;border-collapse:collapse}.attach-run-units td{padding:2px 12px 2px 0;color:var(--text-2)}.attach-run-units td:first-child{color:var(--text)}.attach-divider{display:flex;align-items:center;gap:10px;padding:6px 2px}.attach-divider-rule{flex:1 1 auto;height:1px;background:var(--line)}.attach-divider-label{font:inherit;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--amber-ink);white-space:nowrap}.attach-divider-input{font:inherit;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--amber-ink);background:transparent;border:1px solid transparent;border-radius:6px;padding:3px 6px;resize:none;overflow:hidden;overflow-wrap:anywhere;text-align:left;flex:0 1 auto;min-width:0;max-width:60%}.attach-divider-input:hover{border-color:var(--line)}.attach-divider-input:focus{border-color:var(--teal);outline:none;text-transform:none}.attach-divider-controls{display:flex;gap:6px;align-items:center;flex:none}.attach-edit-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.attach-board{margin-top:14px;padding:16px 18px}.attach-board-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:10px}.attach-board-actions{margin-left:auto;display:flex;gap:8px}@media (max-width: 640px){.attach-row-actions{width:100%;justify-content:flex-start}.attach-row-title{flex:1 0 100%;min-width:0}}.lib-usage-pages{display:flex;flex-direction:column;gap:2px;margin-top:2px}.lib-usage-link{font-size:12.5px;color:var(--teal)}.lib-usage-link:hover{color:var(--teal-2)}.attach-pick-handouts{display:flex;flex-wrap:wrap;gap:6px;flex-basis:100%;padding-top:6px;border-top:1px dashed var(--line)}.attach-pick-handouts .muted{font-size:12.5px;align-self:center}.assess-placeholder .card{border-left:3px dashed var(--text-2);padding-left:20px;opacity:.82}.lib-edit-form{max-width:420px}.lib-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.lib-head .lede{margin-bottom:0}.lib-count{font-size:13px}.lib-toolbar{padding:14px 16px;display:grid;gap:12px;overflow:visible}.lib-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.lib-filters select{height:38px;border:1px solid var(--line);border-radius:var(--radius-control);padding:0 10px;background:var(--surface);color:var(--text);font:inherit;font-size:14px}.lib-search{flex:1 1 260px;display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--text-3)}.lib-search input{border:0;outline:none;background:transparent;font:inherit;color:var(--text);flex:1;min-width:0;padding:0}.lib-search:focus-within{border-color:var(--teal)}.lib-check{display:flex;align-items:center;gap:6px;font-size:13.5px;color:var(--text-2)}.lib-tabs{display:flex;flex-wrap:wrap;gap:6px}.lib-tab{height:32px;padding:0 12px;border-radius:var(--radius-chip);border:1px solid var(--line);background:var(--surface);font-size:13px;cursor:pointer;color:var(--text)}.lib-tab span{opacity:.65;margin-left:2px}.lib-tab:hover{background:var(--surface-2)}.lib-tab.on{background:var(--teal);border-color:var(--teal);color:var(--on-accent)}.lib-group .ah{padding:0}.lib-group .ah h3{flex:1}.lib-group-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px 23px 14px 18px;border:0;background:transparent;font:inherit;color:inherit;text-align:left;cursor:pointer}.lib-group-toggle:hover{background:var(--bg)}.lib-group-toggle .lib-ico{color:var(--text-2)}.lib-group.collapsed .ah{border-bottom:0}.lib-ico{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.lib-ico-open{transform:rotate(180deg)}.lib-row{display:grid;grid-template-columns:minmax(0,1fr) 96px 132px 250px 36px;align-items:center;gap:6px 16px;padding:10px 14px 10px 18px;border-top:1px solid var(--surface-2)}.lib-group .ah+.lib-row{border-top:0}.lib-row:hover,.lib-row.open{background:var(--bg)}.lib-row.retired .lib-main,.lib-row.retired .lib-fact{opacity:.65}.lib-main{min-width:0;display:grid;gap:1px}.lib-titleline{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden}.lib-title{border:0;background:transparent;padding:0;font:inherit;font-weight:600;color:var(--text);cursor:pointer;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;flex-shrink:0}.lib-title:hover{color:var(--teal)}.lib-titleline .chip{padding:1px 8px;font-size:11.5px;flex-shrink:0}.lib-topic{font-size:11.5px;padding:1px 8px;border-radius:var(--radius-chip);background:var(--surface-2);color:var(--text-2);white-space:nowrap;flex-shrink:0}.lib-blurb{font-size:13px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lib-fact{font-size:12.5px;color:var(--text-2);white-space:nowrap}.lib-meta{display:none;font-size:12.5px;color:var(--text-3);white-space:nowrap}.lib-meta .mono{color:var(--text-2)}.lib-updated{font-size:13px;color:var(--text-3);white-space:nowrap}.lib-actions{display:flex;gap:6px;justify-content:flex-end;align-items:center}.lib-actions .btn.sm{padding:6px 12px;font-size:13px}.lib-filebtn{gap:6px;font-weight:600}.lib-filebtn .lib-ico{color:var(--text-2)}.lib-toggle{width:32px;height:32px;border:0;border-radius:var(--radius-control);background:transparent;color:var(--text-2);cursor:pointer;display:flex;align-items:center;justify-content:center}.lib-toggle:hover{background:var(--surface-2)}.lib-note{grid-column:1 / -1}.lib-drawer{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px 28px;padding:6px 18px 20px;background:var(--bg)}.lib-drawer-edit{display:block}.lib-drawer-col{display:flex;flex-direction:column;gap:8px;min-width:0}.lib-label{font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.lib-about{margin:0;font-size:14px}.lib-setup{margin:0;font-size:13px;color:var(--text-2)}.lib-setup b{font-weight:600}.lib-url{overflow-wrap:anywhere}.lib-file{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface)}.lib-file>.lib-ico{width:18px;height:18px;color:var(--clay)}.lib-file-main{flex:1;min-width:0;display:flex;flex-direction:column;font-size:13.5px;font-weight:500}.lib-file-main small{font-size:12px;font-weight:400;color:var(--text-3)}.lib-manage{display:flex;gap:8px;flex-wrap:wrap}@media (max-width: 1300px){.lib-row{grid-template-columns:minmax(0,1fr) auto 36px}.lib-fact,.lib-updated{display:none}.lib-meta{display:block}}@media (max-width: 760px){.lib-row{grid-template-columns:minmax(0,1fr) auto;padding:12px 14px}.lib-main{grid-column:1 / -1}.lib-titleline{flex-wrap:wrap;overflow:visible}.lib-title{white-space:normal;flex-shrink:1}.lib-blurb{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.lib-actions{grid-column:1;justify-content:flex-start}.lib-actions .btn.sm{min-height:44px}.lib-actions .btn.primary{flex:1}.lib-toggle{grid-column:2;width:44px;height:44px;background:var(--surface-2)}.lib-drawer{grid-template-columns:minmax(0,1fr);gap:18px;padding:4px 14px 18px}.lib-filters select{flex:1 1 140px}}.app-shell{display:grid;grid-template-columns:256px minmax(0,1fr);min-height:100vh;background:var(--bg)}.app-main{min-width:0}.app-main>.wrap{max-width:1080px;margin:0;padding-inline:44px}.siderail{position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--rail);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:20px 12px 14px;gap:2px}.siderail .wm,.mbar .wm{display:flex;align-items:center;gap:9px;padding:2px 8px 18px;font:700 20px/1 var(--font-display);letter-spacing:-.02em;color:var(--text);text-decoration:none}.siderail .wm i,.mbar .wm i{width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 8px var(--amber)}.rail-nav{display:flex;flex-direction:column;gap:1px}.rl{font:600 10.5px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);padding:14px 8px 5px}.rail-nav>.rl:first-child,.rail-nav>a:first-child+.rl{padding-top:4px}.ri{display:flex;align-items:center;gap:9px;width:100%;padding:6px 8px;border-radius:7px;color:var(--text-2);font-weight:500;font-size:13.5px;text-decoration:none;background:none;border:0;cursor:pointer;text-align:left;font-family:inherit;line-height:1.35}.ri:hover{background:color-mix(in srgb,var(--text) 6%,transparent);color:var(--text)}.ri.active,.ri[aria-current=page]{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 2px #1b232914}.ri:disabled{opacity:.6;cursor:default}.ri .ri-t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ri-mod .ri-t,.ri-lesson .ri-t{white-space:normal}.ri em{margin-left:auto;font:500 10.5px var(--font-mono);font-style:normal;color:var(--text-3)}.ri-ico{width:15px;height:15px;flex:none;opacity:.75}.ri-back{color:var(--text-3);font-size:12.5px;margin-bottom:2px}.ri.locked{color:var(--text-3)}.ri-sub{margin:1px 0 6px 15px;padding-left:7px;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:1px}.ri-sub .ri{font-size:12.5px;padding:5px 8px}.siderail .sw{width:9px;height:9px;border-radius:2px;background:var(--teal);flex:none}.siderail .rdot{width:6px;height:6px;border-radius:50%;flex:none;background:var(--text-3)}.siderail .rdot.now,.siderail .rdot.l-started{background:var(--teal)}.siderail .rdot.done,.siderail .rdot.l-done{background:var(--good-ink)}.siderail .rdot.locked,.siderail .rdot.soon,.siderail .rdot.l-todo{background:transparent;border:1.5px solid var(--text-3)}.siderail .rdot.studio{background:transparent;border:1.5px dashed var(--text-3)}.rail-foot{margin-top:auto;padding-top:12px;display:flex;flex-direction:column;gap:8px}.rail-tools{border-top:1px solid var(--line);padding-top:4px;display:flex;flex-direction:column;gap:1px}.rail-me{position:relative;display:flex;align-items:center;gap:6px;border-top:1px solid var(--line);padding-top:10px}.me-btn{flex:1;min-width:0;display:flex;align-items:center;gap:9px;padding:5px 6px;border-radius:7px;background:none;border:0;cursor:pointer;font:600 13.5px var(--font-body);color:var(--text);text-align:left}.me-btn:hover{background:color-mix(in srgb,var(--text) 6%,transparent)}.me-btn .av{width:26px;height:26px;border-radius:50%;background:var(--text);color:var(--bg);display:grid;place-items:center;font:600 10px var(--font-mono);flex:none}.siderail .modecircle{width:28px;height:28px;margin:0;font-size:12px;border-color:var(--teal);background:var(--teal);color:var(--on-accent)}.siderail .modecircle.s{background:transparent;color:var(--teal)}.memenu.up{position:absolute;bottom:calc(100% + 6px);left:0;right:0;top:auto}.mbar,.rail-scrim{display:none}@media (max-width:900px){.app-shell{display:block}.app-main>.wrap{padding-inline:16px}.mbar{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:40;background:var(--rail);border-bottom:1px solid var(--line);padding:10px 16px}.mbar .wm{padding:0;font-size:18px}.mbar-btn{font:600 13px var(--font-body);color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:6px 12px;cursor:pointer;max-width:60vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.siderail{position:fixed;left:0;top:0;bottom:0;width:min(300px,86vw);z-index:60;transform:translate(-100%);transition:transform .2s var(--ease);box-shadow:var(--shadow)}.siderail.open{transform:none}.rail-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:55}}@media (prefers-reduced-motion:reduce){.siderail{transition:none}}.btn{padding:7px 14px;font-weight:600;font-size:13.5px;border-radius:var(--radius-control);line-height:1.3}.btn.sm{padding:5px 10px;font-size:12.5px}.chip{padding:2px 9px;font-size:12px;border-color:transparent;background:var(--surface-2);color:var(--text-2)}.chip.sec-upcoming{background:var(--accent-soft);color:var(--teal)}.sec-row.current{border-color:var(--teal)}.app-main .crumbs{display:none}.app-main .mhead{padding:36px 0 20px}.mhead h1{font-size:32px;font-weight:600;letter-spacing:-.015em}.mhead .lede{font-size:15.5px}.page-head{padding:36px 0 20px;border-bottom:1px solid var(--line);margin-bottom:24px}.page-head h1{font-size:32px;font-weight:600;letter-spacing:-.015em;margin-top:6px}.page-head .sub{color:var(--text-2);margin-top:6px}.page-head .acts{display:flex;gap:8px;flex-wrap:wrap}.page-head.row{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.app-main .mgrid{grid-template-columns:minmax(0,1fr) 320px;gap:28px}.app-main .mgrid>.rail{grid-column:1/-1;position:static}.app-main .mgrid>.rail ol{display:flex;gap:6px;flex-wrap:wrap}.app-main .mgrid>.rail li a{padding:6px 12px 6px 6px}.app-main .mgrid>.rail .note{display:none}.rail li.now a .n{background:var(--teal);color:var(--on-accent)}.step-h .k{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--teal)}.lessons{gap:0;position:relative}.lessons:before{content:"";position:absolute;left:28px;top:30px;bottom:30px;width:2px;background:var(--line)}.lesson a{background:transparent;border-color:transparent;padding:10px 16px 10px 12px}.lesson a:hover{background:var(--surface);box-shadow:none;transform:none}.lesson .mark{position:relative;z-index:1;background:var(--bg)}.lesson.started .mark,.lesson.next .mark{background:var(--teal);color:var(--on-accent)}.lesson.next a{background:var(--surface);border-color:var(--teal);box-shadow:none;margin:6px 0}.lesson .no{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--teal)}.lesson .t{font-size:17px}@media (max-width:1100px){.app-main .mgrid{grid-template-columns:minmax(0,1fr)}}.sec-title{font-size:20px;font-weight:600;margin-top:12px}.course-page .cp-sw{display:inline-block;width:8px;height:8px;border-radius:2px;background:var(--teal);margin-right:8px;vertical-align:1px}.cp-th{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:4px 0 10px}.cp-th h2{font-size:18px;font-weight:600}.seg{display:inline-flex;background:var(--surface-2);border-radius:999px;padding:3px}.seg button{border:0;background:none;padding:5px 12px;border-radius:999px;font:600 12.5px var(--font-body);color:var(--text-3);cursor:pointer}.seg button[aria-selected=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #1b232914}.cp-table-wrap{overflow-x:auto}.cp-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden;table-layout:fixed;font-size:14px}.cp-table th{font:600 10.5px var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);text-align:left;padding:10px 16px;border-bottom:1px solid var(--line)}.cp-table td{padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:middle}.cp-table tbody tr:last-child td{border-bottom:0}.cp-term td{background:var(--bg);padding:7px 16px;font:600 10.5px var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--text-2)}.cp-term td span{color:var(--text-3);font-weight:500;margin-left:10px}.cp-row{cursor:pointer}.cp-row:hover td,.cp-row:focus-visible td{background:color-mix(in srgb,var(--accent-soft) 45%,var(--surface))}.cp-row b{display:block;font-weight:600}.cp-row small{display:block;color:var(--text-3);font-size:12px}.cp-wk{display:grid;grid-template-columns:minmax(40px,120px) auto;gap:2px 10px;align-items:center}.cp-wk small{grid-column:1/-1}.cp-wk .bar{height:5px;border-radius:3px;background:var(--line);overflow:hidden;display:block}.cp-wk .bar i{display:block;height:100%;background:var(--teal)}.cp-flag{color:var(--clay);font-weight:600}.cp-link{font-weight:600;text-decoration:none}.cp-go{color:var(--text-3);text-align:right}.cp-empty{padding:24px 0}.cp-manage{margin-top:22px}.cp-manage summary{cursor:pointer;font-weight:600;color:var(--text-2);font-size:13.5px;padding:6px 0}.cp-manage[open] summary{margin-bottom:10px}.cp-foot{font-size:13.5px;margin-top:14px;padding-bottom:48px}@media (max-width:700px){.cp-table .hm{display:none}.cp-table{table-layout:auto}.cp-table colgroup{display:none}}.admin>.page-head{padding-top:0}table.auto th{font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.07em;color:var(--text-3)}table.auto td{vertical-align:middle;padding:11px 14px}table.auto th{padding:10px 14px}table.auto tr:nth-child(2n) td{background:transparent}table.auto tr.grp td{background:var(--bg);font:600 10.5px var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--text-2);padding:7px 14px}.chip.warnc{background:var(--bad-bg);color:var(--bad-ink)}.chip.okc{background:var(--good-bg);color:var(--good-ink)}.stu-filters{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:14px 18px 4px}.stu-filters input{height:32px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);padding:0 10px;font:inherit;font-size:13.5px;min-width:200px}.q-challenge-btn{display:block;margin-top:10px;background:none;border:0;padding:0;font:500 12.5px var(--font-body);color:var(--text-3);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.q-challenge-btn:hover{color:var(--text)}.q-challenge{margin-top:12px;display:grid;gap:6px}.q-challenge label{font-size:12.5px;font-weight:600;color:var(--text-2)}.q-challenge textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:13.5px;padding:8px 10px;resize:vertical}.q-challenge-acts{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.q-challenge-err{color:var(--bad-ink);font-size:12.5px}.q-challenge-sent{margin:10px 0 0;font-size:12.5px;color:var(--good-ink)}.cp-chal{margin-top:28px}.cp-chal>ul{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card)}.cp-chal>ul>li{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:14px;align-items:start;padding:14px 16px;border-top:1px solid var(--line)}.cp-chal>ul>li:first-child{border-top:0}.cp-chal-n{width:28px;height:28px;border-radius:50%;background:var(--bad-bg);color:var(--bad-ink);display:grid;place-items:center;font:600 12px var(--font-mono)}.cp-chal-b b{margin-right:8px}.cp-chal-b p{margin:4px 0 0;font-size:13.5px;color:var(--text-2)}.cp-chal-notes{margin:6px 0 0;padding-left:18px;font-size:13px;color:var(--text-2)}.cp-chal-acts{display:flex;gap:6px}@media (max-width:600px){.cp-chal>ul>li{grid-template-columns:28px minmax(0,1fr)}.cp-chal-acts{grid-column:2}}.rf{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden}.rf-steps{display:flex;gap:18px;flex-wrap:wrap;padding:14px 20px;border-bottom:1px solid var(--line);background:var(--bg)}.rf-step{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--text-3)}.rf-step b{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font:600 11px var(--font-mono);background:var(--surface-2);color:var(--text-2)}.rf-step.on{color:var(--text)}.rf-step.on b{background:var(--teal);color:var(--on-accent)}.rf-step.done b{background:var(--good-bg);color:var(--good-ink)}.rf-body{padding:20px 22px 22px;display:grid;gap:14px}.rf-body h2{font-size:22px;font-weight:600}.rf-body h3{font-size:16px;font-weight:600}.rf-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}.rf-form .field{display:grid;gap:5px;min-width:0}.rf-form label,.rf-form legend{font-size:13px;font-weight:600}.rf-form select,.rf-form input:not([type=radio]){height:36px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);padding:0 10px;font:inherit;font-size:14px;width:100%}.rf-form small{font-size:12px}.rf-radio{border:0;padding:0;margin:0;display:grid;gap:6px}.rf-radio label{font-weight:400;display:flex;gap:8px;align-items:center}.rf-acts{display:flex;gap:8px;flex-wrap:wrap}.rf-summary{background:var(--bg);border-radius:8px;padding:12px 14px;font-size:14px}.rf-flags{border-left:3px solid var(--clay);padding:4px 0 4px 14px;display:grid;gap:8px}.rf-flags ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.rf-flags li{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) minmax(0,1.2fr);gap:12px;font-size:13.5px}.rf-flags li em{font-style:normal;color:var(--clay);font-weight:600}.rf-ok{color:var(--good-ink);font-weight:600;margin:0}.rf-err{color:var(--bad-ink);margin:0}.rf-note{margin:0;font-size:13px}.rf-all summary{cursor:pointer;font-size:13.5px;font-weight:600;color:var(--text-2)}.rf-prog{display:grid;grid-template-columns:minmax(80px,220px) 1fr;gap:12px;align-items:center;font-size:13.5px;color:var(--text-2)}.rf-prog .bar{height:6px;border-radius:3px;background:var(--line);overflow:hidden;display:block}.rf-prog .bar i{display:block;height:100%;background:var(--teal);transition:width .3s var(--ease)}.rf-group{display:grid;gap:8px}.rl-h{font:600 10.5px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-top:6px}.rf-find{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start;border:1px solid var(--line);border-radius:10px;padding:11px 14px}.rf-find.hot{border-left:3px solid var(--clay)}.rf-find-b{display:grid;gap:3px;min-width:0;font-size:13.5px}.rf-find-b b{font-weight:600;overflow-wrap:anywhere}.rf-where{font:600 10.5px var(--font-mono);letter-spacing:.05em;color:var(--teal);text-transform:uppercase}.rf-ctx{color:var(--text-2);font-size:13px;overflow-wrap:anywhere}.rf-find-b code{font-size:11.5px;color:var(--text-3);overflow-wrap:anywhere}.rf-find-a{display:flex;gap:6px}@media (max-width:700px){.rf-form,.rf-find,.rf-flags li{grid-template-columns:minmax(0,1fr)}}.ov{display:grid;gap:20px;padding-bottom:48px}.ov-scope{display:grid;gap:10px;padding-top:28px}.ov-seg{flex-wrap:wrap;border-radius:12px}.ov-seg button{padding:7px 14px;font-size:13.5px;border-radius:9px}.ov-chips{display:flex;flex-wrap:wrap;gap:8px}.ov-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font:500 13px var(--font-body);color:var(--text);cursor:pointer}.ov-chip:hover{border-color:var(--text-3)}.ov-chip.on{background:var(--teal);border-color:var(--teal);color:var(--on-accent)}.ov-chip.ghost{background:transparent;border-style:dashed;color:var(--text-2)}.ov-chip .dot{width:7px;height:7px;border-radius:50%;background:var(--teal);border:0;margin:0;flex-shrink:0}.ov-chip.on .dot{background:var(--on-accent)}.ov-chip .dot.upcoming{background:transparent;border:1.5px solid currentColor}.ov-chip .dot.past{background:var(--text-3)}.ov-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.ov-head h1{font-size:32px;font-weight:600;letter-spacing:-.015em;margin-top:6px}.ov-head .acts{display:flex;gap:8px;flex-wrap:wrap}.ov-meta{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;margin:6px 0 0;color:var(--text-2);font-size:14px}.ov-note{margin:0}.ov-small{font-size:12.5px}.ov-ah{flex-wrap:wrap}.ov-ah .seg{margin-left:auto}.ov-empty{margin:0;padding:16px 18px}.ov-foot{padding:10px 18px;border-top:1px solid var(--line);font-size:13px;display:flex;flex-wrap:wrap;gap:6px 16px}.ov-two{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}.ov-two-even{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);margin:20px 0}.ov-main{display:grid;gap:20px;min-width:0}.ov-side{display:grid;gap:16px}.ov-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}.ov-card{padding:16px 18px}.ov-block{display:grid;gap:10px;align-content:start;font-size:14px}.ov-lab{font:600 10.5px/1.2 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--teal)}.ov-none{margin:0;font-size:14px}.ov-due-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.ov-due-head a{text-decoration:none;color:inherit}.ov-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.ov-list li{display:grid;gap:1px}.ov-list a{text-decoration:none;color:inherit}.ov-list a:hover b{text-decoration:underline}.ov-list .muted{font-size:13px}.ov-pad{padding:14px 18px}.ov-reach{list-style:none;margin:0;padding:0;display:grid;gap:6px}.ov-reach li{display:flex;justify-content:space-between;gap:10px;font-size:13.5px}.ov-reach a{text-decoration:none;color:inherit}.ov-reach a:hover b{text-decoration:underline}.ov-reach .muted{text-align:right}.ov-more{font-size:13px;font-weight:600;text-decoration:none}.ov-strip-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.ov-kpis{margin-bottom:0}.ov-kpis .kpi span{white-space:normal}.ov-kpis-4{grid-template-columns:repeat(4,1fr)}.ov-tabs{display:flex;gap:24px;border-bottom:1px solid var(--line)}.ov-tabs button{border:0;background:none;padding:10px 2px;font:600 14px var(--font-body);color:var(--text-3);border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer}.ov-tabs button:hover{color:var(--text)}.ov-tabs button.on{color:var(--text);border-bottom-color:var(--amber)}.ov-attn{list-style:none;margin:0;padding:0}.ov-attn li{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:4px 14px;align-items:center;padding:10px 18px;border-top:1px solid var(--line)}.ov-attn li:first-child{border-top:0}.ov-attn .chip{justify-self:start;white-space:nowrap;font-size:11.5px}.ov-attn-t{display:grid;min-width:0}.ov-attn-t b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ov-attn-t span{font-size:12.5px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ov-attn-go{display:flex;gap:12px;align-items:center;white-space:nowrap;font-size:13px;font-weight:600}.ov-attn-go a{text-decoration:none}.ov-attn .action-note{grid-column:2/-1}.ov-quiet{border:0;background:none;font:500 13px var(--font-body);color:var(--text-3);cursor:pointer;padding:2px 4px;border-radius:6px}.ov-quiet:hover{background:var(--surface-2);color:var(--text)}.ov-table-wrap{overflow-x:auto}.ov-table{width:100%;border-collapse:collapse;font-size:14px}.ov-table th{font:600 10.5px var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);white-space:nowrap}.ov-table td{padding:11px 14px;border-bottom:1px solid var(--surface-2);vertical-align:middle}.ov-table tbody tr{cursor:pointer}.ov-table tbody tr:hover td{background:var(--bg)}.ov-table tbody tr:last-child td{border-bottom:0}.ov-table td small{display:block;font-size:12.5px;color:var(--text-2)}.ov-table td.num{font-variant-numeric:tabular-nums;font-weight:600}.ov-table td.good{color:var(--good-ink)}.ov-table td.warn{color:var(--warn-ink)}.ov-table td.bad{color:var(--bad-ink)}.ov-later td{color:var(--text-2)}.ov-due{display:grid;gap:4px;min-width:150px}.ov-due>span:first-child{display:flex;justify-content:space-between;gap:8px;font-size:12.5px}.ov-due em{font-style:normal;color:var(--text-2)}.ov-due .bar,.st-prog .bar,.ov-mcell .bar{display:block;height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden}.ov-due .bar i,.st-prog .bar i,.ov-mcell .bar i{display:block;height:100%;background:var(--teal);border-radius:3px}.ov-week{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:14px}.ov-week li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:8px}.ov-week .d{font:600 11px/1.6 var(--font-mono);color:var(--amber-ink);text-transform:uppercase}.ov-week small{display:block;color:var(--text-3);font-size:12px}.ov-dl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;margin:0;font-size:14px}.ov-dl dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.ov-matrix{font-size:13.5px}.ov-mrow{display:grid;gap:12px;align-items:center;padding:9px 18px;border-bottom:1px solid var(--surface-2)}.ov-mhead{font:600 10.5px var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);border-bottom-color:var(--line)}.ov-mrow.now{background:color-mix(in srgb,var(--amber) 8%,transparent)}.ov-mt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ov-hot{margin-left:8px;font-size:11px;background:var(--bad-bg);color:var(--bad-ink);border-color:transparent;font-style:normal}.ov-mcell{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:8px;align-items:center}.ov-mcell em{font-style:normal;font-variant-numeric:tabular-nums;text-align:right;font-size:12.5px}.st-bar{gap:12px}.st-bar .seg{margin-left:0;flex-wrap:wrap}.st-search{margin-left:auto;height:34px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);font:inherit;font-size:14px;min-width:200px}.st-sort{border:0;background:none;padding:0;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.st-sort:hover{color:var(--text)}.st-alias{font-weight:600;color:var(--text);text-decoration:none}.st-alias:hover{color:var(--teal);text-decoration:underline}.st-test{margin-left:8px;font-size:11px}.st-when{white-space:nowrap;color:var(--text-2)}.st-prog{display:grid;grid-template-columns:minmax(60px,1fr) auto;gap:8px;align-items:center;min-width:130px}.st-prog em{font-style:normal;font-size:12.5px;font-variant-numeric:tabular-nums;white-space:nowrap}.st-prog .bar i.warn{background:var(--amber)}.st-prog .bar i.bad{background:var(--bad-ink)}.st-retired td{opacity:.55}.chip.st-bad{background:var(--bad-bg);color:var(--bad-ink);border-color:transparent}.chip.st-warn{background:var(--warn-bg);color:var(--warn-ink);border-color:transparent}.chip.st-good{background:var(--good-bg);color:var(--good-ink);border-color:transparent}.chip.st-mute{background:var(--surface-2);color:var(--text-2);border-color:transparent}.st-foot{justify-content:space-between;color:var(--text-3);font-size:12.5px}.st-notes{display:flex;gap:12px;flex-wrap:wrap}.sp-crumbs{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--text-3);padding-top:28px}.sp-alias{display:flex;align-items:center;gap:10px}.sp-two{grid-template-columns:minmax(0,1fr) 340px}.sp-side{display:grid;gap:16px}.sp-side-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px}.sp-ch{font-size:13.5px}.sp-row{display:grid;grid-template-columns:minmax(0,1fr) 64px 150px 64px 56px;gap:10px;align-items:center;padding:9px 18px;border-bottom:1px solid var(--surface-2)}.sp-headrow{font:600 10.5px var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);border-bottom-color:var(--line)}.sp-row.open{background:var(--bg)}.sp-row.later{opacity:.6}.sp-tog{display:inline-flex;gap:8px;align-items:baseline;border:0;background:none;padding:0;font:500 13.5px var(--font-body);color:var(--text);text-align:left;cursor:pointer}.sp-tog:hover{color:var(--teal)}.sp-tog:disabled{cursor:default;color:var(--text-2)}.sp-tog i{font-style:normal;color:var(--text-3);width:10px}.sp-lessons{background:var(--bg);border-bottom:1px solid var(--line);padding:4px 18px 12px 36px;display:grid;gap:4px}.sp-lrow{display:grid;grid-template-columns:minmax(0,1.7fr) 56px minmax(0,1fr) minmax(0,1fr) 50px;gap:10px;align-items:center;font-size:13px;color:var(--text-2);padding:3px 0}.sp-lrow>span:first-child{color:var(--text)}.sp-lhead{font:600 10px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.sp-tick{font-style:normal;color:var(--good-ink);margin-right:6px}.sp-summary{margin:0 0 10px;font-size:14.5px;line-height:1.5}.sp-themes{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:10px}.sp-themes li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;font-size:13.5px}.sp-themes b{font-weight:600}.sp-themes em{font-style:normal;font-size:12px;color:var(--text-3);font-variant-numeric:tabular-nums}.sp-themes span{grid-column:1/-1;color:var(--text-2)}.sp-themes small{grid-column:1/-1;color:var(--text-3);font-size:12px}.sp-bylesson{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:6px;font-size:13.5px}.sp-bylesson li{display:flex;justify-content:space-between;gap:10px}.sp-bylesson em{font-style:normal;font-variant-numeric:tabular-nums;color:var(--text-2)}.sp-suggest{margin:0 0 10px;font-size:13.5px;padding:8px 10px;border-radius:8px;background:var(--surface-2)}.sp-src{margin:0 0 8px;font-size:12px}.sp-qs{display:grid;gap:6px;margin-top:10px}.sp-qs summary{cursor:pointer;font-size:13px;font-weight:600}.sp-qs summary em{font-style:normal;color:var(--text-3);font-weight:500;margin-left:4px}.sp-qs ul{list-style:none;margin:6px 0 4px;padding:0 0 0 12px;display:grid;gap:6px;border-left:2px solid var(--line)}.sp-qs li{display:grid;gap:1px;font-size:13px}.sp-qs small{color:var(--text-3);font-size:11.5px}.sp-act{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:10px;font-size:13px;line-height:1.4}.sp-act li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:8px}.sp-act small{color:var(--text-3);white-space:nowrap}@media (max-width:1100px){.ov-two,.sp-two,.ov-two-even{grid-template-columns:minmax(0,1fr)}}@media (max-width:760px){.ov-three{grid-template-columns:minmax(0,1fr)}.ov-kpis,.ov-kpis-4{grid-template-columns:repeat(2,minmax(0,1fr))}.ov-table .hm,.sp-ch .hm{display:none}.ov-attn li{grid-template-columns:minmax(0,1fr) auto}.ov-attn .chip{grid-column:1/-1}.sp-row{grid-template-columns:minmax(0,1fr) 120px}.sp-row>span:nth-child(2){display:none}.sp-lrow{grid-template-columns:minmax(0,1fr) 60px}.sp-lrow>span:nth-child(n+3){display:none}.st-search{margin-left:0;width:100%}.ov-head h1{font-size:26px}.st-table .hp{display:none}.st-alias{white-space:nowrap}.st-prog{grid-template-columns:auto;min-width:0}.st-prog .bar{display:none}.st-table .chip{white-space:nowrap}.st-table td,.st-table th{padding-left:8px;padding-right:8px}.ov-attn li{grid-template-columns:minmax(0,1fr);gap:6px}.ov-attn-t b,.ov-attn-t span,.ov-attn-link{white-space:normal}.ov-attn-go{justify-content:flex-start}.ov-attn .action-note{grid-column:1/-1}}.ov-attn-link{color:inherit;text-decoration:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ov-attn-link:hover b{text-decoration:underline}.sub-head{padding:12px 18px;border-bottom:1px solid var(--line)}.sub-table td a{white-space:nowrap}.sub-old td{color:var(--text-2)}.sub-danger{color:var(--bad-ink)}.sub-note{margin-top:14px;font-size:13px}.btn.disabled{opacity:.45;pointer-events:none}@media (max-width:760px){.sub-table .hp{display:none}}.atmo-root{--atmo-night: var(--night, #0f2b3c);--atmo-night-2: var(--night-2, #163b4f);--atmo-glass: rgba(15, 43, 60, .85);--atmo-glass-soft: rgba(15, 43, 60, .55);--atmo-border: rgba(242, 184, 75, .32);--atmo-border-strong: var(--amber, #f2b84b);--atmo-amber: var(--amber, #f2b84b);--atmo-amber-ink: var(--amber-ink, #8a5a12);--atmo-ink: #f6efe2;--atmo-ink-2: var(--text-2, #a9b9c4);--atmo-shadow: 0 1px 2px rgba(0, 0, 0, .2), 0 10px 30px -14px rgba(0, 0, 0, .45);--atmo-ease: var(--ease, cubic-bezier(.2, .7, .3, 1));font-family:Nunito,ui-sans-serif,system-ui,-apple-system,sans-serif;color:var(--atmo-ink)}.atmo-root button{font-family:inherit}.atmo-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.atmo-tray{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom,14px));z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.atmo-pill{display:flex;align-items:stretch;background:var(--atmo-glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--atmo-border);border-radius:999px;box-shadow:var(--atmo-shadow);overflow:hidden}.atmo-pill-toggle{display:flex;align-items:center;gap:8px;padding:9px 12px 9px 14px;background:transparent;border:none;color:inherit;font-size:13px;font-weight:700;cursor:pointer}.atmo-pill-toggle .atmo-lantern{color:var(--atmo-amber)}.atmo-pill-play{display:flex;align-items:center;justify-content:center;width:38px;border:none;border-left:1px solid var(--atmo-border);background:#f2b84b24;color:var(--atmo-amber);cursor:pointer}.atmo-pill-play:hover{background:#f2b84b3d}.atmo-card{width:min(360px,calc(100vw - 28px));max-height:min(72vh,540px);overflow-y:auto;background:var(--atmo-glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--atmo-border);border-radius:14px;box-shadow:var(--atmo-shadow);padding:14px;animation:atmo-card-in .22s var(--atmo-ease)}@keyframes atmo-card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.atmo-card-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.atmo-card-title{font-size:13px;font-weight:700;letter-spacing:.02em;margin:0}.atmo-card-close{background:none;border:none;color:var(--atmo-ink-2);font-size:12px;font-weight:700;cursor:pointer;padding:4px}.atmo-card-close:hover{color:var(--atmo-ink)}.atmo-presets{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px;padding:0;list-style:none}.atmo-chip{font-size:12px;font-weight:700;padding:6px 12px;border-radius:999px;border:1px solid var(--atmo-border);background:#ffffff0d;color:var(--atmo-ink);cursor:pointer}.atmo-chip:hover{border-color:var(--atmo-border-strong)}.atmo-chip[aria-pressed=true]{background:var(--atmo-amber);border-color:var(--atmo-amber);color:var(--atmo-amber-ink)}.atmo-sound-list{display:flex;flex-direction:column;gap:12px;margin:0 0 12px;padding:0;list-style:none}.atmo-sound-row{display:flex;flex-direction:column;gap:5px}.atmo-sound-head{display:flex;align-items:center;gap:8px}.atmo-sound-icon{color:var(--atmo-ink-2);flex:none}.atmo-sound-row[data-active=true] .atmo-sound-icon{color:var(--atmo-amber)}.atmo-sound-name{flex:1;font-size:13px;font-weight:600}.atmo-sound-value{font-size:11px;color:var(--atmo-ink-2);font-variant-numeric:tabular-nums;min-width:2.6em;text-align:right}.atmo-hr{border:none;border-top:1px solid var(--atmo-border);margin:4px 0 12px}.atmo-master-row{display:flex;align-items:center;gap:10px}.atmo-master-row .atmo-sound-name{flex:none;width:60px}.atmo-mute{flex:none;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--atmo-border);background:transparent;color:var(--atmo-ink-2);cursor:pointer}.atmo-mute[aria-pressed=true]{color:var(--atmo-amber);border-color:var(--atmo-border-strong)}input[type=range].atmo-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1;width:100%;height:4px;border-radius:999px;background:#ffffff29;cursor:pointer}input[type=range].atmo-slider::-webkit-slider-thumb{-webkit-appearance:none;width:15px;height:15px;border-radius:50%;background:var(--atmo-ink-2);border:2px solid var(--atmo-night);cursor:pointer;transition:background .15s var(--atmo-ease)}input[type=range].atmo-slider::-moz-range-thumb{width:15px;height:15px;border-radius:50%;border:2px solid var(--atmo-night);background:var(--atmo-ink-2);cursor:pointer;transition:background .15s var(--atmo-ease)}input[type=range].atmo-slider[data-active=true]::-webkit-slider-thumb{background:var(--atmo-amber)}input[type=range].atmo-slider[data-active=true]::-moz-range-thumb{background:var(--atmo-amber)}input[type=range].atmo-slider:focus-visible,.atmo-chip:focus-visible,.atmo-pill-toggle:focus-visible,.atmo-pill-play:focus-visible,.atmo-mute:focus-visible,.atmo-card-close:focus-visible{outline:2px solid var(--atmo-amber);outline-offset:2px}.atmo-page{position:relative;min-height:100svh;background:var(--atmo-night);isolation:isolate}.atmo-page-bg{position:fixed;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;opacity:.4;z-index:0}.atmo-page-content{position:relative;z-index:1;max-width:960px;margin:0 auto;padding:clamp(48px,8vw,88px) 20px 80px}.atmo-page-eyebrow{font-family:Nunito,ui-sans-serif,sans-serif;font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--atmo-amber);margin:0 0 10px}.atmo-page-content h1{font-family:Fraunces,ui-serif,Georgia,Times New Roman,serif;font-weight:600;font-size:clamp(28px,4vw,40px);text-wrap:balance;margin:0 0 10px}.atmo-page-copy{color:var(--atmo-ink-2);font-size:15px;line-height:1.6;max-width:58ch;margin:0 0 28px}.atmo-page .atmo-presets{margin-bottom:28px}.atmo-page .atmo-chip{font-size:13px;padding:8px 16px}.atmo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.atmo-page-card{background:var(--atmo-glass-soft);border:1px solid var(--atmo-border);border-radius:14px;padding:16px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;flex-direction:column;gap:10px}.atmo-page-card-head{display:flex;align-items:center;gap:12px}.atmo-page-card-icon-wrap{position:relative;flex:none;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffff0f;color:var(--atmo-ink-2)}.atmo-page-card[data-active=true] .atmo-page-card-icon-wrap{color:var(--atmo-amber);background:#f2b84b29}.atmo-page-card[data-active=true] .atmo-page-card-icon-wrap:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:1px solid var(--atmo-amber);opacity:.5;animation:atmo-pulse 4s var(--atmo-ease) infinite}@keyframes atmo-pulse{0%,to{opacity:.32;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.atmo-page-card-title{margin:0;font-size:15px;font-weight:700}.atmo-page-card-desc{margin:0;font-size:13px;color:var(--atmo-ink-2);line-height:1.5}.atmo-page-card-foot{display:flex;align-items:center;gap:10px;margin-top:auto}@media (prefers-reduced-motion: reduce){.atmo-card{animation:none}.atmo-page-card-icon-wrap:after{animation:none;opacity:.55}}.atmo-page-bg{transform:scale(1.06)}.atmo-page-back{display:inline-block;margin-bottom:18px;color:var(--amber,#F2B84B);font-weight:700;font-size:14px;text-decoration:none;opacity:.9}.atmo-page-back:hover{opacity:1;text-decoration:underline}.landing-page{background:var(--bg)}.landing-page .ls-scene{background:var(--night)}.ls-content{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(18px,3.5vh,36px);padding:72px 20px 88px;text-align:center;animation:ls-enter .6s var(--ease) both}@keyframes ls-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.ls-wordmark{width:min(62vw,400px);aspect-ratio:900/371;margin:0 auto;background-color:var(--mark,#fff);-webkit-mask:url(/art/layer-wordmark.png) center/contain no-repeat;mask:url(/art/layer-wordmark.png) center/contain no-repeat;filter:drop-shadow(0 6px 18px var(--ls-mark-shadow))}.ls-tagline{margin:8px auto 0;max-width:38ch;font-family:Nunito,sans-serif;font-weight:400;font-size:13px;line-height:1.5;letter-spacing:.14em;max-width:46ch;padding:6px 14px;border-radius:999px;background:var(--ls-tag-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);text-transform:uppercase;color:var(--ls-fg);text-shadow:var(--ls-shadow)}.ls-choice{width:100%;max-width:760px;display:flex;flex-direction:column;align-items:center}.ls-continue{margin-bottom:22px}.ls-choice .eyebrow{color:var(--ls-eyebrow);text-shadow:var(--ls-shadow)}.ls-choice-title{margin-top:6px;color:var(--ls-card-title);font-size:22px}.ls-empty{color:var(--ls-fg-2);font-size:15px;margin-top:14px}.ls-signin{margin:14px auto 0;width:100%;max-width:440px;display:grid;gap:12px;text-align:left;background:var(--ls-box-bg);border:1px solid var(--ls-box-line);border-radius:var(--radius-card);padding:18px 20px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--ls-fg)}.ls-signin .field{display:grid;gap:6px}.ls-signin .field label{color:var(--ls-fg-2);font-size:13px;font-weight:600}.ls-signin .field input{background:#fffbf3f0;color:#1e2a33;font-size:16px;padding:11px 12px;border:1.5px solid var(--ls-box-line);border-radius:var(--radius-control)}.ls-signin .field input:focus{outline:0;border-color:var(--amber);box-shadow:0 0 0 3px #f2b84b40}.ls-signin .btn.primary{justify-self:stretch}.ls-hint{margin:0;font-size:13px;color:var(--ls-eyebrow)}.ls-signin-privacy{margin:0;font-size:13px;line-height:1.5;color:var(--ls-fg-2)}.ls-waiting .eyebrow{color:var(--ls-eyebrow)}.ls-waiting-lede{margin:0;font-family:Fraunces,Georgia,serif;font-size:19px;line-height:1.3;color:var(--ls-card-title);text-wrap:balance}.ls-waiting-to,.ls-waiting-tips{margin:0;font-size:13.5px;line-height:1.5;color:var(--ls-fg-2)}.ls-waiting-to b{color:var(--ls-fg)}.ls-linkbtn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;padding:0;font:inherit;color:var(--ls-pick-ink);text-decoration:underline;cursor:pointer}.ls-waiting .btn{justify-self:start;background:transparent;border:1px solid var(--ls-pick-line);color:var(--ls-pick-ink)}.ls-waiting .btn:disabled{opacity:.55;cursor:default}.ls-continue .eyebrow{margin-bottom:10px}.ls-second{background:var(--bg);color:var(--text);padding:56px 0 40px}.ls-second .eyebrow{margin-bottom:8px}.ls-blocks{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:8px}.ls-block{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:20px 22px}.ls-block h3{font-size:18px;margin-bottom:8px}.ls-block p{margin:0;color:var(--text-2);font-size:14.5px}.ls-daybanner{margin-top:36px;border-radius:var(--radius-card);overflow:hidden;position:relative;height:200px;box-shadow:var(--shadow)}.ls-daybanner img{width:100%;height:100%;object-fit:cover;display:block}.ls-daybanner:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(0deg,#fbf4e6a6,#fbf4e600 55%)}@media (max-width:900px){.ls-blocks{grid-template-columns:1fr}}@media (max-width:600px){.ls-wordmark{width:92%}.ls-daybanner{height:140px}}@media (max-width:700px){.ls-content{padding-bottom:110px}.shell--scene .top nav{margin-left:auto}}
