*{margin:0;padding:0;box-sizing:border-box;cursor:auto}
button,a,.pause-toggle,[data-interactive]{cursor:pointer}
canvas{cursor:auto}
body{background:#000;display:flex;justify-content:center;align-items:center;height:100vh;overflow:hidden;touch-action:none;font-family:'Helvetica Neue',Arial,sans-serif;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
canvas{image-rendering:auto;display:block;margin:0 auto}
@font-face{font-family:'PressStart';src:url('https://fonts.gstatic.com/s/pressstart2p/v15/e3t4euO8T-267oIAQAu6jDQyK3nVivM.woff2') format('woff2')}
/* Orbitron loaded via <link> in head */
#splash{position:fixed;inset:0;z-index:10000;background:#000 url('title.jpg') center/cover no-repeat;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:14px;color:#fff;padding-bottom:calc(12vh + 30px);image-rendering:pixelated}
#splash::before{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,0) 0%,rgba(0,0,0,0) 40%,rgba(0,0,0,0.7) 75%,rgba(0,0,0,0.92) 100%)}
#splash>*{position:relative;z-index:1}
#splash h1{font-size:22px;letter-spacing:3px;color:#ffcc00;text-shadow:3px 3px 0 #884400,-1px -1px 0 #ffee88,0 0 15px rgba(255,200,0,0.5);font-family:'PressStart','Courier New',monospace;font-weight:900;text-transform:uppercase}
#splash h2{font-size:8px;color:rgba(255,255,200,0.9);font-family:'PressStart','Courier New',monospace;text-shadow:1px 1px 0 #000;letter-spacing:1px}
#splash .btn{font-family:'PressStart','Courier New',monospace;font-size:11px;padding:10px 18px;width:100%;min-height:44px;background:#222;color:#ffcc00;border:3px solid #ffcc00;cursor:pointer;letter-spacing:1px;font-weight:bold;text-transform:uppercase;box-shadow:4px 4px 0 #884400,inset 0 0 20px rgba(255,200,0,0.1);transition:all 0.1s}
#splash .btn:hover{background:#332200;color:#fff;border-color:#fff}
#splash-scores{display:none;position:absolute;bottom:3vh;left:50%;transform:translateX(-50%);width:280px;height:80px;overflow:hidden;z-index:0;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 25%,#000 75%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 25%,#000 75%,transparent 100%)}
#splash-scores-inner{position:relative;transition:none}
#splash-scores .ss-row{display:flex;justify-content:space-between;padding:4px 0;font-family:'PressStart','Courier New',monospace;font-size:10px;color:rgba(255,255,200,0.7);white-space:nowrap}
#splash-scores .ss-rank{width:26px;color:rgba(255,200,0,0.5)}
#splash-scores .ss-name{flex:1;padding-left:6px}
#splash-scores .ss-score{color:#88ccff;padding-left:10px;text-align:right}
#splash .btn:active{transform:translate(2px,2px);box-shadow:2px 2px 0 #884400}
#splash .toggles{display:flex;gap:20px}
#splash .toggle{display:flex;align-items:center;gap:8px;font-size:8px;color:rgba(255,255,200,0.9);cursor:pointer;user-select:none;font-family:'PressStart','Courier New',monospace;text-shadow:1px 1px 0 #000}
#splash .toggle input{width:16px;height:16px;accent-color:#ffcc00}
#tutorial{display:none;position:fixed;inset:0;z-index:10002;background:rgba(0,0,0,0.8);flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center;font-family:'PressStart','Courier New',monospace;color:#fff}
#tutorial.open{display:flex}
#tutorial h3{font-size:16px;color:#ffcc00;letter-spacing:2px}
#tutorial .tut-icon{margin:8px 0}
#tutorial .tut-step{text-align:left;max-width:280px}
#tutorial .tut-step .tut-text{font-size:11px;color:#ccc;line-height:2}
#tutorial .tut-btn{appearance:none;border:2px solid #ffcc00;background:rgba(0,0,0,0.3);color:#ffcc00;font-family:'PressStart','Courier New',monospace;font-size:10px;padding:12px 24px;border-radius:4px;cursor:pointer;letter-spacing:1px;margin-top:10px}
#tutorial .tut-btn:active{background:rgba(255,204,0,0.2)}
/* ===== MELEX DASHBOARD HUD ===== */
#hud{display:none;position:fixed;top:0;left:50%;transform:translateX(-50%);z-index:9999;width:100%;font-family:'Helvetica Neue',Arial,sans-serif;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;pointer-events:none}
#hud-dashboard{
  background:none;
  border:none;
  box-shadow:none;
  padding:4px 10px 10px;
  position:relative;
}
#hud-dashboard::before{ content:none; }
#hud::after{ content:none; }
#hud-bar{display:flex;align-items:center;justify-content:center;height:42px;gap:8px;padding:4px 12px;
  background:rgba(0,0,0,0.38);border-radius:24px;
  box-shadow:0 2px 12px rgba(0,0,0,0.5);
  pointer-events:all;
  width:fit-content;margin:0 auto 6px;}
.hud-label{font-family:Orbitron,'PressStart','Courier New',monospace;font-size:9px;color:#ddaa55;letter-spacing:0.5px;text-transform:uppercase;text-shadow:0 1px 3px rgba(0,0,0,0.9),0 0 6px rgba(0,0,0,0.8)}

/* Clock + counters stacked vertically */
#hud-clock-group{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;
  cursor:pointer;-webkit-tap-highlight-color:transparent;min-width:44px;min-height:44px;
}
#hud-clock-counters{
  display:flex;align-items:center;gap:0;pointer-events:none;
}
#hud-clock-group-row{
  display:flex;align-items:center;gap:2px;pointer-events:none;
}
.hud-clock-sep{
  font-family:Orbitron,monospace;font-size:13px;font-weight:700;
  color:#ffcc66;letter-spacing:0;
  text-shadow:0 1px 4px rgba(0,0,0,1),0 0 10px rgba(0,0,0,0.8);
  line-height:1;margin:0 1px;
}
#hud-clock-hh,#hud-clock-mm{
  font-family:Orbitron,monospace;font-size:14px;font-weight:700;
  color:#ffcc66;letter-spacing:1px;
  text-shadow:0 1px 4px rgba(0,0,0,1),0 0 10px rgba(0,0,0,0.8);
  line-height:1;text-align:right;min-width:22px;
}
#hud-clock-day{
  font-family:Orbitron,monospace;font-size:14px;font-weight:700;
  color:#ffcc66;letter-spacing:0;
  text-shadow:0 1px 4px rgba(0,0,0,1);
  line-height:1;text-align:center;min-width:18px;
  background:rgba(0,0,0,0.45);border:1px solid rgba(255,200,80,0.3);
  border-radius:3px;padding:1px 3px;margin-right:4px;
}
/* Dividers between instrument sections */
.hud-divider{width:1px;height:26px;background:linear-gradient(180deg,transparent,rgba(200,160,80,0.3),transparent);flex-shrink:0;margin:0 1px}
.hud-inst{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}
#hud-col-counts{flex-direction:column;gap:1px}
.hud-inst-row{display:flex;align-items:center;gap:3px;padding:1px 4px;min-height:16px;min-width:20px;cursor:pointer;box-sizing:border-box;line-height:1}
.hud-inst-row svg{display:block;flex-shrink:0}
/* #hud-clock-btn removed — clock is now inside cluster */
#hud-launches{font-family:Orbitron,monospace;font-size:11px;color:#ffcc66;letter-spacing:1px;text-shadow:0 1px 4px rgba(0,0,0,1),0 0 8px rgba(0,0,0,0.8);font-weight:700;line-height:1;vertical-align:middle}
#hud-landings{font-family:Orbitron,monospace;font-size:11px;color:#ffcc66;letter-spacing:1px;text-shadow:0 1px 4px rgba(0,0,0,1),0 0 8px rgba(0,0,0,0.8);font-weight:700;line-height:1;vertical-align:middle}
#hud-queue{display:flex;gap:4px}
#hud-queue .slot{width:12px;height:16px;border-radius:2px;background:rgba(0,0,0,0.45);border:1px solid rgba(255,255,255,0.15);transition:background 0.3s,box-shadow 0.3s}
#hud-queue .slot.g{background:#44dd44;box-shadow:0 0 4px #44dd44}
#hud-queue .slot.y{background:#ffaa44;box-shadow:0 0 4px #ffaa44}
#hud-queue .slot.r{background:#ff4444;box-shadow:0 0 4px #ff4444}
#hud-battery{display:flex;gap:4px}
#hud-battery .bar{width:12px;height:16px;border-radius:2px;background:rgba(0,0,0,0.45);border:1px solid rgba(255,255,255,0.15);transition:background 0.3s,box-shadow 0.3s}
#hud-battery .bar.g{background:#44dd44;box-shadow:0 0 4px #44dd44}
#hud-battery .bar.y{background:#ffaa44;box-shadow:0 0 4px #ffaa44}
#hud-battery .bar.r{background:#ff4444;box-shadow:0 0 4px #ff4444}
#hud-battery .bar.r.blink{animation:battBlink 0.5s infinite}
@keyframes battBlink{0%,100%{opacity:1}50%{opacity:0.2}}
#hud-ff-btn,#hud-menu-btn{appearance:none;border:1px solid rgba(200,160,80,0.3);background:rgba(0,0,0,0.45);color:#ddaa55;width:36px;height:36px;margin:0;cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none;line-height:1;display:flex;align-items:center;justify-content:center;outline:none;text-decoration:none;padding:0;border-radius:8px;flex-shrink:0;text-shadow:0 1px 3px rgba(0,0,0,0.9)}
#hud-ff-btn:active,#hud-menu-btn:active{background:rgba(255,204,0,0.15);color:#ffcc00}#hud-ff-btn:focus,#hud-menu-btn:focus{outline:none}
/* #hud-day removed — clock now uses #hud-clock-hh / #hud-clock-mm */
/* Steering wheel removed */
#briefing{display:none;position:fixed;inset:0;z-index:10003;background:rgba(0,0,0,0.92);flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px;text-align:center;font-family:'PressStart','Courier New',monospace;color:#fff}
#briefing.open{display:flex}
#briefing .brief-day{font-size:20px;color:#ffcc00;letter-spacing:3px;text-shadow:0 0 10px rgba(255,200,0,0.5)}
#briefing .brief-sub{font-size:9px;color:#aaa;line-height:2.2;max-width:300px}
#briefing .brief-stat{font-size:11px;color:#88ccff;margin:4px 0}
#briefing .brief-btn{appearance:none;border:2px solid #ffcc00;background:rgba(0,0,0,0.3);color:#ffcc00;font-family:'PressStart','Courier New',monospace;font-size:10px;padding:12px 24px;border-radius:4px;cursor:pointer;letter-spacing:1px;margin-top:14px}
#briefing .brief-btn:active{background:rgba(255,204,0,0.2)}
#score-entry{display:none;position:fixed;inset:0;z-index:10004;background:rgba(0,0,0,0.95);flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center;font-family:'PressStart','Courier New',monospace;color:#fff}
#score-entry.open{display:flex}
#score-entry .se-title{font-size:16px;color:#ffcc00;letter-spacing:2px}
#score-entry .se-score{font-size:20px;color:#ffcc00;margin-top:4px}
#score-entry .se-rank{font-size:12px;color:#6688cc;letter-spacing:2px;margin-top:8px}
#score-entry .se-rank{font-size:11px;color:#44ff44;margin:4px 0}
#score-entry input{font-family:'PressStart','Courier New',monospace;font-size:14px;text-align:center;padding:10px 16px;width:220px;background:#111;border:2px solid #ffcc00;color:#ffcc00;border-radius:4px;outline:none;text-transform:uppercase}
#score-entry input::placeholder{color:#665500;text-transform:none}
#score-entry .se-btn{appearance:none;border:2px solid #ffcc00;background:rgba(0,0,0,0.3);color:#ffcc00;font-family:'PressStart','Courier New',monospace;font-size:10px;padding:12px 24px;border-radius:4px;cursor:pointer;letter-spacing:1px}
#score-entry .se-btn:active{background:rgba(255,204,0,0.2)}
#score-entry .se-skip{appearance:none;border:2px solid #ffcc00;background:rgba(0,0,0,0.3);color:#ffcc00;font-family:'PressStart','Courier New',monospace;font-size:10px;padding:12px 24px;border-radius:4px;cursor:pointer;letter-spacing:1px;margin-top:12px}
#crash-screen{display:none;position:fixed;inset:0;z-index:10004;background:rgba(0,0,0,0.95);flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:24px;text-align:center;font-family:'PressStart','Courier New',monospace;color:#fff}
#crash-screen.open{display:flex}
.crash-title{font-size:22px;color:#ff2222;letter-spacing:3px;text-shadow:0 0 20px rgba(255,0,0,0.5),0 0 40px rgba(255,0,0,0.3);animation:crash-pulse 1.5s ease-in-out infinite}
@keyframes crash-pulse{0%,100%{opacity:1;text-shadow:0 0 20px rgba(255,0,0,0.5),0 0 40px rgba(255,0,0,0.3)}50%{opacity:0.8;text-shadow:0 0 30px rgba(255,0,0,0.8),0 0 60px rgba(255,0,0,0.5)}}
.crash-stats{display:flex;flex-direction:column;gap:10px;margin:16px 0}
.crash-stat{font-size:11px;color:#ffaa00;letter-spacing:2px}
.crash-buttons{display:flex;flex-direction:column;gap:12px;margin-top:12px}
.crash-btn{appearance:none;border:2px solid #ff4444;background:rgba(0,0,0,0.3);color:#ff4444;font-family:'PressStart','Courier New',monospace;font-size:10px;padding:14px 28px;border-radius:4px;cursor:pointer;letter-spacing:1px}
.crash-btn:active{background:rgba(255,68,68,0.2)}
.crash-btn-dim{border-color:#ff8844;color:#ff8844}
.crash-btn-dim:active{background:rgba(255,136,68,0.2)}
#highscores{margin-top:12px;width:280px;text-align:left}
#highscores .hs-row{display:flex;justify-content:space-between;padding:3px 0;font-size:9px;color:#aaa;border-bottom:1px solid #222}
#highscores .hs-row.me{color:#ffcc00}
#highscores .hs-rank{width:30px;color:#666}
#highscores .hs-name{flex:1}
#highscores .hs-score{width:60px;text-align:right}
/* ===== PAUSE MENU (harmonized with custom-settings) ===== */
#pause-menu{display:none;position:fixed;inset:0;z-index:10001;background:rgba(0,0,0,0.92);flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px;font-family:Orbitron,monospace;color:#fff}
#pause-menu.open{display:flex}
#pause-menu h2{font-family:Orbitron,'Courier New',monospace;font-size:14px;font-weight:700;color:#cc8833;letter-spacing:2px;text-shadow:0 0 6px rgba(200,130,50,0.4);margin-bottom:6px}
.pause-row{display:flex;align-items:center;justify-content:space-between;width:320px;max-width:95vw;padding:2px 0;border-bottom:none;font-family:Orbitron,monospace;font-size:10px;font-weight:700;color:#c4a87a;letter-spacing:0.5px;text-transform:uppercase}
.pause-toggle{position:relative;width:56px;height:32px;background:rgba(30,20,10,0.8);border:1px solid #5a4a30;border-radius:3px;cursor:pointer;transition:all 0.15s;-webkit-tap-highlight-color:transparent;font-family:Orbitron,monospace;font-size:8px;font-weight:700;color:#8a7a60;display:flex;align-items:center;justify-content:center;user-select:none;min-height:32px}
.pause-toggle[data-vol="0"]{background:rgba(30,20,10,0.8);border-color:#5a4a30;color:#8a7a60}
.pause-toggle[data-vol="25"]{background:rgba(30,50,80,0.5);border-color:#3366aa;color:#5588cc}
.pause-toggle[data-vol="50"]{background:rgba(30,50,80,0.5);border-color:#4477bb;color:#6699dd}
.pause-toggle[data-vol="75"]{background:rgba(30,50,80,0.7);border-color:#5588cc;color:#77aaee}
.pause-toggle[data-vol="100"]{background:rgba(30,50,80,0.8);border-color:#6699dd;color:#88bbff;box-shadow:0 0 8px rgba(100,150,220,0.3)}
.pause-btn{appearance:none;border:1px solid #cc8833;background:rgba(200,130,50,0.15);color:#cc8833;font-family:Orbitron,monospace;font-size:10px;font-weight:700;padding:8px 16px;border-radius:3px;cursor:pointer;letter-spacing:1px;margin-top:4px;display:inline-flex;align-items:center;gap:6px;min-height:36px;transition:all 0.15s;-webkit-tap-highlight-color:transparent;text-transform:uppercase;box-shadow:0 0 8px rgba(200,130,50,0.3)}
.pause-btn:active{transform:scale(0.95);background:rgba(200,130,50,0.3)}
.pause-music-row{display:flex;align-items:center;gap:12px}
.pause-music-btn{appearance:none;border:1px solid #4caf50;background:rgba(76,175,80,0.15);color:#4caf50;font-size:10px;width:44px;height:44px;border-radius:50%;cursor:pointer;-webkit-tap-highlight-color:transparent;font-family:Orbitron,monospace;font-weight:700;transition:all 0.15s}
.pause-music-btn:active{transform:scale(0.95);background:rgba(76,175,80,0.3)}
/* Play/pause main button — amber accent */
.pm-pause-main{border-color:#cc8833!important;background:rgba(200,130,50,0.15)!important;color:#dd9933!important;width:52px!important;height:52px!important;font-size:13px!important;text-shadow:0 0 8px rgba(200,130,50,0.5)}
.pm-pause-main:active{background:rgba(200,130,50,0.3)!important}
/* Radio toggle — green tint */
.pm-radio-toggle{width:80px!important;border-color:#4caf50!important;color:#4caf50!important;background:rgba(76,175,80,0.15)!important}
.pm-radio-toggle[data-level="off"]{border-color:#5a4a30!important;color:#8a7a60!important;background:rgba(30,20,10,0.8)!important;box-shadow:none!important}
.pm-radio-toggle[data-level="warnings"]{border-color:#3a8a3e!important;color:#55aa58!important;background:rgba(50,120,55,0.15)!important}
.pm-radio-toggle[data-level="normal"]{border-color:#4caf50!important;color:#66cc6a!important;background:rgba(76,175,80,0.15)!important;box-shadow:0 0 8px rgba(76,175,80,0.3)}
.pm-radio-toggle[data-level="chatter"]{border-color:#66cc6a!important;color:#88ee8c!important;background:rgba(76,175,80,0.2)!important;box-shadow:0 0 8px rgba(76,175,80,0.4)}
/* Dim action button (END GAME) */
.pm-btn-dim{border-color:#5a4a30!important;color:#8a7a60!important;background:rgba(30,20,10,0.8)!important;box-shadow:none!important}
.pm-btn-dim:active{background:rgba(60,40,20,0.8)!important}
#startlist-overlay{display:none;position:fixed;inset:0;z-index:10001;background:rgba(0,0,0,0.85);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);flex-direction:column;align-items:center;justify-content:flex-start;padding-top:40px;font-family:'PressStart','Courier New',monospace}
#startlist-overlay.open{display:flex}
#startlist-overlay h2{font-family:Orbitron,monospace;color:#cc8833;font-size:18px;letter-spacing:2px;text-shadow:0 0 6px rgba(200,130,50,0.4);font-weight:700;margin:0 0 16px}
#startlist-close{position:absolute;top:12px;right:16px;background:none;border:2px solid #ffcc00;color:#ffcc00;font-family:'PressStart','Courier New',monospace;font-size:18px;width:44px;height:44px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center}
#startlist-close:active{background:rgba(255,204,0,0.2)}
#startlist-body{width:95%;max-width:420px;max-height:calc(100vh - 120px);overflow-y:auto;-webkit-overflow-scrolling:touch}
#startlist-body table{width:100%;border-collapse:collapse;font-family:Orbitron,monospace;font-size:14px;color:#ccc}
#startlist-body th{color:#ffcc00;font-family:'PressStart','Courier New',monospace;font-size:10px;text-align:left;padding:8px 4px;border-bottom:1px solid rgba(255,204,0,0.3);white-space:nowrap}
#startlist-body td{padding:8px 4px;border-bottom:1px solid rgba(255,255,255,0.06);white-space:nowrap}
#startlist-body tr:nth-child(even) td{background:rgba(255,255,255,0.03)}
#startlist-body .sl-airborne{color:#44ff88;text-shadow:0 0 4px rgba(68,255,136,0.4)}
#startlist-empty{color:#777;font-size:13px;text-align:center;padding:30px 0}

/* Radio origin indicator container */
#radio-indicator{
  position:fixed;z-index:9999;left:50%;transform:translateX(-50%);
  display:flex;justify-content:center;gap:6px;
  pointer-events:none;
  transition:opacity 0.3s ease;
}
#radio-indicator:empty{opacity:0}
#radio-indicator .radio-badge{
  font-family:Orbitron,monospace;font-size:10px;font-weight:700;
  color:#cc8833;letter-spacing:2px;
  text-shadow:0 0 6px rgba(200,130,50,0.4);
  background:radial-gradient(ellipse at center,#1a1410,#0d0a08);
  border:1.5px solid #6a5540;border-radius:7px;
  padding:3px 10px;
  box-shadow:inset 0 1px 4px rgba(0,0,0,0.9),0 1px 0 rgba(255,220,160,0.08);
  white-space:nowrap;
  opacity:1;transition:opacity 0.3s ease;
}

/* Small phone: condense HUD uniformly */
@media (max-width: 400px) {
  #hud-dashboard{padding:4px 6px 5px;border-radius:9px 9px 0 0}
  #hud-bar{height:38px;gap:4px;padding:3px 8px}
  .hud-divider{height:20px;margin:0}
  .hud-label{font-size:8px;letter-spacing:0.5px}
  #hud-launches,#hud-landings{font-size:7px}
  #hud-clock-day,#hud-clock-hh,#hud-clock-mm{font-size:11px}
  .hud-clock-sep{font-size:11px}
  #hud-queue .slot{width:9px;height:12px}
  #hud-battery .bar{width:9px;height:12px}
  #hud-ff-btn,#hud-menu-btn{width:34px;height:34px;border-radius:6px}
  #hud-ff-btn svg,#hud-menu-btn svg{width:18px;height:18px}
}
@media (max-width: 360px) {
  #hud-dashboard{padding:3px 4px 4px;border-radius:7px 7px 0 0}
  #hud-bar{height:34px;gap:2px;padding:2px 4px}
  .hud-divider{height:16px}
  .hud-label{font-size:7px}
  #hud-launches,#hud-landings{font-size:6px}
  #hud-clock-day,#hud-clock-hh,#hud-clock-mm{font-size:9px}
  .hud-clock-sep{font-size:9px}
  #hud-queue .slot{width:8px;height:10px}
  #hud-battery .bar{width:8px;height:10px}
  #hud-ff-btn,#hud-menu-btn{width:30px;height:30px}
  #hud-ff-btn svg,#hud-menu-btn svg{width:16px;height:16px}
}
/* === CUSTOM MODE SETTINGS OVERLAY === */
#custom-settings{display:none;position:fixed;inset:0;z-index:10005;background:rgba(0,0,0,0.92);flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px;font-family:Orbitron,monospace;color:#fff}
#custom-settings.open{display:flex}
#custom-settings h2{font-family:Orbitron,'Courier New',monospace;font-size:14px;font-weight:700;color:#cc8833;letter-spacing:2px;text-shadow:0 0 6px rgba(200,130,50,0.4);margin-bottom:6px}
#cs-scroll{overflow-y:auto;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 140px);width:100%;display:flex;flex-direction:column;align-items:center;padding-right:2px}
.cs-row{display:flex;align-items:center;justify-content:space-between;width:320px;max-width:95vw;padding:2px 0;border-bottom:none}
.cs-label{font-family:Orbitron,monospace;font-size:10px;font-weight:700;color:#c4a87a;letter-spacing:0.5px;text-transform:uppercase;min-width:80px}
.cs-options{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.cs-opt{appearance:none;border:1px solid #5a4a30;background:rgba(30,20,10,0.8);color:#8a7a60;font-family:Orbitron,monospace;font-size:8px;font-weight:700;padding:4px 6px;border-radius:3px;cursor:pointer;letter-spacing:0.5px;min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center;transition:all 0.15s;-webkit-tap-highlight-color:transparent}
.cs-opt.active{border-color:#ffcc00;background:rgba(255,200,0,0.15);color:#ffcc00;box-shadow:0 0 8px rgba(255,200,0,0.3)}
.cs-opt:active{transform:scale(0.95)}
.cs-group-label{font-family:Orbitron,monospace;font-size:8px;color:#665533;letter-spacing:2px;text-transform:uppercase;width:320px;max-width:95vw;margin-top:14px;padding-bottom:2px;border-bottom:1px solid rgba(255,200,100,0.15)}
#cs-start,#cs-back{appearance:none;border:1px solid #5a4a30;background:rgba(30,20,10,0.8);color:#8a7a60;font-family:Orbitron,monospace;font-size:10px;font-weight:700;padding:8px 24px;border-radius:3px;cursor:pointer;letter-spacing:1px;text-transform:uppercase;transition:all 0.15s;margin-top:6px;min-height:36px;min-width:120px;-webkit-tap-highlight-color:transparent}
#cs-start{border-color:#ffcc00;background:rgba(255,200,0,0.15);color:#ffcc00;box-shadow:0 0 8px rgba(255,200,0,0.3)}
#cs-start:active,#cs-back:active{transform:scale(0.95)}
/* Help button */
#cs-help-btn{appearance:none;width:22px;height:22px;border-radius:50%;border:1px solid #8a7050;background:rgba(255,200,100,0.1);color:#cc8833;font-family:Orbitron,monospace;font-size:11px;font-weight:700;cursor:pointer;line-height:1;padding:0;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;flex-shrink:0}
#cs-help-btn:active{transform:scale(0.9)}
/* Settings help overlay */
#settings-help{display:none;position:fixed;inset:0;z-index:10010;background:rgba(0,0,0,0.97);flex-direction:column}
#settings-help.open{display:flex}
#settings-help-inner{display:flex;flex-direction:column;width:100%;height:100%;max-width:480px;margin:0 auto}
#settings-help-header{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;border-bottom:1px solid #4a3a20;flex-shrink:0}
#settings-help-header span{font-family:Orbitron,monospace;font-size:12px;font-weight:700;color:#cc8833;letter-spacing:2px}
#settings-help-close{appearance:none;background:none;border:1px solid #5a4a30;color:#c4a87a;font-size:16px;width:32px;height:32px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}
#settings-help-body{overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1;padding:12px 16px 32px}
.sh-section{font-family:Orbitron,monospace;font-size:9px;font-weight:700;color:#8a7050;letter-spacing:2px;text-transform:uppercase;margin:18px 0 8px;padding-bottom:4px;border-bottom:1px solid #2a2010}
.sh-section:first-child{margin-top:4px}
.sh-row{display:flex;gap:10px;padding:7px 0;border-bottom:1px solid #1a1508}
.sh-name{font-family:Orbitron,monospace;font-size:10px;font-weight:700;color:#c4a87a;min-width:80px;flex-shrink:0;padding-top:1px}
.sh-desc{font-size:12px;color:#9a8a6a;line-height:1.5}
.sh-desc b{color:#e8c87a}

/* ══════════════════════════════════════════════════════
   WIDESCREEN / TV SCALE
   Modest size increase — readable from couch distance.
   ══════════════════════════════════════════════════════ */

/* Connect-controller screen */
#connect-screen {
  display:flex; position:fixed; inset:0; z-index:50000;
  flex-direction:column; align-items:center; justify-content:center;
  background:#0a0806;
  font-family:'PressStart','Courier New',monospace;
  gap:24px;
}
#connect-screen .cs-title {
  font-size:32px; color:#ffcc00; letter-spacing:5px;
  text-shadow:3px 3px 0 #884400,-1px -1px 0 #ffee88,0 0 20px rgba(255,200,0,0.4);
}
#connect-screen .cs-sub {
  font-size:11px; color:#c4a87a; letter-spacing:3px; text-transform:uppercase;
}
#connect-screen .cs-icon { font-size:52px; opacity:0.7; }
#connect-screen .cs-confirm {
  font-size:13px; color:#44cc66; letter-spacing:2px;
  opacity:0; transition:opacity 0.3s;
}
#connect-screen.confirmed .cs-confirm { opacity:1; }

/* Gamepad focus ring */
.gp-focus {
  outline: 3px solid #ffcc00 !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 16px rgba(255,204,0,0.5) !important;
}

/* Splash — clean TV sizing */
#splash h1 { font-size:28px !important; letter-spacing:5px !important; }
#mode-options { gap:14px !important; }
#mode-options .cs-opt { font-size:13px !important; padding:14px 28px !important; min-height:54px !important; min-width:80px !important; }
#splash .toggle { font-size:13px !important; }
#splash .toggle input { width:18px !important; height:18px !important; }

/* ── Shared panel chrome (sim-customize, custom-settings) ── */
#sim-customize, #custom-settings {
  display:none; position:fixed; inset:0; z-index:10006;
  background:rgba(4,3,2,0.97);
  flex-direction:column;
  font-family:Orbitron,monospace; color:#fff;
}
#sim-customize.open, #custom-settings.open { display:flex }
.ws-header {
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 32px 14px;
  border-bottom:1px solid #2a2015;
  flex-shrink:0;
}
.ws-title   { font-size:15px; letter-spacing:4px; color:#ffcc00; }
.ws-actions { display:flex; gap:12px; align-items:center; }
.ws-btn     { font-family:Orbitron,monospace; font-size:11px; font-weight:700; padding:8px 16px;
              min-height:36px; letter-spacing:1px; cursor:pointer; border-radius:3px;
              display:inline-flex; align-items:center; gap:8px; transition:all 0.12s; }
.ws-btn-a   { border:2px solid #228833; background:rgba(34,136,51,0.18); color:#44cc66; }
.ws-btn-b   { border:2px solid #7a1a1a; background:rgba(120,20,20,0.15); color:#cc6666; }
.ws-btn:hover,.ws-btn:focus { outline:none; }
.gpbtn      { display:inline-flex; align-items:center; justify-content:center;
              width:17px; height:17px; border-radius:50%;
              font-size:9px; font-weight:900; font-family:Arial,sans-serif; flex-shrink:0; }
.gpbtn-a    { background:#228833; color:#fff; }
.gpbtn-b    { background:#aa1111; color:#fff; }

/* Shared body */
.ws-body    { flex:1; overflow:hidden; display:flex; }

/* Customize prompt body */
.ws-body-center {
  align-items:center; justify-content:center;
  flex-direction:column; gap:24px;
}
.ws-prompt-text   { font-size:14px; color:#c4a87a; letter-spacing:2px; }
.ws-prompt-choices { display:flex; gap:16px; margin-top:8px; }
.ws-choice  { font-family:Orbitron,monospace; font-size:13px; font-weight:700;
              padding:12px 28px; min-height:46px; letter-spacing:2px;
              border:2px solid #5a4a30; background:rgba(30,20,10,0.6); color:#c4a87a;
              cursor:pointer; border-radius:3px; transition:all 0.12s; }

/* Settings two-panel body */
.ws-body-split { flex-direction:row; }
#cs-list-panel  {
  width:260px; flex-shrink:0; overflow-y:auto;
  border-right:1px solid #2a2015;
  padding:12px 0;
}
#cs-opts-panel  {
  flex:1; display:flex; align-items:center; justify-content:center;
  padding:24px 40px; flex-wrap:wrap; gap:12px; align-content:center;
}
.csl-group  { font-size:9px; color:#7a6a4a; letter-spacing:2px; padding:10px 20px 4px; }
.csl-row    { display:flex; align-items:center; justify-content:space-between;
              padding:9px 20px; cursor:default; transition:background 0.1s; }
.csl-row.focused { background:rgba(255,204,0,0.12); }
.csl-name   { font-size:11px; color:#c4a87a; letter-spacing:0.5px; }
.csl-row.focused .csl-name { color:#ffcc00; }
.csl-val    { font-size:11px; color:#7a6a4a; letter-spacing:1px; }
.csl-row.focused .csl-val  { color:#ffcc00; }
.cso-btn    { font-family:Orbitron,monospace; font-size:12px; font-weight:700;
              padding:10px 20px; min-height:44px; min-width:72px;
              border:2px solid #3a2e1e; background:rgba(20,15,8,0.8); color:#7a6a4a;
              cursor:pointer; border-radius:3px; letter-spacing:1px; transition:all 0.12s; }
.cso-btn.active { border-color:#ffcc00; background:rgba(255,204,0,0.15); color:#ffcc00; }

/* other settings elements (only hide inside cs-data store) */
#cs-data .cs-group-label { display:none; }
#cs-data .cs-row         { display:none; }

/* Briefing */
.brief-day  { font-size:24px !important; }
.brief-stat { font-size:14px !important; }
.brief-sub  { font-size:12px !important; }
.brief-btn  { font-size:14px !important; padding:12px 32px !important; min-height:52px !important; }

/* Crash / game-over */
.crash-title { font-size:22px !important; }
.crash-stat  { font-size:13px !important; }
.crash-btn   { font-size:13px !important; padding:12px 24px !important; min-height:52px !important; }
.se-title    { font-size:22px !important; }
.se-score    { font-size:14px !important; }
.se-btn      { font-size:13px !important; padding:12px 24px !important; min-height:52px !important; }

/* Pause */
.pause-row        { font-size:13px !important; width:400px !important; max-width:90vw !important; }
.pause-toggle     { font-size:11px !important; width:72px !important; height:38px !important; min-height:38px !important; }
.pause-btn        { font-size:13px !important; padding:10px 20px !important; min-height:48px !important; }
.pause-music-btn  { width:52px !important; height:52px !important; font-size:15px !important; }
.pm-pause-main    { width:62px !important; height:62px !important; font-size:17px !important; }
#pm-track-title   { font-size:12px !important; }
