@import "https://fonts.googleapis.com/css2?family=VT323&display=swap";:root{--phosphor-primary:#3f3;--phosphor-dim:#040;--bg-color:#050505;--crt-curvature:3px}.boot-overlay{z-index:2000;cursor:pointer;width:100%;height:100%;color:var(--phosphor-primary);text-align:center;background:#000a00f2;justify-content:center;align-items:center;font-family:VT323,monospace;display:flex;position:absolute;top:0;left:0}.boot-prompt{letter-spacing:2px;font-size:1.5rem;animation:1.5s infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}body,html,#root{width:100%;height:100%;color:var(--phosphor-primary);-webkit-user-select:none;user-select:none;background-color:#000;margin:0;padding:0;font-family:VT323,monospace;overflow:hidden}#terminal-screen{box-sizing:border-box;background:radial-gradient(circle,#0a150a 0%,#000 90%);flex-direction:column;width:100%;height:100%;padding:2rem;display:flex;position:relative;overflow:hidden}#header{border-bottom:1px solid var(--phosphor-dim);flex-shrink:0;margin-bottom:1rem;padding-bottom:.5rem}.simulation-header{color:var(--phosphor-primary);text-shadow:0 0 4px var(--phosphor-dim);letter-spacing:1px;margin-bottom:.5rem;font-size:1.4rem;font-weight:700}.meta-row{text-shadow:0 0 2px var(--phosphor-dim);justify-content:space-between;font-size:1.2rem;display:flex}#content{z-index:2;height:100%;text-shadow:0 0 2px var(--phosphor-dim),0 0 6px var(--phosphor-dim);flex-direction:column;font-size:1.4rem;line-height:1.4;display:flex;position:relative;overflow:hidden}.scanlines{pointer-events:none;z-index:10;opacity:.6;background:linear-gradient(#fff0,#fff0 50%,#0003 50%,#0003) 0 0/100% 4px;width:100vw;height:100vh;position:fixed;top:0;left:0}.crt-flicker{opacity:0;z-index:11;pointer-events:none;background:#1210101a;width:100vw;height:100vh;animation:.15s infinite flicker;position:fixed;top:0;left:0}.vignette{z-index:12;pointer-events:none;background:radial-gradient(circle,#0000 60%,#000 100%);width:100vw;height:100vh;position:fixed;top:0;left:0}.system-msg{color:var(--phosphor-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem;font-size:.9em}.dialogue-log{scrollbar-width:none;flex-grow:1;margin-bottom:1rem;padding-bottom:1rem;overflow-y:auto}.dialogue-log::-webkit-scrollbar{display:none}.line{word-wrap:break-word;margin-bottom:.8rem}.npc{color:var(--phosphor-primary)}.player{color:#afa;opacity:.9}.input-area{background:var(--phosphor-primary);min-height:3rem;color:var(--bg-color);box-shadow:0 0 10px var(--phosphor-primary);flex-shrink:0;align-items:center;margin-top:1rem;padding:1rem;font-size:1.6rem;font-weight:700;display:flex}.prompt-char{color:var(--bg-color);margin-right:15px}#user-input{color:var(--bg-color);caret-color:#0000;background:0 0;border:none;outline:none;width:100%;font-family:VT323,monospace;font-size:1.6rem}.cursor{background-color:var(--bg-color);vertical-align:bottom;width:12px;height:1.2em;margin-left:2px;animation:1s step-end infinite blink;display:inline-block}@keyframes flicker{0%{opacity:.02}5%{opacity:.05}10%{opacity:.02}to{opacity:.02}}.glitch-text{animation:.3s cubic-bezier(.25,.46,.45,.94) infinite both glitch-skew}@keyframes glitch-skew{0%{transform:skew(0deg)}20%{transform:skew(-2deg)}40%{transform:skew(2deg)}60%{transform:skew(-1deg)}80%{transform:skew(1deg)}to{transform:skew(0deg)}}#hidden-input{opacity:0;position:absolute;top:-1000px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.suggestions-container{flex-direction:column;gap:.5rem;margin-top:1rem;animation:.5s ease-out forwards fadeInUp;display:flex}.suggestions-title{color:var(--phosphor-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:.2rem;font-size:.9rem}.suggestion-item{cursor:pointer;border:1px solid var(--phosphor-dim);color:var(--phosphor-dim);padding:.5rem;transition:all .2s}.suggestion-item:hover{border-color:var(--phosphor-primary);color:var(--phosphor-primary);box-shadow:none;background:#33ff331a}.suggestion-text{margin-right:.5rem}.suggestion-rp{opacity:.8;font-size:.8em}.rp-monitor{border:2px solid var(--phosphor-primary);color:var(--phosphor-primary);z-index:1000;background:#001400e6;flex-direction:column;align-items:center;gap:5px;min-width:140px;padding:15px;font-family:VT323,monospace;display:flex;position:fixed;top:105px;right:40px;box-shadow:0 0 10px #3f33}.rp-title{text-transform:uppercase;text-align:center;opacity:.8;letter-spacing:1px;max-width:150px;margin-bottom:2px;font-size:.8rem;line-height:1.2}.rp-status{opacity:.6;text-transform:uppercase;margin-bottom:5px;font-size:.7rem}.rp-heart{text-shadow:0 0 5px var(--phosphor-primary);margin:10px 0;padding-right:15px;font-size:.5rem;line-height:1.1;animation:4s infinite pulse}.rp-heart pre{margin:0;font-family:monospace}.rp-value{text-shadow:0 0 2px var(--phosphor-primary);font-size:1.5rem;font-weight:700}.rp-delta{font-size:1rem;font-weight:700}@keyframes pulse{0%{opacity:.8;transform:scale(1)}50%{opacity:.9;text-shadow:0 0 8px var(--phosphor-primary);transform:scale(1.03)}to{opacity:.8;transform:scale(1)}}.story-container{color:#ccc;box-sizing:border-box;z-index:3000;background-color:#050505;flex-direction:column;align-items:center;width:100%;height:100%;padding:4rem 2rem 8rem;font-family:Courier New,Courier,monospace;transition:background-color 1.5s;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.story-note{color:#aaa;background:#ffffff0d;border-left:3px solid #444;margin:2rem 0;padding:1.5rem;font-style:italic}.evidence-block{color:#b8b8a0;background:#fff8dc14;border:1px solid #3a3a2a;margin:1rem 0;padding:1rem 1.25rem;font-family:Courier New,Courier,monospace;font-size:.95rem;line-height:1.6;position:relative}.evidence-block:before{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#0000,#0000 28px,#6464501a 28px 29px);width:100%;height:100%;position:absolute;top:0;left:0}.story-content{opacity:0;max-width:600px;margin-bottom:2rem;font-size:1.1rem;line-height:1.8;animation:2s ease-out .5s forwards fadeIn}.crt-overlay{z-index:4000;pointer-events:none;background:#000;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.crt-beam{background:var(--phosphor-primary);box-shadow:0 0 20px var(--phosphor-primary),0 0 40px var(--phosphor-primary);width:0;height:0;transition:all .4s cubic-bezier(.25,.46,.45,.94)}.crt-overlay.pixel .crt-beam{opacity:1;border-radius:50%;width:4px;height:4px}.crt-overlay.line .crt-beam{opacity:1;border-radius:0;width:100%;height:2px}.crt-overlay.full .crt-beam{opacity:1;width:100%;height:100%}.crt-overlay.fade{background:0 0;transition:background .5s}.crt-overlay.fade .crt-beam{opacity:0;transition:opacity .8s}.crt-grain{opacity:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.1'/%3E%3C/svg%3E");width:100%;height:100%;position:absolute;top:0;left:0}.crt-overlay.fade .crt-grain{animation:2s ease-out forwards grainFade}@keyframes grainFade{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(1.1)}}.story-content p{margin-bottom:1.5rem}.power-controls{opacity:0;animation:2s ease-out 2.5s forwards fadeIn}.power-button{cursor:pointer;width:70px;height:70px;image-rendering:pixelated;background:#dcd8c0;border:3px solid #1a1a1a;border-radius:50%;justify-content:center;align-items:center;transition:transform .1s,box-shadow .1s;display:flex;position:relative;box-shadow:4px 4px #050505}.power-button:hover{background:#e6e2cd;transform:translate(-1px,-1px);box-shadow:5px 5px #050505}.power-button:active{transform:translate(2px,2px);box-shadow:2px 2px #050505}.power-icon{color:#1a1a1a;font-size:1.8rem;font-weight:700}.power-button:hover .power-icon{color:#000;text-shadow:none}.story-container.powering-on{background-color:#000}.story-container.powering-on .story-content,.story-container.powering-on .power-controls{opacity:0;transition:opacity .5s}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
