@font-face{font-family:Noto Sans SC;src:local("PingFang SC"),local("Microsoft YaHei UI"),local("Microsoft YaHei");font-display:swap}@font-face{font-family:"Noto Serif SC";src:local("Songti SC"),local("STSong"),local("Source Han Serif SC"),local("SimSun");font-display:swap}@font-face{font-family:DM Mono;src:local("SFMono-Regular"),local("Cascadia Code"),local("JetBrains Mono"),local("Consolas");font-display:swap}@font-face{font-family:"DM Serif Display";src:local("New York"),local("Songti SC"),local("STSong");font-display:swap}:root{color:#f2f0eb;background:#090909;font-family:Noto Sans SC,PingFang SC,system-ui,sans-serif;font-synthesis:none;color-scheme:dark;--canvas: #090909;--surface: rgba(20, 20, 19, .94);--surface-soft: rgba(37, 37, 35, .76);--line: rgba(255, 255, 255, .09);--muted: #9a9994;--text: #f2f0eb;--accent: #f2f0eb;--accent-soft: rgba(255, 255, 252, .09);--panel: #141413;--panel-strong: #0d0d0c;--chrome: rgba(18,18,17,.9);--code: #0a0a09;--shadow: rgba(0,0,0,.28);--mac-popover: rgba(31,31,30,.94);--mac-highlight: rgba(255,255,255,.1);--focus-ring: rgba(255,255,255,.78)}:root[data-theme=dark]{color-scheme:dark;--canvas:#090909;--surface:rgba(20,20,19,.94);--surface-soft:rgba(37,37,35,.76);--line:rgba(255,255,252,.1);--muted:#9a9994;--text:#f2f0eb;--accent:#f2f0eb;--accent-soft:rgba(255,255,252,.09);--panel:#141413;--panel-strong:#0d0d0c;--chrome:rgba(18,18,17,.9);--code:#0a0a09;--shadow:rgba(0,0,0,.32);--mac-popover:rgba(31,31,30,.94);--mac-highlight:rgba(255,255,255,.1);--focus-ring:rgba(255,255,255,.78)}:root[data-theme=light]{color-scheme:light;color:#171717;background:#f2f0eb;--canvas:#f2f0eb;--surface:rgba(255,255,252,.88);--surface-soft:rgba(232,229,222,.88);--line:rgba(23,23,23,.14);--muted:#6c6a65;--text:#171717;--accent:#171717;--accent-soft:rgba(23,23,23,.07);--panel:#fbfaf7;--panel-strong:#e9e6df;--chrome:rgba(250,249,245,.92);--code:#151514;--shadow:rgba(44,40,34,.13);--mac-popover:rgba(252,251,248,.96);--mac-highlight:rgba(23,23,23,.07);--focus-ring:rgba(23,23,23,.72)}*{box-sizing:border-box}html,body,#root{width:100%;min-width:0;height:100%;min-height:100%;margin:0}body{overflow:hidden;background:var(--canvas)}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}::selection{background:color-mix(in srgb,var(--accent) 35%,transparent);color:#fff}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#ffffff05}::-webkit-scrollbar-thumb{background:#8e97ae47;border:3px solid transparent;background-clip:padding-box;border-radius:999px}:root[data-theme=light] ::selection{color:#fff}:root[data-theme=light] ::-webkit-scrollbar-track{background:#21242b08}.atlas-app{width:100vw;height:100dvh;min-height:0;overflow:hidden;display:grid;grid-template-rows:52px minmax(0,1fr);color:var(--text);background:radial-gradient(circle at 77% -10%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 32%),var(--canvas)}.atlas-app.workspace-showcase{grid-template-rows:36px minmax(0,1fr);background:var(--canvas)}.app-chrome,.atlas-body{will-change:opacity,transform,filter;transition:opacity .14s ease,transform .22s cubic-bezier(.2,.8,.2,1),filter .18s ease}.workspace-transition-leaving .app-chrome{opacity:.22;transform:translateY(-4px);filter:blur(2px)}.workspace-transition-leaving .atlas-body{opacity:0;transform:scale(.992) translateY(5px);filter:blur(3px);pointer-events:none}.workspace-transition-entering .app-chrome{animation:workspace-chrome-enter .22s cubic-bezier(.2,.8,.2,1) both}.workspace-transition-entering .atlas-body{animation:workspace-body-enter .22s cubic-bezier(.2,.8,.2,1) both;pointer-events:none}@keyframes workspace-chrome-enter{0%{opacity:.22;transform:translateY(-4px);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}@keyframes workspace-body-enter{0%{opacity:0;transform:scale(.992) translateY(6px);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}.app-chrome{position:relative;z-index:30;display:grid;grid-template-columns:100px minmax(210px,1fr) minmax(130px,.5fr) auto 190px;gap:12px;align-items:center;min-width:0;padding:0 18px;border-bottom:1px solid var(--line);background:var(--chrome);-webkit-backdrop-filter:blur(28px) saturate(150%);backdrop-filter:blur(28px) saturate(150%);box-shadow:0 12px 35px var(--shadow)}.traffic-lights{display:flex;gap:8px}.traffic-lights i{width:12px;height:12px;border-radius:50%;background:#ff5f57;box-shadow:inset 0 0 0 1px #00000026}.traffic-lights i:nth-child(2){background:#febc2e}.traffic-lights i:nth-child(3){background:#28c840}.app-title{display:flex;align-items:center;gap:10px;min-width:0;font:11px DM Mono,monospace;letter-spacing:.05em}.app-title strong{text-transform:uppercase;white-space:nowrap}.app-title>span:last-child{color:#777671;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-icon{display:grid;place-items:center;width:25px;height:25px;flex:0 0 auto;border:1px solid var(--line);border-radius:8px;color:var(--canvas);background:linear-gradient(145deg,var(--text),#aaa8a2);font:17px "DM Serif Display",serif;box-shadow:0 5px 18px var(--shadow)}.chrome-location{justify-self:center;max-width:100%;padding:6px 13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--line);border-radius:999px;color:#8f9ab0;background:color-mix(in srgb,var(--panel-strong) 60%,transparent);font:10px DM Mono,monospace}.chrome-location:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.chrome-progress{display:grid;grid-template-columns:auto 90px auto;align-items:center;justify-content:end;gap:8px;color:#748096;font:9px DM Mono,monospace}.chrome-progress div{height:3px;overflow:hidden;border-radius:10px;background:#303746}.chrome-progress i{display:block;height:100%;background:var(--accent);border-radius:inherit;box-shadow:0 0 9px var(--accent);transition:width .35s ease}.chrome-progress b{min-width:25px;color:#aab3c4;font-weight:500}.chrome-tools{display:flex;align-items:center;gap:8px}.mode-switcher{display:flex;padding:3px;border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb,var(--panel-strong) 70%,transparent)}.mode-switcher button,.theme-toggle{height:28px;border:0;border-radius:6px;color:var(--muted);background:transparent;font:9px DM Mono,monospace}.mode-switcher button{padding:0 10px}.mode-switcher button.active{color:var(--text);background:var(--surface-soft);box-shadow:0 2px 9px var(--shadow)}.theme-toggle{display:flex;align-items:center;gap:5px;padding:0 9px;border:1px solid var(--line)}.theme-toggle:hover{color:var(--text);background:var(--surface-soft)}.theme-toggle b{font-weight:500}.app-chrome-showcase{grid-template-columns:minmax(430px,1fr) minmax(250px,560px) auto 108px;gap:8px;height:36px;padding:0;background:var(--chrome);box-shadow:none;-webkit-backdrop-filter:blur(20px) saturate(125%);backdrop-filter:blur(20px) saturate(125%)}.vscode-title-left{min-width:0;display:flex;align-items:center;gap:8px;padding-left:12px}.app-chrome-showcase .traffic-lights{flex:0 0 auto;gap:6px;margin-right:4px}.app-chrome-showcase .traffic-lights i{width:9px;height:9px}.vscode-app-mark{flex:0 0 auto;display:grid;place-items:center;width:20px;height:20px;border:1px solid var(--line);border-radius:4px;color:var(--canvas);background:var(--text);font:12px "DM Serif Display",serif}.vscode-menu{min-width:0;display:flex;align-items:center;overflow:hidden}.vscode-menu button{height:26px;padding:0 7px;border:0;border-radius:4px;color:var(--muted);background:transparent;font:9px Noto Sans SC,sans-serif;white-space:nowrap}.vscode-menu button:hover{color:var(--text);background:var(--surface-soft)}.vscode-command-center{min-width:0;height:25px;display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:4px;padding:0 7px;border:1px solid var(--line);border-radius:6px;color:var(--muted);background:color-mix(in srgb,var(--surface-soft) 50%,transparent);box-shadow:0 1px 4px var(--shadow)}.vscode-command-center:hover{color:var(--text);border-color:color-mix(in srgb,var(--text) 24%,var(--line))}.vscode-command-center span{font:12px DM Mono,monospace}.vscode-command-center b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:400 9px Noto Sans SC,sans-serif}.vscode-command-center kbd{padding:2px 4px;border:1px solid var(--line);border-radius:3px;color:var(--muted);background:var(--panel);font:7px DM Mono,monospace}.app-chrome-showcase .chrome-tools{justify-self:end;gap:5px}.app-chrome-showcase .mode-switcher{padding:2px;border-radius:5px}.app-chrome-showcase .mode-switcher button,.app-chrome-showcase .theme-toggle{height:23px;border-radius:3px;font-size:8px}.app-chrome-showcase .mode-switcher button{padding-inline:8px}.app-chrome-showcase .theme-toggle{padding-inline:7px}.window-controls{height:100%;display:grid;grid-template-columns:repeat(3,36px)}.window-controls button{border:0;color:var(--muted);background:transparent;font:11px DM Mono,monospace}.window-controls button:hover{color:var(--text);background:var(--surface-soft)}.window-controls button:last-child:hover{color:#fff;background:#c42b1c}.mobile-menu{display:none}.atlas-body{position:relative;display:grid;grid-template-columns:306px minmax(0,1fr);width:100%;min-width:0;min-height:0;overflow:hidden}.atlas-body.mode-showcase{display:block}.mode-showcase>.course-sidebar{position:absolute;z-index:40;inset:0 auto 0 0;width:306px;box-shadow:25px 0 70px var(--shadow)}.course-sidebar{position:relative;z-index:20;min-width:0;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;padding:20px 13px 13px;border-right:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#12151ff5,#0b0e15f5);box-shadow:12px 0 40px #00000029}.sidebar-heading{display:flex;align-items:end;justify-content:space-between;padding:0 9px 15px}.sidebar-heading>div{display:grid;gap:4px}.sidebar-heading span{color:#657087;font:9px DM Mono,monospace;letter-spacing:.12em}.sidebar-heading strong{font:600 18px "Noto Serif SC",serif}.chapter-count{padding:5px 8px;border:1px solid rgba(255,255,255,.08);border-radius:7px;color:#929db2!important;letter-spacing:0!important}.search-box{display:grid;grid-template-columns:22px 1fr;align-items:center;margin:0 3px 15px;padding:9px 10px;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:#626d82;background:#0b0e15}.search-box input{min-width:0;border:0;outline:0;color:#d9deea;background:transparent;font-size:11px}.search-box input::placeholder{color:#586377}.course-tree{min-height:0;overflow:auto;padding:0 2px 40px}.tree-group{margin:0 0 16px}.tree-group-title{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:7px;padding:8px 8px 7px;color:#8f8e89;background:#0e0e0df5;font:10px DM Mono,monospace}.tree-group-title i{width:6px;height:6px;border-radius:50%;background:var(--text);box-shadow:0 0 8px color-mix(in srgb,var(--text) 45%,transparent)}.tree-group-title b{color:#5f5e5a}.chapter-link{width:100%;display:grid;grid-template-columns:27px 1fr;gap:7px;padding:8px 7px;border:0;border-radius:9px;color:#838ea3;background:transparent;text-align:left;transition:background .16s ease,color .16s ease,transform .16s ease}.chapter-link:hover{color:#d6dce8;background:#ffffff0a;transform:translate(2px)}.chapter-link>span{padding-top:2px;color:#515c72;font:9px DM Mono,monospace}.chapter-link div{min-width:0;display:grid;gap:3px}.chapter-link strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500}.chapter-link small{color:#566176;font:8px DM Mono,monospace}.chapter-link.active{color:#fff;background:linear-gradient(90deg,var(--accent-soft),rgba(255,255,255,.018));box-shadow:inset 2px 0 var(--accent)}.chapter-link.active>span{color:var(--accent)}.chapter-link.active small{color:#818da4}.sidebar-status{padding:11px 9px 2px;border-top:1px solid rgba(255,255,255,.06);color:#777671;font:9px DM Mono,monospace}.status-dot{display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:var(--text);box-shadow:0 0 8px color-mix(in srgb,var(--text) 45%,transparent)}.reader-scroll{min-width:0;min-height:0;overflow:auto;scroll-behavior:smooth;background:linear-gradient(90deg,rgba(255,255,255,.012),transparent 20%)}.reader-topline{max-width:1280px;margin:0 auto;padding:20px 54px 0;display:flex;align-items:center;justify-content:space-between;color:#6e798f;font:9px DM Mono,monospace}.reader-topline>div:first-child{display:flex;align-items:center;gap:9px}.reader-topline span{color:var(--accent)}.reader-topline p{margin:0}.reader-topline b{color:#a2acbd;font-weight:500}.chrome-location,.chrome-progress,.sidebar-heading span,.chapter-link,.chapter-link>span,.chapter-link small,.sidebar-status,.reader-topline{color:var(--muted)}.chapter-link.active{color:var(--text)}.chapter-link.active small{color:var(--muted)}:root[data-theme=light] .app-title>span:last-child,:root[data-theme=light] .chrome-location,:root[data-theme=light] .chrome-progress{color:#707684}:root[data-theme=light] .course-sidebar{background:linear-gradient(180deg,#fcfaf6fa,#f1ede5fa);box-shadow:12px 0 40px #39312414}:root[data-theme=light] .search-box{color:#777d89;background:#f2eee7}:root[data-theme=light] .search-box input{color:#252932}:root[data-theme=light] .tree-group-title{background:#f7f3ecf5}:root[data-theme=light] .chapter-link:hover{color:#20242b;background:#2e323c0d}:root[data-theme=light] .chapter-link.active{color:#171717}.chapter-article{max-width:1280px;margin:0 auto;padding:22px 54px 80px;animation:materialize .42s cubic-bezier(.2,.8,.2,1)}.chapter-hero{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:50px;align-items:center;min-height:300px;padding:30px 0 38px;border-bottom:1px solid var(--line)}.eyebrow{display:flex;align-items:center;flex-wrap:wrap;gap:9px;color:#778298;font:9px DM Mono,monospace;letter-spacing:.08em}.eyebrow span{color:var(--accent)}.eyebrow i{width:3px;height:3px;border-radius:50%;background:#475166}.chapter-intro h1{max-width:820px;margin:18px 0 12px;color:#f4f5fa;font:600 clamp(38px,4.1vw,65px)/1.08 "Noto Serif SC",serif;letter-spacing:-.055em;text-wrap:balance}.chapter-intro>p{max-width:720px;margin:0;color:#9aa5b8;font:400 17px/1.8 "Noto Serif SC",serif}.chapter-position{display:grid;grid-template-columns:minmax(120px,270px) auto;align-items:center;gap:10px;margin-top:26px}.chapter-position:before{content:"";grid-column:1;grid-row:1;height:2px;background:#282e3b}.chapter-position>span{grid-column:1;grid-row:1;z-index:1;height:2px;background:var(--accent);box-shadow:0 0 9px var(--accent);transition:width .35s ease}.chapter-position small{color:#586377;font:8px DM Mono,monospace}.chapter-outline{display:grid;gap:6px;padding:18px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#1d2230a8,#0b0e158f);box-shadow:0 22px 60px #0000002e,inset 0 1px #ffffff0d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.chapter-outline>span,.lab-label span{margin-bottom:5px;color:#637087;font:9px DM Mono,monospace;letter-spacing:.12em}.chapter-outline a{display:grid;grid-template-columns:26px 1fr;gap:7px;padding:8px;border-radius:8px;color:#9aa5b8;text-decoration:none;font-size:10px;line-height:1.5}.chapter-outline a:hover{color:#fff;background:var(--accent-soft)}.chapter-outline b{color:var(--accent);font:9px DM Mono,monospace}.frame-lab{padding:14px;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:17px;background:linear-gradient(145deg,#1f1f1dd1,#0a0a09d9);box-shadow:0 24px 70px #00000040}.lab-label{display:flex;align-items:center;justify-content:space-between;padding:0 3px 10px}.lab-label span{margin:0}.lab-label b{color:var(--accent);font:8px DM Mono,monospace}.lab-stage{position:relative;height:130px;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:11px;background:#0b0b0a}.lab-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(180,180,176,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(180,180,176,.1) 1px,transparent 1px);background-size:20px 20px}.lab-orb{position:absolute;top:39px;left:30px;width:48px;height:48px;border-radius:18px;background:radial-gradient(circle at 35% 30%,#fff,var(--accent) 38%,#30302e 75%);box-shadow:0 0 32px color-mix(in srgb,var(--accent) 55%,transparent);transition:transform .07s linear,opacity .07s linear}.lab-stage>span{position:absolute;right:9px;bottom:7px;color:#777671;font:8px DM Mono,monospace}.frame-lab input{width:100%;margin:14px 0 6px;accent-color:var(--accent)}.lab-values{display:grid;grid-template-columns:repeat(3,1fr);color:#777671;font:8px DM Mono,monospace}.lab-values span:nth-child(2){text-align:center}.lab-values span:last-child{text-align:right}.lab-values b{color:#c2c0ba;font-weight:500}.reading-column{max-width:920px;margin:0 auto;padding-top:45px}.concept-callout{display:grid;grid-template-columns:90px 1fr;gap:18px;margin-bottom:48px;padding:22px 25px;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:14px;background:linear-gradient(100deg,var(--accent-soft),rgba(255,255,255,.018))}.concept-callout>span{color:var(--accent);font:10px DM Mono,monospace;letter-spacing:.08em}.concept-callout p{margin:0;color:#cad1de;font:14px/1.95 "Noto Serif SC",serif}.section-list{display:grid;gap:0}.lesson-section{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;padding:0 0 42px;scroll-margin-top:30px}.section-number{padding-top:7px;color:var(--accent);font:10px DM Mono,monospace}.lesson-section h2{margin:0 0 13px;color:#e8ecf4;font:600 22px/1.4 "Noto Serif SC",serif;letter-spacing:-.025em}.lesson-section p{margin:0;color:#aeb7c7;font-size:14px;line-height:2.05;text-align:justify}.code-window{margin:5px 0 34px;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:15px;background:#080a10;box-shadow:0 24px 70px #00000038}.code-window header{height:40px;display:grid;grid-template-columns:80px 1fr auto;align-items:center;padding:0 14px;border-bottom:1px solid rgba(255,255,255,.07);background:#151924;color:#68748a;font:9px DM Mono,monospace}.code-window header>div{display:flex;gap:6px}.code-window header i{width:8px;height:8px;border-radius:50%;background:#ff5f57}.code-window header i:nth-child(2){background:#febc2e}.code-window header i:nth-child(3){background:#28c840}.code-window header b{color:var(--accent);font-weight:500}.code-window pre{margin:0;padding:24px;overflow:auto;color:#c7d6f5;font:12px/1.85 DM Mono,monospace;-moz-tab-size:2;tab-size:2}.pitfall-card{margin:0 0 30px;padding:20px 23px;border:1px solid rgba(255,177,87,.2);border-radius:14px;background:#5f391317}.pitfall-card header{display:flex;align-items:center;gap:11px}.pitfall-card header>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;color:#ffbd69;background:#ffb2551f;font:600 14px DM Mono,monospace}.pitfall-card header div{display:grid;gap:3px}.pitfall-card header b{font:600 13px "Noto Serif SC",serif}.pitfall-card header small{color:#776f66;font-size:9px}.pitfall-card ul{margin:16px 0 0 39px;padding-left:16px;color:#baaa98;font-size:12px;line-height:1.9}.source-card{padding:20px 23px;border:1px solid var(--line);border-radius:14px;background:#ffffff05}.source-card>span{display:block;margin-bottom:12px;color:#657087;font:9px DM Mono,monospace;letter-spacing:.1em}.source-card>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.source-card a{min-width:0;display:grid;grid-template-columns:20px 1fr;padding:10px;border-radius:9px;color:#aeb8ca;background:#ffffff06;text-decoration:none}.source-card a:hover{color:#fff;background:var(--accent-soft)}.source-card a>b{color:var(--accent)}.source-card a>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.source-card small{grid-column:2;color:#586377;font:8px DM Mono,monospace}.chapter-pagination{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:34px}.chapter-pagination button{display:grid;gap:6px;min-height:84px;padding:17px;border:1px solid var(--line);border-radius:13px;color:#9da8bb;background:#ffffff05;text-align:left}.chapter-pagination button:hover{border-color:color-mix(in srgb,var(--accent) 40%,transparent);color:#fff;background:var(--accent-soft)}.chapter-pagination .next{text-align:right}.chapter-pagination span{color:var(--accent);font:9px DM Mono,monospace}.chapter-pagination b{font:500 12px "Noto Serif SC",serif}.decision-lab{max-width:1172px;margin:20px auto 0;padding:25px 30px;display:grid;grid-template-columns:.85fr 1.25fr .8fr;gap:28px;align-items:center;border:1px solid var(--line);border-radius:17px;background:linear-gradient(120deg,var(--surface-soft),var(--surface))}.decision-lab header>span{color:var(--accent);font:9px DM Mono,monospace;letter-spacing:.1em}.decision-lab h2{margin:8px 0 7px;font:600 24px "Noto Serif SC",serif}.decision-lab header p{margin:0;color:var(--muted);font-size:10px;line-height:1.7}.decision-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px}.decision-controls label{display:grid;grid-template-columns:1fr auto;gap:6px;color:var(--muted);font-size:10px}.decision-controls output{color:var(--text);font:9px DM Mono,monospace}.decision-controls input,.decision-controls select{grid-column:1/-1;width:100%;accent-color:var(--accent)}.decision-controls select{padding:7px;border:1px solid var(--line);border-radius:7px;color:var(--text);background:var(--panel);font-size:9px}.decision-result{padding:17px;border:1px solid var(--line);border-radius:12px;background:var(--panel-strong)}.decision-result>span{color:var(--muted);font:8px DM Mono,monospace}.decision-result h3,.decision-result.hyperframes h3{margin:5px 0 8px;color:var(--text);font:28px "DM Serif Display",serif}.decision-result p{margin:0;color:var(--muted);font-size:9px;line-height:1.7}.decision-result>div{display:flex;gap:3px;height:3px;margin:12px 0 7px}.decision-result i:first-child{background:var(--text)}.decision-result i:last-child{background:var(--muted)}.decision-result small{color:var(--muted);font:8px DM Mono,monospace}@keyframes materialize{0%{opacity:0;transform:translateY(8px);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}.guide-question{margin-bottom:18px;padding:0 4px}.guide-question span,.scenario-card>header span,.step-course>header span,.walkthrough-card>header span,.completion-card>span{color:var(--accent);font:9px DM Mono,monospace;letter-spacing:.1em}.guide-question h2{max-width:780px;margin:8px 0 0;color:var(--text);font:600 26px/1.5 "Noto Serif SC",serif}.guide-opening .concept-callout{margin-bottom:12px}.analogy-callout{display:grid;grid-template-columns:90px 1fr;gap:18px;margin-bottom:42px;padding:18px 25px;border:1px dashed var(--line);border-radius:14px;background:var(--surface-soft)}.analogy-callout span{color:var(--muted);font:10px DM Mono,monospace}.analogy-callout p{margin:0;color:var(--muted);font:13px/1.9 "Noto Serif SC",serif}.scenario-card{margin-bottom:46px;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 20px 50px var(--shadow)}.scenario-card>header{display:flex;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--line)}.scenario-card>header b{color:var(--muted);font-size:10px;font-weight:500}.scenario-card>div{display:grid;grid-template-columns:1fr 1fr}.scenario-card p{margin:0;padding:22px;color:var(--text);font:13px/1.8 "Noto Serif SC",serif}.scenario-card p+p{border-left:1px solid var(--line)}.scenario-card small{display:block;margin-bottom:7px;color:var(--muted);font:9px DM Mono,monospace}.step-course{margin-bottom:48px}.step-course>header h2,.walkthrough-card>header h2,.completion-card h2{margin:7px 0 20px;color:var(--text);font:600 22px "Noto Serif SC",serif}.step-course ol{display:grid;gap:12px;margin:0;padding:0;list-style:none}.step-course li{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.step-course li>span{color:var(--accent);font:11px DM Mono,monospace}.step-course h3{margin:0 0 8px;color:var(--text);font:600 16px "Noto Serif SC",serif}.step-course p{margin:0 0 11px;color:var(--muted);font-size:12px;line-height:1.85}.step-course code{display:block;padding:10px 12px;border-radius:8px;color:color-mix(in srgb,var(--accent) 75%,var(--text));background:var(--panel-strong);font:10px/1.7 DM Mono,monospace}.walkthrough-card{margin:0 0 34px;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.walkthrough-card>div{display:grid;gap:10px}.walkthrough-card article{display:grid;grid-template-columns:170px 1fr;gap:20px;padding:15px 0;border-top:1px solid var(--line)}.walkthrough-card article>div{display:grid;align-content:start;gap:6px}.walkthrough-card article b{color:var(--text);font:10px DM Mono,monospace}.walkthrough-card article code{color:var(--accent);font:9px DM Mono,monospace}.walkthrough-card article p{margin:0;color:var(--muted);font-size:12px;line-height:1.9}.pitfall-grid{display:grid;gap:9px;margin-top:16px}.pitfall-grid article{padding:15px;border-radius:10px;background:#ffb1570b}.pitfall-grid h3{margin:0 0 8px;color:#d7b488;font-size:12px}.pitfall-grid p{margin:4px 0;color:#a99b8b;font-size:11px;line-height:1.75}.pitfall-grid p b{color:#c5a985}.completion-card{margin:0 0 30px;padding:24px;border:1px solid color-mix(in srgb,var(--accent) 32%,transparent);border-radius:16px;background:linear-gradient(120deg,var(--accent-soft),var(--surface))}.completion-card>span{color:var(--accent)}.completion-card p{margin:0;color:var(--text);font:13px/1.9 "Noto Serif SC",serif}:root[data-theme=light] .chapter-intro h1,:root[data-theme=light] .lesson-section h2{color:#252932}:root[data-theme=light] .chapter-intro>p,:root[data-theme=light] .lesson-section p,:root[data-theme=light] .concept-callout p{color:#5d6471}:root[data-theme=light] .chapter-outline{background:linear-gradient(145deg,#ffffffd1,#f0ece4bf)}:root[data-theme=light] .frame-lab{background:linear-gradient(145deg,#ffffffd1,#f0ece4d9)}:root[data-theme=light] .pitfall-card{background:#17171709}.eyebrow,.chapter-position small,.chapter-outline>span,.lab-label span,.lesson-section p,.source-card>span,.source-card small{color:var(--muted)}.chapter-intro h1,.lesson-section h2{color:var(--text)}.chapter-intro>p,.concept-callout p{color:color-mix(in srgb,var(--text) 68%,var(--muted))}.code-window pre{color:#dedcd6}.source-card a,.chapter-pagination button{color:var(--muted)}:root[data-theme=light] .chapter-intro>p,:root[data-theme=light] .lesson-section p,:root[data-theme=light] .concept-callout p{color:#66645f}.showcase-workspace{width:100%;height:100%;min-width:0;min-height:0;display:grid;grid-template-columns:240px minmax(0,1fr) 340px;overflow:hidden;background:var(--panel-strong)}.showcase-column,.showcase-center{min-width:0;min-height:0}.showcase-pane{height:100%;min-height:0;display:grid;grid-template-rows:42px minmax(0,1fr) 34px;background:var(--panel)}.explorer-pane{grid-template-rows:42px 35px minmax(0,1fr) 34px}.showcase-pane>header,.stage-toolbar{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 14px;border-bottom:1px solid var(--line);color:var(--muted);font:9px DM Mono,monospace;letter-spacing:.08em}.showcase-pane>header b{color:color-mix(in srgb,var(--muted) 70%,transparent);font-size:8px;font-weight:500}.files-column{border-right:1px solid var(--line)}.lesson-column{border-left:1px solid var(--line)}.explorer-project{display:flex;align-items:center;gap:7px;height:35px;padding:0 12px;color:var(--text);font:10px DM Mono,monospace}.explorer-project i{color:var(--muted);font-style:normal}.explorer-pane nav{min-height:0;overflow:auto;padding:2px 6px}.explorer-pane nav button{width:100%;min-width:0;height:33px;display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:5px;padding:0 8px;border:0;border-radius:6px;color:var(--muted);background:transparent;text-align:left}.explorer-pane nav button:hover{color:var(--text);background:var(--surface-soft)}.explorer-pane nav button.active{color:var(--text);background:var(--accent-soft);box-shadow:inset 2px 0 var(--accent)}.explorer-pane nav button>span{color:var(--accent);font:8px DM Mono,monospace}.explorer-pane nav button b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 10px DM Mono,monospace}.explorer-pane nav button em{color:var(--text);font:7px DM Mono,monospace;font-style:normal}.explorer-pane footer{padding:10px 13px;border-top:1px solid var(--line);color:var(--muted);font:8px DM Mono,monospace}.explorer-pane footer span{color:var(--text)}.showcase-center{display:grid;grid-template-rows:42px minmax(0,1fr) 28px;background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--accent) 8%,transparent),transparent 42%),var(--canvas)}.stage-toolbar>div:first-child{min-width:0;display:flex;align-items:center;gap:12px}.stage-toolbar span{color:var(--accent)}.stage-toolbar b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font:500 10px Noto Sans SC,sans-serif;letter-spacing:0}.stage-view-switch{flex:0 0 auto;display:flex;gap:3px}.stage-view-switch button{height:27px;padding:0 10px;border:0;border-radius:6px;color:var(--muted);background:transparent;font-size:9px}.stage-view-switch button.active{color:var(--text);background:var(--surface-soft)}.stage-canvas{min-width:0;min-height:0;overflow:auto;display:grid;place-items:center;padding:clamp(14px,3vw,42px)}.stage-status{display:flex;align-items:center;gap:17px;padding:0 12px;border-top:1px solid var(--line);color:var(--muted);font:7px DM Mono,monospace}.stage-status span{margin-right:auto}.stage-status b{font-weight:500}.stage-status em{color:var(--text);font-style:normal}.experiment-stage{width:min(100%,880px);overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 34px 100px var(--shadow)}.experiment-stage>header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 18px;border-bottom:1px solid var(--line)}.experiment-stage>header div{display:grid;gap:4px}.experiment-stage>header span{color:var(--accent);font:8px DM Mono,monospace}.experiment-stage>header b{color:var(--text);font:600 13px "Noto Serif SC",serif}.experiment-stage>header em{color:var(--text);font:8px DM Mono,monospace;font-style:normal}.lab-visual{position:relative;min-height:clamp(240px,42vh,440px);overflow:hidden}.frame-lab-view{background:radial-gradient(circle at 50% 50%,var(--accent-soft),transparent 40%),var(--panel-strong)}.frame-lab-view .frame-orb{position:absolute;top:50%;width:72px;height:72px;border-radius:24px;background:radial-gradient(circle at 32% 28%,#fff,var(--accent) 35%,#30302e 76%);box-shadow:0 0 55px color-mix(in srgb,var(--accent) 58%,transparent)}.frame-lab-view>i{position:absolute;bottom:0;width:1px;height:16px;background:var(--accent)}.frame-lab-view output{position:absolute;right:18px;bottom:17px;color:var(--muted);font:9px DM Mono,monospace}.timeline-lab-view{display:grid;align-content:center;gap:11px;padding:35px 28px;background:var(--panel-strong)}.timeline-playhead{position:absolute;z-index:3;top:20px;bottom:20px;width:1px;background:#ff5f57;box-shadow:0 0 10px #ff5f57}.lab-track{position:relative;display:grid;grid-template-columns:28px 1fr;align-items:center;height:42px;color:var(--muted);font:8px DM Mono,monospace}.lab-track>i{position:absolute;left:30px;top:4px;height:34px;min-width:50px;overflow:hidden;padding:10px;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:7px;color:var(--text);background:var(--accent-soft);white-space:nowrap;font-style:normal}.pipeline-lab-view{display:grid;align-content:center;gap:8px;padding:28px;background:var(--panel-strong)}.pipeline-lab-view>div{display:grid;grid-template-columns:34px minmax(100px,.7fr) 1fr;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:9px;opacity:.45}.pipeline-lab-view>div.active{opacity:1;border-color:color-mix(in srgb,var(--accent) 35%,transparent);background:var(--accent-soft)}.pipeline-lab-view span{color:var(--accent);font:8px DM Mono,monospace}.pipeline-lab-view b{color:var(--text);font-size:10px}.pipeline-lab-view small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:8px}.architecture-lab-view{display:grid;align-content:center;gap:17px;padding:30px;background:var(--panel-strong)}.architecture-lab-view>div{display:grid;grid-template-columns:90px 1fr 24px;gap:10px;align-items:center;color:var(--text);font:10px DM Mono,monospace}.architecture-lab-view>div>i{display:block;height:10px;border-radius:8px;background:var(--text);transition:width .1s linear}.architecture-lab-view>div:nth-child(2)>i{background:var(--muted)}.architecture-lab-view ul{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0;padding:0;list-style:none}.architecture-lab-view li{padding:5px 8px;border:1px solid var(--line);border-radius:6px;color:var(--muted);font-size:8px}.architecture-lab-view small{color:var(--muted);font:8px DM Mono,monospace}.lab-controls{display:grid;grid-template-columns:auto auto minmax(100px,1fr) auto;gap:8px;align-items:center;padding:12px 15px;border-top:1px solid var(--line)}.lab-controls button{height:28px;padding:0 12px;border:1px solid var(--line);border-radius:7px;color:var(--text);background:var(--surface-soft);font-size:9px}.lab-controls input{width:100%;accent-color:var(--accent)}.lab-controls output{color:var(--muted);font:8px DM Mono,monospace}.source-viewer{width:100%;height:100%;min-height:260px;display:grid;grid-template-rows:42px minmax(0,1fr);overflow:hidden;border:1px solid var(--line);border-radius:13px;background:var(--code);box-shadow:0 28px 80px var(--shadow)}.source-viewer header{display:flex;align-items:center;justify-content:space-between;padding:0 13px;border-bottom:1px solid rgba(255,255,255,.09);color:#8c98ad}.source-viewer header div{display:flex;gap:9px;font:9px DM Mono,monospace}.source-viewer header small{color:var(--accent)}.source-viewer button{padding:5px 8px;border:1px solid rgba(255,255,255,.11);border-radius:6px;color:#b4bdce;background:#ffffff0a;font-size:8px}.source-viewer pre{min-width:0;min-height:0;margin:0;overflow:auto;padding:22px;color:#c9d8f6;font:11px/1.8 DM Mono,monospace;-moz-tab-size:2;tab-size:2}.lesson-pane-scroll{min-height:0;overflow:auto;padding:20px}.lesson-kicker{margin:0 0 9px;color:var(--accent);font:8px DM Mono,monospace}.lesson-pane h2{margin:0 0 18px;color:var(--text);font:600 23px/1.35 "Noto Serif SC",serif}.lesson-question{padding:13px;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:10px;background:var(--accent-soft)}.lesson-question span,.lesson-pane h3{display:block;margin:0 0 6px;color:var(--accent);font:8px DM Mono,monospace}.lesson-question strong{color:var(--text);font:600 12px/1.6 "Noto Serif SC",serif}.lesson-pane section{padding:18px 2px 0}.lesson-pane section p{margin:0;color:var(--muted);font-size:11px;line-height:1.85}.lesson-pane ol{display:grid;gap:12px;margin:0;padding:0;list-style:none;counter-reset:lesson-step}.lesson-pane li{position:relative;padding-left:22px;counter-increment:lesson-step}.lesson-pane li:before{content:counter(lesson-step);position:absolute;left:0;top:2px;color:var(--accent);font:8px DM Mono,monospace}.lesson-pane li b{color:var(--text);font-size:11px}.lesson-pane li p{margin-top:4px;font-size:10px}.lesson-success{margin-top:18px;padding:14px!important;border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:10px;background:var(--accent-soft)}.lesson-success h3{color:var(--accent)}.lesson-pane>footer{display:flex;justify-content:space-between;align-items:center;padding:0 10px;border-top:1px solid var(--line)}.lesson-pane>footer button{height:25px;padding:0 10px;border:1px solid var(--line);border-radius:6px;color:var(--text);background:var(--surface-soft);font-size:8px}.lesson-pane>footer button:disabled{opacity:.3;cursor:not-allowed}.showcase-mobile-tabs{display:none}.source-viewer pre{color:#dedcd6}.source-viewer header{color:#9a9994}.showcase-workspace{grid-template-columns:48px 250px minmax(0,1fr) 390px}.vscode-activitybar{min-height:0;display:flex;flex-direction:column;justify-content:space-between;padding:3px 0 4px;border-right:1px solid var(--line);background:var(--panel-strong)}.vscode-activitybar>div{display:grid;justify-items:center;gap:2px}.vscode-activitybar button{position:relative;width:47px;height:46px;display:grid;place-items:center;border:0;border-left:2px solid transparent;color:var(--muted);background:transparent;font:20px/1 DM Mono,monospace}.vscode-activitybar button:hover,.vscode-activitybar button.active{color:var(--text)}.vscode-activitybar button.active{border-left-color:var(--text)}.vscode-activitybar button em{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:15px;height:15px;border-radius:50%;color:var(--canvas);background:var(--text);font:7px DM Mono,monospace;font-style:normal}.activitybar-bottom button{height:42px;font-size:17px}.explorer-pane{grid-template-rows:35px 28px minmax(0,1fr) 22px 22px 25px}.explorer-actions{display:flex;align-items:center;gap:1px}.explorer-actions button{width:22px;height:22px;padding:0;border:0;color:var(--muted);background:transparent;font:12px DM Mono,monospace}.explorer-project{height:28px;padding-inline:8px;font-size:9px}.explorer-project small{margin-left:auto;color:var(--muted);font:8px DM Mono,monospace}.explorer-pane nav{padding:0}.explorer-pane nav .explorer-tree-row{height:24px;grid-template-columns:14px 17px minmax(0,1fr) auto;gap:2px;padding:0 7px 0 calc(5px + var(--tree-depth) * 12px);border-radius:0}.explorer-pane nav .folder-row{grid-template-columns:12px 15px minmax(0,1fr)}.explorer-tree-row .tree-chevron,.explorer-tree-row .folder-icon{color:var(--muted);font:10px DM Mono,monospace}.explorer-tree-row .folder-icon{font-size:8px}.explorer-pane nav .explorer-tree-row.active{box-shadow:none;background:var(--surface-soft)}.explorer-pane nav .explorer-tree-row b{font-size:9px}.explorer-outline{display:flex;align-items:center;gap:6px;padding:0 8px;border-top:1px solid var(--line);color:var(--text);font:8px DM Mono,monospace}.explorer-pane footer{padding:7px 9px;font-size:7px}.showcase-center{grid-template-rows:minmax(0,1fr) 22px;background:var(--canvas)}.editor-surface{min-width:0;min-height:0;display:grid;grid-template-rows:35px 25px minmax(0,1fr);overflow:hidden;background:var(--canvas)}.editor-tabs{min-width:0;display:flex;align-items:stretch;overflow:hidden;border-bottom:1px solid var(--line);background:var(--panel-strong)}.editor-tabs>button{flex:0 1 155px;min-width:95px;max-width:190px;display:grid;grid-template-columns:20px minmax(0,1fr) 17px;align-items:center;gap:3px;padding:0 8px;border:0;border-right:1px solid var(--line);border-top:1px solid transparent;color:var(--muted);background:var(--panel);text-align:left}.editor-tabs>button.active{border-top-color:var(--text);color:var(--text);background:var(--canvas)}.editor-tabs button span{color:var(--muted);font:8px DM Mono,monospace}.editor-tabs button b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:400 9px Noto Sans SC,sans-serif}.editor-tabs button i{opacity:.55;font-style:normal}.editor-tab-space{flex:1 1 auto;min-width:0}.editor-tab-actions{flex:0 0 auto;display:flex;align-items:center;padding:0 4px}.editor-tab-actions button{width:25px;height:25px;border:0;color:var(--muted);background:transparent;font:10px DM Mono,monospace}.editor-breadcrumbs{min-width:0;display:flex;align-items:center;gap:2px;overflow:hidden;padding:0 12px;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent);color:var(--muted);background:var(--canvas)}.editor-breadcrumbs span{display:flex;flex-direction:row-reverse;align-items:center;gap:5px;min-width:0}.editor-breadcrumbs b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:400 8px Noto Sans SC,sans-serif}.editor-breadcrumbs i{color:color-mix(in srgb,var(--muted) 65%,transparent);font-style:normal}.editor-canvas{position:relative;min-width:0;min-height:0;overflow:auto;background:var(--canvas)}.editor-view-preview .editor-canvas{display:grid;place-items:center;padding:clamp(12px,2vw,26px);background:radial-gradient(circle at 50% 38%,color-mix(in srgb,var(--text) 5%,transparent),transparent 48%),var(--canvas)}.experiment-stage-editor{width:min(100%,900px);max-height:100%;border-radius:2px;box-shadow:0 22px 65px var(--shadow)}.source-viewer{position:relative;width:100%;height:100%;min-height:0;grid-template-columns:minmax(0,1fr) 76px;grid-template-rows:minmax(0,1fr);border:0;border-radius:0;background:var(--canvas);box-shadow:none}.source-copy{position:absolute;z-index:3;top:8px;right:88px;opacity:0;transition:opacity .15s ease}.source-viewer:hover .source-copy,.source-copy:focus-visible{opacity:1}.source-lines{min-width:0;min-height:0;overflow:auto;padding:7px 0 40px;color:var(--text);background:var(--canvas);font:10px/1.65 DM Mono,monospace;-moz-tab-size:2;tab-size:2}.source-line{min-width:max-content;display:grid;grid-template-columns:52px minmax(0,1fr);padding-right:28px}.source-line:hover{background:var(--surface-soft)}.source-line-number{padding-right:15px;color:color-mix(in srgb,var(--muted) 60%,transparent);text-align:right;-webkit-user-select:none;user-select:none}.source-line code{color:color-mix(in srgb,var(--text) 90%,var(--muted));white-space:pre}.source-minimap{min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:2px;padding:7px 5px;border-left:1px solid color-mix(in srgb,var(--line) 55%,transparent);opacity:.58}.source-minimap i{display:block;height:2px;max-width:100%;background:color-mix(in srgb,var(--muted) 38%,transparent)}.vscode-statusbar{min-width:0;display:flex;justify-content:space-between;align-items:center;overflow:hidden;color:var(--canvas);background:var(--text);font:7px DM Mono,monospace}.vscode-statusbar>div{display:flex;align-items:center;height:100%}.vscode-statusbar button,.vscode-statusbar span{height:100%;display:flex;align-items:center;padding:0 7px;border:0;color:inherit;background:transparent;white-space:nowrap;font:inherit}.vscode-statusbar button:hover,.vscode-statusbar span:hover{background:color-mix(in srgb,var(--canvas) 12%,transparent)}.vscode-statusbar .remote-status{padding-inline:12px;color:var(--text);background:var(--canvas)}.lesson-pane{grid-template-rows:35px 47px 34px minmax(0,1fr) 31px}.lesson-selector{min-width:0;display:grid;gap:3px;padding:5px 9px;border-bottom:1px solid var(--line);background:var(--panel)}.lesson-selector label{color:var(--muted);font:7px DM Mono,monospace}.lesson-selector select{min-width:0;height:24px;padding:0 25px 0 7px;border:1px solid var(--line);border-radius:3px;outline:0;color:var(--text);background:var(--canvas);font:9px Noto Sans SC,sans-serif}.lesson-selector select:focus{border-color:color-mix(in srgb,var(--text) 42%,var(--line))}.lesson-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-bottom:1px solid var(--line);background:var(--panel-strong)}.lesson-tabs button{min-width:0;padding:0 2px;border:0;border-bottom:2px solid transparent;color:var(--muted);background:transparent;font:8px Noto Sans SC,sans-serif}.lesson-tabs button:hover{color:var(--text)}.lesson-tabs button.active{border-bottom-color:var(--text);color:var(--text);background:var(--surface-soft)}.lesson-pane-scroll{padding:16px 15px 30px}.lesson-pane h2{margin-bottom:15px;font-size:20px}.lesson-pane section{padding-top:15px}.lesson-analogy,.lesson-scenario{margin-top:12px;padding:13px!important;border:1px solid var(--line);background:var(--surface-soft)}.lesson-scenario dl,.lesson-troubleshooting dl{display:grid;gap:9px;margin:0}.lesson-scenario dl>div,.lesson-troubleshooting dl>div{display:grid;grid-template-columns:53px minmax(0,1fr);gap:8px}.lesson-pane dt{color:var(--muted);font:7px DM Mono,monospace}.lesson-pane dd{margin:0;color:var(--text);font-size:9px;line-height:1.65}.lesson-steps>ol{gap:14px}.lesson-steps li{padding:0 0 14px 25px;border-bottom:1px solid var(--line)}.lesson-steps li small{display:block;margin-top:7px;padding:7px 8px;color:var(--muted);background:var(--surface-soft);font-size:8px;line-height:1.55}.lesson-code-walkthrough{display:grid;gap:9px}.lesson-code-walkthrough>h3{margin-bottom:0}.lesson-code-walkthrough article{overflow:hidden;border:1px solid var(--line);background:var(--canvas)}.lesson-code-walkthrough article header{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:6px;align-items:center;padding:7px 9px;border-bottom:1px solid var(--line)}.lesson-code-walkthrough article header span,.lesson-code-walkthrough article code{color:var(--muted);font:7px DM Mono,monospace}.lesson-code-walkthrough article header b{overflow:hidden;text-overflow:ellipsis;color:var(--text);font:8px DM Mono,monospace}.lesson-code-walkthrough article p{padding:10px;font-size:9px}.lesson-troubleshooting{display:grid;gap:10px}.lesson-troubleshooting>h3{margin-bottom:0}.lesson-troubleshooting article{padding:11px;border:1px solid var(--line);background:var(--surface-soft)}.lesson-troubleshooting article>span{display:block;margin-bottom:9px;color:var(--muted);font:7px DM Mono,monospace}.lesson-troubleshooting dl>div{grid-template-columns:34px minmax(0,1fr);padding-top:7px;border-top:1px solid var(--line)}.lesson-checklist ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.lesson-checklist li{position:relative;padding-left:19px;color:var(--muted);font-size:9px;line-height:1.55}.lesson-checklist li:before{content:"✓";position:absolute;left:0;color:var(--text)}.lesson-sources{display:grid;gap:5px}.lesson-sources a{display:flex;gap:7px;padding:8px;border:1px solid var(--line);color:var(--text);background:var(--surface-soft);font-size:8px;text-decoration:none}.lesson-sources a span{color:var(--muted)}.lesson-pane>footer{display:grid;grid-template-columns:1fr auto 1fr;gap:5px;padding:0 6px}.lesson-pane>footer button:last-child{justify-self:end}.lesson-pane>footer span{color:var(--muted);font:7px DM Mono,monospace}:root[data-theme=light] .vscode-statusbar{color:#f7f6f2;background:#202020}:root[data-theme=light] .vscode-statusbar .remote-status{color:#202020;background:#f7f6f2}:root[data-theme=light] .source-line code{color:#242424}:root[data-theme=light] .file-mark,:root[data-theme=light] .tab-language{color:#3f3f3d}.mac-button{min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:7px;color:var(--text);background:var(--surface-soft);white-space:nowrap;transition:background-color .16s ease,border-color .16s ease,transform .1s ease,opacity .16s ease}.mac-button:hover{border-color:color-mix(in srgb,var(--text) 24%,var(--line));background:var(--mac-highlight)}.mac-button:active{transform:scale(.98)}.mac-button:focus-visible,.mac-menu-trigger:focus-visible,.mac-menu-popover button:focus-visible,.explorer-tree-row:focus-visible,.vscode-activitybar button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.mac-button-compact{height:26px;padding:0 9px;font-size:9px}.mac-button-regular{height:32px;padding:0 12px;font-size:10px}.mac-button-plain{border-color:transparent;background:transparent}.mac-button-primary{color:var(--canvas);background:var(--text)}.mac-button-primary:hover{color:var(--canvas);background:color-mix(in srgb,var(--text) 88%,var(--muted))}.mac-button-icon{width:26px;padding:0}.mac-button-glyph{width:14px;height:14px;display:grid;place-items:center}.mac-button-glyph svg{width:100%;height:100%}.mac-button:disabled{opacity:.34;pointer-events:none}.showcase-workspace{grid-template-columns:48px 286px minmax(0,1fr) 390px}.vscode-activitybar button{transition:color .14s ease,background-color .14s ease,transform .1s ease}.vscode-activitybar button:active{transform:scale(.94)}.vscode-activitybar button svg{width:23px;height:23px}.vscode-activitybar button.active{background:color-mix(in srgb,var(--text) 4%,transparent)}.activitybar-bottom button svg{width:21px;height:21px}.explorer-pane{position:relative;grid-template-rows:35px 28px minmax(0,1fr) 24px 24px 27px;overflow:hidden}.explorer-actions{position:relative}.explorer-actions .mac-button{width:24px;height:24px;padding:0}.explorer-actions .mac-button-glyph{width:13px;height:13px}.explorer-more-menu{position:absolute;z-index:12;top:27px;right:0;width:168px;overflow:hidden;padding:5px;border:1px solid var(--line);border-radius:9px;background:var(--mac-popover);box-shadow:0 18px 45px var(--shadow);-webkit-backdrop-filter:blur(22px) saturate(145%);backdrop-filter:blur(22px) saturate(145%);transform-origin:top right;animation:mac-popover-in .16s cubic-bezier(.2,.8,.2,1)}.explorer-more-menu button{width:100%;height:28px;padding:0 8px;border:0;border-radius:5px;color:var(--text);background:transparent;text-align:left;font-size:9px}.explorer-more-menu button:hover{background:var(--mac-highlight)}.explorer-project{min-width:0;gap:4px;padding:0 8px 0 5px}.explorer-project svg{width:13px;height:13px;flex:0 0 auto;color:var(--muted);transition:transform .14s ease}.project-chevron.open{transform:rotate(90deg)}.explorer-project strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650;letter-spacing:.02em}.explorer-pane nav{overflow:auto;scrollbar-gutter:stable}.explorer-pane nav .explorer-tree-row{height:22px;grid-template-columns:13px 16px minmax(0,1fr) auto;gap:2px;padding:0 6px 0 calc(4px + var(--tree-depth) * 12px);color:var(--muted)}.explorer-pane nav .folder-row{grid-template-columns:13px 16px minmax(0,1fr)}.explorer-pane nav .explorer-tree-row:hover{background:color-mix(in srgb,var(--text) 5%,transparent)}.explorer-pane nav .explorer-tree-row.active{color:var(--text);background:color-mix(in srgb,var(--text) 9%,transparent)}.tree-chevron,.tree-type-icon{width:13px;height:13px;flex:0 0 auto;color:color-mix(in srgb,var(--muted) 82%,transparent)}.tree-chevron{transition:transform .14s ease}.tree-chevron.open{transform:rotate(90deg)}.tree-chevron-spacer{width:13px;height:13px}.explorer-pane nav .file-mark{width:16px;height:16px;display:grid;place-items:center;color:color-mix(in srgb,var(--text) 78%,var(--muted));font:650 7px/1 DM Mono,monospace;letter-spacing:-.08em}.tree-node-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;font:400 9px/1.2 DM Mono,monospace}.folder-row .tree-node-label{color:color-mix(in srgb,var(--text) 82%,var(--muted));font-weight:550}.explorer-pane nav .explorer-tree-row em{margin-left:4px;color:color-mix(in srgb,var(--muted) 82%,transparent);font:650 6px DM Mono,monospace}.explorer-outline{width:100%;display:flex;align-items:center;gap:5px;padding:0 7px;border:0;border-top:1px solid var(--line);color:var(--text);background:var(--panel);text-align:left}.explorer-outline:hover{background:var(--surface-soft)}.explorer-outline svg{width:12px;height:12px}.explorer-outline b{font:650 8px DM Mono,monospace;letter-spacing:.04em}.explorer-pane footer{min-width:0;overflow:hidden;padding:7px 9px;text-overflow:ellipsis;white-space:nowrap}.activity-side-pane{grid-template-rows:35px minmax(0,1fr) 27px}.activity-side-pane>header .mac-button{width:25px;height:25px;padding:0}.activity-panel{min-width:0;min-height:0;overflow:auto;padding:16px 12px}.activity-panel-heading{padding:2px 2px 17px;border-bottom:1px solid var(--line)}.activity-panel-heading>span{color:var(--muted);font:7px DM Mono,monospace;letter-spacing:.12em}.activity-panel-heading h2{margin:7px 0 6px;color:var(--text);font:600 15px/1.3 Noto Sans SC,sans-serif;letter-spacing:-.015em}.activity-panel-heading p{margin:0;color:var(--muted);font-size:9px;line-height:1.7}.activity-search{height:28px;display:grid;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:5px;margin:13px 0;padding:0 7px;border:1px solid color-mix(in srgb,var(--text) 18%,var(--line));border-radius:5px;background:var(--canvas)}.activity-search svg{width:14px;height:14px;color:var(--muted)}.activity-search input{min-width:0;border:0;outline:0;color:var(--text);background:transparent;font-size:9px}.activity-empty{display:grid;gap:4px;padding:24px 8px;color:var(--muted);text-align:center}.activity-empty b{color:var(--text);font-size:10px}.activity-empty span{font-size:8px}.activity-list{display:grid;margin-top:10px}.activity-list button{height:38px;display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:5px;padding:0 5px;border:0;border-bottom:1px solid var(--line);color:var(--muted);background:transparent;text-align:left}.activity-list button:hover{background:var(--surface-soft)}.activity-list button span{font:650 7px DM Mono,monospace}.activity-list button b{overflow:hidden;text-overflow:ellipsis;font:400 9px DM Mono,monospace}.activity-list button small{font-size:7px}.activity-actions{display:grid;gap:7px;padding:14px 0}.activity-actions .mac-button{width:100%}.extension-list{display:grid;gap:5px;padding-top:12px}.extension-list article{min-width:0;display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;align-items:center;padding:8px 5px;border-radius:6px}.extension-list article:hover{background:var(--surface-soft)}.extension-list article>span{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;color:var(--text);background:var(--canvas);font:650 8px DM Mono,monospace}.extension-list article div{min-width:0;display:grid;gap:3px}.extension-list b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:9px}.extension-list small{color:var(--muted);font-size:7px}.lesson-pane{position:relative;grid-template-rows:35px 56px 34px minmax(0,1fr) 44px;overflow:hidden}.lesson-selector{position:relative;z-index:8;gap:4px;padding:6px 9px;overflow:visible}.mac-menu{position:relative;min-width:0}.mac-menu-trigger{width:100%;min-width:0;height:29px;display:grid;grid-template-columns:minmax(0,1fr) 16px;align-items:center;gap:6px;padding:0 7px 0 8px;border:1px solid color-mix(in srgb,var(--text) 17%,var(--line));border-radius:7px;color:var(--text);background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 90%,white 3%),var(--surface-soft));box-shadow:inset 0 1px color-mix(in srgb,white 8%,transparent),0 1px 2px color-mix(in srgb,var(--shadow) 55%,transparent);text-align:left;transition:border-color .14s ease,transform .1s ease}.mac-menu-trigger:active{transform:scale(.995)}.mac-menu-value{min-width:0;display:grid;grid-template-columns:24px minmax(0,1fr);gap:5px;align-items:center}.mac-menu-value b{color:var(--muted);font:600 8px DM Mono,monospace}.mac-menu-value>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.mac-menu-arrows{width:14px;display:grid;justify-items:center}.mac-menu-arrows svg{width:8px;height:8px;color:var(--muted)}.mac-menu-arrows svg:first-child{transform:rotate(-90deg);margin-bottom:-2px}.mac-menu-arrows svg:last-child{transform:rotate(90deg);margin-top:-2px}.mac-menu-popover{position:absolute;z-index:30;top:calc(100% + 5px);right:0;width:min(356px,calc(100vw - 24px));overflow:hidden;padding:5px;border:1px solid color-mix(in srgb,var(--text) 14%,var(--line));border-radius:11px;background:var(--mac-popover);box-shadow:0 22px 70px var(--shadow),inset 0 1px color-mix(in srgb,white 10%,transparent);-webkit-backdrop-filter:blur(24px) saturate(150%);backdrop-filter:blur(24px) saturate(150%);transform-origin:top right;animation:mac-popover-in .18s cubic-bezier(.2,.8,.2,1)}.mac-menu-scroll{max-height:min(430px,62vh);overflow:auto;padding:1px}.mac-menu-popover button{width:100%;min-width:0;height:30px;display:grid;grid-template-columns:17px minmax(0,1fr) auto;align-items:center;gap:5px;padding:0 7px 0 4px;border:0;border-radius:6px;color:var(--text);background:transparent;text-align:left}.mac-menu-popover button:hover,.mac-menu-popover button.selected{background:var(--mac-highlight)}.mac-menu-check{width:15px;height:15px;display:grid;place-items:center}.mac-menu-check svg{width:12px;height:12px}.mac-menu-option-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.mac-menu-popover small{color:var(--muted);font:7px DM Mono,monospace}@keyframes mac-popover-in{0%{opacity:0;transform:translateY(-4px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.lesson-pane>footer{grid-template-columns:92px minmax(64px,1fr) 92px;gap:8px;padding:7px 8px}.lesson-pane>footer .lesson-nav-button{width:92px;height:29px;justify-self:start}.lesson-pane>footer .lesson-nav-button:last-child{justify-self:end;flex-direction:row-reverse}.lesson-progress{min-width:0;display:grid;grid-template-columns:minmax(24px,1fr) auto;align-items:center;gap:6px}.lesson-progress>span{height:3px;overflow:hidden;border-radius:99px;background:color-mix(in srgb,var(--text) 12%,transparent)}.lesson-progress i{display:block;height:100%;border-radius:inherit;background:var(--text)}.lesson-progress b{color:var(--muted);font:7px DM Mono,monospace}@media(max-width:1100px){.atlas-body{grid-template-columns:270px minmax(0,1fr)}.course-sidebar{padding-inline:10px}.app-chrome{grid-template-columns:90px minmax(170px,1fr) 120px auto 60px}.chrome-progress>span,.chrome-progress div{display:none}.chrome-progress{grid-template-columns:auto}.chapter-article,.reader-topline{padding-inline:35px}.chapter-hero{grid-template-columns:minmax(0,1fr) 250px;gap:30px}.decision-lab{grid-template-columns:1fr 1.4fr;margin-inline:28px}.decision-result{grid-column:1/-1}.showcase-workspace{grid-template-columns:44px 248px minmax(0,1fr) 340px}.vscode-activitybar button{width:43px}.app-chrome-showcase{grid-template-columns:minmax(310px,1fr) minmax(220px,440px) auto 96px}.app-chrome-showcase .traffic-lights{display:none}.vscode-title-left{padding-left:7px}.vscode-menu button{padding-inline:5px}.window-controls{grid-template-columns:repeat(3,32px)}}@media(max-width:820px){.atlas-app{grid-template-rows:48px minmax(0,1fr)}.app-chrome{grid-template-columns:38px minmax(0,1fr) auto auto;gap:7px;padding:0 10px}.traffic-lights,.chrome-location,.chrome-progress,.app-title>span:last-child,.theme-toggle b{display:none}.mobile-menu{display:grid;place-items:center;width:29px;height:29px;border:1px solid rgba(255,255,255,.09);border-radius:8px;color:#cbd2df;background:#ffffff0a}.chrome-progress{grid-template-columns:auto}.chrome-progress b{color:var(--accent)}.atlas-body{display:block}.course-sidebar{position:absolute;inset:0 auto 0 0;width:min(88vw,320px);transform:translate(-102%);transition:transform .28s cubic-bezier(.2,.8,.2,1);box-shadow:30px 0 80px #00000080}.course-sidebar.is-open{transform:translate(0)}.nav-scrim{position:absolute;z-index:15;top:0;right:0;bottom:0;left:0;width:100%;border:0;background:#00000085;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.reader-scroll{width:100%;height:100%}.reader-topline{padding:14px 18px 0}.chapter-article{padding:10px 18px 56px}.chapter-hero{display:block;min-height:0;padding:35px 0}.chapter-intro h1{font-size:clamp(34px,10vw,48px)}.chapter-intro>p{font-size:14px}.chapter-outline,.frame-lab{margin-top:28px}.reading-column{padding-top:30px}.concept-callout{grid-template-columns:1fr;gap:8px;padding:18px}.lesson-section{grid-template-columns:34px 1fr;padding-bottom:34px}.lesson-section h2{font-size:19px}.lesson-section p{font-size:13px;text-align:left}.source-card>div,.chapter-pagination{grid-template-columns:1fr}.decision-lab{display:block;margin:15px 14px 0;padding:20px}.decision-controls{margin:20px 0}.decision-result{margin-top:15px}.mode-showcase>.course-sidebar{width:min(88vw,320px)}.showcase-workspace{display:grid;grid-template-columns:1fr;grid-template-rows:38px minmax(0,1fr)}.showcase-mobile-tabs{display:grid;grid-template-columns:repeat(3,1fr);padding:4px;border-bottom:1px solid var(--line);background:var(--panel)}.showcase-mobile-tabs button{border:0;border-radius:5px;color:var(--muted);background:transparent;font-size:9px}.showcase-mobile-tabs button.active{color:var(--text);background:var(--accent-soft)}.showcase-column,.showcase-center{display:none;grid-column:1;grid-row:2}.showcase-column.mobile-active{display:block}.showcase-center.mobile-active{display:grid}.files-column,.lesson-column{border:0}.vscode-activitybar{display:none}.workspace-showcase .app-chrome-showcase{grid-template-columns:34px minmax(0,1fr) auto;gap:6px;padding:0 8px}.app-chrome-showcase .vscode-title-left,.app-chrome-showcase .window-controls{display:none}.app-chrome-showcase .vscode-command-center{grid-column:2}.app-chrome-showcase .chrome-tools{grid-column:3}.app-chrome-showcase .mode-switcher button{padding-inline:6px}.app-chrome-showcase .theme-toggle b{display:none}.editor-view-preview .editor-canvas{padding:12px}.lab-visual{min-height:280px}.vscode-statusbar>div:last-child span:nth-child(-n+4){display:none}}@media(max-width:480px){.app-title strong{font-size:10px}.chapter-article,.reader-topline{padding-inline:14px}.lesson-section{grid-template-columns:1fr;gap:5px}.section-number{padding:0}.code-window pre{padding:17px;font-size:10px}.decision-controls{grid-template-columns:1fr}.scenario-card>div{grid-template-columns:1fr}.scenario-card p+p{border-left:0;border-top:1px solid var(--line)}.step-course li{grid-template-columns:30px 1fr;padding:15px}.walkthrough-card article{grid-template-columns:1fr;gap:8px}.editor-tabs>button{min-width:86px}.editor-tab-actions{display:none}.editor-breadcrumbs{padding-inline:8px}.editor-view-preview .editor-canvas{padding:8px}.experiment-stage{border-radius:5px}.lab-visual{min-height:230px}.lab-controls{grid-template-columns:auto auto 1fr}.lab-controls output{grid-column:1/-1;text-align:right}.lesson-pane-scroll{padding-inline:12px}.lesson-tabs button{font-size:7px}.lesson-pane>footer{grid-template-columns:86px minmax(48px,1fr) 86px;gap:5px;padding-inline:5px}.lesson-nav-button{width:86px}.mac-menu-popover{width:calc(100vw - 20px);right:-1px}.source-minimap{display:none}.source-viewer{grid-template-columns:minmax(0,1fr)}.source-copy{right:9px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.workspace-transition-leaving .app-chrome,.workspace-transition-leaving .atlas-body,.workspace-transition-entering .app-chrome,.workspace-transition-entering .atlas-body{opacity:1;transform:none;filter:none}.mac-menu-popover,.explorer-more-menu{animation-name:none;transform:none}}@media(prefers-reduced-transparency:reduce){.app-chrome{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--chrome)}.course-sidebar{-webkit-backdrop-filter:none;backdrop-filter:none}}
