:root{--terminal-green: #00ff41;--terminal-dark: #0a0a0a;--terminal-dim: #003b00;--terminal-accent: #008f11;--scanline-color: rgba(18, 16, 16, .1);--font-mono: "Courier New", Courier, monospace}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--terminal-dark);color:var(--terminal-green);font-family:var(--font-mono);overflow:hidden;height:100vh;width:100vw}@media(max-width:768px){body{overflow-y:auto;height:auto}}#root{height:100%}@media(max-width:768px){#root{height:auto}}body:before{content:" ";display:block;position:absolute;top:0;left:0;bottom:0;right:0;background:linear-gradient(var(--scanline-color) 50%,transparent 50%);background-size:100% 4px;z-index:100;pointer-events:none}body:after{content:" ";display:block;position:absolute;top:0;left:0;bottom:0;right:0;background:radial-gradient(#12101000 50%,#00000040),#1210101a;z-index:101;pointer-events:none}@keyframes pulse{0%{opacity:1}50%{opacity:.8}to{opacity:1}}.crt-flicker{animation:pulse .1s infinite}:root{--terminal-green: #00ff41;--terminal-bg: #050505;--terminal-dim: #004400;--terminal-glow: rgba(0, 255, 65, .3);--warning-red: #ff3e3e;--warning-glow: rgba(255, 62, 62, .3);--border-style: 1px solid var(--terminal-dim);--panel-bg: rgba(0, 20, 0, .4)}@keyframes flicker{0%{opacity:.97}5%{opacity:.95}10%{opacity:.9}15%{opacity:.95}25%{opacity:.95}30%{opacity:.9}to{opacity:1}}@keyframes scanline{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}@keyframes pulse{0%{box-shadow:0 0 5px var(--terminal-glow)}50%{box-shadow:0 0 15px var(--terminal-glow)}to{box-shadow:0 0 5px var(--terminal-glow)}}body{background-color:var(--terminal-bg);color:var(--terminal-green);font-family:Courier New,Courier,monospace;margin:0;overflow:hidden;text-shadow:0 0 5px var(--terminal-glow)}.terminal-container{height:100vh;display:flex;flex-direction:column;padding:20px;box-sizing:border-box;position:relative;animation:flicker .15s infinite alternate}.background-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(#12101000 50%,#0000001a 50%),linear-gradient(90deg,#ff000008,#00ff0003,#0000ff08);background-size:100% 3px,3px 100%;pointer-events:none;z-index:100}.background-overlay:after{content:"";position:absolute;top:0;left:0;width:100%;height:100px;background:#00ff4108;opacity:.4;animation:scanline 8s linear infinite}.crt-vignette{position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle,transparent 60%,rgba(0,0,0,.4) 100%);pointer-events:none;z-index:99}.terminal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--terminal-dim);padding-bottom:10px;margin-bottom:15px;position:relative}.terminal-header:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:2px;background:var(--terminal-green);box-shadow:0 0 10px var(--terminal-green)}.logo-section{display:flex;align-items:center;gap:15px}.header-icon{filter:drop-shadow(0 0 8px var(--terminal-green))}h1{margin:0;font-size:1.4rem;letter-spacing:3px;font-weight:900}.status-bars{display:flex;flex-direction:column;gap:8px;min-width:300px}.bar{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;gap:15px}.meter{flex-grow:1;height:10px;background:#0a0a0a;border:1px solid var(--terminal-dim);position:relative;overflow:hidden}.fill{height:100%;background:var(--terminal-green);box-shadow:0 0 15px var(--terminal-green)}.fill.warning{background:var(--warning-red);box-shadow:0 0 15px var(--warning-red)}.news-ticker{background:#00ff410d;padding:10px 20px;display:flex;gap:20px;border:var(--border-style);margin-bottom:20px;font-weight:700;font-size:.9rem;clip-path:polygon(0 0,98% 0,100% 100%,2% 100%)}.ticker-label{display:flex;align-items:center;gap:8px;color:var(--terminal-green);border-right:1px solid var(--terminal-dim);padding-right:15px}.terminal-main{display:grid;grid-template-columns:380px 1fr;gap:25px;flex-grow:1;min-height:0}.side-panel{display:flex;flex-direction:column;gap:25px;min-height:0}.market-panel,.terminal-console,.faction-directory{border:var(--border-style);padding:20px;background:var(--panel-bg);position:relative;box-shadow:inset 0 0 20px #00ff410d}.market-panel:before,.terminal-console:before,.faction-directory:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--terminal-dim),transparent)}h3{margin:0 0 20px;font-size:1.1rem;border-bottom:1px solid var(--terminal-dim);padding-bottom:8px;display:flex;align-items:center;gap:10px;letter-spacing:1px}.market-grid{display:flex;flex-direction:column;gap:12px}.market-row{display:flex;justify-content:space-between;font-size:.95rem;padding:5px 0;border-bottom:1px dashed rgba(0,68,0,.3)}.price-up{color:var(--terminal-green);text-shadow:0 0 5px var(--terminal-green)}.price-down{color:var(--warning-red);text-shadow:0 0 5px var(--warning-red)}.terminal-console{flex-grow:1;display:flex;flex-direction:column;min-height:0;border-color:var(--terminal-green);box-shadow:0 0 15px #00ff411a}.console-history{flex-grow:1;overflow-y:auto;margin-bottom:15px;font-size:.9rem;display:flex;flex-direction:column;gap:6px;scrollbar-width:thin;scrollbar-color:var(--terminal-dim) transparent}.console-line{line-height:1.5;word-break:break-all;opacity:.9}.console-input{display:flex;align-items:center;gap:10px;border-top:1px solid var(--terminal-dim);padding-top:15px}.console-input input{background:transparent;border:none;color:var(--terminal-green);font-family:inherit;font-size:1rem;width:100%;outline:none}.faction-directory{overflow-y:auto}.relay-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}.relay-card{display:flex;align-items:center;gap:18px;padding:18px;border:1px solid var(--terminal-dim);text-decoration:none;color:var(--terminal-green);transition:all .3s cubic-bezier(.4,0,.2,1);background:#00280033;position:relative;overflow:hidden}.relay-card:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,255,65,.05),transparent);transition:.5s}.relay-card:hover:after{left:100%}.relay-card:hover{background:#00280066;border-color:var(--accent-color);box-shadow:0 0 20px var(--accent-color);transform:translateY(-2px)}.relay-info{display:flex;flex-direction:column;gap:4px}.relay-name{font-weight:700;font-size:1rem;letter-spacing:1px}.relay-status{font-size:.75rem;opacity:.6;display:flex;align-items:center;gap:5px}.relay-status:before{content:"";display:inline-block;width:6px;height:6px;background:var(--accent-color);border-radius:50%;box-shadow:0 0 5px var(--accent-color)}.terminal-footer{margin-top:25px;padding:15px 0;border-top:1px solid var(--terminal-dim);display:flex;justify-content:space-between;font-size:.75rem;opacity:.6;letter-spacing:1px}.boot-screen{height:100vh;display:flex;justify-content:center;align-items:center;background:var(--terminal-bg);color:var(--terminal-green);position:relative;overflow:hidden}.boot-content{width:100%;max-width:700px;padding:50px;border:1px solid var(--terminal-dim);background:#000f0080;box-shadow:0 0 60px #00ff410d;position:relative;z-index:10}.boot-scanner{position:absolute;top:20px;right:25px;text-align:right;opacity:.3;font-size:.7rem;font-family:monospace}.boot-logs{height:320px;overflow-y:hidden;margin-bottom:40px;font-size:1rem;display:flex;flex-direction:column;gap:10px}.log-line{line-height:1.4}.log-line.warning{color:var(--warning-red);text-shadow:0 0 8px var(--warning-red)}.boot-progress-wrap{margin-top:30px}.progress-label{font-size:.8rem;margin-bottom:12px;letter-spacing:3px;opacity:.7}.boot-progress-bar{width:100%;height:6px;background:#0a0a0a;border:1px solid var(--terminal-dim)}@media(max-width:1024px){.terminal-main{grid-template-columns:320px 1fr;gap:20px}}@media(max-width:768px){body{overflow-y:auto}.terminal-container{height:auto;min-height:100vh;padding:15px}.terminal-header{flex-direction:column;align-items:flex-start;gap:20px}.status-bars{width:100%;min-width:0}.terminal-main{grid-template-columns:1fr;display:flex;flex-direction:column}.side-panel{order:2}.faction-directory{order:1;max-height:none;overflow-y:visible}.terminal-console{height:400px;flex-grow:0}.relay-grid{grid-template-columns:1fr}.news-ticker{clip-path:none}}
