

:root {
  

  --terminal-black:       #0A0A10;   
  --phosphor-cyan:        #22E8F0;   
  --phosphor-cyan-bright: #7AF0F4;   
  --phosphor-cyan-dim:    #147A82;   
  --phosphor-cyan-glow:   rgba(34, 232, 240, 0.55);

  --magenta-hot:          #FF2A8E;   
  --magenta-hot-bright:   #FF66B0;
  --magenta-hot-dim:      #A8155A;
  --magenta-hot-glow:     rgba(255, 42, 142, 0.55);

  --phosphor-amber:       #F0AA1C;   
  --phosphor-amber-bright: #FFD060;
  --phosphor-amber-dim:   #A07412;
  --phosphor-amber-glow:  rgba(240, 170, 28, 0.45);

  --bile-green:           #9DE830;   
  --bile-green-dim:       #5C8A18;

  --deep-violet:          #3D1F5C;   
  --deep-violet-bright:   #5C2E8A;
  --deep-violet-dim:      #1F1030;

  --decay-rust:           #5C2818;   
  --decay-rust-bright:    #8A3A22;
  --decay-rust-dim:       #2C140A;

  --screen-white:         #E0E2EC;   
  --screen-white-dim:     #A8AAB6;   
  --screen-white-muted:   #5A6E5C;   
  --screen-white-faint:   #3A3D45;

  --inactive-green-gray:  #5A6E5C;   

  

  
  --paper-cream:        #14141C;   
  --paper-warm:         #1C1C26;   
  --paper-edge:         #26262F;   
  --paper-text:         var(--screen-white);       
  --paper-text-faded:   #7A6B95;   

  
  --rust-amber:         var(--phosphor-amber);
  --rust-amber-bright:  var(--phosphor-amber-bright);
  --rust-amber-dim:     var(--phosphor-amber-dim);

  
  --slate-base:         #14141C;   
  --slate-high:         #26262F;
  --slate-low:          #0E0E14;
  --slate-deep:         #08080C;

  
  --wood-base:          #0A0A10;
  --wood-grain:         #14141C;   
  --wood-shadow:        #050509;
  --wood-highlight:     #2A2A38;

  
  --brass:              var(--phosphor-amber);
  --brass-shine:        var(--phosphor-amber-bright);
  --brass-shadow:       #5C4012;

  
  --stamp-red:          var(--magenta-hot);
  --stamp-red-bright:   var(--magenta-hot-bright);
  --stamp-red-dim:      var(--magenta-hot-dim);

  
  --stamp-green:        var(--phosphor-cyan);
  --stamp-green-bright: var(--phosphor-cyan-bright);
  --stamp-green-dim:    var(--phosphor-cyan-dim);

  
  --dusk-bg:            var(--terminal-black);
  --dusk-sky:           var(--deep-violet);          
  --dusk-glow:          var(--magenta-hot);          
  --dusk-rim:           var(--phosphor-cyan);        

  
  --warm-cream:         var(--screen-white);
  --warm-cream-dim:     var(--screen-white-dim);
  --warm-cream-muted:   var(--screen-white-muted);
  --warm-cream-faint:   var(--screen-white-faint);

  
  --bg-deep:           var(--terminal-black);
  --bg-panel:          var(--slate-base);
  --bg-card:           var(--slate-low);
  --bg-overlay:        var(--slate-base);
  --bg-recess:         var(--slate-deep);
  --bg-press:          #050509;

  --accent-up:         var(--phosphor-cyan);
  --accent-down:       var(--magenta-hot);
  --accent-amber:      var(--phosphor-amber);
  --accent-gold:       var(--phosphor-amber);   
  --accent-gold-soft:  rgba(240, 170, 28, 0.16);
  --accent-gold-flash: rgba(240, 170, 28, 0.10);
  --accent-violet:     var(--deep-violet);

  
  --gold:              #FFD700;
  --knockout-red:      #E13B3B;
  --sideways-yellow:   #F5D547;

  --text-primary:      var(--screen-white);
  --text-secondary:    var(--screen-white-dim);
  --text-muted:        var(--screen-white-muted);
  --text-faint:        var(--screen-white-faint);
  --text-on-accent:    var(--terminal-black);   

  --border-subtle:     #26262F;                 
  --border-strong:     var(--deep-violet);
  --border-glow:       var(--phosphor-cyan);
  --border-up:         var(--phosphor-cyan);
  --border-down:       var(--magenta-hot);

  
  --bell-gradient: linear-gradient(
    90deg,
    #5C4012 0%,
    #8A6018 30%,
    var(--phosphor-amber) 55%,
    var(--magenta-hot) 80%,
    var(--magenta-hot-bright) 100%
  );

  
  --bg-floor-gradient: linear-gradient(
    180deg,
    #1A0F2C 0%,
    #0A0712 55%,
    #040408 100%
  );

  

  --fund-cascade-primary:    #5A1414;   
  --fund-cascade-secondary:  #B87333;   
  --fund-cascade-base:       #0A0A0A;

  --fund-ouroboros-primary:  #3A3A3A;   
  --fund-ouroboros-secondary:#A0A0A0;   
  --fund-ouroboros-accent:   #9F8FBF;   

  --fund-vespers-primary:    #0F1B3F;   
  --fund-vespers-secondary:  #B8860B;   
  --fund-vespers-accent:     #D4AF37;   

  --fund-swarm-primary:      #9FBFA0;   
  --fund-swarm-secondary:    #E8E8E0;   

  --fund-prophet-primary:    #F0E8D8;   
  --fund-prophet-secondary:  #9C4A2B;   
  --fund-prophet-accent:     #FF8C42;   

  --fund-long_tail-primary:  #5A6470;   
  --fund-long_tail-secondary:#FFEB6B;   
  --fund-long_tail-accent:   #D97706;   

  --fund-warden-primary:     #7A7A7A;   
  --fund-warden-secondary:   #FFD600;   

  --fund-atlas-primary:      #8A8A8A;   
  --fund-atlas-secondary:    #1A1A1A;   
  --fund-atlas-accent:       rgba(255, 255, 255, 0.125);   

  --fund-index-primary:      #D4B775;   
  --fund-index-secondary:    #F5EAD0;   

  --fund-aequitas-primary:   #F5F5F0;   
  --fund-aequitas-secondary: #1E3A5F;   
  --fund-aequitas-accent:    #E10600;   

  --fund-mood_bureau-primary:    #2D6A6A;   
  --fund-mood_bureau-secondary:  #7A7A6A;   
  --fund-mood_bureau-accent:     #F59E0B;   

  --fund-lighthouse-primary:     #F5F5F0;   
  --fund-lighthouse-secondary:   #1E4A7C;   
  --fund-lighthouse-accent:      #FFC857;   

  --fund-daemons-primary:    #C84A0C;   
  --fund-daemons-secondary:  #3A3A3A;   
  --fund-daemons-accent:     #FFFFFF;   

  --fund-throne-primary:     #7A1010;   
  --fund-throne-secondary:   #0A0A0A;   
  --fund-throne-accent:      #B8860B;   

  

  --font-mono:     "JetBrains Mono", "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  
  --font-brand:    "Silkscreen", "Press Start 2P", ui-monospace, monospace;
  --font-display:  "Orbitron", "Rajdhani", "Chakra Petch", "Eurostile", ui-sans-serif, system-ui, sans-serif;
  --font-crt:      "VT323", "JetBrains Mono", ui-monospace, monospace;
  --font-body:     "Inter", "Söhne", ui-sans-serif, system-ui, -apple-system, sans-serif;
  --font-document: var(--font-body);   

  
  --text-xs:  0.75rem;
  --text-sm:  0.875rem;
  --text-base: 1rem;
  --text-lg:  1.125rem;
  --text-xl:  1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 2rem;
  --text-4xl: 2.5rem;
  --text-5xl: 3.25rem;

  
  --text-data:           0.75rem;    
  --text-data-lead:      0.8125rem;  
  
  --text-muted-readable: #7E8F80;    
  --paper-text-readable: #9A8FB5;    

  
  --space-0: 0;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;
  --space-24: 96px;
  --space-32: 128px;

  
  --radius-0: 0;
  --radius-sm: 2px;
  --radius-base: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;

  
  --layout-brand-height: 36px;
  --layout-sliver-height: 28px;
  --layout-topnav-height: 44px;
  --layout-tape-height: 64px;
  --layout-dock-height: 56px;
  --layout-drawer-width: 420px;

  
  --motion-instant: 80ms;
  --motion-fast:    150ms;
  --motion-base:    250ms;
  --motion-slow:    400ms;
  --motion-bell:    1200ms;
  --motion-ambient: 2400ms;
  --motion-stamp:   320ms;
  --motion-warp:    240ms;
  --motion-glitch:  80ms;
  --ease-default:   cubic-bezier(0.2, 0.8, 0.2, 1);
  --ease-bell:      cubic-bezier(0, 0, 0.3, 1);
  --ease-out-soft:  cubic-bezier(0.16, 1, 0.3, 1);
  --ease-stamp-in:  cubic-bezier(0.6, 0, 0.4, 1);
  --ease-linear:    linear;

  
  --floor-mist:        rgba(34, 232, 240, 0.10);          
  --floor-mist-strong: rgba(255, 42, 142, 0.18);          
  --floor-shadow:      rgba(4, 4, 8, 0.7);
  --particle-soft:     rgba(224, 226, 236, 0.16);         
  --particle-bright:   rgba(34, 232, 240, 0.55);          
  --curtain-deep:      #050509;
  --curtain-fold:      #0A0A10;

  
  --scanline-color:    transparent;   
  --scanline-overlay:  repeating-linear-gradient(
                         0deg,
                         transparent 0 2px,
                         var(--scanline-color) 2px 3px
                       );
  --port-glow-magenta: 0 0 8px rgba(255, 42, 142, 0.6),
                       0 0 2px rgba(255, 42, 142, 0.9);
  --crt-text-glow:     0 0 6px rgba(34, 232, 240, 0.45);
  --neon-rain-color:   rgba(34, 232, 240, 0.18);
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --motion-fast: 0ms;
    --motion-base: 0ms;
    --motion-slow: 0ms;
    --motion-bell: 0ms;
    --motion-ambient: 0ms;
    --motion-stamp: 0ms;
    --motion-warp: 0ms;
  }
}


*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
  background: var(--terminal-black);
  color: var(--screen-white);
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow: hidden;
}

button {
  font-family: inherit;
  color: inherit;
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
}

a {
  color: var(--phosphor-cyan);
  text-decoration: none;
  transition: color var(--motion-fast) var(--ease-default);
}

a:hover {
  color: var(--phosphor-cyan-bright);
}

a:focus-visible,
button:focus-visible,
input:focus-visible {
  outline: 2px solid var(--phosphor-cyan);
  outline-offset: 2px;
}



.mono {
  font-family: var(--font-mono);
  font-feature-settings: "tnum" on, "lnum" on;
  letter-spacing: 0.02em;
  text-shadow: none;   
}

.display {
  font-family: var(--font-display);
  letter-spacing: 0.04em;
  font-weight: 600;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


.brand {
  font-family: var(--font-brand);
  letter-spacing: 0.04em;
  -webkit-font-smoothing: none;
  -moz-osx-font-smoothing: auto;
}

.crt {
  font-family: var(--font-crt);
  letter-spacing: 0.02em;
  text-shadow: var(--crt-text-glow);
}

.document {
  
  font-family: var(--font-body);
  letter-spacing: 0.01em;
}

.up    { color: var(--phosphor-cyan); text-shadow: 0 0 6px var(--phosphor-cyan-glow); }
.down  { color: var(--magenta-hot);   text-shadow: 0 0 6px var(--magenta-hot-glow); }
.gold  { color: var(--phosphor-amber); }
.muted { color: var(--screen-white-muted); }
.dim   { color: var(--screen-white-dim); }


.mono.up,  .mono.down,
.up.mono,  .down.mono { text-shadow: none; }

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}




@keyframes mg-bell-pulse {
  0%   { background-color: transparent; }
  20%  { background-color: rgba(255, 42, 142, 0.18); }
  100% { background-color: transparent; }
}

@keyframes mg-tape-pulse {
  0%, 100% { box-shadow: inset 0 0 0 0 var(--phosphor-amber); }
  30%      { box-shadow: inset 0 -2px 0 0 var(--phosphor-amber); }
}

@keyframes mg-breathe {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.02); }
}


@keyframes mg-flicker {
  0%, 100% { opacity: 1; }
  47%      { opacity: 1; }
  48%      { opacity: 0.6; }
  49%      { opacity: 1; }
  92%      { opacity: 0.4; }
  94%      { opacity: 1; }
}

@keyframes mg-fluorescent-flicker {
  0%, 100% { filter: brightness(1); opacity: 1; }
  20%      { filter: brightness(1); opacity: 1; }
  22%      { filter: brightness(0.5); opacity: 0.6; }
  24%      { filter: brightness(1.1); opacity: 1; }
  60%      { filter: brightness(1); opacity: 1; }
  62%      { filter: brightness(0.4); opacity: 0.4; }
  64%      { filter: brightness(1.05); opacity: 1; }
}

@keyframes mg-floor-heartbeat {
  0%, 100% { opacity: 0.85; }
  50%      { opacity: 1; }
}

@keyframes mg-toast-in {
  from { transform: translate(-50%, 24px); opacity: 0; }
  to   { transform: translate(-50%, 0);    opacity: 1; }
}

@keyframes mg-drawer-in {
  from { transform: translateX(100%); opacity: 0; }
  to   { transform: translateX(0);    opacity: 1; }
}

@keyframes mg-overlay-in {
  from { opacity: 0; transform: scale(0.96); }
  to   { opacity: 1; transform: scale(1); }
}


@keyframes mg-stamp-slam {
  0%   { transform: translate(0, -32px) scale(1.18) rotate(-4deg); opacity: 0.7; filter: blur(0.5px); }
  55%  { transform: translate(0,  4px)  scale(0.92) rotate(2deg);  opacity: 1;   filter: blur(0); }
  72%  { transform: translate(0, -2px)  scale(1.02) rotate(-1deg); }
  100% { transform: translate(0,  0)    scale(1)    rotate(0);     opacity: 1; }
}


@keyframes mg-stamp-ink {
  0%   { transform: scale(0.4); opacity: 0.85; }
  60%  { opacity: 0.4; }
  100% { transform: scale(1.4); opacity: 0; }
}


@keyframes mg-paper-flip {
  0%   { transform: perspective(800px) rotateY(-90deg) scale(0.95); opacity: 0; }
  60%  { transform: perspective(800px) rotateY(8deg)   scale(1.01); opacity: 1; }
  100% { transform: perspective(800px) rotateY(0)      scale(1); }
}


@keyframes mg-lamp-flicker {
  0%, 100% { filter: brightness(1); }
  47%      { filter: brightness(1); }
  48%      { filter: brightness(0.6); }
  49%      { filter: brightness(1.05); }
  50%      { filter: brightness(1); }
}




@keyframes mg-scanline-drift {
  from { background-position: 0 0; }
  to   { background-position: 0 -2px; }
}


@keyframes mg-screen-warp {
  0%   { transform: skew(0)            translate(0, 0);   text-shadow: none; }
  20%  { transform: skew(2deg, 0)      translate(2px, 0); text-shadow: 1px 0 var(--phosphor-cyan), -1px 0 var(--magenta-hot); }
  55%  { transform: skew(-1deg, 0)     translate(-1px, 0); text-shadow: -1px 0 var(--phosphor-cyan), 1px 0 var(--magenta-hot); }
  100% { transform: skew(0)            translate(0, 0);   text-shadow: none; }
}


@keyframes mg-magenta-core-pulse {
  0%, 100% { box-shadow: 0 0 12px rgba(255, 42, 142, 0.6),
                          0 0 4px rgba(255, 42, 142, 0.9); }
  50%      { box-shadow: 0 0 24px rgba(255, 42, 142, 0.85),
                          0 0 8px rgba(255, 255, 255, 0.6); }
}


@keyframes mg-cursor-blink {
  0%, 49%   { opacity: 1; }
  50%, 100% { opacity: 0; }
}


@keyframes mg-fund-glitch-frame {
  0%, 97%  { filter: none; transform: skewX(0); }
  97.5%    { filter: hue-rotate(180deg) saturate(2); transform: skewX(4deg); }
  98%      { filter: invert(0.2) hue-rotate(90deg); transform: skewX(-3deg) translateX(2px); }
  98.5%    { filter: none; transform: skewX(0); }
  100%     { filter: none; transform: skewX(0); }
}


@keyframes mg-neon-rain {
  from { background-position: 0 0; }
  to   { background-position: 0 24px; }
}


@keyframes mg-peel-droop {
  0%, 100% { transform: rotate(-1deg); }
  50%      { transform: rotate(1.5deg); }
}


@keyframes mg-static-noise {
  0%   { background-position: 0 0; }
  10%  { background-position: -8px 12px; }
  20%  { background-position: 14px -6px; }
  30%  { background-position: -4px 22px; }
  40%  { background-position: 18px 4px; }
  50%  { background-position: -12px -10px; }
  60%  { background-position: 6px 16px; }
  70%  { background-position: -16px 2px; }
  80%  { background-position: 8px -14px; }
  90%  { background-position: -2px 8px; }
  100% { background-position: 0 0; }
}


@keyframes mg-dot-matrix-chatter {
  0%, 100% { transform: translateX(0); }
  25%      { transform: translateX(0.5px); }
  50%      { transform: translateX(-0.5px); }
  75%      { transform: translateX(0.3px); }
}
