:root{--reader-release:"2026-07-25.2";--ink:#073642;--paper:#fdf6e3;--mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--sans:ui-sans-serif, -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif}.theme-day{--ink:#073642;--paper:#fdf6e3;--panel:#eee8d5;--panel-strong:#e3dcc6;--surface-container:#e7e0cc;--code-bg:#fdf6e3;--code-panel:#eee8d5;--code-line:#073642;--muted:#586e75;--muted-strong:#40545a;--accent:#006d86;--accent-soft:#f4ecd8;--selected-surface:#e8d9a8;--selected-outline:#b58900;--icon-source:#657b83;--icon-source-bg:#f8f1df;--line:#c9c2ae;--line-dark:#c0b8a1;--reader-foreground:#073642;--reader-subtle:#586e75;--code-hover:#f3ecd9;--annotation:#586e75;--annotation-bg:#eee8d5;--error:#bb3e17;--icon-assembly:#a7441b;--icon-assembly-bg:#f5dfd1;--icon-header:#007875;--icon-header-bg:#d6ece6;--machine-case:#c9c1a5;--machine-case-dark:#68716b;--machine-edge:#817c67;--machine-control:#eee7d2;--machine-control-hover:#f7f1dd;--machine-ink:#24383a;--machine-control-ink:#173b42;--machine-deck-ink:#fdf6e3;--machine-active:#007c89;--machine-active-soft:#d6ece6;--debugger-bg:#e3dcc6;--debugger-surface:#f4ecd8;--debugger-ink:#073642;--debugger-muted:#586e75;--debugger-hot:#b58900;--debugger-warn:#bb3e17;--memory-canvas-bg:#f4ecd8;--memory-reserved:#c9c2ae;--memory-page-tables:#6c71c4;--memory-kernel:#268bd2;--memory-mem-map:#b58900;--memory-task:#d33682;--memory-buffer:#2aa198;--memory-free:#d9eadf;--memory-used:#859900;--memory-shared:#cb4b16;--memory-current:#dc322f;--memory-unknown:#93a1a1;--memory-selected:#073642;--memory-hover:#dc322f}.theme-night{--ink:#eee8d5;--paper:#002b36;--panel:#073642;--panel-strong:#0b434f;--surface-container:#0b3e49;--code-bg:#002b36;--code-panel:#073642;--code-line:#eee8d5;--muted:#93a1a1;--muted-strong:#c3ceca;--accent:#2aa198;--accent-soft:#0e4f57;--selected-surface:#0c4851;--selected-outline:#2aa198;--icon-source:#74c9c1;--icon-source-bg:#0d464e;--line:#2c5a64;--line-dark:#2c5a64;--reader-foreground:#fdf6e3;--reader-subtle:#93a1a1;--code-hover:#073d48;--annotation:#e4d4a1;--annotation-bg:#073642;--error:#dc6a5a;--icon-assembly:#f08a62;--icon-assembly-bg:#4b322f;--icon-header:#72d7ce;--icon-header-bg:#164e52;--machine-case:#315059;--machine-case-dark:#173b42;--machine-edge:#5f8585;--machine-control:#22454c;--machine-control-hover:#2b5b60;--machine-ink:#f1ebd8;--machine-control-ink:#f1ebd8;--machine-deck-ink:#fdf6e3;--machine-active:#72d7ce;--machine-active-soft:#164e52;--debugger-bg:#073642;--debugger-surface:#0b434f;--debugger-ink:#eee8d5;--debugger-muted:#93a1a1;--debugger-hot:#b58900;--debugger-warn:#dc6a5a;--memory-canvas-bg:#002b36;--memory-reserved:#073642;--memory-page-tables:#6c71c4;--memory-kernel:#268bd2;--memory-mem-map:#b58900;--memory-task:#d33682;--memory-buffer:#2aa198;--memory-free:#17464b;--memory-used:#859900;--memory-shared:#cb4b16;--memory-current:#dc322f;--memory-unknown:#586e75;--memory-selected:#fdf6e3;--memory-hover:#cb4b16}*{box-sizing:border-box}html,body{height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;overflow:hidden}button,input{font:inherit}button{cursor:pointer}.source-atlas{grid-template-columns:var(--sidebar-width,340px) minmax(0, 1fr);background:var(--paper);height:100dvh;min-height:0;transition:grid-template-columns .52s cubic-bezier(.16,1,.3,1),background .32s;display:grid;overflow:hidden}.source-nav{border-right:1px solid var(--line);background:var(--panel);flex-direction:column;min-width:0;min-height:0;transition:background .32s,border-color .32s;display:flex;position:relative}.nav-topbar{border-bottom:1px solid var(--line);align-items:center;gap:8px;min-height:60px;padding:9px 12px;transition:min-height .52s cubic-bezier(.16,1,.3,1),padding .52s cubic-bezier(.16,1,.3,1),border-color .32s;display:flex}.nav-footer{border-top:1px solid var(--line);flex:0 0 40px;align-items:center;gap:8px;height:40px;padding:4px 12px;transition:padding .52s cubic-bezier(.16,1,.3,1),border-color .32s;display:flex}.nav-toggle,.color-mode-toggle{width:36px;height:36px;color:var(--accent);background:var(--accent-soft);border:0;border-radius:6px;flex:0 0 36px;place-items:center;transition:color .22s,background .22s,transform .32s cubic-bezier(.16,1,.3,1);display:grid}.nav-toggle:hover,.color-mode-toggle:hover{color:var(--panel);background:var(--accent);transform:translateY(-1px)}.nav-toggle:focus-visible,.color-mode-toggle:focus-visible,.source-scope-toggle:focus-visible,.theme-toggle:focus-visible,.file-item:focus-visible,.search-box:focus-within{outline:2px solid var(--accent);outline-offset:-2px}.nav-toggle span{font-size:22px;line-height:1}.color-mode-toggle span{font-size:17px;line-height:1}.nav-content{opacity:1;flex-direction:column;flex:1;min-width:0;min-height:0;transition:opacity .38s,transform .52s cubic-bezier(.16,1,.3,1),visibility linear;display:flex;overflow:hidden;transform:translate(0)}.source-atlas.nav-collapsed{grid-template-columns:52px minmax(0,1fr)}.source-atlas.emulator-layout{grid-template-columns:minmax(0,1fr)}.source-atlas.emulator-layout .source-nav{display:none}.source-atlas.emulator-layout .source-reader{grid-column:1}.source-atlas.emulator-layout .reader-header{min-height:60px;padding-block:10px}.nav-collapsed .nav-content{visibility:hidden;opacity:0;pointer-events:none;transition-delay:0s,0s,.52s;transform:translate(-20px)}.search-box{border:1px solid var(--line);background:var(--panel);min-width:0;min-height:40px;color:var(--accent);border-radius:6px;flex:1;align-items:center;gap:10px;margin:0;padding:0 12px;transition:opacity .36s,transform .52s cubic-bezier(.16,1,.3,1),visibility linear;display:flex}.search-box span{font:700 15px var(--mono);flex:none}.search-box input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:13px}.search-box input::placeholder{color:var(--muted)}.nav-collapsed .nav-topbar{justify-content:center;gap:0;min-height:46px;padding:8px}.nav-collapsed .search-box{visibility:hidden;opacity:0;pointer-events:none;border-width:0;flex-basis:0;gap:0;width:0;min-width:0;padding:0;transition-delay:0s,0s,.52s;overflow:hidden;transform:translate(-10px)}.nav-collapsed .nav-footer{justify-content:center;gap:0;padding:6px 8px}.source-scope-toggle{border:1px solid var(--line);min-width:112px;height:32px;color:var(--muted-strong);background:var(--panel);border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:0 8px 0 10px;transition:color .22s,background .22s,border-color .22s,transform .32s cubic-bezier(.16,1,.3,1);display:flex}.source-scope-toggle:hover{color:var(--ink);background:var(--panel-strong);transform:translateY(-1px)}.source-scope-toggle[aria-pressed=true]{border-color:var(--selected-outline);color:var(--ink);background:var(--selected-surface)}.source-scope-toggle span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:700;line-height:1.2;overflow:hidden}.source-scope-toggle small{min-width:20px;color:var(--accent);background:var(--accent-soft);font:700 10px/1 var(--mono);text-align:center;border-radius:4px;padding:2px 5px}.nav-collapsed .source-scope-toggle{display:none}.theme-list{flex:1;min-height:0;overflow:auto}.theme-group{border-bottom:1px solid var(--line)}.theme-toggle{width:100%;min-height:68px;color:var(--ink);text-align:left;background:0 0;border:0;grid-template-columns:28px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:12px 16px;display:grid}.theme-toggle:hover,.theme-toggle.expanded{background:var(--surface-container)}.theme-index{color:var(--accent);font:10px var(--mono)}.theme-copy{gap:3px;min-width:0;display:grid}.theme-copy strong{font-size:14px;font-weight:650;line-height:1.25}.theme-copy small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.35;overflow:hidden}.theme-arrow{color:var(--accent);font-size:17px;line-height:1;transition:transform .42s cubic-bezier(.16,1,.3,1)}.theme-toggle.expanded .theme-arrow{transform:rotate(180deg)}.theme-files{background:var(--panel);grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.16,1,.3,1),background .32s;display:grid;overflow:hidden}.theme-files.expanded{background:var(--surface-container);grid-template-rows:1fr}.theme-files-inner{min-height:0;overflow:hidden}.theme-files-content{opacity:0;padding:4px 10px 10px 38px;transition:opacity .34s,transform .5s cubic-bezier(.16,1,.3,1);transform:translateY(-7px)}.theme-files.expanded .theme-files-content{opacity:1;transform:translateY(0)}.file-item{width:100%;color:var(--ink);text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:9px;padding:12px 11px;display:grid}.file-item:hover{background:var(--panel-strong)}.file-item.selected{border-color:var(--selected-outline);background:var(--selected-surface)}.file-icon{width:22px;height:22px;color:var(--icon-source);background:var(--icon-source-bg);font:700 10px/1 var(--mono);border:1px solid;border-radius:4px;place-items:center;display:grid;position:relative}.file-icon:after{border-bottom:1px solid var(--accent-soft);border-left:1px solid var(--accent-soft);content:"";background:currentColor;width:4px;height:4px;position:absolute;top:-1px;right:-1px}.file-icon.assembly{color:var(--icon-assembly);background:var(--icon-assembly-bg)}.file-icon.header{color:var(--icon-header);background:var(--icon-header-bg)}.file-copy{min-width:0;display:block}.file-path{color:var(--muted);font:10px var(--mono);margin-bottom:5px;display:block}.file-item strong{color:var(--ink);font-size:12px;font-weight:650;line-height:1.45;display:block}.empty-state{color:var(--muted);margin:0;padding:18px 10px;font-size:12px}.source-reader{background:var(--code-bg);min-width:0;min-height:0;color:var(--reader-foreground);flex-direction:column;transition:color .32s,background .32s;display:flex;overflow:hidden}.reader-header{border-bottom:1px solid var(--line-dark);background:var(--code-panel);justify-content:space-between;gap:18px;min-height:72px;padding:12px 24px;transition:background .32s,border-color .32s;display:flex}.reader-header-actions{flex:none;align-items:center;gap:8px;display:flex}.reader-action{border:1px solid var(--accent);background:var(--accent);min-height:34px;color:var(--paper);font:700 11px/1 var(--sans);letter-spacing:.03em;cursor:pointer;border-radius:6px;padding:0 12px;transition:color .22s,background .22s,border-color .22s,opacity .22s}.reader-action:hover:not(:disabled){border-color:var(--icon-header);background:var(--icon-header)}.reader-action:focus-visible{outline:2px solid var(--selected-outline);outline-offset:2px}.reader-action:disabled{cursor:wait;opacity:.56}.reader-action.secondary{border-color:var(--line-dark);color:var(--accent);background:0 0}.reader-action.secondary:hover:not(:disabled){border-color:var(--accent);background:var(--selected-surface)}.reader-action.ghost{color:var(--reader-subtle);background:0 0;border-color:#0000}.reader-action.ghost:hover:not(:disabled){background:var(--selected-surface);color:var(--reader-foreground)}.file-breadcrumb{color:var(--accent);font:10px var(--mono);margin:0 0 8px}.reader-header h1{color:var(--reader-foreground);margin:0 0 4px;font-size:21px;font-weight:650;line-height:1.16;transition:color .32s}.file-description{max-width:720px;color:var(--reader-subtle);margin:0;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans CJK SC,sans-serif;font-size:13px;font-weight:800;line-height:1.4;transition:color .32s}.code-toolbar{border-top:1px solid var(--line-dark);height:38px;color:var(--reader-subtle);background:var(--code-panel);font:10px var(--mono);flex:0 0 38px;justify-content:flex-end;align-items:center;gap:0;padding:0 18px;transition:color .32s,background .32s,border-color .32s;display:flex}.emulator-workspace{background:var(--code-bg);flex-direction:column;flex:1;min-height:0;transition:background .32s;animation:.56s cubic-bezier(.16,1,.3,1) both emulator-rise;display:flex;position:relative;overflow:hidden}.reader-mode-panel{flex:1;min-height:0;display:none}.reader-mode-panel.is-active{flex-direction:column;display:flex}.reader-source-panel{overflow:hidden}.emulator-stage{background:var(--code-bg);flex:1;place-items:stretch center;min-height:0;padding:clamp(12px,1.4vw,22px);transition:background .32s;display:grid;overflow:hidden}.emulator-computer{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(240px,292px) minmax(0,1fr) minmax(280px,360px);align-items:stretch;gap:clamp(10px,1.2vw,16px);width:min(1720px,100%);min-width:0;height:100%;min-height:0;animation:.7s cubic-bezier(.16,1,.3,1) 70ms both emulator-computer-arrive;display:grid}.emulator-center{grid-template-rows:minmax(0,1fr) auto;gap:clamp(10px,1.2vw,14px);min-width:0;min-height:0;display:grid}.emulator-side-panel{border:1px solid var(--machine-edge);background:color-mix(in srgb, var(--machine-case) 78%, var(--code-bg));min-width:0;min-height:0;color:var(--machine-ink);border-radius:10px;flex-direction:column;gap:12px;padding:13px;transition:background .32s,border-color .32s,color .32s;display:flex;overflow:auto}.side-panel-title{color:color-mix(in srgb, var(--machine-ink) 82%, transparent);justify-content:space-between;align-items:baseline;gap:8px;display:flex}.side-panel-title.compact{border-top:1px solid color-mix(in srgb, var(--machine-ink) 22%, transparent);margin-top:2px;padding-top:12px}.side-panel-title strong{font:800 10px/1 var(--mono);letter-spacing:.1em}.side-panel-title small{color:color-mix(in srgb, var(--machine-ink) 62%, transparent);font:700 9px/1 var(--mono)}.side-panel-kv{gap:7px;margin:0;display:grid}.side-panel-kv div{border:1px solid color-mix(in srgb, var(--machine-ink) 18%, transparent);background:color-mix(in srgb, var(--machine-control) 58%, transparent);border-radius:6px;gap:4px;min-width:0;padding:8px;display:grid}.side-panel-kv dt{color:color-mix(in srgb, var(--machine-ink) 62%, transparent);font:700 9px/1 var(--mono);letter-spacing:.04em}.side-panel-kv dd{min-width:0;color:var(--machine-ink);font:750 11px/1.25 var(--mono);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.side-panel-note{border-top:1px solid color-mix(in srgb, var(--machine-ink) 22%, transparent);color:color-mix(in srgb, var(--machine-ink) 74%, transparent);font:700 10px/1.45 var(--sans);align-items:flex-start;gap:8px;margin-top:0;padding-top:12px;display:flex}.memory-map-panel{border-top:1px solid color-mix(in srgb, var(--machine-ink) 22%, transparent);gap:9px;padding-top:12px;display:grid}.memory-map-header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.memory-map-header span{gap:4px;min-width:0;display:grid}.memory-map-header strong{color:var(--machine-ink);font:800 10px/1 var(--mono);letter-spacing:.1em}.memory-map-header small,.memory-map-footnote{color:color-mix(in srgb, var(--machine-ink) 62%, transparent);font:700 9px/1.2 var(--mono)}.memory-map-header code{border:1px solid color-mix(in srgb, var(--machine-active) 40%, transparent);color:var(--machine-active);font:800 8px/1 var(--mono);white-space:nowrap;border-radius:4px;padding:4px 5px}.memory-map-canvas-shell{aspect-ratio:1;border:1px solid color-mix(in srgb, var(--machine-ink) 20%, transparent);background:var(--memory-canvas-bg);border-radius:7px;place-items:center;width:100%;padding:6px;transition:background .32s,border-color .32s;display:grid}.memory-map-canvas{cursor:pointer;image-rendering:pixelated;display:block}.memory-map-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;display:grid}.memory-map-stats span{border:1px solid color-mix(in srgb, var(--machine-ink) 16%, transparent);background:color-mix(in srgb, var(--machine-control) 54%, transparent);border-radius:5px;gap:2px;min-width:0;padding:6px 5px;display:grid}.memory-map-stats strong{color:var(--machine-ink);font:800 11px/1 var(--mono)}.memory-map-stats small{color:color-mix(in srgb, var(--machine-ink) 62%, transparent);font:700 8px/1 var(--mono)}.memory-map-legend{color:color-mix(in srgb, var(--machine-ink) 72%, transparent);font:700 9px/1.1 var(--sans);grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 8px;display:grid}.memory-map-legend span,.memory-structure-link{align-items:center;gap:6px;min-width:0;display:flex}.memory-kind-dot{border:1px solid color-mix(in srgb, var(--machine-ink) 22%, transparent);background:var(--memory-unknown);border-radius:2px;flex:0 0 8px;width:8px;height:8px}.memory-kind-dot[data-kind=reserved]{background:var(--memory-reserved)}.memory-kind-dot[data-kind=pageTables]{background:var(--memory-page-tables)}.memory-kind-dot[data-kind=kernel]{background:var(--memory-kernel)}.memory-kind-dot[data-kind=memMap]{background:var(--memory-mem-map)}.memory-kind-dot[data-kind=task]{background:var(--memory-task)}.memory-kind-dot[data-kind=buffer]{background:var(--memory-buffer)}.memory-kind-dot[data-kind=free]{background:var(--memory-free)}.memory-kind-dot[data-kind=used]{background:var(--memory-used)}.memory-kind-dot[data-kind=shared]{background:var(--memory-shared)}.memory-kind-dot[data-kind=current]{background:var(--memory-current)}.memory-page-detail{border:1px solid color-mix(in srgb, var(--machine-active) 36%, transparent);background:color-mix(in srgb, var(--machine-active-soft) 62%, transparent);border-radius:6px;gap:4px;min-width:0;padding:8px;display:grid}.memory-page-detail span{color:color-mix(in srgb, var(--machine-ink) 64%, transparent);font:800 9px/1 var(--mono);letter-spacing:.06em}.memory-page-detail strong{color:var(--machine-ink);font:800 12px/1.2 var(--sans)}.memory-page-detail small{min-width:0;color:color-mix(in srgb, var(--machine-ink) 68%, transparent);font:650 10px/1.35 var(--sans);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.memory-structure-list{gap:5px;display:grid}.memory-structure-link{border:1px solid color-mix(in srgb, var(--machine-ink) 16%, transparent);background:color-mix(in srgb, var(--machine-control) 45%, transparent);width:100%;color:var(--machine-ink);text-align:left;border-radius:6px;padding:7px;transition:background .18s,border-color .18s}.memory-structure-link:hover{border-color:color-mix(in srgb, var(--machine-active) 50%, transparent);background:color-mix(in srgb, var(--machine-active-soft) 55%, transparent)}.memory-structure-link span{gap:3px;min-width:0;display:grid}.memory-structure-link strong{font:800 10px/1.1 var(--sans);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.memory-structure-link small{color:color-mix(in srgb, var(--machine-ink) 62%, transparent);font:700 8px/1.1 var(--mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.side-panel-watch-list,.side-panel-task-list{gap:7px;display:grid}.side-panel-watch,.side-panel-task{border:1px solid color-mix(in srgb, var(--machine-ink) 18%, transparent);background:color-mix(in srgb, var(--machine-control) 58%, transparent);border-radius:6px;gap:4px;min-width:0;padding:8px;display:grid}.side-panel-watch.warn{border-color:color-mix(in srgb, var(--debugger-warn) 52%, transparent)}.side-panel-watch.good{border-color:color-mix(in srgb, var(--machine-active) 58%, transparent)}.side-panel-watch span,.side-panel-task span{color:color-mix(in srgb, var(--machine-ink) 62%, transparent);font:700 9px/1 var(--mono)}.side-panel-watch strong,.side-panel-task strong{min-width:0;color:var(--machine-ink);font:800 12px/1.18 var(--mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.side-panel-watch small,.side-panel-task small,.side-panel-empty{min-width:0;color:color-mix(in srgb, var(--machine-ink) 68%, transparent);font:650 10px/1.35 var(--sans);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.emulator-monitor{border:1px solid var(--machine-edge);background:var(--machine-case);width:100%;min-width:0;min-height:0;color:var(--machine-ink);border-radius:12px;flex-direction:column;padding:clamp(13px,2vw,22px) clamp(13px,2.4vw,27px) 15px;transition:background .32s,border-color .32s,color .32s;display:flex}.emulator-monitor-label,.emulator-monitor-base{min-height:23px;font:700 9px/1 var(--mono);letter-spacing:.08em;justify-content:space-between;align-items:center;gap:12px;display:flex}.emulator-monitor-label{color:color-mix(in srgb, var(--machine-ink) 76%, transparent);padding:0 2px 10px}.emulator-bezel{background:#132e33;border:1px solid #52666a;border-radius:7px;flex:auto;place-items:center;min-width:0;min-height:0;padding:clamp(9px,1.6vw,14px);display:grid;position:relative;overflow:hidden}.emulator-screen{aspect-ratio:9/5;color:#eee8d5;width:100%;min-width:0;max-width:100%;height:100%;min-height:0;font-family:var(--mono);background:#000;place-items:stretch stretch;display:grid;overflow:hidden}.emulator-screen:focus-visible{outline:2px solid var(--machine-active);outline-offset:-2px}.emulator-text-screen{box-sizing:border-box;color:#eee8d5;font-variant-ligatures:none;text-rendering:geometricprecision;white-space:pre;background:#000;grid-area:1/1;min-height:100%;padding:12px;overflow:auto;width:100%!important;height:100%!important;font:clamp(15px, 1.45vw, 22px)/1 var(--mono)!important}.emulator-text-screen>div,.emulator-text-screen span{line-height:1!important}.emulator-canvas{image-rendering:pixelated;background:#000;grid-area:1/1;display:block;width:100%!important;height:100%!important}.emulator-keyboard-input{z-index:2;box-sizing:border-box;resize:none;color:#0000;caret-color:#0000;width:100%;height:100%;font:inherit;background:0 0;border:0;outline:0;margin:0;padding:0;position:absolute;inset:0}.emulator-monitor-base{min-height:32px;color:color-mix(in srgb, var(--machine-ink) 78%, transparent);padding:11px 2px 0}.monitor-emblem{border:1px solid;border-radius:3px;padding:2px 4px;font-size:10px}.monitor-led,.deck-status-lamp{border:1px solid color-mix(in srgb, var(--machine-ink) 56%, transparent);background:color-mix(in srgb, var(--machine-ink) 28%, transparent);border-radius:50%;flex:none;width:8px;height:8px}.monitor-led[data-active=true],.deck-status-lamp[data-active=true]{border-color:var(--machine-active);background:var(--machine-active);animation:1.45s ease-in-out infinite device-lamp}.emulator-control-deck{border:1px solid var(--machine-edge);background:var(--machine-case-dark);min-width:0;color:var(--machine-deck-ink);border-radius:10px;flex-flow:wrap;align-items:center;gap:10px;padding:10px 14px;transition:background .32s,border-color .32s,color .32s;display:flex}.control-deck-heading{border-right:1px solid color-mix(in srgb, var(--machine-deck-ink) 32%, transparent);flex:0 0 142px;justify-content:space-between;align-items:center;gap:12px;min-height:46px;padding:2px 12px 2px 1px;display:flex}.control-deck-heading>span:first-child{gap:5px;display:grid}.control-deck-heading strong,.control-deck-heading small{display:block}.control-deck-heading strong{font:800 10px/1 var(--mono);letter-spacing:.1em}.control-deck-heading small{color:color-mix(in srgb, var(--machine-deck-ink) 64%, transparent);font:500 10px/1 var(--mono)}.control-pc-sprite{width:48px;height:48px;image-rendering:pixelated;background-image:url(/emulator/sprites/oga-retro-pc-sheet.png);background-position:0 0;background-repeat:no-repeat;background-size:336px 336px;flex:0 0 48px;animation:1.65s step-end infinite pc-sprite-idle}.machine-control{border:1px solid color-mix(in srgb, var(--machine-control-ink) 45%, transparent);background:var(--machine-control);width:100%;min-height:54px;color:var(--machine-control-ink);text-align:left;border-radius:6px;align-items:center;gap:10px;padding:9px;transition:transform .18s,background .18s,border-color .18s,color .18s,opacity .18s;display:flex}.machine-controls{flex:650px;align-items:stretch;gap:8px;min-width:0;display:flex}.machine-controls .machine-control{flex:150px;min-width:0}.machine-controls .compact-control{flex:0 116px;min-height:38px}.machine-control:hover:not(:disabled){border-color:var(--machine-active);background:var(--machine-control-hover);transform:translateY(-1px)}.machine-control:active:not(:disabled){transform:translateY(1px)}.machine-control:focus-visible{outline:2px solid var(--machine-active);outline-offset:2px}.machine-control:disabled{cursor:wait;opacity:.52}.machine-control>span:last-child{gap:5px;min-width:0;display:grid}.machine-control strong,.machine-control small{display:block}.machine-control strong{font:750 12px/1.1 var(--sans)}.machine-control small{color:color-mix(in srgb, var(--machine-control-ink) 72%, transparent);font:500 9px/1.2 var(--mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.floppy-glyph{border:1px solid color-mix(in srgb, var(--machine-control-ink) 50%, transparent);background-color:color-mix(in srgb, var(--machine-control) 72%, #fff);width:44px;height:44px;image-rendering:pixelated;background-image:url(/emulator/sprites/oga-floppy-red.png);background-position:50%;background-repeat:no-repeat;background-size:39px 39px;border-radius:4px;flex:0 0 44px}.floppy-control[data-inserted=true]{border-color:var(--machine-active);background:var(--machine-active-soft)}.floppy-control[data-inserted=true] .floppy-glyph{border-color:var(--machine-active);animation:.42s cubic-bezier(.16,1,.3,1) both floppy-seat}.root-floppy-control[data-inserted=true]{border-color:var(--machine-active);background:var(--machine-active-soft)}.root-floppy-glyph{border:1px solid color-mix(in srgb, var(--machine-control-ink) 50%, transparent);background-color:color-mix(in srgb, var(--machine-control) 72%, #fff);width:44px;height:44px;image-rendering:pixelated;background-image:url(/emulator/sprites/oga-diskettes-sheet.png);background-position:0 0;background-repeat:no-repeat;background-size:106px 53px;border-radius:4px;flex:0 0 44px}.root-floppy-control[data-inserted=true] .root-floppy-glyph{border-color:var(--machine-active);animation:.42s cubic-bezier(.16,1,.3,1) both floppy-seat}.power-glyph{width:37px;height:37px;color:color-mix(in srgb, var(--machine-control-ink) 74%, transparent);border:3px solid;border-radius:50%;flex:0 0 37px;position:relative}.power-glyph:after{content:"";background:currentColor;border-radius:999px;width:3px;height:16px;position:absolute;top:-5px;left:50%;transform:translate(-50%)}.power-control[data-powered=true]{border-color:var(--machine-active);background:var(--machine-active-soft)}.power-control[data-powered=true] .power-glyph{color:var(--machine-active)}.control-divider{background:color-mix(in srgb, var(--machine-deck-ink) 28%, transparent);flex:0 0 1px;width:1px;height:34px;margin:auto 2px}.machine-control.compact-control{min-height:37px;font:700 10px/1 var(--sans);justify-content:flex-start;padding:0 10px}.compact-control>span:first-child{width:18px;color:var(--machine-active);font:700 16px/1 var(--mono);text-align:center}.control-deck-status{min-height:18px;color:color-mix(in srgb, var(--machine-deck-ink) 82%, transparent);font:700 9px/1 var(--mono);letter-spacing:.07em;flex:none;align-items:center;gap:8px;margin:0;padding-top:0;display:flex}.control-detail{min-height:18px;color:color-mix(in srgb, var(--machine-deck-ink) 72%, transparent);font:500 9px/1.45 var(--sans);flex:100%;margin:0}.sprite-credit{color:color-mix(in srgb, var(--machine-deck-ink) 58%, transparent);font:500 8px/1.2 var(--mono);margin-left:auto;text-decoration:none}.sprite-credit:hover,.sprite-credit:focus-visible{color:var(--machine-active);text-decoration:underline}.debugger-panel{border-top:1px solid var(--line-dark);background:var(--debugger-bg);color:var(--debugger-ink);flex:none;transition:background .32s,color .32s,border-color .32s}.debugger-panel.side{border-top-color:color-mix(in srgb, var(--machine-ink) 22%, transparent);color:var(--machine-ink);background:0 0;margin-top:2px}.debugger-toggle{width:100%;min-height:42px;color:inherit;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:18px;padding:0 18px;display:flex}.debugger-toggle:hover{background:color-mix(in srgb, var(--debugger-surface) 70%, transparent)}.debugger-panel.side .debugger-toggle{flex-direction:column;align-items:flex-start;gap:7px;min-height:38px;padding:12px 0 0}.debugger-panel.side .debugger-toggle:hover{background:0 0}.debugger-toggle:focus-visible,.debugger-action:focus-visible{outline:2px solid var(--machine-active);outline-offset:-2px}.debugger-title{align-items:baseline;gap:10px;min-width:0;display:flex}.debugger-panel.side .debugger-title{justify-content:space-between;width:100%}.debugger-title strong{color:currentColor;font:800 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}.debugger-title small{min-width:0;color:color-mix(in srgb, currentColor 64%, transparent);font:700 10px/1.2 var(--mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.debugger-metrics{min-width:0;color:color-mix(in srgb, currentColor 66%, transparent);font:700 10px/1 var(--mono);justify-content:flex-end;align-items:center;gap:8px;display:flex}.debugger-panel.side .debugger-metrics{flex-wrap:wrap;justify-content:flex-start;width:100%}.debugger-metrics code{border:1px solid color-mix(in srgb, var(--debugger-muted) 38%, transparent);color:currentColor;border-radius:4px;padding:4px 6px}.debugger-drawer{border-top:0 solid #0000;grid-template-rows:0fr;transition:grid-template-rows .36s cubic-bezier(.16,1,.3,1),border-color .32s;display:grid;overflow:hidden}.debugger-panel.open .debugger-drawer{border-top-width:1px;border-top-color:var(--line-dark);grid-template-rows:1fr}.debugger-panel.side.open .debugger-drawer{border-top-color:color-mix(in srgb, var(--machine-ink) 22%, transparent)}.debugger-drawer-inner{min-height:0;overflow:hidden}.debugger-toolbar{border-bottom:1px solid color-mix(in srgb, var(--debugger-muted) 24%, transparent);background:color-mix(in srgb, var(--debugger-surface) 78%, transparent);align-items:center;gap:8px;min-height:46px;padding:8px 18px;display:flex}.debugger-panel.side .debugger-toolbar{background:0 0;flex-wrap:wrap;align-items:stretch;min-height:0;padding:10px 0}.debugger-action{border:1px solid var(--machine-active);background:var(--machine-active);min-height:28px;color:var(--paper);font:800 10px/1 var(--sans);border-radius:5px;padding:0 10px;transition:background .18s,color .18s,border-color .18s,opacity .18s}.debugger-action.secondary{color:var(--debugger-ink);background:0 0}.debugger-action.ghost{color:var(--debugger-muted);background:0 0;border-color:#0000}.debugger-action:hover:not(:disabled){background:var(--debugger-surface);color:var(--debugger-ink)}.debugger-action:disabled{cursor:not-allowed;opacity:.46}.debugger-symbol-state{color:var(--debugger-muted);font:700 10px/1 var(--mono);margin-left:auto}.debugger-panel.side .debugger-symbol-state{width:100%;color:color-mix(in srgb, var(--machine-ink) 64%, transparent);margin-left:0}.debugger-grid{grid-template-columns:minmax(220px,.9fr) minmax(240px,1fr) minmax(220px,.9fr);gap:10px;max-height:min(360px,42dvh);padding:12px 18px;display:grid;overflow:auto}.debugger-panel.side .debugger-grid{grid-template-columns:minmax(0,1fr);max-height:none;padding:10px 0 0;overflow:visible}.debugger-block{border:1px solid color-mix(in srgb, var(--debugger-muted) 30%, transparent);background:var(--debugger-surface);border-radius:6px;min-width:0;padding:10px}.debugger-location,.debugger-watch-block{grid-row:span 2}.debugger-panel.side .debugger-location,.debugger-panel.side .debugger-watch-block{grid-row:auto}.debugger-block-header{color:var(--debugger-ink);font:800 10px/1 var(--sans);justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.debugger-block-header code{color:var(--debugger-muted);font:700 9px/1 var(--mono)}.debugger-kv{gap:6px;margin:0;display:grid}.debugger-kv div{grid-template-columns:72px minmax(0,1fr);align-items:baseline;gap:8px;min-width:0;display:grid}.debugger-kv dt{color:var(--debugger-muted);font:700 10px/1 var(--sans)}.debugger-kv dd{min-width:0;color:var(--debugger-ink);font:700 10px/1.35 var(--mono);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.debugger-register-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.debugger-register-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.debugger-register{border:1px solid color-mix(in srgb, var(--debugger-muted) 24%, transparent);background:color-mix(in srgb, var(--code-bg) 56%, transparent);border-radius:5px;gap:4px;min-width:0;padding:7px 8px;display:grid}.debugger-register.changed{border-color:var(--debugger-hot);background:color-mix(in srgb, var(--debugger-hot) 16%, var(--debugger-surface))}.debugger-register strong{color:var(--debugger-muted);font:800 9px/1 var(--mono)}.debugger-register code{color:var(--debugger-ink);font:700 10px/1 var(--mono)}.debugger-task-table{gap:5px;display:grid}.debugger-task-row{border-bottom:1px solid color-mix(in srgb, var(--debugger-muted) 18%, transparent);min-width:0;color:var(--debugger-muted);font:700 9px/1.2 var(--mono);grid-template-columns:54px 56px minmax(0,1fr) 72px;align-items:center;gap:7px;padding:6px 7px;display:grid}.debugger-task-row code{color:var(--debugger-ink)}.debugger-watch-list{gap:7px;display:grid}.debugger-watch{border:1px solid color-mix(in srgb, var(--debugger-muted) 24%, transparent);background:color-mix(in srgb, var(--code-bg) 50%, transparent);border-radius:5px;grid-template-columns:64px minmax(0,1fr);align-items:baseline;gap:4px 8px;min-width:0;padding:8px;display:grid}.debugger-watch.good{border-color:color-mix(in srgb, var(--machine-active) 64%, transparent)}.debugger-watch.warn{border-color:color-mix(in srgb, var(--debugger-warn) 64%, transparent)}.debugger-watch>span{color:var(--debugger-muted);font:800 9px/1 var(--mono);text-transform:uppercase}.debugger-watch strong{min-width:0;color:var(--debugger-ink);font:800 11px/1 var(--sans);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.debugger-watch small{min-width:0;color:var(--debugger-muted);font:700 9px/1.35 var(--mono);text-overflow:ellipsis;white-space:nowrap;grid-column:2;overflow:hidden}.debugger-empty{color:var(--debugger-muted);font:700 10px/1.4 var(--mono)}.debugger-checkpoint{border-top:1px solid color-mix(in srgb, var(--debugger-muted) 24%, transparent);min-height:34px;color:var(--debugger-muted);font:700 10px/1.3 var(--mono);justify-content:space-between;align-items:center;gap:12px;padding:7px 18px;display:flex}.debugger-checkpoint code{color:var(--debugger-ink)}@keyframes emulator-rise{0%{opacity:0;transform:translateY(38px)}to{opacity:1;transform:translateY(0)}}@keyframes emulator-computer-arrive{0%{opacity:0;transform:translateY(20px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes device-lamp{0%,to{opacity:.6}50%{opacity:1}}@keyframes floppy-seat{0%{transform:translateY(-8px)}to{transform:translateY(0)}}@keyframes pc-sprite-idle{0%,16%{background-position:0 0}17%,32%{background-position:-48px 0}33%,48%{background-position:-96px 0}49%,64%{background-position:-144px 0}65%,80%{background-position:-192px 0}81%,to{background-position:-240px 0}}.sidebar-resize-handle{z-index:3;cursor:col-resize;touch-action:none;width:10px;position:absolute;top:0;bottom:0;right:-5px}.sidebar-resize-handle:after{content:"";background:0 0;border-radius:999px;width:2px;transition:background .2s;position:absolute;top:0;bottom:0;left:4px}.sidebar-resize-handle:hover:after,.source-atlas.is-resizing .sidebar-resize-handle:after{background:var(--accent)}.source-atlas.is-resizing,.source-atlas.is-resizing *{-webkit-user-select:none;user-select:none;cursor:col-resize!important}.nav-collapsed .sidebar-resize-handle{display:none}.status-dot{background:var(--accent);border-radius:999px;width:7px;height:7px;margin-right:6px;display:inline-block}.code-frame{background:var(--code-bg);outline:none;flex:1;min-height:0;padding:12px 0 20px;transition:background .32s;overflow:auto}.code-frame:focus{outline:none}.code-line{min-width:max-content;color:var(--code-line);font:12px/1.65 var(--mono);white-space:pre;grid-template-columns:58px auto;transition:color .32s,background .32s;display:grid}.code-line:hover{background:var(--code-hover)}.line-number{color:var(--muted);text-align:right;-webkit-user-select:none;user-select:none;padding-right:15px;transition:color .32s}.code-line code{min-width:max-content;font:inherit;padding-right:28px;display:block}.syntax-token{color:var(--syntax-day,inherit);transition:color .32s}.theme-night .syntax-token{color:var(--syntax-night,var(--syntax-day,inherit))}.annotation-line{color:var(--annotation);background:var(--annotation-bg)}.annotation-line .line-number{color:var(--accent)}.annotation-line .syntax-token{color:var(--annotation)}.code-message{color:var(--reader-subtle);font:12px var(--mono);margin:0;padding:30px}.code-message.error{color:var(--error)}@media (width<=860px){.source-atlas{grid-template-rows:minmax(0,42dvh) minmax(0,1fr);grid-template-columns:1fr}.source-nav{border-right:0;border-bottom:1px solid var(--line)}.sidebar-resize-handle{display:none}.source-atlas.nav-collapsed{grid-template-rows:112px minmax(0,1fr);grid-template-columns:1fr}.source-atlas.emulator-layout,.source-atlas.emulator-layout.nav-collapsed{grid-template-rows:minmax(0,1fr);grid-template-columns:1fr}.theme-list{max-height:245px}.reader-header{flex-direction:column;gap:14px;min-height:0;padding:16px 18px}.emulator-stage{place-items:center;padding:12px;overflow:auto}.emulator-computer{grid-template-rows:auto minmax(360px,1fr) auto;grid-template-columns:minmax(0,1fr)}.emulator-side-panel-left{order:2}.emulator-center{order:1}.emulator-side-panel-right{order:3}.emulator-control-deck{display:flex}.emulator-screen,.emulator-text-screen{min-width:0}.debugger-toggle{flex-direction:column;align-items:flex-start;gap:6px;padding:9px 14px}.debugger-metrics{justify-content:flex-start;width:100%;overflow:auto}.debugger-toolbar{flex-wrap:wrap;align-items:stretch;padding:8px 14px}.debugger-symbol-state{width:100%;margin-left:0}.debugger-grid{grid-template-columns:minmax(0,1fr);max-height:48dvh;padding:10px 14px}.debugger-location,.debugger-watch-block{grid-row:auto}}@media (width<=520px){.source-atlas{min-height:100svh}.search-box{min-height:58px;padding:0 14px}.theme-toggle{padding-left:14px;padding-right:14px}.theme-files-content{padding-left:34px}.reader-header h1{font-size:19px}.code-toolbar{padding:0 14px}.emulator-monitor{padding:11px}.emulator-screen,.emulator-text-screen{min-width:0}.emulator-screen{height:100%}.debugger-title{flex-direction:column;align-items:flex-start;gap:4px}.debugger-action{flex:120px}.debugger-register-grid,.debugger-register-grid.compact{grid-template-columns:minmax(0,1fr)}.debugger-task-row{grid-template-columns:50px 52px minmax(0,1fr)}.debugger-task-row span:last-child{grid-column:1/-1}.debugger-watch{grid-template-columns:minmax(0,1fr)}.debugger-watch small{grid-column:auto}.emulator-control-deck{align-items:stretch}.control-deck-heading{border-right:0;border-bottom:1px solid color-mix(in srgb, var(--machine-deck-ink) 32%, transparent);flex:none;width:100%;padding:2px 1px 10px}.machine-controls{flex-direction:column}.machine-controls .machine-control,.machine-controls .compact-control{flex:none}.machine-controls .control-divider{flex:0 0 1px;width:100%;height:1px;margin:2px 0}.control-deck-status,.control-detail{flex-basis:100%;margin-left:0}.code-line{grid-template-columns:46px auto;font-size:11px}.line-number{padding-right:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
