:root{--background:#080808;--background-raised:#0d0d0d;--background-subtle:#111;--red-primary:#d31f2b;--red-bright:#ef3340;--red-muted:#7c1820;--red-faint:#d31f2b2e;--red-dim:#d31f2b14;--paper:#ddd7cf;--paper-dim:#ddd7cf99;--system-blue:#7188a8;--system-blue-dim:#7188a866;--color-blue:#4a90d9;--color-yellow:#d4a017;--color-green:#2d8a4e;--noise-opacity:.035;--grain-opacity:.03;--scanline-opacity:.015;--transition-slow:1.8s;--transition-medium:.8s;--transition-fast:.3s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--font-main:"Consolas", "Courier New", monospace;--size-xs:clamp(.625rem, .5rem + .5vw, .75rem);--size-sm:clamp(.75rem, .65rem + .5vw, .875rem);--size-base:clamp(1rem, .9rem + .5vw, 1.125rem);--size-lg:clamp(1.25rem, 1rem + 1vw, 1.75rem);--size-xl:clamp(1.75rem, 1.25rem + 2vw, 2.75rem);--size-2xl:clamp(2.25rem, 1.5rem + 3vw, 4rem);--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:2rem;--space-xl:4rem;--space-2xl:8rem}.text-emotional{font-family:var(--font-main);letter-spacing:.01em;font-weight:400;line-height:1.7}.text-emotional-strong{font-family:var(--font-main);letter-spacing:.01em;font-weight:700;line-height:1.5}.text-system{font-family:var(--font-main);font-size:var(--size-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--red-muted);font-weight:400;line-height:1.8}.text-system-bright{font-family:var(--font-main);font-size:var(--size-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--system-blue);font-weight:400;line-height:1.8}.text-title{font-family:var(--font-main);font-size:var(--size-xs);letter-spacing:.25em;text-transform:uppercase;color:var(--red-muted);font-weight:400}.text-instruction{font-family:var(--font-main);font-size:var(--size-lg);letter-spacing:.02em;color:var(--red-primary);font-weight:400;line-height:1.5}.text-reflection{font-family:var(--font-main);font-size:var(--size-base);letter-spacing:.01em;color:var(--red-primary);opacity:.85;font-style:italic;font-weight:400;line-height:1.8}.atmospheric-bg{pointer-events:none;z-index:0;position:fixed;inset:0}.atmospheric-bg:before{content:"";background:radial-gradient(ellipse 80% 60% at 50% 45%, var(--background-raised) 0%, var(--background) 100%);position:absolute;inset:0}.atmospheric-bg:after{content:"";background:radial-gradient(120% 100%,#0000 40%,#0006 100%);position:absolute;inset:0}.grain-layer{pointer-events:none;z-index:1;opacity:var(--grain-opacity);mix-blend-mode:overlay;position:fixed;inset:0}.scanlines{pointer-events:none;z-index:1;opacity:var(--scanline-opacity);background:repeating-linear-gradient(0deg,#0000,#0000 2px,#00000008 2px 4px);position:fixed;inset:0}@media (prefers-reduced-motion:reduce){.grain-layer{opacity:.015;animation:none!important}.scanlines{opacity:0}}.fade-in{animation:fadeIn var(--transition-slow) var(--ease-out) forwards;opacity:0}.fade-in-fast{animation:fadeIn var(--transition-fast) var(--ease-out) forwards;opacity:0}@keyframes fadeIn{to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes cursorBlink{0%,49%{opacity:.9}50%,to{opacity:0}}@keyframes subtleShift{0%,to{transform:translate(0)}25%{transform:translate(.5px,-.5px)}50%{transform:translate(-.5px,.5px)}75%{transform:translate(.5px,.5px)}}@keyframes redPulse{0%,to{opacity:.4}50%{opacity:.7}}.disruption{animation:80ms steps(2,end) forwards disruption}@keyframes disruption{0%{filter:hue-rotate(10deg);transform:translate(-2px,1px)}50%{filter:hue-rotate(-5deg);transform:translate(1px,-1px)}to{filter:none;transform:translate(0)}}@keyframes ambientAppear{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.disruption{animation:none}.fade-in{animation-duration:.3s}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background:var(--background);color:var(--red-primary);font-family:var(--font-main);font-size:var(--size-base);cursor:default;min-height:100vh;line-height:1.6;overflow-x:hidden}#root{min-height:100vh;position:relative}button{font-family:inherit;font-size:inherit;color:inherit;cursor:pointer;background:0 0;border:none;outline:none}button:focus-visible{outline:1px solid var(--red-primary);outline-offset:4px}input{font-family:var(--font-main);font-size:var(--size-sm);color:var(--red-primary);border:1px solid var(--red-muted);background:0 0;outline:none;padding:.5rem .75rem}input:focus{border-color:var(--red-primary)}::selection{background:var(--red-faint);color:var(--red-bright)}::-webkit-scrollbar{width:2px}::-webkit-scrollbar-track{background:var(--background)}::-webkit-scrollbar-thumb{background:var(--red-muted)}
