.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;inset: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;inset: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}.room{height:100vh;height:100dvh;height:var(--vv-h, 100dvh);box-sizing:border-box;padding:14px;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse 120% 90% at 50% 110%,#0d0c0a 0%,transparent 60%),radial-gradient(ellipse 80% 60% at 50% 45%,#0a0a09,#050505)}.monitor{position:relative;box-sizing:border-box;aspect-ratio:4 / 3;width:min(100%,calc((var(--vv-h, 100dvh) - 28px) * 4 / 3));max-height:100%;display:flex;flex-direction:column;padding:clamp(14px,2vw,30px);border-radius:22px;background:linear-gradient(165deg,#34302a,#262320 40%,#1a1815);box-shadow:0 30px 80px -20px #000000e6,0 4px 18px #0009,inset 0 1px #fffaeb12,inset 0 -2px 6px #0000008c}.tube-bay{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.screen{position:relative;width:100%;height:100%;border-radius:3.2%/4.6%;overflow:hidden;background:var(--screen-bg, #0a0e0a);box-shadow:inset 0 0 4px #000000e6,inset 0 0 60px #00000073}.screen-inner{position:absolute;inset:0;z-index:1;filter:brightness(var(--knob-bright, 1)) contrast(var(--knob-contrast, 1))}.term-mount{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.term-mount .xterm{text-shadow:0 0 1px rgba(255,255,255,.18),0 0 calc(var(--zoom, 1) * 2px) color-mix(in srgb,currentColor 40%,transparent),0 0 calc(var(--zoom, 1) * 5px) color-mix(in srgb,currentColor 20%,transparent);-webkit-font-smoothing:none}.term-mount .xterm,.term-mount .xterm .xterm-viewport{background:transparent!important}.blink-overlay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:3}.scanlines{position:absolute;inset:0;z-index:4;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(0,0,0,.12) 0,rgba(0,0,0,.12) 1px,transparent 1px,transparent var(--scan-pitch, 2px))}.vignette{position:absolute;inset:0;z-index:5;pointer-events:none;background:radial-gradient(ellipse 95% 92% at 50% 50%,transparent 58%,rgba(0,0,0,.14) 82%,rgba(0,0,0,.42) 100%)}.reflection{position:absolute;inset:0;z-index:6;pointer-events:none;background:radial-gradient(ellipse 45% 28% at 32% 16%,rgba(255,255,255,.045) 0%,transparent 70%)}.power-on{position:absolute;inset:0;z-index:7;pointer-events:none;background:#fff;transform-origin:center;animation:crt-power-on .95s cubic-bezier(.2,.7,.3,1) forwards}@keyframes crt-power-on{0%{transform:scaleY(.006) scaleX(.4);opacity:1}30%{transform:scaleY(.006) scaleX(1);opacity:1}55%{transform:scale(1);opacity:.5}to{transform:scale(1);opacity:0}}.screen-inner{animation:crt-warmup 1.4s ease-out}@keyframes crt-warmup{0%{filter:brightness(.4) saturate(.6)}to{filter:brightness(1) saturate(1)}}.fx-off .scanlines,.fx-off .vignette,.fx-off .reflection,.fx-off .power-on{display:none}.fx-off .term-mount .xterm{text-shadow:none}.fx-off .screen-inner{animation:none}@media(prefers-reduced-motion:reduce){.power-on{animation:none;opacity:0}.screen-inner{animation:none}}.chin{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;margin-top:clamp(8px,1.2vh,14px);min-height:30px;font-family:"PxPlus IBM VGA 8x16",monospace;-webkit-user-select:none;user-select:none}.touchkeys{display:flex;gap:6px}.touchkeys button{all:unset;cursor:pointer;touch-action:manipulation;-webkit-touch-callout:none;min-width:34px;height:26px;padding:0 6px;border-radius:4px;text-align:center;font-family:inherit;font-size:13px;text-transform:uppercase;color:#9a9388;background:linear-gradient(180deg,#403b33,#2a2620 60%,#211d18);box-shadow:0 2px #0009,inset 0 1px #fffaeb1f}.touchkeys button:active{transform:translateY(1px);box-shadow:inset 0 2px 3px #00000080}.chin-cluster{display:flex;align-items:center;gap:18px}.brand{font-size:13px;letter-spacing:2px;color:#4e4a42;text-transform:uppercase;white-space:nowrap}.modem-lights{all:unset;display:flex;align-items:center;gap:7px;cursor:pointer;padding:3px 6px;border-radius:4px}.modem-lights:hover .etch,.modem-lights:focus-visible .etch{color:#8a8378}.modem-lights:focus-visible{outline:1px solid #8a8378;outline-offset:2px}.led{width:7px;height:7px;border-radius:50%;background:#16130f;box-shadow:inset 0 1px 1px #000c}.led.cd.on{background:#58c8ff;box-shadow:0 0 6px #58c8ffb3}.led.rx.lit{background:#4dff5e;box-shadow:0 0 6px #4dff5eb3}.led.tx.lit{background:#ff6a3d;box-shadow:0 0 6px #ff6a3db3}.display-tab{all:unset;cursor:pointer;font-family:inherit;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#57524a;padding:4px 12px 3px;border-radius:4px 4px 0 0;background:linear-gradient(180deg,#35312a,#262320);box-shadow:0 -1px #fffaeb1a inset,0 2px 3px #00000080}.display-tab:hover,.display-tab:focus-visible{color:#8a8378}.display-tab:focus-visible{outline:1px solid #8a8378;outline-offset:2px}.display-tab.open{color:#8a8378;box-shadow:inset 0 2px 4px #00000080}.drawer{position:absolute;left:0;right:0;bottom:0;z-index:8;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 36px;padding:14px 24px;background:linear-gradient(180deg,#2d2924,#1e1b17);box-shadow:0 -3px 12px #0009,inset 0 1px #fffaeb14;font-family:"PxPlus IBM VGA 8x16",monospace;-webkit-user-select:none;user-select:none;transform:translateY(102%);transition:transform .22s ease;pointer-events:none}.drawer.open{transform:translateY(0);pointer-events:auto}@media(prefers-reduced-motion:reduce){.drawer{transition:none}}.dial-scrim{position:absolute;inset:0;z-index:9;display:flex;align-items:center;justify-content:center;background:#0006}.ttphone{padding:16px 16px 14px;border-radius:12px;background:linear-gradient(165deg,#e9e0cd,#d8ccb2 55%,#c3b596);box-shadow:0 16px 34px #0009,inset 0 1px #ffffff8c,inset 0 -2px 4px #78644659;font-family:"PxPlus IBM VGA 8x16",monospace}.ttphone-display{margin-bottom:12px;padding:6px 10px;border-radius:3px;background:#0c140c;box-shadow:inset 0 1px 5px #000000e6,0 1px #fff6;color:#4dff5e;text-shadow:0 0 5px rgba(77,255,94,.7);font-size:18px;letter-spacing:4px;text-align:center;white-space:pre}.ttphone-keys{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.ttkey{all:unset;cursor:pointer;touch-action:manipulation;-webkit-touch-callout:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:48px;height:42px;border-radius:6px;background:linear-gradient(180deg,#fbf7ee,#e4dbc7 70%,#d2c6ab);box-shadow:0 2px #78644680,0 3px 5px #0006,inset 0 1px #ffffffd9}.ttkey:active{transform:translateY(2px);box-shadow:inset 0 2px 4px #78644673}.ttkey-d{font-size:19px;line-height:1;color:#2b2620}.ttkey-sub{height:8px;font-size:8px;line-height:1;letter-spacing:1.5px;color:#7d715a}.ttphone-actions{display:flex;gap:8px;margin-top:12px}.ttphone-action{all:unset;cursor:pointer;flex:1;text-align:center;padding:6px 0;border-radius:6px;font-family:inherit;font-size:12px;text-transform:uppercase;letter-spacing:1px;color:#4a4235;background:linear-gradient(180deg,#d8ccb2,#bfb090);box-shadow:0 2px #78644680,inset 0 1px #ffffff8c}.ttphone-action.dial{color:#1f6b28;font-weight:700}.ttphone-action:disabled{opacity:.45;cursor:default}.ttphone-action:not(:disabled):active{transform:translateY(2px);box-shadow:inset 0 2px 4px #78644673}.greenbar{--gb-line: 24px;--gb-page: calc(var(--gb-line) * 14);display:flex;flex-direction:column;width:100%;box-sizing:border-box;max-height:min(88%,var(--gb-page));overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(40,90,55,.5) transparent;font-family:"PxPlus IBM VGA 8x16",monospace;font-size:13px;color:#223f27;background:#fbfdf8;box-shadow:0 16px 30px #0000008c}.greenbar-sheet{position:relative;display:flex;align-items:stretch;flex:1 0 auto}.sprockets{flex:0 0 18px;background-image:radial-gradient(circle at center,rgba(40,55,40,.5) 0 2.5px,rgba(255,255,255,.7) 2.5px 3.5px,transparent 3.5px);background-size:18px var(--gb-line);background-position:center;background-repeat:repeat-y}.greenbar-perfs{position:absolute;inset:0;pointer-events:none;background-image:repeating-linear-gradient(180deg,transparent 0 calc(var(--gb-page) - 1px),rgba(40,90,55,.4) calc(var(--gb-page) - 1px) var(--gb-page));-webkit-mask-image:repeating-linear-gradient(90deg,#000 0 3px,transparent 3px 6px);mask-image:repeating-linear-gradient(90deg,#000 0 3px,transparent 3px 6px)}.greenbar-body{flex:1;min-width:0;overflow-x:hidden;box-sizing:border-box;padding:var(--gb-line) 16px;border-left:1px dashed rgba(40,90,55,.4);border-right:1px dashed rgba(40,90,55,.4);background-image:repeating-linear-gradient(180deg,#d3ebcf 0 var(--gb-line),#fbfdf8 var(--gb-line) calc(var(--gb-line) * 2))}.greenbar-title,.greenbar-entry,.greenbar-foot{height:var(--gb-line);line-height:var(--gb-line);white-space:nowrap;text-shadow:0 1px 0 rgba(34,63,39,.18)}.greenbar-title{margin:0;text-align:center;letter-spacing:1px;text-transform:uppercase;color:#143d1c}.greenbar-list{list-style:none;margin:0;padding:0}.greenbar-entry{all:unset;cursor:pointer;box-sizing:border-box;display:flex;align-items:center;gap:6px;width:100%;height:var(--gb-line);line-height:var(--gb-line);padding:0 2px;font-family:inherit;color:#223f27;text-shadow:0 1px 0 rgba(34,63,39,.18)}.greenbar-entry:hover,.greenbar-entry:focus-visible{color:#0c6b1e}.gb-leader{flex:1;min-width:16px;border-bottom:1px dotted rgba(34,63,39,.55)}.gb-number{white-space:nowrap;letter-spacing:1px}.greenbar-foot{text-align:center;color:#223f27b3}.etch{font-size:12px;letter-spacing:1px;color:#57524a;text-transform:uppercase}.switch-bank{display:flex;gap:16px;border:0;margin:0;padding:0}.switch{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer}.switch input{position:absolute;opacity:0;width:1px;height:1px}.switch .key{position:relative;width:30px;height:20px;border-radius:3px;background:linear-gradient(180deg,#403b33,#2a2620 55%,#211d18);box-shadow:0 3px #000000a6,0 4px 6px #0006,inset 0 1px #fffaeb24;transition:transform 60ms ease,box-shadow 60ms ease}.switch .key:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:5px;height:5px;border-radius:50%;background:#16130f;box-shadow:inset 0 1px 1px #000c}.switch input:checked+.key{transform:translateY(2px);background:linear-gradient(180deg,#2a2620,#211d18);box-shadow:0 1px #000000a6,inset 0 2px 4px #00000080}.switch input:checked+.key:after{background:var(--phosphor, #33ff33);box-shadow:0 0 6px var(--phosphor, #33ff33)}.switch input:checked~.etch{color:#8a8378}.switch input:focus-visible+.key{outline:1px solid #8a8378;outline-offset:2px}.knobs{display:flex;gap:22px}.slider{display:flex;align-items:center;gap:8px;cursor:pointer}.slider input[type=range]{-webkit-appearance:none;appearance:none;width:120px;height:22px;margin:0;background:transparent}.slider input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:#0e0c0a;box-shadow:inset 0 1px 3px #000c,0 1px #fffaeb12}.slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:20px;margin-top:-7px;border-radius:2px;background:repeating-linear-gradient(90deg,#4a453c 0 2px,#2b2721 2px 4px);box-shadow:0 2px 3px #000000b3,inset 0 1px #fffaeb33}.slider input[type=range]::-moz-range-track{height:6px;border-radius:3px;background:#0e0c0a;box-shadow:inset 0 1px 3px #000c,0 1px #fffaeb12}.slider input[type=range]::-moz-range-thumb{width:14px;height:20px;border:0;border-radius:2px;background:repeating-linear-gradient(90deg,#4a453c 0 2px,#2b2721 2px 4px);box-shadow:0 2px 3px #000000b3,inset 0 1px #fffaeb33}.slider input[type=range]:focus-visible{outline:1px solid #8a8378;outline-offset:2px}.room.kb-open{padding:4px}.kb-open .monitor{aspect-ratio:auto;width:100%;height:100%;padding:6px 8px 4px;border-radius:10px}.kb-open .screen{border-radius:8px}.kb-open .brand,.kb-open .display-tab{display:none}.kb-open .chin{margin-top:4px;min-height:0;justify-content:center;gap:6px 18px}@media(max-width:540px){.dial-scrim{padding:10px;box-sizing:border-box}}@media(pointer:coarse){.room{align-items:flex-start}.touchkeys button{min-width:44px;height:38px;font-size:15px}.switch .key{width:40px;height:28px}.display-tab,.modem-lights{padding:8px 14px}.ttkey{width:54px;height:48px}.slider input[type=range]{height:34px}.slider input[type=range]::-webkit-slider-thumb{width:20px;height:30px;margin-top:-12px}.slider input[type=range]::-moz-range-thumb{width:20px;height:30px}}
