/* Self-hosted fonts (offline PWA) — Barlow + Barlow Condensed, latin subset. Replaces the Google-Fonts @import; OFL, self-hosting permitted. */
@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/barlow-400.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/barlow-500.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/barlow-600.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/barlow-700.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/barlow-condensed-500.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/barlow-condensed-600.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/barlow-condensed-700.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/barlow-condensed-800.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:900;font-display:swap;src:url('fonts/barlow-condensed-900.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
*{box-sizing:border-box}body{margin:0;background:#0b0c0e;color:#eee8df;font-family:Barlow,Arial,sans-serif;background-image:radial-gradient(ellipse at 50% 70%,#34201755,transparent 65%)}button,a{-webkit-tap-highlight-color:transparent}button{font:600 12px Barlow,Arial,sans-serif;letter-spacing:1px;color:inherit;background:none;border:1px solid #373537;cursor:pointer;min-height:40px;border-radius:4px}button:hover{background:#ffffff12;border-color:#9d7962}button:focus-visible{outline:2px solid #ffb750;outline-offset:4px}header{height:72px;border-bottom:1px solid #29282a;display:flex;align-items:center;justify-content:space-between;padding:0 38px}.wordmark{color:#f0eae0;font:800 23px 'Barlow Condensed',Impact,sans-serif;letter-spacing:1px;text-decoration:none;display:flex;align-items:center;gap:12px}.wordmark i{width:27px;height:22px;background:repeating-linear-gradient(105deg,#ed402a 0 5px,transparent 5px 8px)}.wordmark span{font:500 10px Barlow,Arial;letter-spacing:3px;color:#84817e;border-left:1px solid #444;padding-left:15px}.toolbar{display:flex;gap:8px}.toolbar button{padding:0 13px}main{max-width:1440px;margin:auto;min-height:calc(100dvh - 72px);display:grid;grid-template-columns:1fr auto 1fr;gap:45px;align-items:center;padding:22px 40px}.machine-wrap{width:min(48vw,calc((100dvh - 126px)*.5625));max-width:620px}.machine{aspect-ratio:9/16;position:relative;border-radius:10px;overflow:hidden;box-shadow:0 0 0 1px #765241,0 20px 80px #000,0 0 60px #ff773315}canvas{display:block;width:100%;height:100%;touch-action:none}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.4px;color:#ba9a76}.intro h1{font:800 clamp(34px,3.7vw,58px)/1 'Barlow Condensed',Impact,sans-serif;letter-spacing:-.5px;text-transform:uppercase;margin:20px 0}.intro p,.objective p{font-size:14px;line-height:1.7;color:#94908b}.record{border-block:1px solid #302c29;margin:32px 0;padding:22px 0;display:flex;flex-direction:column;gap:8px}.record span,.score-label{font-size:11px;letter-spacing:2px;color:#9c9690}.record strong{font:500 30px 'Barlow Condensed',monospace;letter-spacing:3px;color:#d2b793}.keys>div{display:flex;align-items:center;gap:7px;margin:13px 0}.keys span{font-size:12px;color:#a19a93;margin-left:5px}kbd{font:11px monospace;padding:5px 7px;border:1px solid #49413a;border-bottom-width:3px;border-radius:4px;color:#b4a79b}.intro>small{display:block;font-size:9px;letter-spacing:2px;color:#605c58;margin-top:42px}.telemetry{max-width:265px}.telemetry>.eyebrow{margin-bottom:28px}.score-label{margin-bottom:8px}#score{font:600 clamp(36px,4vw,54px) 'Barlow Condensed',monospace;letter-spacing:3px;color:#ffbe62;text-shadow:0 0 30px #ff9f3822;font-variant-numeric:tabular-nums}.status-row{display:flex;gap:32px;padding:16px 0 25px;border-bottom:1px solid #332c26}.status-row span{font-size:10px;letter-spacing:1.5px;color:#89817a}.status-row b{display:block;color:#ded2c4;font-size:19px;margin-top:7px}.objective{display:flex;gap:16px;padding-top:27px}.number{font:500 18px 'Barlow Condensed',sans-serif;color:#6d4c37;padding-top:2px}.objective h3{font-size:16px;margin:0}.objective p{font-size:12px;margin:6px 0 12px}.lights{display:flex;gap:8px}.lights i{width:28px;height:4px;background:#3b322a;border-radius:2px}.lights i.on{background:#ffb14b;box-shadow:0 0 12px #ff9e58}.progress{height:3px;background:#383028;width:136px}.progress i{display:block;background:#ffb14b;height:100%;width:0;transition:width .2s}.session{border-top:1px solid #332c26;margin-top:30px;padding-top:20px}.session span{display:block;color:#ad977e;font-size:10px;letter-spacing:1px;margin-bottom:12px}.session button{font-size:10px;padding:0 14px}.overlay{position:absolute;inset:0;background:#07090a66;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(2px)}.overlay.hidden{display:none}.start-card{width:87%;padding:29px 20px;text-align:center;background:linear-gradient(140deg,#201a16f5,#0d1012f7);border:1px solid #98724975;box-shadow:0 20px 60px #000b}.start-card .eyebrow{font-size:9px}.start-card h2{font:900 clamp(29px,3.5vw,52px)/.95 'Barlow Condensed',Impact,sans-serif;margin:20px 0;letter-spacing:.5px}.start-card p{font-size:12px;line-height:1.6;color:#afa79d}.primary{width:100%;background:#f2ae57;color:#211609;border:0;margin:15px 0;font-size:11px;min-height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 16px}.primary:hover{background:#ffc876}.start-card small{font-size:10px;line-height:1.7;color:#9d9389}#toast{position:absolute;top:42%;left:8%;right:8%;text-align:center;pointer-events:none;font:800 24px 'Barlow Condensed',sans-serif;letter-spacing:2px;color:#ffe0a0;text-shadow:0 2px 5px #000,0 0 18px #000;background:#120d07bd;padding:10px;border-block:1px solid #e8ac6555;opacity:0;transition:opacity .15s}#toast.show{opacity:1}.mobile-controls{display:flex;gap:6px;margin-top:10px}.mobile-controls button{touch-action:none;user-select:none;flex:1;background:linear-gradient(#25201c,#151412);border-color:#534031;min-height:42px;font-size:10px}.mobile-controls button:active,.mobile-controls button.active{background:#9f4a20;color:#fff}.mobile-controls #left,.mobile-controls #right{flex:1.3}.mobile-controls #launch{color:#ffbf6d}dialog{max-width:480px;width:90%;background:#171719;color:#eee2d3;border:1px solid #65503b;padding:32px;box-shadow:0 20px 100px #000;line-height:1.7}dialog::backdrop{background:#000a;backdrop-filter:blur(6px)}dialog h2{font:800 36px 'Barlow Condensed',sans-serif}dialog p{font-size:15px;color:#bcb3aa}#closehelp{float:right;width:36px} @media(min-width:1600px){main{gap:70px}.machine-wrap{width:min(48vw,calc((100dvh - 155px)*.5625))}}@media(max-width:1050px){main{gap:24px;padding:18px 22px}.intro h1{font-size:35px}.intro p{font-size:12px}.keys span{font-size:10px}.telemetry{max-width:190px}.objective{gap:10px}.objective p{font-size:11px}.status-row{gap:20px}.wordmark span{display:none}}@media(max-width:760px){header{height:48px;padding:0 12px}.wordmark{font-size:18px;gap:7px}.wordmark i{width:21px;height:17px}.toolbar{gap:5px}.toolbar button{font-size:9px;padding:0 8px;min-height:30px}#fullscreen{display:none}main{display:flex;justify-content:center;min-height:0;padding:9px 6px max(8px,env(safe-area-inset-bottom))}.intro,.telemetry{display:none}.machine-wrap{width:min(calc(100vw - 12px),calc((100dvh - 119px)*.5625));max-width:none}.mobile-controls{margin-top:8px;gap:5px}.mobile-controls button{min-height:44px}.machine{border-radius:5px}.start-card h2{font-size:38px}.start-card .eyebrow{font-size:8px}.start-card{padding:23px 16px}.start-card p{font-size:11px}.primary{font-size:10px}#toast{font-size:18px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Revision 2: readable live score, predictable touch controls, and pause states. */
.live-hud{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#17130f;border:1px solid #59432c;border-bottom:0;border-radius:7px 7px 0 0;font:600 13px monospace;color:#d5b997}.live-hud #live-score{font-size:22px;color:#ffc66e;min-width:45%;font-variant-numeric:tabular-nums}.machine{border-radius:0 0 7px 7px}#mobile-mode{font-size:11px;font-weight:600;letter-spacing:.7px;color:#d4bb99;text-align:center;min-height:24px;padding-top:7px;white-space:normal}#pause-layer{position:absolute;inset:0;background:#0a0a0aaa;backdrop-filter:blur(3px);display:grid;place-items:center;text-align:center}#pause-layer[hidden]{display:none}#pause-layer>div{background:#171512ed;border:1px solid #766044;padding:25px;width:82%}#pause-layer h2{font:800 30px 'Barlow Condensed',sans-serif}#pause-layer button{width:100%}#toast{top:31%;font-size:20px;letter-spacing:1px;pointer-events:none}.setting{display:flex;gap:10px;align-items:center;margin:15px 0;font-size:14px}.setting input{accent-color:#ffc16a;width:18px;height:18px}.mobile-controls button{min-height:48px;font-size:12px}.mobile-controls button:disabled{opacity:.45;cursor:default}.toolbar button{font-size:12px;min-height:40px}.intro p{font-size:15px}.objective p,.keys span{font-size:13px}.keys kbd{font-size:12px}.start-card p{font-size:14px}.start-card small{font-size:12px}.start-card .eyebrow{font-size:11px}.primary{font-size:12px}.machine-wrap{width:min(46vw,calc((100dvh - 245px)*.5625));max-width:650px}canvas:focus{outline:none}canvas:focus-visible{outline:2px solid #ffce85;outline-offset:-2px}.qa-panel{position:fixed;bottom:6px;left:6px;z-index:30;background:#10171fee;border:1px solid #647689;padding:8px;max-width:480px;font-size:12px}.qa-panel button{font-size:11px;min-height:30px;margin:3px}.qa-panel output{display:block;color:#98e6b9;padding-top:7px}dialog button{padding:0 16px;font-size:13px}#live-score{overflow:hidden;text-overflow:ellipsis}.machine-wrap{min-width:240px}@media(min-width:1600px){.machine-wrap{width:min(46vw,calc((100dvh - 245px)*.5625))}}@media(max-width:1050px){.intro{display:none}main{grid-template-columns:auto 220px;justify-content:center}.telemetry{max-width:220px}.machine-wrap{width:min(55vw,calc((100dvh - 235px)*.5625))}}@media(max-width:760px){header{height:49px}.toolbar button{font-size:10px;min-height:33px;padding:0 7px}.wordmark{font-size:17px}.machine-wrap{min-width:0;width:min(calc(100vw - 12px),calc((100dvh - 187px)*.5625))}.live-hud{padding:5px 8px;font-size:12px}.live-hud #live-score{font-size:19px}.mobile-controls{width:max(100%,min(calc(100vw - 18px),380px));position:relative;left:50%;transform:translateX(-50%);gap:7px}.mobile-controls button{min-height:49px;font-size:12px}#mobile-mode{font-size:10px;min-height:26px}.start-card h2{font-size:34px}.start-card p{font-size:12px}.start-card small{font-size:10px}.start-card .eyebrow{font-size:9px}.primary{font-size:11px}#toast{font-size:16px}.machine-wrap{max-width:440px}main{padding-top:7px}.qa-panel{max-width:320px}}@media(max-height:550px) and (min-width:761px){main{align-items:start}.machine-wrap{width:280px}.telemetry{padding-top:20px}}
:root{--accent:#ffbf69;--secondary:#e6553c}.wordmark i{background:repeating-linear-gradient(105deg,var(--secondary) 0 5px,transparent 5px 8px)}.primary{background:var(--accent)}#score,.live-hud #live-score{color:var(--accent)}.lights i.on,.progress i{background:var(--accent);box-shadow:0 0 10px var(--accent)}button:focus-visible{outline-color:var(--accent)}.table-strip{display:flex;justify-content:space-between;align-items:center;margin:0 0 8px;gap:8px}.table-strip span{font:700 16px 'Barlow Condensed',Arial;letter-spacing:1px;text-transform:uppercase}.table-strip button{font-size:10px;padding:0 8px;min-height:30px;color:var(--accent)}.machine-wrap{width:min(46vw,calc((100dvh - 284px)*.5625))}#table-picker{max-width:1320px;width:calc(100vw - 44px);max-height:calc(100dvh - 36px);padding:30px;background:radial-gradient(ellipse at top,#252329,#111214 65%);border:1px solid #55505b;border-radius:12px;overflow:auto}#table-picker::backdrop{background:#060609ec;backdrop-filter:blur(12px)}.picker-top{display:flex;justify-content:space-between;gap:20px;align-items:start}.picker-top h2{font:800 clamp(30px,3vw,45px)/1.1 'Barlow Condensed',Arial;margin:12px 0;color:#f7f1e9}.picker-top p{font-size:15px;line-height:1.5;margin:10px 0 25px}.picker-top button{flex-shrink:0;width:42px;min-height:42px}#table-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.table-card{overflow:hidden;padding:0;text-align:left;letter-spacing:0;border:1px solid #49444a;border-radius:6px;background:#19191d;transition:transform .18s,border-color .18s;min-width:0}.table-card:hover{transform:translateY(-5px);border-color:var(--accent);background:#26232a}.table-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.table-photo{height:min(35vh,310px);position:relative;overflow:hidden;background:#171619}.table-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;display:block;transition:transform .25s}.table-card:hover img{transform:scale(1.03)}.table-number{position:absolute;left:10px;top:10px;padding:4px 7px;background:#080808c9;color:#fff;font:700 12px monospace;border:1px solid #ffffff45}.table-description{padding:15px}.table-genre{display:block;color:#a9a2ae;font-size:10px;letter-spacing:1.2px;min-height:24px}.table-description h3{font:700 23px/1.1 'Barlow Condensed',Arial;letter-spacing:.3px;color:#f6eee3;min-height:52px;margin:6px 0 10px}.table-best{display:block;font:12px monospace;color:#b8aea1;padding-bottom:16px}.table-play{display:block;color:var(--accent);border-top:1px solid #484046;padding-top:12px;font-size:12px;letter-spacing:1px}.picker-footer{display:flex;justify-content:space-between;border-top:1px solid #3d373e;padding-top:18px;font-size:11px;letter-spacing:1.6px;color:#857d89}#picker-status{min-height:20px;margin:12px 0;color:var(--accent);font-size:14px}#table-picker .eyebrow{color:#c0b3ca}.table-card[data-theme-id=space]{--accent:#81ddff}.table-card[data-theme-id=pirates]{--accent:#79dfc6}.table-card[data-theme-id=miami]{--accent:#ff88d8}.table-card[data-theme-id=jurassic]{--accent:#b0e77c}.table-card[data-theme-id=nascar]{--accent:#ffbf69}@media(min-width:1600px){.machine-wrap{width:min(46vw,calc((100dvh - 284px)*.5625))}}@media(max-width:1050px){.machine-wrap{width:min(55vw,calc((100dvh - 274px)*.5625))}#table-grid{gap:10px}.table-description{padding:10px}.table-description h3{font-size:20px}.table-photo{height:270px}}@media(max-width:760px){header{padding:0 9px}.wordmark{font-size:15px;gap:5px}.toolbar{gap:4px}.toolbar button{font-size:9px;padding:0 6px}.wordmark i{width:16px}.machine-wrap{width:min(calc(100vw - 12px),calc((100dvh - 225px)*.5625))}.table-strip{margin-bottom:5px}.table-strip span{font-size:14px}.table-strip button{font-size:9px;min-height:28px}.table-strip{width:100%}#table-picker{padding:20px 16px;width:calc(100vw - 18px);max-height:calc(100dvh - 20px)}.picker-top h2{font-size:31px}.picker-top p{font-size:14px;margin-bottom:18px}.picker-top button{width:36px;min-height:36px}#table-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:5px 2px 14px;gap:14px}.table-card{flex:0 0 76%;scroll-snap-align:start}.table-photo{height:min(33dvh,290px)}.table-description h3{min-height:0;font-size:24px}.table-genre{min-height:0;font-size:10px}.table-best{padding-bottom:12px}.table-description{padding:15px}.picker-footer{font-size:9px;gap:10px;letter-spacing:.8px}.picker-footer span:last-child{display:none}.picker-top .eyebrow{font-size:10px}.table-card:hover{transform:none}}@media(max-width:350px){.wordmark{font-size:13px}.toolbar button{font-size:8px;padding:0 5px}.wordmark i{display:none}}

/* Ten-table gallery retains generous mobile swipe cards. */
@media(min-width:761px){.table-photo{height:clamp(140px,21vh,210px)}.table-description h3{min-height:28px;font-size:21px}.table-description{padding:12px}.table-best{padding-bottom:10px}}
.table-card[data-theme-id=haunted]{--accent:#c4a1ff}.table-card[data-theme-id=western]{--accent:#ffd07d}.table-card[data-theme-id=atlantis]{--accent:#78edec}.table-card[data-theme-id=dragon]{--accent:#ffb679}.table-card[data-theme-id=rock]{--accent:#f895e2}
