:root{color-scheme:dark;--lamp:#c3b4ff}*{box-sizing:border-box}body{margin:0;background:#0b0b10;color:#d1ced9;font:12px Consolas,'Courier New',monospace}header{display:flex;align-items:center;gap:10px;padding:9px 16px;background:linear-gradient(90deg,#26334d,#101726);border-bottom:2px solid #727581;font-size:12px;letter-spacing:1px}.app-icon{font-size:20px;color:#e3c678}.version{margin-left:12px;font-size:9px;color:#9ca6b6}.window-tools{margin-left:auto;color:#9a9fae}.menubar{display:flex;gap:23px;padding:8px 18px;color:#a6a5ae;background:#25252c;border-bottom:1px solid #44434a;font-size:10px}.menubar b{font-weight:normal;margin-left:auto;color:#777581;font-size:8px}main{display:grid;grid-template-columns:minmax(300px,520px) 260px;gap:23px;max-width:880px;margin:16px auto 10px;padding:0 18px;align-items:stretch}.machine{background:linear-gradient(100deg,#77737b,#23232e 3%,#0a0b12 8%,#0a0b12 92%,#66616e 98%,#908992);border:2px solid #595862;padding:5px 7px;box-shadow:0 10px 40px #000}.machine-top,.machine-bottom{display:flex;justify-content:space-between;align-items:center;font-size:7px;letter-spacing:1px;color:#9995a1;height:21px}.live{font-size:6px;color:#9baf99}i{display:inline-block;width:4px;height:4px;border-radius:50%;background:#b8ec9a;box-shadow:0 0 5px #d7ff95;margin-right:5px}.playfield{position:relative;overflow:hidden;background:#020207}canvas{display:block;width:100%;height:auto;touch-action:none;image-rendering:auto}aside{display:flex;flex-direction:column;gap:10px;padding:5px 0}.backglass{height:230px;position:relative;overflow:hidden;text-align:center;background:radial-gradient(ellipse at 60% 70%,#37305a,transparent 50%),#080914;border:5px ridge #8f8991;box-shadow:inset 0 0 20px #000}.backglass-stars{position:absolute;inset:0;background-image:radial-gradient(#e2c7a8 1px,transparent 1px),radial-gradient(#8a9ba9 1px,transparent 1px);background-size:33px 39px,57px 61px;background-position:7px 13px,21px 18px;opacity:.5}.backglass small{position:relative;display:block;letter-spacing:2px;font-size:7px;color:#b5a0a9;margin-top:15px}h1{position:relative;z-index:2;font:bold italic 31px/.97 'Arial Black',Impact,sans-serif;letter-spacing:-1px;color:#bda4e6;text-shadow:2px 3px #41325b,0 0 15px #8b5abd55;margin:13px 0;transform:rotate(-5deg)}h1 em{font-size:38px;color:#e0b86f;font-style:italic}.planet{position:absolute;width:67px;height:67px;left:48px;top:129px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#9cafae,#526f7c 35%,#1b253c 70%);box-shadow:3px 4px 10px #000}.orbit{position:absolute;width:133px;height:39px;border:3px solid #9b7f6688;border-left-color:#d5baa1;border-bottom-color:#d5baa1;left:15px;top:145px;border-radius:50%;transform:rotate(-23deg)}.probe{position:absolute;right:38px;top:132px;color:#f0d19d;font-size:45px;text-shadow:0 0 15px #b78155;transform:rotate(20deg)}.backglass p{position:absolute;bottom:10px;right:13px;color:#b6a2cb;font-size:7px;letter-spacing:1px}.backglass>span{position:absolute;bottom:4px;left:11px;font-size:6px;color:#5d627a}.scoreboard,.message-panel,.record-panel{border:4px ridge #918991;background:#050508;padding:9px 10px;box-shadow:inset 0 0 14px #000}.scoreboard{display:grid;grid-template-columns:46px 1fr;gap:8px}.scoreboard small,.message-panel small,.record-panel small{display:block;font-size:8px;color:#827395;letter-spacing:2px;margin-bottom:7px}.scoreboard output{font-size:25px;color:#c7bbff;font-weight:bold;letter-spacing:1px;text-shadow:0 0 6px #8e75e0}.scoreboard output span{font-size:10px;color:#695e84}.score-readout{border-left:1px solid #55465e;padding-left:9px}.multiplier{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid #3a303f;padding-top:5px;align-items:center}.multiplier small{margin:0;font-size:7px}.multiplier output{font-size:12px;color:#dfba77}.message-panel{min-height:105px}#status{font-size:17px;line-height:1.35;letter-spacing:1px;color:#bcaff6;text-shadow:0 0 6px #9573ff99}.terminal-line{font-size:8px;color:#66597c;margin-top:13px;display:flex;justify-content:space-between}.terminal-line span{color:#bd9c58}.record-panel{min-height:90px}.record-panel b{display:block;color:#b5a6eb;font-size:21px;letter-spacing:2px}.record-panel>span{display:block;font-size:6px;letter-spacing:1px;color:#655d79;margin-top:10px}.controls{padding:0 7px;color:#928b9e;font-size:9px}.controls p{display:flex;gap:6px;align-items:center;margin:9px 0}.controls p span{margin-left:auto;font:9px Arial,sans-serif}kbd,button{font:10px Consolas,monospace;background:linear-gradient(#62606a,#35323e);border:1px solid #8a838f;border-bottom:3px solid #24212c;color:#e1dbe9;padding:4px 7px;box-shadow:inset 1px 1px #a4a0a366}button{cursor:pointer}.buttons{display:flex;gap:7px;margin-top:13px}.buttons button{flex:1;font-size:8px;padding:8px 3px}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;background:#07051099}.overlay.hidden{display:none}.overlay-badge{font-size:8px;letter-spacing:2px;color:#b9a0b9}.overlay h2{font:italic bold 33px/1.1 'Arial Black',sans-serif;letter-spacing:1px;color:#dfcaf1;text-shadow:2px 3px #3d274f;margin:18px 0}.overlay p{font:11px Arial,sans-serif;color:#c8b9cf}.overlay button{margin-top:15px;font-size:12px;letter-spacing:2px;padding:12px 17px;color:#eed3a0}.overlay button span{margin-left:10px}.overlay small{font:9px Arial,sans-serif;color:#a69baa;margin-top:15px}#toast{position:absolute;bottom:23%;width:100%;text-align:center;pointer-events:none;font-weight:bold;font-size:11px;letter-spacing:1px;color:#ffe9a1;text-shadow:1px 2px #000,0 0 7px #ff9d4066;opacity:0}#toast.show{opacity:1}.touch-controls{display:none}footer{max-width:840px;margin:0 auto;padding:8px 12px 12px;color:#5a5365;font-size:7px;letter-spacing:1px;display:flex;justify-content:space-between}button:hover{filter:brightness(1.2)}button:focus-visible{outline:2px solid #efd198;outline-offset:3px}main{grid-template-columns:clamp(300px,calc((100dvh - 145px)*.6585),520px) 260px}button,a{-webkit-tap-highlight-color:transparent}@media(max-width:700px){header{font-size:10px;padding:6px 10px}.version,.window-tools,.menubar b{display:none}.menubar{font-size:8px;padding:5px 12px}main{grid-template-columns:minmax(0,1fr) 145px;gap:7px;padding:0 6px;margin:8px auto;max-width:540px}.machine{padding:3px;border-width:1px}.machine-top,.machine-bottom{font-size:5px;letter-spacing:0;height:15px}.live{display:none}aside{gap:6px;padding:0}.backglass{height:145px;border-width:3px}.backglass small{font-size:5px;letter-spacing:.5px;margin-top:8px}h1{font-size:21px;margin-top:8px}h1 em{font-size:24px}.planet{width:42px;height:42px;left:20px;top:85px}.orbit{width:80px;height:24px;left:2px;top:96px;border-width:2px}.probe{top:85px;right:19px;font-size:28px}.backglass p{font-size:5px;bottom:5px;right:5px}.backglass>span{display:none}.scoreboard,.message-panel,.record-panel{border-width:3px;padding:6px}.scoreboard{grid-template-columns:25px 1fr;gap:4px}.scoreboard small,.message-panel small,.record-panel small{font-size:5px;letter-spacing:.7px;margin-bottom:5px}.scoreboard output{font-size:13px;letter-spacing:0}.scoreboard output span{font-size:6px}.score-readout{padding-left:4px}.multiplier output{font-size:9px}.multiplier small{font-size:5px}#status{font-size:11px;letter-spacing:0}.message-panel{min-height:76px}.terminal-line{font-size:6px;margin-top:10px}.record-panel{min-height:62px}.record-panel b{font-size:15px}.record-panel>span{font-size:4px;letter-spacing:.3px}.controls{padding:0 2px}.controls p{display:none}.buttons{flex-direction:column;margin-top:0;gap:5px}.buttons button{font-size:7px;padding:6px}.overlay h2{font-size:clamp(15px,4.3vw,27px)}.overlay-badge{font-size:5px;letter-spacing:.5px}.overlay p{font-size:8px}.overlay button{font-size:8px;padding:8px;letter-spacing:1px}.overlay small{font-size:7px}.touch-controls{position:sticky;bottom:0;display:flex;gap:7px;padding:7px max(8px,env(safe-area-inset-left)) max(8px,env(safe-area-inset-bottom));background:#0b0b10ed;max-width:540px;margin:auto;touch-action:none}.touch-controls button{flex:1;height:49px;touch-action:none;user-select:none}.touch-controls button.active{background:#867554}#launch{flex:.7;color:#f6cf88}#toast{font-size:7px;letter-spacing:0}footer{font-size:5px}footer span{display:none}}@media(max-width:370px){main{grid-template-columns:minmax(0,1fr) 125px}.scoreboard output{font-size:11px}}
.scoreboard output,.record-panel b,#status{background:radial-gradient(circle,#cbb7ff 1px,transparent 1.4px) 0 0/3px 3px;background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 0 2px #8266bf)}@media(max-width:700px){main{max-width:min(540px,calc((100dvh - 155px)*.6585 + 160px))}}@media(min-width:701px) and (max-height:800px){aside{gap:7px}.backglass{height:180px}.backglass .planet{top:100px}.backglass .orbit{top:116px}.backglass .probe{top:105px}.message-panel{min-height:80px}.record-panel{min-height:75px}.controls p{margin:6px 0}.buttons{margin-top:8px}}
.scoreboard output,.record-panel b,#status{background:none;color:#c7b7ff;filter:none;text-shadow:0 0 4px #9870ed88}.scoreboard,.message-panel,.record-panel{position:relative}.scoreboard:after,.message-panel:after,.record-panel:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(transparent 0 2px,#05050833 2px 3px);opacity:.7}
.route-hint{font:9px/1.7 Arial,sans-serif;color:#b7a2c9;border-bottom:1px solid #42384c;padding:5px 0 8px;margin-bottom:7px}@media(max-width:700px){.route-hint{font-size:7px;padding:3px 0 5px;margin-bottom:5px}}
@media(max-width:700px) and (max-height:700px){.backglass{height:112px}.backglass small{margin-top:5px}.backglass h1{font-size:18px;margin:6px 0}.backglass h1 em{font-size:22px}.backglass .planet{top:65px;width:33px;height:33px}.backglass .orbit{top:75px;height:20px;width:74px}.backglass .probe{top:62px;font-size:24px}.backglass p{font-size:4px;bottom:3px}.message-panel{min-height:58px}.record-panel{min-height:50px}.terminal-line{margin-top:7px}.record-panel>span{margin-top:6px}.route-hint{font-size:6px;line-height:1.5;padding:2px 0 4px;margin-bottom:4px}.buttons button{padding:5px 2px;font-size:6px}}
.power-control{margin:6px 0 10px}.power-control label{display:flex;justify-content:space-between;font-size:8px;color:#ac9bb7;letter-spacing:1px}.power-control b{color:#f0cc79}#power{width:100%;height:13px;margin-top:5px;accent-color:#e2b354}#power::-webkit-meter-bar{background:#16121e;border:1px solid #6c596f;border-radius:0}#power::-webkit-meter-optimum-value{background:linear-gradient(90deg,#6ca392,#efc66c,#db7b62)}@media(max-width:700px){.power-control{margin:3px 0 5px}.power-control label{font-size:6px}#power{height:10px;margin-top:2px}#launch{font-size:9px}}

/* Touch play: no footer or selectable text below/around the controls. */
@media(max-width:700px),(hover:none) and (pointer:coarse){body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}footer{display:none}.touch-controls,.touch-controls *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.touch-controls{margin-bottom:0}}
[hidden]{display:none!important}.overlay .secondary-action{display:block;margin:12px 0 0;padding:9px 15px;font:11px Consolas,monospace;letter-spacing:1px;color:#e1c896;text-decoration:none;background:linear-gradient(#48414f,#292432);border:1px solid #938098;box-shadow:inset 1px 1px #c2b0ba44}.overlay .secondary-action:hover{filter:brightness(1.2)}#help-dialog{width:min(520px,calc(100vw - 28px));max-height:calc(100dvh - 32px);padding:20px;border:3px ridge #9d8ba1;background:#171321;color:#d5cadc;box-shadow:0 15px 65px #000c;overflow:auto;overscroll-behavior:contain}#help-dialog::backdrop{background:#03020bd9}.help-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #61516e;padding-bottom:10px}.help-heading h2{font:700 21px Arial,sans-serif;margin:0;color:#e3c9e9}.help-heading button{min-width:40px;min-height:40px}.help-content{font:13px/1.85 Arial,sans-serif}.help-content h3{color:#e8cc8e;font-size:14px;margin:20px 0 8px}.help-content dl{display:grid;grid-template-columns:minmax(100px,1fr) 1.5fr;gap:10px 12px}.help-content dt{color:#d6b9ed}.help-content dd{margin:0}.help-content ul{padding-left:20px}.help-note{font-size:11px;color:#a99ab8;border-top:1px solid #493e58;padding-top:12px}#help-done{display:block;min-height:42px;width:100%;margin-top:15px}a:focus-visible{outline:2px solid #efd198;outline-offset:3px}@media(max-width:700px){.overlay .secondary-action{font-size:9px;min-height:36px;padding:9px 10px;margin-top:9px}#help-dialog{padding:16px}.help-content{font-size:13px}.help-content dl{grid-template-columns:1fr 1.25fr}.overlay small{max-width:90%}}
.abelha-link{margin-left:auto;flex-shrink:0;text-decoration:none;color:#f3cc78;border:1px solid #77647e;background:linear-gradient(#453d50,#252031);padding:8px 12px;font-weight:bold;letter-spacing:1px;font-size:10px}.abelha-link:hover{filter:brightness(1.2)}#exit-dialog{width:min(420px,calc(100vw - 28px));padding:25px;border:3px ridge #9d8ba1;background:#171321;color:#dacfe0;box-shadow:0 15px 65px #000c}#exit-dialog::backdrop{background:#03020bda}#exit-dialog h2{font:bold 21px Arial,sans-serif;color:#eed6f0;margin:0 0 17px}#exit-dialog p{font:13px/1.9 Arial,sans-serif}.exit-actions{display:flex;gap:12px;margin-top:24px}.exit-actions button{flex:1;min-height:46px;padding:10px 5px}#exit-leave{background:linear-gradient(#6d404c,#412731)}@media(max-width:700px){header{gap:6px}.abelha-link{font-size:8px;letter-spacing:.5px;padding:8px 7px}#exit-dialog{padding:19px}#exit-dialog h2{font-size:19px}.exit-actions button{font-size:11px}}
/* Viewport-sized mobile table and compact score strip. */
@media(max-width:700px),(hover:none) and (pointer:coarse){
body{height:100dvh;overflow:hidden;display:flex;flex-direction:column;touch-action:none;overscroll-behavior:none}header{flex-shrink:0;padding-top:max(6px,env(safe-area-inset-top));font-size:10px;gap:5px}.version{display:none}
main{flex:1;min-height:0;width:100%;max-width:none;margin:0;padding:0 4px;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:30px minmax(0,1fr) 34px;gap:0}aside{display:contents}.backglass,.message-panel,.record-panel,.route-hint,.controls>p,.multiplier{display:none}
.scoreboard{grid-row:1;display:flex;align-items:center;justify-content:center;gap:25px;padding:0;border:0;background:none;box-shadow:none}.scoreboard:after{display:none}.ball-readout,.score-readout{display:flex;align-items:center;gap:7px;border:0;padding:0}.scoreboard small{margin:0;font-size:9px;letter-spacing:1px}.scoreboard output{font-size:17px;letter-spacing:1px}.scoreboard output span{font-size:10px}
.machine{grid-row:2;min-height:0;height:100%;width:min(100%,calc((100dvh - 160px)*540/820));justify-self:center;padding:0;border:0;box-shadow:none;background:#020207}.machine-top,.machine-bottom{display:none}.playfield{height:100%;width:100%}canvas{height:100%;width:100%;object-fit:contain}
.controls{grid-row:3;display:flex;align-items:center;justify-content:center;gap:12px;padding:0 5px}.power-control{margin:0;width:110px}.power-control label{font-size:7px}#power{height:7px;margin-top:2px}.buttons{display:flex;flex-direction:row;gap:6px;margin:0}.buttons button{min-width:70px;min-height:29px;padding:4px;font-size:8px}
.touch-controls{flex-shrink:0;position:static;display:flex;width:100%;max-width:none;justify-content:center;padding:4px 8px max(5px,env(safe-area-inset-bottom));background:#0b0b10}#left,#right{display:none}#launch{flex:0 1 210px;height:42px;font-size:12px}.overlay h2{font-size:28px}.overlay p{font-size:11px}.overlay button{font-size:12px;padding:12px}.overlay-badge{font-size:8px}.overlay small{font-size:10px}
}
/* Upgrade controls retain the cabinet styling and reserve space below the table. */
#left,#right{display:none}.touch-controls{display:flex;max-width:800px;justify-content:center;gap:8px;margin:0 auto;padding:6px 12px}.touch-controls button{min-height:44px;touch-action:none}#launch{min-width:110px}#nudge-left,#nudge-right{min-width:46px;font-size:20px}#nudge-up{min-width:86px;font-size:12px}#audio-dialog{width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:20px;border:3px ridge #9d8ba1;background:#171321;color:#d5cadc;touch-action:pan-y}#audio-dialog::backdrop{background:#03020bd9}.audio-row{display:grid;grid-template-columns:100px 32px minmax(0,1fr);align-items:center;gap:8px;margin:25px 0;font:13px Arial,sans-serif}.audio-row input[type=range]{width:100%;min-height:38px;touch-action:pan-x;accent-color:#dfbd78}.audio-row input[type=checkbox]{width:19px;height:19px;vertical-align:middle;accent-color:#dfbd78}#audio-dialog>p{font:11px Arial,sans-serif;color:#a99ab8}#help-dialog{touch-action:pan-y}
@media(max-width:700px),(hover:none) and (pointer:coarse){.touch-controls{width:100%;max-width:none;gap:5px;padding:4px max(5px,env(safe-area-inset-left)) max(5px,env(safe-area-inset-bottom))}#launch{flex:1;min-width:100px;max-width:210px;font-size:11px}#nudge-left,#nudge-right{flex:0 0 44px;min-width:44px;height:44px;padding:4px}#nudge-up{flex:0 0 80px;min-width:80px;height:44px;padding:4px;font-size:10px}main{grid-template-rows:30px minmax(0,1fr) 34px}.audio-row{grid-template-columns:88px 28px minmax(0,1fr);gap:6px}}
