:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#e4e5e9;background:#17181b;color-scheme:dark;--panel:rgba(30,31,35,.94);--line:#383a40;--muted:#95979f;--red:#ef5b62;--soft-red:#ef5b621c;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{border:0;background:none;color:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--red);outline-offset:4px}button:hover{background:#ffffff0b}button:disabled{opacity:.45;cursor:default}[hidden]{display:none!important}.icon{width:18px;height:18px;vertical-align:middle;flex-shrink:0}.icon-button{width:32px;height:32px;display:inline-grid;place-items:center;border-radius:5px;color:#aaacb4;padding:0}.icon-button:hover,.icon-button[aria-pressed=true]{color:#fafafa;background:#35363d}.icon-button[aria-pressed=true]{color:var(--red)}.small-label{font-size:10px;letter-spacing:1.1px;font-weight:500}.floating-panel{background:var(--panel);border:1px solid var(--line);border-radius:9px;box-shadow:0 12px 35px #00000029;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.workspace,.stage,#canvas-container{position:fixed;inset:0}.stage{background:radial-gradient(ellipse at 42% 50%,#24262b 0,#1a1b1f,#141518)}#canvas-container canvas{display:block;width:100%;height:100%;touch-action:none}.topbar{position:fixed;z-index:5;top:20px;left:24px;right:24px;height:54px;display:flex;justify-content:space-between;align-items:center;padding:0 12px;gap:12px}.topbar-left,.topbar-right{display:flex;align-items:center;gap:10px;min-width:0}.app-name{font-size:13px;font-weight:600;text-decoration:none;display:flex;align-items:center;gap:10px;white-space:nowrap}.app-name .icon{color:var(--red);width:19px;height:19px}.header-divider{height:18px;width:1px;background:#45474e;margin:0 6px;flex-shrink:0}#breadcrumb{font-size:11px;color:var(--muted);white-space:nowrap}.architecture{display:flex;gap:8px;align-items:center;color:var(--muted)}.architecture>.icon{height:15px;width:15px}.architecture select{border:0;background:transparent;padding:6px 4px;color:#d4d5db;font-size:11px;max-width:175px;cursor:pointer}.architecture select option{background:#26272c}.lesson-heading{position:fixed;z-index:2;top:107px;left:30px;max-width:440px;pointer-events:none;text-shadow:0 2px 8px #17181b}.eyebrow{display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:1.25px;color:#777a84}.eyebrow>span:first-child{color:var(--red);font-variant-numeric:tabular-nums}#lesson-tag{border-left:1px solid #45474e;padding-left:12px}h1{font-size:27px;font-weight:500;letter-spacing:-.9px;line-height:1.2;margin:10px 0 9px}.lesson-heading p{font-size:12px;color:#8d9099;line-height:1.6;margin:0;max-width:375px}.board-caption{position:fixed;left:30px;bottom:136px;display:flex;gap:12px;align-items:center;font-size:9px;color:#656972;letter-spacing:.25px;pointer-events:none}.board-caption>span:first-child{color:#9b9da5;font-family:Consolas,monospace;letter-spacing:1px}.stage-bottom{position:fixed;left:30px;bottom:113px;right:30px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:9px;color:#8f929b;pointer-events:none}.legend{display:flex;gap:17px}.legend>span{display:flex;align-items:center;gap:6px}.legend i{width:4px;height:4px;background:#f2ac6c;border-radius:50%}.legend .data-dot{background:#8fe4be}.legend .ownership-dot{background:#c3adfa}.orbit-hint{font-size:9px;color:#696d77}.sidebar{position:fixed;z-index:8;top:85px;left:24px;bottom:113px;width:288px;display:flex;flex-direction:column;visibility:hidden;opacity:0;transform:translateY(-5px);transition:opacity .15s,transform .15s;max-height:800px}.sidebar.mobile-open{visibility:visible;opacity:1;transform:translateY(0)}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:14px 15px 10px;font-size:13px}.drawer-header b{font-size:10px;font-weight:400;color:#81848e;padding-left:8px}.search-box{display:flex;align-items:center;gap:9px;margin:5px 15px 19px;border:1px solid #3a3c43;border-radius:5px;padding:9px 10px;background:#25262b;color:#858994}.search-box .icon{height:14px;width:14px}.search-box input{font-size:11px;color:#dedfe5;border:0;background:transparent;min-width:0;flex:1;outline:none}.search-box input::placeholder{color:#7f828c}.search-box kbd{font-size:9px;color:#70747f;border:1px solid #44464e;border-radius:3px;padding:0 4px}#lesson-nav{overflow:auto;flex:1;min-height:0;padding:0 8px;scrollbar-width:thin;scrollbar-color:#474951 transparent}.nav-group{margin-bottom:19px}.nav-group h2{font-size:10px;font-weight:400;color:#787c87;padding:0 12px;margin:0 0 9px}.nav-lesson{display:flex;align-items:center;gap:12px;font-size:11px;text-align:left;width:100%;padding:10px 11px;border-radius:4px;color:#b9bbc3;line-height:1.3;border:1px solid transparent}.nav-lesson.active{background:var(--soft-red);color:#eeeef1;border-color:#ef5b6230}.nav-number{font-size:9px;color:#686d79;font-variant-numeric:tabular-nums;min-width:17px}.active .nav-number{color:var(--red)}.nav-indicator{margin-left:auto;width:4px;height:4px;flex-shrink:0;border-radius:50%}.active .nav-indicator{background:var(--red)}.nav-check{width:12px;height:12px;color:#787c86;margin-left:auto}.no-results{font-size:12px;color:#8b8f99;padding:15px}.sidebar-bottom{border-top:1px solid var(--line);padding:14px 18px 17px;margin-top:7px}.sidebar-bottom>button{width:100%;display:flex;gap:10px;align-items:center;text-align:left;font-size:11px;padding:8px 0;color:#b9bbc3}.sidebar-bottom>button .icon{width:14px;height:14px;color:#8b8e98}.sidebar-bottom>button .icon:last-child{margin-left:auto}.course-progress{display:flex;justify-content:space-between;font-size:9px;color:#696e79;margin-top:18px;margin-bottom:8px}.course-track{height:2px;background:#363840;border-radius:1px;overflow:hidden}.course-track>div{height:100%;background:var(--red)}.walkthrough{position:fixed;z-index:3;right:24px;top:96px;width:290px;overflow:hidden;max-height:calc(100dvh - 208px)}.walkthrough-heading{height:45px;display:flex;gap:12px;align-items:center;padding:0 12px 0 18px;font-size:11px;color:#c4c6cf}.step-pill{margin-left:auto;font-size:9px;color:#8a8e99;font-family:Consolas,monospace}.walkthrough-heading .icon{width:14px;height:14px}.walkthrough-body{border-top:1px solid var(--line);padding:16px 18px;overflow:auto;max-height:calc(100dvh - 253px);scrollbar-width:thin;scrollbar-color:#474951 transparent}.walkthrough.minimized .walkthrough-body{display:none}.scenario{display:flex;gap:3px;background:#17181b;padding:3px;border:1px solid #303239;border-radius:5px;margin:0 0 19px}.scenario button{flex:1;font-size:10px;line-height:1.4;padding:7px 4px;color:#7f838e;border-radius:3px}.scenario button.active{background:#36373e;color:#f2f2f5;box-shadow:inset 0 -1px #ef5b6250}.signal-label{font-size:8px;letter-spacing:1px;color:#a2a5af}.signal-label[data-signal=request]{color:#daaf89}.signal-label[data-signal=data]{color:#99b5a8}.signal-label[data-signal=ownership]{color:#b8a6ca}.signal-label[data-signal=invalidate]{color:#e39497}.signal-label[data-signal=compute]{color:#a5bac9}.step-detail p{font-size:12px;line-height:1.8;color:#b2b5bf;margin:9px 0 12px}.value-chip{display:inline-block;font-family:Consolas,monospace;font-size:10px;border:1px solid #3e4048;border-radius:4px;background:#28292f;padding:6px 8px;color:#ced0d8;max-width:100%}.sequence{margin-top:20px;border-top:1px solid #35373e;padding-top:12px}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.sequence summary{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#b9bcc5;align-items:center}.sequence summary:after{content:"+";font-size:14px;color:#818591}.sequence[open] summary:after{content:"−"}.sequence summary>span{margin-left:auto;font-size:9px;color:#747984}#step-list{list-style:none;padding:14px 0 0;margin:0;max-height:260px;overflow:auto;scrollbar-width:thin;scrollbar-color:#474951 transparent}#step-list button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;font-size:10px;padding:7px 0;color:#858a96;border-radius:3px}.step-marker{height:19px;width:19px;border:1px solid #40434b;border-radius:4px;display:grid;place-items:center;flex:none;font-size:9px;font-family:Consolas,monospace;color:#777d88}#step-list .active{color:#e6e7ed}#step-list .active .step-marker{background:var(--soft-red);border-color:#ad5156;color:#f9848a}#step-list .done .step-marker{color:#969aa5}.metrics{display:flex;justify-content:space-between;gap:8px;padding-top:16px;margin-top:16px;border-top:1px solid #35373e}.metrics b{font-size:18px;font-weight:500;letter-spacing:-.5px;font-variant-numeric:tabular-nums;display:block;color:#dedfe5}.metrics span{font-size:8px;display:block;margin-top:5px;color:#7c818d}.metric-note{font-size:8px;display:block;color:#636a76;margin-top:14px}.page-footer{border-top:1px solid #35373e;margin-top:15px;padding-top:12px}.page-footer button{font-size:11px;display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:0;color:#a6aab5}.page-footer .icon{width:14px;height:14px;color:var(--red)}.playback{position:fixed;z-index:4;left:50%;transform:translate(-50%);bottom:24px;display:flex;align-items:center;gap:20px;width:min(660px,calc(100% - 48px));height:68px;padding:0 18px}.transport{display:flex;gap:6px;align-items:center}.transport .icon-button{width:27px;height:29px}.transport .icon{width:15px;height:15px}.play-button{height:34px;width:34px;display:grid;place-items:center;background:var(--red);color:#fff;border-radius:6px;flex:none}.play-button:hover{background:#f77379}.play-button .icon{height:15px;width:15px}.scrubber{flex:1;min-width:60px}.scrubber-label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:8px;color:#8a8e99;margin-bottom:10px}.scrubber-label>span:first-child{font-family:Consolas,monospace;white-space:nowrap}.scrubber-label>span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:165px;font-size:9px}.timeline{display:flex;gap:4px}.timeline button{height:3px;flex:1;background:#41434b;border-radius:1px;position:relative;padding:0}.timeline button:after{content:"";position:absolute;inset:-8px 0}.timeline button.done{background:#835158}.timeline button.active{background:#645158}.timeline button span{height:100%;background:var(--red);display:block;border-radius:1px;width:0}.playback-settings{display:flex;align-items:center;gap:12px;flex:none;color:#9a9da8}.repeat-label{font-size:9px;display:flex;gap:5px;align-items:center}.repeat-label input{accent-color:var(--red);width:11px;height:11px;margin:0}.playback-settings select{font-size:11px;color:#bec1cb;border:1px solid #3d4048;border-radius:4px;background:#292a30;padding:5px 3px;cursor:pointer}.notes-panel{position:fixed;z-index:4;left:24px;bottom:174px;width:375px;max-height:calc(100dvh - 385px);overflow:auto;scrollbar-width:thin;scrollbar-color:#474951 transparent}.notes-panel>summary{display:flex;align-items:center;gap:9px;padding:14px 15px;font-size:11px;color:#ced0d8;min-height:45px}.notes-panel>summary>.icon{width:14px;height:14px;color:#9297a3}.notes-panel>summary>.icon:last-child{margin-left:auto;width:12px;transform:rotate(-90deg)}.notes-panel[open]>summary>.icon:last-child{transform:rotate(90deg)}.summary-meta{font-size:9px;color:#747a86;margin-left:auto}.notes-body{border-top:1px solid var(--line);padding:17px}.tabs{display:flex;gap:18px;border-bottom:1px solid #393c44}.tabs button{font-size:10px;padding:0 0 11px;color:#8f95a2;position:relative;white-space:nowrap}.tabs button[aria-selected=true]{color:#e9eaf0}.tabs button[aria-selected=true]:after{position:absolute;content:"";bottom:-1px;left:0;right:0;height:2px;background:var(--red)}#tab-content{padding-top:15px}.description{font-size:12px;line-height:1.9;color:#a8aeba;margin:0}.takeaway{display:flex;gap:10px;border-left:2px solid #a95057;padding:9px 0 9px 12px;margin-top:14px}.takeaway>span{display:none}.takeaway p{font-size:11px;line-height:1.7;color:#898f9c;margin:0}pre{background:#15161a;border:1px solid #343740;border-radius:5px;font-size:10px;font-family:Consolas,monospace;line-height:1.85;padding:13px;overflow:auto;margin:0;color:#c2c6d1;tab-size:2}.experiment-link{display:flex;flex-direction:column;gap:9px;font-size:10px;color:#878e9b;margin-top:13px}.experiment-link a{display:flex;align-items:center;gap:6px;text-decoration:none;color:#ef959a}.experiment-link .icon{height:13px;width:13px}.model-note{display:flex;gap:9px;font-size:11px;line-height:1.7;border-top:1px solid #393c44;margin-top:14px;padding-top:13px;color:#858d9c}.model-note p{margin:0}.model-note .icon{height:15px;width:15px;margin-top:3px}.line-inspector{margin-top:18px;border-top:1px solid #393c44;padding-top:16px}.line-inspector.custom>:not(#concept-visual){display:none}.line-title{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#969dad;font-size:10px;margin-bottom:12px}.line-title .small-label{font-size:8px;letter-spacing:.9px;color:#7e8594}.line-cells{display:grid;grid-template-columns:repeat(16,1fr);gap:3px}.line-cells span{height:24px;display:grid;place-items:center;font-family:Consolas,monospace;font-size:8px;color:#656e7d;background:#292c34;border:1px solid #3b414d;border-radius:2px}.line-cells .lit{background:#6b3a42;color:#efb1b5;border-color:#a35961}.line-ruler{display:flex;justify-content:space-between;gap:10px;font-size:8px;color:#697381;margin-top:8px}.cache-states{display:flex;gap:16px;align-items:center;font-size:9px;color:#8c96a4;margin-top:14px}.cache-states b{font-family:Consolas,monospace;font-size:10px;font-weight:400;background:#30343d;padding:3px 5px;border-radius:3px;color:#c2c8d4;margin-left:5px}.cache-states button{margin-left:auto;padding:0;color:#828b9b}.cache-states .icon{height:13px;width:13px}.line-inspector p{font-size:10px;line-height:1.7;color:#7c8797;margin:12px 0 0}.pipeline-table{font-size:9px;border-collapse:collapse;width:100%;text-align:center;color:#6b7789}.pipeline-table th{font-size:8px;font-weight:400;padding:5px}.pipeline-table td{padding:5px}.pipeline-table thead{border-bottom:1px solid #3c4451}.pipeline-table .current{background:#693943;color:#edb1b7}.pipeline-table .past{color:#9ba6b8}.vector-row{display:flex;gap:5px}.vector-row>span{flex:1;display:grid;place-items:center;height:27px;background:#282d37;border:1px solid #3e4859;border-radius:3px;color:#818ea4;font:11px Consolas,monospace}.vector-row>span.lit{background:#603b47;border-color:#a05b6c;color:#efbdc7}.diagram-operation{text-align:center;font-size:9px;padding:5px;color:#8090a6}.register-demo{display:flex;gap:8px}.register-demo>span{flex:1;padding:10px;border:1px solid #3b4351;background:#2a2e37;border-radius:4px;font-size:9px;color:#818ea4}.register-demo b{display:block;margin-top:4px;font-size:20px;font-weight:500;color:#c3cbd9}.register-demo .lit{border-color:#aa616c;background:#553842}.translation-diagram{display:flex;flex-direction:column;align-items:center;gap:3px}.translation-diagram>span{display:flex;justify-content:space-between;width:100%;padding:8px 10px;border:1px solid #414957;background:#282e38;border-radius:4px;font-size:9px;color:#7f8ca2}.translation-diagram b{font:10px Consolas,monospace}.translation-diagram .lit{border-color:#975963;background:#563743;color:#dbadb8}.translation-diagram i{font-size:11px;color:#818da2}.numa-diagram{display:flex;gap:8px;align-items:center}.numa-diagram>span{flex:1;text-align:center;font-size:10px;background:#292e39;border:1px solid #3b4453;color:#73849b;padding:15px 7px;border-radius:4px}.numa-diagram .lit{background:#533944;color:#e0b0be;border-color:#885967}.numa-diagram b{display:block;font-size:8px;font-weight:400;margin-top:7px}.numa-diagram i{font-size:15px;color:#9e8cbb}.branch-diagram{display:flex;gap:5px;align-items:center;font-size:8px;margin:18px 0}.branch-diagram>span{flex:1;text-align:center;padding:10px 6px;background:#2b3039;border:1px solid #3d4656;color:#7e8ca3;border-radius:3px}.branch-diagram .lit{background:#533842;color:#dba8b5;border-color:#865766}.branch-diagram .flushed{background:#643c42;text-decoration:line-through;color:#e3939d}.dram-rows{display:flex;flex-direction:column;gap:5px}.dram-rows>div{display:flex;gap:4px;align-items:center}.dram-rows span{font-size:8px;min-width:31px;color:#77879e}.dram-rows i{height:14px;background:#2c323e;border:1px solid #3b4659;flex:1;border-radius:2px}.dram-rows .lit i{background:#643d49;border-color:#9e5d71}.row-buffer{display:flex;justify-content:space-between;font-size:8px;border-top:1px solid #3a4453;margin-top:12px;padding-top:10px;color:#7888a0}.row-buffer b{font-weight:400;color:#b4becf}.separate-lines>span{display:block;font-size:9px;color:#8d9ab0;margin:10px 0 5px}.component-picker{margin-top:17px;padding-top:12px;border-top:1px solid #393c44;font-size:10px;color:#979fad}.component-picker summary:after{content:" +";color:#ed727b}.component-accessibility{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:12px}.component-accessibility button{padding:7px;text-align:left;font-size:9px;line-height:1.5;border:1px solid #3a424f;border-radius:4px;color:#929db0}#restore-ui{position:fixed;z-index:9;bottom:24px;right:24px;display:flex;gap:9px;align-items:center;padding:12px 14px;font-size:11px;color:#b3b7c4}.panels-hidden .topbar,.panels-hidden .lesson-heading,.panels-hidden .walkthrough,.panels-hidden .notes-panel,.panels-hidden .playback,.panels-hidden .sidebar,.panels-hidden .board-caption,.panels-hidden .stage-bottom{display:none}dialog{background:#24262c;border:1px solid #464953;color:#e1e4ed;border-radius:10px;padding:25px 28px;max-width:630px;width:calc(100% - 32px);max-height:85dvh;box-shadow:0 25px 100px #0008}dialog::backdrop{background:#101114bb;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog-header{display:flex;justify-content:space-between;align-items:center;color:#818999;margin-bottom:18px}dialog h2{font-size:24px;font-weight:500;letter-spacing:-.7px;margin:0 0 15px}dialog h3{font-size:13px;font-weight:500;margin:22px 0 8px}dialog p{font-size:12px;line-height:1.9;color:#9da6b8}dialog .fine-print{font-size:10px;color:#7e8ca3}.guide-movies{display:flex;flex-direction:column;border:1px solid #3d485a;border-radius:5px;overflow:hidden;margin-top:20px}.guide-movies button{display:flex;gap:13px;align-items:center;padding:14px 15px;text-align:left;font-size:11px;background:#2b313d;color:#b8c3d6}.guide-movies button+button{border-top:1px solid #3d485a}.guide-movies b{font-size:10px;color:#ef8a98}.guide-movies .icon{margin-left:auto;width:14px}.download-link{display:inline-flex;gap:8px;align-items:center;font-size:11px;text-decoration:none;color:#f3a1ae;padding:10px 13px;background:#65384766;border:1px solid #915265;border-radius:5px;margin:10px 0 16px}.resource-list{font-size:11px;line-height:2.3;padding-left:18px;color:#a4b2cd}.webgl-fallback{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:100px;text-align:center;color:#b8c3d8}.webgl-fallback>.icon{height:45px;width:45px;color:#de798e}.webgl-fallback h2{font-size:20px;font-weight:500}.webgl-fallback p{font-size:12px;line-height:1.8;max-width:400px;color:#8999b5}.fallback-path{font:12px Consolas,monospace}@media(max-width:1050px){#breadcrumb,.topbar-left>.header-divider{display:none}.topbar{left:18px;right:18px}.walkthrough{right:18px;width:264px}.lesson-heading{left:24px;max-width:350px}h1{font-size:24px}.notes-panel{left:18px;width:345px}.topbar-right{gap:4px}.playback{width:min(620px,calc(100% - 36px))}.scrubber-label>span:last-child{max-width:140px}}@media(max-width:760px){.topbar{top:12px;left:12px;right:12px;height:48px;padding:0 8px}.topbar-left,.topbar-right{gap:5px}.app-name{font-size:11px;gap:6px}.app-name .icon{width:15px;height:15px}.topbar .icon-button{height:29px;width:29px}.topbar-right .architecture>.icon,.topbar-right .header-divider,#about,#explode,#top-view,#reset-camera{display:none}.architecture select{max-width:119px;font-size:9px;padding:5px 0}.lesson-heading{top:84px;left:18px;max-width:calc(100% - 36px)}h1{font-size:23px;margin:8px 0 6px}.eyebrow{font-size:8px}.lesson-heading p{font-size:10px;max-width:300px}.sidebar{top:71px;left:12px;width:min(288px,calc(100% - 24px));bottom:96px;max-height:none}.walkthrough{top:auto;bottom:96px;right:12px;width:calc(100% - 24px);max-height:calc(100dvh - 260px)}.walkthrough-body{max-height:calc(100dvh - 310px);padding:14px 16px}.walkthrough-heading{height:41px;padding-left:15px;font-size:11px}.notes-panel{left:12px;bottom:149px;width:calc(100% - 24px);max-height:calc(100dvh - 340px)}.notes-panel[open]{z-index:6}.notes-panel>summary{padding:12px 14px;min-height:42px;font-size:11px}.summary-meta{font-size:8px}.notes-body{padding:14px}.walkthrough:not(.minimized){z-index:7}.playback{bottom:16px;height:64px;width:calc(100% - 24px);padding:0 12px;gap:12px}.transport{gap:1px}.transport .icon-button{height:28px;width:24px}.play-button{height:32px;width:32px}.scrubber-label>span:last-child{display:none}.repeat-label{display:none}.playback-settings select{font-size:10px}.board-caption{left:18px;bottom:213px;font-size:8px}.stage-bottom{left:18px;bottom:198px;font-size:8px}.legend{gap:13px}.orbit-hint{display:none}#restore-ui{bottom:16px;right:12px}dialog{padding:22px}.webgl-fallback{padding:150px 28px}.line-cells{gap:2px}.line-cells span{font-size:8px}.tabs{gap:18px}.tabs button{font-size:10px}}@media(max-height:650px)and (min-width:761px){.lesson-heading{top:92px}h1{font-size:22px}.notes-panel{max-height:calc(100dvh - 230px)}.walkthrough{top:86px;max-height:calc(100dvh - 182px)}.walkthrough-body{max-height:calc(100dvh - 227px)}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}.view-menu>summary{display:none}.view-menu-body{display:flex;gap:6px}@media(max-width:760px){.view-menu>summary{display:grid;place-items:center;height:29px;width:29px;color:#a0a6b2;border-radius:4px}.view-menu[open]>summary{background:#353940;color:#eee}.view-menu-body{position:absolute;top:56px;right:0;width:220px;display:flex;flex-direction:column;gap:2px;padding:8px;background:#25272c;border:1px solid #454951;border-radius:7px;box-shadow:0 10px 30px #0006}.view-menu-body #about,.view-menu-body #explode,.view-menu-body #top-view,.view-menu-body #reset-camera,.view-menu-body #focus-mode{display:flex;align-items:center;gap:10px;width:100%;height:35px;padding:7px 8px;text-align:left}.view-menu-body .icon-button:after{content:attr(title);font-size:11px;color:#adb3c1}.view-menu-body .icon{width:15px;height:15px}.view-menu:not([open])>.view-menu-body{display:none}}.hardware-tooltip{position:fixed;top:0;left:0;z-index:10;pointer-events:none;width:280px;max-width:calc(100vw - 24px);padding:15px 17px;background:#1e2023f7;border:1px solid #505650;border-radius:8px;box-shadow:0 12px 35px #0005;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hardware-tooltip-section{display:block;color:#c97e82;font-size:8px;letter-spacing:1.3px;margin-bottom:7px}.hardware-tooltip strong{display:block;color:#e3e7e1;font-size:13px;font-weight:500}.hardware-tooltip p{font-size:11px;line-height:1.7;color:#9fa8a2;margin:8px 0 0}@media(max-width:760px){.view-menu-body #focus-cpu{display:flex;align-items:center;gap:10px;width:100%;height:35px;padding:7px 8px;text-align:left}}@media(min-width:761px){.notes-panel{left:24px;bottom:24px;width:clamp(240px,24vw,375px);max-height:none;overflow:visible}.notes-panel>summary{min-height:66px}.notes-panel[open]{border-top-left-radius:0;border-top-right-radius:0}.notes-panel .notes-body{position:absolute;bottom:100%;left:-1px;right:-1px;max-height:calc(100dvh - 200px);overflow:auto;scrollbar-width:thin;background:var(--panel);border:1px solid var(--line);border-bottom:0;border-radius:9px 9px 0 0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.playback{width:min(660px,calc(100vw - clamp(240px,24vw,375px) - 72px));left:max(50%,calc(48px + clamp(240px,24vw,375px) + min(660px,calc(100vw - clamp(240px,24vw,375px) - 72px))/2))}}@media(min-width:761px)and (max-width:1100px){.notes-panel .summary-meta{display:none}.notes-panel .tabs{gap:10px}}@media(max-width:760px){.notes-panel{bottom:16px;left:12px;width:44px;max-height:none;overflow:visible}.notes-panel>summary{min-height:62px;padding:0;justify-content:center}.notes-panel>summary span,.notes-panel>summary>.icon:last-child{display:none}.notes-panel .notes-body{position:absolute;bottom:calc(100% + 12px);left:-1px;width:calc(100vw - 24px);max-height:calc(100dvh - 240px);overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:9px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.playback{left:68px;transform:none;width:calc(100% - 80px);padding:0 10px;gap:10px}.scrubber{min-width:30px}}.lab-mode-button{display:flex;align-items:center;gap:9px;background:#303237;border:1px solid #484b51;color:#e3e4e6;border-radius:6px;padding:7px 11px;font-size:12px;white-space:nowrap}.lab-mode-button span{font-size:9px;color:#ff777d}.lab-mode .lesson-heading,.lab-mode .walkthrough,.lab-mode .notes-panel,.lab-mode .playback,.lab-mode .board-caption,.lab-mode .stage-bottom,.lab-mode .architecture,.lab-mode #focus-mode{display:none}.lab-mode .stage{left:var(--lab-ide-width,50%);background:radial-gradient(ellipse at 50% 45%,#24262b 0,#1a1b1f 65%,#141518)}.lab-mode #canvas-container{position:absolute;inset:0}.lab-mode .topbar{top:0;left:0;right:auto;width:var(--lab-ide-width,50%);height:48px;padding:0 12px;border:0;border-bottom:1px solid #34373d;border-radius:0;background:#23252a;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:15}.lab-mode .topbar .header-divider,.lab-mode #breadcrumb{display:none}.lab-mode .view-menu{position:relative;top:auto;right:auto;padding:0 0 0 8px;background:transparent;border:0;border-left:1px solid #3a3d43;border-radius:0;flex:none}.lab-mode .topbar-left,.lab-mode .topbar-right{gap:8px}.lab-mode .app-name{font-size:11px;gap:7px}.lab-mode .view-menu-body{gap:3px}.lab-mode .view-menu-body .icon-button{width:28px;height:28px}.lab-mode .topbar.lab-nav-compact .view-menu>summary{display:grid;place-items:center;width:28px;height:28px;color:#a0a6b2;border-radius:4px}.lab-mode .topbar.lab-nav-compact .view-menu-body{position:absolute;top:36px;right:0;width:220px;display:flex;flex-direction:column;gap:2px;padding:8px;background:#25272c;border:1px solid #454951;border-radius:7px;box-shadow:0 10px 30px #0006}.lab-mode .topbar.lab-nav-compact .view-menu:not([open])>.view-menu-body{display:none}.lab-mode .topbar.lab-nav-compact .view-menu-body .icon-button{display:flex;align-items:center;gap:10px;width:100%;height:35px;padding:7px 8px;text-align:left}.lab-mode .topbar.lab-nav-compact .view-menu-body .icon-button:after{content:attr(title);font-size:11px;color:#adb3c1}.lab-mode .sidebar{z-index:16;top:54px;left:8px;bottom:8px;width:min(288px,calc(var(--lab-ide-width,50%) - 16px));max-height:none}#cpp-lab[hidden]{display:none}#cpp-lab{position:fixed;inset:0;pointer-events:none;z-index:12;color:#d8d9dc}#cpp-lab button,#cpp-lab select,#cpp-lab input,#cpp-lab textarea{font:inherit}#cpp-lab button{cursor:pointer;border:1px solid #3a3d43;border-radius:5px;color:#dedfe1;background:#292c31;padding:7px 11px;font-size:11px}#cpp-lab button:disabled{opacity:.35;cursor:default}#cpp-lab button:hover:enabled{background:#3b3e45}#cpp-lab button:focus-visible,#cpp-lab summary:focus-visible,#cpp-lab [role=tabpanel]:focus-visible{outline:2px solid #f15b66;outline-offset:-2px}#cpp-lab .lab-primary{background:#bf3f49;border-color:#d2525c;color:#fff}#cpp-lab .lab-primary:hover:enabled{background:#d14b55}#cpp-lab select{background:#292c31;color:#d7d8db;border:1px solid #41444b;border-radius:5px;padding:5px 7px;font-size:11px;max-width:180px}.lab-ide{position:absolute;top:48px;left:0;bottom:0;width:var(--lab-ide-width,50%);display:flex;flex-direction:column;pointer-events:auto;background:#1c1e22;border-right:1px solid #41444b;min-width:0}.lab-divider{position:absolute;top:48px;bottom:0;left:var(--lab-ide-width,50%);width:9px;transform:translate(-50%);pointer-events:auto;cursor:col-resize;touch-action:none;z-index:14;outline:none}.lab-divider:before{content:"";position:absolute;top:0;bottom:0;left:4px;width:1px;background:#42464e;transition:background .15s}.lab-divider:after{content:"";position:absolute;top:50%;left:3px;width:3px;height:36px;border-radius:3px;background:#737b88;transform:translateY(-50%)}.lab-divider:hover:before,.lab-divider:focus-visible:before,.lab-resizing .lab-divider:before{background:#ed6472;width:2px}.lab-divider:hover:after,.lab-divider:focus-visible:after,.lab-resizing .lab-divider:after{background:#ed6472}.lab-resizing,.lab-resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.lab-editor-panel{display:flex;flex-direction:column;flex:1;min-height:200px;overflow:hidden}.lab-panel-heading{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;flex:none;border-bottom:1px solid #30333a;background:#202227}.lab-panel-heading>div{display:flex;align-items:center;gap:12px}.lab-kicker{font-size:8px;letter-spacing:1.2px;color:#e47780;order:2}.lab-panel-heading h1{font-size:13px;letter-spacing:0;margin:0;font-weight:500}.lab-language{font:10px monospace;color:#858e9b}.lab-filebar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 16px;border-bottom:1px solid #30333a;font:11px monospace;background:#24262b;flex:none}.lab-filebar>span{display:flex;align-items:center;gap:8px}.lab-filebar>span:before{content:"C++";font-size:9px;color:#d18c97}.lab-editor-wrap{position:relative;display:flex;flex:1;min-height:80px;overflow:hidden;background:#191b1f}.lab-gutter{width:48px;flex:none;overflow:hidden;padding:12px 0;font:12px/23px ui-monospace,Consolas,monospace;color:#565c66;text-align:center;-webkit-user-select:none;user-select:none}.lab-gutter span{display:block;height:23px}.lab-gutter .current{color:#ff8b94}.lab-editor-content{position:relative;flex:1;min-width:0;overflow:hidden}#cpp-lab .lab-highlight,#cpp-lab #lab-editor{font:13px/23px ui-monospace,Consolas,monospace;letter-spacing:0;tab-size:4;padding:12px 16px 12px 0;margin:0;border:none;border-radius:0;white-space:pre;text-align:left}#cpp-lab .lab-highlight{position:absolute;inset:0 auto auto 0;min-width:100%;width:max-content;overflow:visible;background:none;pointer-events:none;color:#ccd1d9}#cpp-lab #lab-editor{position:absolute;inset:0;width:100%;height:100%;resize:none;color:transparent;caret-color:#fafafa;background:transparent;outline:none}#cpp-lab #lab-editor::selection{background:#727c8f4d;color:transparent}.lab-code-line{display:block;height:23px}.lab-code-line.current{background:#df4d5c21;box-shadow:inset 2px 0 #ed6370}.syntax-keyword{color:#d58b9b}.syntax-number{color:#baa2d7}.syntax-string{color:#9ebfae}.syntax-comment{color:#68747b}.lab-runbar{display:flex;gap:8px;padding:9px 16px 5px;flex:none;border-top:1px solid #30333a}.lab-runbar kbd{font:9px monospace;margin-left:18px;color:#f7c4c7}#lab-status{padding:2px 16px 8px;color:#818995;font-size:10px;line-height:1.5;flex:none;overflow-wrap:anywhere}#lab-status.error{color:#f1858e}.lab-help{padding:7px 16px;border-top:1px solid #30333a;flex:none;max-height:150px;overflow:auto}#cpp-lab summary{cursor:pointer;color:#9ba3ae;font-size:10px}.lab-help p{font-size:11px;line-height:1.7;color:#939ba6;margin:10px 0}.lab-state-panel{height:34%;min-height:210px;max-height:48%;display:flex;flex-direction:column;border-top:1px solid #454851;background:#1e2025;min-width:0;overflow:hidden}.lab-runner-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 14px 0 6px;border-bottom:1px solid #34373e;background:#24262c;flex:none;min-height:40px}.lab-runner-tabs{display:flex;align-items:stretch;min-width:0}#cpp-lab .lab-runner-tabs button{border:0;border-radius:0;padding:12px 10px;background:none;color:#818a97;font-size:11px;position:relative}#cpp-lab .lab-runner-tabs button[aria-selected=true]{color:#e5e7ed}#cpp-lab .lab-runner-tabs button[aria-selected=true]:after{content:"";height:2px;position:absolute;bottom:0;left:10px;right:10px;background:#e35a67}.lab-captured-badge{font:8px monospace;color:#8ea999;letter-spacing:1px;white-space:nowrap}.lab-runner-body{flex:1;min-height:0;overflow:hidden}.lab-pane{height:100%;padding:14px 16px;overflow:auto;scrollbar-width:thin;scrollbar-color:#474951 transparent}.lab-trace-pane{display:grid;grid-template-columns:minmax(150px,35%) 1fr;padding:0;overflow:hidden}.lab-history{border-right:1px solid #34373e;display:flex;flex-direction:column;min-height:0;min-width:0}.lab-history-heading{display:flex;justify-content:space-between;padding:12px 14px 8px;color:#858e9c;font-size:10px}.lab-history-heading span{font:10px monospace;color:#6b7583}.lab-history ol{list-style:none;padding:0 6px 8px;margin:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#474951 transparent;flex:1}#cpp-lab .lab-history button{display:flex;gap:10px;text-align:left;align-items:center;width:100%;border:none;background:transparent;padding:8px;border-radius:3px;font-size:10px;color:#929dac;line-height:1.3}.lab-history button span{min-width:20px;color:#626e7f;font:10px monospace}#cpp-lab .lab-history button.active{background:#402a31;color:#ff9ca7}.lab-moment{padding:16px 20px;overflow:auto;scrollbar-width:thin;scrollbar-color:#474951 transparent}.lab-moment>span{font:9px monospace;letter-spacing:1px;color:#f07681}.lab-moment h2{font-size:17px;letter-spacing:-.3px;margin:9px 0 12px;font-weight:500}.lab-moment p{font-size:11px;line-height:1.8;color:#939ba6;margin:0}.lab-values-heading,.lab-console-heading{display:flex;justify-content:space-between;align-items:center;font-size:11px;padding-bottom:12px}.lab-values-heading>span:last-child,.lab-console-heading>span:last-child{font:9px monospace;color:#747f8f}.lab-empty{font-size:11px;line-height:1.8;color:#737d89;margin-top:0}.lab-variable{padding:10px 0;border-bottom:1px solid #32353b}.lab-variable>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:12px}.lab-variable b{font:12px monospace;font-weight:500}.lab-variable>div:first-child>span{font:9px monospace;color:#77808d}.lab-memory-values{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.lab-memory-values span{padding:5px 8px;background:#2b2e34;border:1px solid #3e434b;color:#b5c0cc;font:12px monospace;border-radius:4px}.lab-memory-values span.changed{color:#ffb6bd;border-color:#784550;background:#452b32}#cpp-lab #lab-output,#cpp-lab #lab-diagnostics{white-space:pre-wrap;overflow-wrap:anywhere;background:#191b1f;border:0;border-radius:0;color:#a8c8b8;font:12px/1.7 monospace;padding:0;margin:0;overflow:auto;min-height:48px}#cpp-lab #lab-diagnostics{margin-top:12px;color:#e7a4ac}.lab-input{padding:12px 0 0;margin-top:14px;border-top:1px solid #34373c;font-size:11px}.lab-input summary{display:flex;justify-content:space-between;gap:12px}.lab-input summary span{font:9px monospace;color:#6c737e}#cpp-lab #lab-stdin{display:block;width:100%;margin-top:10px;resize:vertical;max-height:100px;background:#191b1f;color:#ddd;border:1px solid #3a3d44;border-radius:4px;padding:8px;font:12px monospace}.lab-model-panel{position:absolute;top:0;left:var(--lab-ide-width,50%);right:0;bottom:0;min-width:0;pointer-events:none}.lab-model-heading{position:absolute;top:20px;left:22px;display:flex;flex-direction:column;gap:6px;font-size:12px;color:#c4c8d0}.lab-model-heading>span:last-child{font-size:9px;color:#6f7988}.lab-model-note{position:absolute;bottom:136px;left:20px;right:20px;font-size:9px;color:#7b8492;display:flex;align-items:center;gap:7px}.lab-model-note i{width:4px;height:4px;border-radius:50%;background:#d7616e}.lab-model-note>span{margin-left:auto;color:#626d7e}.lab-transport{position:absolute;bottom:16px;left:16px;right:16px;padding:12px 14px;pointer-events:auto;background:#1c1e22f5;border-radius:7px}.lab-transport-heading{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#989fac;margin-bottom:9px}#lab-counter{font:10px ui-monospace,Consolas,monospace;font-variant-numeric:tabular-nums;color:#727e8e}.lab-transport-controls{display:flex;align-items:center;gap:16px;min-width:0}.lab-control-buttons{display:flex;align-items:center;gap:5px;flex:none}#cpp-lab .lab-control-buttons button{display:grid;place-items:center;flex:none;width:32px;height:32px;padding:0}#cpp-lab .lab-control-buttons svg{display:block;width:16px;height:16px}#cpp-lab .lab-control-buttons #lab-play{width:36px;height:32px}#lab-phase{font-size:10px;color:#a3abb7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.lab-transport #lab-speed{flex:none;height:28px;font-size:10px}.lab-seek{margin-top:8px;display:flex;align-items:center;height:15px}.lab-seek input{width:100%;margin:0;height:15px;cursor:pointer;accent-color:#ed6472}.lab-seek input:disabled{cursor:default;opacity:.3}@media(max-width:1100px){.lab-mode .app-name{font-size:11px}.lab-mode .topbar{padding:0 10px}.lab-mode-button{font-size:10px;padding:6px 8px}.lab-mode-button span,.lab-captured-badge{display:none}.lab-moment{padding:14px}.lab-model-heading{top:17px;left:16px}.lab-model-note>span{display:none}.lab-transport-controls{gap:10px}.lab-trace-pane{grid-template-columns:minmax(135px,38%) 1fr}}@media(max-width:760px){.lab-mode .topbar{right:0;width:100%;height:44px}.lab-divider{display:none}.lab-mode .topbar-left,.lab-mode .topbar-right{gap:6px}.lab-mode .stage{left:0;top:56dvh;bottom:0}.lab-mode .view-menu{top:auto;right:auto;padding:0 0 0 8px}.lab-mode .view-menu-body{top:36px}.lab-mode .sidebar{width:min(288px,calc(100% - 16px));top:50px;bottom:44dvh}.lab-ide{top:44px;bottom:auto;height:calc(56dvh - 44px);width:100%;border-right:0;border-bottom:1px solid #41444b}.lab-editor-panel{min-height:130px}.lab-panel-heading{display:none}.lab-filebar{padding:6px 12px}.lab-gutter{width:34px;font-size:11px}#cpp-lab .lab-highlight,#cpp-lab #lab-editor{font-size:11px}.lab-runbar{padding:6px 12px}.lab-runbar kbd{display:none}#lab-status{padding:0 12px 5px;font-size:9px}.lab-help{display:none}.lab-state-panel{height:36%;min-height:130px;max-height:40%}.lab-runner-header{min-height:34px;padding-right:6px}#cpp-lab .lab-runner-tabs button{padding:9px 8px;font-size:10px}.lab-trace-pane{grid-template-columns:135px 1fr}.lab-history-heading{padding:8px 10px;font-size:9px}#cpp-lab .lab-history button{padding:6px;font-size:9px;gap:4px}.lab-moment{padding:10px 12px}.lab-moment>span{font-size:8px}.lab-moment h2{font-size:13px;margin:7px 0}.lab-moment p{font-size:10px}.lab-model-panel{left:0;top:56dvh}.lab-model-heading{top:14px;left:16px;font-size:10px}.lab-model-heading>span:last-child{display:none}.lab-model-note{bottom:118px;font-size:8px;left:14px}.lab-transport{left:10px;right:10px;bottom:10px;padding:10px 12px}.lab-transport-heading{margin-bottom:6px}.lab-transport-controls{gap:10px}#lab-phase{font-size:9px}.lab-seek{margin-top:5px}}@media(max-height:700px)and (min-width:761px){.lab-help{display:none}.lab-state-panel{min-height:180px}.lab-panel-heading{padding:7px 16px}.lab-runbar{padding-top:6px}.lab-model-note{bottom:132px}}
