@font-face{font-family:Geist;src:url('./vendor/geist-regular.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Geist;src:url('./vendor/geist-semibold.woff2') format('woff2');font-weight:600 800;font-display:swap}@font-face{font-family:GeistMono;src:url('./vendor/geist-mono.woff2') format('woff2');font-display:swap}
:root{color-scheme:dark;--bg:#101310;--card:#171c18;--raised:#202720;--ink:#f0f3ed;--muted:#a0aca0;--line:#303a30;--green:#c3f38d;--soft:#252f23;--accent:#c3f38d;--serif:Geist,sans-serif;--shadow:0 20px 70px #0003}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Geist,-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0}button:disabled{cursor:default;opacity:.4}a{color:inherit;text-decoration:none}a,button{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600;letter-spacing:-.03em;line-height:1.4}svg{display:block}.icon{width:20px;height:20px;display:inline-block;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:var(--accent);color:#172112;padding:14px}.skip-link:focus{top:15px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sidebar{width:216px;position:fixed;inset:0 auto 0 0;background:#131713;border-right:1px solid #2a322a;padding:30px 16px 22px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:10px;align-items:center;padding:0 8px;font-size:23px;font-weight:600;letter-spacing:2px}.brand-symbol{width:36px;height:42px;display:grid;place-items:center;color:var(--accent)}.brand-symbol .icon{width:36px;height:36px;stroke-width:1.1}.brand small{display:block;font-size:9px;font-weight:400;letter-spacing:1px;color:#a1afa0;margin-top:1px}.workspace-label{font:9px GeistMono,monospace;color:#8c998a;display:flex;justify-content:space-between;letter-spacing:1px;margin:42px 12px 18px}.workspace-label span{color:#62745d}.nav-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:7px;font-size:13px;background:none;text-align:left;color:#a4b0a0;margin-bottom:5px;transition:background .18s,color .18s}.nav-item:hover{background:#232c22;color:#eaf3e4}.nav-item.active{background:#283423;color:var(--accent)}.nav-item .icon{width:18px;height:18px}.nav-count{margin-left:auto;font-size:10px}.sidebar-bottom{margin-top:auto}.sidebar-note{display:block;padding:21px 15px;background:linear-gradient(140deg,#252f22,#161d16);border:1px solid #34402e;border-radius:9px;margin:30px 6px 18px}.sidebar-note>.icon{color:#aecb96;width:25px;height:25px}.sidebar-note p{font-size:13px;line-height:1.9;margin:12px 0 18px;color:#bdc9b5}.sidebar-note small{font:8px GeistMono,monospace;letter-spacing:.6px;color:#a8bd99}.settings-button{font-size:12px}.local-label{display:flex;align-items:center;justify-content:center;gap:6px;color:#8d9b87;font-size:10px;padding-top:10px}.local-label i,.status-light{width:5px;height:5px;background:var(--accent);border-radius:50%;display:inline-block}.shell{margin-left:216px;min-height:100vh}.topbar{height:74px;padding:0 40px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #2b342a;background:#111611f2;position:sticky;top:0;z-index:15;backdrop-filter:blur(16px)}.breadcrumb{display:flex;align-items:center;gap:13px;font-size:12px;white-space:nowrap}.breadcrumb>span:first-child{color:#93a08e}.crumb-slash{color:#60715b}.breadcrumb strong{font-weight:400;color:#d9e1d3}.top-actions{display:flex;align-items:center;gap:15px}.search-button{display:flex;align-items:center;gap:10px;background:#1a2119;color:#a6b49f;font-size:11px;padding:8px 11px;border:1px solid #303b2c;border-radius:6px}.search-button .icon{width:15px;height:15px}.search-button kbd{font:10px GeistMono,monospace;padding:0 5px;border:1px solid #46523e;border-radius:3px;margin-left:35px}.goal-pill{background:none;color:#b2c2a9;font-size:11px;display:flex;gap:7px;align-items:center}.goal-pill .icon{width:15px;height:15px}.avatar{width:30px;height:30px;background:#2b3926;border:1px solid #4b5d40;border-radius:50%;font-size:11px;color:#cee4b9}.mobile-search{display:none}main{max-width:1590px;margin:0 auto;padding:32px 40px 64px;min-height:calc(100vh - 140px)}.eyebrow{font:10px GeistMono,monospace;letter-spacing:1.8px;color:#a3b495;line-height:1.8}.page-intro{display:flex;align-items:flex-end;justify-content:space-between;margin:9px 0 34px;gap:16px}.page-intro h1{font-size:36px;margin-top:12px}.page-intro p{font-size:14px;color:var(--muted);margin-top:13px;line-height:1.9;max-width:780px}.date-label{font-size:11px;color:var(--muted)}.button{border-radius:6px;padding:11px 17px;background:var(--accent);color:#1a2715;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:12px;font-weight:600;line-height:1.7;border:1px solid transparent;transition:background .18s,transform .18s}.button:hover{background:#d4ffa8;transform:translateY(-1px)}.button .icon{width:16px;height:16px}.button.secondary,.button.outline{background:#232d20;color:#d6e4ca;border-color:#425039;font-weight:400}.button.secondary:hover,.button.outline:hover{background:#303d29}.button.outline{background:#11181099}.button.ghost{background:none;color:#bfd5aa;padding:8px 0}.button.danger{background:#49312b;color:#ffd2c3}.text-link{background:none;color:#c3d2b6;font-size:12px;display:inline-flex;align-items:center;gap:7px;padding:0;line-height:1.8}.text-link .icon{width:15px;height:15px}.text-link:hover{color:var(--accent)}.icon-button{display:inline-grid;place-items:center;min-width:34px;min-height:34px;background:#222b20;border:1px solid #3b4734;border-radius:5px}.icon-button .icon{width:16px;height:16px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:54px 0 24px}.section-heading h2{font-size:26px;margin-top:8px}.section-heading h2 small{font-size:12px;font-weight:400;color:var(--muted)}.footer{display:flex;justify-content:space-between;padding:24px 40px;border-top:1px solid #2a3428;color:#92a087;font:10px GeistMono,monospace;gap:15px;max-width:1590px;margin:0 auto}
.lab-hero{position:relative;min-height:480px;overflow:hidden;border:1px solid #3d4935;border-radius:13px;background:#111810;display:flex;align-items:center}.hero-photo{position:absolute;width:100%;height:100%;object-fit:cover;object-position:70% center;inset:0}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#10170df5 0%,#10170de8 29%,#10170d66 59%,#10170d00 82%)}.hero-content{position:relative;padding:42px 36px;max-width:650px;z-index:1}.hero-content .eyebrow{font-size:9px;letter-spacing:1.2px;color:#d0dfbd;display:flex;align-items:center;gap:8px}.hero-content h1{font-size:clamp(32px,3.4vw,54px);line-height:1.5;letter-spacing:-.045em;margin:26px 0 20px;font-weight:600;text-shadow:0 2px 20px #10170d66}.hero-content h1>span{color:var(--accent)}.hero-content>p{font-size:14px;line-height:2;color:#b5c3ab}.hero-actions{display:flex;gap:12px;margin-top:29px;flex-wrap:wrap}.hero-tags{display:flex;gap:20px;margin-top:31px;color:#c1cfb5;font-size:10px}.hero-tags span+span{border-left:1px solid #627156;padding-left:20px}.hero-coordinate{position:absolute;bottom:25px;right:25px;font:8px GeistMono,monospace;letter-spacing:1px;line-height:2;color:#b7c8a8;text-align:right}.hero-coordinate span{font:10px Geist,sans-serif;letter-spacing:.5px}.journey-strip{display:flex;align-items:center;gap:30px;padding:28px 0;border-bottom:1px solid var(--line)}.journey-strip h2{font-size:19px;margin-top:7px}.journey-strip p{font-size:12px;line-height:1.9;color:var(--muted);margin-left:auto}.journey-strip .text-link{white-space:nowrap}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:8px;overflow:hidden;margin:27px 0 30px;background:#171f16}.stat{display:flex;gap:17px;align-items:center;padding:22px;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat>.icon{color:#a5bd91;width:21px;height:21px}.stat-label{display:block;color:#a6b59b;font-size:11px;margin-bottom:10px}.stat-value{font-size:29px;line-height:1.2;letter-spacing:-1px;font-variant-numeric:tabular-nums}.stat-value small{font:10px GeistMono,monospace;letter-spacing:0;color:#a3b197;margin-left:6px}.stat-icon{display:grid;place-items:center;color:#b9cf9f}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.course-card{border:1px solid #35412e;background:#181f16;border-radius:9px;overflow:hidden;transition:transform .22s,border-color .22s;display:flex;flex-direction:column;min-width:0}.course-card:hover{transform:translateY(-4px);border-color:#89a76b}.topic-cover{height:148px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 65% 110%,#52684388,transparent 70%),linear-gradient(130deg,#222e1e,#111b0e);border-bottom:1px solid #35412e;isolation:isolate}.topic-cover:before{content:'';position:absolute;inset:0;opacity:.2;background-image:linear-gradient(#a7bb8e2b 1px,transparent 1px),linear-gradient(90deg,#a7bb8e2b 1px,transparent 1px);background-size:27px 27px;transform:perspective(320px) rotateX(46deg) scale(1.3);transform-origin:center bottom}.topic-cover-number{position:absolute;left:18px;top:13px;font:10px GeistMono,monospace;letter-spacing:2px;color:#a6ba90}.topic-cover-icon{position:absolute;inset:0;display:grid;place-items:center;transform:translateY(-5px)}.topic-cover-icon .icon{width:66px;height:66px;stroke-width:.8;color:#c5dcb1;filter:drop-shadow(3px 7px 4px #0008)}.topic-cover-label{position:absolute;bottom:16px;left:18px;font:8px GeistMono,monospace;letter-spacing:1.2px;color:#adbf9b}.cover-caption{position:absolute;bottom:14px;right:16px;font-size:9px;color:#9bb287}.cover-programming,.cover-backend,.cover-devops{background:radial-gradient(ellipse at 65% 110%,#3a5f6388,transparent 70%),linear-gradient(130deg,#1b2d2b,#111b19)}.cover-network,.cover-cloud,.cover-architecture{background:radial-gradient(ellipse at 65% 110%,#526b8188,transparent 70%),linear-gradient(130deg,#1f2935,#11191f)}.cover-ai{background:radial-gradient(ellipse at 65% 110%,#5d4d7388,transparent 70%),linear-gradient(130deg,#292232,#18131f)}.course-body{padding:20px;display:flex;flex-direction:column;flex:1}.course-eyebrow{display:flex;justify-content:space-between;gap:10px;color:#a7b89a;font:8px GeistMono,monospace;letter-spacing:.7px}.course-eyebrow span:last-child{font:10px Geist,sans-serif;letter-spacing:0}.course-body h3{font-size:20px;margin:12px 0 11px}.course-body>p{font-size:12px;line-height:1.85;color:#a8b59e;flex:1}.course-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:23px;padding-bottom:17px;font-size:11px;color:#c4d8b2}.arrow-circle{width:26px;height:26px;border:1px solid #4b5d3e;border-radius:50%;display:grid;place-items:center}.arrow-circle .icon{width:13px;height:13px}.progress-bar{height:2px;background:#35412d;overflow:hidden}.progress-bar i{height:100%;display:block;background:var(--accent);transition:width .3s}.all-topics{display:flex;justify-content:center;align-items:center;gap:12px;padding:19px;font-size:12px;color:#b3c3a4;border:1px solid #35412e;border-radius:7px;margin-top:20px}.all-topics:hover{background:#202b1c}.all-topics .icon{width:15px;height:15px}.featured-lab{display:grid;grid-template-columns:1fr 1.3fr;gap:40px;border:1px solid #3c4a33;border-radius:10px;background:#1b2518;padding:36px;margin-top:55px;align-items:center}.featured-lab h2{font-size:30px;line-height:1.6;margin:12px 0}.featured-lab p{font-size:12px;line-height:1.95;color:#b0c1a2;max-width:380px;margin-bottom:24px}.featured-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;position:relative}.featured-flow>div{padding:12px 8px 18px;border:1px solid #4a5b3e;border-radius:6px;background:linear-gradient(145deg,#303c28,#172113);position:relative}.featured-flow>div+div:before{content:'';position:absolute;left:-14px;top:52%;width:13px;height:1px;background:#afcc91}.featured-flow span{font:8px GeistMono,monospace;color:#9eb389}.featured-flow .icon{display:block;width:35px;height:35px;stroke-width:1.1;color:#d1e8bc;margin:22px auto}.featured-flow strong{font-size:10px;font-weight:400;display:block;text-align:center}.reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden}.reference-grid>a{padding:24px;position:relative;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#161d14}.reference-grid>a:nth-child(3n){border-right:0}.reference-grid>a:nth-last-child(-n+3){border-bottom:0}.reference-grid>a:hover{background:#202b1b}.reference-grid span{font-size:10px;color:#a7bd95;display:block;margin-bottom:10px}.reference-grid strong{font-size:16px;font-weight:400}.reference-grid p{font-size:11px;line-height:1.9;color:#a3b298;max-width:90%;margin-top:10px}.reference-grid .icon{position:absolute;right:18px;top:23px;width:14px;height:14px;color:#b8cf9f}
.stack-map{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid #415035;border-radius:9px;overflow:hidden;margin:24px 0 34px}.stack-map>a{padding:19px 14px;background:#1c2618;border-bottom:1px solid #37452d;border-right:1px solid #37452d;position:relative;min-width:0}.stack-map>a:nth-child(6n){border-right:0}.stack-map>a:nth-last-child(-n+6){border-bottom:0}.stack-map>a:hover{background:#2c3c24}.stack-map span{font:9px GeistMono,monospace;color:#a0b58c}.stack-map .icon{display:block;width:25px;height:25px;margin:13px 0 12px;color:#d1e1bf;stroke-width:1.2}.stack-map strong{font-size:12px;display:block}.stack-map small{font-size:10px;color:#a5b796;display:block;margin-top:5px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0}.filter{padding:8px 15px;border:1px solid #3d4b34;background:#1d2719;color:#b2c4a2;border-radius:5px;font-size:11px}.filter.active{background:var(--accent);color:#192713;border-color:var(--accent)}.notice{font-size:12px;line-height:1.9;color:#a8b99b;background:#1c2718;border:1px solid #3f4f34;border-radius:7px;padding:18px 21px;margin:24px 0}.back-link{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#adc19b;margin-bottom:22px}.back-link .icon{width:15px;height:15px}.chapter-hero{display:grid;grid-template-columns:1fr 290px;gap:35px;padding:30px 0 38px;align-items:center}.chapter-hero h1{font-size:42px;margin:13px 0}.chapter-hero p{font-size:15px;color:#acbd9e;line-height:1.9}.chapter-facts{display:flex;gap:20px;margin:24px 0;color:#a9bd98;font-size:11px;flex-wrap:wrap}.chapter-facts span{display:flex;align-items:center;gap:7px}.chapter-facts .icon{width:15px;height:15px}.chapter-hero .topic-cover{height:240px;border:1px solid #46583a;border-radius:10px}.chapter-hero .topic-cover-icon .icon{width:100px;height:100px}.continuity{display:flex;gap:20px;align-items:center;background:#202d1a;border:1px solid #405434;border-radius:7px;padding:17px 23px;font-size:12px;color:#b2c6a0}.continuity strong{color:#e0f3cd;font-weight:400}.continuity>.icon{width:15px;height:15px;color:#819b6d}.chapter-intro{padding:35px 0;max-width:850px}.chapter-intro h2{font-size:22px;margin-bottom:13px}.chapter-intro p{font-size:14px;line-height:2;color:#afc09f}.lesson-list{border-top:1px solid #3c4b31}.lesson-row{display:flex;align-items:center;gap:25px;padding:26px 16px;border-bottom:1px solid #3c4b31;background:#151e12;text-align:left;width:100%;transition:background .18s}.lesson-row:hover{background:#23311c}.lesson-number{font:25px GeistMono,monospace;color:#abc493;flex-shrink:0;width:45px}.lesson-row .eyebrow{font-size:8px;letter-spacing:1px}.lesson-row h3{font-size:18px;margin:5px 0 9px}.lesson-row p{font-size:12px;color:#a2b593;line-height:1.8}.lesson-row-meta{margin-left:auto;display:flex;gap:17px;align-items:center;color:#b5cfa1;font-size:10px;white-space:nowrap}.lesson-row-meta .icon{width:17px;height:17px}.chapter-end{padding:32px;background:#1e2a18;border:1px solid #405431;border-radius:9px;margin-top:30px}.chapter-end h2{font-size:22px;margin-bottom:13px}.chapter-end p{font-size:13px;line-height:1.9;max-width:800px;color:#b0c69e;margin-bottom:22px}
.reader-mode main{padding-top:25px}.reader-top{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;color:#a5b99a}.reader-top .back-link{margin:0}.reader-top>span{display:flex;align-items:center;gap:12px}.reader-top i:not(.icon){width:3px;height:3px;background:#96b082;border-radius:50%}.reader-title{padding:36px 0 26px}.reader-title h1{font-size:38px;margin:12px 0 16px}.reader-title>p{font-size:18px;color:#b8cfa9;line-height:1.9}.lesson-bridge{display:flex;gap:13px;padding:17px 20px;background:#202c1b;border:1px solid #3a4e2e;border-radius:6px;align-items:flex-start;margin-bottom:30px;color:#b1c79f}.lesson-bridge .icon{width:18px;height:18px;margin-top:3px}.lesson-bridge p{font-size:12px;line-height:1.95}.reader-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(370px,1fr);gap:40px;align-items:start}.reader-main{min-width:0}.reader-lab{position:sticky;top:100px;min-width:0}.objectives{padding-bottom:26px;border-bottom:1px solid #3b4c30}.objectives ul{list-style:none;padding:0;margin:14px 0 0}.objectives li{display:flex;align-items:flex-start;gap:9px;font-size:12px;color:#b5c9a6;line-height:1.85;margin:9px 0}.objectives .icon{width:14px;height:14px;color:#b5e18c;margin-top:3px}.article-section,.code-section{margin:35px 0;scroll-margin-top:100px}.article-section-heading{display:flex;gap:12px;align-items:center;margin-bottom:18px}.section-index{font:10px GeistMono,monospace;color:#b4d299;padding:4px;border:1px solid #465b37;border-radius:3px}.article-section-heading h2{font-size:20px}.article-section>p{font-size:14px;line-height:2.1;color:#c1cfb8;margin-top:15px;overflow-wrap:anywhere}.inline-flow{display:flex;align-items:center;justify-content:space-between;gap:5px;margin:25px 0;padding:17px 12px;background:#1d2918;border:1px solid #3b5130;border-radius:6px}.inline-flow>div{flex:1;min-width:0;text-align:center}.inline-flow span{display:block;color:#8faa7a;font:8px GeistMono,monospace;margin-bottom:8px}.inline-flow strong{font-size:10px;font-weight:400;color:#d4e8c3;overflow-wrap:anywhere}.inline-flow>.icon{width:12px;height:12px;color:#95b27e}.observation-note{display:flex;align-items:flex-start;gap:10px;background:#222e1d;border-left:2px solid #9ec67b;padding:17px;margin-top:25px}.observation-note>.icon{width:18px;height:18px;color:#bada9e;margin-top:4px}.observation-note p{font-size:12px;color:#b8cba8;line-height:1.95}.code-window{border:1px solid #405333;border-radius:7px;overflow:hidden;background:#11190d}.code-title{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;border-bottom:1px solid #3a4e2d;background:#202c19;gap:15px}.code-title>span{font:9px GeistMono,monospace;color:#b5cda2;letter-spacing:.4px}.code-title>button{display:flex;align-items:center;gap:7px;background:none;color:#b6cba5;font-size:10px;padding:4px}.code-title .icon{width:12px;height:12px}pre{margin:0;overflow:auto;padding:22px 18px;tab-size:2}code{font:11px/1.95 GeistMono,monospace;white-space:pre;color:#d5e9c1}.token.comment{color:#93a586}.token.keyword,.token.atrule{color:#d8c9ff}.token.string,.token.attr-value{color:#c5e7a1}.token.number,.token.boolean{color:#f0c898}.token.function,.token.class-name{color:#9fdaec}.token.operator,.token.punctuation{color:#b8c7ae}.token.tag,.token.property,.token.attr-name{color:#e4c789}.code-caption{font-size:10px;color:#99b08a;line-height:1.9;margin-top:13px}.practice-box,.quiz-box{background:#1b2815;border:1px solid #435a33;border-radius:8px;padding:24px;margin:32px 0;scroll-margin-top:100px}.practice-box>p{font-size:13px;color:#bfd1af;line-height:2;white-space:pre-wrap}.practice-box .button{margin-top:22px}.practice-evidence{display:flex;flex-direction:column;gap:7px;font-size:11px;line-height:1.9;margin-top:19px;padding-top:17px;border-top:1px solid #405831;color:#b5cfa1}.practice-evidence strong{color:#d7eac6;font-weight:400}.quiz-box{background:#182313}.quiz-box legend{font-size:13px;line-height:1.95;margin-bottom:13px;color:#d4e6c5}.quiz-box fieldset{border:0;padding:0;margin:0}.quiz-option{display:flex;align-items:flex-start;gap:9px;padding:12px 13px;border:1px solid #405632;border-radius:5px;margin:9px 0;font-size:12px;line-height:1.8;cursor:pointer;color:#b7ccaa;background:#1b2a16}.quiz-option:has(input:checked){background:#304225;border-color:#99c575}.quiz-option input{accent-color:#bfeb96;margin-top:5px}.quiz-box .button{margin-top:15px}.quiz-result{border-radius:5px;padding:15px;margin-top:15px;font-size:12px;line-height:1.95}.quiz-result.correct{background:#2b4120;color:#d0ecb5;border:1px solid #769956}.quiz-result.incorrect{background:#3e2f20;color:#f1d1ac;border:1px solid #8b6943}.source-box{font-size:11px;line-height:1.95;color:#9db98c;margin:28px 0;border-top:1px solid #405732;padding-top:20px}.source-box>a{display:flex;gap:8px;align-items:center;color:#c9e5b3;margin:9px 0}.source-box .icon{width:13px;height:13px}.source-box p{font-size:11px;color:#a1b88f}.source-box a{text-decoration:underline;text-underline-offset:4px}.note-input{width:100%;resize:vertical;min-height:140px;border:1px solid #476039;border-radius:6px;background:#182412;padding:15px;font-size:13px;line-height:1.9;color:#d5e9c7}.note-input::placeholder{color:#94aa87}.note-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:10px;color:#a0b58d;font-size:10px}.lesson-end{border-top:1px solid #3f5730;padding-top:25px;margin-top:28px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.digital-lab{border:1px solid #405135;border-radius:10px;background:#172012;overflow:hidden;box-shadow:var(--shadow)}.world-top{padding:22px 20px 17px;display:flex;justify-content:space-between;align-items:center;gap:12px}.world-top .eyebrow{font-size:8px;letter-spacing:1.2px}.world-top h2{font-size:18px;margin-top:7px}.model-tag{font-size:9px;border:1px solid #4c603e;padding:4px 7px;border-radius:4px;color:#b1c79d;white-space:nowrap}.world-viewport{height:300px;position:relative;overflow:hidden;background:#101411;border-top:1px solid #2d3a26;border-bottom:1px solid #2d3a26;touch-action:pan-y}.world-viewport canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:pan-y}.world-viewport canvas:active{cursor:grabbing}.world-loading{position:absolute;inset:0;display:grid;place-items:center;color:#a3b696;font-size:12px}.world-object-label{position:absolute;transform:translate(-50%,-50%);pointer-events:none;font-size:9px;white-space:nowrap;color:#aabd9f;padding:4px 7px;background:#111a0ee8;border:1px solid #475b37;border-radius:3px;box-shadow:0 2px 10px #0008;transition:color .2s,border-color .2s}.world-object-label.active{color:#d3f4b5;border-color:#a5ce7d}.world-controls{display:flex;align-items:center;gap:8px;padding:16px 18px}.world-controls .button{font-size:11px;padding:7px 13px;min-width:88px}.world-controls .icon-button{min-width:30px;min-height:32px}.speed-label{margin-left:auto;display:flex;gap:7px;align-items:center;color:#a4bb91;font-size:10px}.speed-label select{border:1px solid #485e38;color:#c9e0b6;background:#222f1a;border-radius:4px;font:10px GeistMono,monospace;padding:6px}.world-progress{height:2px;background:#324527}.world-progress i{display:block;background:#c0e895;height:100%}.world-steps{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #34492a}.world-steps button{background:#1b2915;border-right:1px solid #34492a;color:#a4be91;padding:13px 5px;min-width:0;font-size:9px;line-height:1.6;overflow-wrap:anywhere}.world-steps button:last-child{border:0}.world-steps button.active{background:#304324;color:#e1f5cd}.world-steps button span{display:block;font:8px GeistMono,monospace;opacity:.7;margin-bottom:5px}.world-explanation{padding:17px 20px}.world-step-label{font-size:11px;color:#d6efbf;font-weight:400}.world-step-description{font-size:11px;color:#adca9b;line-height:1.95;margin-top:10px;max-height:135px;overflow:auto}.scenario-toggle{display:flex;align-items:center;gap:8px;font-size:10px;color:#c1dbab;padding:0 20px 7px}.scenario-toggle input{accent-color:var(--accent)}.world-scenario{font-size:9px;line-height:1.9;color:#b4cda0;padding:0 20px 14px}.model-caption{font-size:9px;color:#9eb88b;line-height:1.9;background:#1e2c17;padding:13px 20px;border-top:1px solid #3a502c}.reader-toc{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;font-size:10px;color:#a3bd90;margin:18px 0}.reader-toc>span{color:#7e986c}.reader-toc a:hover{color:#d3f1b9}.fallback-world{padding:30px 25px;color:#b7d09f;font-size:12px}.fallback-world ol{line-height:2.5;margin-top:20px}
.flagship-intro{display:grid;grid-template-columns:1.2fr 1fr;border:1px solid #3f5731;border-radius:9px;background:#1d2c16;padding:30px;gap:35px}.flagship-intro h2{font-size:27px;margin-bottom:13px}.flagship-intro p{font-size:13px;color:#b5cea3;line-height:1.95}.flagship-flow{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:12px;color:#c8dfb5}.flagship-flow span{padding:10px 12px;border:1px solid #547141;border-radius:4px;background:#273a1e}.milestone-list{margin:30px 0}.milestone{display:grid;grid-template-columns:45px minmax(0,1fr) 150px;gap:25px;align-items:center;padding:25px 20px;border:1px solid #3c5430;background:#192712;border-bottom:0}.milestone:first-child{border-radius:8px 8px 0 0}.milestone:last-child{border-bottom:1px solid #3c5430;border-radius:0 0 8px 8px}.milestone-number{font:22px GeistMono,monospace;color:#b2d495}.milestone h3{font-size:18px;margin:8px 0}.milestone p{font-size:12px;color:#aac798;line-height:1.9}.milestone .eyebrow{font-size:8px}.milestone-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px}.milestone-actions>span{font:10px GeistMono,monospace;color:#b6d09e;text-align:right}.project-handbook h3{font-size:14px;margin:22px 0 13px}.project-handbook p{font-size:12px;line-height:1.95;color:#b3c9a3}.checklist{display:grid;gap:10px;margin:20px 0}.checklist label{display:flex;align-items:flex-start;gap:10px;border:1px solid #405b30;border-radius:5px;background:#1c2b15;padding:14px;font-size:12px;line-height:1.85;color:#c0d9ad}.checklist input{accent-color:var(--accent);margin-top:5px}.checklist strong{font:9px GeistMono,monospace;color:#92b776;margin-right:10px}
.panel{background:#1a2614;border:1px solid #3f5630;border-radius:8px;padding:25px}.panel h2{font-size:18px;margin-bottom:23px}.empty-state{border:1px dashed #52723f;border-radius:8px;background:#192613;text-align:center;padding:55px 25px;color:#b1cd9d}.empty-state>.icon{width:40px;height:40px;margin:0 auto 17px;stroke-width:1}.empty-state h3{font-size:22px;color:#d0e9bb;margin-bottom:15px}.empty-state p{font-size:13px;line-height:1.95;max-width:500px;margin:0 auto 24px}.activity-grid{display:grid;grid-template-columns:repeat(28,minmax(0,1fr));gap:5px;margin:17px 0}.activity-cell{aspect-ratio:1;border-radius:3px;background:#2c3d22}.activity-cell.l1{background:#465d32}.activity-cell.l2{background:#668d42}.activity-cell.l3{background:#a1ce72}.activity-labels,.activity-legend{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#a9c095;margin:12px 0}.progress-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}.progress-track{margin:22px 0}.progress-track-header{display:flex;justify-content:space-between;margin-bottom:10px;font-size:12px}.progress-track small{color:#a0bc8c}.review-item{display:block;border-bottom:1px solid #3e582e;padding:16px 0}.review-item h3{font-size:13px;margin-bottom:7px}.review-item p{font-size:11px;color:#a7c193}.note-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.note-card{border:1px solid #456237;border-radius:8px;padding:24px;background:#1b2914}.note-card .eyebrow{font-size:8px}.note-card h3{font-size:18px;margin:12px 0}.note-card p{font-size:13px;color:#b7d0a3;line-height:2;white-space:pre-wrap;overflow-wrap:anywhere}.note-card small{display:block;margin-top:19px;color:#91ad7b;font-size:10px}.tutor-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:24px}.tutor-profile{background:#203219;border:1px solid #4b6838;border-radius:9px;padding:25px;align-self:start}.tutor-mark{width:50px;height:50px;border-radius:12px;background:#bce68c;color:#23351a;font-size:35px;display:grid;place-items:center;margin-bottom:20px}.tutor-profile h2{font-size:21px;margin-bottom:14px}.tutor-profile p{font-size:12px;line-height:1.95;color:#b1ce9b}.tutor-status{display:flex;align-items:center;gap:7px;font-size:11px;margin:21px 0;color:#c8e2b0}.tutor-status i{width:5px;height:5px;border-radius:50%;background:#b9de8e}.chat-panel{background:#192513;border:1px solid #496139;border-radius:9px;padding:25px;display:flex;flex-direction:column;min-height:570px}.chat-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:18px;border-bottom:1px solid #405b2e;gap:12px}.chat-header h2{font-size:14px}.chat-header span{font-size:10px;color:#a5bf90}.chat-messages{flex:1;max-height:530px;overflow-y:auto;padding:23px 0;min-height:290px}.chat-welcome{text-align:center;padding:17px 20px}.spark-big{font-size:36px;color:#bde891}.chat-welcome h3{font-size:25px;margin:16px 0 13px}.chat-welcome p{font-size:13px;line-height:1.95;color:#b2cda0}.suggestions{display:flex;gap:9px;flex-wrap:wrap;justify-content:center;margin-top:25px}.suggestion{font-size:11px;line-height:1.8;padding:9px 12px;border:1px solid #54733f;border-radius:5px;background:#26381b;color:#c4dfa9}.chat-message{max-width:95%;margin-bottom:18px}.chat-message.user{margin-left:auto;max-width:86%}.chat-role{font-size:10px;color:#a7c18e;margin-bottom:8px}.chat-message.user .chat-role{text-align:right}.chat-bubble{font-size:13px;line-height:2;background:#283a1e;border-radius:8px;padding:17px 19px;white-space:pre-wrap;overflow-wrap:anywhere}.chat-message.user .chat-bubble{background:#354d25;color:#e2f5d1}.chat-context{display:flex;align-items:flex-start;gap:8px;font-size:10px;color:#b5cd9f;line-height:1.9;margin-bottom:12px}.chat-context input{accent-color:#bfeb91}.chat-compose{border:1px solid #5d7b46;border-radius:7px;background:#1b2a14;padding:12px;display:flex;gap:8px;align-items:flex-end}.chat-compose textarea{border:0;background:none;resize:vertical;min-height:50px;max-height:160px;flex:1;min-width:0;padding:5px;font-size:13px;line-height:1.9;color:#dbf1c9}.chat-compose textarea::placeholder{color:#a7c193}.send-button{width:36px;height:36px;border-radius:5px;background:#c2ec91;color:#25381a;display:grid;place-items:center;flex-shrink:0}.send-button .icon{width:17px;height:17px}.chat-disclaimer{font-size:10px;color:#9db887;text-align:center;line-height:1.9;margin-top:12px}
dialog{width:min(650px,calc(100vw - 36px));max-height:88vh;overflow:auto;background:#1a2714;color:#e5f1dc;border:1px solid #607c47;border-radius:12px;padding:29px;box-shadow:0 35px 100px #0009}dialog::backdrop{background:#050905c9;backdrop-filter:blur(6px)}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:19px}.modal-header h2{font-size:22px}.modal-close{background:#2b3d20;border:1px solid #4c6a37;border-radius:5px;display:grid;place-items:center;width:32px;height:32px;font-size:22px;flex-shrink:0}.modal-subtitle{color:#b3cba0;font-size:13px;line-height:1.95;margin-bottom:19px}.field{display:block;margin:18px 0;font-size:12px;color:#c9e0b7}.field>span,.field-label{display:block;margin-bottom:9px}.field input,.field select,.field textarea,.search-field{width:100%;border:1px solid #5b7943;background:#14200e;border-radius:5px;padding:11px 13px;color:#e0f0d3;min-height:42px}.field small,.form-help{display:block;font-size:10px;line-height:1.95;color:#a5bf90;margin-top:8px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.modal-actions{display:flex;gap:11px;justify-content:flex-end;flex-wrap:wrap;margin-top:24px}.settings-divider{border:0;border-top:1px solid #425e30;margin:25px 0}.settings-section-title{font-size:15px;margin-bottom:13px}.connection-status{font-size:12px;line-height:1.95;background:#2b3e1f;border:1px solid #638349;color:#d6e9c2;padding:13px;border-radius:5px;margin-top:13px;overflow-wrap:anywhere}.search-results{margin-top:19px;max-height:50vh;overflow:auto}.search-result{display:block;padding:16px 7px;border-bottom:1px solid #456332;font-size:14px;color:#d5ecc1}.search-result:hover{background:#293c1d}.search-result small{font-size:11px;display:block;margin-top:7px;color:#a8c492;line-height:1.9}.toast{position:fixed;bottom:28px;left:calc(50% + 108px);transform:translate(-50%,15px);background:#d6eac4;color:#24371a;padding:13px 22px;border:1px solid #a3bd88;border-radius:7px;font-size:12px;z-index:100;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:min(600px,90vw);box-shadow:0 8px 30px #0005}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:1500px){.lab-hero{min-height:540px}.hero-content{padding-left:48px}.hero-content h1{font-size:57px}.world-viewport{height:360px}.reader-layout{gap:55px}.article-section>p{font-size:15px}.world-step-description{font-size:12px}}
@media(max-width:1190px){.sidebar{width:190px;padding-left:12px;padding-right:12px}.shell{margin-left:190px}.brand{font-size:21px;gap:6px}.brand small{font-size:8px}.topbar{padding:0 25px}main{padding:28px 25px 50px}.hero-content{padding:35px 27px}.hero-content h1{font-size:36px}.hero-content>p{font-size:12px}.hero-coordinate{display:none}.journey-strip{gap:18px;flex-wrap:wrap}.journey-strip p{margin:0}.journey-strip .text-link{margin-left:auto}.stat{padding:20px 12px;gap:10px}.stat-value{font-size:25px}.course-grid{gap:15px}.course-body{padding:17px}.course-eyebrow{font-size:7px}.course-eyebrow span:last-child{font-size:9px}.course-body h3{font-size:18px}.course-body>p{font-size:11px}.featured-lab{gap:25px;padding:25px;grid-template-columns:1fr 1fr}.featured-flow{grid-template-columns:repeat(2,1fr);gap:10px}.featured-flow>div+div:before{display:none}.featured-flow .icon{margin:14px auto}.featured-lab h2{font-size:25px}.reader-layout{grid-template-columns:minmax(0,1fr) minmax(330px,1fr);gap:25px}.reader-title h1{font-size:32px}.world-top{padding:18px 15px}.world-top h2{font-size:16px}.world-top .model-tag{font-size:8px;padding:3px 5px}.world-controls{padding:13px 11px;gap:6px}.speed-label{gap:4px}.world-controls .button{padding:7px 10px;min-width:80px}.world-controls .icon-button{min-width:28px}.world-viewport{height:265px}.world-explanation{padding:16px}.stack-map{grid-template-columns:repeat(4,minmax(0,1fr))}.stack-map>a:nth-child(n){border:0;border-right:1px solid #37452d;border-bottom:1px solid #37452d}.stack-map>a:nth-child(4n){border-right:0}.stack-map>a:nth-last-child(-n+4){border-bottom:0}.chapter-hero{grid-template-columns:1fr 230px;gap:25px}.chapter-hero h1{font-size:34px}.toast{left:calc(50% + 95px)}}
@media(max-width:1000px){.reader-layout{grid-template-columns:minmax(0,1fr)}.reader-lab{position:static;grid-row:1}.reader-main{grid-row:2}.world-viewport{height:350px}.digital-lab{max-width:720px;margin:0 auto}.world-step-description{max-height:none}.reader-toc{display:none}.reader-main{max-width:760px;width:100%;margin:auto}.observation-note p{font-size:12px}.chapter-hero{grid-template-columns:1fr 180px}.chapter-hero .topic-cover{height:210px}.tutor-layout{grid-template-columns:1fr}.tutor-profile{display:grid;grid-template-columns:auto 1fr;gap:8px 20px}.tutor-mark{grid-row:span 2;margin:0}.tutor-profile p{grid-column:2}.tutor-status{grid-column:2;margin:5px 0}.tutor-profile .button{grid-column:2;justify-self:start}.progress-layout{grid-template-columns:1fr}.featured-lab{grid-template-columns:1fr 1fr}.reference-grid{grid-template-columns:repeat(2,1fr)}.reference-grid>a:nth-child(n){border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.reference-grid>a:nth-child(2n){border-right:0}.reference-grid>a:nth-last-child(-n+2){border-bottom:0}.flagship-intro{grid-template-columns:1fr;gap:20px}.milestone{grid-template-columns:35px minmax(0,1fr);gap:18px}.milestone-actions{grid-column:2;flex-direction:row;align-items:center;justify-content:space-between}.milestone-actions>span{text-align:left}.hero-content h1{font-size:32px}.hero-tags{gap:12px}.hero-tags span+span{padding-left:12px}.goal-pill{display:none}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-eyebrow{font-size:8px}.lab-hero{min-height:460px}.hero-shade{background:linear-gradient(90deg,#10170df2,#10170dbb 50%,#10170d22)}.hero-photo{object-position:70% center}.stat>.icon{display:none}.stat-label{font-size:10px}.stat-value small{font-size:8px;margin-left:3px}}
@media(max-width:760px){.sidebar{position:relative;width:100%;inset:auto;padding:17px 20px 0;border-right:0;border-bottom:1px solid #34432b;display:block}.brand{width:max-content;font-size:23px;padding:0;margin-bottom:19px}.brand small{font-size:9px}.brand-symbol .icon{width:32px;height:32px}.workspace-label,.sidebar-bottom{display:none}#nav{display:flex;overflow:auto;gap:20px;scrollbar-width:none}#nav::-webkit-scrollbar{display:none}.nav-item{width:auto;flex-shrink:0;padding:10px 0 13px;margin:0;border-radius:0;gap:7px;font-size:11px;border-bottom:2px solid transparent}.nav-item.active{background:none;border-color:var(--accent)}.nav-item .icon{width:15px;height:15px}.shell{margin-left:0}.topbar{height:57px;padding:0 20px;top:0}.breadcrumb{font-size:11px;gap:8px}.top-actions{gap:12px}.search-button{display:none}.mobile-search{display:grid;border:0;background:none}.avatar{width:26px;height:26px;font-size:10px}main{padding:20px 20px 40px}.lab-hero{min-height:540px;align-items:flex-start}.hero-photo{height:65%;top:auto;bottom:0;object-position:70% center;opacity:.85}.hero-shade{background:linear-gradient(180deg,#11190e 0%,#11190ef2 38%,#11190e40 76%,#11190e22 100%)}.hero-content{padding:29px 24px}.hero-content .eyebrow{font-size:8px;letter-spacing:.6px}.hero-content h1{font-size:36px;margin:22px 0 15px;line-height:1.5}.hero-content>p{font-size:12px;line-height:1.9}.hero-actions{margin-top:23px;gap:10px}.hero-tags{margin-top:22px;font-size:9px;gap:10px}.hero-tags span+span{padding-left:10px}.hero-actions .button{font-size:11px;padding:10px 13px}.journey-strip{padding:25px 0;gap:17px}.journey-strip h2{font-size:19px}.journey-strip p{font-size:11px}.journey-strip .text-link{font-size:11px}.journey-strip .eyebrow{font-size:8px}.stats{grid-template-columns:repeat(2,1fr);margin-top:23px}.stat{padding:18px 20px;border-bottom:1px solid var(--line)}.stat:nth-child(2){border-right:0}.stat:nth-child(n+3){border-bottom:0}.stat>.icon{display:block;width:20px;height:20px}.stat-label{font-size:10px}.stat-value{font-size:25px}.stat-value small{font-size:9px}.section-heading{margin:38px 0 20px;gap:13px}.section-heading .eyebrow{font-size:8px}.section-heading h2{font-size:23px}.section-heading>.text-link{font-size:10px;flex-shrink:0}.course-grid{gap:14px}.topic-cover{height:135px}.topic-cover-number{font-size:8px;left:13px}.topic-cover-icon .icon{width:57px;height:57px}.topic-cover-label{font-size:7px;letter-spacing:.4px;left:13px}.cover-caption{display:none}.course-body{padding:15px}.course-eyebrow{font-size:7px;display:block}.course-eyebrow span:last-child{display:block;margin-top:7px;font-size:9px}.course-body h3{font-size:18px;margin-top:10px}.course-body>p{font-size:11px}.course-bottom{font-size:10px;margin-top:18px}.all-topics{font-size:10px;padding:15px 11px}.featured-lab{padding:25px;grid-template-columns:1fr;gap:25px;margin-top:35px}.featured-lab h2{font-size:28px}.featured-flow{grid-template-columns:repeat(4,1fr);gap:9px}.featured-flow>div{padding:10px 5px 14px}.featured-flow .icon{width:27px;height:27px;margin:17px auto}.featured-flow strong{font-size:9px}.reference-grid>a{padding:20px 17px}.reference-grid strong{font-size:14px}.reference-grid p{font-size:10px}.reference-grid .icon{right:14px;top:22px;width:12px;height:12px}.footer{padding:20px;font-size:9px}.footer>span:last-child{display:none}.page-intro h1{font-size:30px}.page-intro p{font-size:13px}.page-intro{margin-bottom:25px}.stack-map{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:25px}.stack-map>a:nth-child(n){border:0;border-right:1px solid #37452d;border-bottom:1px solid #37452d;padding:16px 12px}.stack-map>a:nth-child(3n){border-right:0}.stack-map>a:nth-last-child(-n+3){border-bottom:0}.stack-map strong{font-size:11px}.stack-map small{font-size:9px}.stack-map .icon{width:24px;height:24px}.filter{font-size:10px;padding:7px 11px}.filters{gap:7px}.chapter-hero{grid-template-columns:1fr 125px;gap:16px;padding-top:15px}.chapter-hero h1{font-size:28px}.chapter-hero p{font-size:12px}.chapter-hero .eyebrow{font-size:8px;letter-spacing:.5px}.chapter-hero .topic-cover{height:190px}.chapter-hero .topic-cover-icon .icon{width:70px;height:70px}.chapter-hero .topic-cover-label{font-size:6px}.chapter-facts{gap:10px;margin:18px 0;font-size:10px}.chapter-facts .icon{width:12px;height:12px}.continuity{gap:8px;padding:14px 13px;font-size:9px;justify-content:space-between}.continuity>.icon{width:12px;height:12px}.chapter-intro h2{font-size:20px}.chapter-intro p{font-size:13px}.lesson-row{gap:15px;padding:22px 9px}.lesson-number{font-size:20px;width:27px}.lesson-row h3{font-size:16px}.lesson-row p{font-size:11px}.lesson-row-meta{font-size:0;gap:0}.lesson-row-meta .icon{width:15px;height:15px}.chapter-end{padding:24px}.chapter-end h2{font-size:20px}.chapter-end p{font-size:12px}.reader-top{gap:10px;flex-wrap:wrap;font-size:10px}.reader-top .text-link{font-size:10px}.reader-top>span{margin-left:auto}.reader-top>.text-link{width:100%;margin-top:7px}.reader-title{padding:28px 0 22px}.reader-title h1{font-size:29px}.reader-title>p{font-size:16px}.reader-title>.eyebrow{font-size:8px}.lesson-bridge{padding:14px;gap:9px}.lesson-bridge p{font-size:11px}.reader-layout{gap:25px}.world-top{padding:18px}.world-top h2{font-size:18px}.world-viewport{height:300px}.world-controls{padding:14px 13px;gap:7px}.world-controls .icon-button{min-width:30px}.world-step-description{font-size:11px}.model-caption{font-size:9px}.article-section-heading h2{font-size:19px}.article-section>p{font-size:14px}.practice-box,.quiz-box{padding:21px}.lesson-end .button{font-size:11px}.flagship-intro{padding:24px;gap:20px}.flagship-intro h2{font-size:23px}.flagship-intro p{font-size:12px}.milestone{padding:23px 15px;gap:14px;grid-template-columns:28px minmax(0,1fr)}.milestone-number{font-size:18px}.milestone h3{font-size:17px}.milestone p{font-size:11px}.milestone-actions .button{font-size:11px}.note-grid{grid-template-columns:1fr}.tutor-profile{padding:22px}.chat-panel{padding:20px}.chat-welcome{padding:15px 3px}.chat-welcome h3{font-size:21px}.suggestion{font-size:10px}.activity-grid{gap:3px}.toast{left:50%;bottom:22px}.form-row{grid-template-columns:1fr;gap:0}dialog{padding:24px}.modal-header h2{font-size:20px}.modal-actions{justify-content:flex-start}}
@media(max-width:390px){main{padding:17px 15px 35px}.sidebar,.topbar{padding-left:15px;padding-right:15px}#nav{gap:15px}.nav-item{font-size:10px}.hero-content{padding:25px 19px}.hero-content h1{font-size:31px}.hero-tags{font-size:8px;gap:8px}.hero-tags span+span{padding-left:8px}.course-grid{gap:11px}.course-body{padding:13px}.course-body h3{font-size:16px}.course-body>p{font-size:10px}.section-heading h2{font-size:21px}.section-heading>.text-link{font-size:9px}.stat{padding:17px 13px}.hero-content .eyebrow{font-size:7px}.chapter-hero{grid-template-columns:1fr}.chapter-hero>.topic-cover{display:none}.speed-label{font-size:0;gap:0}.speed-label select{font-size:9px;padding:5px}.world-controls{gap:6px}.world-controls .button{font-size:10px;min-width:74px;padding:7px 9px}.world-top{padding:16px 13px}.world-top h2{font-size:16px}.world-steps button{font-size:8px}.world-viewport{height:260px}.featured-flow{gap:7px}.featured-flow strong{font-size:8px}.reference-grid strong{font-size:13px}.reference-grid>a{padding:18px 13px}.reference-grid p{max-width:100%}.reference-grid .icon{right:11px;top:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.button:hover,.course-card:hover{transform:none}}

/* 数据页和项目页沿用同一组视觉与状态规则。 */
.bottom-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:22px}.chart-caption{display:flex;justify-content:space-between;gap:15px;font-size:10px;line-height:1.9;color:#a6bf92;margin-top:13px}.activity-cell.level0{background:#26391b}.activity-cell.level1{background:#4a6533}.activity-cell.level2{background:#72974c}.activity-cell.level3{background:#bddf8b}.mastery-row{padding:19px 0;border-bottom:1px solid #425c30}.mastery-row>div:first-child{display:flex;justify-content:space-between;gap:20px;font-size:13px;margin-bottom:13px}.mastery-row span{font-size:10px;color:#a5c18d}.notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.note-card>a{display:inline-block;font-size:11px;color:#c4e3a6;margin-top:22px}.settings-section{border-top:1px solid #486234;margin-top:25px;padding-top:23px}.settings-section h3{font-size:15px;margin-bottom:12px}.settings-section>p{font-size:12px;line-height:1.95;color:#afc69c}.modal-open{overflow:hidden}.course-progress-line{display:flex;justify-content:space-between;font-size:10px;color:#acc696;margin:18px 0 9px}.flagship-flow>span{display:flex;align-items:center;gap:8px;font-size:11px}.flagship-flow .icon{width:16px;height:16px}.milestone>.button{font-size:11px;justify-self:end}.milestone>.project-number{font-size:23px}.milestone-list{margin-top:30px}.connection-status[hidden]{display:none}
@media(max-width:1000px){.bottom-grid{grid-template-columns:1fr}.milestone>.button{grid-column:2;justify-self:start}}
@media(max-width:760px){.notes-grid{grid-template-columns:1fr}.mastery-row>div:first-child{flex-direction:column;gap:6px}.chart-caption{flex-direction:column;gap:4px}.panel{padding:22px}.flagship-flow{gap:9px}.flagship-flow>span{font-size:10px;padding:9px}.milestone>.button{font-size:10px}}

.case-study{border-top:1px solid #476033;border-bottom:1px solid #476033;padding:27px 0;margin:35px 0}.case-study>.eyebrow{font-size:8px;color:#b4d096}.case-study>h2{font-size:22px;margin:12px 0 20px}.case-study>p{font-size:14px;line-height:2.1;color:#bfd1b0;margin:16px 0}.pitfall{padding:19px;background:#2d321b;border:1px solid #5d6338;border-radius:6px;margin-top:24px}.pitfall>span{font-size:10px;color:#e3d79e}.pitfall>p{font-size:12px;line-height:2;color:#c9cfaa;margin-top:10px}.acceptance-note{padding:17px 0 0;margin-top:19px;border-top:1px solid #425d30}.acceptance-note>strong{font-size:11px;color:#d1eabb;font-weight:400}.acceptance-note>p{font-size:12px;line-height:2;color:#b8d0a4;margin-top:9px}@media(min-width:1500px){.case-study>p{font-size:15px}}

.icon-button.mobile-search{display:none}@media(max-width:760px){.icon-button.mobile-search{display:grid}}

.explode-control{display:flex;align-items:center;gap:12px;padding:0 18px 15px;font-size:9px;color:#a7bd97}.explode-control input{accent-color:#c3f38d;min-width:0;flex:1;height:4px}.explode-control>span{white-space:nowrap}

.numeric-experiment{border:1px solid #465b37;border-radius:9px;padding:23px;background:#1a2713;margin-top:20px}.numeric-experiment>.eyebrow{font-size:8px}.numeric-experiment h3{font-size:17px;margin:10px 0}.experiment-formula{font:10px/2 GeistMono,monospace;color:#c5dfac;background:#14200e;border:1px solid #354b27;padding:12px;overflow-wrap:anywhere;border-radius:5px;margin:17px 0}.experiment-inputs{display:grid;gap:17px}.experiment-inputs label>span{display:flex;justify-content:space-between;font-size:10px;color:#b4cba1;margin-bottom:9px}.experiment-inputs input{width:100%;height:4px;accent-color:#c3f38d}.experiment-inputs output{font:10px GeistMono,monospace;color:#d7efbd}.experiment-result{margin:22px 0}.experiment-result>strong{font:25px GeistMono,monospace;color:#d6f5b4;overflow-wrap:anywhere}.experiment-result p{font-size:11px;line-height:1.95;color:#b1c99c;margin-top:12px}.experiment-bars>div{display:grid;grid-template-columns:85px minmax(0,1fr);align-items:center;gap:10px;margin:11px 0;font-size:9px;color:#b0cb9c}.experiment-bars>div>div{height:7px;background:#344b25;border-radius:2px;overflow:hidden}.experiment-bars i{height:100%;background:#bbdf8d;display:block}.experiment-suffix{font-size:9px;color:#9bb586;display:block;margin-top:13px;line-height:1.8}
.reader-lab:has(.numeric-experiment){position:static}

.project-download{margin-top:22px}.download-caption{display:block;font-size:10px;color:#adc796;line-height:1.9;margin-top:12px}

.coaching-panel{display:grid;grid-template-columns:1fr 210px;gap:30px;background:#213019;border:1px solid #4a6436;border-radius:8px;padding:25px;margin-bottom:25px}.coaching-panel h2{font-size:20px;margin:10px 0 13px}.coaching-panel p{font-size:12px;color:#b1c99e;line-height:1.9;margin-bottom:14px}.coaching-panel>div:last-child{display:flex;flex-direction:column;justify-content:center;gap:12px}.coaching-panel small{font-size:10px;color:#a7bf93;line-height:1.9}.tutor-mark>.icon{width:29px;height:29px;stroke-width:1.3}@media(max-width:760px){.coaching-panel{grid-template-columns:1fr;gap:20px;padding:22px}.coaching-panel h2{font-size:19px}.coaching-panel>div:last-child{align-items:flex-start}.coaching-panel small{max-width:320px}}
/* 同一课程内的机制研修：字体、材质色与主阅读系统一致。 */
.workbook{margin:36px 0;border:1px solid #496239;border-radius:9px;background:#172312;overflow:hidden;scroll-margin-top:100px}.workbook>header{padding:26px;border-bottom:1px solid #3c542c;background:linear-gradient(135deg,#26381d,#172312)}.workbook>header h2{font-size:25px;line-height:1.6;margin:13px 0}.workbook>header p{font-size:13px;line-height:2;color:#bdd0ad}.workbook-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:10px;color:#aac795;margin-top:18px}.workbook-prerequisites{padding:22px 25px;border-bottom:1px solid #354c27;font-size:12px;color:#bbd3a7}.workbook-prerequisites strong{font-weight:400;color:#d6ebc3}.workbook-prerequisites ul{padding-left:18px;margin:10px 0 0;line-height:2}.workbook-toc{padding:17px 25px 23px;display:grid;gap:10px;border-bottom:1px solid #405932}.workbook-toc>a{display:flex;gap:13px;font-size:11px;line-height:1.8;color:#bed6a8}.workbook-toc span{font:9px/1.9 GeistMono,monospace;color:#a4be8d}.workbook-toc a:hover{color:#dcf8c2}.workbook-section{padding:27px 25px;border-bottom:1px solid #3d552e;scroll-margin-top:100px}.workbook-section>.eyebrow{font-size:8px}.workbook-section>h3{font-size:20px;line-height:1.65;margin:10px 0 20px}.workbook-section>p{font-size:14px;line-height:2.15;color:#bed0b2;margin:15px 0}.workbook-equations{padding:16px;background:#111c0c;border:1px solid #456032;border-radius:6px;margin:22px 0}.workbook-equations p{font:11px/2 GeistMono,'PingFang SC',sans-serif;color:#d1e9b7;overflow-wrap:anywhere}.workbook-table{max-width:100%;overflow-x:auto;margin:20px 0;scrollbar-width:thin}.workbook-table table{border-collapse:collapse;width:100%;min-width:330px;font-size:10px;color:#bed3ac}.workbook-table th,.workbook-table td{text-align:left;vertical-align:top;border:1px solid #425b31;padding:10px 9px;line-height:1.8;white-space:normal;min-width:35px}.workbook-table th{font-weight:400;background:#293a1e;color:#d5e9bf}.workbook-table td{background:#172511;font-variant-numeric:tabular-nums}.workbook-challenge{background:#25341b;border:1px solid #526d3d;border-radius:6px;padding:18px;margin-top:23px}.workbook-challenge>strong{font-size:11px;font-weight:400;color:#d0e9b6}.workbook-challenge>p{font-size:12px;line-height:2;color:#c1d7ac;margin-top:10px}.workbook-challenge details{margin-top:17px;border-top:1px solid #4d6839;padding-top:14px}.workbook-challenge summary{font-size:11px;color:#d2eab9;cursor:pointer;line-height:1.9}.workbook-challenge details p{font-size:12px;line-height:2;color:#bad2a7;margin-top:12px}.workbook-challenge details>div{margin-top:17px;padding:13px;background:#1b2a13}.workbook-challenge details span{font-size:10px;color:#abc98d}.workbook-download{padding:25px;display:flex;gap:18px;align-items:flex-start;flex-direction:column}.workbook-download h3{font-size:20px}.workbook-download p{font-size:12px;line-height:1.95;color:#b4cfa0}.workbook>.source-box{padding:22px 25px;margin:0}.workbook-badge{display:inline-block;vertical-align:middle;padding:3px 6px;font-size:8px;font-weight:400;letter-spacing:.2px;border:1px solid #789853;color:#d1edaf;background:#2c411f;border-radius:3px;margin-left:10px;white-space:nowrap}.workbook-library{margin:42px 0}.workbook-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.workbook-cards>a{display:block;padding:24px;border:1px solid #496337;border-radius:8px;background:linear-gradient(145deg,#26381e,#182313)}.workbook-cards>a:hover{border-color:#a3ca7d}.workbook-cards .eyebrow{font-size:8px}.workbook-cards h3{font-size:19px;line-height:1.7;margin:13px 0}.workbook-cards p{font-size:11px;line-height:1.95;color:#b0c89b}.workbook-cards .text-link{font-size:11px;margin-top:20px}.mechanism-lab{border:1px solid #506d3b;border-radius:9px;background:#1b2914;padding:23px;margin-top:20px;scroll-margin-top:100px}.mechanism-lab>.eyebrow{font-size:8px}.mechanism-lab>h2{font-size:20px;line-height:1.7;margin:12px 0 19px}.mechanism-caption{font-size:10px;color:#abc497;line-height:2;margin:15px 0}.mechanism-body label{display:flex;flex-direction:column;gap:8px;font-size:10px;color:#c0d7ac}.mechanism-body input:not([type=checkbox]):not([type=range]),.mechanism-body select{width:100%;min-width:0;min-height:37px;background:#131f0e;border:1px solid #5c7943;border-radius:4px;padding:8px 10px;color:#d8edc1;font-size:11px}.mechanism-form-row{display:flex;gap:11px;align-items:flex-end;margin-top:15px;flex-wrap:wrap}.mechanism-form-row>label{flex:1;min-width:75px}.mechanism-form-row .button{font-size:10px;padding:8px 11px}.mechanism-error{font-size:11px;line-height:1.9;color:#f2cba6;min-height:0;margin-top:12px}.mechanism-error:empty{display:none}.mechanism-presets{display:flex;gap:7px;flex-wrap:wrap;margin:17px 0}.mechanism-presets button,.attention-query button{font-size:9px;padding:7px 9px;border:1px solid #536e3c;background:#273b1b;color:#c5dfad;border-radius:4px}.mechanism-controls{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.mechanism-controls .button{font-size:10px;padding:7px 10px}.cache-current{font-size:11px;line-height:2;color:#d2e9bd;padding:15px;background:#26391b;border-left:2px solid #b1d887;min-height:70px}.cache-lines{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:19px 0}.cache-line{padding:12px 6px;border:1px solid #476333;border-radius:5px;min-width:0;background:#14200f;transition:background .2s,border-color .2s}.cache-line.selected{background:#354b26;border-color:#b8db8f}.cache-line>span{display:block;font-size:8px;color:#a3be8b}.cache-line strong{display:block;font-size:13px;font-weight:400;margin:10px 0 7px;color:#d9edc6;overflow-wrap:anywhere}.cache-line small{display:block;font:8px GeistMono,monospace;color:#abc293}.cache-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.cache-summary span{display:block;font-size:9px;color:#a9c190}.cache-summary strong{font:16px GeistMono,monospace;display:block;color:#d5edbd;margin-top:8px;overflow-wrap:anywhere}.cache-history .workbook-table{margin-bottom:0}.mechanism-body .mechanism-check{display:flex;align-items:flex-start;flex-direction:row;gap:9px;line-height:1.9;font-size:11px;margin:17px 0}.mechanism-check input{accent-color:#c3f38d;margin-top:4px;flex-shrink:0}.transaction-clients{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.transaction-clients>section{padding:15px 12px;border:1px solid #4b6837;border-radius:6px;background:#16230f}.transaction-clients h3{font-size:14px}.transaction-clients p{font-size:10px;color:#b6cfa1;line-height:1.9;margin:11px 0 15px;min-height:38px}.transaction-clients>section>div{display:flex;flex-direction:column;gap:8px}.transaction-clients .button{font-size:10px;padding:8px 6px}.transaction-shared{font:12px/2 GeistMono,'PingFang SC',sans-serif;color:#d4efba;padding:17px;background:#2e4120;border:1px solid #718f50;border-radius:5px;overflow-wrap:anywhere}.attention-query{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.attention-query button[aria-pressed=true]{background:#c3ed93;color:#223619;border-color:#c3ed93}.mechanism-body .mechanism-range{margin:22px 0 13px;gap:13px}.mechanism-range>span{display:flex;justify-content:space-between;font-size:10px}.mechanism-range input{width:100%;height:4px;accent-color:#c3f38d}.attention-matrix{margin:24px 0}.attention-matrix h3{font-size:11px;color:#c9e3b2;font-weight:400;margin-bottom:13px}.attention-matrix-grid>div{display:grid;grid-template-columns:28px repeat(3,minmax(0,1fr));gap:5px;padding:5px;border-left:2px solid transparent}.attention-matrix-grid>div.selected{border-color:#c2eb91;background:#314321}.attention-matrix-grid span{font:10px/2 GeistMono,monospace;padding:4px;text-align:center;color:#cbe4b3;border-radius:3px;min-width:0}.attention-matrix-grid span:first-child{font-size:8px;color:#a4bc8b}.attention-weights{padding:17px 0;border-top:1px solid #4c6938}.attention-weights>div{display:grid;grid-template-columns:45px minmax(0,1fr) 55px;gap:10px;align-items:center;margin:13px 0;font-size:9px;color:#bed7a8}.attention-weights>div>div{height:6px;background:#354c25;overflow:hidden;border-radius:3px}.attention-weights i{display:block;height:100%;background:#c1e992;transition:width .2s}.attention-weights strong{font:9px GeistMono,monospace;text-align:right}.attention-output{padding:18px;background:#2b3e1e;border:1px solid #6c8b4d;border-radius:6px}.attention-output span{font-size:10px;color:#b6cfa1}.attention-output strong{display:block;font:19px/1.8 GeistMono,monospace;color:#d8f2be;margin-top:8px;overflow-wrap:anywhere}.attention-output p{font:9px GeistMono,monospace;color:#afca96;margin-top:11px}.reader-lab:has(.mechanism-lab){position:static}
@media(max-width:1100px){.workbook-cards{grid-template-columns:1fr}.workbook-cards>a{padding:24px}.workbook-cards h3{font-size:21px}}@media(max-width:760px){.workbook>header,.workbook-prerequisites,.workbook-toc,.workbook-section,.workbook-download{padding:22px 18px}.workbook>header h2{font-size:23px}.workbook-section>h3{font-size:19px}.workbook-section>p{font-size:14px}.workbook-table th,.workbook-table td{font-size:9px;padding:9px 7px}.workbook-equations p{font-size:10px}.workbook-challenge{padding:16px}.workbook-challenge details p{font-size:12px}.workbook-meta{font-size:9px}.workbook-badge{font-size:8px;margin:7px 0 0;display:table}.mechanism-lab{padding:20px 16px}.mechanism-lab>h2{font-size:19px}.cache-summary strong{font-size:15px}.mechanism-form-row{gap:9px}.mechanism-form-row>.button{width:100%}.attention-output strong{font-size:18px}.workbook-library .section-heading h2{font-size:22px}}@media(prefers-reduced-motion:reduce){.cache-line,.attention-weights i{transition:none}}
.workbook-status{padding:15px 25px;font-size:10px;color:#c3dcae;line-height:1.95;background:#25381b;border-bottom:1px solid #456333}.workbook-draft label{display:flex;flex-direction:column;gap:10px;font-size:10px;color:#abc494;margin-top:17px}.workbook-draft textarea{width:100%;max-width:100%;min-height:130px;resize:vertical;background:#15220e;border:1px solid #5d7c43;border-radius:5px;padding:12px;color:#cbe1b7;font-size:12px;line-height:1.95}.workbook-challenge>.workbook-self-check{display:flex;align-items:flex-start;gap:9px;font-size:10px;color:#bfd9a7;line-height:1.9;margin-top:20px}.workbook-self-check input{accent-color:#c4ec93;margin-top:3px;flex-shrink:0}.workbook-progress-panel{margin-top:35px}.workbook-progress-panel>a{display:block;background:#1c2b15;border:1px solid #4b6538;border-radius:7px;padding:22px;margin:14px 0}.workbook-progress-panel>a>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:17px}.workbook-progress-panel strong{font-size:15px;font-weight:400}.workbook-progress-panel span{font-size:10px;color:#adc995}.workbook-progress-panel>p{font-size:11px;color:#9fbb89;line-height:1.9;margin-top:17px}@media(max-width:760px){.workbook-status{padding:15px 18px}.workbook-progress-panel>a>div:first-child{flex-direction:column;align-items:flex-start;gap:10px}.workbook-progress-panel strong{font-size:14px}}
.cache-line>span{font-size:9px}.cache-line small{font-size:9px}.mechanism-presets button,.attention-query button{font-size:10px}.attention-matrix-grid>.matrix-header{border-left-color:transparent;background:none}.attention-matrix-grid>.matrix-header span{font-size:9px;color:#9fbc87}.workbook-table:focus-visible{outline:2px solid #c3f38d;outline-offset:3px}@media(max-width:760px){.workbook-table th,.workbook-table td{font-size:10px}}
/* 长篇研修在引导模型之后展开，避免桌面整篇压在半幅窄栏。 */
.reader-layout+.workbook{max-width:1040px;margin:45px auto}.reader-layout+.workbook>header,.reader-layout+.workbook>.workbook-prerequisites,.reader-layout+.workbook>.workbook-toc,.reader-layout+.workbook>.workbook-status,.reader-layout+.workbook>.workbook-section,.reader-layout+.workbook>.workbook-download,.reader-layout+.workbook>.source-box{padding-left:max(25px,calc(50% - 390px));padding-right:max(25px,calc(50% - 390px))}.reader-layout+.workbook>.mechanism-lab{margin-left:max(25px,calc(50% - 390px));margin-right:max(25px,calc(50% - 390px));margin-bottom:27px}.reader-continuation{max-width:800px;min-width:0;margin:40px auto;width:100%}@media(min-width:1100px){.reader-layout+.workbook .attention-matrices{display:grid;grid-template-columns:1fr 1fr;gap:25px}}@media(max-width:760px){.reader-layout+.workbook{margin:30px auto}.reader-layout+.workbook>header,.reader-layout+.workbook>.workbook-prerequisites,.reader-layout+.workbook>.workbook-toc,.reader-layout+.workbook>.workbook-status,.reader-layout+.workbook>.workbook-section,.reader-layout+.workbook>.workbook-download,.reader-layout+.workbook>.source-box{padding-left:18px;padding-right:18px}.reader-layout+.workbook>.mechanism-lab{margin-left:0;margin-right:0;border-left:0;border-right:0;border-radius:0}.reader-continuation{margin-top:30px}}
/* 云系统实验沿用研修材质、层级与真实状态色。 */
.rollout-status,.queue-status,.slo-status{font-size:12px;line-height:2;background:#2d401f;border:1px solid #698b48;border-radius:6px;padding:17px;color:#d6edc0;margin:20px 0}.replica-rack{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:20px 0}.replica-unit{border:1px solid #506843;border-top-color:#879c78;background:linear-gradient(150deg,#344330,#162012);border-radius:5px;padding:15px 12px;box-shadow:3px 5px 0 #0c1609;min-width:0}.replica-unit>div:first-child{display:flex;gap:7px;align-items:center;font-size:9px;color:#b6c9a6}.replica-light{width:5px;height:5px;border-radius:50%;background:#b4e989;box-shadow:0 0 9px #9dcc7155;flex-shrink:0}.replica-unit.pending .replica-light{background:#d7ba74}.replica-unit.starting .replica-light{background:#91b8c8}.replica-unit>strong{display:block;font:22px GeistMono,monospace;margin:17px 0 9px;color:#dcebd0}.replica-unit>span{font-size:10px;color:#acbf9c}.replica-vents{display:flex;gap:5px;margin-top:18px}.replica-vents i{display:block;height:3px;flex:1;background:#0d170a;border-top:1px solid #5b7050}.queue-stats,.slo-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:24px 0}.queue-stats>div,.slo-stats>div{padding:14px 12px;background:#192611;border:1px solid #425b30;border-radius:5px;min-width:0}.queue-stats span,.slo-stats span{font-size:10px;color:#abc394;display:block}.queue-stats strong,.slo-stats strong{font:20px/1.6 GeistMono,monospace;color:#d8eebf;display:block;margin-top:8px;overflow-wrap:anywhere}.work-lanes h3{font-size:12px;color:#c3daac;font-weight:400;margin:24px 0 15px}.work-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.work-slots>div{padding:14px 10px;background:#14200f;border:1px solid #3e582c;border-radius:5px;min-width:0}.work-slots>div.busy{border-color:#b1d58a;background:#2f4321}.work-slots span{font-size:9px;color:#adc396}.work-slots strong{font:18px GeistMono,monospace;display:block;margin:13px 0 10px;overflow-wrap:anywhere}.work-slots small{font-size:9px;color:#acc391;line-height:1.8}.queue-chips{display:flex;gap:9px;flex-wrap:wrap;min-height:35px}.queue-chips>span{font:10px/1.8 GeistMono,'PingFang SC',sans-serif;padding:7px 10px;background:#27381c;border:1px solid #58763d;border-radius:4px}.queue-chips>small{font-size:10px;color:#9fbc89}.slo-controls{display:grid;gap:7px}.slo-histogram-title{font-size:12px;color:#c7dfb1;margin:28px 0 20px;font-weight:400}.slo-histogram>div{display:grid;grid-template-columns:90px minmax(0,1fr) 35px;gap:12px;align-items:center;margin:15px 0;font:10px GeistMono,monospace;color:#b5cfa1}.slo-histogram>div>div{height:7px;background:#324925;border-radius:2px;overflow:hidden}.slo-histogram i{height:100%;display:block;background:#bddf94;transition:width .2s}.slo-histogram strong{text-align:right;font-weight:400}.rollout-config .mechanism-check{margin-bottom:8px}.queue-config label{min-width:90px}@media(max-width:760px){.replica-rack{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.replica-unit>strong{font-size:21px}.queue-stats,.slo-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.queue-stats strong,.slo-stats strong{font-size:18px}.work-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.queue-config .mechanism-form-row{align-items:stretch}.queue-config .mechanism-form-row>label{min-width:100px}.slo-histogram>div{grid-template-columns:75px minmax(0,1fr) 30px;gap:8px;font-size:9px}.rollout-status,.queue-status,.slo-status{font-size:11px;padding:14px}.replica-unit>span{font-size:11px}}@media(prefers-reduced-motion:reduce){.slo-histogram i{transition:none}}

.mechanism-lab{scroll-margin-top:100px}
/* 数组、页框与传输字节使用同一组可检验的状态材质。 */
.foundation-status{margin:22px 0;padding:17px;border:1px solid #718e50;background:#2c3e20;border-radius:6px;font-size:12px;line-height:2;color:#d2e8bd;overflow-wrap:anywhere}.search-config>label,.memory-config>label{display:flex;flex-direction:column;gap:11px;font-size:11px;color:#b2ca9d}.search-config input,.memory-config input{background:#14200f;border:1px solid #648348;border-radius:4px;color:#d2e4bd;padding:13px;min-width:0;width:100%;font:12px GeistMono,'PingFang SC',sans-serif}.search-array{display:grid;grid-template-columns:repeat(auto-fit,minmax(65px,1fr));gap:8px;margin:25px 0}.search-array>div{border:1px solid #3e5430;border-top-color:#647858;background:linear-gradient(150deg,#253121,#15200f);border-radius:4px;min-width:0;padding:13px 7px;text-align:center;box-shadow:0 3px 0 #0d160a;opacity:.65}.search-array>div.active{background:#3a4b2b;opacity:1}.search-array>div.compared{outline:2px solid #d4e8ba;outline-offset:1px;opacity:1}.search-array>div.answer{background:#a6cb79;color:#1b2912;border-color:#d4f0b0;opacity:1}.search-array span,.search-array small{font-size:9px;display:block;line-height:1.9}.search-array strong{font:20px/1.8 GeistMono,'PingFang SC',sans-serif;display:block;margin:6px 0}.search-array>.boundary strong{font-size:12px;padding:7px 0}.search-partition{font-size:11px;color:#b5cc9e;line-height:2;margin:20px 0}.translation-path{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0}.translation-path>div{border:1px solid #526a3c;border-radius:5px;padding:15px 12px;background:#192511;min-width:0}.translation-path span{font-size:10px;color:#a7c08f}.translation-path strong{display:block;font:14px/1.9 GeistMono,'PingFang SC',sans-serif;margin-top:10px;color:#cee2b6;overflow-wrap:anywhere}.memory-frame-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:25px 0}.memory-frame{background:linear-gradient(150deg,#344330,#182113);border:1px solid #657b50;border-top-color:#94a682;border-radius:5px;padding:17px 14px;box-shadow:4px 5px 0 #0d1609;min-width:0}.memory-frame.selected{border-color:#c4e49a;box-shadow:0 0 0 1px #a4c977,4px 5px 0 #0d1609}.memory-frame>span{font:10px GeistMono,monospace;color:#b8cba6}.memory-frame>strong{display:block;font:20px GeistMono,'PingFang SC',sans-serif;margin:20px 0 15px;color:#deebd0}.memory-frame>small{font-size:10px;color:#b9cea2}.memory-byte-strip{display:grid;grid-template-columns:repeat(8,1fr);gap:3px;margin-top:20px}.memory-byte-strip i{height:12px;background:#111b0b;border:1px solid #4c6238;border-radius:1px}.memory-byte-strip i.written{background:#bddf93}.memory-tlb>p,.stream-messages>p{font-size:11px;color:#aec697;line-height:2;margin:20px 0}.memory-tlb h3,.stream-messages h3{font-size:12px;color:#d2e4bb;font-weight:400;margin:25px 0 16px}.packet-track{display:flex;gap:15px;align-items:center;margin:30px 0;color:#b0c99c;font-size:10px}.packet-track>div{height:2px;background:#4a6433;position:relative;flex:1}.packet-track i{position:absolute;width:13px;height:9px;top:-4px;left:calc(var(--packet-progress,0%) * .94);background:#c5e99a;border:1px solid #ddf6bc;border-radius:2px;box-shadow:0 0 12px #b1db7c44;transition:left .5s ease}.stream-bytes{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;margin:25px 0}.stream-bytes>div{padding:13px 5px;border:1px dashed #53703b;border-radius:4px;min-width:0;text-align:center;background:#13200d}.stream-bytes>div.delivered{background:linear-gradient(150deg,#40572d,#293d1c);border:1px solid #9bbf6d}.stream-bytes>div.buffered{background:#3c3e24;border:1px solid #b7a767}.stream-bytes span{display:block;font:9px GeistMono,monospace;color:#b7ca9f}.stream-bytes strong{display:block;font:18px GeistMono,monospace;margin:12px 0;color:#d4e9bd}.stream-bytes small{font-size:9px;color:#a8c092}.stream-messages{border-top:1px solid #496134;padding-bottom:10px}@media(max-width:760px){.foundation-status{font-size:11px;padding:14px}.search-array{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.search-array strong{font-size:18px}.translation-path{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.translation-path strong{font-size:13px}.memory-frame-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.memory-frame{padding:15px 11px}.memory-frame>strong{font-size:18px}.stream-bytes{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.stream-bytes strong{font-size:18px}.memory-config .mechanism-form-row label{min-width:85px;flex:1}.search-config .mechanism-form-row>label{min-width:100px;flex:1}}@media(prefers-reduced-motion:reduce){.packet-track i{transition:none}}
