:root {
  
  --b-wall-solid: var(--wall-base);            
  --b-floor-solid: #3a2a1e;                    
  --b-tv-solid: #5a3a20;                       
  --b-paper-solid: var(--paper);               
  --b-cork-solid: #b48a5a;                     
  --b-crate-solid: #8a6236;                    

  
  
  --b-crt-blue: #000022;  --b-crt-blue-top: #000044;  --b-crt-blue-bottom: #000011;
  --b-crt-blue-ink: #00ffff;  --b-crt-blue-ink-2: #88ffff;  --b-crt-blue-edge: #00aaaa;
  
  --b-crt-red: #000;  --b-crt-red-ink: #ff6b6b;  --b-crt-red-ink-2: #ffb3b3;
  --b-crt-off: #0b0b0a;                                   

  
  --b-t-body: 18px;  --b-t-body-lh: 1.6;  --b-t-small: 15px;  --b-t-label: 13px;
  --b-t-h3: 22px;  --b-t-h2: 30px;  --b-t-h1: 44px;  --b-t-hero: 64px;   
  --b-t-crt: 22px;  --b-t-crt-l: 34px;                                     
  --b-measure: 68ch;

  
  --b-v-hero: 160px;      
  --b-v-title: 112px;     
  --b-v-chapter: 88px;    
  --b-v-heading: 64px;    
  --b-v-lower: 48px;      
  --b-v-lower-sub: 34px;  
  --b-v-caption: 46px;    
  --b-v-crt: 72px;        
  --b-v-label: 30px;      

  
  --b-s-hero: 136px;  --b-s-title: 104px;  --b-s-chapter: 80px;  --b-s-heading: 64px;
  --b-s-lower: 52px;  --b-s-lower-sub: 38px;  --b-s-caption: 56px;  --b-s-crt: 80px;  --b-s-label: 34px;

  
  --b-th-title: 128px;  --b-th-sub: 64px;  --b-th-crt: 72px;  --b-th-max-words: 4;

  
  
  --b-safe-action-x: 67px;  --b-safe-action-y: 38px;
  --b-safe-title-x: 96px;   --b-safe-title-y: 54px;
  
  --b-short-top: 270px;     
  --b-short-bottom: 480px;  
  --b-short-right: 130px;   
  --b-short-left: 48px;
  
  --b-thumb-badge-w: 180px;  --b-thumb-badge-h: 72px;  --b-thumb-edge: 40px;

  
  --b-dur-blink: 80ms;          
  --b-dur-snap: 150ms;          
  --b-dur-quick: 250ms;         
  --b-dur-fade: var(--fade);    
  --b-dur-settle: 700ms;        
  --b-dur-power-on: 400ms;      
  --b-dur-power-off: 550ms;     
  --b-dur-static: 150ms;        
  --b-dur-scene: 1200ms;        
  --b-ease-out: cubic-bezier(.2, .7, .2, 1);       
  --b-ease-in: cubic-bezier(.55, 0, .75, .1);      
  --b-ease-crt: cubic-bezier(.75, 0, .25, 1);      
  --b-ease-slide: cubic-bezier(.3, 0, .1, 1);      
  --b-ease-pin: cubic-bezier(.34, 1.5, .64, 1);    
  --b-steps-crt: steps(6, end);                    
  --b-scan-roll: 6s;                               

  
  --b-shadow-paper: 0 1px 0 rgba(255, 255, 255, .25) inset, 0 10px 24px rgba(20, 10, 4, .45), 0 2px 4px rgba(20, 10, 4, .35);
  --b-shadow-object: 0 24px 50px rgba(6, 4, 2, .65), 0 4px 10px rgba(6, 4, 2, .5);
  --b-glow-crt-green: 0 0 6px rgba(74, 246, 38, .7), 0 0 18px rgba(74, 246, 38, .25);
  --b-glow-crt-blue: 0 0 4px rgba(0, 255, 255, .5);       
  --b-glow-crt-red: 0 0 4px rgba(255, 107, 107, .5);      

  
  
  --b-cs-shell: #a0703c;  --b-cs-river: #0f1a3a;  --b-cs-shore: #424a2c;  --b-cs-ridge: #323021;  --b-cs-canvas: #b8b898;
  --b-cs-hue: var(--g-shooter);
  --b-cs-normandy: #788828;  --b-cs-pacific: #088838;  --b-cs-bulge-snow: #e8f8f8;  --b-cs-bulge-ice: #48a8e8;
  
  --b-rs-shell: #3f8f2a;  --b-rs-hue: var(--g-shooter);
  --b-rs-vn-river: #3b62b7;  --b-rs-vn-bank: #b48c57;  --b-rs-vn-earth: #765a3d;  --b-rs-vn-canopy: #485828;
  --b-rs-ds-sand: #c89868;  --b-rs-ds-stone: #886858;  --b-rs-ds-pad: #d8d8c8;  --b-rs-ds-steel: #686868;
  --b-rs-nv-hi: var(--crt-green);  --b-rs-nv-mid: #187818;  --b-rs-nv-low: #083808;  --b-rs-nv-bg: var(--crt-green-bg);
  
  --b-ta-shell: #d0402e;  --b-ta-paint: #e83828;  --b-ta-asphalt: #33323b;  --b-ta-lane: #bebdc0;  --b-ta-storefront: #48866d;
  --b-ta-dusk: #4e5466;  --b-ta-flag: #f8c808;  --b-ta-hue: var(--g-racing);
  
  --b-wn-snow: #d0d2d6;  --b-wn-cliff: #1c2a36;  --b-wn-ice: #58a8e8;  --b-wn-water: #083a84;
  --b-wn-fur: #a86838;  --b-wn-ranger: #6a7a24;  --b-wn-scarf: #389828;
  
  --b-ss-shell: #4f86b8;  --b-ss-board: #f88828;  --b-ss-hue: var(--g-sports);
  
  --b-ir-shell: #2f6fc0;  --b-ir-tile: #68b8e8;  --b-ir-hut: #4f3321;  --b-ir-hue: var(--g-puzzle);

  
  --b-tex-max: 2;   
}

[data-b-mood] { --b-m-wall: var(--tex-wall); --b-m-poster-dim: var(--shade-lit); }
[data-b-mood="off"] { --b-m-poster-dim: var(--shade-off); }
[data-b-mood="running"] { --b-m-poster-dim: transparent; }
[data-b-mood="off"] {
  --b-m-shade: var(--shade-off);  --b-m-spill: transparent;  --b-m-lamp: var(--lamp);  --b-m-poster: transparent;
  --b-m-glass: var(--b-crt-off);  --b-m-glass-ink: #3a3530;  --b-m-text-glow: none;  --b-m-accent: var(--brass);
  --b-m-shadow: 0 30px 60px rgba(0, 0, 0, .85);
}
[data-b-mood="menu"] {
  --b-m-shade: var(--shade-lit);  --b-m-spill: var(--glow-menu);  --b-m-lamp: var(--lamp);  --b-m-poster: transparent;
  --b-m-glass: var(--crt-green-bg);  --b-m-glass-ink: var(--crt-green);  --b-m-text-glow: var(--b-glow-crt-green);
  --b-m-accent: var(--crt-green);  --b-m-shadow: var(--b-shadow-paper);
}
[data-b-mood="slots"] {
  --b-m-shade: var(--shade-lit);  --b-m-spill: var(--glow-slots);  --b-m-lamp: var(--lamp);  --b-m-poster: transparent;
  --b-m-glass: var(--b-crt-blue);  --b-m-glass-ink: var(--b-crt-blue-ink);  --b-m-text-glow: var(--b-glow-crt-blue);
  --b-m-accent: var(--b-crt-blue-ink);  --b-m-shadow: var(--b-shadow-paper);
}
[data-b-mood="running"] {
  --b-m-shade: var(--shade-running);  --b-m-spill: var(--glow-running);  --b-m-lamp: transparent;  --b-m-poster: var(--poster-lamp);
  --b-m-glass: #000;  --b-m-glass-ink: var(--paper);  --b-m-text-glow: 0 0 10px rgba(150, 190, 255, .35);
  --b-m-accent: var(--paper);  --b-m-shadow: 0 0 0 1px rgba(255, 214, 150, .15), 0 20px 50px rgba(0, 0, 0, .8);
}
[data-b-mood="fault"] {
  --b-m-shade: var(--shade-lit);  --b-m-spill: var(--glow-fault);  --b-m-lamp: var(--lamp);  --b-m-poster: transparent;
  --b-m-glass: var(--b-crt-red);  --b-m-glass-ink: var(--b-crt-red-ink);  --b-m-text-glow: var(--b-glow-crt-red);
  --b-m-accent: var(--marker);  --b-m-shadow: var(--b-shadow-paper);
}

@media (prefers-reduced-motion: reduce) {
  :root { --b-dur-blink: 0ms; --b-dur-snap: 0ms; --b-dur-quick: 0ms; --b-dur-settle: 0ms; --b-dur-power-on: 0ms;
          --b-dur-power-off: 0ms; --b-dur-static: 0ms; --b-dur-scene: 0ms; --b-scan-roll: 0s; }
}

:root { --b-takeover-frame: 1s; --b-takeover-cap: 20s; }

@font-face { font-family: 'Bungee Fallback'; src: local('Arial Black'), local('ArialBlack'), local('Arial Bold'); size-adjust: 91.7%; ascent-override: 111.2%; descent-override: 32.7%; line-gap-override: 0%; }
@font-face { font-family: 'Atkinson Fallback'; src: local('Arial'), local('Helvetica Neue'), local('Helvetica'); font-weight: 400; size-adjust: 99.5%; ascent-override: 95.5%; descent-override: 29.1%; line-gap-override: 0%; }
@font-face { font-family: 'Atkinson Fallback'; src: local('Arial Bold'), local('Arial-BoldMT'), local('Helvetica Neue Bold'); font-weight: 700; size-adjust: 100.9%; ascent-override: 94.2%; descent-override: 28.7%; line-gap-override: 0%; }
@font-face { font-family: 'VT323 Fallback'; src: local('Courier New'), local('Courier'); size-adjust: 66.7%; ascent-override: 120%; descent-override: 30%; line-gap-override: 0%; }

:root {
  
  --b-f-display: 'Bungee', 'Bungee Fallback', 'Arial Black', sans-serif;
  --b-f-text: 'Atkinson Hyperlegible', 'Atkinson Fallback', system-ui, sans-serif;
  --b-f-crt: 'VT323', 'VT323 Fallback', 'Courier New', monospace;

  
  --b-focus-dark: var(--brass-hi);     
  --b-focus-paper: var(--ink);         
  --b-focus-w: 3px;  --b-focus-offset: 2px;

  
  --b-error: var(--marker);

  
  --b-target: 44px;

  
  --b-field-h: 48px;  --b-field-r: 24px;  --b-field-r-area: var(--r-3);
  --b-field-line: rgba(44, 22, 6, .6);  --b-field-line-w: 1.5px;  --b-field-line-error-w: 2.5px;
  --b-field-bg: var(--paper);  --b-field-bg-off: var(--paper-2);  --b-field-inset: inset 0 2px 3px rgba(0, 0, 0, .15);
  --b-check: 22px;

  
  --b-key-face: #2c2c35;  --b-key-edge: #3a3a44;  --b-key-ink: #fff;
  --b-key-lip: 5px;  --b-key-lip-down: 2px;  --b-key-drop: 3px;
  --b-key-off-face: var(--btn-off);  --b-key-off-edge: var(--btn-off-edge);  --b-key-off-ink: #8e8e96;

  
  --b-caption-plate: rgba(10, 8, 6, .86);   
  --b-attract-blink: 1.1s;                  
  --b-glass-label-min: 36px;                

  
  --b-og-w: 1200px;  --b-og-h: 630px;  --b-og-safe: 56px;
  --b-og-title: 72px;        
  --b-og-title-long: 60px;   
  --b-og-sub: 32px;          
  --b-og-crt: 44px;          
  --b-og-label: 24px;        
}

@keyframes b-blink { 0%, 55% { opacity: 1; } 56%, 100% { opacity: 0; } }

@media (prefers-reduced-motion: reduce) {
  :root { --b-attract-blink: 0s; }
  [data-blink] { animation: none !important; }
}
