@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:300;src:url(./rajdhani-latin-300-normal-BAp9G45D.woff2)format("woff2"),url(./rajdhani-latin-300-normal-DJpNA50i.woff)format("woff")}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:500;src:url(./rajdhani-latin-500-normal-ByNUCHrt.woff2)format("woff2"),url(./rajdhani-latin-500-normal-DfvNI-Td.woff)format("woff")}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:600;src:url(./rajdhani-latin-600-normal-CXCVEoA9.woff2)format("woff2"),url(./rajdhani-latin-600-normal-Dx02qI2_.woff)format("woff")}@font-face{font-family:Share Tech Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./share-tech-mono-latin-400-normal-CCqdbj5z.woff2)format("woff2"),url(./share-tech-mono-latin-400-normal-15MgdvEM.woff)format("woff")}:root{--bg:#02070d;--bg-deep:#010409;--glass:#061a2885;--glass-strong:#041420c7;--cyan:#4ff3ff;--cyan-soft:#8af7ff;--teal:#1de9b6;--amber:#ffb547;--red:#ff5470;--violet:#b78cff;--text:#c6f8ff;--text-dim:#6fb6c4;--text-faint:#2f6d7a;--line:#4ff3ff6b;--line-soft:#4ff3ff33;--line-faint:#4ff3ff1a;--glow:0 0 6px #4ff3ff8c, 0 0 18px #4ff3ff2e;--glow-text:0 0 6px #4ff3ffb3;--font-ui:"Rajdhani", "Segoe UI", system-ui, sans-serif;--font-mono:"Share Tech Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--syn-comment:#3f8796;--syn-mnemonic:#4ff3ff;--syn-label:#ffb547;--syn-directive:#b78cff;--syn-register:#1de9b6;--syn-number:#ffd98a;--syn-string:#9effc8;--syn-keyword:#7fc7ff;--syn-symbol:#e2fbff;--syn-punct:#5fa9b8;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;font-size:14px;overflow:hidden}button,input,select{font:inherit;color:inherit}.backdrop{pointer-events:none;background:radial-gradient(1200px 700px at 18% -10%, #1de9b61c, transparent 60%), radial-gradient(1000px 800px at 105% 110%, #4f8cff1f, transparent 60%), radial-gradient(900px 600px at 60% 40%, #4ff3ff0d, transparent 70%), linear-gradient(180deg, #03101a 0%, var(--bg-deep) 100%);position:fixed;inset:0;overflow:hidden}.backdrop-grid{background-image:linear-gradient(#4ff3ff0d 1px,#0000 1px),linear-gradient(90deg,#4ff3ff0d 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:-50%;transform:perspective(900px)rotateX(58deg)translateY(30%);-webkit-mask-image:radial-gradient(at 50% 30%,#000 10%,#0000 65%);mask-image:radial-gradient(at 50% 30%,#000 10%,#0000 65%)}.backdrop-glow{filter:blur(10px);background:radial-gradient(#1de9b61f,#0000 70%);width:1100px;height:520px;position:absolute;bottom:-320px;left:50%;transform:translate(-50%)}.backdrop-scan{background:repeating-linear-gradient(0deg,#ffffff05 0 1px,#0000 1px 3px);position:absolute;inset:0}#spores{width:100%;height:100%;position:absolute;inset:0}.app{flex-direction:column;gap:12px;height:100%;padding:12px 14px 14px;display:flex;position:relative}.grid{flex:1;grid-template:"editor regs disasm"minmax(0,1fr)"console memory stack"minmax(190px,34%)/minmax(0,1.55fr) minmax(270px,.8fr) minmax(300px,1fr);gap:12px;min-height:0;display:grid}.panel-editor{grid-area:editor}.panel-regs{grid-area:regs}.panel-disasm{grid-area:disasm}.panel-console{grid-area:console}.panel-memory{grid-area:memory}.panel-stack{grid-area:stack}.topbar{border:1px solid var(--line-soft);clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(90deg,#061e2eb8,#04121e66);flex-wrap:wrap;align-items:center;gap:12px 16px;padding:10px 18px;display:flex;position:relative}.topbar:before{content:"";background:linear-gradient(90deg, transparent, var(--cyan), transparent);opacity:.7;height:1px;position:absolute;bottom:0;left:0;right:0}.brand{align-items:center;gap:12px;margin-right:auto;display:flex}.brand-ring{filter:drop-shadow(0 0 6px #4ff3ff99);width:46px;height:46px}.ring{fill:none;stroke:var(--cyan);transform-origin:32px 32px}.ring-outer{stroke-width:1px;stroke-dasharray:3 5 22 6;animation:18s linear infinite spin}.ring-mid{stroke-width:2px;stroke-dasharray:30 12 6 12;opacity:.8;animation:9s linear infinite reverse spin}.ring-inner{stroke-width:1px;stroke-dasharray:2 3;opacity:.7;animation:24s linear infinite spin}.ring-core{fill:var(--cyan);animation:2.6s ease-in-out infinite pulse}.ring,.ring-core{animation-play-state:paused}.app[data-state=running] .ring,.app[data-state=running] .ring-core{animation-play-state:running}.app[data-state=running] .ring-mid{stroke:var(--teal);animation-duration:1.2s}.app[data-state=running] .ring-core{fill:var(--teal);animation-duration:.6s}.app[data-state=fault] .ring,.app[data-state=fault] .ring-core{stroke:var(--red);fill:none}.app[data-state=fault] .ring-core{fill:var(--red)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.35}}.brand-title{letter-spacing:.28em;color:var(--cyan-soft);text-shadow:var(--glow-text);white-space:nowrap;font-size:21px;font-weight:300}.brand-title span{color:var(--teal)}.brand-sub{letter-spacing:.24em;color:var(--text-dim);font-size:10.5px}.arch-switch{border:1px solid var(--line);gap:2px;padding:2px;display:flex}.arch-switch button{letter-spacing:.18em;color:var(--text-dim);cursor:pointer;background:0 0;border:0;padding:5px 14px;font-size:13px;font-weight:600;transition:color .2s,background .2s}.arch-switch button:hover{color:var(--cyan)}.arch-switch button[aria-checked=true]{color:var(--cyan-soft);text-shadow:var(--glow-text);background:#4ff3ff29;box-shadow:inset 0 0 12px #4ff3ff40}.example-select{letter-spacing:.3em;color:var(--text-dim);align-items:center;gap:8px;font-size:11px;display:flex}.example-select select{appearance:none;border:1px solid var(--line-soft);letter-spacing:.08em;width:210px;color:var(--text);cursor:pointer;background:#020c14b3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6' fill='%234ff3ff'/%3E%3C/svg%3E") right 10px center no-repeat;padding:5px 30px 5px 10px;font-size:14px}.example-select select:focus-visible{outline:1px solid var(--cyan)}.example-select option{background:#04131e}.link-select select{width:140px}.controls{gap:6px;display:flex}.ctl{border:1px solid var(--line-soft);color:var(--cyan-soft);letter-spacing:.14em;cursor:pointer;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));background:#4ff3ff0d;align-items:center;gap:7px;padding:6px 11px 6px 10px;font-size:12.5px;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s,color .15s;display:flex;position:relative}.ctl i{color:var(--teal);font-size:11px;font-style:normal}.ctl:hover:not(:disabled){border-color:var(--cyan);text-shadow:var(--glow-text);background:#4ff3ff29;box-shadow:inset 0 0 14px #4ff3ff4d}.ctl:active:not(:disabled){background:#4ff3ff47}.ctl:disabled{opacity:.32;cursor:default}.ctl:focus-visible{outline:1px solid var(--cyan);outline-offset:2px}#btn-run{border-color:#1de9b680}#btn-run i{color:var(--teal)}.telemetry{gap:14px;display:flex}.tele{flex-direction:column;min-width:64px;display:flex}.tele span{letter-spacing:.35em;color:var(--text-dim);font-size:10px}.tele b{font-family:var(--font-mono);color:var(--cyan-soft);text-shadow:var(--glow-text);white-space:nowrap;font-size:15px;font-weight:400}#tele-state{min-width:8ch}#tele-pc{min-width:10ch}#tele-count{min-width:9ch}#tele-state[data-tone=run]{color:var(--teal)}#tele-state[data-tone=warn]{color:var(--amber);text-shadow:0 0 6px #ffb54799}#tele-state[data-tone=bad]{color:var(--red);text-shadow:0 0 6px #ff5470b3}.panel{--corner:14px;background:linear-gradient(160deg, #0a283a80, var(--glass) 40%, #030e189e);border:1px solid var(--line-faint);-webkit-backdrop-filter:blur(8px)saturate(130%);backdrop-filter:blur(8px)saturate(130%);flex-direction:column;min-width:0;min-height:0;animation:.7s cubic-bezier(.2,.8,.2,1) both panel-in;display:flex;position:relative;box-shadow:inset 0 0 40px #4ff3ff0a,0 10px 40px #00000059}.panel:nth-child(2){animation-delay:80ms}.panel:nth-child(3){animation-delay:.16s}.panel:nth-child(4){animation-delay:.24s}.panel:nth-child(5){animation-delay:.32s}.panel:nth-child(6){animation-delay:.4s}@keyframes panel-in{0%{opacity:0;filter:brightness(2.2);transform:translateY(8px)scale(.985)}40%{opacity:.6}55%{opacity:.25}to{opacity:1;filter:none;transform:none}}.panel:before,.panel:after{content:"";width:var(--corner);height:var(--corner);pointer-events:none;border:0 solid var(--cyan);filter:drop-shadow(0 0 4px #4ff3ffcc);position:absolute}.panel:before{border-top-width:2px;border-left-width:2px;top:-1px;left:-1px}.panel:after{border-bottom-width:2px;border-right-width:2px;bottom:-1px;right:-1px}.panel-head{border-bottom:1px solid var(--line-faint);align-items:center;gap:10px;min-height:34px;padding:6px 12px 6px 14px;display:flex;position:relative}.panel-head h2{letter-spacing:.34em;text-transform:uppercase;color:var(--cyan-soft);text-shadow:var(--glow-text);margin:0;font-size:12.5px;font-weight:600}.panel-head h2:before{content:"";vertical-align:1px;background:var(--cyan);width:6px;height:6px;box-shadow:var(--glow);margin-right:9px;display:inline-block;transform:rotate(45deg)}.panel-meta{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis;margin-left:auto;font-size:11.5px;overflow:hidden}.panel .panel-head:before{font-family:var(--font-mono);letter-spacing:.2em;color:var(--text-faint);background:var(--bg-deep);padding:0 6px;font-size:9.5px;position:absolute;top:-9px;right:12px}.panel-editor .panel-head:before{content:"SRC-01"}.panel-regs .panel-head:before{content:"CPU-02"}.panel-disasm .panel-head:before{content:"DIS-03"}.panel-console .panel-head:before{content:"I/O-04"}.panel-memory .panel-head:before{content:"MEM-05"}.panel-stack .panel-head:before{content:"STK-06"}.panel-body{flex:1;min-height:0;position:relative}.scroll{overflow:auto}.mini{border:1px solid var(--line-soft);letter-spacing:.22em;color:var(--text-dim);cursor:pointer;background:0 0;margin-left:auto;padding:1px 9px;font-size:10.5px}.mini:hover{color:var(--cyan);border-color:var(--cyan)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#4ff3ff2e}::-webkit-scrollbar-thumb:hover{background:#4ff3ff59}*{scrollbar-color:#4ff3ff38 transparent;scrollbar-width:thin}#editor .cm-editor{height:100%}#editor .cm-editor.cm-focused{outline:none}.cm-bp-gutter .cm-gutterElement{cursor:pointer;justify-content:center;align-items:center;width:18px;display:flex}.cm-bp-gutter .cm-gutterElement:hover:after{content:"";border:1px solid #ffb54780;border-radius:50%;width:9px;height:9px}.bp-dot{background:radial-gradient(circle at 35% 35%, #ffe2a8, var(--amber) 55%, #b86b00);border-radius:50%;width:10px;height:10px;box-shadow:0 0 8px #ffb547e6}.cm-bp-gutter .cm-gutterElement:has(.bp-dot):hover:after{display:none}.cm-pc-gutter .cm-gutterElement{text-align:center;width:16px}.pc-arrow{color:var(--teal);text-shadow:0 0 8px var(--teal);font-size:10px}.pc-fault{color:var(--red);text-shadow:0 0 8px var(--red)}.cm-pc-line{box-shadow:inset 2px 0 0 var(--teal);background:linear-gradient(90deg,#1de9b63d,#1de9b60d 70%,#0000)!important}.cm-pc-fault{box-shadow:inset 2px 0 0 var(--red);background:linear-gradient(90deg,#ff547047,#ff54700d 70%,#0000)!important}.cm-error-line{text-underline-offset:4px;background:#ff54701a;-webkit-text-decoration:underline wavy #ff5470cc;text-decoration:underline wavy #ff5470cc}.cm-error-line:after{content:"  ⚠ " attr(data-error);color:var(--red);font-size:12px;font-family:var(--font-ui);letter-spacing:.04em;text-decoration:none;display:inline-block}.panel-regs .panel-body{flex-direction:column;display:flex;overflow:auto}.flags{border-bottom:1px dashed var(--line-faint);flex-wrap:wrap;gap:5px;padding:10px 12px 8px;display:flex}.flag{min-width:30px;font-family:var(--font-mono);text-align:center;color:var(--text-faint);border:1px solid var(--line-faint);padding:2px 6px;font-size:12px;transition:all .2s}.flag.on{color:var(--bg);background:var(--cyan);border-color:var(--cyan);box-shadow:var(--glow)}.flag.changed{animation:1.2s ease-out flash}.regs{grid-template-columns:1fr;padding:4px 0 8px;display:grid}.reg{font-family:var(--font-mono);cursor:pointer;border-left:2px solid #0000;grid-template-columns:44px 1fr;align-items:baseline;padding:1px 12px 1px 14px;font-size:13px;display:grid}.reg:hover{background:#4ff3ff0f}.reg-name{color:var(--syn-register);text-transform:lowercase}.reg-val{color:var(--text);letter-spacing:.04em;text-align:right;white-space:nowrap}.reg-val .z{color:var(--text-faint)}.reg-val .hint{color:var(--amber);margin-right:8px;font-size:11px}.reg.special .reg-name{color:var(--amber)}.reg.changed{border-left-color:var(--amber);background:linear-gradient(90deg,#ffb5471f,#0000)}.reg.changed .reg-val{color:#ffe0a6;text-shadow:0 0 6px #ffb5478c}@keyframes flash{0%{box-shadow:0 0 16px #ffb547e6}}.dis-row,.mem-row,.stk-row{font-family:var(--font-mono);white-space:pre;font-size:12.5px}.dis-row{grid-template-columns:16px var(--addr-w,8ch) 120px minmax(0, 1fr);cursor:pointer;border-left:2px solid #0000;align-items:center;gap:8px;padding:1px 10px 1px 6px;display:grid}.dis-row>:last-child{text-overflow:ellipsis;overflow:hidden}.dis-row:hover{background:#4ff3ff0d}.dis-label{font-family:var(--font-mono);color:var(--amber);padding:6px 12px 1px 30px;font-size:12px}.dis-bp{border-radius:50%;justify-self:center;width:8px;height:8px}.dis-row.bp .dis-bp{background:var(--amber);box-shadow:0 0 6px var(--amber)}.dis-addr{color:var(--text-dim)}.dis-bytes{color:var(--text-faint);text-overflow:ellipsis;overflow:hidden}.dis-mn{color:var(--syn-mnemonic)}.dis-op{color:var(--text)}.dis-row.patched{border-left-color:var(--violet)}.dis-row.patched .dis-bytes,.dis-row.patched .dis-addr{color:var(--violet)}.dis-row.pc{border-left-color:var(--teal);background:linear-gradient(90deg,#1de9b63d,#0000)}.dis-row.pc .dis-addr{color:var(--teal);text-shadow:0 0 6px var(--teal)}.dis-row.fault{border-left-color:var(--red);background:linear-gradient(90deg,#ff547040,#0000)}.console{font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;padding:10px 14px;font-size:13px;line-height:1.55}.out-stdout{color:var(--text)}.out-stderr{color:var(--amber)}.out-system{color:var(--text-dim)}.out-system:before,.out-error:before,.out-ok:before{content:"› ";color:var(--text-faint)}.out-error{color:var(--red)}.out-stdin{color:var(--amber)}.stdin{border-top:1px solid var(--line-soft);font-family:var(--font-mono);align-items:center;gap:8px;padding:6px 12px;font-size:12px;display:flex}.stdin-prompt{color:var(--text-faint);letter-spacing:.08em}.stdin input{min-width:0;color:var(--amber);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:13px}.stdin input::placeholder{color:var(--text-faint)}.stdin.waiting{box-shadow:inset 2px 0 0 var(--amber);background:linear-gradient(90deg,#ffb54729,#0000 70%)}.stdin.waiting .stdin-prompt{color:var(--amber);animation:1.1s steps(2,start) infinite blink}.tabs{align-items:center;gap:4px;display:flex}.tab{font:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--text-faint);cursor:pointer;background:0 0;border:0;border-bottom:1px solid #0000;padding:2px 8px}.tab[aria-selected=true]{color:var(--cyan-soft);border-bottom-color:var(--cyan);text-shadow:var(--glow-text)}.tab:hover{color:var(--cyan-soft)}.tab:focus-visible{outline:1px solid var(--cyan)}.trace-row{grid-template-columns:var(--count-w,5ch) var(--addr-w,8ch) minmax(0, 1fr) auto;font-family:var(--font-mono);white-space:pre;cursor:pointer;border-left:2px solid #0000;gap:2ch;padding:1px 12px 1px 10px;font-size:12.5px;display:grid}.trace-row:hover{background:#4ff3ff12}.trace-n{color:var(--text-faint);text-align:right}.trace-line{color:var(--text-faint)}.trace-next{border-left-color:var(--cyan);cursor:default;background:linear-gradient(90deg,#4ff3ff2e,#0000)}.trace-more{font-family:var(--font-mono);color:var(--text-faint);padding:6px 12px;font-size:11px}.ctl-rev i{color:var(--amber)}.dis-sym{color:var(--syn-label)}.out-ok{color:var(--teal)}.out-line{display:block}.brief,.tests{flex-direction:column;flex:none;min-height:0;display:flex}.brief[hidden],.tests[hidden],.brief-body[hidden]{display:none}@media (min-width:1181px){.app[data-exercise] .grid{grid-template-rows:minmax(0,1fr) minmax(150px,24%)}}.panel-editor #editor{min-height:160px}.brief{border-bottom:1px solid var(--line-soft);background:linear-gradient(#1de9b60f,#0000);max-height:30%}.brief-head{align-items:center;gap:10px;padding:7px 14px 4px;display:flex}.brief-head .mini{margin-left:0}.brief-head .mini:first-of-type{margin-left:auto}.brief-level{font-family:var(--font-mono);letter-spacing:.2em;color:var(--bg-deep);background:var(--teal);padding:1px 7px;font-size:10.5px;box-shadow:0 0 10px #1de9b680}.brief-title{letter-spacing:.08em;color:var(--cyan-soft);text-shadow:var(--glow-text);font-size:16px;font-weight:600}.brief-body{padding:2px 16px 10px;font-size:14.5px;line-height:1.45}.md p,.md ul{margin:6px 0}.md ul{padding-left:20px}.md h4{letter-spacing:.24em;text-transform:uppercase;color:var(--cyan-soft);margin:10px 0 4px;font-size:12px}.md code{font-family:var(--font-mono);color:var(--syn-register);background:#4ff3ff12;padding:0 4px;font-size:12.5px}.md b{color:var(--amber);font-weight:600}.md table{border-collapse:collapse;margin:8px 0;font-size:13.5px}.md th,.md td{border:1px solid var(--line-faint);text-align:left;padding:3px 10px}.md th{letter-spacing:.2em;color:var(--text-dim);font-size:11px;font-weight:500}.tests{border-top:1px solid var(--line-soft);max-height:32%}.tests-bar{align-items:center;gap:12px;padding:7px 12px;display:flex}#btn-test{border-color:#1de9b699}.tests-summary{font-family:var(--font-mono);letter-spacing:.12em;color:var(--text-dim);font-size:12px}.tests-summary[data-tone=ok]{color:var(--teal);text-shadow:0 0 8px #1de9b6b3}.tests-summary[data-tone=bad]{color:var(--red)}.saved{font-family:var(--font-mono);letter-spacing:.22em;color:var(--teal);opacity:0;margin-left:auto;font-size:10.5px;transition:opacity .6s}.saved.on{opacity:1;transition:none}.tests-bar .mini{margin-left:0}.tests-list{min-height:0;padding:0 12px 10px;font-size:13.5px}.t-row{border-left:2px solid var(--line-faint);margin:4px 0;padding:3px 0 3px 10px}.t-row.pass{border-left-color:var(--teal)}.t-row.fail{border-left-color:var(--red);background:#ff54700d}.t-head{align-items:baseline;gap:10px;min-width:0;display:flex}.t-icon{width:12px;color:var(--text-faint);font-weight:600}.pass .t-icon{color:var(--teal)}.fail .t-icon{color:var(--red)}.t-name{color:var(--text);white-space:nowrap}.t-input{font-family:var(--font-mono);color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.fail .t-input{color:var(--amber)}.t-detail{padding:4px 0 4px 22px}.t-msg{color:var(--red);margin-bottom:4px}.t-cmp{grid-template-columns:max-content minmax(0,1fr);align-items:baseline;gap:2px 10px;display:grid}.t-label{letter-spacing:.22em;color:var(--text-faint);font-size:10.5px}.t-val{font-family:var(--font-mono);color:var(--text);white-space:pre-wrap;word-break:break-word;margin:0;font-size:12.5px}.t-empty{color:var(--text-faint);font-style:italic}.t-debug{margin:6px 0 2px}.t-hint{color:var(--text-dim);margin-top:4px;font-size:12.5px}.mem-goto{margin-left:auto}.mem-goto input{border:1px solid var(--line-soft);width:160px;font-family:var(--font-mono);color:var(--text);background:#020c14b3;padding:2px 8px;font-size:12px}.mem-goto input:focus{border-color:var(--cyan);box-shadow:var(--glow);outline:none}.mem-goto input.bad{border-color:var(--red)}#memory,#stack{padding:6px 0}.mem-row{gap:12px;padding:0 12px;display:flex}.mem-addr{color:var(--text-dim)}.mem-hex span{width:2ch;color:var(--text);margin-right:.6ch;display:inline-block}.mem-hex span:nth-child(8){margin-right:1.4ch}.mem-hex .zero{color:var(--text-faint)}.mem-hex .na{color:#1d3a42}.mem-hex .chg{color:var(--amber);text-shadow:0 0 6px #ffb547b3}.mem-hex .sp{outline:1px solid var(--teal);outline-offset:1px}.mem-ascii{color:var(--syn-string);opacity:.8}.stk-row{grid-template-columns:54px 92px 1fr;gap:10px;padding:0 12px;display:grid}.stk-off{color:var(--text-faint)}.stk-addr{color:var(--text-dim)}.stk-val{color:var(--text)}.stk-val .z{color:var(--text-faint)}.stk-sym{color:var(--amber);margin-left:10px}.stk-row.top{background:linear-gradient(90deg,#1de9b62e,#0000)}.stk-row.top .stk-off{color:var(--teal)}.stk-row.fp .stk-off:after{content:" FP";color:var(--violet)}.stk-row.chg .stk-val{color:var(--amber)}.empty{color:var(--text-faint);letter-spacing:.2em;text-transform:uppercase;padding:14px;font-size:12px}.boot{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;background:#010409d1;place-content:center;justify-items:center;gap:18px;transition:opacity .6s;display:grid;position:fixed;inset:0}.boot.done{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .6s,visibility 0s .6s}.boot-ring{border:2px solid #0000;border-top-color:var(--cyan);width:70px;height:70px;box-shadow:var(--glow);border-right-color:#4ff3ff4d;border-radius:50%;animation:1s linear infinite spin}.boot-text{letter-spacing:.5em;color:var(--cyan-soft);text-shadow:var(--glow-text);font-size:12px}.boot.error .boot-ring{border-top-color:var(--red);animation:none}.boot.error .boot-text{color:var(--red);letter-spacing:.1em;text-align:center;max-width:80vw}.fx-off .panel,.fx-off .topbar{-webkit-backdrop-filter:none;backdrop-filter:none}.fx-off .ring,.fx-off .ring-core{animation:none!important}.fx-toggle{align-self:center;margin-left:0}.native{border:1px solid var(--line);background:var(--glass-strong);width:min(560px,100vw - 32px);color:var(--text);box-shadow:var(--glow);font-family:var(--font-ui);padding:0}.native::backdrop{background:#010409b3}.native-form{flex-direction:column;gap:10px;padding:0 14px 14px;display:flex}.native-form label{grid-template-columns:64px 1fr;align-items:center;gap:8px;display:grid}.native-form label span{letter-spacing:.22em;color:var(--text-dim);font-size:11px}.native-form input,.native-form textarea{border:1px solid var(--line-soft);min-width:0;color:var(--text);font-family:var(--font-mono);background:#00000059;padding:4px 6px}.native-note{color:var(--text-dim);margin:0;font-size:13px}.native-who,.native-status{font-family:var(--font-mono);color:var(--text-dim);font-size:12px}.native-who{margin-left:72px}.native-who.bad,.native-status.bad{color:var(--red)}.native-actions{align-items:center;gap:12px;display:flex}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.grid{position:relative}.help{z-index:20;border-color:var(--line-soft);-webkit-backdrop-filter:blur(14px)saturate(140%);backdrop-filter:blur(14px)saturate(140%);opacity:0;visibility:hidden;background:linear-gradient(160deg,#0a2c40e6,#041420f0 40%,#020c14f5);width:clamp(380px,44%,700px);transition:transform .3s ease-in-out,opacity .3s ease-in-out,visibility 0s linear .3s,width .25s;animation:none;position:absolute;top:0;bottom:0;right:0;transform:translate(calc(100% + 24px));box-shadow:-18px 0 50px #0000008c,inset 0 0 50px #4ff3ff0f}.help.open{opacity:1;visibility:visible;transition-delay:0s;transform:none}.help.wide{width:clamp(380px,70%,1100px)}.help .panel-head:before{content:"REF-07"}.help .panel-head .mini{margin-left:0}.help .panel-head .mini:first-of-type{margin-left:auto}.help-arch{border:1px solid var(--line-soft);display:flex}.help-arch button{white-space:nowrap;letter-spacing:.16em;color:var(--text-dim);cursor:pointer;background:0 0;border:0;padding:1px 8px;font-size:10.5px;font-weight:600}.help-arch button:hover{color:var(--cyan)}.help-arch button[aria-checked=true]{color:var(--cyan-soft);text-shadow:var(--glow-text);background:#4ff3ff29}.help-search{border-bottom:1px solid var(--line-faint);font-family:var(--font-mono);color:var(--text-faint);letter-spacing:.08em;align-items:center;gap:8px;padding:8px 14px;font-size:12px;display:flex}.help-search input{border:1px solid var(--line-soft);min-width:0;color:var(--cyan-soft);font-family:var(--font-mono);letter-spacing:.04em;text-shadow:var(--glow-text);background:#020c1499;outline:0;flex:1;padding:6px 10px;font-size:15px}.help-search input:focus{border-color:var(--cyan);box-shadow:0 0 12px #4ff3ff40,inset 0 0 10px #4ff3ff1f}.help-search input::placeholder{color:var(--text-faint);text-shadow:none}.help-chips{flex-wrap:wrap;gap:5px;display:flex}.help-results{border-bottom:1px solid var(--line-faint);max-height:88px;padding:8px 14px;overflow:auto}.help-results[hidden]{display:none}.help-chip{border:1px solid var(--line-faint);font-family:var(--font-mono);color:var(--syn-mnemonic);cursor:pointer;background:#4ff3ff0d;padding:1px 8px;font-size:12.5px}.help-chip:hover,.help-chip[aria-current=true]{border-color:var(--cyan);text-shadow:var(--glow-text);background:#4ff3ff29}.help-doc{padding:12px 16px 20px;font-size:14.5px;line-height:1.5}.help-intro{color:var(--text-dim);margin:0 0 4px}.help-group{letter-spacing:.3em;text-transform:uppercase;color:var(--teal);margin:14px 0 6px;font-size:11px;font-weight:600}.help-title{flex-wrap:wrap;align-items:baseline;gap:4px 14px;display:flex}.help-title h3{font-family:var(--font-mono);color:var(--cyan-soft);text-shadow:0 0 10px #4ff3ffb3;margin:0;font-size:26px;font-weight:400}.help-tag{letter-spacing:.26em;text-transform:uppercase;color:var(--text-dim);font-size:10.5px}.help-brief{color:var(--text);margin:4px 0 2px;font-size:16px;font-weight:500}.help-also{font-family:var(--font-mono);color:var(--text-faint);word-spacing:.3em;margin:0;font-size:12px}.help-sec h4{letter-spacing:.32em;text-transform:uppercase;color:var(--text-dim);margin:14px 0 5px;font-size:10.5px;font-weight:600}.help-sec h4:before{content:"";vertical-align:1px;background:var(--teal);width:5px;height:5px;margin-right:8px;display:inline-block;transform:rotate(45deg)}.help-sec p{margin:0 0 7px}.help-sec ul{margin:0;padding-left:18px}.help-sec li{margin-bottom:4px}.help-sec li::marker{color:var(--teal)}.help-doc code,.help-link{font-family:var(--font-mono);color:var(--cyan-soft);background:#4ff3ff14;padding:0 4px;font-size:.9em}.help-link{border:0;border-bottom:1px dashed var(--line);cursor:pointer}.help-link:hover{text-shadow:var(--glow-text);background:#4ff3ff33}.help-pre{border-left:2px solid var(--line);font-family:var(--font-mono);color:var(--text);white-space:pre;background:#01060c99;margin:0;padding:8px 10px;font-size:13px;line-height:1.55;overflow-x:auto}.help-forms{color:var(--syn-mnemonic)}.help-code{border-left-color:var(--teal);color:var(--syn-string)}.help-table{border-left-color:var(--violet);font-size:12px}.help-example{position:relative}.help-copy{background:#020c14cc;position:absolute;top:6px;right:6px}.help-count{letter-spacing:.24em;color:var(--text-faint);align-self:center;margin-right:4px;font-size:10px}.help-doc mark{color:var(--amber);text-shadow:0 0 6px #ffb54780;background:#ffb54738}.help-other{margin:0 14px}@media (max-width:1180px){body{overflow:auto}.app{height:auto;min-height:100%}.grid{grid-template:"editor editor"62vh"regs disasm"420px"console console"300px"memory stack"300px/minmax(0,1fr) minmax(0,1fr)}.app[data-exercise] .grid{grid-template-rows:90vh 420px 300px 300px}.help,.help.wide{width:min(620px,100%);position:fixed;top:0}#help-wide{display:none}}@media (max-width:720px){.app{padding:10px 16px 16px}.topbar{gap:10px;padding:10px 12px}.brand-title{letter-spacing:.18em;font-size:16px}.brand-sub{display:none}.brand-ring{width:36px;height:36px}.controls{flex-wrap:wrap}.example-select{flex:100%;min-width:0}.example-select select{width:100%}.grid{grid-template:"editor"60vh"regs"420px"disasm"380px"console"260px"memory"320px"stack"300px/minmax(0,1fr)}.app[data-exercise] .grid{grid-template-rows:92vh 420px 380px 260px 320px 300px}}@media (max-width:1720px){.brand-sub{display:none}}@keyframes blink{to{visibility:hidden}}.panel-editor .panel-head .mini{flex:none;margin-left:0}.mini[aria-expanded=true]{color:var(--cyan);border-color:var(--cyan);box-shadow:var(--glow)}.files{border-bottom:1px solid var(--line-soft);background:linear-gradient(#4ff3ff12,#0000);flex-direction:column;flex:none;min-height:0;max-height:42%;display:flex}.files[hidden]{display:none}.files-bar{font-family:var(--font-mono);letter-spacing:.16em;color:var(--text-dim);align-items:center;gap:8px;padding:8px 12px 4px 14px;font-size:11px;display:flex}.files-bar input{border:1px solid var(--line-soft);min-width:0;font-family:var(--font-mono);color:var(--text);background:#020c14b3;flex:1;padding:4px 8px;font-size:13px}.files-bar input:focus-visible{outline:1px solid var(--cyan)}.files-bar .mini{margin-left:0;padding:3px 9px}.files-bar .files-save{color:var(--teal);border-color:#1de9b699}.files-note{font-family:var(--font-mono);letter-spacing:.16em;color:var(--text-faint);padding:0 14px 4px;font-size:10px}.files-list{min-height:0;padding:0 6px 8px}.files-empty{color:var(--text-dim);padding:6px 8px;font-size:13.5px}.files-row{border-left:2px solid #0000;align-items:center;gap:8px;padding:3px 8px;display:flex}.files-row:hover{background:#4ff3ff0d}.files-row.current{border-left-color:var(--teal);background:#1de9b612}.files-name{text-overflow:ellipsis;white-space:nowrap;text-align:left;min-width:0;font-family:var(--font-ui);letter-spacing:.04em;color:var(--text);cursor:pointer;background:0 0;border:0;flex:1;padding:2px 0;font-size:15px;font-weight:500;overflow:hidden}.files-name:hover,.files-row.current .files-name{color:var(--cyan-soft);text-shadow:var(--glow-text)}.files-meta{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-faint);flex:none;font-size:10.5px}.files-row .mini{flex:none;margin-left:0}.mini.danger:hover{color:var(--red);border-color:var(--red)}
