:root{--vfd-bg: #0a0a0a;--vfd-color: #00f3ff;--vfd-dim: rgba(0, 243, 255, .1);--vfd-glow: #00f3ff;--nixie-bg: #110500;--nixie-color: #ff5e00;--nixie-glow: #ff4500;--nixie-off: #3a1508;--bg-room-center: #2c1e15;--bg-room-edge: #080402;--chassis-bg: #2e2924;--chassis-border: #4d4438;--btn-beige-bg: #8c8270;--btn-beige-border: #a39985;--btn-beige-text: #221e18;font-family:Share Tech Mono,"Noto Serif SC",monospace;line-height:1.1;font-weight:400;color-scheme:dark;color:var(--vfd-color);background-color:#000;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:100vw;min-height:100vh;background:radial-gradient(circle at center,var(--bg-room-center) 0%,var(--bg-room-edge) 100%);overflow:hidden}.mainframe{display:grid;grid-template-columns:200px auto 250px;grid-template-rows:auto;gap:20px;align-items:center;padding:20px;background:var(--chassis-bg);border-radius:20px;box-shadow:0 30px 60px #000,inset 0 0 50px #000c,0 0 0 5px var(--chassis-border);transform-origin:center center}.panel{display:flex;flex-direction:column;gap:20px}.center-panel{display:flex;flex-direction:column;align-items:center;gap:20px}.panel-header,.panel-label{font-family:Share Tech Mono,"Noto Serif SC",monospace;color:#fff6;text-transform:uppercase;letter-spacing:2px;font-size:.8rem;text-align:center;margin-bottom:5px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:5px;text-shadow:0 1px 0 rgba(0,0,0,.8)}#printer-container{background:#1a1512;border:2px solid #3e3830;border-radius:5px;padding:10px;height:400px;width:100%;box-sizing:border-box;position:relative;overflow:hidden;box-shadow:inset 0 0 20px #000c;display:flex;flex-direction:column-reverse}.printer-slot{height:5px;background:#000;border-bottom:1px solid #444;margin-bottom:5px;box-shadow:0 2px 5px #00000080}.paper-guide{flex-grow:1;overflow:hidden;position:relative;mask-image:linear-gradient(to bottom,transparent 0%,black 20%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 20%)}.paper-strip{display:flex;flex-direction:column;justify-content:flex-end;min-height:100%;padding-bottom:10px}.print-line{font-family:Courier New,"Noto Serif SC",Courier,monospace;font-size:.8rem;color:#dcd3b8;background:#dcd3b80d;padding:2px 5px;white-space:pre-wrap;text-shadow:0 0 2px rgba(220,211,184,.3);border-bottom:1px dashed rgba(255,255,255,.05)}.control-module,.scope-module{background:#0003;border:1px solid rgba(255,255,255,.05);padding:15px;border-radius:5px;display:flex;flex-direction:column;gap:10px}.input-group{display:flex;gap:10px;width:100%}#key-input{width:100%;background:#101010;border:1px solid #333;color:var(--vfd-color);font-family:Share Tech Mono,"Noto Serif SC",monospace;font-size:1.2rem;padding:10px;text-transform:uppercase;outline:none;box-shadow:inset 0 0 5px #00f3ff33;box-sizing:border-box}.button-group{display:flex;flex-direction:column;gap:10px;width:100%}.retro-btn{width:100%;background:linear-gradient(to bottom,#9d9481,#7d7565);border:2px solid #3e3830;border-bottom:4px solid #2b2620;border-top-color:#beb5a1;color:#1a1510;font-weight:700;text-shadow:0 1px 0 rgba(255,255,255,.2);font-family:Share Tech Mono,"Noto Serif SC",monospace;font-size:1.1rem;padding:8px 20px;cursor:pointer;transition:all .1s;text-transform:uppercase;letter-spacing:1px;position:relative;top:0}#scope-container{width:100%;height:150px;background:#000;border:4px solid #333;border-radius:20px;box-shadow:inset 0 0 20px #000;overflow:hidden;position:relative}.scope-canvas{width:100%;height:100%;display:block}#scope-container:after{content:" ";position:absolute;inset:0;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.1),transparent 50%);box-shadow:inset 0 0 30px #000c;pointer-events:none;border-radius:16px}.vfd-bezel{margin:0}.nixie-container{display:flex;justify-content:space-between;padding:20px;background:var(--chassis-bg);border-radius:15px;box-shadow:0 20px 50px #000000e6,inset 0 0 30px #000c;border:2px solid var(--chassis-border);align-items:center;box-sizing:border-box}.nixie-group{display:flex;gap:15px;align-items:center}.nixie-tube{width:50px;height:80px;background:var(--nixie-bg) radial-gradient(circle at 30% 30%,#ffffff1a,#000c);border-radius:25px 25px 10px 10px;border:1px solid rgba(100,50,30,.3);position:relative;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 10px #000000e6,0 0 5px #00000080;overflow:hidden;flex-shrink:0}.nixie-tube:after{content:"";position:absolute;inset:5px;border-radius:20px 20px 5px 5px;background:linear-gradient(120deg,#ffffff1a,#fff0 20% 80%,#ffffff0d);pointer-events:none;z-index:10}.nixie-digit{font-family:Roboto Mono,monospace;font-weight:100;font-size:4rem;color:var(--nixie-color);z-index:5;text-shadow:0 0 5px var(--nixie-glow),0 0 10px var(--nixie-glow),0 0 20px var(--nixie-glow),0 0 40px #ff0000}.nixie-separator{display:flex;flex-direction:column;justify-content:center;gap:10px;padding-top:20px;height:80px;box-sizing:border-box}.nixie-dot{width:6px;height:6px;background-color:var(--nixie-color);border-radius:50%;box-shadow:0 0 5px var(--nixie-glow),0 0 10px var(--nixie-glow);animation:blink 1s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.date-container{display:flex;flex-direction:column;justify-content:center;height:80px;padding-left:20px;border-left:1px solid #333;gap:5px}.morse-light-container{display:flex;align-items:center;justify-content:center;padding:0 15px}.morse-light{width:12px;height:12px;background-color:#3a1508;border-radius:50%;border:1px solid #555;box-shadow:inset 0 0 5px #000c;transition:background-color .05s,box-shadow .05s}.morse-light.active{background-color:#ff5e00;box-shadow:0 0 10px #ff5e00,0 0 20px #ff5e00,inset 0 0 2px #ffffff80;border-color:#f84}.warm-vfd{font-family:Share Tech Mono,"Noto Serif SC",monospace;color:var(--nixie-color);text-shadow:0 0 2px var(--nixie-glow),0 0 5px var(--nixie-glow);text-align:right;letter-spacing:.1em}#year-display{font-size:1.2rem;opacity:.8}#date-display{font-size:2rem;font-weight:700}.vfd-bezel{background-color:var(--chassis-bg);padding:20px;border-radius:10px;box-shadow:0 20px 50px #000000e6,inset 0 0 30px #000c;border:2px solid var(--chassis-border);display:block;position:relative;box-sizing:border-box}.vfd-screen{background-color:var(--vfd-bg);color:var(--vfd-color);font-family:Share Tech Mono,"Noto Serif SC",monospace;font-size:20px;white-space:pre;overflow:hidden;padding:10px;border:2px solid #333;position:relative;display:inline-block;vertical-align:top;text-shadow:0 0 2px var(--vfd-glow),0 0 4px var(--vfd-glow)}.control-panel{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:15px;padding:10px;background:var(--chassis-bg);border-radius:5px;box-shadow:0 20px 50px #000000e6,inset 0 0 30px #000c;border:2px solid var(--chassis-border);box-sizing:border-box}.input-group{display:flex;gap:10px;flex-grow:1;margin-right:20px}#key-input{background:#101010;border:1px solid #333;color:var(--vfd-color);font-family:Share Tech Mono,"Noto Serif SC",monospace;font-size:1.2rem;padding:10px;flex-grow:1;text-transform:uppercase;outline:none;box-shadow:inset 0 0 5px #00f3ff33}#key-input::placeholder{color:#00f3ff4d}#key-input:focus{border-color:var(--vfd-color);box-shadow:0 0 10px var(--vfd-dim)}.retro-btn{background:linear-gradient(to bottom,#9d9481,#7d7565);border:2px solid #3e3830;border-bottom:4px solid #2b2620;border-top-color:#beb5a1;color:#1a1510;font-weight:700;text-shadow:0 1px 0 rgba(255,255,255,.2);font-family:Share Tech Mono,"Noto Serif SC",monospace;font-size:1.1rem;padding:8px 20px;cursor:pointer;transition:all .1s;text-transform:uppercase;letter-spacing:1px;position:relative;top:0}.retro-btn:active{border-bottom-width:2px;top:2px;box-shadow:0 1px #2b2620,inset 0 2px 5px #0000004d;transform:translateY(2px)}.retro-btn:hover{color:#000;filter:brightness(1.1)}.retro-btn.danger{background:linear-gradient(to bottom,#8a3b3b,#602020);border-color:#301010;border-top-color:#b55e5e;color:#fcc;text-shadow:0 1px 0 rgba(0,0,0,.5)}.retro-btn.danger:hover{color:#fff;filter:brightness(1.2);box-shadow:0 0 15px #ff450066}
