:root{--bg:#0a0b0e;--fg:#e7e9ee;--muted:#7e8590;--faint:#5c636e;--line:#1f232b;--cyan:#4de8ff;--amber:#ffb547;--red:#ff6b6b;--gutter:clamp(14px, 3.2vw, 44px)}html,body{background:var(--bg);height:100%;margin:0}body{height:100dvh;color:var(--muted);-webkit-font-smoothing:antialiased;grid-template-rows:minmax(0,1fr) auto auto;font:12px/1 Geist Mono,ui-monospace,monospace;display:grid;overflow:hidden}#terminal{min-height:0;padding:var(--gutter) var(--gutter) 10px;animation:.6s ease-out both enter}#terminal .xterm{height:100%}#terminal .xterm-viewport{background:0 0!important}#keys{padding:8px var(--gutter);scrollbar-width:none;gap:8px;display:none;overflow-x:auto}@media (pointer:coarse){#keys{display:flex}}#keys button{border:1px solid var(--line);height:36px;color:var(--fg);touch-action:manipulation;background:0 0;border-radius:8px;flex:none;padding:0 14px;font:13px Geist Mono,ui-monospace,monospace}#keys button[data-run]{color:var(--cyan)}#keys button:active{background:var(--line)}#keys .gap{background:var(--line);flex:none;width:1px;margin:6px 2px}#status{height:34px;padding:0 var(--gutter) env(safe-area-inset-bottom);border-top:1px solid var(--line);white-space:nowrap;align-items:center;gap:20px;display:flex;overflow:hidden}.indicator{color:var(--fg);align-items:center;gap:9px;display:flex}.dot{background:var(--amber);width:6px;height:6px;box-shadow:0 0 10px var(--amber);border-radius:50%;transition:background .4s,box-shadow .4s}[data-state=loading] .dot{animation:1.2s ease-in-out infinite pulse}[data-state=running] .dot{background:var(--cyan);box-shadow:0 0 10px var(--cyan)}[data-state=error] .dot{background:var(--red);box-shadow:0 0 10px var(--red)}#activity{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.fetch{gap:8px;animation:2.4s ease-out both arrive;display:inline-flex}.fetch .arrow{color:var(--cyan)}.fetch .path{color:var(--fg)}.fetch .detail,#machine{color:var(--faint)}@media (max-width:640px){#machine{display:none}}@keyframes enter{0%{opacity:0}}@keyframes pulse{50%{opacity:.35}}@keyframes arrive{0%{opacity:0;transform:translateY(4px)}12%{opacity:1;transform:none}to{opacity:.7}}@media (prefers-reduced-motion:reduce){*{animation:none!important}}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-cyrillic-ext-400-normal-XB2BPmDK.woff2)format("woff2"),url(/assets/geist-mono-cyrillic-ext-400-normal-CkxHOdCb.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-cyrillic-400-normal-C51Di1Mf.woff2)format("woff2"),url(/assets/geist-mono-cyrillic-400-normal-CPJFfJgk.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-symbols2-400-normal-BS9BGVxz.woff2)format("woff2"),url(/assets/geist-mono-symbols2-400-normal-DjbiTEEA.woff)format("woff");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-vietnamese-400-normal-CKEaXIlx.woff2)format("woff2"),url(/assets/geist-mono-vietnamese-400-normal-CZEPLOgu.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-latin-ext-400-normal-DI-rJ0UV.woff2)format("woff2"),url(/assets/geist-mono-latin-ext-400-normal-CfzLURNc.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-latin-400-normal-DTRLJnHl.woff2)format("woff2"),url(/assets/geist-mono-latin-400-normal-B2yvC1Cq.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-mono-cyrillic-ext-600-normal-BD1CN43b.woff2)format("woff2"),url(/assets/geist-mono-cyrillic-ext-600-normal-BLvyY6Bq.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-mono-cyrillic-600-normal-Dfv53e6N.woff2)format("woff2"),url(/assets/geist-mono-cyrillic-600-normal-DzvMIgFZ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-mono-symbols2-600-normal-DN6Y58xE.woff2)format("woff2"),url(/assets/geist-mono-symbols2-600-normal-D7I4D0GJ.woff)format("woff");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-mono-vietnamese-600-normal-DNzgIATH.woff2)format("woff2"),url(/assets/geist-mono-vietnamese-600-normal-BLL01lwa.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-mono-latin-ext-600-normal-TphwrhF8.woff2)format("woff2"),url(/assets/geist-mono-latin-ext-600-normal-B7ybHiTt.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-mono-latin-600-normal-V-KvD_pi.woff2)format("woff2"),url(/assets/geist-mono-latin-600-normal-bZn07FKM.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.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{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:-moz-fit-content;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;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;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}
