.lessons-lab{display:grid;gap:20px;min-width:0}.lessons-lab>*{min-width:0}.lesson-selector{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.lesson-selector select{min-height:44px;max-width:100%}.lesson-selector span{color:var(--muted);font-size:12px}.lesson-intuition{font-size:19px;line-height:1.8;max-width:850px}.lesson-steps{line-height:1.9;padding-left:24px}.lesson-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}.lesson-controls button,.lesson-demo button{min-height:44px}.lesson-controls label{display:flex;align-items:center;gap:8px}.lesson-controls [role=group]{display:flex;gap:4px}.lesson-controls [aria-pressed=true]{background:var(--selected);border-color:var(--accent)}.lesson-search-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px;align-items:start}.lesson-board{width:100%;aspect-ratio:1;min-width:0}.lesson-board .board-stage,.lesson-board .board-canvas{height:100%;min-height:0}.lesson-trace{min-width:0;line-height:1.7}.lesson-trace code{overflow-wrap:anywhere}.lesson-trace .notice{margin:16px 0}.lesson-table{overflow:auto;max-height:230px}.lesson-table table{width:100%}.lesson-code{width:100%;max-width:100%;overflow:auto;max-height:400px;white-space:pre;tab-size:4;border:1px solid var(--border);border-radius:6px;background:#202923;color:#dce4d7;padding:18px;font:13px/1.8 Consolas,monospace;box-sizing:border-box;overscroll-behavior:contain}.lesson-copy-status{min-height:24px;margin:0;color:var(--muted)}.lesson-bottom{display:grid;grid-template-columns:1fr 1fr;gap:20px;min-width:0}.lesson-bottom>.panel{min-width:0}.lessons-lab p{line-height:1.8}.lessons-lab summary{cursor:pointer;min-height:44px;padding-block:10px}.lessons-lab summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.lesson-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.lesson-feature-grid>div{display:flex;flex-direction:column;gap:8px;background:var(--field);padding:14px;border-radius:5px}.lesson-feature-grid span{font-size:12px;color:var(--muted)}.lesson-feature-grid strong{font-family:Consolas,monospace;font-size:22px}.lesson-calculation{min-height:90px;font-size:18px}.lesson-demo .muted{font-size:12px}@media(max-width:1000px){.lesson-search-layout{grid-template-columns:minmax(0,1fr)}.lesson-board{max-width:680px;margin:auto}}@media(max-width:720px){.lesson-bottom{grid-template-columns:minmax(0,1fr)}.lesson-intuition{font-size:17px}.lesson-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-selector{gap:8px}.lesson-selector select{width:100%}.lesson-code{font-size:12px;padding:12px}.lesson-controls{gap:8px}.lesson-controls button{padding:8px 10px}.lesson-search-layout{gap:14px}.sidebar nav button span{font-size:9px}}.lesson-docs{grid-template-columns:220px minmax(0,1fr);gap:40px;align-items:start}.lesson-index{position:sticky;top:24px;max-height:calc(100vh - 48px);overflow:auto;padding-right:18px;border-right:1px solid var(--border);scrollbar-width:thin}.lesson-index a{display:flex;gap:9px;color:var(--muted);text-decoration:none;padding:9px 10px;border-radius:5px;font-size:12px;line-height:1.5}.lesson-index a:hover{background:var(--field);color:var(--text)}.lesson-index a[aria-current=page]{background:var(--selected);color:#e0ecd4;box-shadow:inset 3px 0 var(--accent)}.lesson-index .course-home{display:block;font-size:15px;font-weight:650;margin-bottom:20px}.course-home span{display:block;font-size:11px;font-weight:400;margin-top:4px}.index-chapter h2{font-size:11px;letter-spacing:.08em;color:var(--muted);margin:22px 10px 8px}.index-chapter ol{list-style:none;padding:0;margin:0}.index-chapter a>span{font:11px/1.8 Consolas,monospace;opacity:.75;flex-shrink:0}.lesson-article{min-width:0;max-width:960px;container-type:inline-size}.lesson-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--muted);margin-bottom:28px}.lesson-breadcrumb a,.lesson-article a{color:#c5d9b4;text-underline-offset:4px}.lesson-breadcrumb button{margin-left:auto;padding:6px 10px;font-size:11px;min-height:36px}.lesson-heading{padding-bottom:30px;border-bottom:1px solid var(--border)}.lesson-heading h1{font-size:clamp(26px,3vw,38px);line-height:1.3;letter-spacing:-.035em;margin:12px 0 20px;scroll-margin-top:24px;outline:none}.lesson-heading h1:focus-visible{outline:2px solid var(--focus);outline-offset:6px}.lesson-intuition{font-size:18px;line-height:1.9;color:#d5dfce;max-width:46em}.lesson-objectives{margin-top:24px;padding-left:18px;border-left:3px solid var(--accent)}.lesson-objectives h2{font-size:13px;margin:0 0 10px;color:var(--muted)}.lesson-objectives ul{padding-left:18px;line-height:1.9;margin:0;font-size:14px}.lesson-section{padding:30px 0;border-bottom:1px solid var(--border);scroll-margin-top:24px}.lesson-section h2,.lesson-article>.panel h2{font-size:21px;line-height:1.5;margin:0 0 16px;letter-spacing:-.02em}.lesson-section p,.lesson-steps{font-size:15px;max-width:50rem;line-height:1.9}.lesson-steps li+li{margin-top:10px}.course-chapter{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:24px 0;border-bottom:1px solid var(--border)}.course-chapter:last-child{border:0}.course-chapter>span{font:18px/1.5 Consolas,monospace;color:var(--accent)}.course-chapter h3{font-size:18px;margin:0}.course-chapter p{margin:10px 0}.course-start{display:inline-block;padding:12px 0;font-weight:600}.lesson-article>.panel{padding:30px 0;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;box-shadow:none}.lesson-article>.panel .eyebrow{display:none}.lesson-search-layout{grid-template-columns:minmax(0,1fr)}.lesson-board{max-width:680px;margin-inline:auto}.lesson-trace{max-width:100%}.lesson-pagination{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-top:30px}.lesson-pagination a{padding:18px 0;text-decoration:none;min-width:0}.lesson-pagination a:last-child{text-align:right}.lesson-pagination small{display:block;color:var(--muted);margin-bottom:8px}.lesson-pagination strong{font-size:15px;line-height:1.6}.code-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;background:#1a251e;border:1px solid var(--border);border-bottom:0;padding:10px 12px;border-radius:8px 8px 0 0}.code-toolbar [role=tablist]{display:flex;gap:4px}.code-toolbar button{min-height:40px;padding:8px 12px}.code-toolbar [aria-selected=true]{background:var(--selected);border-color:var(--accent);color:#e4eedc}.lesson-code{background:#17241d;color:#dee8dc;border-radius:0 0 8px 8px;margin-top:0;max-height:520px;line-height:1.85}.code-run-hint{margin:0;padding:10px 14px;background:#1a251e;border-inline:1px solid var(--border);font-size:12px!important;color:var(--muted)}.syntax-comment{color:#9eaf9f;font-style:italic}.syntax-keyword{color:#d5bdf4}.syntax-string{color:#c2dc9c}.syntax-number{color:#f1ba96}.syntax-function,.syntax-builtin{color:#99dbdb}.syntax-keyword{font-weight:600}.lesson-copy-status{font-size:12px}.lesson-article a:focus-visible,.lesson-index:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.expected-output .lesson-code{max-height:260px}.lesson-exercise details{margin-top:16px}@media(max-width:1100px){.lesson-docs{grid-template-columns:180px minmax(0,1fr);gap:24px}.lesson-index{padding-right:12px}.lesson-index a{font-size:11px;padding:9px 7px}}@media(max-width:720px){.lesson-docs{grid-template-columns:minmax(0,1fr);gap:24px}.lesson-index{position:static;max-height:260px;overflow:auto;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--field)}.lesson-index .course-home{margin:0 0 8px}.index-chapter h2{margin-top:14px}.index-chapter ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}.lesson-index a{min-height:42px;font-size:11px}.lesson-breadcrumb{margin-bottom:20px;gap:7px}.lesson-heading h1{font-size:27px}.lesson-intuition{font-size:16px}.lesson-section p,.lesson-steps{font-size:14px}.lesson-section h2,.lesson-article>.panel h2{font-size:19px}.lesson-pagination{gap:16px}.lesson-pagination strong{font-size:13px}.code-toolbar{gap:5px;padding:8px}.code-toolbar button{font-size:12px;padding:7px}.lesson-code{font-size:12px}.lesson-breadcrumb button{font-size:11px}.lesson-article>.panel{padding-inline:0}}.lesson-section .code-run-hint{max-width:none}.lesson-index{display:block}.lesson-reading h3{font-size:17px;line-height:1.6;margin:26px 0 12px}.lesson-reading p,.lesson-reading li,.lesson-reading dd{font-size:15px;line-height:1.95;max-width:50rem}.lesson-reading ul{padding-left:24px}.lesson-reading li+li{margin-top:12px}.lesson-terms,.lesson-code-notes{margin:16px 0}.lesson-terms>div,.lesson-code-notes>div{padding:16px 0;border-bottom:1px solid var(--border)}.lesson-terms dt,.lesson-code-notes dt{font-weight:650;margin-bottom:8px}.lesson-terms dd,.lesson-code-notes dd{margin:0;color:#d5dfce}.lesson-code-notes code{overflow-wrap:anywhere}.lesson-source-link{display:inline-block;margin:0 18px 10px 0;font-size:12px}.lesson-worked-example{border-left:3px solid var(--accent);padding-left:22px}.lesson-practice{margin:24px 0}.lesson-sources p{font-size:13px;color:var(--muted);margin-top:5px}@media(max-width:720px){.lesson-reading p,.lesson-reading li,.lesson-reading dd{font-size:14px}.lesson-reading h3{font-size:16px}.lesson-worked-example{padding-left:15px}}.lesson-diagram{white-space:pre;overflow:auto;max-width:100%;padding:18px;border:1px solid var(--border);background:#17241d;color:#dce8d6;font:15px/1.8 Consolas,monospace;letter-spacing:2px;border-radius:6px}.lesson-on-this-page{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;padding:18px 0;border-bottom:1px solid var(--border)}.lesson-on-this-page button{min-height:40px;padding:8px 12px;font-size:12px;border:1px solid var(--border);color:var(--ink)}.lesson-demo-section{scroll-margin-top:24px}.lesson-demo-section>.panel{padding:30px 0;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;box-shadow:none}.lesson-demo-section .eyebrow{display:none}.lesson-demo-section h2{font-size:21px;line-height:1.5;margin:0 0 16px}.lesson-reading h2{scroll-margin-top:24px}.lesson-article h2:focus{outline:none}@media(max-width:720px){.lesson-on-this-page button{flex:0 1 auto}.lesson-demo-section h2{font-size:19px}}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#e8ede6;background:#111612;font-synthesis:none;font-weight:400;--accent:#b9ec78;--border:#2d372e;--muted:#89988b;--panel:#1a211b}*{box-sizing:border-box}body{margin:0;min-width:340px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:#d3dfce;background:#262f26;border:1px solid #394437;padding:10px 14px;border-radius:7px;font-size:12px;font-weight:550;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:background .15s,border .15s,transform .15s}button:hover:not(:disabled){background:#34402f;border-color:#60724e}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.38;cursor:not-allowed}button.primary{color:#1e2c13;background:var(--accent);border-color:var(--accent);font-weight:650}button.primary:hover:not(:disabled){background:#caf797}button.subtle{background:#273623;color:#c8e8a7;border-color:#52623c}input,select{min-width:0;color:#e1e8dc;background:#141b15;border:1px solid #394338;border-radius:6px;padding:9px 10px;font-size:12px;accent-color:var(--accent)}select{padding-right:25px}input[type=checkbox]{width:14px;height:14px;margin:0;cursor:pointer}input[type=range]{accent-color:var(--accent);height:4px;padding:0;border:0;cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(25px,2.3vw,34px);font-weight:600;letter-spacing:-1px;margin-bottom:11px;line-height:1.35}h2{font-size:16px;letter-spacing:-.3px;font-weight:600;margin:0}h3{font-size:14px;margin:0 0 10px}p{line-height:1.75;font-size:12px}small{font-size:10px}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:224px;padding:31px 21px 20px;background:#171d17;border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:11px;margin-bottom:48px}.brand img{width:36px;height:36px}.brand>span{font-size:23px;font-weight:650;letter-spacing:-1px}.brand>span>span{font-weight:400;color:#bac3b5}.brand small{display:block;color:#7d8b79;font-size:6.8px;letter-spacing:1px;margin-top:6px;font-weight:550}.nav-label{font-size:8px;letter-spacing:1.8px;color:#73816f;font-weight:650;margin-bottom:16px;padding-left:11px}nav{display:flex;flex-direction:column;gap:7px}nav button{position:relative;justify-content:flex-start;text-align:left;padding:13px 12px;gap:12px;background:transparent;border:1px solid transparent;border-radius:7px;color:#889684}nav button span{font-size:12px}nav button small{display:block;font-size:7px;letter-spacing:1.05px;margin-top:4px;font-weight:450;color:#6f7c6d}nav button.active{background:#28351e;color:#c2f08a;border-color:#364829}nav button.active small{color:#8d9e7c}nav button i{width:5px;height:5px;background:var(--accent);border-radius:50%;position:absolute;right:12px;top:24px}.sidebar-bottom{margin-top:auto;padding-top:40px}.privacy-card{border:1px solid #33402d;background:linear-gradient(135deg,#26331e,#1c241a);padding:15px 13px;border-radius:8px;color:#99af7e}.privacy-card strong{display:block;font-size:10px;color:#c2d4ac;margin:10px 0 8px}.privacy-card p{font-size:10px;color:#839574;margin:0;line-height:1.9}.help-link{padding:20px 5px;background:none;border:none;justify-content:flex-start;width:100%;font-size:11px;color:#93a08e}.help-link svg:last-child{margin-left:auto}.build-label{font-size:7px;letter-spacing:1.1px;color:#667660;display:block;padding:12px 4px 0;border-top:1px solid #2c352a}.build-label i{font-style:normal;color:#a8cb78;margin-left:12px;font-size:7px}.app-shell>main{margin-left:224px;width:calc(100% - 224px)}.topbar{height:66px;border-bottom:1px solid #293228;padding:0 40px;display:flex;align-items:center;justify-content:space-between}.topbar>div{display:flex;align-items:center;gap:18px}.topbar span:first-child:not(.local-tag){font-size:8px;letter-spacing:1.7px;color:#71806c;font-weight:650}.topbar strong{font-size:11px;color:#bcc8b7;font-weight:450}.slash{color:#40503a;font-size:13px}.topbar-right{gap:18px!important}.icon-button{background:transparent;border-color:#2c3829;padding:7px;border-radius:50%}.page{max-width:1480px;margin:0 auto;padding:34px 40px 20px}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.eyebrow{display:block;font-size:8px;color:#859b72;letter-spacing:1.8px;font-weight:650;margin-bottom:10px}.eyebrow-line{display:inline-block;vertical-align:middle;width:32px;height:1px;background:#607147;margin-left:10px}.page-heading p{font-size:12px;color:#879980;margin:0;line-height:1.6}.version-pill{white-space:nowrap;font-size:9px;color:#87987c;letter-spacing:1px;border:1px solid #34402d;border-radius:20px;padding:9px 12px}.version-pill span{margin-left:9px;color:#bad394}.lab-content{display:flex;flex-direction:column;gap:20px}.configuration-bar{background:#1a221b;border:1px solid var(--border);border-radius:9px;padding:14px 16px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.configuration-bar>label{font-size:10px;color:#8c9a85;display:flex;gap:9px;align-items:center}.configuration-bar input[type=number]{width:79px}.configuration-bar select{min-width:98px}.configuration-bar>.local-tag{margin-left:auto}.configuration-bar>.button-row{margin-left:auto}.local-tag{font-size:9px;color:#91a083;display:inline-flex;gap:7px;align-items:center;white-space:nowrap}.local-tag>span{width:5px;height:5px;background:#a0cd6a;border-radius:50%;display:inline-block}.segmented{display:flex;background:#131a13;border:1px solid #303e2b;border-radius:6px;padding:3px;gap:3px}.segmented button{border:none;border-radius:4px;background:transparent;padding:7px 12px;color:#83957b;font-size:11px}.segmented button.selected{background:#384a2d;color:#d7ebc1;box-shadow:0 1px 4px #0003}.segmented.full{margin-bottom:22px}.segmented.full button{flex:1;font-size:12px}.check-label{display:flex;align-items:center;gap:8px;font-size:11px;color:#aebda5;line-height:2;margin:10px 0}.badge{display:inline-block;padding:4px 7px;border:1px solid #3a4b30;border-radius:4px;background:#2b3624;color:#a6c087;font-size:8px;letter-spacing:.65px;line-height:1.2;white-space:nowrap}.metrics-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--border);border-radius:9px;background:#1a211a;padding:20px 6px}.metric{padding:0 20px;border-right:1px solid #303b2b;display:flex;flex-direction:column;gap:7px;min-width:0}.metric:last-child{border:0}.metric>span{font-size:10px;color:#8c9c83}.metric strong{font-family:Inter,Segoe UI,sans-serif;font-size:27px;font-weight:550;letter-spacing:-.7px;line-height:1.35;color:#e3ebdc;overflow-wrap:anywhere}.metric small{font-size:8px;color:#687b5e;letter-spacing:.4px}.game-layout{display:grid;grid-template-columns:minmax(330px,1.55fr) minmax(255px,1fr);gap:20px;align-items:start}.panel{padding:22px;background:var(--panel);border:1px solid var(--border);border-radius:10px;min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:22px}.panel-heading .eyebrow{font-size:7px;margin-bottom:7px;color:#728468;letter-spacing:1.35px}.panel-heading h2{font-size:14px;color:#d9e2d2}.panel-heading .button-row{margin:0}.panel-heading .button-row button{padding:7px 9px;font-size:10px}.game-panel{padding:22px 22px 17px}.status-dot{font-size:9px;color:#a3b393;display:flex;align-items:center;gap:6px}.status-dot:before{content:"";width:5px;height:5px;border-radius:50%;background:#697b5d}.status-dot.live{color:#b9ec78}.status-dot.live:before{background:#b9ec78;box-shadow:0 0 0 3px #b9ec7812}.board-focus{width:100%;aspect-ratio:1;max-width:580px;margin:0 auto;border-radius:7px}.board-canvas{width:100%;height:100%;min-height:180px;position:relative;overflow:hidden}.board-canvas canvas{display:block}.playback-controls{display:flex;align-items:center;gap:8px;margin-top:21px;flex-wrap:wrap}.playback-controls button{font-size:10px;padding:9px 11px}.speed-label{display:flex;align-items:center;gap:9px;margin-left:auto;font-size:9px;color:#839676;white-space:nowrap}.speed-label input{width:75px}.board-legend{display:flex;gap:13px;align-items:center;font-size:8px;color:#6f8263;margin-top:19px;padding-top:14px;border-top:1px solid #2c3926;flex-wrap:wrap}.board-legend span{display:inline-flex;align-items:center;gap:5px}.board-legend i{display:block;width:6px;height:6px;border-radius:2px;background:#b9ec78}.board-legend i.food{background:#f3a475;border-radius:50%}.board-legend i.path{background:#93cfa7;opacity:.4}.board-legend label{margin-left:auto;display:flex;align-items:center;gap:6px}.board-legend input{width:10px;height:10px}.inspector{display:flex;flex-direction:column;gap:17px}.field-label{display:flex;flex-direction:column;gap:9px;font-size:10px;color:#8b9c81;margin-bottom:16px}.field-label select,.field-label input{width:100%;font-size:11px;padding:11px}.agent-description{margin-top:15px}.agent-description p{font-size:10px;color:#94a587;line-height:1.85;margin:11px 0 17px}.detail-list{margin:0;padding-top:7px}.detail-list>div{display:flex;justify-content:space-between;gap:15px;margin:12px 0;font-size:10px}.detail-list dt{color:#778b6b}.detail-list dd{margin:0;color:#b6c6a9;overflow-wrap:anywhere}.sparkline{width:100%;height:90px;overflow:visible}.chart-axis{display:flex;justify-content:space-between;font-size:7px;color:#647b57;letter-spacing:.6px}.tiny-stats{display:flex;gap:22px;margin-top:20px;padding-top:15px;border-top:1px solid #303d2b;flex-wrap:wrap}.tiny-stats>span{display:flex;flex-direction:column;gap:6px;font-size:9px;color:#7b926d;flex:1;min-width:65px}.tiny-stats strong{font-size:15px;color:#bdd1aa;font-weight:500;letter-spacing:.2px}.replay-callout{display:flex;align-items:center;gap:12px;border:1px solid #35462c;border-radius:8px;background:#212d1c;padding:15px;color:#a4c684}.replay-callout strong{font-size:11px;color:#b9d89b;font-weight:550}.replay-callout p{font-size:9px;color:#7c9568;margin:5px 0 0}.replay-callout button{padding:6px;background:#344728;border-color:#425d30;margin-left:auto}.button-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.button-row+.button-row{margin-top:12px}.inspector>.button-row>button{flex:1;font-size:10px}.end-banner{border:1px solid #53623a;background:#2b3522;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:10px;padding:12px;margin-top:14px;border-radius:6px;color:#afc793}.end-banner span{font-size:9px}.dpad{text-align:center;margin:15px 0}.dpad button{width:43px;height:38px;margin:3px;font-size:18px}.experiment-layout{display:grid;grid-template-columns:minmax(320px,1fr) minmax(280px,1fr);gap:20px;align-items:start}.unstyled-fieldset{padding:0;border:0;min-width:0;margin:0}.unstyled-fieldset:disabled{opacity:.65}.muted{color:#8d9e82;font-size:11px}.centered{text-align:center}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 15px;margin-top:18px}.field-value{color:#cedbc1;font-size:14px;padding:11px 0;font-weight:500}.agent-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:18px 0}.agent-checks label{padding:11px;border:1px solid #36432e;border-radius:6px;display:flex;gap:9px;align-items:center;cursor:pointer;color:#bfceb2;font-size:10px}.agent-checks label:has(input:checked){background:#27351f;border-color:#526b3e}.agent-checks small{display:block;font-size:6px;letter-spacing:1px;color:#738b64;margin-top:5px}.notice{border-left:2px solid #6e914c;background:#25301e;padding:10px 12px;color:#93aa7f;font-size:10px;line-height:1.8;margin:17px 0}.progress-track{background:#111910;border-radius:3px;height:5px;margin-top:19px;overflow:hidden}.progress-track>div{height:100%;background:#b9ec78;transition:width .3s}.sample-board{height:280px;width:100%;max-width:340px;margin:0 auto 10px}.empty-state{min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#789264;padding:28px;gap:7px}.empty-state h3{color:#b0c79c;font-size:14px;font-weight:500;margin:13px 0 0}.empty-state p{font-size:11px;color:#799668;max-width:330px;margin:6px auto 0}.empty-state.compact{min-height:145px}.empty-state.large h2{margin:15px 0 0}.empty-state.large button{margin-top:18px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:10px;text-align:left;white-space:nowrap}th{font-weight:450;color:#79906a;font-size:9px;padding:10px;border-bottom:1px solid #37442f}td{padding:15px 10px;border-bottom:1px solid #2b3826;color:#b0c29f}td strong{font-size:10px;font-weight:500;display:block;color:#d1dfc2}td small{display:block;margin-top:4px;font-size:8px;color:#738a62}.accent{color:var(--accent)}.fine-print{font-size:9px;color:#6e875e;line-height:1.8;margin:15px 0 0}details{margin-top:18px}summary{cursor:pointer;font-size:10px;color:#adc995}details p{font-size:9px}.training-banner{display:flex;justify-content:space-between;align-items:center;padding:26px;border:1px solid #435937;border-radius:10px;background:radial-gradient(ellipse at 90% 10%,#3c542a99,transparent 70%),linear-gradient(120deg,#263321,#1d291b);overflow:hidden}.training-banner h2{font-size:23px;font-weight:500;color:#d6e9c6;margin:13px 0 9px}.training-banner p{font-size:11px;color:#91ae7a;margin:0}.network-glyph{font-size:30px;letter-spacing:10px;color:#98c96c;white-space:nowrap;text-shadow:0 0 30px #b9ec7844}.network-glyph span{font-size:50px;color:#576f42;font-weight:100;vertical-align:middle}.training-right{display:flex;flex-direction:column;gap:20px}.training-snapshot{display:flex;align-items:center;gap:20px}.training-snapshot>.board-canvas{width:50%;height:170px;min-height:170px}.training-snapshot>div:last-child{width:50%}.training-snapshot p{font-size:10px;color:#8fa47d;margin:13px 0}.training-snapshot strong{color:#c9ddb7;margin-left:7px}.training-snapshot small{font-size:9px;line-height:1.8}.status-line{font-size:10px;color:#a6c18e;line-height:1.6;margin:15px 0 0}.checkpoint-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.checkpoint-grid>div+div{border-left:1px solid #34432b;padding-left:28px}.checkpoint-grid button{font-size:10px}.hash-value{font-size:18px}.replay-slider{font-size:10px;color:#8ca576;display:flex;flex-direction:column;gap:15px;margin-top:22px}.replay-slider input{width:100%}.saved-list{display:grid;gap:10px}.saved-list button{justify-content:flex-start;text-align:left;background:#222e1e;padding:13px}.saved-list strong{font-size:11px;font-weight:500;display:block}.saved-list small{color:#829972;font-size:9px;display:block;margin-top:5px}.saved-list svg:last-child{margin-left:auto}.page-footer{display:flex;justify-content:space-between;gap:15px;padding:24px 2px 0;margin-top:7px;color:#546b46;font-size:8px;letter-spacing:.4px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%);z-index:100;background:#34442a;color:#e0edce;border:1px solid #647e48;box-shadow:0 10px 40px #0005;border-radius:9px;display:flex;align-items:center;gap:12px;padding:14px 16px;font-size:12px;max-width:calc(100vw - 28px);min-width:250px}.toast>span{line-height:1.6;overflow-wrap:anywhere}.toast button{padding:3px;background:none;border:0;margin-left:auto;color:#a8bc93}.modal-backdrop{position:fixed;inset:0;background:#070c08bd;backdrop-filter:blur(5px);z-index:50;display:flex;align-items:center;justify-content:center;padding:22px}.modal{max-width:620px;width:100%;max-height:90vh;overflow-y:auto;background:#1c281a;border:1px solid #4e643c;box-shadow:0 30px 80px #0008;border-radius:14px;padding:35px;position:relative}.modal-close{position:absolute;right:18px;top:18px;padding:5px;background:none;border:0}.modal h2{font-size:24px;margin:16px 0 20px}.modal p{font-size:12px;color:#a4b795}.modal ol{padding-left:20px;color:#a7be95;font-size:11px;line-height:2.2;margin:20px 0}.modal li{padding-left:5px;margin:6px 0}.modal strong{color:#d0e4ba}.modal .primary{margin-top:12px}.error{color:#e8a685!important}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}[hidden]{display:none!important}@media(min-width:1500px){.page{padding-left:50px;padding-right:50px}.game-layout{grid-template-columns:minmax(400px,1.7fr) minmax(290px,1fr)}.board-focus{max-width:610px}.inspector .panel{padding:25px}.agent-description p{font-size:12px}.detail-list>div{font-size:11px;margin:15px 0}}@media(max-width:1180px){.sidebar{width:190px;padding-left:15px;padding-right:15px}.brand{gap:8px}.brand>span{font-size:21px}.brand img{width:31px;height:31px}.brand small{font-size:5.8px}.app-shell>main{margin-left:190px;width:calc(100% - 190px)}.page{padding:28px 25px 18px}.topbar{padding:0 25px}.game-layout{grid-template-columns:minmax(300px,1.3fr) minmax(235px,1fr);gap:15px}.panel{padding:18px}.configuration-bar{gap:12px;padding:11px}.configuration-bar>.local-tag{display:none}.metric{padding:0 14px}.metric strong{font-size:23px}.speed-label{width:100%;justify-content:flex-end;margin-top:5px}.training-banner .network-glyph{display:none}.experiment-layout{grid-template-columns:minmax(270px,1fr) minmax(250px,1fr)}.agent-checks{gap:6px}.agent-checks label{font-size:9px;padding:9px}.training-snapshot{gap:12px}.training-snapshot>.board-canvas{height:140px;min-height:140px}}@media(max-width:930px){.sidebar{width:77px;padding:24px 11px 18px}.brand{justify-content:center;margin-bottom:30px}.brand>span,.nav-label,nav button span,nav button i,.sidebar-bottom .privacy-card,.help-link,.build-label{display:none}.brand img{width:36px;height:36px}nav{gap:12px}nav button{padding:14px;justify-content:center}nav button.active{background:#344927}.app-shell>main{margin-left:77px;width:calc(100% - 77px)}.page{padding:25px 22px 18px}.topbar{height:58px;padding:0 22px}.game-layout{grid-template-columns:minmax(300px,1.3fr) minmax(220px,1fr);gap:15px}.game-panel{padding:16px}.metric strong{font-size:21px}.board-legend{gap:9px}.experiment-layout{grid-template-columns:1fr 1fr;gap:15px}.form-grid{grid-template-columns:1fr}.training-snapshot{flex-direction:column;align-items:stretch}.training-snapshot>.board-canvas{width:100%;height:180px}.training-snapshot>div:last-child{width:100%}.network-glyph{display:none}.checkpoint-grid{gap:20px}.checkpoint-grid>div+div{padding-left:20px}}@media(max-width:720px){.sidebar{position:fixed;inset:auto 0 0;width:100%;height:68px;border-right:0;border-top:1px solid #35462e;background:#172015f7;backdrop-filter:blur(10px);padding:7px 10px;z-index:20}.brand,.sidebar-bottom{display:none}nav{flex-direction:row;justify-content:space-between;gap:3px}nav button{display:flex;flex:1;flex-direction:column;gap:4px;padding:7px 3px;border:0;border-radius:6px}nav button svg{width:18px;height:18px}nav button span{display:block;font-size:8px;white-space:nowrap}nav button small{display:none}.app-shell>main{margin-left:0;width:100%;padding-bottom:68px}.topbar{height:51px;padding:0 20px}.topbar>div{gap:11px}.topbar .local-tag{font-size:8px}.topbar-right .icon-button{padding:5px}.topbar-right svg{width:15px;height:15px}.page{padding:24px 16px 18px}.page-heading{margin-bottom:21px;gap:10px}.page-heading h1{font-size:24px;letter-spacing:-.7px}.page-heading p{font-size:10px;line-height:1.8;max-width:310px}.page-heading .eyebrow{font-size:7px;letter-spacing:1.3px}.version-pill{display:none}.lab-content{gap:15px}.configuration-bar{padding:11px;gap:10px;border-radius:8px}.configuration-bar>label{font-size:9px;gap:6px}.configuration-bar select{min-width:83px;font-size:10px;padding:8px}.configuration-bar input[type=number]{width:65px;font-size:10px;padding:8px}.configuration-bar .segmented{width:auto}.configuration-bar .segmented button{font-size:10px;padding:7px 10px}.configuration-bar>.check-label{width:100%;margin:0}.metrics-row{padding:15px 0;border-radius:8px;gap:0}.metric{padding:0 12px;gap:6px}.metric>span{font-size:8px}.metric strong{font-size:20px;letter-spacing:-.5px}.metric small{font-size:6px;letter-spacing:0;line-height:1.5}.game-layout,.experiment-layout{grid-template-columns:1fr}.game-panel{padding:17px 15px 14px}.panel-heading{margin-bottom:17px}.panel-heading h2{font-size:13px}.panel-heading .eyebrow{font-size:6px}.panel-heading .status-dot{font-size:8px}.board-focus{max-width:460px}.playback-controls{gap:6px;margin-top:17px}.playback-controls button{font-size:9px;padding:8px 11px}.speed-label{width:auto;margin-left:auto;margin-top:0;font-size:8px;gap:6px}.speed-label input{width:52px}.board-legend{font-size:7px;gap:10px;margin-top:15px;padding-top:12px}.board-legend label{font-size:7px}.inspector{gap:15px}.inspector .panel{padding:19px}.agent-description p{font-size:11px}.detail-list>div{font-size:11px}.inspector .sparkline{height:75px}.inspector .replay-callout{padding:16px}.form-grid{grid-template-columns:1fr 1fr}.agent-checks label{font-size:11px}.sample-board{height:280px}.training-banner{padding:22px}.training-banner h2{font-size:20px}.training-banner p{font-size:10px;line-height:1.7}.training-banner .eyebrow{font-size:7px}.training-snapshot{flex-direction:row;align-items:center}.training-snapshot>.board-canvas{width:50%;height:160px;min-height:160px}.training-snapshot>div:last-child{width:50%}.checkpoint-grid{grid-template-columns:1fr;gap:22px}.checkpoint-grid>div+div{border-left:0;border-top:1px solid #34432b;padding-left:0;padding-top:22px}.page-footer{font-size:7px;line-height:1.7;padding-top:20px}.page-footer>span:last-child{max-width:160px;text-align:right}.modal{padding:27px 22px}.modal h2{font-size:22px}.modal p{font-size:11px}.modal ol{font-size:10px}.toast{bottom:84px;padding:12px;font-size:11px;width:calc(100% - 28px)}.hash-value{font-size:11px}.empty-state.large{min-height:300px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}.arena-selectors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}.arena-choice{display:flex;flex-direction:column;gap:7px;padding:12px;background:var(--panel-bg,#242c26);border:1px solid #4b5b48;border-radius:10px;min-width:0}.arena-choice>span{font-size:12px;color:#d2dfc4}.arena-choice select{width:100%;min-width:0}.arena-choice small{color:#acb8a5}.arena-selectors>p{grid-column:1/-1;margin:0}@media(max-width:720px){.arena-selectors{grid-template-columns:1fr}}:root{--paper:#f4f2e9;--ink:#17281f;--accent:#c7f36b;--border:#d3d9cb;--muted:#52644e;--panel:#fffef8;color:var(--ink);background:var(--paper);font-family:Segoe UI Variable Text,Segoe UI,Microsoft YaHei,sans-serif}body{min-width:320px}button,input,select{font-size:13px}button{min-height:44px;border-radius:5px;padding:10px 15px;color:var(--ink);background:transparent;border-color:#bdc8b5;font-weight:600;transition:background .16s,border-color .16s}button:hover:not(:disabled){background:#e5ebda;border-color:#6a7d5b}button:active:not(:disabled){transform:none}button.primary{background:#263e2a;color:#f5ffe8;border-color:#263e2a}button.primary:hover:not(:disabled){background:#3b5630}button.subtle{background:#e9f4d9;color:#243e21;border-color:#9db37e}button:disabled{opacity:.48}input,select{min-height:44px;color:var(--ink);background:#fafbf4;border-color:#bcc8b5;border-radius:4px}input[type=checkbox]{min-height:18px;width:18px;height:18px;accent-color:#426228}input[type=range]{min-height:24px;accent-color:#426228}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #527f23;outline-offset:4px}h1{font-size:clamp(28px,2.6vw,42px);font-weight:650;letter-spacing:-1.5px;line-height:1.2;margin-bottom:10px}h2{font-weight:650}p{font-size:13px;line-height:1.8}small{font-size:11px}.sidebar{width:208px;background:#17261d;border-color:#17261d;padding:28px 18px 22px;color:#e9efdf}.brand{gap:10px;margin-bottom:44px}.brand>span{font-size:25px;letter-spacing:-1.2px;color:#f4f5e9}.brand>span>span{color:#c7f36b}.brand small{font-family:Consolas,monospace;font-size:7px;color:#becbad;letter-spacing:.5px}.brand img{width:34px;height:34px}.nav-label{font-family:Consolas,monospace;font-size:10px;letter-spacing:1.5px;color:#a6b79b;margin-bottom:12px}nav{gap:8px;counter-reset:workspaces}nav button{color:#becbb7;min-height:60px;padding:12px 10px;border-radius:5px;gap:10px;counter-increment:workspaces}nav button span{font-size:13px}nav button small{font-family:Consolas,monospace;font-size:8px;color:#a6b79b;letter-spacing:.5px}nav button.active{background:#c7f36b;color:#1b311c;border-color:#c7f36b}nav button.active small{color:#375022}nav button.active i{background:#29451c}nav button:hover:not(:disabled){background:#2d4130;border-color:#607052}nav button.active:hover{background:#d7ff89}.sidebar-bottom{padding-top:28px}.privacy-card{background:none;border-color:#495c40;border-radius:5px;padding:16px}.privacy-card strong{font-size:12px;color:#e0ebd4}.privacy-card p{font-size:11px;color:#b4c4a8}.privacy-card svg{color:#c7f36b}.help-link{color:#c2cfb7;font-size:12px}.help-link:hover{background:#2d4130!important}.build-label{border-color:#465b3c;color:#a3b697;font-family:Consolas,monospace;font-size:9px;letter-spacing:.3px}.app-shell>main{margin-left:208px;width:calc(100% - 208px)}.topbar{height:58px;padding:0 34px;border-color:#d4dacd;background:#efeee4}.topbar>div{gap:14px}.topbar span:first-child:not(.local-tag){font-family:Consolas,monospace;font-size:10px;letter-spacing:1.5px;color:#596952}.topbar strong{font-size:12px;color:#31472e}.slash{color:#849079}.topbar .icon-button{border-color:#aaba9b;min-height:36px;border-radius:4px}.local-tag{font-family:Consolas,Microsoft YaHei,monospace;font-size:11px;color:#506347}.local-tag>span{background:#517a33;width:6px;height:6px}.page{max-width:1480px;padding:28px 34px 20px}.page-heading{margin-bottom:24px;align-items:flex-end;gap:20px}.page-heading p{font-size:13px;line-height:1.7;color:#52644e;max-width:690px}.eyebrow{font:10px/1.4 Consolas,monospace;letter-spacing:1.6px;color:#506c3e;margin-bottom:10px}.eyebrow-line{background:#8da675;width:40px}.version-pill{font:10px Consolas,monospace;color:#4d6441;border:1px solid #bac8ac;border-radius:3px;padding:12px;letter-spacing:.5px}.version-pill span{color:#314e25}.lab-content{gap:18px}.configuration-bar{border:1px solid #c8d2bd;background:#e9ecdf;border-radius:5px;padding:11px 14px;gap:18px}.configuration-bar>label{font-size:12px;color:#405339}.configuration-bar select,.configuration-bar input[type=number]{font-size:12px;padding:8px 10px}.configuration-bar .check-label{line-height:1.5}.segmented{background:#dce3d2;border:1px solid #bac7ad;border-radius:4px;padding:3px}.segmented button{font-size:12px;color:#415737;min-height:36px;border-radius:2px;padding:8px 12px}.segmented button.selected{background:#faffec;color:#223c20;box-shadow:0 1px 3px #2032111a}.segmented.full button{min-height:44px;font-size:13px}.metrics-row{background:transparent;border-width:0 0 1px;border-radius:0;padding:12px 0 18px}.metric{padding:0 22px;border-color:#cbd5bf;gap:6px}.metric:first-child{padding-left:2px}.metric>span{font-size:12px;color:#52634b}.metric strong{font-family:Consolas,Segoe UI,sans-serif;font-size:32px;letter-spacing:-1.3px;color:#18331f;font-weight:500;line-height:1.2;font-variant-numeric:tabular-nums}.metric small{font-size:10px;color:#5b6b50;letter-spacing:0}.game-layout{grid-template-columns:minmax(360px,1.65fr) minmax(280px,1fr);gap:20px}.panel{background:#fffef8;border-color:#d0d8c7;border-radius:6px;padding:22px;box-shadow:0 2px #263a1510}.panel-heading{margin-bottom:19px;align-items:flex-start}.panel-heading h2{font-size:16px;letter-spacing:-.3px;color:#233c26}.panel-heading .eyebrow{font:9px Consolas,monospace;color:#61734f;letter-spacing:1.1px;margin-bottom:7px}.panel-heading .button-row button{font-size:12px;min-height:40px;padding:8px 11px}.game-panel{background:#182920;border:1px solid #314b36;padding:22px;box-shadow:0 5px #ced5c2;color:#d9e5ce}.game-panel .panel-heading h2{color:#f1f5e5}.game-panel .eyebrow{color:#b6c4a4}.game-panel .status-dot{color:#c2d2b2;font-size:11px}.game-panel .status-dot:before{background:#a2b58e}.game-panel .status-dot.live{color:#c7f36b}.game-panel .status-dot.live:before{background:#c7f36b;box-shadow:none}.board-focus{max-width:570px;border-radius:3px}.board-canvas{border-radius:3px}.game-panel .board-focus:focus-visible{outline:2px solid #c7f36b;outline-offset:6px}.playback-controls{gap:8px;margin-top:20px}.playback-controls button{font-size:12px;min-height:44px;padding:10px 14px}.game-panel button{background:#243b2b;border-color:#587448;color:#e3efd7}.game-panel button:hover:not(:disabled){background:#35513a;border-color:#9ac47d}.game-panel button.primary{background:#c7f36b;border-color:#c7f36b;color:#1b321a}.game-panel button.primary:hover{background:#d9ff93}.game-panel button:focus-visible{outline-color:#efffc9}.speed-label{font:11px Consolas,monospace;color:#c3d3b4;margin-left:auto}.speed-label input{width:75px;accent-color:#c7f36b}.board-legend{border-color:#465c3e;font-size:10px;color:#c0d0b0;margin-top:18px;padding-top:14px;gap:14px}.board-legend input{width:16px;height:16px;min-height:16px;accent-color:#c7f36b}.board-legend label{min-height:32px}.board-legend i{width:7px;height:7px}.end-banner{border-color:#adbd75;background:#303f23;color:#ecf4c9;font-size:12px;align-items:flex-start}.end-banner span{font-size:11px}.inspector{gap:18px}.field-label{font-size:12px;color:#49613d;gap:8px;margin-bottom:17px}.field-label select,.field-label input{font-size:13px;padding:11px}.agent-description p{font-size:13px;line-height:1.85;color:#465c3c;margin:13px 0 18px}.badge{border-color:#b4c59f;background:#eaf0df;color:#40562d;font:10px/1.3 Consolas,Microsoft YaHei,monospace;border-radius:3px;letter-spacing:.2px}.detail-list{padding-top:6px}.detail-list>div{font-size:12px;margin:13px 0;padding-bottom:10px;border-bottom:1px solid #e1e6d7}.detail-list>div:last-child{border-bottom:0;padding-bottom:0}.detail-list dt{color:#5a6d4e}.detail-list dd{color:#293f25;font-variant-numeric:tabular-nums}.tiny-stats{border-color:#d7dfcb;margin-top:18px;padding-top:15px;gap:18px}.tiny-stats>span{color:#566e47;font-size:11px}.tiny-stats strong{font:19px Consolas,monospace;color:#294b27;letter-spacing:-.4px}.sparkline{height:105px}.chart-axis{color:#536b44;font:9px Consolas,monospace;letter-spacing:.2px}.replay-callout{border-color:#aabc91;background:#e3eccf;border-radius:5px;padding:17px;color:#44652d}.replay-callout strong{font-size:13px;color:#294820}.replay-callout p{font-size:11px;color:#4e683c;margin-top:7px}.replay-callout button{background:#d0e0b5;border-color:#97ad77;color:#2e4b20;min-width:44px;min-height:44px}.inspector>.button-row>button{font-size:12px;min-height:44px}.dpad button{width:54px;height:48px;margin:4px;font-size:20px;background:#edf2e2}.button-row{gap:9px}.experiment-layout{grid-template-columns:minmax(310px,1fr) minmax(290px,1fr);gap:20px}.muted{color:#53674a;font-size:13px}.form-grid{gap:0 18px;margin-top:20px}.field-value{color:#2c4528;font:16px Consolas,monospace}.agent-checks{gap:10px}.agent-checks label{font-size:12px;color:#314d28;padding:12px;border-color:#bccbaf;border-radius:4px;min-height:54px}.agent-checks label:has(input:checked){background:#eaf1df;border-color:#6c8b50}.agent-checks small{font:8px Consolas,monospace;color:#5a7548;letter-spacing:.8px}.notice{background:#eef2e2;border-left:3px solid #6c8a43;color:#4b6139;font-size:12px;padding:12px 14px;line-height:1.8}.fine-print{font-size:11px;line-height:1.8;color:#536b42}.progress-track{background:#dbe4cd;height:6px;margin-top:22px}.progress-track>div{background:#537532}.empty-state{color:#6b8952;padding:28px;min-height:250px;border:1px dashed #c1ceaf;border-radius:4px;background:#fafbf4}.empty-state h3{font-size:16px;color:#37522b}.empty-state h2{font-size:24px;color:#294921}.empty-state p{font-size:13px;color:#566e45;line-height:1.8}.empty-state.compact{min-height:155px}.empty-state.large{min-height:350px}.sample-board{height:320px;max-width:350px}.table-scroll{border:1px solid #d2ddc6;border-radius:4px}table{font-size:12px}th{font-size:11px;color:#506c3e;padding:14px 12px;background:#eaf0e0;border-color:#c5d4b4}td{padding:16px 12px;color:#38502b;border-color:#e2e8d9}td strong{font-size:13px;color:#284520}td small{font-size:10px;color:#5b7546}.accent{color:#365c20}tbody tr:hover{background:#f0f5e8}summary{font-size:12px;color:#335c25;padding:10px 0}details p{font-size:12px}.training-banner{position:relative;background:#dce9c3;border:1px solid #acbf8e;border-radius:6px;padding:23px 26px;box-shadow:none}.training-banner h2{font-size:25px;letter-spacing:-.6px;color:#23441e;margin:8px 0}.training-banner p{font-size:13px;color:#426035}.training-banner .eyebrow{color:#43682e;font-size:10px}.network-glyph{font:28px Consolas,monospace;color:#52762b;text-shadow:none;letter-spacing:7px}.network-glyph span{color:#95b46e;font-size:42px}.training-snapshot{gap:20px}.training-snapshot>.board-canvas{height:200px;min-height:200px;border:6px solid #193223;border-radius:4px}.training-snapshot p{color:#506b3f;font-size:13px}.training-snapshot strong{color:#21471c}.training-snapshot small{font-size:11px}.status-line{color:#2f5924;font:12px/1.8 Consolas,Microsoft YaHei,monospace;background:#edf3e4;border:1px solid #becfaf;padding:10px 12px;border-radius:4px;overflow-wrap:anywhere}.checkpoint-grid{gap:28px}.checkpoint-grid>div+div{border-color:#cfddc0}.checkpoint-grid button{font-size:12px}.checkpoint-grid h3{font-size:16px;color:#294622}.check-label{font-size:12px;color:#415d33;gap:9px;min-height:36px;line-height:1.65}.replay-slider{font-size:12px;color:#456039;gap:16px}.hash-value{font-size:19px}.saved-list button{padding:16px;background:#edf3e3;border-color:#c1d0af}.saved-list strong{font-size:13px}.saved-list small{font-size:11px;color:#526f40}.page-footer{color:#566b48;font:10px/1.8 Consolas,Microsoft YaHei,monospace;letter-spacing:0;padding-top:24px}.toast{background:#203b26;border-color:#739b51;color:#f0f8df;border-radius:5px;font-size:13px;box-shadow:0 6px 22px #18281725}.toast button{color:#d5e9be;min-width:36px;min-height:36px}.modal-backdrop{background:#162416ba;backdrop-filter:none}.modal{background:#f7f7ed;border-color:#b7cba3;color:#263e20;border-radius:8px;padding:36px;box-shadow:0 20px 80px #101d193f}.modal h2{color:#203e1a;font-size:28px}.modal p,.modal ol{font-size:14px;color:#455f36}.modal strong{color:#28491f}.modal .modal-close{min-width:44px;min-height:44px}.error{color:#a33228!important;background:#fff0e9;border-color:#e5b19b;overflow-wrap:anywhere}.board-stage{height:100%;width:100%;display:flex;flex-direction:column;min-height:0}.board-stage>.board-canvas{flex:1;min-height:0}.board-switcher{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:12px}.board-switcher button{min-height:44px;padding:7px 9px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:3px;min-width:0}.board-switcher button strong{font-size:11px;white-space:normal}.board-switcher button small{font:10px Consolas,monospace;color:#c7d7b5}.board-switcher button[aria-pressed=true]{background:#c7f36b;color:#1d3618;border-color:#c7f36b}.board-switcher button[aria-pressed=true] small{color:#314b24}@media(min-width:1500px){.page{padding-left:44px;padding-right:44px}.game-layout{grid-template-columns:minmax(440px,1.75fr) minmax(300px,1fr)}.inspector .panel{padding:24px}.detail-list>div{font-size:13px}.agent-description p{font-size:14px}.board-focus{max-width:610px}}@media(max-width:1180px){.sidebar{width:180px;padding:25px 13px}.brand>span{font-size:23px}.app-shell>main{margin-left:180px;width:calc(100% - 180px)}.page{padding:24px}.topbar{padding:0 24px}.game-layout{grid-template-columns:minmax(290px,1.3fr) minmax(250px,1fr);gap:16px}.panel,.game-panel{padding:18px}.configuration-bar{gap:12px}.metric{padding:0 15px}.metric strong{font-size:29px}.speed-label{width:100%;margin-top:4px}.experiment-layout{grid-template-columns:minmax(270px,1fr) minmax(250px,1fr)}.training-banner .network-glyph{display:none}.agent-checks label{font-size:12px}.training-snapshot>.board-canvas{height:170px;min-height:170px}}@media(max-width:930px){.sidebar{width:76px;padding:22px 10px}.brand{margin-bottom:32px}.brand img{width:36px;height:36px}.app-shell>main{margin-left:76px;width:calc(100% - 76px)}nav button{padding:13px;min-height:54px}.page{padding:24px 22px}.game-layout{grid-template-columns:minmax(270px,1.25fr) minmax(235px,1fr)}.experiment-layout{grid-template-columns:1fr 1fr}.metric strong{font-size:27px}.training-snapshot{flex-direction:column}.training-snapshot>.board-canvas{width:100%;height:200px}.training-snapshot>div:last-child{width:100%}}@media(max-width:760px){.game-layout,.experiment-layout{grid-template-columns:1fr}.board-focus{max-width:510px}.speed-label{width:auto}.form-grid{grid-template-columns:1fr 1fr}.training-snapshot{flex-direction:row}.training-snapshot>.board-canvas{width:50%}.training-snapshot>div:last-child{width:50%}}@media(max-width:720px){.sidebar{width:100%;height:76px;padding:7px 8px;border-top:1px solid #b3c79a;background:#182b1f;backdrop-filter:none}.app-shell>main{margin:0;width:100%;padding-bottom:76px}nav{gap:3px}nav button{min-height:59px;padding:7px 3px;gap:5px}nav button span{font-size:10px}nav button svg{width:19px;height:19px}nav button.active{background:#c7f36b;color:#243918}.topbar{height:49px;padding:0 16px}.topbar .local-tag{font-size:10px}.topbar .icon-button{min-width:36px;min-height:36px}.page{padding:22px 16px 18px}.page-heading{margin-bottom:18px}.page-heading h1{font-size:28px;letter-spacing:-1px}.page-heading p{font-size:12px;line-height:1.7;max-width:none}.page-heading .eyebrow{font-size:9px;letter-spacing:1px}.lab-content{gap:15px}.configuration-bar{padding:10px;gap:8px}.configuration-bar>label{font-size:11px;gap:5px}.configuration-bar input[type=number]{width:64px;font-size:12px}.configuration-bar select{min-width:80px;font-size:12px}.configuration-bar .segmented{width:100%}.configuration-bar .segmented button{flex:1;font-size:12px;min-height:38px}.configuration-bar .check-label{font-size:11px}.metrics-row{padding:7px 0 14px;gap:0}.metric{padding:0 10px;gap:6px}.metric>span{font-size:10px}.metric strong{font-size:24px}.metric small{font-size:9px;line-height:1.5}.game-panel{padding:16px 14px}.panel-heading{margin-bottom:16px}.panel-heading h2{font-size:15px}.panel-heading .eyebrow{font-size:9px}.game-panel .status-dot{font-size:10px}.playback-controls{gap:7px;margin-top:16px}.playback-controls button{min-height:44px;font-size:11px;padding:9px 12px}.speed-label{font-size:11px;width:100%;justify-content:space-between;margin-top:7px}.speed-label input{width:65%;min-height:28px}.board-legend{font-size:10px;gap:10px;margin-top:12px;padding-top:10px}.board-legend label{font-size:10px;margin-left:0;min-height:34px}.inspector .panel{padding:20px}.agent-description p{font-size:13px}.detail-list>div{font-size:12px}.inspector .sparkline{height:110px}.inspector .replay-callout{padding:17px}.panel{padding:19px}.agent-checks label{font-size:12px;padding:11px}.training-banner{padding:22px}.training-banner h2{font-size:23px;line-height:1.35}.training-banner p{font-size:12px}.training-banner .eyebrow{font-size:9px}.training-snapshot>.board-canvas{height:170px;min-height:170px}.training-snapshot p{font-size:12px}.training-snapshot small{font-size:11px}.checkpoint-grid{grid-template-columns:1fr}.checkpoint-grid>div+div{border-top:1px solid #cfddc0;border-left:0;padding:24px 0 0}.checkpoint-grid button{font-size:12px}.page-footer{font-size:9px;line-height:1.7}.page-footer>span:last-child{max-width:170px}.toast{bottom:88px;font-size:12px}.hash-value{font-size:13px}.modal{padding:28px 22px}.modal p,.modal ol{font-size:13px}.empty-state.large{min-height:300px}.game-panel:has(.board-switcher) .board-focus{aspect-ratio:auto;height:440px}.board-switcher{grid-template-columns:1fr 1fr}}@media(max-width:360px){.page{padding:20px 12px}.page-heading h1{font-size:25px}.metric{padding:0 7px}.metric strong{font-size:21px}.metric small{font-size:8px}.panel{padding:15px}.game-panel{padding:14px 11px}.form-grid{gap:0 10px}.agent-checks{grid-template-columns:1fr}.segmented.full button{font-size:11px;padding:8px}.training-banner{padding:19px}.training-banner h2{font-size:21px}.training-banner .eyebrow{font-size:8px}.game-panel:has(.board-switcher) .board-focus{height:380px}.checkpoint-grid button{padding:10px}.tiny-stats{gap:12px}.network-glyph{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.training-snapshot>.board-stage{width:50%;height:200px;min-height:200px;border:6px solid #193223;border-radius:4px;flex-shrink:0}.measured-chart{margin:0}.measured-chart figcaption{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:11px;color:#526d3e;margin:3px 0 14px}.measured-chart strong{font:20px Consolas,monospace;color:#355c24}.measured-chart svg:focus-visible{outline:2px solid #567e36;outline-offset:4px;border-radius:3px}@media(min-width:761px)and (max-width:930px){.training-snapshot>.board-stage{width:100%;height:200px}}@media(max-width:720px){.training-snapshot>.board-stage{height:160px;min-height:160px}}.slash{color:#53664a}.network-glyph span{color:#5d793e}.topbar .icon-button{min-width:44px;min-height:44px}.segmented button,.configuration-bar .segmented button{min-height:44px}.game-panel .board-switcher button[aria-pressed=true]:hover{background:#d5ff89;color:#1d3618}.game-panel .board-switcher button[aria-pressed=true]:hover small{color:#314b24}.panel-heading .button-row button{min-height:44px}.page-heading .eyebrow{margin-bottom:6px}.page-heading h1{font-size:clamp(28px,2.5vw,38px);margin-bottom:8px}.page-heading{margin-bottom:18px}.page{padding-top:22px}.metrics-row{padding-top:6px;padding-bottom:14px}.configuration-bar .check-label{margin:0;min-height:44px}.game-toolbar{display:flex;align-items:center;gap:14px}.game-toolbar>.segmented{flex-shrink:0}.rule-controls{margin:0;min-width:0;flex:1}.rule-controls>summary{display:none}.game-panel{display:flex;flex-direction:column}.game-panel>.panel-heading{order:0}.game-panel>.playback-controls{order:1;margin-top:0;margin-bottom:16px}.game-panel>.board-focus{order:2}.game-panel>.end-banner{order:3}.game-panel>.board-legend{order:4}.game-panel .status-dot.live:before{animation:live-signal 1.8s ease-in-out infinite}@keyframes live-signal{50%{opacity:.4}}@media(min-width:721px){.game-panel .board-focus{max-width:clamp(280px,calc(100vh - 560px),480px)}.game-toolbar .configuration-bar{gap:12px;padding:8px 12px}.game-toolbar .local-tag{display:none}}@media(max-width:1180px)and (min-width:721px){.game-toolbar{flex-wrap:wrap}.game-toolbar .rule-controls{flex-basis:100%}.game-toolbar>.segmented{margin:0}}@media(max-width:720px){.topbar .icon-button{min-width:44px;min-height:44px}.game-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:9px}.game-toolbar>.segmented button{flex:1;min-height:44px}.rule-controls{width:100%}.rule-controls>summary{display:list-item;min-height:44px;padding:12px 14px;border:1px solid #bacaad;background:#e9efdf;border-radius:4px;font-size:12px;color:#3f5b31;cursor:pointer}.rule-controls[open]>summary{border-radius:4px 4px 0 0}.rule-controls .configuration-bar{border-top:0;border-radius:0 0 4px 4px}.game-panel>.playback-controls{margin-bottom:14px}.game-panel .board-focus{max-width:460px}.game-panel:has(.board-switcher) .board-focus{height:420px}.page-heading h1{font-size:28px}.metrics-row{padding-top:5px;padding-bottom:13px}.lab-content:has(.training-banner)>.metrics-row{grid-template-columns:1fr 1fr;row-gap:18px}.lab-content:has(.training-banner)>.metrics-row .metric:nth-child(2){border:0}.lab-content:has(.training-banner)>.metrics-row .metric:nth-child(3){padding-left:2px}.lab-content:has(.training-banner)>.metrics-row .metric>span{font-size:12px}.lab-content:has(.training-banner)>.metrics-row .metric strong{font-size:27px}}@media(max-width:360px){.page-heading h1{font-size:25px}.game-panel:has(.board-switcher) .board-focus{height:350px}.game-panel>.playback-controls{gap:5px}.playback-controls button{padding:9px 10px}}@media(max-width:400px){.experiment-layout .form-grid{grid-template-columns:1fr}.metric:last-child{padding-right:0}}.training-snapshot>.board-stage{background:#10251b}@media(max-width:720px){.game-panel:has(.board-switcher) .board-focus{height:auto;aspect-ratio:auto}.game-panel:has(.board-switcher) .board-stage{height:auto}.game-panel:has(.board-switcher) .board-canvas{flex:none;width:min(100%,max(180px,calc(100svh - 420px)));height:auto;aspect-ratio:1;margin:0 auto}.game-panel:has(.board-switcher){scroll-margin-top:8px}.board-switcher{flex-shrink:0}}:root{color-scheme:dark;--paper:#242c28;--ink:#dce4d7;--accent:#a6bd92;--border:#4b5c4d;--muted:#b5c1b0;--panel:#29332d;--raised:#303c34;--field:#202923;--selected:#40533e;--focus:#b8cf9f;color:var(--ink);background:var(--paper)}button,input,select{color:var(--ink);border-color:#788875;background:var(--field)}button:hover:not(:disabled),.game-panel button:hover:not(:disabled){background:#394a3a;border-color:#a6b69c}button.primary,.game-panel button.primary,button.subtle{background:var(--selected);color:#e2eadb;border-color:#809675}button.primary:hover:not(:disabled),.game-panel button.primary:hover,button.subtle:hover:not(:disabled){background:#4a6045;color:#e2eadb}input[type=checkbox],input[type=range],.speed-label input,.board-legend input{accent-color:var(--accent)}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,[tabindex]:focus-visible,.game-panel button:focus-visible,.game-panel .board-focus:focus-visible,.measured-chart svg:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.sidebar,.topbar{background:#232c26;border-color:var(--border)}.brand>span,.brand>span>span,.topbar strong{color:var(--ink)}.brand img{filter:saturate(.35) brightness(.85)}.brand small,.nav-label,nav button small,.build-label,.topbar span:first-child:not(.local-tag),.slash,.local-tag,.page-heading p,.eyebrow,.version-pill,.version-pill span,.page-footer{color:var(--muted)}nav button{color:var(--ink);background:transparent}.sidebar nav button.active{background:var(--selected);color:var(--ink);border-color:#758b6b}.sidebar nav button.active small{color:#d0ddc5}.sidebar nav button:hover:not(:disabled){background:#394a3a;color:var(--ink)}nav button.active i,.local-tag>span,.eyebrow-line{background:var(--accent)}.privacy-card{border-color:var(--border)}.privacy-card strong,.privacy-card p,.help-link{color:var(--muted)}.privacy-card svg{color:var(--accent)}.help-link:hover{background:#394a3a!important}.build-label,.version-pill,.topbar .icon-button{border-color:var(--border)}.configuration-bar,.segmented,.rule-controls>summary{background:#2b372e;border-color:var(--border);color:var(--ink)}.configuration-bar>label,.segmented button,.check-label,.field-label,.replay-slider{color:var(--ink)}.segmented button{background:transparent}.segmented button.selected{background:var(--selected);color:var(--ink);box-shadow:none}.metrics-row,.metric,.tiny-stats{border-color:var(--border)}.metric>span,.metric small{color:var(--muted)}.metric strong{color:var(--ink)}.panel,.game-panel{background:var(--panel);border-color:var(--border);box-shadow:none;color:var(--ink)}.panel-heading h2,.game-panel .panel-heading h2,.checkpoint-grid h3{color:var(--ink)}.panel-heading .eyebrow,.game-panel .eyebrow,.game-panel .status-dot,.game-panel .status-dot.live{color:var(--muted)}.game-panel .status-dot:before,.game-panel .status-dot.live:before{background:var(--accent)}.game-panel button{background:#2c392f;border-color:#788875;color:var(--ink)}.speed-label,.board-legend{color:var(--muted)}.board-legend{border-color:var(--border)}.game-panel .board-switcher button[aria-pressed=true],.game-panel .board-switcher button[aria-pressed=true]:hover{background:var(--selected);color:var(--ink);border-color:#a6bd92}.board-switcher button small,.game-panel .board-switcher button[aria-pressed=true] small,.game-panel .board-switcher button[aria-pressed=true]:hover small{color:#d0ddc5}.end-banner,.notice,.status-line{background:#303e31;color:#c8d8bb;border-color:#718366}.agent-description p,.detail-list dt,.tiny-stats>span,.chart-axis,.muted,.fine-print,.measured-chart figcaption{color:var(--muted)}.detail-list dd,.tiny-stats strong,.field-value,.measured-chart strong{color:var(--ink)}.detail-list>div{border-color:var(--border)}.badge{background:#354332;border-color:#718366;color:#c9d9bc}.replay-callout,.training-banner{background:#303e32;border-color:#61765a;color:var(--ink)}.replay-callout strong,.training-banner h2{color:var(--ink)}.replay-callout p,.training-banner p,.training-banner .eyebrow{color:var(--muted)}.replay-callout button,.dpad button{background:#394b38;color:var(--ink);border-color:#788875}.agent-checks label{background:var(--field);color:var(--ink);border-color:#788875}.agent-checks label:has(input:checked){background:#354633;border-color:#8fa381}.agent-checks small{color:#c0ceb7}.progress-track{background:#3c4c3d}.progress-track>div{background:#91aa7e}.empty-state{background:#263028;border-color:#61735a;color:var(--muted)}.empty-state h2,.empty-state h3{color:var(--ink)}.empty-state p{color:var(--muted)}.table-scroll,th,td{border-color:var(--border)}th{background:#303d32;color:#c4d2bb}td,td strong{color:var(--ink)}td small{color:var(--muted)}.accent{color:#b7cba5}tbody tr:hover{background:#334335}summary{color:#c2d2b4}.network-glyph,.network-glyph span{color:#9fb58c}.training-snapshot p,.training-snapshot small{color:var(--muted)}.training-snapshot strong{color:var(--ink)}.training-snapshot>.board-stage{background:#27372d;border-color:#374b3b}.checkpoint-grid>div+div{border-color:var(--border)}.saved-list button{background:#303d32;border-color:#788875}.saved-list small{color:var(--muted)}.toast{background:#354633;border-color:#809675;color:#e2eadb;box-shadow:0 4px 18px #17201b30}.toast button{color:#e2eadb}.modal-backdrop{background:#19221dd9}.modal{background:#2c372f;border-color:#72846a;color:var(--ink);box-shadow:0 16px 50px #18201b55}.modal h2,.modal strong{color:var(--ink)}.modal p,.modal ol{color:#c2ceba}.error{color:#efb3a1!important;background:#49362f;border-color:#b68e7b}.error h2,.error h3,.error p{color:#efc2b3}.toast button,.playback-controls button[aria-label]{min-width:44px;min-height:44px}.board-canvas>canvas{position:absolute;inset:0}.page:has([data-testid=arena-lab]){max-width:1760px}.page:has([data-testid=arena-lab]),.page:has([data-testid=game-lab]){padding-top:16px}.page:has([data-testid=arena-lab]) .page-heading,.page:has([data-testid=game-lab]) .page-heading{margin-bottom:12px}.page:has([data-testid=arena-lab]) h1,.page:has([data-testid=game-lab]) h1{font-size:30px;margin-bottom:5px}[data-testid=arena-lab] .metrics-row,[data-testid=game-lab] .metrics-row{padding-block:3px 10px}[data-testid=arena-lab] .metric strong,[data-testid=game-lab] .metric strong{font-size:26px}[data-testid=arena-lab] .game-layout{grid-template-columns:minmax(0,1fr) 260px;align-items:start}[data-testid=game-lab] .game-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start}[data-testid=game-lab] .game-panel .board-focus{max-width:720px}[data-testid=arena-lab] .game-panel .board-focus{max-width:1120px;height:auto;aspect-ratio:auto}[data-testid=arena-lab] .board-stage{height:auto}[data-testid=arena-lab] .game-panel .board-canvas{flex:none;width:100%;height:auto;aspect-ratio:1;margin:0 auto}[data-testid=arena-lab] .board-canvas.multi-board{box-sizing:content-box;padding-bottom:52px}[data-testid=arena-lab] .multi-board>canvas{position:absolute;inset:0}@media(max-width:1180px){[data-testid=arena-lab] .game-layout,[data-testid=game-lab] .game-layout{grid-template-columns:minmax(0,1fr)}[data-testid=arena-lab] .inspector,[data-testid=game-lab] .inspector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}@media(max-width:720px){[data-testid=arena-lab] .inspector,[data-testid=game-lab] .inspector{grid-template-columns:minmax(0,1fr)}[data-testid=arena-lab] .game-panel>.playback-controls{position:sticky;top:0;z-index:2;background:var(--panel);padding-block:8px}[data-testid=arena-lab] .board-focus{scroll-margin-top:100px;scroll-margin-bottom:80px}.page:has([data-testid=arena-lab]) h1,.page:has([data-testid=game-lab]) h1{font-size:26px}}.welcome-demo{display:grid;gap:5px;margin:0 0 16px}.welcome-demo strong{color:var(--accent)}.welcome-demo small{color:var(--muted);line-height:1.5}@media(max-width:720px){.page:has(.welcome-demo)>.page-heading{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0;margin:0}.lab-content:has(.welcome-demo)>.metrics-row{display:none}.welcome-demo{margin-bottom:0}}@media(max-width:720px){.welcome-demo small{display:none}.lab-content:has(.welcome-demo) .game-toolbar{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:8px}.lab-content:has(.welcome-demo) .rule-controls>summary{font-size:10px;padding:12px 8px}.lab-content:has(.welcome-demo) .game-panel .board-focus{max-width:min(100%,max(180px,calc(100svh - 470px)))}}
