*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--green:#00ff41;--green-dim:#00b32c;--green-bg:#000d00;--red:#f22;--red-dim:#c00;--red-bg:#0d0000;--amber:#ffb300;--amber-dim:#c80;--amber-bg:#0d0800;--font:"Courier New", Courier, monospace;--font-size:.82rem;--line-height:1.6}html,body,#root{width:100%;height:100%}body{color:var(--green);font-family:var(--font);font-size:var(--font-size);line-height:var(--line-height);background:#000;overflow:hidden}body:before{content:"";pointer-events:none;z-index:9999;background:repeating-linear-gradient(#0000 0 3px,#00000026 3px 4px);position:fixed;inset:0}body:after{content:"";pointer-events:none;z-index:9998;background:radial-gradient(#0000 60%,#000000bf 100%);position:fixed;inset:0}.corruption-0,.corruption-1{--c:var(--green);--c-dim:var(--green-dim);background:var(--green-bg)}.corruption-2{--c:var(--amber);--c-dim:var(--amber-dim);background:var(--amber-bg)}.corruption-3,.corruption-4{--c:var(--red);--c-dim:var(--red-dim);background:var(--red-bg)}.terminal-root{flex-direction:column;width:100%;height:100vh;padding:0;transition:background 1.2s;display:flex;position:relative;overflow:hidden}.statusbar{border-bottom:1px solid var(--c-dim,var(--green-dim));letter-spacing:.15em;color:var(--c-dim,var(--green-dim));opacity:.75;-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:space-between;align-items:center;padding:6px 16px;font-size:.68rem;display:flex}.statusbar-left{gap:24px;display:flex}.statusbar-right{align-items:center;gap:16px;display:flex}.statusbar-title{color:var(--c,var(--green));text-shadow:0 0 6px var(--c,var(--green));letter-spacing:.25em}.statusbar-progress{align-items:center;gap:8px;display:flex}.statusbar-track{border:1px solid var(--c-dim,var(--green-dim));background:#ffffff14;width:80px;height:4px}.statusbar-fill{background:var(--c,var(--green));height:100%;box-shadow:0 0 4px var(--c,var(--green));transition:width .5s}.logout-btn{color:var(--c-dim,var(--green-dim));font-family:var(--font);letter-spacing:.2em;cursor:pointer;opacity:.6;text-transform:uppercase;background:0 0;border:none;padding:0;font-size:.62rem;transition:opacity .15s}.logout-btn:hover{opacity:1;color:var(--red)}.fragment-bar{font-family:var(--font);letter-spacing:.12em;-webkit-user-select:none;user-select:none;border-bottom:1px solid #ffffff0d;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:5px 16px;font-size:.68rem;display:flex}.fragment-slot{text-align:center;border:1px solid var(--c-dim,var(--green-dim));min-width:2.4em;color:var(--c-dim,var(--green-dim));opacity:.35;padding:1px 5px;display:inline-block}.fragment-slot--found{color:var(--c,var(--green));border-color:var(--c,var(--green));opacity:1;text-shadow:0 0 6px var(--c,var(--green))}.fragment-bar--complete .fragment-slot--found{animation:2s infinite pulse}.shell-output{scroll-behavior:smooth;flex:1;padding:12px 20px 4px;overflow-y:auto}.shell-output::-webkit-scrollbar{width:3px}.shell-output::-webkit-scrollbar-track{background:0 0}.shell-output::-webkit-scrollbar-thumb{background:var(--c-dim,var(--green-dim))}.shell-line{white-space:pre-wrap;word-break:break-word;min-height:1.6em}.shell-system{color:var(--c,var(--green))}.shell-dim{color:var(--c-dim,var(--green-dim));opacity:.55}.shell-info{color:var(--c-dim,var(--green-dim));opacity:.9}.shell-input{color:var(--c,var(--green));opacity:.45}.shell-success{color:var(--c,var(--green));text-shadow:0 0 5px var(--c,var(--green))}.shell-error{color:var(--red)}.shell-address{color:var(--c,var(--green));letter-spacing:.14em;text-shadow:0 0 8px var(--c,var(--green));font-size:.9rem}.prompt-row{border-top:1px solid #ffffff0f;flex-shrink:0;align-items:center;gap:6px;padding:8px 20px 10px;display:flex}.prompt-char{color:var(--c,var(--green));-webkit-user-select:none;user-select:none;text-shadow:0 0 4px var(--c,var(--green))}.prompt-input{color:var(--c,var(--green));font-family:var(--font);font-size:var(--font-size);caret-color:var(--c,var(--green));line-height:var(--line-height);background:0 0;border:none;outline:none;flex:1}.login-prompt-label{color:var(--c-dim,var(--green-dim));margin-right:4px}.login-inline-input{color:var(--c,var(--green));font-family:var(--font);font-size:var(--font-size);caret-color:var(--c,var(--green));background:0 0;border:none;outline:none;min-width:200px}.corruption-3 .shell-output,.corruption-4 .shell-output{animation:6s infinite screen-shake}.corruption-4 .statusbar-title{animation:2s infinite glitch-text}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes flicker{0%,97%,to{opacity:1}98%{opacity:.3}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes glitch-text{0%,88%,to{text-shadow:0 0 6px var(--red);transform:translate(0)}90%{text-shadow:3px 0 4px #ff0000e6,-3px 0 4px #00ffffe6;transform:translate(-3px,1px)}92%{transform:translate(3px,-1px)}94%{transform:translate(0)}}@keyframes screen-shake{0%,94%,to{transform:translate(0)}95%{transform:translate(-1px,1px)}96%{transform:translate(2px,-1px)}97%{transform:translate(-1px)}}@media (width<=480px){:root{--font-size:.74rem}.statusbar{padding:4px 10px;font-size:.6rem}.statusbar-track{width:50px}.shell-output{padding:8px 12px 4px}.prompt-row{padding:6px 12px 8px}}
