:root{--ink:#0c1730;--ink-2:#132244;--ink-3:#1b2d55;--ink-line:#273a64;--on-ink:#e7ecf6;--on-ink-muted:#93a3c2;--blue:#245fe8;--blue-hover:#1b4dc4;--blue-soft:#eaf0fe;--cyan:#35c4e8;--cyan-text:#0a7590;--canvas:#f6f8fc;--paper:#f5f2ec;--surface:#fff;--surface-2:#eef2f8;--line:#dde5ef;--line-strong:#c4cfde;--fg:#0c1730;--muted:#475570;--faint:#66748f;--signal:#ff8a4c;--signal-text:#b2470f;--signal-soft:#fff1e8;--ok:#0f7f58;--ok-soft:#e7f6ef;--warn:#9a5b05;--warn-soft:#fff6e0;--bad:#b42318;--bad-soft:#fdecea;--display:"Bricolage Grotesque", "Inter", ui-sans-serif, system-ui, sans-serif;--sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--t-12:.75rem;--t-13:.8125rem;--t-14:.875rem;--t-16:1rem;--t-18:1.125rem;--t-20:1.25rem;--t-24:clamp(1.3rem, 1.15rem + .5vw, 1.5rem);--t-32:clamp(1.6rem, 1.3rem + 1vw, 2rem);--t-44:clamp(2rem, 1.5rem + 1.8vw, 2.75rem);--t-64:clamp(2.5rem, 1.6rem + 3.4vw, 4rem);--t-80:clamp(2.75rem, 1.5rem + 4.6vw, 5rem);--r-ctl:6px;--r-panel:12px;--r-window:14px;--r-stage:20px;--shadow-1:0 1px 2px #0c17300f;--shadow-2:0 12px 28px -14px #0c173040, 0 2px 6px #0c17300d;--shadow-window:0 1px 0 #fff9 inset, 0 30px 60px -28px #0c173073, 0 8px 18px -10px #0c17302e;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--section:clamp(64px, 9vw, 120px);--container:1240px;--gutter:max(16px, min(4vw, 40px));--header-h:68px;--ease:cubic-bezier(.2, .7, .2, 1);--ease-out:cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}body{font-family:var(--sans);font-size:var(--t-16);color:var(--fg);background:var(--canvas);font-feature-settings:"cv11", "ss01", "ss03";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.6}img,svg{max-width:100%;display:block}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4{font-family:var(--display);letter-spacing:-.03em;text-wrap:balance;font-optical-sizing:auto;margin:0;font-weight:700;line-height:1.06}h3,h4{font-family:var(--sans);letter-spacing:-.015em;font-weight:650;line-height:1.25}p{text-wrap:pretty;margin:0}ul,ol{margin:0;padding:0}code,pre,kbd,samp{font-family:var(--mono);font-size:.9em}:focus-visible{outline:2.5px solid var(--blue);outline-offset:2px;border-radius:4px}.on-ink :focus-visible,.ink :focus-visible{outline-color:var(--cyan)}::selection{background:#35c4e84d}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--ink);color:#fff;border-radius:var(--r-ctl);padding:10px 14px;text-decoration:none;position:absolute;top:-80px;left:12px}.skip-link:focus{top:12px}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.tabular{font-variant-numeric:tabular-nums}.mono{font-family:var(--mono)}.muted{color:var(--muted)}.faint{color:var(--faint)}.lede{font-size:var(--t-18);color:var(--muted);max-width:58ch;line-height:1.55}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.btn{--btn-bg:var(--blue);--btn-fg:#fff;--btn-bd:transparent;border-radius:var(--r-ctl);border:1px solid var(--btn-bd);background:var(--btn-bg);min-height:46px;color:var(--btn-fg);font-weight:600;font-size:var(--t-14);letter-spacing:-.005em;cursor:pointer;white-space:nowrap;transition:background-color .18s var(--ease), border-color .18s var(--ease), color .18s var(--ease), transform .18s var(--ease);justify-content:center;align-items:center;gap:10px;padding:0 20px;text-decoration:none;display:inline-flex;position:relative}.btn:active{transform:translateY(1px)}.btn svg{flex:none;width:17px;height:17px}.btn .arrow{transition:transform .2s var(--ease)}.btn:hover .arrow{transform:translate(3px)}.btn-primary:hover{--btn-bg:var(--blue-hover)}.btn-secondary{--btn-bg:var(--surface);--btn-fg:var(--fg);--btn-bd:var(--line-strong)}.btn-secondary:hover{--btn-bd:var(--fg)}.btn-ink{--btn-bg:var(--ink)}.btn-ink:hover{--btn-bg:var(--ink-3)}.btn-ghost{--btn-bg:transparent;--btn-fg:var(--muted);padding-inline:12px}.btn-ghost:hover{--btn-fg:var(--fg);--btn-bg:var(--surface-2)}.btn-on-ink{--btn-bg:transparent;--btn-fg:#fff;--btn-bd:#ffffff47}.btn-on-ink:hover{--btn-bd:#fff;--btn-bg:#ffffff0f}.btn-sm{min-height:36px;font-size:var(--t-13);padding:0 14px}.btn-block{width:100%}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none}.link{color:var(--blue);transition:background-size .25s var(--ease);background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;padding-bottom:1px;font-weight:600;text-decoration:none}.link:hover{background-size:100% 1.5px}.link-row{align-items:center;gap:6px;display:inline-flex}.link-row svg{width:16px;height:16px}.site-header{z-index:50;-webkit-backdrop-filter:saturate(1.5)blur(14px);backdrop-filter:saturate(1.5)blur(14px);transition:border-color .2s var(--ease), background-color .2s var(--ease);background:#f6f8fce6;border-bottom:1px solid #0000;position:sticky;top:0}.site-header.scrolled{border-bottom-color:var(--line)}.site-header .container{height:var(--header-h);align-items:center;gap:32px;display:flex}.brand{flex:none;align-items:center;gap:12px;text-decoration:none;display:flex}.brand img{width:auto;height:26px}.brand-academy{font-family:var(--display);letter-spacing:-.02em;border-left:1px solid var(--line-strong);padding-left:12px;font-size:1.05rem;font-weight:650;line-height:1}.nav{align-items:center;gap:2px;display:flex}.nav a{font-size:var(--t-14);color:var(--muted);border-radius:var(--r-ctl);transition:color .15s var(--ease);padding:10px 12px;font-weight:550;text-decoration:none;position:relative}.nav a:after{content:"";background:var(--blue);transform-origin:0;height:2px;transition:transform .25s var(--ease-out);border-radius:2px;position:absolute;bottom:4px;left:12px;right:12px;transform:scaleX(0)}.nav a:hover{color:var(--fg)}.nav a:hover:after,.nav a.active:after{transform:scaleX(1)}.nav a.active{color:var(--fg)}.header-end{align-items:center;gap:8px;margin-left:auto;display:flex}.menu-btn,.mobile-nav{display:none}@media (width<=1000px){.site-header .nav,.header-end .hide-md{display:none}.menu-btn{display:inline-flex}.mobile-nav{inset:var(--header-h) 0 0 0;z-index:49;background:var(--canvas);padding:16px var(--gutter) 32px;animation:sheet-in .25s var(--ease-out);align-content:start;gap:4px;display:grid;position:fixed;overflow-y:auto}.mobile-nav[hidden]{display:none}.mobile-nav a{border-bottom:1px solid var(--line);font-family:var(--display);font-size:var(--t-24);letter-spacing:-.02em;justify-content:space-between;align-items:center;padding:16px 4px;font-weight:650;text-decoration:none;display:flex}.mobile-nav a.active{color:var(--blue)}.mobile-nav .btn{margin-top:20px}}@keyframes sheet-in{0%{opacity:0;transform:translateY(-8px)}}@media (width<=480px){.brand-academy{font-size:.95rem}}.status-strip{background:var(--ink);color:var(--on-ink-muted);font-size:var(--t-12);padding:7px 0}.status-strip .container{align-items:center;gap:10px;display:flex}.status-strip b{color:#fff;font-weight:600}.status-strip i{background:var(--signal);border-radius:50%;flex:none;width:6px;height:6px}.site-footer{border-top:1px solid var(--ink-line);color:var(--on-ink-muted);font-size:var(--t-14);background:#08112a}.footer-top{grid-template-columns:1.6fr repeat(3,1fr);gap:40px;padding-block:64px 48px;display:grid}.footer-brand img{filter:brightness(0)invert();width:auto;height:26px}.footer-brand p{max-width:34ch;margin-top:16px}.site-footer h2{font-family:var(--sans);font-size:var(--t-13);color:#fff;letter-spacing:0;margin-bottom:14px;font-weight:600}.site-footer ul{gap:10px;list-style:none;display:grid}.site-footer a{color:var(--on-ink-muted);text-decoration:none}.site-footer a:hover{color:#fff}.footer-base{border-top:1px solid var(--ink-line);font-size:var(--t-12);padding-block:20px}@media (width<=760px){.footer-top{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}.section{padding-block:var(--section)}.band-paper{background:var(--paper)}.band-ink{background:var(--ink);color:var(--on-ink)}.band-ink .muted,.band-ink .lede{color:var(--on-ink-muted)}.sec-head{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:16px 24px;margin-bottom:clamp(32px,5vw,56px);display:grid}.sec-head h2{font-size:var(--t-64);grid-column:1/span 7}.sec-head .dek{color:var(--muted);font-size:var(--t-16);grid-column:9/span 4}.band-ink .sec-head .dek{color:var(--on-ink-muted)}@media (width<=900px){.sec-head h2,.sec-head .dek{grid-column:1/-1}}.page-top{padding-block:clamp(40px,6vw,72px) clamp(28px,4vw,40px)}.page-top h1{font-size:var(--t-64);max-width:16ch}.page-top .lede{margin-top:16px}.badge{font-size:var(--t-12);white-space:nowrap;background:var(--surface-2);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:6px 9px;font-weight:600;line-height:1;display:inline-flex}.badge.preview{background:var(--signal-soft);color:var(--signal-text)}.badge.soon{background:var(--surface-2);color:var(--muted)}.badge.available,.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.draft{background:var(--surface-2);color:var(--faint)}.badge.sample{color:var(--signal-text);background:0 0;border:1px dashed #f3b48f}.badge.on-ink{color:var(--on-ink);background:#ffffff14}.badge .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.chip{border:1px solid var(--line-strong);background:var(--surface);min-height:38px;font-size:var(--t-14);color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-weight:550;transition:border-color .15s,color .15s,background-color .15s;display:inline-flex}.chip:hover{color:var(--fg);border-color:var(--fg)}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.chip .count{font-size:var(--t-12);color:inherit;opacity:.7}.path-dot{background:hsl(var(--hue,221) 80% 50%);border-radius:2px;flex:none;width:8px;height:8px}.notice{border-radius:var(--r-panel);font-size:var(--t-14);background:var(--blue-soft);color:#17357f;border:1px solid #d3defb;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.notice svg{flex:none;width:19px;height:19px;margin-top:2px}.notice.warn{background:var(--warn-soft);color:#6b3f02;border-color:#f6dfa5}.notice.ok{background:var(--ok-soft);color:#0b5a3f;border-color:#b9e5d1}.notice b{font-weight:650}.field{gap:6px;display:grid}.field label,.field .label{font-size:var(--t-14);font-weight:600}.field .hint{font-size:var(--t-12);color:var(--faint)}.field .err{font-size:var(--t-12);color:var(--bad);font-weight:550}.input{border:1px solid var(--line-strong);border-radius:var(--r-ctl);background:var(--surface);width:100%;min-height:48px;padding:11px 14px;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:#8b97ad}.input:hover{border-color:#9fb0c8}.input:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 4px #245fe824}.input[aria-invalid=true]{border-color:var(--bad)}textarea.input{resize:vertical;min-height:112px;line-height:1.5}.check{font-size:var(--t-14);color:var(--muted);align-items:flex-start;gap:10px;display:flex}.check input{width:18px;height:18px;accent-color:var(--blue);flex:none;margin-top:2px}.tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.tabs button{font-size:var(--t-14);color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:12px 14px;font-weight:600}.tabs button:hover{color:var(--fg)}.tabs button[aria-selected=true]{color:var(--fg);border-bottom-color:var(--blue)}.table-wrap{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface);overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:var(--t-14);font-variant-numeric:tabular-nums}table.data caption{text-align:left;font-size:var(--t-12);color:var(--faint);border-bottom:1px solid var(--line);padding:12px 16px}table.data th{text-align:left;font-weight:600;font-size:var(--t-13);color:var(--muted);white-space:nowrap;border-bottom:1px solid var(--line);padding:11px 16px}table.data td{border-bottom:1px solid var(--line);white-space:nowrap;padding:13px 16px}table.data tr:last-child td{border-bottom:0}table.data a{color:var(--blue);font-weight:550;text-decoration:none}.progress{background:var(--surface-2);border-radius:99px;height:6px;overflow:hidden}.progress>i{border-radius:inherit;background:var(--blue);height:100%;display:block}.band-ink .progress,.on-ink .progress{background:var(--ink-line)}.band-ink .progress>i,.on-ink .progress>i{background:var(--cyan)}.window{border-radius:var(--r-window);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-window);font-size:var(--t-13);text-align:left;line-height:1.45;overflow:hidden}.window-bar{background:var(--surface-2);border-bottom:1px solid var(--line);height:38px;font-size:var(--t-12);color:var(--faint);align-items:center;gap:12px;padding:0 14px;display:flex}.window-bar .lights{gap:6px;display:flex}.window-bar .lights i{background:#cdd6e3;border-radius:50%;width:10px;height:10px}.window-bar .addr{text-align:center;font-family:var(--mono);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:11px;overflow:hidden}.window.dark{background:var(--ink);border-color:var(--ink-line);color:var(--on-ink)}.window.dark .window-bar{background:var(--ink-2);border-color:var(--ink-line);color:var(--on-ink-muted)}.window.dark .window-bar .lights i{background:var(--ink-line)}.console{color:#c9d6ef;font-family:var(--mono);white-space:pre;background:#0a1328;border-radius:8px;margin:0;padding:12px 14px;font-size:11.5px;line-height:1.6;overflow-x:auto}.console .p{color:var(--cyan)}.console .dim{color:#6f80a3}.console .hl{color:#ffd2b8}.course-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);transition:border-color .2s var(--ease), box-shadow .25s var(--ease);grid-template-rows:auto 1fr;display:grid;position:relative;overflow:hidden}.course-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-2)}.course-card:focus-within{border-color:var(--blue)}.cc-visual{aspect-ratio:16/10;background:var(--surface-2);border-bottom:1px solid var(--line);padding:18px 18px 0;position:relative;overflow:hidden}.cc-visual>*{transition:transform .45s var(--ease-out)}.course-card:hover .cc-visual>*{transform:translateY(-4px)}.cc-body{grid-template-rows:auto auto 1fr auto;gap:10px;padding:18px 20px 20px;display:grid}.cc-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.cc-path{font-size:var(--t-13);color:var(--muted);align-items:center;gap:8px;font-weight:600;display:inline-flex}.cc-title{font-family:var(--display);letter-spacing:-.025em;font-size:1.4rem;font-weight:680;line-height:1.1}.cc-title a{text-decoration:none}.cc-title a:after{content:"";position:absolute;inset:0}.cc-title a:focus-visible{outline:none}.cc-outcome{color:var(--muted);font-size:var(--t-14)}.cc-facts{font-size:var(--t-13);color:var(--faint);border-top:1px solid var(--line);flex-wrap:wrap;gap:4px 14px;padding-top:12px;display:flex}.cc-facts b{color:var(--fg);font-weight:600}.cc-foot{justify-content:space-between;align-items:center;gap:12px;padding-top:4px;display:flex}.cc-price{font-size:var(--t-14);color:var(--muted)}.cc-price b{font-size:var(--t-18);color:var(--fg)}.cc-foot .btn{z-index:1}.mini{border:1px solid var(--line);background:var(--surface);border-bottom:0;border-radius:10px 10px 0 0;height:100%;font-size:11px;line-height:1.45;overflow:hidden;box-shadow:inset 0 -1px #ffffffb3,0 20px 40px -24px #0c173066}.mini.dark{background:var(--ink);border-color:var(--ink-line);color:var(--on-ink)}.mini-bar{border-bottom:1px solid var(--line);background:var(--surface-2);height:26px;color:var(--faint);align-items:center;gap:8px;padding:0 10px;font-size:10px;display:flex}.mini.dark .mini-bar{background:var(--ink-2);border-color:var(--ink-line);color:var(--on-ink-muted)}.mini-bar i{background:#cdd6e3;border-radius:50%;width:7px;height:7px}.mini.dark .mini-bar i{background:var(--ink-line)}.mini-body{gap:7px;padding:10px 12px;display:grid}.skeleton{border-radius:var(--r-panel);background:linear-gradient(90deg, var(--surface-2), #e6ebf3, var(--surface-2));background-size:200% 100%;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.empty{justify-items:start;gap:12px;padding:48px 0;display:grid}.empty h2{font-size:var(--t-32)}.lesson-visual{height:100%}.mv-row{align-items:center;gap:6px;display:flex}.mv-id{font-family:var(--mono);color:var(--faint);margin-right:auto;font-size:10px}.mv-pill{background:var(--surface-2);color:var(--muted);border-radius:99px;padding:2px 7px;font-size:9.5px;font-weight:650}.mv-pill.p3{background:var(--warn-soft);color:var(--warn)}.mv-pill.open{background:var(--blue-soft);color:var(--blue)}.mv-subject{letter-spacing:-.01em;color:var(--fg);font-size:13px;font-weight:650}.mv-subject.sm{margin-top:2px;font-size:11.5px}.mv-meta{color:var(--faint);font-size:10px}.mv-steps{gap:3px;margin-top:2px;list-style:none;display:flex}.mv-steps li{color:var(--faint);border-top:3px solid var(--line);white-space:nowrap;text-overflow:ellipsis;flex:1;padding-top:5px;font-size:8.5px;overflow:hidden}.mv-steps li.done{border-color:var(--cyan);color:var(--muted)}.mv-steps li.now{border-color:var(--signal);color:var(--fg);font-weight:650}.mv-note{background:var(--canvas);border:1px solid var(--line);color:var(--muted);border-radius:6px;margin-top:2px;padding:7px 8px;font-size:10px}.mv-note b{color:var(--fg);margin-right:4px}.mv-term{font-family:var(--mono);color:#c9d6ef;white-space:pre;margin:0;padding:10px 12px;font-size:10px;line-height:1.6;overflow:hidden}.mv-term .p,.mv-term .k{color:var(--cyan)}.mv-term .dim{color:#6f80a3}.mv-term .hl{color:#ffb98f}.mv-term .s{color:#b6e3a8}.mv-term .n{color:#f7d38a}.mv-rule{color:#ffc7a6;font-family:var(--mono);background:#ff8a4c1f;border-radius:6px;margin:0 12px;padding:6px 8px;font-size:9.5px}.mv-canvas{background:radial-gradient(#c7d2e3 1px, transparent 1.2px) 0 0 / 12px 12px, var(--canvas);align-items:center;padding:22px 10px 14px;display:flex}.mv-node{background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--shadow-1);border-radius:7px;flex:none;gap:1px;min-width:0;padding:7px 8px;display:grid}.mv-node b{white-space:nowrap;font-size:10px}.mv-node span{color:var(--faint);white-space:nowrap;font-size:8.5px}.mv-node.ai{border-color:var(--blue);box-shadow:0 0 0 3px #245fe81f}.mv-node.gate{border-color:var(--signal)}.mv-wire{background:var(--line-strong);flex:1;min-width:8px;height:2px}.mv-exec{color:var(--muted);border-top:1px solid var(--line);padding:8px 12px;font-size:10px}.mv-exec .ok{color:var(--ok)}.mv-hdr{color:var(--faint);border-bottom:1px dashed var(--line);grid-template-columns:52px 1fr;align-items:baseline;gap:8px;padding-bottom:5px;font-size:10px;display:grid}.mv-hdr code{color:var(--fg);white-space:nowrap;text-overflow:ellipsis;font-size:9.5px;overflow:hidden}.mv-hdr.flag code{color:var(--bad);font-weight:600}.mv-flags{flex-wrap:wrap;gap:4px;display:flex}.mv-flags span{color:var(--bad);background:var(--bad-soft);border-radius:4px;padding:2px 6px;font-size:9px;font-weight:600}.mv-alerts{gap:0;padding:4px 12px}.mv-alert{border-bottom:1px solid var(--line);grid-template-columns:34px 1fr auto;align-items:center;gap:8px;padding:7px 0;font-size:10px;display:grid}.mv-alert:last-child{border-bottom:0}.mv-alert .sev{text-align:center;border-radius:4px;padding:2px 0;font-size:9px;font-weight:700}.mv-alert .sev.high{background:var(--bad-soft);color:var(--bad)}.mv-alert .sev.med{background:var(--warn-soft);color:var(--warn)}.mv-alert .sev.low{background:var(--surface-2);color:var(--muted)}.mv-alert .t{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.mv-alert .w{font-family:var(--mono);color:var(--faint);font-size:9px}.hero{background:linear-gradient(to bottom, transparent 70%, var(--canvas)), repeating-linear-gradient(90deg, transparent 0 calc(var(--col,103px) - 1px), #0c17300b calc(var(--col,103px) - 1px) var(--col,103px)), var(--canvas);padding-block:clamp(48px,7vw,96px) clamp(64px,8vw,112px);position:relative;overflow:hidden}.hero-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;gap:48px 24px;display:grid}.hero-copy{grid-column:1/span 5;align-content:center;gap:24px;display:grid}.hero h1{font-size:var(--t-80);letter-spacing:-.045em;font-weight:720;line-height:.98}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.hero-facts{border-top:1px solid var(--line);flex-wrap:wrap;gap:16px 32px;margin:8px 0 0;padding-top:20px;display:flex}.hero-facts dt{font-size:var(--t-12);color:var(--faint)}.hero-facts dd{font-weight:650;font-size:var(--t-14);margin:2px 0 0}.hero-mock{margin-right:calc(-1 * clamp(0px, (100vw - var(--container)) / 2 + 80px, 120px));grid-column:6/span 7;position:relative}.hm-body{grid-template-columns:188px minmax(0,1fr);min-height:400px;display:grid}.hm-side{background:var(--canvas);border-right:1px solid var(--line);align-content:start;gap:2px;padding:16px 14px;display:grid}.hm-mod{color:var(--faint);font-size:10.5px}.hm-modtitle{margin-bottom:10px;font-weight:650}.hm-side ul{gap:2px;list-style:none;display:grid}.hm-side li{color:var(--muted);border-radius:6px;padding:7px 8px 7px 22px;font-size:11.5px;position:relative}.hm-side li:before{content:"";border:1.5px solid var(--line-strong);border-radius:50%;width:7px;height:7px;position:absolute;top:12px;left:7px}.hm-side li.done:before{background:var(--ok);border-color:var(--ok)}.hm-side li.now{background:var(--surface);color:var(--fg);box-shadow:var(--shadow-1);font-weight:600}.hm-side li.now:before{border-color:var(--blue);background:var(--blue)}.hm-main{align-content:start;gap:12px;min-width:0;padding:18px;display:grid}.hm-ticket{gap:3px;display:grid}.hm-tk-top{color:var(--faint);justify-content:space-between;align-items:center;font-size:11px;display:flex}.hm-pill{color:var(--warn);background:var(--warn-soft);border-radius:99px;padding:2px 8px;font-size:10.5px;font-weight:650}.hm-tk-subject{font-family:var(--display);letter-spacing:-.03em;font-size:1.35rem;font-weight:700}.hm-tk-meta{color:var(--faint);font-size:11px}.hm-notes{border-block:1px solid var(--line);gap:6px;padding:10px 0;list-style:none;display:grid}.hm-notes li{color:var(--muted);animation:note-in .5s var(--ease-out) both;animation-delay:var(--d,0s);grid-template-columns:40px 1fr;gap:8px;font-size:12px;display:grid}.hm-notes .mono{color:var(--faint);padding-top:1px;font-size:10.5px}.hm-notes b{color:var(--fg);font-weight:600}@keyframes note-in{0%{opacity:0;transform:translateY(6px)}}.hm-console{animation:note-in .6s var(--ease-out) 1.7s both;font-size:10.5px}.hm-next{animation:note-in .5s var(--ease-out) 2.1s both;justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.hm-q{font-weight:600}.hm-btn{font-family:var(--mono);background:var(--blue);color:#fff;border-radius:6px;padding:6px 10px;font-size:11px}.hm-tag{background:var(--ink);color:#fff;font-size:var(--t-12);box-shadow:var(--shadow-2);animation:note-in .5s var(--ease-out) 2.4s both;border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-weight:600;display:inline-flex;position:absolute;bottom:36px;left:-28px}.hm-tag-dot{background:var(--signal);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #ff8a4c40}@media (width<=1100px){.hero-copy{grid-column:1/-1;max-width:720px}.hero-mock{grid-column:1/-1;margin-right:0}.hm-tag{bottom:-18px;left:16px}}@media (width<=640px){.hm-side{display:none}.hm-body{grid-template-columns:minmax(0,1fr);min-height:0}.hm-console{font-size:9.5px}}.paths{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:20px;display:grid}.paths-side{grid-template-columns:minmax(0,1fr);gap:20px;display:grid}.path{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);grid-template-rows:auto 1fr;display:grid;overflow:hidden}.path-copy{align-content:start;gap:12px;padding:28px;display:grid}.path h3{font-family:var(--display);font-size:var(--t-32);letter-spacing:-.03em;font-weight:700;line-height:1.04}.path h3 a{transition:background-size .3s var(--ease);background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;text-decoration:none}.path h3 a:hover{background-size:100% 2px}.path-sum{font-size:var(--t-18);color:var(--fg);max-width:36ch}.path-for{color:var(--muted);font-size:var(--t-14)}.path-skills{flex-wrap:wrap;gap:6px;list-style:none;display:flex}.path-skills li{font-size:var(--t-12);background:hsl(var(--hue) 70% 50% / .09);color:hsl(var(--hue) 70% 28%);border-radius:999px;padding:5px 10px;font-weight:600}.path-courses{border-top:1px solid var(--line);margin-top:6px;list-style:none;display:grid}.path-courses li{border-bottom:1px solid var(--line);font-size:var(--t-14);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.path-courses a{font-weight:600;text-decoration:none}.path-courses a:hover{color:var(--blue)}.pc-status{font-size:var(--t-12);color:var(--faint);white-space:nowrap}.pc-status.preview{color:var(--signal-text);font-weight:600}.path-visual{background:radial-gradient(120% 90% at 100% 0%, hsl(var(--hue) 80% 55% / .16), transparent 60%), hsl(var(--hue) 30% 96%);border-top:1px solid var(--line);min-height:210px;padding:24px 24px 0;position:relative}.path.big .path-visual{min-height:290px}.path.big .path-visual>.lesson-visual{width:74%}.path-visual-2{width:56%;height:70%;position:absolute;bottom:0;right:22px}.paths-side .path-visual{min-height:150px;padding:20px 24px 0}.paths-side .path-copy{padding:24px}.paths-side .path h3{font-size:var(--t-24)}.paths-side .path-sum{font-size:var(--t-16)}@media (width<=1000px){.paths{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.path.big .path-visual>.lesson-visual{width:100%}.path-visual-2{display:none}.path-copy{padding:22px}}.home-courses{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.course-card.featured{grid-column:span 2;grid-template-rows:none;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.course-card.featured .cc-visual{aspect-ratio:auto;border-bottom:0;border-right:1px solid var(--line);padding:28px 0 0 28px}.course-card.featured .cc-visual .mini{border-right:0;border-radius:10px 0 0}.course-card.featured .cc-body{padding:26px 28px 28px}.course-card.featured .cc-title{font-size:var(--t-32)}.cc-desc{font-size:var(--t-14);color:var(--faint)}.course-card.featured .cc-body{grid-template-rows:auto auto auto 1fr auto}.cc-soon{font-size:var(--t-13);color:var(--blue);font-weight:600}.sec-foot{margin-top:28px}@media (width<=1000px){.home-courses{grid-template-columns:repeat(2,minmax(0,1fr))}.course-card.featured{grid-column:1/-1}}@media (width<=640px){.home-courses,.course-card.featured{grid-template-columns:minmax(0,1fr)}.course-card.featured .cc-visual{aspect-ratio:16/10;border-right:0;border-bottom:1px solid var(--line);padding:18px 18px 0}.course-card.featured .cc-visual .mini{border-right:1px solid var(--line);border-radius:10px 10px 0 0}}.showcase{grid-template-columns:minmax(0,4fr) minmax(0,8fr);align-items:start;gap:32px;display:grid}.sc-list{gap:2px;display:grid}.sc-item{border:0;border-left:2px solid var(--ink-line);width:100%;color:var(--on-ink-muted);text-align:left;cursor:pointer;transition:background-color .2s var(--ease), border-color .2s var(--ease), color .2s;background:0 0;align-items:flex-start;gap:14px;padding:16px 16px 16px 14px;display:flex}.sc-item>svg{flex:none;width:20px;height:20px;margin-top:2px}.sc-item b{font-size:var(--t-16);color:#fff;font-weight:650;display:block}.sc-text{font-size:var(--t-14);opacity:0;max-height:0;transition:max-height .35s var(--ease-out), opacity .3s;margin-top:4px;display:block;overflow:hidden}.sc-item:hover{background:#ffffff08}.sc-item[aria-selected=true]{border-left-color:var(--cyan);background:var(--ink-2)}.sc-item[aria-selected=true]>svg{color:var(--cyan)}.sc-item[aria-selected=true] .sc-text{opacity:1;max-height:80px}.sc-stage{border-radius:var(--r-stage);background:radial-gradient(60% 60% at 80% 0%, #245fe859, transparent 70%), var(--ink-2);border:1px solid var(--ink-line);align-items:center;min-height:440px;padding:clamp(18px,3vw,36px);display:grid}.sc-frame{animation:frame-in .4s var(--ease-out);color:var(--fg)}@keyframes frame-in{0%{opacity:0;transform:translateY(10px)scale(.99)}}@media (width<=900px){.showcase{grid-template-columns:minmax(0,1fr)}.sc-list{scrollbar-width:none;grid-auto-columns:max-content;grid-auto-flow:column;gap:0;overflow-x:auto}.sc-item{border-left:0;border-bottom:2px solid var(--ink-line);padding:12px 14px}.sc-item[aria-selected=true]{border-bottom-color:var(--cyan)}.sc-text{display:none}.sc-stage{min-height:0}}.sp-video{grid-template-columns:minmax(0,1fr) 200px;display:grid}.sp-screen{aspect-ratio:16/10;background:#0a1328;grid-template-rows:1fr auto;display:grid}.sp-slide{color:var(--on-ink);padding:28px 30px}.sp-slide-k{font-family:var(--display);letter-spacing:-.02em;font-size:1.3rem;font-weight:700}.sp-slide ol{color:var(--on-ink-muted);gap:5px;margin-top:14px;padding-left:22px;font-size:12.5px;display:grid}.sp-slide li.on{color:#fff;font-weight:650}.sp-slide li.on::marker{color:var(--cyan)}.sp-controls{color:var(--on-ink-muted);background:linear-gradient(#0000,#00000073);align-items:center;gap:12px;padding:10px 14px;font-size:10px;display:flex}.sp-play{border-left:9px solid #fff;border-block:6px solid #0000;width:0;height:0}.sp-track{background:#fff3;border-radius:4px;flex:1;height:4px}.sp-track i{border-radius:inherit;background:var(--cyan);height:100%;display:block}.sp-chapters{border-left:1px solid var(--line);align-content:start;gap:2px;padding:14px;font-size:11.5px;display:grid}.sp-chapters b{margin-bottom:6px;font-size:12px}.sp-chapters span{color:var(--muted);border-radius:6px;padding:6px 8px}.sp-chapters .done{color:var(--faint)}.sp-chapters .now{background:var(--blue-soft);color:var(--blue);font-weight:600}.sp-lab{gap:12px;padding:16px;display:grid}.sp-lab-ticket{gap:3px;font-size:12px;display:grid}.sp-lab-ticket b{letter-spacing:-.01em;font-size:15px}.sp-lab .console{white-space:pre-wrap;font-size:11px}.sp-lab-hint{background:var(--blue-soft);color:#17357f;border-radius:8px;padding:10px 12px;font-size:12.5px;font-weight:600}.sp-pdf{justify-items:center;padding:6px 0;display:grid;position:relative}.sp-page{z-index:1;aspect-ratio:8.5/11;width:min(100%,460px);box-shadow:var(--shadow-window);color:var(--fg);background:#fff;border-radius:4px;align-content:start;gap:12px;padding:28px 30px;font-size:12px;display:grid;position:relative}.sp-page.back{z-index:0;opacity:.55;position:absolute;top:18px;transform:rotate(3deg)translate(30px)}.sp-page-head{color:var(--faint);border-bottom:2px solid var(--ink);justify-content:space-between;padding-bottom:8px;font-size:10px;display:flex}.sp-page h4{font-family:var(--display);letter-spacing:-.03em;font-size:1.45rem;font-weight:700}.sp-page-sub{color:var(--faint);margin-top:-8px;font-size:11px}.sp-page-box{background:var(--canvas);border-left:3px solid var(--cyan);gap:2px;padding:10px 12px;font-size:11px;display:grid}.sp-page ol{gap:6px;padding-left:18px;display:grid}.sp-page code{background:var(--surface-2);border-radius:3px;padding:1px 4px;font-size:10.5px}.sp-page-check{border-top:1px dashed var(--line-strong);align-items:center;gap:8px;padding-top:10px;font-size:11px;display:flex}.sp-page-check .box{border:1.5px solid var(--fg);border-radius:2px;width:13px;height:13px}.sp-check{gap:10px;padding:20px;display:grid}.sp-qbar{gap:4px;margin-bottom:4px;display:flex}.sp-qbar i{background:var(--line);border-radius:4px;flex:1;height:5px}.sp-qbar i.a{background:#9cc0f8}.sp-qbar i.c{background:var(--blue)}.sp-q{font-family:var(--display);letter-spacing:-.02em;margin-bottom:4px;font-size:1.25rem;font-weight:700;line-height:1.2}.sp-opt{border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:12.5px}.sp-opt.on{border-color:var(--ok);background:var(--ok-soft);font-weight:600}.sp-expl{color:var(--muted);background:var(--canvas);border-radius:8px;padding:10px 12px;font-size:12px}.sp-progress{gap:4px;padding:18px;display:grid}.sp-prog-head{justify-content:space-between;align-items:baseline;margin-bottom:8px;font-size:12.5px;display:flex}.sp-prog-head b{font-family:var(--display);letter-spacing:-.02em;font-size:1.25rem}.sp-prog-row{border-top:1px solid var(--line);grid-template-columns:24px minmax(0,1fr) 110px 38px;align-items:center;gap:12px;padding:9px 0;font-size:12.5px;display:grid}.sp-prog-row .t{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sp-prog-row .v{color:var(--muted);text-align:right;font-size:11.5px}.sp-prog-row .v svg{width:15px;height:15px;color:var(--ok);margin-left:auto}@media (width<=640px){.sp-video{grid-template-columns:minmax(0,1fr)}.sp-chapters{display:none}.sp-prog-row{grid-template-columns:22px minmax(0,1fr) 60px 34px}.sp-page{padding:20px}}.lab-head{gap:18px;max-width:900px;margin-bottom:40px;display:grid}.lab-kicker{font-size:var(--t-14);color:var(--faint)}.lab-head h2{font-size:var(--t-64)}.lab-head h2 span{color:var(--blue);display:block}.res-grid{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:48px;display:grid}.res-intro{align-content:start;gap:16px;display:grid}.res-intro h2{font-size:var(--t-44)}.res-list{border-top:1px solid var(--ink);list-style:none}.res-row{border-bottom:1px solid var(--line-strong);grid-template-columns:150px minmax(0,1fr) 24px;grid-template-areas:"topic title arrow""topic meta arrow";gap:2px 20px;padding:20px 4px;text-decoration:none;display:grid}.res-topic{font-size:var(--t-13);color:var(--muted);grid-area:topic;padding-top:3px;font-weight:600}.res-title{font-family:var(--display);font-size:var(--t-20);letter-spacing:-.02em;grid-area:title;font-weight:650;line-height:1.2;transition:color .15s}.res-meta{font-size:var(--t-13);color:var(--faint);grid-area:meta}.res-arrow{width:20px;height:20px;color:var(--faint);transition:transform .2s var(--ease), color .2s;grid-area:arrow;align-self:center}.res-row:hover .res-title{color:var(--blue)}.res-row:hover .res-arrow{color:var(--blue);transform:translate(3px)}@media (width<=900px){.res-grid{grid-template-columns:minmax(0,1fr);gap:28px}}@media (width<=560px){.res-row{grid-template-columns:minmax(0,1fr) 20px;grid-template-areas:"topic arrow""title arrow""meta arrow"}}.final{padding-block:var(--section);overflow:hidden}.final-grid{grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:center;gap:clamp(32px,6vw,96px);display:grid}.final-copy{gap:24px;display:grid}.final h2{font-size:var(--t-80);letter-spacing:-.045em;color:#fff;line-height:.98}.final .lede{color:var(--on-ink-muted)}.syllabus{border-radius:var(--r-panel);background:var(--ink-2);border:1px solid var(--ink-line);padding:8px 0 12px;transform:rotate(-1.2deg);box-shadow:0 40px 80px -40px #0009}.syl-head{font-weight:650;font-size:var(--t-14);border-bottom:1px solid var(--ink-line);justify-content:space-between;padding:12px 20px 14px;display:flex}.syl-head .mono{font-size:var(--t-12);color:var(--on-ink-muted);font-weight:400}.syllabus ol{padding:6px 12px 0;list-style:none}.syllabus li{font-size:var(--t-13);color:var(--on-ink-muted);border-radius:6px;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 8px;display:grid}.syllabus li.open{background:var(--ink-3);color:#fff}.syl-n{color:#6f80a3;font-size:11px}.syllabus li.open .syl-n{color:var(--cyan)}.syl-t{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.syl-free{color:var(--cyan);font-size:11px;font-weight:600}@media (width<=900px){.final-grid{grid-template-columns:minmax(0,1fr)}.syllabus{transform:none}}.catalog-bar{top:var(--header-h);z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-block:1px solid var(--line);background:#f6f8fcf0;position:sticky}.catalog-bar-in{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-block:12px;display:flex}.seg{flex-wrap:wrap;gap:8px;display:flex}.catalog-tools{gap:8px;display:flex}.select{appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2366748f' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 10px center / 16px no-repeat, var(--surface);min-height:40px;font-size:var(--t-14);cursor:pointer;padding:0 34px 0 12px}.search{width:min(280px,100%);position:relative}.search svg{width:17px;height:17px;color:var(--faint);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search .input{min-height:40px;font-size:var(--t-14);padding-left:38px}.catalog-body{padding-bottom:var(--section)}.result-count{font-size:var(--t-13);color:var(--faint);padding-block:20px 14px}.course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.course-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=1000px){.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.course-grid,.course-grid.two{grid-template-columns:minmax(0,1fr)}.catalog-bar{position:static}.seg{scrollbar-width:none;flex-wrap:nowrap;width:100%;overflow-x:auto}.seg .chip{flex:none}.catalog-tools{width:100%}.search{flex:1;width:auto}}.cd-hero{padding-block:clamp(36px,5vw,64px) 0;overflow:hidden}.cd-hero-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;gap:clamp(32px,5vw,72px);display:grid}.cd-hero-copy{gap:18px;padding-bottom:clamp(36px,5vw,64px);display:grid}.crumbs{font-size:var(--t-13);color:var(--on-ink-muted);align-items:center;gap:6px;display:flex}.crumbs a{color:var(--on-ink-muted);text-decoration:none}.crumbs a:hover{color:#fff}.crumbs svg{width:14px;height:14px}.cd-hero h1{font-size:var(--t-64);color:#fff}.cd-hero .lede{color:var(--on-ink);font-size:var(--t-20)}.cd-facts{font-size:var(--t-14);color:var(--on-ink-muted);flex-wrap:wrap;align-items:center;gap:8px 18px;display:flex}.cd-hero-visual{height:300px;padding:0}.cd-hero-visual .mini{border-color:var(--ink-line);font-size:12px}.cd-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:clamp(32px,5vw,72px);padding-block:48px 72px;display:grid}.cd-main{gap:48px;min-width:0;display:grid}.cd-section{gap:18px;display:grid}.cd-section h2,.cd-more h2{font-size:var(--t-32)}.cd-sec-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:4px;display:flex}.cd-sec-head h2{font-size:var(--t-32)}.cd-desc{font-size:var(--t-20);max-width:62ch;color:var(--fg);line-height:1.5}.cd-outcomes{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;display:grid}.cd-outcomes li{border-bottom:1px solid var(--line);font-size:var(--t-14);gap:12px;padding:14px 16px 14px 0;display:flex}.cd-outcomes svg{width:20px;height:20px;color:var(--blue);flex:none}.cd-reqs{color:var(--muted);gap:8px;padding-left:20px;display:grid}.cd-related{border-radius:var(--r-panel);background:var(--paper);align-items:center;gap:12px;padding:16px 18px;font-weight:600;text-decoration:none;display:flex}.cd-related svg{flex:none;width:20px;height:20px}.cd-related span{flex:1}.cd-related:hover{color:var(--blue)}@media (width<=640px){.cd-outcomes{grid-template-columns:minmax(0,1fr)}}.mods{border-top:1px solid var(--fg);list-style:none}.mod{border-bottom:1px solid var(--line)}.mod-head{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:56px minmax(0,1fr) 24px;align-items:center;gap:8px;width:100%;padding:16px 4px;display:grid}.mod-head:hover .mod-title{color:var(--blue)}.mod-n{font-size:var(--t-14);color:var(--faint)}.mod.open .mod-n{color:var(--blue)}.mod-t{gap:2px;display:grid}.mod-title{font-family:var(--display);font-weight:650;font-size:var(--t-20);letter-spacing:-.02em;line-height:1.2;transition:color .15s}.mod-sub{font-size:var(--t-13);color:var(--faint)}.mod-free{color:var(--signal-text);font-weight:600}.chev{width:20px;height:20px;color:var(--faint);transition:transform .25s var(--ease)}.mod.open .chev,[aria-expanded=true]>.chev{transform:rotate(180deg)}.mod-body{gap:10px;padding:0 4px 18px 64px;display:grid}.mod-sum{color:var(--muted);font-size:var(--t-14);max-width:60ch}.mod-lessons{list-style:none;display:grid}.mod-lessons li{font-size:var(--t-14);border-top:1px dashed var(--line);grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 0;display:grid}.mod-lessons svg{width:17px;height:17px;color:var(--faint)}.mod-lessons a{color:var(--blue);font-weight:600}.mod-lessons .free{font-size:var(--t-12);color:var(--signal-text);font-weight:650}.mod-lessons .type{font-size:var(--t-12);color:var(--faint)}@media (width<=560px){.mod-head{grid-template-columns:40px minmax(0,1fr) 22px}.mod-body{padding-left:4px}.mod-lessons .type{display:none}}.cd-card{top:calc(var(--header-h) + 20px);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);box-shadow:var(--shadow-2);gap:16px;padding:22px;display:grid;position:sticky}.cd-card-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.cd-card-note{font-size:var(--t-14);color:var(--muted)}.cd-card-actions{gap:8px;display:grid}.cd-includes{border-top:1px solid var(--line);font-size:var(--t-14);color:var(--muted);gap:8px;padding-top:16px;list-style:none;display:grid}.cd-includes li{gap:10px;display:flex}.cd-includes svg{width:17px;height:17px;color:var(--ok);flex:none;margin-top:3px}.cd-more{padding-bottom:var(--section);gap:24px;display:grid}@media (width<=960px){.cd-hero-grid,.cd-layout{grid-template-columns:minmax(0,1fr)}.cd-hero-visual{max-width:560px;height:220px}.cd-card{order:-1;position:static}}.path-pages{padding-bottom:var(--section);gap:clamp(56px,7vw,96px);display:grid}.path-page{scroll-margin-top:calc(var(--header-h) + 24px);gap:28px;display:grid}.pp-head{border-top:2px solid var(--fg);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;gap:40px;padding-top:28px;display:grid}.pp-copy{gap:14px;display:grid}.pp-copy h2{font-size:var(--t-44)}.pp-sum{font-size:var(--t-20);max-width:40ch}.pp-visual{border-radius:var(--r-panel) var(--r-panel) 0 0;background:radial-gradient(120% 90% at 100% 0%, hsl(var(--hue) 80% 55% / .16), transparent 60%), hsl(var(--hue) 30% 95%);height:220px;padding:20px 20px 0}.pp-courses{border-top:1px solid var(--line);list-style:none;display:grid}.pp-courses li{border-bottom:1px solid var(--line);grid-template-columns:48px minmax(0,1fr) auto 24px;align-items:center;gap:16px;padding:20px 4px;display:grid;position:relative}.pp-step{font-size:var(--t-14);color:var(--faint)}.pp-c{gap:4px;display:grid}.pp-title{font-family:var(--display);font-size:var(--t-24);letter-spacing:-.02em;font-weight:650;text-decoration:none}.pp-title:after{content:"";position:absolute;inset:0}.pp-courses li:hover .pp-title{color:var(--blue)}.pp-facts{font-size:var(--t-13);color:var(--faint)}.pp-arrow{width:20px;height:20px;color:var(--faint);transition:transform .2s var(--ease)}.pp-courses li:hover .pp-arrow{color:var(--blue);transform:translate(3px)}.pp-note{font-size:var(--t-14)}@media (width<=800px){.pp-head{grid-template-columns:minmax(0,1fr)}.pp-courses li{grid-template-columns:34px minmax(0,1fr) 20px}.pp-courses .badge{grid-area:2/2;justify-self:start}}.res-page{padding-bottom:var(--section);gap:clamp(48px,6vw,80px);display:grid}.res-feature{border-radius:var(--r-stage);background:var(--ink);color:var(--on-ink);grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:center;gap:40px;padding:clamp(24px,4vw,48px);display:grid}.rf-copy{justify-items:start;gap:14px;display:grid}.rf-kind{font-size:var(--t-13);color:var(--cyan);font-weight:600}.rf-copy h2{font-size:var(--t-44);color:#fff}.rf-copy .muted{color:var(--on-ink-muted)}.rf-ticket{border-radius:var(--r-panel);background:var(--surface);color:var(--fg);font-size:var(--t-14);gap:8px;padding:22px;display:grid;transform:rotate(1.5deg);box-shadow:0 30px 60px -30px #0009}.rf-ticket b{font-family:var(--display);font-size:var(--t-24);letter-spacing:-.02em}.rf-ticket p{color:var(--muted)}.res-previews{gap:18px;display:grid}.res-previews h2{font-size:var(--t-32)}.rp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.rp{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface);gap:14px;padding:20px;text-decoration:none;transition:border-color .2s;display:flex}.rp:hover{border-color:var(--blue)}.rp>svg{width:22px;height:22px;color:var(--blue);flex:none}.rp span{gap:2px;display:grid}.rp .muted{font-size:var(--t-14)}@media (width<=800px){.res-feature,.rp-grid{grid-template-columns:minmax(0,1fr)}}.auth{padding-block:clamp(32px, 5vw, 72px) var(--section);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:clamp(24px,5vw,80px);display:grid}.auth-form-wrap{align-items:center;display:grid}.auth-form{gap:18px;width:100%;max-width:420px;display:grid}.auth-form h1{font-size:var(--t-44)}.pw{position:relative}.pw .input{padding-right:72px}.pw-toggle{font-size:var(--t-13);color:var(--blue);cursor:pointer;border-radius:var(--r-ctl);background:0 0;border:0;padding:8px 10px;font-weight:600;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.pw-toggle:hover{background:var(--blue-soft)}.auth-small{font-size:var(--t-13)}.auth-side{border-radius:var(--r-stage);background:radial-gradient(70% 60% at 100% 0%, #245fe866, transparent 70%), var(--ink);align-content:space-between;gap:40px;padding:clamp(28px,4vw,48px);display:grid}.as-card{border-radius:var(--r-panel);background:var(--surface);width:min(100%,340px);color:var(--fg);justify-self:end;gap:10px;padding:18px;display:grid;transform:rotate(-1.5deg);box-shadow:0 30px 60px -30px #0009}.as-row{font-size:var(--t-12);color:var(--faint);justify-content:space-between;align-items:center;gap:12px;display:flex}.as-prog{background:var(--surface-2);border-radius:4px;flex:1;max-width:120px;height:5px}.as-prog i{border-radius:inherit;background:var(--blue);height:100%;display:block}.as-card b{font-family:var(--display);font-size:var(--t-20);letter-spacing:-.02em}.as-card ul{gap:2px;list-style:none;display:grid}.as-card li{font-size:var(--t-13);color:var(--muted);border-radius:6px;align-items:center;gap:10px;padding:7px 8px;display:flex}.as-card li svg{flex:none;width:15px;height:15px}.as-card li.done{color:var(--faint);text-decoration:line-through}.as-card li.done svg{color:var(--ok)}.as-card li.now{background:var(--blue-soft);color:var(--blue);font-weight:600}.as-copy h2{font-size:var(--t-44);color:#fff;max-width:14ch}.as-copy ul{color:var(--on-ink-muted);gap:8px;margin-top:18px;list-style:none;display:grid}.as-copy li:before{content:"";background:var(--cyan);vertical-align:4px;width:14px;height:2px;margin-right:10px;display:inline-block}@media (width<=860px){.auth{grid-template-columns:minmax(0,1fr)}.auth-form{max-width:none}.as-card{display:none}}.dash,.profile{padding-block:clamp(32px, 4vw, 48px) var(--section);gap:24px;display:grid}.dash-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.dash-head h1{font-size:var(--t-44)}.dash-head-end{align-items:center;gap:10px;display:flex}.dash-grid{grid-template-columns:minmax(0,8fr) minmax(0,4fr);align-items:start;gap:20px;display:grid}.continue{border-radius:var(--r-stage);background:radial-gradient(60% 80% at 100% 0%, #35c4e838, transparent 70%), var(--ink);justify-items:start;gap:12px;padding:clamp(24px,3.5vw,40px);display:grid}.cont-k{font-size:var(--t-13);color:var(--cyan);font-weight:600}.continue h2{font-size:var(--t-44);color:#fff}.cont-course{color:var(--on-ink-muted)}.cont-prog{width:min(100%,460px);font-size:var(--t-13);color:var(--on-ink-muted);gap:8px;margin-block:8px 12px;display:grid}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);align-content:start;gap:14px;min-width:0;padding:22px;display:grid}.panel h2{font-family:var(--sans);font-size:var(--t-16);letter-spacing:-.01em;font-weight:650}.panel-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.bars{grid-template-columns:repeat(7,1fr);gap:8px;height:150px;display:grid}.bar{text-align:center;color:var(--faint);grid-template-rows:auto 1fr auto;gap:4px;font-size:11px;display:grid}.bar-v{color:var(--muted);min-height:14px;font-size:10px}.bar i{background:var(--blue);border-radius:5px 5px 2px 2px;align-self:end;min-height:3px;display:block}.bar i.zero{background:var(--line)}.mod-progress{list-style:none;display:grid}.mod-progress li{border-top:1px solid var(--line);font-size:var(--t-14);grid-template-columns:28px minmax(0,1fr) 120px 40px;align-items:center;gap:12px;padding:9px 0;display:grid}.mod-progress li.cur{font-weight:650}.mod-progress li.cur .mono{color:var(--blue)}.mp-t{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mp-v{font-size:var(--t-12);color:var(--faint);text-align:right}.mp-v svg{width:16px;height:16px;color:var(--ok);margin-left:auto}.dash-side{grid-row:span 2;gap:20px;display:grid}.dash-grid .week{grid-area:1/2}.dash-grid .modules{grid-column:1}.dash-grid .dash-side{grid-area:2/2}.dash-list{list-style:none;display:grid}.dash-list li{border-top:1px solid var(--line);font-size:var(--t-14);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.dash-list li>span:first-child{gap:2px;display:grid}.dash-list .faint,.dash-list .link{font-size:var(--t-12)}@media (width<=960px){.dash-grid{grid-template-columns:minmax(0,1fr)}.dash-grid .week,.dash-grid .modules,.dash-grid .dash-side{grid-area:auto/1}}@media (width<=560px){.mod-progress li{grid-template-columns:24px minmax(0,1fr) 60px 34px;gap:8px}}.pf-id{align-items:center;gap:16px;display:flex}.avatar{background:var(--ink);width:60px;height:60px;color:var(--cyan);font-family:var(--display);border-radius:50%;flex:none;place-items:center;font-size:1.3rem;font-weight:700;display:grid}.pf-grid{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:32px;display:grid}.pf-nav{top:calc(var(--header-h) + 20px);gap:2px;display:grid;position:sticky}.pf-nav button{border-radius:var(--r-ctl);font-size:var(--t-14);color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:10px 12px;font-weight:550;display:flex}.pf-nav button svg{width:17px;height:17px}.pf-nav button:hover{background:var(--surface-2);color:var(--fg)}.pf-nav button.active{background:var(--surface);color:var(--fg);box-shadow:var(--shadow-1), 0 0 0 1px var(--line)}.pf-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);padding:clamp(20px,3vw,32px)}.pf-form{gap:18px;max-width:640px;display:grid}.pf-form h2{font-size:var(--t-24)}.pf-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.pf-narrow{max-width:320px}.pf-checks{border:0;gap:14px;margin:0;padding:0;display:grid}.pf-checks legend{font-weight:600;font-size:var(--t-14);margin-bottom:8px}.pf-checks .check b{color:var(--fg)}.pf-actions{border-top:1px solid var(--line);padding-top:18px}@media (width<=760px){.pf-grid{grid-template-columns:minmax(0,1fr)}.pf-nav{display:flex;position:static;overflow-x:auto}.pf-nav button{white-space:nowrap}.pf-row{grid-template-columns:minmax(0,1fr)}}.not-found{padding-block:var(--section);grid-template-columns:minmax(0,1fr) 260px;align-items:center;gap:40px;display:grid}.not-found>div{justify-items:start;gap:16px;display:grid}.nf-code{color:var(--signal-text);font-size:var(--t-14)}.not-found h1{font-size:var(--t-64)}.nf-mascot{width:100%}@media (width<=640px){.not-found{grid-template-columns:minmax(0,1fr)}.nf-mascot{width:180px}}.lab{border-radius:var(--r-window);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-window);color:var(--fg);overflow:hidden}.lab-bar{background:var(--ink);color:var(--on-ink);font-size:var(--t-13);align-items:center;gap:12px;padding:10px 16px;display:flex}.lab-bar-title{align-items:center;gap:8px;font-weight:600;display:inline-flex}.lab-bar-title svg{width:17px;height:17px;color:var(--cyan)}.lab-bar .badge.sample{color:#ffb48c;border-color:#ff8a4c80}.lab-clock{color:var(--on-ink-muted);font-size:var(--t-12);align-items:center;gap:6px;margin-left:auto;display:inline-flex}.lab-clock svg{width:15px;height:15px}.lab-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);display:grid}.lab-ticket{border-right:1px solid var(--line);background:var(--canvas);align-content:start;gap:14px;padding:20px;display:grid}.tk-head{justify-content:space-between;align-items:center;display:flex}.tk-id{font-size:var(--t-13);color:var(--faint)}.tk-subject{font-family:var(--display);letter-spacing:-.03em;font-size:1.55rem;font-weight:700;line-height:1.1}.tk-meta{font-size:var(--t-13);gap:4px;margin:0;display:grid}.tk-meta div{grid-template-columns:82px 1fr;display:grid}.tk-meta dt{color:var(--faint)}.tk-meta dd{color:var(--fg);margin:0}.tk-body{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--line-strong);font-size:var(--t-14);color:var(--muted);border-radius:8px;margin:0;padding:12px 14px}.tk-evidence{border-top:1px solid var(--line);padding-top:12px}.tk-ev-head{font-size:var(--t-13);justify-content:space-between;margin-bottom:8px;font-weight:600;display:flex}.tk-evidence ol{gap:8px;list-style:none;display:grid}.tk-empty{font-size:var(--t-13);color:var(--faint);padding:10px 0}.ev{font-size:var(--t-13);animation:ev-in .35s var(--ease-out);grid-template-columns:44px 1fr;gap:10px;display:grid}.ev-time{color:var(--faint);padding-top:2px;font-size:11px}.ev b{font-weight:600;display:block}.ev p{color:var(--muted)}.ev.key b:before{content:"";background:var(--cyan);vertical-align:1px;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.ev.costly b{color:var(--signal-text)}@keyframes ev-in{0%{opacity:0;transform:translateY(6px)}}.lab-work{outline:none;align-content:start;gap:18px;min-width:0;padding:20px;display:grid}.lab-steps{grid-template-columns:repeat(4,1fr);gap:6px;list-style:none;display:grid}.lab-steps li{font-size:var(--t-13);color:var(--faint);border-top:3px solid var(--line);align-items:center;gap:8px;padding-top:10px;font-weight:600;display:flex}.lab-steps .n{background:var(--surface-2);border-radius:50%;flex:none;place-items:center;width:20px;height:20px;font-size:11px;display:grid}.lab-steps .n svg{width:12px;height:12px}.lab-steps li.done{border-color:var(--cyan);color:var(--muted)}.lab-steps li.done .n{background:var(--cyan);color:var(--ink)}.lab-steps li.now{border-color:var(--blue);color:var(--fg)}.lab-steps li.now .n{background:var(--blue);color:#fff}.lab-pane{animation:ev-in .3s var(--ease-out);gap:14px;display:grid}.lab-prompt{font-weight:600;font-size:var(--t-16);padding:0;line-height:1.45}.actions{gap:8px;list-style:none;display:grid}.action{border:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;width:100%;transition:border-color .15s, background-color .15s, transform .15s var(--ease);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;display:flex}.action:hover:not(:disabled){border-color:var(--blue);background:#fbfcff}.action:active:not(:disabled){transform:scale(.995)}.action-main{gap:3px;min-width:0;display:grid}.action-label{font-size:var(--t-14);font-weight:600}.action code{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.action-cost{font-size:var(--t-12);color:var(--faint);flex:none;font-weight:600}.action-cost svg{width:16px;height:16px;color:var(--ok)}.action.is-done{background:var(--canvas);cursor:default}.action.is-done .action-label{color:var(--muted)}.coach{background:var(--blue-soft);font-size:var(--t-13);color:#17357f;border-radius:10px;gap:10px;padding:12px 14px;display:flex}.coach>svg{flex:none;width:18px;height:18px;margin-top:1px}.coach>div{gap:8px;min-width:0;display:grid}.coach b{margin-right:4px}.lab-next{font-size:var(--t-13);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:4px;display:flex}.choices{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.choices legend{margin-bottom:10px}.choice{border:1px solid var(--line);background:var(--surface);font-size:var(--t-14);cursor:pointer;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;font-weight:550;transition:border-color .15s,background-color .15s;display:flex;position:relative}.choice:hover{border-color:var(--line-strong)}.choice input{opacity:0;pointer-events:none;position:absolute}.choice .mark{border:2px solid var(--line-strong);border-radius:50%;flex:none;width:18px;height:18px}.choice.on{border-color:var(--blue);background:var(--blue-soft)}.choice.on .mark{border-color:var(--blue);background:var(--blue);box-shadow:inset 0 0 0 3px var(--blue-soft)}.choice input:focus-visible+.mark{outline:2.5px solid var(--blue);outline-offset:3px}.verdict{font-size:var(--t-14);border-radius:10px;gap:10px;padding:12px 14px;display:flex}.verdict svg{flex:none;width:19px;height:19px;margin-top:1px}.verdict.ok{background:var(--ok-soft);color:#0b5a3f}.verdict.no{background:var(--signal-soft);color:#7a300a}.debrief{gap:20px}.db-score{justify-items:start;gap:10px;display:grid}.db-rating{font-family:var(--display);font-size:var(--t-32);letter-spacing:-.03em;font-weight:700;line-height:1.05}.db-stats{flex-wrap:wrap;gap:8px 28px;margin:0;display:flex}.db-stats dt{font-size:var(--t-12);color:var(--faint)}.db-stats dd{font-weight:650;font-size:var(--t-18);margin:0}.db-warn{font-size:var(--t-13);color:var(--signal-text);align-items:flex-start;gap:8px;display:flex}.db-warn svg{flex:none;width:16px;height:16px;margin-top:2px}.db-cols{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:20px;display:grid}.db-label{font-size:var(--t-13);margin-bottom:8px;font-weight:650}.db-path{font-size:var(--t-14);color:var(--muted);gap:4px;padding-left:20px;display:grid}.db-note{background:var(--canvas);border:1px solid var(--line);font-family:var(--mono);white-space:pre-wrap;color:var(--fg);border-radius:8px;margin:0;padding:12px 14px;font-size:11.5px;line-height:1.6}@media (width<=860px){.lab-grid{grid-template-columns:minmax(0,1fr)}.lab-ticket{border-right:0;border-bottom:1px solid var(--line)}.db-cols{grid-template-columns:minmax(0,1fr)}}@media (width<=520px){.lab-steps li{gap:0;font-size:0}.lab-ticket,.lab-work{padding:16px}.lab-bar .badge.sample{display:none}}.learn,.quiz-shell{background:var(--canvas);flex-direction:column;min-height:100vh;display:flex}.learn-top{z-index:30;background:var(--ink);color:#fff;align-items:center;gap:16px;height:60px;padding:0 16px;display:flex;position:sticky;top:0}.lt-home img{width:auto;height:20px}.lt-home{border-right:1px solid var(--ink-line);align-items:center;height:28px;padding-right:16px;display:flex}.lt-title{flex:1;min-width:0;line-height:1.25;display:grid}.lt-course{font-weight:650;font-size:var(--t-14);color:#fff;white-space:nowrap;text-overflow:ellipsis;text-decoration:none;overflow:hidden}a.lt-course:hover{text-decoration:underline}.lt-mod{font-size:var(--t-12);color:var(--on-ink-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.lt-prog{width:170px;color:var(--on-ink-muted);gap:5px;font-size:11px;display:grid}.lt-prog .progress{height:4px}.lt-toggle{display:none}@media (width<=1000px){.lt-toggle{display:inline-flex}.lt-prog{display:none}}@media (width<=560px){.lt-exit span,.lt-home{display:none}}.learn-body{flex:1;grid-template-columns:320px minmax(0,1fr);display:grid}.outline{background:var(--surface);border-right:1px solid var(--line);height:calc(100vh - 60px);padding:12px 10px 40px;position:sticky;top:60px;overflow-y:auto}.ol-mod{border-bottom:1px solid var(--line)}.ol-head{text-align:left;cursor:pointer;border-radius:var(--r-ctl);background:0 0;border:0;grid-template-columns:30px minmax(0,1fr) 18px;align-items:center;gap:8px;width:100%;padding:12px 8px;display:grid}.ol-head:hover{background:var(--canvas)}.ol-n{color:var(--faint);font-size:11.5px}.ol-mod.cur .ol-n{color:var(--blue)}.ol-t{font-size:var(--t-14);font-weight:600;line-height:1.3}.ol-head .chev{width:16px;height:16px}.ol-mod ul{padding:0 0 10px;list-style:none}.ol-item{border-radius:var(--r-ctl);font-size:var(--t-13);gap:10px;padding:8px 10px 8px 12px;line-height:1.35;text-decoration:none;display:flex}.ol-item:hover{background:var(--canvas)}.ol-item.current{background:var(--blue-soft);box-shadow:inset 2px 0 0 var(--blue)}.ol-state{border:1.5px solid var(--line-strong);width:22px;height:22px;color:var(--muted);border-radius:50%;flex:none;place-items:center;display:grid}.ol-state svg{width:11px;height:11px}.ol-item.locked{color:var(--faint)}.ol-item.locked .ol-state{color:var(--faint);border-style:dashed}.ol-item.current .ol-state{border-color:var(--blue);color:var(--blue)}.ol-item.done .ol-state{background:var(--ok);border-color:var(--ok);color:#fff}.ol-text{gap:1px;display:grid}.ol-text small{color:var(--faint);font-size:11px}.learn-main{outline:none;min-width:0;padding-bottom:64px}.learn-inner{max-width:880px;padding:28px var(--gutter) 0;gap:22px;margin:0 auto;display:grid}.learn-inner.wide{max-width:1120px}@media (width<=1000px){.learn-body{grid-template-columns:minmax(0,1fr)}.outline{z-index:25;border-right:0;height:auto;display:none;position:fixed;inset:60px 0 0}.outline.open{display:block}}.player{border-radius:var(--r-panel);box-shadow:var(--shadow-2);background:#0a1328;overflow:hidden}.player-screen{aspect-ratio:16/9;background:radial-gradient(60% 70% at 50% 45%,#245fe847,#0000 70%),linear-gradient(#ffffff06 1px,#0000 1px) 0 0/100% 32px,#0a1328;place-items:center;display:grid}.player-msg{text-align:center;color:var(--on-ink-muted);justify-items:center;gap:8px;padding:24px;display:grid}.player-ring{border:1.5px solid var(--ink-line);width:64px;height:64px;color:var(--on-ink-muted);border-radius:50%;place-items:center;margin-bottom:6px;display:grid}.player-ring svg{width:24px;height:24px;margin-left:3px}.player-t{color:#fff;font-weight:650}.player-s{font-size:var(--t-14);max-width:42ch}.player-bar{color:var(--on-ink-muted);background:#0e1a35;align-items:center;gap:14px;padding:10px 16px;font-size:11px;display:flex}.pb-play{border-left:9px solid #56688f;border-block:6px solid #0000;width:0;height:0}.pb-track{background:#ffffff1f;border-radius:4px;flex:1;height:4px}@media (width<=560px){.player-s{display:none}}.lesson-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.lesson-head h1{font-size:var(--t-44)}.lesson-kind{font-size:var(--t-13);color:var(--faint);margin-bottom:6px}.tab-panel{padding-top:6px}.reading{max-width:68ch;font-size:var(--t-18);gap:18px;line-height:1.7;display:grid}.reading-intro{font-size:var(--t-20);line-height:1.55}.method{counter-reset:m;border-top:1px solid var(--line);list-style:none;display:grid}.method li{counter-increment:m;border-bottom:1px solid var(--line);font-size:var(--t-16);padding:14px 0 14px 44px;position:relative}.method li:before{content:counter(m);font-family:var(--display);font-weight:700;font-size:var(--t-24);color:var(--blue);line-height:1.1;position:absolute;top:14px;left:0}.callout{border-radius:var(--r-panel);background:var(--paper);font-size:var(--t-16);padding:16px 18px}.callout b{margin-bottom:4px;display:block}.lesson-res{gap:10px;list-style:none;display:grid}.lesson-res li{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface);font-size:var(--t-14);align-items:center;gap:14px;padding:14px 16px;display:flex}.lesson-res li>svg{width:22px;height:22px;color:var(--blue);flex:none}.lesson-res li>span:nth-child(2){flex:1;display:grid}.lesson-res .faint{font-size:var(--t-12)}.locked-view{max-width:640px;padding:64px var(--gutter) 24px;justify-items:start;gap:16px;margin:0 auto;display:grid}.locked-icon{background:var(--surface-2);width:52px;height:52px;color:var(--muted);border-radius:14px;place-items:center;display:grid}.locked-icon svg{width:24px;height:24px}.locked-view h1{font-size:var(--t-44)}.locked-list{border-top:1px solid var(--line);width:100%;list-style:none;display:grid}.locked-list a{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:14px 4px;font-weight:600;text-decoration:none;display:flex}.locked-list a svg{width:18px;height:18px;color:var(--blue)}.locked-list .la{color:var(--faint);margin-left:auto}.locked-list a:hover{color:var(--blue)}.quiz-intro{border-radius:var(--r-stage);background:var(--surface);border:1px solid var(--line);justify-items:start;gap:12px;padding:clamp(28px,5vw,56px);display:grid}.quiz-intro>svg{width:32px;height:32px;color:var(--blue)}.quiz-intro h1{font-size:var(--t-44)}.pager{max-width:880px;padding:24px var(--gutter) 0;grid-template-columns:1fr 1fr;gap:16px;margin:40px auto 0;display:grid}.pg{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface);font-weight:600;font-size:var(--t-14);align-items:center;gap:12px;padding:14px 16px;text-decoration:none;transition:border-color .2s;display:flex}.pg:hover{border-color:var(--blue)}.pg span{display:grid}.pg small{color:var(--faint);font-weight:500;font-size:var(--t-12)}.pg svg{width:18px;height:18px;color:var(--faint);flex:none}.pg.next{text-align:right;grid-column:2;justify-content:flex-end}@media (width<=560px){.pager{grid-template-columns:minmax(0,1fr)}.pg.next{grid-column:1}}.quiz{width:100%;max-width:760px;padding:clamp(32px, 5vw, 64px) var(--gutter) 96px;outline:none;gap:24px;margin:0 auto;display:grid}.q-progress{font-size:var(--t-13);color:var(--faint);gap:10px;display:grid}.q-steps{gap:6px;display:flex}.qs{background:var(--line);cursor:pointer;border:0;border-radius:6px;flex:1;height:6px;padding:0}.qs.ans{background:#9cc0f8}.qs.cur{background:var(--blue)}.question{min-width:0;animation:frame-in .3s var(--ease-out);border:0;gap:14px;margin:0;padding:0;display:grid}.question legend{font-family:var(--display);font-size:var(--t-32);letter-spacing:-.03em;text-wrap:balance;margin-bottom:18px;padding:0;font-weight:700;line-height:1.15}.q-snippet{font-size:var(--t-13);color:var(--muted);border-radius:var(--r-ctl);background:var(--surface-2);justify-self:start;padding:8px 12px}.q-hint{font-size:var(--t-14)}.options{gap:10px;display:grid}.option{border:1.5px solid var(--line);border-radius:var(--r-panel);background:var(--surface);cursor:pointer;font-size:var(--t-16);align-items:center;gap:14px;padding:16px 18px;transition:border-color .15s,background-color .15s;display:flex;position:relative}.option:hover{border-color:var(--line-strong)}.option input{opacity:0;pointer-events:none;position:absolute}.opt-key{width:28px;height:28px;font-size:var(--t-13);border:1.5px solid var(--line-strong);color:var(--muted);border-radius:7px;flex:none;place-items:center;display:grid}.option.on{border-color:var(--blue);background:var(--blue-soft)}.option.on .opt-key{background:var(--blue);border-color:var(--blue);color:#fff}.option input:focus-visible+.opt-key{outline:2.5px solid var(--blue);outline-offset:3px}.quiz-nav{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.quiz-left{font-size:var(--t-13);text-align:right;margin-top:-12px}.score{border-radius:var(--r-stage);background:var(--surface);border:1px solid var(--line);align-items:center;gap:24px;padding:28px;display:flex}.score-num{font-family:var(--display);font-size:var(--t-80);letter-spacing:-.05em;font-weight:750;line-height:1}.score.pass .score-num{color:var(--ok)}.score.fail .score-num{color:var(--signal-text)}.score h1{font-size:var(--t-32);margin-bottom:4px}.review{list-style:none;display:grid}.review li{border-top:1px solid var(--line);font-size:var(--t-14);grid-template-columns:22px 1fr;gap:14px;padding:18px 4px;display:grid}.review li>svg{width:22px;height:22px}.review li.ok>svg{color:var(--ok)}.review li.no>svg{color:var(--signal-text)}.review div{gap:4px;display:grid}.rq{font-weight:650;font-size:var(--t-16)}.ra{color:var(--signal-text)}@media (width<=560px){.score{flex-direction:column;align-items:flex-start;gap:8px}}.admin{background:var(--canvas);grid-template-columns:244px minmax(0,1fr);min-height:100vh;display:grid}.admin>*{min-width:0}.admin-side{background:var(--ink);height:100vh;color:var(--on-ink);flex-direction:column;gap:24px;padding:18px 12px;display:flex;position:sticky;top:0}.admin-brand{color:#fff;align-items:center;gap:12px;padding:6px 8px;text-decoration:none;display:flex}.admin-brand img{width:auto;height:20px}.admin-brand span{font-family:var(--display);font-weight:700;font-size:var(--t-16);line-height:1.1;display:grid}.admin-brand small{font-family:var(--sans);font-weight:500;font-size:var(--t-12);color:var(--on-ink-muted)}.admin-side nav{gap:2px;display:grid}.admin-side nav button{border-radius:var(--r-ctl);color:var(--on-ink-muted);font-size:var(--t-14);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:10px 12px;font-weight:550;display:flex}.admin-side nav button svg{width:18px;height:18px}.admin-side nav button:hover{color:#fff;background:#ffffff0d}.admin-side nav button.active{color:#fff;background:var(--ink-3);box-shadow:inset 2px 0 0 var(--cyan)}.admin-exit{margin-top:auto}.admin-main{outline:none;align-content:start;gap:24px;padding:28px clamp(16px,3vw,40px) 64px;display:grid}.admin-main>*{min-width:0}.admin-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-head h1{font-size:var(--t-44)}.kpis{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.kpi{border-right:1px solid var(--line);gap:2px;padding:18px 20px;display:grid}.kpi:last-child{border-right:0}.kpi-label{font-size:var(--t-13);color:var(--muted)}.kpi-value{font-family:var(--display);font-size:var(--t-32);letter-spacing:-.03em;font-weight:700}.kpi-note{font-size:var(--t-12);color:var(--faint)}.admin-section{gap:12px;display:grid}.admin-section>*{min-width:0}.admin-section h2{font-family:var(--sans);font-size:var(--t-18);letter-spacing:-.01em;font-weight:650}.cell-progress{align-items:center;gap:10px;display:inline-flex}.cell-progress .progress{width:100px}.services{gap:10px;list-style:none;display:grid}.services li{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface);justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px;display:flex}.services h3{font-size:var(--t-16)}.svc-needs{overflow-wrap:anywhere;margin-top:6px;font-size:11.5px}@media (width<=1080px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi:nth-child(2){border-right:0}.kpi:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media (width<=820px){.admin{grid-template-columns:minmax(0,1fr)}.admin-side{gap:10px;height:auto;padding:12px;position:static}.admin-side nav{display:flex;overflow-x:auto}.admin-side nav button{white-space:nowrap}.admin-side nav button.active{box-shadow:inset 0 -2px 0 var(--cyan)}.admin-exit{display:none}}
