:root{--ink:#071015;--panel:#10232b;--cyan:#6de0d5;--gold:#ffcc75;--table-accent:#60d1c6;--chrome:226px}
html[data-table=harbour-run]{--table-accent:#7ce0ee;--cyan:#7ce0ee;--gold:#c9e7d5}
html[data-table=space-cadet]{--table-accent:#b4a1fb;--cyan:#a9dcff;--gold:#e8c9ff}
html[data-table=treasure-tide]{--table-accent:#e7be66;--cyan:#91d9ba;--gold:#e7be66}
body{background:#071015}.ambient{background:radial-gradient(ellipse at 50% 15%,#17343b 0,transparent 68%),#071015}.ambient:after{display:none}
.topbar{height:58px;padding:7px 26px;background:#09151be8;border-color:#29434b;gap:14px}.brand{gap:8px}.brand img{width:36px;height:38px}.brand>span{font-size:22px}.topbar h1{font-size:10px;letter-spacing:1.5px}.topbar h1 span{display:block;font-size:8px;letter-spacing:2px;margin:3px 0 0;color:var(--table-accent)}
.topbar button{height:35px;min-width:36px;padding:0 10px;font-size:9px;border-radius:7px;background:#152c35;border-color:#36515a;letter-spacing:.2px}.topbar #tables-button{border-color:var(--table-accent);color:#f8e7c7}.topbar #fullscreen-button{font-size:18px}
.arcade{max-width:1120px;gap:42px;padding:22px 22px 35px}.machine{width:min(510px,calc((100svh - 226px)*.6));min-width:300px;filter:drop-shadow(0 15px 30px #0006)}.table-wrap{aspect-ratio:.6;background:#10212b;border-inline:2px solid #53646b}.table-wrap:after{box-shadow:inset 0 0 5px #0005}.backbox{height:104px;grid-template-rows:63px 18px 19px;background:linear-gradient(115deg,#30434b,#13232c 40%,#293c42);border-color:#6b7e84}.scoreboard{height:61px;grid-template-columns:66px minmax(0,1fr) 60px}.backbox-brand img{width:33px;height:29px}.backbox-brand strong{font-size:12px}.backbox-brand>span{font-size:5px;letter-spacing:.4px}.score-window>strong{color:#f4fcff;text-shadow:0 0 7px #8dd2ed44;font-size:34px;line-height:36px}.score-window{container-type:inline-size}.led-label{font-size:6px;letter-spacing:2px}.award-line span{font-size:6px}.score-stats small{font-size:5px}.backbox-message{background:#0c1c24}.message-content strong{font-size:7px}.backbox-chin{height:19px}.backbox-chin>span{font-size:6px}.backbox-chin>strong{font-size:6px}.chips-lights b{width:14px;height:13px}
.table-overlay{background:linear-gradient(#07121b00,#07121b66 35%,#07121bc2);backdrop-filter:blur(1px)}.overlay-card{border:1px solid #7d9c9d88;background:linear-gradient(145deg,#102c39f5,#0a1c27f5);border-radius:14px;box-shadow:0 15px 40px #0008;padding:23px 18px}.overlay-card h2{font-size:clamp(24px,7vw,38px);line-height:1.1;margin:14px 0;color:#ffe0a5}.overlay-card p{font-size:12px;line-height:1.6;color:#bed2d8}.eyebrow{font-size:8px;letter-spacing:1.3px;color:var(--table-accent)}.primary{min-height:44px;padding:11px 15px;font-size:12px;border-radius:9px;background:linear-gradient(#ffdb8a,#edb657);border-color:#ffe6b2;color:#102632;box-shadow:0 3px #87652d}.overlay-card>small{font-size:7px;color:#a9c2cc;letter-spacing:.5px}.machine-apron{height:17px;background:#213d46;font-size:5px}.controls{height:58px;grid-template-columns:1.1fr .65fr 1.4fr 1.1fr;padding:5px 5px 7px;gap:5px;border-color:#405b65;border-radius:0 0 12px 12px}.controls button{height:43px;font-size:10px;border-radius:8px;background:linear-gradient(#304e5b,#1b343f);border-color:#55727d;padding-bottom:8px}.controls .launch-button{font-size:8px;background:linear-gradient(#675337,#3b342b);border-color:#a89067}.controls #nudge-button{font-size:8px}.controls kbd{font-size:6px;bottom:3px}.controls button b{font-size:12px}
.specials{width:270px;padding:2px 0;display:flex;flex-direction:column;gap:15px}.table-summary{padding-bottom:20px;border-bottom:1px solid #29414a}.open-sign{font-size:9px;color:#a8c7ca;letter-spacing:1.5px}.open-sign i{width:6px;height:6px;background:var(--table-accent);box-shadow:none}.table-summary h2{font:32px/1.1 var(--display);color:#fff1d1;margin:13px 0 10px}.table-summary p{font-size:13px;line-height:1.65;color:#acc3cc;margin:0}.table-tags{display:flex;flex-direction:column;gap:6px;margin:14px 0;color:#8faeb9;font-size:10px}.table-tags span:before{content:'•';margin-right:7px;color:var(--table-accent)}#change-table-button{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:42px;padding:10px 11px;border:1px solid #4d7079;border-radius:8px;background:#142e38;color:#d6eeec;font-size:10px;letter-spacing:.6px}#change-table-button span{font-size:18px;color:var(--table-accent)}
.feature-focus{margin:0;padding:14px;border-radius:10px;border-color:#3b5c65;background:#102b35}.feature-focus>small{font-size:9px}.feature-focus>strong{font-size:17px}.feature-focus p{font-size:12px;color:#a8c7cf}.visibility-control{border:1px solid #294853;border-radius:10px;padding:12px 14px;background:#10222b}.visibility-control strong{font-size:9px;letter-spacing:1px;color:#e3ead9}.visibility-control p{font-size:11px;line-height:1.6;color:#9ab6c3;margin:7px 0 9px}#trail-button{min-height:35px;border:1px solid #54717b;border-radius:6px;padding:7px 11px;color:#bfe9df;background:#183640;font-size:9px}.instruction-drawer summary,.sound-preview summary{font-size:10px;min-height:40px;padding:8px 0}.feature-menu h3{font-size:11px}.feature-menu p{font-size:12px}.feature-menu{margin-top:8px;padding-left:27px}.feature-number{font-size:13px}.council-demo{margin:0;background:#132c35;border-radius:9px;border-color:#3b5961;padding:12px}.council-demo>span{font-size:8px}.council-demo button,.council-demo #rush-button{font-size:11px;min-height:38px}.council-demo small{font-size:10px}.volume-control{margin:0;grid-template-columns:1fr 110px}.volume-control label{font-size:9px}.volume-control small,.sound-preview small{font-size:10px;line-height:1.5}.volume-control input{height:28px}.sound-preview{margin:0}.sound-preview button{font-size:10px;min-height:34px}.inspection-control{margin:0}.inspection-control button{font-size:10px;min-height:34px}.inspection-control small{font-size:10px}.text-button{font-size:11px;padding:4px 0;text-align:left;min-height:35px}.footer-note{font-size:8px;color:#7d9ca9}.score-save-status{font-size:12px!important}dialog{border-radius:15px;max-height:calc(100svh - 34px);overflow:auto;background:linear-gradient(140deg,#132e3b,#0b1d28);border-color:#53717c}dialog h2{font-size:30px}dialog .close-button{width:36px;height:36px;background:#17323e}#table-dialog{width:min(1040px,calc(100% - 32px));padding:30px}#table-dialog h2{font-size:34px;margin:12px 42px 8px 0;color:#ffda88}.table-dialog-intro{font-size:13px;margin:0 0 24px;color:#b4ccd7}.table-catalog{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.table-card{position:relative;overflow:hidden;border:1px solid #426370;border-radius:12px;background:#102631;color:#f8efd9;text-decoration:none;transition:transform .16s,border-color .16s;min-width:0}.table-card:hover{transform:translateY(-3px);border-color:#d4dabc}.table-card[aria-current=page]{border:2px solid #f6d582;background:#15343c}.table-card img{display:block;width:100%;height:230px;object-fit:contain;background:linear-gradient(#0b1922,#162e38);padding:12px 10px 0}.table-card-number{position:absolute;top:10px;left:10px;display:grid;place-items:center;width:28px;height:28px;border:1px solid #b0ae83;border-radius:50%;background:#17303b;color:#f6d68c;font:13px var(--display)}.table-card>div{padding:15px}.table-card small{display:block;min-height:24px;color:#8fc8c9;font-size:8px;letter-spacing:.8px;line-height:1.5}.table-card h3{font:21px/1.1 var(--display);margin:5px 0 9px}.table-card p{font-size:11px;line-height:1.5;color:#9ebbc6;min-height:33px;margin:0 0 16px}.table-card-state{display:block;color:#ffda8b;font-size:9px;font-weight:1000;letter-spacing:.5px}.table-dialog-note{font-size:11px;color:#96b2c0;margin:20px 0 0!important}.table-card.harbour-run small{color:#8fdce8}.table-card.space-cadet small{color:#c3b0fa}.table-card.treasure-tide small{color:#e1c07a}.inspect-table .machine{width:min(600px,calc(100vw - 42px))}.inspect-table .arcade{max-width:1080px}
@media(min-width:641px) and (max-width:940px){.arcade{gap:22px;padding:18px 12px}.specials{width:235px}.machine{min-width:290px}.topbar h1{display:none}.topbar{padding-inline:15px}.table-catalog{gap:10px}.table-card>div{padding:12px}.table-card h3{font-size:18px}}
@media(max-width:640px){:root{--chrome:266px}.topbar{height:58px;padding:5px 7px;gap:4px}.topbar h1{display:none}.topbar .brand{width:33px;min-width:33px}.topbar .brand img{width:32px;height:32px}.topbar nav{gap:3px}.topbar button,.topbar #leaderboard-button,.topbar #tables-button{height:44px;min-height:44px;flex:1 1 38px;width:38px;min-width:35px!important;padding:2px;font-size:7px;border-radius:7px}.topbar #fullscreen-button{display:none}.topbar #pause-button{width:37px}.topbar #help-button{font-size:19px}.arcade{display:block;padding:7px 8px 24px}.machine,.inspect-table .machine{min-width:0;width:min(100%,max(250px,calc((100svh - 250px - env(safe-area-inset-bottom))*.6)));margin-inline:auto}.table-wrap{aspect-ratio:.6}.backbox{height:100px;grid-template-rows:60px 18px 18px}.scoreboard{height:58px;grid-template-columns:45px minmax(0,1fr) 52px;padding:1px 4px;gap:4px}.score-window>strong{font-size:clamp(17px,16cqw,31px);line-height:32px}.backbox-brand img{width:26px;height:25px}.backbox-brand strong{font-size:10px}.backbox-brand>span{display:none}.led-label{font-size:6px}.score-stats small{font-size:6px}.score-stats b{font-size:11px}.message-content strong{font-size:7px}.backbox-message{height:18px;padding-top:1px}.backbox-chin{height:18px}.chips-lights b{width:12px;height:12px}.backbox-chin>span,.backbox-chin>strong{font-size:5px}.machine-apron{height:14px;font-size:5px}.controls{height:auto;min-height:61px;padding:5px 4px calc(5px + env(safe-area-inset-bottom));grid-template-columns:minmax(48px,1fr) 42px minmax(70px,1.4fr) minmax(48px,1fr);gap:4px}.controls button{min-height:50px;height:50px;padding:0 3px;font-size:10px}.controls #nudge-button,.controls .launch-button{font-size:8px}.controls kbd{display:none}.table-overlay{padding:10px}.overlay-card{padding:18px 13px}.overlay-card h2{font-size:29px;margin:11px 0}.overlay-card p{font-size:11px;line-height:1.55}.overlay-card .eyebrow{font-size:7px}.primary{font-size:11px}.specials{display:flex;width:min(100%,440px);gap:14px;margin:20px auto 0}.table-summary{padding:16px;border:1px solid #35515c;border-radius:12px;background:#102732}.table-summary h2{font-size:29px}.table-summary p{font-size:13px}.table-tags{font-size:11px}#change-table-button{min-height:44px}.visibility-control p{font-size:12px}.visibility-control strong{font-size:10px}#trail-button{min-height:44px;font-size:11px}.instruction-drawer summary,.sound-preview summary{font-size:11px;min-height:44px}.council-demo button,.council-demo #rush-button{min-height:44px}.volume-control input{height:44px}#table-dialog{width:calc(100% - 20px);padding:22px 14px 18px;max-height:calc(100svh - 22px)}#table-dialog h2{font-size:26px;margin-top:10px;margin-right:32px}.table-dialog-intro{font-size:12px;margin-bottom:17px}.table-catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.table-card img{height:172px;padding:9px 4px 0}.table-card>div{padding:10px}.table-card h3{font-size:19px}.table-card small{font-size:7px;min-height:22px}.table-card p{font-size:10px;min-height:45px;margin-bottom:10px}.table-card-number{width:23px;height:23px;left:7px;top:7px;font-size:11px}.table-card-state{font-size:8px}.table-dialog-note{font-size:10px;line-height:1.6}.table-dialog-close{width:36px!important;height:36px!important}.inspect-table .machine{width:min(100%,500px)}}
@media(max-width:359px){.topbar #music-button{display:none}.machine{width:min(100%,250px)}.table-card img{height:150px}.table-card h3{font-size:17px}}
@media(prefers-reduced-motion:reduce){.table-card{transition:none}.table-card:hover{transform:none}}
@media(min-width:641px){.machine{width:min(510px,calc((100svh - 288px)*.6));min-width:260px}}
@media(max-width:640px){.topbar #pause-button{font-size:0}.topbar #pause-button:before{font-size:16px}}

/* Illustrated worlds remain behind the table. Cabinet light breathes slowly. */
:root{--pinball-scene:url('./assets/playfield-friday-night.webp?v=20261019-colour-v3')}
html[data-table=harbour-run]{--pinball-scene:url('./assets/playfield-harbour-run.webp?v=20261019-colour-v3')}
html[data-table=space-cadet]{--pinball-scene:url('./assets/playfield-space-cadet.webp?v=20261019-colour-v3')}
html[data-table=treasure-tide]{--pinball-scene:url('./assets/playfield-treasure-tide.webp?v=20261019-colour-v3')}
.ambient{background:#06121b;overflow:hidden}
.ambient:before{content:'';position:absolute;inset:-25px;background-image:linear-gradient(90deg,#04101966,#041019aa 40%,#041019aa 65%,#04101955),var(--pinball-scene);background-size:cover;background-position:center 30%;opacity:.44;filter:blur(5px);pointer-events:none}
.ambient:after{display:block;background:radial-gradient(ellipse at 48% 37%,#07172222,#041019c7 85%);opacity:1}
.table-summary{position:relative;padding:16px;border:1px solid #51797b;border-radius:12px;background-image:linear-gradient(100deg,#0b2430f5,#0c2631d9 65%,#0c2631b3),var(--pinball-scene);background-size:cover;background-position:center 24%;overflow:hidden;box-shadow:0 8px 22px #0003}
.table-summary p{color:#c1d8dd}.table-tags{color:#b3d0d4}.table-summary #change-table-button{background:#12313de8;border-color:#6b9699}
.machine:before{content:'';position:absolute;inset:-5px;border:1px solid var(--table-accent);border-radius:13px;pointer-events:none;z-index:-1;box-shadow:0 0 15px color-mix(in srgb,var(--table-accent) 24%,transparent);animation:pinball-cabinet-glow 4s ease-in-out infinite}
.backbox{border-color:var(--table-accent);box-shadow:0 0 0 2px #07141b,inset 0 1px #fff3,0 0 14px color-mix(in srgb,var(--table-accent) 14%,transparent)}
.visibility-control{background:#102b37eb;border-color:#466572}.visibility-control p{color:#accbd2}.visual-toggles{display:grid;grid-template-columns:1fr;gap:7px}.visual-toggles button{min-height:36px;width:100%;border:1px solid #5a7d84;border-radius:6px;padding:8px 10px;font:900 9px var(--body);text-align:left;letter-spacing:.4px;background:#183a45;color:#cdf0e4}.visual-toggles button[aria-pressed=false]{background:#142733;color:#9eb8c4;border-color:#34515c}.visual-toggles button[aria-pressed=true]:before{content:'●';display:inline-block;margin-right:8px;color:var(--table-accent)}.visibility-control #visual-preference-note{display:block;color:#89aab5;font-size:10px;line-height:1.5;margin-top:10px}
.artwork-muted .ambient:before{opacity:.08}.artwork-muted .table-summary{background-image:linear-gradient(#102b37,#102b37)}
.lights-muted .machine:before{animation:none;box-shadow:none;border-color:#36515a}.lights-muted .backbox{box-shadow:0 0 0 2px #07141b,inset 0 1px #fff3}
.pinball-paused .machine:before{animation-play-state:paused}
@keyframes pinball-cabinet-glow{0%,100%{opacity:.42}50%{opacity:1}}
@media(max-width:640px){.visual-toggles button{min-height:44px;font-size:11px}.visibility-control #visual-preference-note{font-size:11px}}
@media(prefers-reduced-motion:reduce){.machine:before{animation:none;opacity:.65}}

/* Saturated cabinet trim complements the full-height illustrated print. */
:root{--table-accent:#31d7c4;--gold:#ffca61}
html[data-table=harbour-run]{--table-accent:#36cde9;--gold:#ffd064}
html[data-table=space-cadet]{--table-accent:#b487ff;--gold:#ffb5e0}
html[data-table=treasure-tide]{--table-accent:#f4bb43;--gold:#f4bb43}
.table-card{box-shadow:inset 0 1px #fff1,0 5px 16px #0003}.table-card img{background:linear-gradient(145deg,#102e38,#071620)}
