.flexlayout__layout{--color-text: black;--color-background: white;--color-base: white;--color-1: #f7f7f7;--color-2: #f0f0f0;--color-3: #e9e9e9;--color-4: #e2e2e2;--color-5: #dbdbdb;--color-6: #d4d4d4;--color-drag1: rgb(95, 134, 196);--color-drag2: rgb(119, 166, 119);--color-drag1-background: rgba(95, 134, 196, .1);--color-drag2-background: rgba(119, 166, 119, .075);--font-size: medium;--font-family: Roboto, Arial, sans-serif;--color-overflow: gray;--color-icon: gray;--color-tabset-background: var(--color-background);--color-tabset-background-selected: var(--color-1);--color-tabset-background-maximized: var(--color-6);--color-tabset-divider-line: var(--color-4);--color-tabset-header-background: var(--color-background);--color-tabset-header: var(--color-text);--color-border-background: var(--color-background);--color-border-divider-line: var(--color-4);--color-tab-selected: var(--color-text);--color-tab-selected-background: var(--color-4);--color-tab-unselected: gray;--color-tab-unselected-background: transparent;--color-tab-textbox: var(--color-text);--color-tab-textbox-background: var(--color-3);--color-border-tab-selected: var(--color-text);--color-border-tab-selected-background: var(--color-4);--color-border-tab-unselected: gray;--color-border-tab-unselected-background: var(--color-2);--color-splitter: var(--color-1);--color-splitter-hover: var(--color-4);--color-splitter-drag: var(--color-4);--color-drag-rect-border: var(--color-6);--color-drag-rect-background: var(--color-4);--color-drag-rect: var(--color-text);--color-popup-border: var(--color-6);--color-popup-unselected: var(--color-text);--color-popup-unselected-background: white;--color-popup-selected: var(--color-text);--color-popup-selected-background: var(--color-3);--color-edge-marker: #aaa;--color-edge-icon: #555}.flexlayout__layout{left:0;top:0;right:0;bottom:0;position:absolute;overflow:hidden}.flexlayout__splitter{background-color:var(--color-splitter)}@media (hover: hover){.flexlayout__splitter:hover{background-color:var(--color-splitter-hover);transition:background-color ease-in .1s;transition-delay:.05s}}.flexlayout__splitter_border{z-index:10}.flexlayout__splitter_drag{z-index:1000;background-color:var(--color-splitter-drag)}.flexlayout__splitter_extra{background-color:transparent}.flexlayout__outline_rect{position:absolute;pointer-events:none;box-sizing:border-box;border:2px solid var(--color-drag1);background:var(--color-drag1-background);border-radius:5px;z-index:1000}.flexlayout__outline_rect_edge{pointer-events:none;border:2px solid var(--color-drag2);background:var(--color-drag2-background);border-radius:5px;z-index:1000;box-sizing:border-box}.flexlayout__edge_rect{position:absolute;z-index:1000;background-color:var(--color-edge-marker);pointer-events:none;display:flex;align-items:center;justify-content:center}.flexlayout__drag_rect{position:absolute;cursor:move;color:var(--color-drag-rect);background-color:var(--color-drag-rect-background);border:2px solid var(--color-drag-rect-border);border-radius:5px;z-index:1000;box-sizing:border-box;opacity:.9;text-align:center;display:flex;justify-content:center;flex-direction:column;overflow:hidden;padding:.3em 1em;word-wrap:break-word;font-size:var(--font-size);font-family:var(--font-family)}.flexlayout__tabset{display:flex;flex-direction:column;overflow:hidden;background-color:var(--color-tabset-background);box-sizing:border-box;font-size:var(--font-size);font-family:var(--font-family)}.flexlayout__tabset_tab_divider{width:4px}.flexlayout__tabset_content{display:flex;flex-grow:1;align-items:center;justify-content:center}.flexlayout__tabset_header{display:flex;align-items:center;padding:3px 3px 3px 5px;box-sizing:border-box;border-bottom:1px solid var(--color-tabset-divider-line);color:var(--color-tabset-header);background-color:var(--color-tabset-header-background)}.flexlayout__tabset_header_content{flex-grow:1}.flexlayout__tabset_tabbar_outer{box-sizing:border-box;background-color:var(--color-tabset-background);overflow:hidden;display:flex}.flexlayout__tabset_tabbar_outer_top{border-bottom:1px solid var(--color-tabset-divider-line)}.flexlayout__tabset_tabbar_outer_bottom{border-top:1px solid var(--color-tabset-divider-line)}.flexlayout__tabset_tabbar_inner{position:relative;box-sizing:border-box;display:flex;flex-grow:1;overflow:hidden}.flexlayout__tabset_tabbar_inner_tab_container{display:flex;padding-left:4px;padding-right:4px;box-sizing:border-box;position:absolute;top:0;bottom:0;width:10000px}.flexlayout__tabset_tabbar_inner_tab_container_top{border-top:2px solid transparent}.flexlayout__tabset_tabbar_inner_tab_container_bottom{border-bottom:2px solid transparent}.flexlayout__tabset-selected{background-color:var(--color-tabset-background-selected)}.flexlayout__tabset-maximized{background-color:var(--color-tabset-background-maximized)}.flexlayout__tab_button_stamp{display:inline-flex;align-items:center;gap:.3em;white-space:nowrap;box-sizing:border-box}.flexlayout__tab{overflow:auto;position:absolute;box-sizing:border-box;background-color:var(--color-background);color:var(--color-text)}.flexlayout__tab_button{display:flex;gap:.3em;align-items:center;box-sizing:border-box;padding:3px .5em;cursor:pointer}.flexlayout__tab_button_stretch{background-color:transparent;color:var(--color-tab-selected);width:100%;padding:3px 0;text-wrap:nowrap;display:flex;gap:.3em;align-items:center;box-sizing:border-box;cursor:pointer}@media (hover: hover){.flexlayout__tab_button_stretch:hover{color:var(--color-tab-selected)}}.flexlayout__tab_button--selected{background-color:var(--color-tab-selected-background);color:var(--color-tab-selected)}@media (hover: hover){.flexlayout__tab_button:hover{background-color:var(--color-tab-selected-background);color:var(--color-tab-selected)}}.flexlayout__tab_button--unselected{background-color:var(--color-tab-unselected-background);color:var(--color-tab-unselected);color:gray}.flexlayout__tab_button_leading,.flexlayout__tab_button_content{display:flex}.flexlayout__tab_button_textbox{border:none;font-family:var(--font-family);font-size:var(--font-size);color:var(--color-tab-textbox);background-color:var(--color-tab-textbox-background);border:1px inset var(--color-1);border-radius:3px;width:10em}.flexlayout__tab_button_textbox:focus{outline:none}.flexlayout__tab_button_trailing{display:flex;visibility:hidden;border-radius:4px}.flexlayout__tab_button_trailing:hover{background-color:var(--color-3)}@media (hover: hover){.flexlayout__tab_button:hover .flexlayout__tab_button_trailing{visibility:visible}}.flexlayout__tab_button--selected .flexlayout__tab_button_trailing{visibility:visible}.flexlayout__tab_button_overflow{display:flex;align-items:center;border:none;color:var(--color-overflow);font-size:inherit;background-color:transparent}.flexlayout__tab_toolbar{display:flex;align-items:center;gap:.3em;padding-left:.5em;padding-right:.3em}.flexlayout__tab_toolbar_button{border:none;outline:none;font-size:inherit;margin:0;background-color:transparent;border-radius:4px;padding:1px}@media (hover: hover){.flexlayout__tab_toolbar_button:hover{background-color:var(--color-2)}}.flexlayout__tab_toolbar_sticky_buttons_container{display:flex;gap:.3em;padding-left:5px;align-items:center}.flexlayout__tab_floating{overflow:auto;position:absolute;box-sizing:border-box;color:var(--color-text);background-color:var(--color-background);display:flex;justify-content:center;align-items:center}.flexlayout__tab_floating_inner{overflow:auto;display:flex;flex-direction:column;justify-content:center;align-items:center}.flexlayout__tab_floating_inner div{margin-bottom:5px;text-align:center}.flexlayout__tab_floating_inner div a{color:#4169e1}.flexlayout__border{box-sizing:border-box;overflow:hidden;display:flex;font-size:var(--font-size);font-family:var(--font-family);color:var(--color-border);background-color:var(--color-border-background)}.flexlayout__border_top{border-bottom:1px solid var(--color-border-divider-line);align-items:center}.flexlayout__border_bottom{border-top:1px solid var(--color-border-divider-line);align-items:center}.flexlayout__border_left{border-right:1px solid var(--color-border-divider-line);align-content:center;flex-direction:column}.flexlayout__border_right{border-left:1px solid var(--color-border-divider-line);align-content:center;flex-direction:column}.flexlayout__border_inner{position:relative;box-sizing:border-box;display:flex;overflow:hidden;flex-grow:1}.flexlayout__border_inner_tab_container{white-space:nowrap;display:flex;padding-left:2px;padding-right:2px;box-sizing:border-box;position:absolute;top:0;bottom:0;width:10000px}.flexlayout__border_inner_tab_container_right{transform-origin:top left;transform:rotate(90deg)}.flexlayout__border_inner_tab_container_left{flex-direction:row-reverse;transform-origin:top right;transform:rotate(-90deg)}.flexlayout__border_tab_divider{width:4px}.flexlayout__border_button{display:flex;gap:.3em;align-items:center;cursor:pointer;padding:3px .5em;margin:2px 0;box-sizing:border-box;white-space:nowrap}.flexlayout__border_button--selected{background-color:var(--color-border-tab-selected-background);color:var(--color-border-tab-selected)}@media (hover: hover){.flexlayout__border_button:hover{background-color:var(--color-border-tab-selected-background);color:var(--color-border-tab-selected)}}.flexlayout__border_button--unselected{background-color:var(--color-border-tab-unselected-background);color:var(--color-border-tab-unselected)}.flexlayout__border_button_leading,.flexlayout__border_button_content{display:flex}.flexlayout__border_button_trailing{display:flex;border-radius:4px;visibility:hidden}.flexlayout__border_button_trailing:hover{background-color:var(--color-3)}@media (hover: hover){.flexlayout__border_button:hover .flexlayout__border_button_trailing{visibility:visible}}.flexlayout__border_button--selected .flexlayout__border_button_trailing{visibility:visible}.flexlayout__border_toolbar{display:flex;gap:.3em;align-items:center}.flexlayout__border_toolbar_left,.flexlayout__border_toolbar_right{flex-direction:column;padding-top:.5em;padding-bottom:.3em}.flexlayout__border_toolbar_top,.flexlayout__border_toolbar_bottom{padding-left:.5em;padding-right:.3em}.flexlayout__border_toolbar_button{border:none;outline:none;font-size:inherit;background-color:transparent;border-radius:4px;padding:1px}@media (hover: hover){.flexlayout__border_toolbar_button:hover{background-color:var(--color-2)}}.flexlayout__border_toolbar_button_overflow{display:flex;align-items:center;border:none;color:var(--color-overflow);font-size:inherit;background-color:transparent}.flexlayout__popup_menu{font-size:var(--font-size);font-family:var(--font-family)}.flexlayout__popup_menu_item{padding:2px .5em;white-space:nowrap;cursor:pointer;border-radius:2px}@media (hover: hover){.flexlayout__popup_menu_item:hover{background-color:var(--color-6)}}.flexlayout__popup_menu_container{box-shadow:inset 0 0 5px #00000026;border:1px solid var(--color-popup-border);color:var(--color-popup-unselected);background:var(--color-popup-unselected-background);border-radius:3px;position:absolute;z-index:1000;max-height:50%;min-width:100px;overflow:auto;padding:2px}.flexlayout__floating_window _body{height:100%}.flexlayout__floating_window_content{left:0;top:0;right:0;bottom:0;position:absolute}.flexlayout__floating_window_tab{overflow:auto;left:0;top:0;right:0;bottom:0;position:absolute;box-sizing:border-box;background-color:var(--color-background);color:var(--color-text)}.flexlayout__error_boundary_container{left:0;top:0;right:0;bottom:0;position:absolute;display:flex;justify-content:center}.flexlayout__error_boundary_content{display:flex;align-items:center}.flexlayout__tabset_sizer{padding-top:5px;padding-bottom:3px;font-size:var(--font-size);font-family:var(--font-family)}.flexlayout__tabset_header_sizer{padding-top:3px;padding-bottom:3px;font-size:var(--font-size);font-family:var(--font-family)}.flexlayout__border_sizer{padding-top:6px;padding-bottom:5px;font-size:var(--font-size);font-family:var(--font-family)}/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}:root{color-scheme:dark;--bg: #0d0f12;--panel: #171a1f;--line: #30363d;--text: #d7dce2;--muted: #7d8590;--ok: #3fb950;--warn: #d29922;--bad: #f85149;--accent: #58a6ff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:13px/1.5 JetBrains Mono,ui-monospace,Cascadia Mono,Consolas,monospace}a{color:var(--accent)}button,.button{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:5px 10px;font:inherit;cursor:pointer;text-decoration:none;display:inline-block}button:hover:not(:disabled),.button:hover{border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}button.primary{background:#1f6feb;border-color:#1f6feb;color:#fff}button.danger{color:var(--bad)}button.ghost{background:none;border-color:transparent;color:var(--muted)}button.link{background:none;border:none;padding:0;color:var(--accent)}button.small,.small{font-size:12px}input{background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:6px 9px;font:inherit;min-width:0}.muted{color:var(--muted)}.spacer{flex:1}.title{font:700 22px/1 JetBrains Mono,ui-monospace,monospace;letter-spacing:.12em;margin:0}.menu-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}.menu-panel{width:min(100%,360px);background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:24px;display:flex;flex-direction:column;gap:12px}.subtitle{color:var(--muted);margin:0}.auth-form{display:flex;flex-direction:column;gap:10px}.auth-form label{display:flex;flex-direction:column;gap:4px;color:var(--muted)}.auth-error{color:var(--bad);margin:6px 0}.google-button{min-height:0;margin-top:10px;display:flex;justify-content:center;color-scheme:light}.page{width:min(100%,900px);margin:0 auto;padding:16px}.top{display:flex;align-items:center;gap:12px;margin-bottom:16px}.create{display:flex;gap:8px}.create input{flex:1}.bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 0}.boxes{list-style:none;padding:0;display:grid;gap:10px}.box{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px;display:grid;gap:6px}.box-main{display:flex;align-items:center;gap:10px}.box-name{background:none;border:none;padding:0;font-weight:600;font-size:16px;color:var(--text)}.box-name:not(:disabled):hover{color:var(--accent)}.box-name:disabled{opacity:1}.state{font-size:12px;padding:1px 7px;border-radius:10px;border:1px solid var(--line);color:var(--muted)}.state.running{color:var(--ok);border-color:var(--ok)}.state.starting,.state.stopping{color:var(--warn);border-color:var(--warn)}.state.failed{color:var(--bad);border-color:var(--bad)}.usage{height:5px;background:var(--bg);border-radius:3px;overflow:hidden}.usage .fill{height:100%;background:var(--accent)}.usage .fill.hot{background:var(--bad)}.actions{display:flex;flex-wrap:wrap;gap:6px}.crumbs{font-family:JetBrains Mono,ui-monospace,monospace}.files{width:100%;border-collapse:collapse}.files td{padding:5px 8px;border-bottom:1px solid var(--line)}.files td:first-child{font-family:JetBrains Mono,ui-monospace,monospace;word-break:break-all}.player{width:min(100%,1100px);margin:0 auto;padding:8px 16px 16px}.dot{width:8px;height:8px;border-radius:50%;background:var(--bad);display:inline-block}.dot.on{background:var(--ok)}.screen-wrap{background:#000;border-radius:6px;overflow:hidden;outline:none;position:relative}.screen-wrap.focused{box-shadow:0 0 0 2px var(--accent)}.screen-wrap canvas{display:block;width:100%;height:auto;image-rendering:pixelated;cursor:default}.hint{position:absolute;inset:auto 0 0 0;text-align:center;padding:6px;font-size:12px;color:var(--muted);background:#0009;pointer-events:none}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--muted);background:#000000b3}@media (max-width: 600px){.create{flex-direction:column}}.create-form{display:grid;gap:8px;margin-bottom:8px}button.on{border-color:var(--accent);color:var(--accent)}.picker{display:grid;gap:8px}.picker-group{border:1px solid var(--line);border-radius:8px;padding:6px 10px 8px;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 12px}.picker-group legend{color:var(--muted);font-size:12px;padding:0 4px}.picker-item{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:baseline;cursor:pointer}.picker-item .small{grid-column:2}.picker-item.taken{opacity:.5;cursor:default}.add-panel{border-top:1px solid var(--line);padding-top:8px;display:grid;gap:8px}.catalog-form{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px;display:grid;gap:10px;margin-bottom:16px}.catalog-form label{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:13px}.tabs{display:flex;gap:6px}.grid2{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px 12px}.catalog-table{width:100%;border-collapse:collapse;font-size:14px}.catalog-table th{text-align:left;color:var(--muted);font-weight:400;font-size:12px;border-bottom:1px solid var(--line);padding:6px}.catalog-table td{border-bottom:1px solid var(--line);padding:6px;vertical-align:top}.lag{color:var(--warn)}.debug{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin-top:10px;display:grid;gap:8px}.debug .bar{padding:0}.debug input{flex:1;min-width:180px;max-width:320px}.debug-grid{display:grid;gap:8px}.regs{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:4px 12px;font-family:JetBrains Mono,ui-monospace,Consolas,monospace;font-size:13px}.regs b{color:var(--muted);font-weight:400;margin-right:4px}.regs .changed{color:var(--warn)}.mono{font-family:JetBrains Mono,ui-monospace,Consolas,monospace;white-space:pre-wrap}.debug-log{margin:0;max-height:120px;overflow:auto;color:var(--muted);font-family:JetBrains Mono,ui-monospace,Consolas,monospace;white-space:pre-wrap}.console{background:var(--panel);border:1px solid var(--line);border-radius:8px;margin-top:10px;display:grid;grid-template-rows:1fr auto;overflow:hidden}.console-out{margin:0;padding:8px 12px;height:260px;overflow:auto;font-family:JetBrains Mono,ui-monospace,Consolas,monospace;font-size:13px;white-space:pre-wrap;word-break:break-all}.console-in{display:flex;align-items:center;gap:6px;border-top:1px solid var(--line);padding:6px 12px;font-family:JetBrains Mono,ui-monospace,Consolas,monospace;font-size:13px}.console-in input{flex:1;min-width:0;max-width:none;background:transparent;border:0;outline:0;color:inherit;font:inherit;padding:0}.console-prompt{color:var(--muted)}.editor{background:var(--panel);border:1px solid var(--line);border-radius:8px;margin-top:10px;display:grid;grid-template-columns:200px 1fr;height:460px;overflow:hidden}.editor .bar{padding:6px 8px;border-bottom:1px solid var(--line);flex-wrap:nowrap;overflow:hidden}.editor .bar input{flex:1;min-width:120px;max-width:none;font-size:12px}.editor-side{border-right:1px solid var(--line);display:grid;grid-template-rows:auto 1fr;min-width:0}.editor-side .bar .mono{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.editor-files{list-style:none;margin:0;padding:4px 0;overflow:auto;font-family:JetBrains Mono,ui-monospace,Consolas,monospace;font-size:13px}.editor-files li button{display:block;width:100%;text-align:left;background:none;border:0;border-radius:0;padding:2px 10px;color:inherit;font:inherit;cursor:pointer}.editor-files li.dir button{color:var(--muted)}.editor-files li.on button,.editor-files li button:hover{background:var(--line)}.editor-files li.muted{padding:2px 10px}.editor-main{display:grid;grid-template-rows:auto 1fr;min-width:0}.editor-box{min-height:0}.editor-empty{display:grid;place-items:center;height:100%}@media (max-width: 700px){.editor{grid-template-columns:1fr;grid-template-rows:140px 1fr}.editor-side{border-right:0;border-bottom:1px solid var(--line)}}.machine-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px}.machine-picker{display:inline-flex;gap:6px;flex-wrap:wrap}.machine-picker select{font-size:13px}.disasm{font-family:JetBrains Mono,ui-monospace,Consolas,monospace;font-size:13px;max-height:360px;overflow:auto;border:1px solid var(--line);border-radius:6px;background:#00a;color:#ff5;outline:none}.disasm table{border-collapse:collapse;width:100%}.disasm td{padding:1px 8px;white-space:pre;vertical-align:top}.disasm td.gutter{width:14px;padding:1px 4px;color:#aaa;cursor:pointer;-webkit-user-select:none;user-select:none}.disasm td.gutter.bp{color:#f55}.disasm td.addr{color:#5ff;cursor:pointer}.disasm td.bytes{color:#aaa}.disasm tr.ip{background:#00f}.disasm tr.ip td.gutter:before{content:"▶";color:#fff}.disasm tr.ip td.gutter.bp:before{content:"●";color:#f55}.disasm tr:hover{background:#008}.disasm tr.ip:hover{background:#00f}.disasm .hint{padding:2px 8px;color:#aaa;font-size:12px}.mem{display:grid;gap:8px}.mem .bar input{flex:0 0 auto;width:60px;min-width:60px;font-family:JetBrains Mono,ui-monospace,Consolas,monospace}.hexview{font-family:JetBrains Mono,ui-monospace,Consolas,monospace;font-size:13px;background:#00a;color:#ff5;border:1px solid var(--line);border-radius:6px;padding:6px 8px;overflow:auto;white-space:pre;line-height:18px}.hexview .a{color:#5ff}.hexview .b{cursor:pointer}.hexview .b:hover{background:#00f}.hexview .b.chg{color:#fff;background:#a00}.hexview .b.ptr{outline:1px solid #55ff55}.hexview .t{color:#aaa}.memmap{display:grid;gap:4px}.memmap-bar{display:flex;height:22px;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:#333}.memmap-bar span{display:block;height:100%;min-width:1px;box-sizing:border-box;border-right:1px solid #0003}.memmap-bar .free{background:#555}.memmap-bar .dos{background:#25a}.memmap-bar .prog{background:#5a5}.memmap-bar .me{background:#ff5}.memmap-bar .video{background:#a5a}.memmap-bar .rom{background:#a50}.memmap-bar .umb{background:#444}.memmap-scale{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);font-family:JetBrains Mono,ui-monospace,Consolas,monospace}.memmap table{border-collapse:collapse;font-family:JetBrains Mono,ui-monospace,Consolas,monospace;font-size:12px}.memmap td{padding:1px 8px;white-space:nowrap}.memmap tr.me td{color:var(--warn)}.memmap tr:hover{background:var(--line)}.trace{display:grid;gap:8px}.trace .bar input[type=number]{flex:0 0 auto;width:80px;min-width:80px}.trace-strip{display:flex;height:18px;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:#222;cursor:pointer}.trace-strip span{display:block;height:100%;min-width:1px;background:#555}.trace-strip span.int{background:#ff5}.trace-strip span.io{background:#f5f}.trace-strip span.jump,.trace-strip span.call,.trace-strip span.ret{background:#5af}.trace-strip span.sel{outline:2px solid #fff}.trace-table{max-height:320px;overflow:auto;border:1px solid var(--line);border-radius:6px;font-family:JetBrains Mono,ui-monospace,Consolas,monospace;font-size:12px;background:#00a;color:#ff5}.trace-table table{border-collapse:collapse;width:100%}.trace-table td{padding:1px 8px;white-space:pre;vertical-align:top}.trace-table td.addr{color:#5ff}.trace-table td.note{color:#fff}.trace-table td.chg{color:#aaa}.trace-table tr.int td.note{color:#ff5;font-weight:700}.trace-table tr.io td.note{color:#f5f}.trace-table tr.jump td:nth-child(3),.trace-table tr.call td:nth-child(3),.trace-table tr.ret td:nth-child(3){color:#5af}.trace-table tr:hover{background:#008}.trace-table tr.sel{background:#00f}.screen-wrap canvas.styled{image-rendering:auto}.bar select.style{font-size:12px;max-width:220px}.workbench{display:grid;grid-template-rows:minmax(300px,55vh) minmax(220px,1fr);gap:10px}.workbench .editor{margin-top:0;height:100%}.terminal{position:relative;background:#2e3440;border:1px solid var(--line);border-radius:8px;padding:6px;min-height:220px;height:32vh}.terminal .overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--muted);background:#0008;border-radius:8px}.view-select{font-size:12px}.workbench{--wb-bg: #f1f0ec;--wb-panel: #fcfcfa;--wb-ink: #35342f;--wb-muted: #8b8a83;--wb-line: #e4e3de;--wb-accent: #5f5a4e;display:grid;grid-template-rows:minmax(320px,56vh) minmax(220px,1fr);gap:8px;background:var(--wb-bg);color:var(--wb-ink);border-radius:8px;padding:8px}.workbench .editor{margin-top:0;height:100%;background:var(--wb-panel);border-color:var(--wb-line)}.workbench .editor .bar,.workbench .editor-side{border-color:var(--wb-line)}.workbench .muted,.workbench .editor-files li.dir button{color:var(--wb-muted)}.workbench .editor-files li.on button,.workbench .editor-files li button:hover{background:var(--wb-line)}.workbench button{background:transparent;color:var(--wb-ink);border:1px solid var(--wb-line)}.workbench button:hover{background:var(--wb-line)}.workbench button.primary{background:var(--wb-accent);border-color:var(--wb-accent);color:#fbfaf6}.workbench button.on{background:var(--wb-line)}.workbench input{background:var(--wb-panel);color:var(--wb-ink);border:1px solid var(--wb-line)}.workbench .lag{color:#a8862f}.terminal{position:relative;border:1px solid var(--wb-line, var(--line));border-radius:8px;padding:6px;min-height:220px;height:100%;background:var(--panel)}.terminal-host{height:100%}.terminal .overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--wb-muted, var(--muted));background:#0003;border-radius:8px}.screen-wrap.hidden{display:none}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:rgba(128,128,128,.35) transparent}}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-corner{background:transparent}*::-webkit-scrollbar-thumb{background:#8080804d;border-radius:9px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:#8080808c;background-clip:padding-box}@supports not selector(::-webkit-scrollbar){.workbench *{scrollbar-color:rgba(70,70,65,.3) transparent}}.workbench *::-webkit-scrollbar-thumb{background:#46464140;background-clip:padding-box}.workbench *::-webkit-scrollbar-thumb:hover{background:#46464180;background-clip:padding-box}.tree{overflow:auto;padding:4px 0;font-size:13px}.tree-row{display:flex;align-items:center;gap:5px;width:100%;text-align:left;background:none;border:0;border-radius:0;padding:2px 8px 2px 0;color:inherit;font:inherit;cursor:pointer;white-space:nowrap}.tree-row:hover,.tree-row.on{background:var(--wb-line, var(--line))}.tree-row span{overflow:hidden;text-overflow:ellipsis}.tree-chevron{flex:0 0 auto;margin-left:2px;color:var(--wb-muted, var(--muted));transition:transform .12s}.tree-chevron.open{transform:rotate(90deg)}.tree-icon{flex:0 0 auto;color:var(--wb-muted, var(--muted))}.tree-row.on .tree-icon,.tree-row:hover .tree-icon{color:inherit}.tree-note{color:var(--wb-muted, var(--muted));font-size:12px;padding:2px 0}.workbench .tree-row,.tree-row{border:0;border-radius:4px;background:none;box-shadow:none}.workbench .tree-row:hover,.tree-row:hover{background:#46464114}.workbench .tree-row.on,.tree-row.on{background:#46464124}.tree-row:focus,.tree-row:focus-visible{outline:none}.editor-side .bar{border-bottom:0}html.paper{color-scheme:light;--bg: #f1f0ec;--panel: #fcfcfa;--line: #e4e3de;--text: #35342f;--muted: #8b8a83;--accent: #5f5a4e;--ok: #577143;--warn: #a8862f;--bad: #a3493c}html.paper button.primary{background:var(--accent);border-color:var(--accent);color:#fbfaf6}html.paper button.danger{color:var(--bad)}html.paper .dot.on{background:var(--ok)}html.paper select{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:6px}html.paper .workbench{background:none;padding:0}html.paper body{overflow:hidden}.player.wb{height:100vh;display:flex;flex-direction:column;padding-bottom:10px;width:min(100%,1400px)}.player.wb .workbench{flex:1;min-height:0;grid-template-rows:minmax(0,1fr) minmax(140px,28%)}.player.wb .editor{height:100%;min-height:0}.player.wb .editor-side{min-height:0;overflow:hidden}.player.wb .tree{height:100%;min-height:0;overflow:auto}.player.wb .editor-main{min-height:0}.player.wb .editor-box{min-height:0;overflow:hidden}.player.wb .terminal{height:100%;min-height:0}*::-webkit-scrollbar{width:3px;height:3px}*::-webkit-scrollbar-thumb{border:0;border-radius:3px;background-clip:border-box}*::-webkit-scrollbar-thumb:hover{background-clip:border-box}.workbench *::-webkit-scrollbar-thumb,.workbench *::-webkit-scrollbar-thumb:hover{background-clip:border-box}*::-webkit-scrollbar-button{display:none;width:0;height:0}.player.wb .workbench{grid-template-columns:1fr 360px;grid-template-rows:minmax(0,1fr) minmax(140px,28%)}.player.wb .workbench .editor{grid-column:1;grid-row:1}.player.wb .workbench .dbg{grid-column:2;grid-row:1}.player.wb .workbench .terminal{grid-column:1 / 3;grid-row:2}.dbg{display:grid;grid-template-rows:auto auto 1fr;min-height:0;background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden}.dbg-tools{display:flex;align-items:center;gap:6px;padding:6px 8px;border-bottom:1px solid var(--line);flex-wrap:wrap}.dbg-tools button{padding:3px 9px}.dbg-tabs{display:flex;gap:2px;padding:4px 8px 0;border-bottom:1px solid var(--line)}.dbg-tabs button{border:0;border-radius:6px 6px 0 0;background:none;padding:4px 10px;color:var(--muted)}.dbg-tabs button.on{background:var(--line);color:var(--text)}.dbg-body{min-height:0;overflow:auto;padding:8px}.dbg .regs{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.dbg .regs-flags{grid-column:1 / -1;color:var(--muted)}.dbg .disasm{max-height:none;border:0;background:none;color:inherit}.dbg .disasm tr.ip{background:var(--line)}.dbg .disasm td.addr{color:var(--accent)}.dbg .disasm td.bytes,.dbg .disasm td.gutter{color:var(--muted)}.dbg .disasm tr:hover{background:#46464114}.dbg .hexview{background:none;color:inherit;border-color:var(--line)}.dbg .hexview .a{color:var(--accent)}.dbg .hexview .t{color:var(--muted)}.dbg .hexview .b.chg{background:#e8c7b8;color:#5a2a1a}.dbg .hexview .b.ptr{outline-color:var(--accent)}.guide{display:grid;grid-template-rows:auto 1fr;gap:6px;min-height:0;height:100%}.guide input{width:100%}.guide-body{overflow:auto;min-height:0}.guide h4{margin:10px 0 4px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.guide-note{margin:0 0 6px;color:var(--muted);font-size:12px}.guide-entry{padding:3px 0;border-bottom:1px solid var(--line)}.guide-head b{color:var(--accent)}.guide-head code{color:var(--muted);font-size:12px;margin-left:6px}.guide-desc{font-size:12.5px;line-height:1.4}.guide-flags{color:var(--muted)}.dbg-arrow{background:none}.dbg-arrow:after{content:"▶";color:#5f5a4e;font-size:11px;position:absolute;left:4px}.dbg-bp:after{content:"";position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:#b9553f}.dbg-line{background:#5f5a4e1f}.editor .glyph-hint{color:var(--muted);font-size:12px}.dbg{grid-template-rows:auto 1fr}.machine{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.machine-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.machine-tools select,.machine-label select{font-size:11px;padding:2px 4px}.machine-label{display:flex;align-items:center;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:4px 0 2px}.machine-label .muted{text-transform:none;letter-spacing:0;margin-left:auto;font-size:11px}.machine-field,.machine-stack{display:block;width:100%;image-rendering:pixelated;border-radius:4px}.machine-legend{display:flex;gap:10px;align-items:center;font-size:11px;color:var(--muted);margin-top:4px;flex-wrap:wrap}.machine-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:3px;vertical-align:-1px}.cpu-regs{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cpu-cell{display:grid;justify-items:center;padding:3px 2px;border:1px solid var(--line);border-radius:5px;background:var(--panel);font-size:12px;transition:background .25s,border-color .25s}.cpu-cell b{font-size:10px;color:var(--muted);font-weight:600}.cpu-cell.seg{background:#4646410d}.cpu-cell.ip{border-color:#3b63a8}.cpu-cell.changed{background:#f3d9cf;border-color:#e0785a}.cpu-flags{display:flex;gap:4px;margin-top:6px;flex-wrap:wrap}.cpu-flag{font-size:10px;padding:2px 5px;border-radius:4px;border:1px solid var(--line);color:var(--muted)}.cpu-flag.on{background:#35342f;color:#fcfcfa;border-color:#35342f}.cpu-flag.changed{box-shadow:0 0 0 2px #e0785a66}.cpu-tape{display:grid;gap:3px}.tape-item{display:grid;grid-template-columns:44px 1fr auto 16px;gap:8px;align-items:center;padding:3px 8px;border-radius:5px;border:1px solid var(--line);background:var(--panel);font-size:12px;cursor:pointer;opacity:.85}.tape-item:nth-child(n+4){opacity:.6}.tape-item.now{opacity:1;border-color:#3b63a8;background:#e9eef6}.tape-item.now .tape-addr:before{content:"▶ ";color:#3b63a8}.tape-addr{color:var(--muted)}.tape-bytes{color:var(--muted);font-size:10px}.tape-bp{color:var(--muted);text-align:center}.tape-item.bp .tape-bp{color:#b9553f}.player.wb .workspace{flex:1;min-height:0;position:relative}.workspace .flexlayout__layout{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg)}.workspace .flexlayout__tabset,.workspace .flexlayout__tab{background:var(--panel);color:var(--text);font-family:inherit}.workspace .flexlayout__tabset{border-radius:8px;border:1px solid var(--line)}.workspace .flexlayout__tab{border-radius:0 0 8px 8px;padding:0;overflow:auto}.workspace .flexlayout__tabset_tabbar_outer{background:transparent;border-bottom:1px solid var(--line);font-family:inherit}.workspace .flexlayout__tabset_tabbar_outer_top{border-bottom:1px solid var(--line)}.workspace .flexlayout__tab_button{color:var(--muted);font-size:12px;border-radius:6px 6px 0 0;margin:2px 2px 0}.workspace .flexlayout__tab_button--selected{background:var(--panel);color:var(--text)}.workspace .flexlayout__tab_button:hover{background:var(--line)}.workspace .flexlayout__tab_button_trailing{color:var(--muted)}.workspace .flexlayout__splitter{background:transparent}.workspace .flexlayout__splitter:hover,.workspace .flexlayout__splitter_drag{background:var(--line)}.workspace .flexlayout__outline_rect{border-color:var(--accent);background:#5f5a4e14}.workspace .flexlayout__tabset-selected{background:var(--panel)}.workspace .flexlayout__tabset_header,.workspace .flexlayout__tab_toolbar{background:transparent}.workspace .flexlayout__drag_rect{background:var(--panel);color:var(--text);border:1px solid var(--accent);font-family:inherit}.workspace .flexlayout__tab_toolbar_button{color:var(--muted)}.workspace .editor{height:100%;margin:0;border:0;border-radius:0}.workspace .editor.no-tree{grid-template-columns:1fr}.workspace .terminal{height:100%;border:0;border-radius:0}.workspace .files-tab{display:grid;grid-template-rows:auto 1fr;height:100%;min-height:0}.workspace .files-tab .bar{padding:6px 8px}.workspace .files-tab .bar .mono{flex:1;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace .files-tab .tree{overflow:auto;min-height:0}.workspace .guide{padding:8px}.workspace .dbg-body{height:100%}.workspace-reset{position:absolute;right:8px;bottom:6px;font-size:11px;z-index:2}.workspace-note{position:absolute;left:8px;bottom:8px;z-index:2}.terminal .xterm-helper-textarea:focus{outline:0!important}.guide-file{margin-left:auto;font-size:11px;padding:1px 6px;font-family:JetBrains Mono,ui-monospace,monospace}.guide-example .guide-file{margin-left:0}.guide-head{display:flex;align-items:baseline;gap:6px}.guide-example{margin:6px 0 4px}.guide-example pre{margin:0 0 6px;padding:8px 10px;background:#4646410f;border-radius:6px;font-size:12px;line-height:1.45;overflow:auto;white-space:pre}.guide-k{display:inline-block;min-width:28px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.guide-entry.focus{background:#f3d9cf;border-radius:6px;padding:4px 6px;margin:2px -6px}.memmap-panel .memmap-bar{position:relative;margin-top:4px}.memmap-bar .ivt{background:#a3493c}.memmap-bar .bda{background:#b9553f}.memmap-bar .dos{background:#6b6a62}.memmap-bar .free{background:#577143}.memmap-bar .video{background:#87588a}.memmap-bar .rom{background:#8a6f2e}.memmap-you{position:absolute;top:-4px;width:2px;height:calc(100% + 8px);background:#35342f}.memmap-you:after{content:"▼";position:absolute;top:-12px;left:-5px;font-size:9px;color:#35342f}.memmap-write{margin-left:auto;font-size:11px;padding:1px 6px;border-radius:4px}.memmap-write.w-yes{background:#dfe8d3;color:#3f5a2d}.memmap-write.w-careful{background:#f1e3c4;color:#7a5a14}.memmap-write.w-no{background:#f0d8d2;color:#8a3a2a}.machine-int{font-size:12px;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:#4646410d;display:flex;gap:8px;align-items:center}.machine-int button{margin-left:auto;font-size:11px;padding:1px 6px}.workspace .flexlayout__border_bottom{background:transparent;border-top:1px solid var(--line);font-family:inherit}.workspace .flexlayout__border_button{color:var(--muted);font-size:12px;background:transparent;border-radius:6px 6px 0 0}.workspace .flexlayout__border_button--selected{background:var(--panel);color:var(--text)}.workspace .flexlayout__border_button:hover{background:var(--line)}.workspace .flexlayout__border_tab_contents{background:var(--panel);border:1px solid var(--line);border-radius:8px 8px 0 0}.workspace .flexlayout__border_inner_tab_container{background:var(--panel)}.workspace .flexlayout__border_toolbar{background:transparent}.workspace .ws-collapse{border:0;background:none;color:var(--muted);font-size:13px;padding:0 6px;cursor:pointer;line-height:1}.workspace .ws-collapse:hover{color:var(--text)}.machine{position:relative}.machine-arrows{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:visible;z-index:2}.machine-arrows .flow{fill:none;stroke-width:1.6;stroke-dasharray:5 4;animation:machine-flow .7s linear infinite;opacity:.9}.machine-arrows .flow.cool{stroke:#3b63a8}.machine-arrows .flow.warm{stroke:#e0785a}@keyframes machine-flow{to{stroke-dashoffset:-9}}.machine-legend .legend-arrow{color:#3b63a8;font-weight:600}.machine-field,.machine-stack{cursor:default}.machine-cellhover{position:absolute;z-index:3;pointer-events:none;border-radius:0;box-shadow:inset 0 0 0 1.5px #fff,0 0 0 1px #35342fcc}.machine-celltip{position:absolute;z-index:4;pointer-events:none;white-space:nowrap;padding:2px 7px;border-radius:4px;background:#35342f;color:#f3efe4;font:11px/1.5 JetBrains Mono,ui-monospace,Consolas,monospace;box-shadow:0 2px 6px #0000002e}.editor-main{grid-template-rows:auto auto 1fr}.editor-tabs:empty{height:0;border:0}.editor-tabs{display:flex;gap:2px;padding:0 6px;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:none}.editor-tabs::-webkit-scrollbar{display:none}.editor-tab{display:inline-flex;align-items:center;gap:4px;padding:4px 6px 4px 10px;font-size:12px;font-family:JetBrains Mono,ui-monospace,monospace;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;-webkit-user-select:none;user-select:none}.editor-tab:hover{color:var(--ink)}.editor-tab.on{color:var(--ink);border-bottom-color:#3b63a8}.editor-tab i{font-style:normal}.editor-tab-close{border:0;background:none;padding:0 2px;font-size:13px;line-height:1;color:var(--muted);opacity:0;cursor:pointer;border-radius:3px}.editor-tab:hover .editor-tab-close,.editor-tab.on .editor-tab-close{opacity:.8}.editor-tab-close:hover{background:#4646411a;color:var(--ink)}.machine-elsewhere{display:flex;gap:10px;flex-wrap:nowrap;overflow:hidden;white-space:nowrap;height:17px;line-height:17px;font-size:11px;margin-top:2px}.machine-elsewhere em{font-style:normal;font-weight:600}.machine-elsewhere em.r{color:#3b63a8}.machine-elsewhere em.w{color:#e0785a}.tape-item{transition:transform .2s ease,opacity .2s ease}.tape-item.now{animation:tape-in .25s ease-out}.tape-item.done{opacity:.35}.tape-item.done .tape-addr:before{content:"✓ ";color:var(--muted)}@keyframes tape-in{0%{transform:translateY(-8px);opacity:.4}to{transform:none;opacity:1}}.machine-replay{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:11px;padding:4px 6px;border:1px solid var(--line);border-radius:6px;background:#4646410a}.machine-replay input[type=range]{flex:1;min-width:100px;accent-color:#3b63a8}.machine-replay .ghost{padding:2px 7px}.machine-replay select{font-size:11px;padding:2px 4px}.machine-record{display:inline-flex;gap:4px;align-items:center;margin-left:6px}.atlas-hot{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:11px}.atlas-hot button{padding:1px 7px;font-size:11px;border-radius:4px;border:0;background:#e0785a24;cursor:pointer}.atlas-hot button:hover{background:#e0785a47}.media{display:inline-flex;gap:2px;align-items:center;padding:2px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.media-btn{width:26px;height:22px;padding:0;border:0;border-radius:6px;background:none;color:var(--ink);display:inline-grid;place-items:center}.media-btn svg{width:14px;height:14px;display:block}.media-btn:hover:not(:disabled){background:#46464114;border-color:transparent}.media-btn.stop{color:#b9553f}.dbg-bp.pending:after{background:#c9705b}.vars{padding:6px 8px;font-size:12px;overflow:auto;height:100%}.vars-head{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:8px 0 4px}.vars-table{border-collapse:collapse;width:100%}.vars-table td{padding:2px 6px 2px 0;vertical-align:top;border-bottom:1px solid rgba(70,70,65,.06)}.var-name{font-weight:600;white-space:nowrap}.var-type{color:var(--muted);white-space:nowrap}.var-value{font-family:JetBrains Mono,ui-monospace,monospace;word-break:break-all}.vars-table tr.changed .var-value{background:#f3d9cf;border-radius:3px}.vars-calls{display:flex;flex-wrap:wrap;gap:4px 2px;align-items:center}.vars-frame{border:1px solid transparent;background:none;padding:1px 6px;font-size:12px;border-radius:4px;color:var(--ink)}.vars-frame.on{border-color:var(--line);background:var(--panel)}.vars-frame:hover{border-color:var(--line)}.dbg-arrow.outer:after{content:"▷";color:#3b63a8}.dbg-line.outer{background:#3b63a814}.calls-list{display:flex;flex-direction:column;gap:2px}.calls-frame{display:flex;gap:8px;align-items:baseline;text-align:left;border:1px solid transparent;background:none;padding:2px 6px;font-size:12px;border-radius:4px;color:var(--ink)}.calls-frame.on{border-color:var(--line);background:var(--panel)}.calls-frame:hover{border-color:var(--line)}.calls-depth{min-width:1.2em}.watch-add{display:flex;gap:4px;margin:2px 0 6px}.watch-add input{flex:1;min-width:0;font:inherit;font-size:12px;padding:2px 6px;border:1px solid var(--line);border-radius:4px;background:var(--panel);color:var(--ink)}.watch-add button{font-size:12px;padding:2px 8px}.watch-x{width:1.4em;text-align:right}.watch-remove{border:none;background:none;color:var(--muted);cursor:pointer;padding:0 2px;font-size:13px}.watch-remove:hover{color:var(--ink)}.files-actions{display:flex;gap:2px;margin-left:auto}.icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:3px 5px;background:none;border:1px solid transparent;border-radius:4px;color:var(--wb-muted, var(--muted));cursor:pointer}.icon-btn:hover{color:var(--wb-ink, var(--ink));border-color:var(--wb-line, var(--line))}.tree-row.cur>span{font-weight:600}.tree-edit{padding:1px 8px 1px 0}.tree-edit-row{display:flex;align-items:center;gap:5px}.tree-edit input{flex:1;min-width:0;font:inherit;font-size:13px;padding:1px 4px;border:1px solid var(--wb-ink, var(--ink));border-radius:3px;background:var(--wb-panel, var(--panel));color:inherit;text-transform:uppercase}.tree-error{color:#a3493c;font-size:11.5px;padding:2px 0 2px 20px;white-space:normal}.tree-status{color:var(--wb-muted, var(--muted));font-size:11.5px;padding:6px 8px;border-top:1px solid var(--wb-line, var(--line));margin-top:4px;white-space:normal;cursor:pointer}.tree-menu{position:fixed;z-index:1000;min-width:190px;padding:4px;background:var(--wb-panel, var(--panel));border:1px solid var(--wb-line, var(--line));border-radius:6px;box-shadow:0 6px 18px #28261e24;display:flex;flex-direction:column}.tree-menu-item{text-align:left;background:none;border:0;border-radius:4px;padding:4px 10px;font:inherit;font-size:12.5px;color:inherit;cursor:pointer;white-space:nowrap}.tree-menu-item:hover{background:var(--wb-line, var(--line))}.tree-menu-item.danger{color:#a3493c}.tree-menu-title{font-size:12px;padding:4px 10px 6px;max-width:260px;white-space:normal}.memmap-panel{display:flex;flex-direction:column;gap:6px}.memmap-ref{flex:0 0 auto;max-height:40%;overflow:auto;font-size:12px}.memmap-ref summary{cursor:pointer;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.atlas{flex:1 1 auto;min-height:280px;display:flex;flex-direction:column;gap:4px}.atlas-bar{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.atlas-bar button{padding:2px 8px;font-size:12px}.atlas-bar form{flex:1 1 140px;min-width:120px}.atlas-bar input{width:100%;font-size:12px;padding:2px 6px}.atlas-heat.on{color:#e0785a}.atlas-scale{margin-left:auto}.atlas-err{color:#a3442c}.atlas-view{position:relative;flex:1 1 auto;min-height:200px;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#f7f5f0}.atlas-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;cursor:default;touch-action:none}.atlas-hoverbox{position:absolute;pointer-events:none;border-radius:0;box-shadow:inset 0 0 0 1.5px #fff,0 0 0 1px #35342fcc}.atlas-tag{position:absolute;z-index:2;pointer-events:none;white-space:nowrap;padding:2px 7px;border-radius:4px;background:#35342f;color:#f3efe4;font:11px/1.5 JetBrains Mono,ui-monospace,Consolas,monospace;box-shadow:0 2px 6px #0000002e}.atlas-mini{position:absolute;right:8px;bottom:8px;width:128px;height:128px;border:1px solid var(--line);border-radius:4px;background:#f7f5f0;box-shadow:0 2px 8px #00000026;cursor:pointer;image-rendering:auto}.atlas-legend{display:flex;flex-wrap:wrap;gap:4px 10px;color:var(--muted)}.atlas-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:-1px;border:1px solid #0001}.machine-controls{position:sticky;bottom:0;z-index:4;display:grid;gap:6px;padding:6px 0;background:var(--panel);box-shadow:0 -1px 0 var(--line)}.machine-tools .media select,.machine-replay .media select{font-size:11px;padding:1px 2px;border:0;background:none;color:var(--text)}.machine-tools .media+.media{margin-left:2px}.machine-state,.editor-status{flex:1 1 0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guide-index{display:flex;align-items:baseline;gap:8px;width:100%;padding:3px 6px;margin:0 -6px;border:0;border-radius:5px;background:none;color:var(--text);text-align:left;cursor:pointer;font-size:12.5px}.guide-index b{flex:0 0 auto;min-width:7.5em;font-family:JetBrains Mono,ui-monospace,monospace;font-weight:600;color:var(--accent)}.guide-index span{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guide-index:hover{background:#4646410f}.guide-index.on{background:#e0a85a2e}.article{max-width:780px;padding:4px 16px 32px;font-size:14px;line-height:1.6;color:var(--text)}.article-top{display:flex;align-items:center;gap:10px;margin-bottom:6px}.article-top button{padding:1px 8px;font-size:12px}.article-head h2{margin:4px 0 0;font:600 28px/1.15 JetBrains Mono,ui-monospace,monospace;letter-spacing:-.01em}.article-tagline{color:var(--muted);font-size:15px;margin-top:2px}.article-facts{display:grid;gap:6px;margin:12px 0;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#46464108}.article-syntax{display:flex;flex-wrap:wrap;gap:4px 12px}.article-syntax code{font-size:12.5px}.article-short{margin:0 0 14px;padding-left:12px;border-left:3px solid #e0a85a;font-size:15px}.article-body h3{margin:18px 0 4px;font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.article-body p{margin:0 0 10px}.article code{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.88em;padding:0 3px;border-radius:3px;background:#46464112}.article .article-link{cursor:pointer;text-decoration:underline dotted rgba(70,70,65,.5);text-underline-offset:2px}.article .article-link:hover{background:#e0a85a40}.article-code{margin:6px 0 14px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#faf8f3}.article-code-bar{display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:3px 6px;border-bottom:1px solid var(--line);font-size:11.5px}.article-code-bar .muted{margin-right:auto}.article-code-bar button{padding:1px 8px;font-size:11.5px}.article-code pre{margin:0;padding:8px 12px;font:12.5px/1.5 JetBrains Mono,ui-monospace,Consolas,monospace;white-space:pre;overflow-x:auto}.hl-op{color:#8a4b1f;font-weight:600}.hl-reg{color:#3b63a8}.hl-num{color:#2e7d5b}.hl-str{color:#a3442c}.hl-label{color:#6b4fa0}.hl-comment{color:#8b8a83;font-style:italic}.article-table{border-collapse:collapse;margin:6px 0 14px;font-size:13px}.article-table th,.article-table td{padding:3px 10px 3px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.article-table th{color:var(--muted);font-weight:600;font-size:12px}.article-see{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:18px;padding-top:10px;border-top:1px solid var(--line);font-size:12.5px}.article-see button{padding:1px 8px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px}.article-code-bar .icon-btn{padding:2px 4px}.article-code-bar .icon-btn svg{width:15px;height:15px;display:block}.article-code-bar .icon-btn.done{color:#2e7d5b}.guide-chapter{margin:14px 0 2px;font-size:13px;font-weight:600;border-bottom:1px solid var(--line);padding-bottom:3px}.guide-body>.guide-chapter:first-child{margin-top:2px}.asm-op{cursor:pointer;border-radius:2px}.asm-op:hover{text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px;background:#e0a85a29}.asm-op-link{text-decoration:underline;text-underline-offset:2px;cursor:pointer!important}.ref-card{position:fixed;z-index:1000;max-width:360px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--text);box-shadow:0 4px 14px #28261e24;font-size:12.5px;line-height:1.4;pointer-events:none}.ref-card-head b{font-family:JetBrains Mono,ui-monospace,monospace;color:var(--accent)}.ref-card-head span{color:var(--muted)}.ref-card-short{margin-top:4px}.ref-card-foot{margin-top:6px;color:var(--muted);font-size:11px}.article-code pre .walk-now{background:#e0a85a47;box-shadow:inset 3px 0 #c98a3a}.article-code-bar .icon-btn.on{color:var(--accent);background:#e0a85a2e}.walk{display:grid;gap:8px;padding:8px 10px 10px;border-top:1px solid var(--line);outline:none;font-size:12px}.walk-bar{display:flex;align-items:center;gap:4px}.walk-bar input[type=range]{flex:1;min-width:60px;accent-color:#c98a3a}.walk-count{min-width:4.5em;text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}.walk-next{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.walk-next code{font-weight:600}.walk-vars{display:grid;gap:3px}.walk-var{display:flex;align-items:baseline;gap:8px;padding:2px 6px;border:1px solid var(--line);border-radius:5px;transition:background .25s,border-color .25s}.walk-var b{min-width:4em;font-family:JetBrains Mono,ui-monospace,monospace}.walk-var code{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.walk-var.changed{background:#f3d9cf;border-color:#e0785a}.walk-var em{margin-left:auto;font-style:normal;font-size:10px;padding:0 5px;border-radius:3px}.walk-var em.w{color:#a3493c;background:#a3493c1f}.walk-var em.r{color:#3b63a8;background:#3b63a81f}.walk-stack{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.walk-out{display:grid;gap:2px}.walk-out pre{margin:0;padding:4px 6px;min-height:1.4em;border-radius:4px;background:#4646410f;white-space:pre-wrap}.walk-note{padding:4px 8px;border-radius:4px;background:#e0a85a24;color:var(--text)}.tm{display:grid;gap:0;font:11.5px/1.55 JetBrains Mono,ui-monospace,Consolas,monospace}.tm-row{display:grid;grid-template-columns:6.6em auto auto 1fr;gap:10px;align-items:baseline;padding:0 4px;white-space:nowrap}.tm-row:hover{background:#4646410a}.tm-addr{color:var(--muted)}.tm-bytes{display:inline-flex;gap:0}.tm-b{position:relative;padding:0 2px;border-radius:2px;color:#b4b2aa}.tm-b.mid{margin-left:6px}.tm-b.tr{color:var(--text);background:#3b63a80f}.tm-b.tw{color:var(--text);background:#e0785a1a}.tm-b.changed{color:var(--text);background:#e0a85a59}.tm-b.r{color:#fcfcfa;background:#3b63a8}.tm-b.w{color:#fcfcfa;background:#c4553d}.tm-name-mark{position:absolute;left:0;top:1px;bottom:1px;width:2px;background:#5f5a4e;border-radius:1px}.tm-chars{color:var(--muted);white-space:pre}.tm-names{color:var(--accent);overflow:hidden;text-overflow:ellipsis}.tm-more,.tm-gap{display:block;width:100%;padding:0 4px;border:0;border-radius:3px;background:#4646410d;color:var(--muted);font:inherit;font-size:10.5px;line-height:1.6;text-align:left;cursor:pointer}.tm-more:hover,.tm-gap:hover{background:#e0a85a2e;color:var(--text)}.tm-gap{margin:2px 0;text-align:center}.tm-gap.split{display:flex;align-items:center;gap:8px;cursor:default;background:none}.tm-gap.split>span{flex:1;text-align:center}.tm-gap.split .tm-more{width:auto;padding:0 10px}.tm-empty{padding:6px 4px}.tm-switch{display:inline-flex;gap:2px;margin-right:8px}.tm-switch button{padding:0 8px;border:1px solid var(--line);border-radius:4px;background:none;font-size:11px;line-height:1.6;color:var(--muted)}.tm-switch button.on{background:#35342f;border-color:#35342f;color:#fcfcfa}.walk-mem{display:grid;gap:2px;overflow-x:auto}.machine .tm{overflow-x:auto}.tm-key{display:inline-block;width:10px;height:10px;border-radius:2px;vertical-align:-1px}.tm-key.w{background:#c4553d}.tm-key.r{background:#3b63a8}.tm-key.changed{background:#e0a85a99}.tm-key.tw{background:#e0785a40}.tm-key.tr{background:#3b63a82e}html.site-page{color-scheme:light;--bg: #f1f0ec;--panel: #fcfcfa;--line: #e4e3de;--text: #35342f;--muted: #8b8a83;--accent: #5f5a4e;--ok: #577143;--warn: #a8862f;--bad: #a3493c;--wheat: #e0a85a;--ink: #35342f;--mono: "JetBrains Mono", ui-monospace, Consolas, monospace;--page: 1180px}html.site-page body{margin:0;background:var(--bg);color:var(--text);overflow:auto}html.site-page #root{min-height:100vh}.site{min-height:100vh;display:flex;flex-direction:column;font:15px/1.6 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.site a{color:var(--accent)}.site code{font-family:var(--mono);font-size:.92em;background:#46464112;padding:0 4px;border-radius:3px}.site .muted{color:var(--muted)}.site .small{font-size:12.5px}.site-head{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding:10px max(16px,calc((100% - var(--page)) / 2));background:#f1f0eceb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}.site-logo{font:700 18px/1 var(--mono);color:var(--ink)!important;text-decoration:none;letter-spacing:-.02em}.site-logo-prompt{color:var(--muted);font-weight:400;margin-right:2px}.site-logo-cursor{color:var(--wheat);animation:site-blink 1.1s steps(1) infinite}@keyframes site-blink{50%{opacity:0}}.site-nav{display:flex;gap:16px;flex:1}.site-nav a{color:var(--text);text-decoration:none;font-size:14px}.site-nav a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.site-account{position:relative;display:flex;align-items:center;gap:8px;margin-left:auto}.site-button{display:inline-block;padding:5px 14px;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--text)!important;text-decoration:none;font:inherit;font-size:14px;cursor:pointer}.site-button:hover{border-color:var(--accent)}.site-button.primary{background:var(--ink);border-color:var(--ink);color:#fbfaf6!important}.site-button.ghost{background:none;border-color:transparent;color:var(--muted)!important}.site-why{width:24px;height:24px;border:1px solid var(--line);border-radius:50%;background:var(--panel);color:var(--muted);cursor:pointer;font-size:12px}.site-invite{position:absolute;top:calc(100% + 10px);right:0;width:min(340px,calc(100vw - 32px));padding:14px 16px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:0 8px 28px #28261e1f;font-size:13.5px;line-height:1.5}.site-invite b{display:block;margin-bottom:4px;font-size:14.5px}.site-invite p{margin:6px 0}.site-invite-close{position:absolute;top:6px;right:8px;border:0;background:none;color:var(--muted);font-size:18px;cursor:pointer}.site-invite-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.site-main{flex:1;width:100%;max-width:var(--page);margin:0 auto;padding:28px 16px 48px;box-sizing:border-box}.site-foot{display:grid;gap:8px;padding:22px max(16px,calc((100% - var(--page)) / 2)) 28px;border-top:1px solid var(--line);background:var(--panel);font-size:13.5px}.site-foot-links{display:flex;gap:16px;flex-wrap:wrap}.home-hero{max-width:760px}.home-hero h1{margin:6px 0 14px;font-size:clamp(28px,4.2vw,42px);line-height:1.15;letter-spacing:-.02em}.home-hero p{margin:0 0 12px}.home-lead{font-size:17px}.home-kbd{display:inline-block;padding:0 6px;border:1px solid var(--line);border-radius:4px;background:var(--panel);font-size:13px}.home-search{position:sticky;top:52px;z-index:10;display:flex;align-items:center;gap:12px;margin:26px 0 8px;padding:10px 0;background:var(--bg)}.home-search input{flex:1;min-width:0;padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);font:15px var(--mono);outline:none}.home-search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #e0a85a40}.home-chapter{margin-top:26px;scroll-margin-top:120px}.home-chapter h2{margin:0 0 4px;font-size:22px}.home-chapter-intro{margin:0 0 14px;color:var(--muted);max-width:760px}.home-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:14px}.home-group{padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.home-group h3{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.home-group ul{list-style:none;margin:0;padding:0}.home-group a{display:flex;gap:10px;align-items:baseline;padding:2px 6px;margin:0 -6px;border-radius:5px;color:var(--text);text-decoration:none}.home-group a:hover{background:#e0a85a2e}.home-group a b{flex:0 0 auto;min-width:7.2em;font:600 13px var(--mono);color:var(--accent)}.home-group a span{color:var(--muted);font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guide-page{display:grid;grid-template-columns:270px minmax(0,1fr);gap:28px;align-items:start}.guide-page-index{position:sticky;top:64px;max-height:calc(100vh - 80px);overflow:hidden;display:flex}.guide-page-index .guide{width:100%;height:auto;max-height:calc(100vh - 80px)}.guide-page-article{min-width:0}.guide-page-article .article{padding:0}.guide-page-article .article-head h1{margin:0;font:700 clamp(26px,3.4vw,34px)/1.2 var(--mono);letter-spacing:-.01em}.guide-crumbs{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:14px;font-size:13.5px;color:var(--muted)}.guide-crumbs a{color:var(--muted)}.guide-index-toggle{display:none;margin-left:auto}.guide-prevnext{display:flex;justify-content:space-between;gap:12px;margin-top:32px;padding-top:16px;border-top:1px solid var(--line)}.guide-prevnext a{display:grid;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);text-decoration:none;color:var(--text);font:600 14px var(--mono);max-width:48%}.guide-prevnext a.next{text-align:right}.guide-prevnext a span{font:400 12.5px system-ui,sans-serif;color:var(--muted)}.guide-prevnext a:hover{border-color:var(--accent)}.site-dialog-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:16px;background:#28261e59}.site-dialog{width:min(440px,100%);padding:18px 20px;border-radius:12px;background:var(--panel);box-shadow:0 12px 40px #28261e40}.site-dialog b{font-size:16px}.site-notfound{padding:40px 0}@media (max-width: 900px){.guide-page{grid-template-columns:minmax(0,1fr)}.guide-page-index{display:none}.guide-page.index-open .guide-page-index{display:flex;position:static;max-height:none}.guide-page.index-open .guide-page-index .guide{max-height:60vh}.guide-index-toggle{display:inline-block;padding:3px 10px;border:1px solid var(--line);border-radius:6px;background:var(--panel);font:inherit;font-size:13px}}@media (max-width: 560px){.site-head{gap:10px}.site-nav{order:3;flex-basis:100%}.home-search{top:88px}.guide-prevnext a{max-width:100%}}.site-foot-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:18px 28px;padding-bottom:10px}.site-foot-cols section{display:grid;align-content:start;gap:6px}.site-foot-cols b{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.site-foot-cols p{margin:0}.site-foot-cols ul{margin:0;padding-left:16px;display:grid;gap:4px}
