:root{--bg:#000;--text-core:#b8f5d8;--glow-near:#8cffbe8c;--glow-far:#3cc88247;--font-size:clamp(1.1rem, 2.4vw, 1.6rem);--line-height:1.45;--screen-padding:clamp(1rem, 5vw, 4rem);--glyph-softness:.4px;--scanline-opacity:.08;--vignette-strength:.55;--flicker-opacity:.02;--cursor-blink:1.06s}@font-face{font-family:Courier Prime;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/courier-prime-400.woff2)format("woff2")}@font-face{font-family:Courier Prime;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/courier-prime-700.woff2)format("woff2")}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:var(--bg);height:100%}.terminal{background:var(--bg);height:100dvh;font-family:Courier Prime,Courier New,monospace;font-size:var(--font-size);line-height:var(--line-height);color:var(--text-core);cursor:text;animation:4s infinite terminal-flicker;position:relative;overflow:hidden}.terminal__screen{height:100%;padding:var(--screen-padding);white-space:pre-wrap;word-break:break-word;filter:blur(var(--glyph-softness));text-shadow:0 0 2px var(--text-core), 0 0 8px var(--glow-near), 0 0 28px var(--glow-far);scrollbar-width:none;overflow-y:auto}.terminal__screen::-webkit-scrollbar{display:none}.terminal__line--you:before{content:"> "}.terminal__cursor{vertical-align:baseline;background:var(--text-core);width:1ch;height:.85em;box-shadow:0 0 6px var(--glow-near), 0 0 20px var(--glow-far);animation:cursor-blink var(--cursor-blink) steps(1) infinite;margin-left:1px;display:inline-block}.terminal__input{opacity:0;color:#0000;caret-color:#0000;pointer-events:none;background:0 0;border:none;outline:none;width:1px;height:1px;position:absolute;bottom:0;left:0}.terminal__overlay{pointer-events:none;background:radial-gradient(ellipse at center, transparent 55%, rgba(0, 0, 0, var(--vignette-strength)) 100%), repeating-linear-gradient(to bottom, transparent 0 2px, rgba(0, 0, 0, var(--scanline-opacity)) 2px 4px);position:absolute;inset:0}@keyframes cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes terminal-flicker{0%,to{opacity:1}8%{opacity:calc(1 - var(--flicker-opacity))}9%{opacity:1}52%{opacity:calc(1 - var(--flicker-opacity))}54%{opacity:1}81%{opacity:calc(1 - var(--flicker-opacity) / 2)}82%{opacity:1}}
