/* Windows XP shell; mobile controls and original game presentation stay intact. */
:root{color:#15213a;background:#315781;color-scheme:light;--panel:#ece9d8;--surface:#f5f3e9;--line:#b8b5a7;--blue:#2869ae;--muted:#606b77;--gold:#dfb946}
body{background:radial-gradient(ellipse at 50% 15%,#7296bc 0,#416c96 48%,#254367 100%)}
.window{padding:3px;background:#1761cb;border:1px solid #0d3475;border-radius:9px 9px 3px 3px;box-shadow:0 25px 90px #00153177,0 0 0 1px #b2d2fe55}
.titlebar{height:38px;min-height:38px;gap:8px;padding:0 9px;color:white;background:linear-gradient(#4e9cff,#0960da 17%,#0651bd 65%,#174dad);text-shadow:1px 1px #173c70;border:0;border-radius:6px 6px 0 0}
.orb{width:18px;height:18px;box-shadow:0 1px 2px #0008}
h1{font-size:13px;letter-spacing:0}
h1 span{display:inline;font-size:inherit;font-weight:inherit;letter-spacing:0;color:inherit;margin:0}
.edition{font-size:8px;line-height:1.3;letter-spacing:.8px;color:#d4e7ff;white-space:nowrap}
.toolbar{background:var(--panel);padding:5px 8px;gap:6px;border-bottom:1px solid #b8b5a7}
.toolbar button{color:#1c2942;background:linear-gradient(#fffdf4,#e5e3d8);border:1px solid #a1a6ac;border-radius:4px;box-shadow:inset 0 1px #fff;min-height:40px;font-size:12px}
.toolbar button:hover{background:#f8f8ee;border-color:#547cb8}
.language-picker{margin-left:auto}.language-picker select{min-height:40px;border:1px solid #8d96a3;border-radius:3px;background:#fffdf4;color:#17243b;font:700 11px Arial,sans-serif;padding:0 4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#sound[aria-pressed=true]{color:#28643b}#sound[aria-pressed=false]{color:#7b4930}#menu span{color:#536678}
.arena{background:#080b12}
.controls{background:linear-gradient(#eae7d7,#d9d6c7);border-top:1px solid #fff}
.controls button{border:1px solid #8b969f;color:#153257;border-radius:5px;background:linear-gradient(#fffdf3,#e2e2d5);box-shadow:inset 0 1px #fff,0 3px 0 #89959f}
.controls button.held{background:#b3d2f5;color:#153257;border-color:#5a86ba;box-shadow:inset 0 2px 5px #112a4f33}
.controls #launch{background:linear-gradient(#fffdf3,#e2e2d5);color:#153257;border-color:#6485b0;box-shadow:inset 0 0 0 1px #fff,inset 0 0 0 3px #c5d7ee,0 3px 0 #89959f}
.controls #launch.held{background:#b3d2f5;box-shadow:inset 0 2px 5px #112a4f33}
#charge{background:#3a82c8}
.controls #new-game-touch,.controls #pause-touch{background:linear-gradient(#fffdf3,#e2e2d5);color:#153257;border-color:#8b969f;box-shadow:inset 0 1px #fff,0 2px 0 #89959f;border-radius:4px}
.controls #new-game-touch.held,.controls #pause-touch:active{background:#b3d2f5;border-color:#5a86ba}
/* Retain compact XP buttons while keeping the two safety actions readable. */
.controls #new-game-touch,.controls #pause-touch{font-size:10px;font-weight:bold}
footer{background:#ece9d8;color:#5b645f;border-top:1px solid #b0b0a5}
.status-light{background:#619c4d}
#start{border:1px solid #8ebfff;border-radius:6px;background:linear-gradient(#398dec,#17438f);color:white;box-shadow:0 7px 35px #000b}
#ready{color:#eee;background:#0008}
#paused{background:#051325b8}
#resume{background:linear-gradient(#fffdf3,#e2e2d5);color:#153257;border:1px solid #8b969f;border-radius:4px}
dialog{background:#ece9d8;color:#192944;border:3px solid #1761cb;border-radius:8px 8px 3px 3px;box-shadow:0 15px 70px #0008;padding:20px}
dialog::backdrop{background:#00112788;backdrop-filter:blur(3px)}
dialog header{background:linear-gradient(#4e9cff,#0960da 17%,#0651bd 65%,#174dad);color:white;margin:-20px -20px 20px;padding:8px 10px;align-items:center;min-height:48px;text-shadow:1px 1px #173c70}
dialog h2{font-size:18px;letter-spacing:0}dialog header h2{margin:0;font-size:16px}
dialog header button{color:white;background:linear-gradient(#efbaa7,#d25235 45%,#bb371e);border:1px solid white;border-radius:4px;box-shadow:inset 0 0 0 1px #ffffff55;min-width:40px;min-height:40px}
.eyebrow{color:#d6e8ff;font-size:8px;letter-spacing:1px;margin-bottom:2px}
dialog button,.menu-grid button{background:linear-gradient(#fffdf3,#e2e2d5);border:1px solid #8b969f;color:#153257;border-radius:4px;box-shadow:inset 0 1px #fff}
.menu-grid button span{color:#66717c}
.audio-panel{border-top:1px solid #b8b5a7}
.audio-panel p,.muted{color:#626c74}.audio-panel button{color:#153257}
.menu-footer{color:#687889}.menu-footer a{color:#315b8d}
.primary{background:linear-gradient(#367ece,#215aa5)!important;border-color:#376fab!important;color:white}
@media(orientation:portrait) and (max-width:700px){
  body{background:#1748a3}.window{border:0;border-radius:0;padding:2px}
  .titlebar{height:34px;min-height:34px;padding:0 7px;border-radius:0;gap:7px}
  h1{font-size:11px}.orb{width:17px;height:17px}.edition{font-size:7px;letter-spacing:.4px}
  .toolbar{padding:5px 8px;gap:7px}.toolbar button{min-height:44px}
  .controls #new-game-touch,.controls #pause-touch{font-size:11px;line-height:1.05;letter-spacing:-.15px}
}
@media(orientation:portrait) and (max-width:350px){
  .edition{font-size:6px;letter-spacing:0}.titlebar{gap:5px}h1{font-size:10px}
}
@media(orientation:landscape) and (max-height:550px){
  .window{border:0;border-radius:0;padding:2px}
  .titlebar{height:48px;min-height:48px;border-radius:0;padding:0 10px}
  h1{font-size:12px}.toolbar{padding:4px 8px}.toolbar button{font-size:11px;min-height:40px}
  .controls{display:contents}
}
#highscore-dialog{width:420px;overflow-y:auto}
#score-entry[hidden]{display:none}
#score-entry{display:grid;gap:9px;padding-bottom:18px;border-bottom:1px solid #b8b5a7}
#score-entry label{font-weight:bold;font-size:13px}
#score-name{display:block;width:100%;min-height:46px;padding:10px;border:1px solid #7f9db9;border-radius:2px;background:white;color:#142037;font:16px Tahoma,Verdana,sans-serif;box-shadow:inset 1px 1px 2px #0002;user-select:text;-webkit-user-select:text}
#score-name:focus{outline:2px solid #6fa4e7;outline-offset:1px}
.new-score{margin:0;color:#415473}.new-score strong{display:block;font-size:26px;color:#164a8a;font-variant-numeric:tabular-nums}
#save-score{min-height:46px;font-size:14px}
#name-error{color:#a02d20;font-size:12px;margin:0}
#score-status{font-size:12px;color:#315535;line-height:1.5}
.highscore-table{width:100%;border-collapse:collapse;background:#fffdf4;border:1px solid #b5b7af;font-size:12px}
.highscore-table th,.highscore-table td{padding:9px 7px;text-align:left;border-bottom:1px solid #d9d7c8}
.highscore-table th{color:#344c6c;background:#e2e6ea;font-size:11px}
.highscore-table td:nth-child(2){overflow-wrap:anywhere;max-width:170px}
.highscore-table td:last-child,.highscore-table th:last-child{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.score-storage-note{margin-bottom:0;font-size:10px}
@media(max-height:550px){#highscore-dialog{max-height:calc(100dvh - 16px);margin:8px auto}#highscore-dialog header{margin-bottom:12px}.new-score strong{font-size:21px}}
@media(orientation:portrait) and (max-width:700px) and (max-height:700px){
  /* Give the score and original table the saved vertical space before shrinking either. */
  .toolbar{padding:2px 7px 3px;gap:6px}.toolbar button{min-height:44px;padding:4px;font-size:11px}
  .controls{padding:5px 8px 3px;gap:7px}.flipper{min-height:74px}
  .controls #launch{min-height:40px;font-size:11px}.middle-controls{gap:6px}.quick-controls{gap:5px}
  .controls #new-game-touch,.controls #pause-touch{min-height:44px;padding:3px 2px;font-size:11px;line-height:1.05}
  footer{display:none}
}

#menu-dialog>.language-picker{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 0;font-size:13px}#menu-dialog>.language-picker select{min-height:44px;min-width:150px;font-size:13px;padding:4px 8px}
