:root{--paper:#f7f7f2;--ink:#171527;--muted:#72717c;--lime:#d5ff62;--purple:#7050e8;--cyan:#66e8f4;--line:#e1e1d9;--dark:#0b0d16;--panel:#131725;--darkline:#292e42}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #8969ff;outline-offset:5px}[hidden]{display:none!important}.prototype-bar{height:32px;background:var(--ink);color:var(--lime);display:flex;justify-content:center;gap:15px;align-items:center;font-size:11px;font-weight:800;letter-spacing:1.4px}.prototype-bar span{color:#ceccd7;font-weight:400;letter-spacing:0}.site-header{max-width:1380px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:24px 44px;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;font-size:24px;letter-spacing:-1.1px;font-weight:900;white-space:nowrap;text-decoration:none}.brand>span:last-child>span{font-weight:400}.brand i{font-style:normal;color:var(--purple)}.brand-icon{background:var(--lime);border-radius:10px;display:inline-grid;place-items:center;width:39px;height:39px;margin-right:10px;font-size:23px;transform:rotate(-7deg);color:var(--ink)}.site-nav{display:flex;gap:6px}.site-nav a{padding:9px 13px;border-radius:22px;text-decoration:none;color:#666471;font-size:14px}.site-nav a:hover{background:#ecebe4;color:var(--ink)}.header-note{font-size:12px;color:var(--muted)}main{max-width:1320px;margin:auto;padding:0 28px}.hero{display:grid;grid-template-columns:1.25fr .75fr;gap:60px;align-items:end;padding:68px 0 58px}.eyebrow{font-size:11px;letter-spacing:1.7px;font-weight:800;margin:0 0 12px;display:block}.spark{font-size:19px;color:var(--purple);vertical-align:middle;margin-right:5px}.hero h1,.idea-section h2,.section-heading h2{font-size:clamp(46px,6vw,78px);line-height:1;letter-spacing:-4px;margin:0;font-weight:900}.hero h1 span,.idea-section h2 span,.section-heading h2 span{color:var(--purple)}.hero-copy{padding-bottom:7px}.hero-copy p{font-size:18px;line-height:1.65;color:#5f5d69;margin:0 0 24px;max-width:520px}.hero-button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--ink);color:#fff;text-decoration:none;padding:14px 18px;border-radius:10px;font-weight:800;min-width:200px}.hero-button span{color:var(--lime);font-size:22px}.arcade-shell{background:radial-gradient(ellipse at 55% 30%,#1b2240 0,transparent 55%),var(--dark);color:#f1f4ff;margin:0 -28px;border-radius:28px;padding:36px 36px 42px;box-shadow:0 25px 80px #17152720}.arcade-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;padding-bottom:20px}.arcade-heading h2{font-size:clamp(34px,4vw,52px);line-height:1.08;letter-spacing:-2px;margin:0}.arcade-heading>p{color:#a5acc1;max-width:500px;margin:0;font-size:14px}.arcade-eyebrow,.cyan{color:var(--cyan)}.game-tabs{display:flex;gap:8px;padding:18px 0 28px;overflow:auto}.game-tabs button{background:transparent;border:1px solid var(--darkline);padding:10px 18px;border-radius:30px;font-size:14px;color:#a5acc1;white-space:nowrap}.game-tabs b{font-weight:600;margin-left:8px}.game-tabs .selected{background:var(--lime);color:#182016;border-color:var(--lime)}.game-layout{display:grid;grid-template-columns:minmax(200px,1fr) minmax(300px,500px) minmax(190px,.75fr);gap:32px;align-items:start}.intro-panel,.sidebar{padding-top:20px}.intro-panel h3,.mini-copy h3{font-size:clamp(36px,3.7vw,58px);line-height:1.05;letter-spacing:-2px;margin:18px 0}.intro-panel h3 span{color:var(--lime)}.lede{color:#a5acc1;font-size:17px;max-width:370px}.mission{margin-top:30px;border-top:1px solid var(--darkline);padding-top:22px}.mission h4{font-size:22px;margin:8px 0}.mission p,.controls-card p,.quiet{color:#a5acc1;font-size:14px}.orbit{display:flex;gap:8px;margin-top:18px}.orbit span{display:grid;place-items:center;width:36px;height:40px;border:1px solid #4f5876;border-radius:8px;color:#aab3cc;font-weight:bold}.orbit .lit{background:var(--lime);color:#182016;border-color:var(--lime);box-shadow:0 0 14px #d5ff6230}.points{margin-top:25px;font-size:14px}.points div{display:flex;justify-content:space-between;border-bottom:1px solid var(--darkline);padding:9px 0;gap:12px}.points dd{margin:0;color:var(--cyan)}.machine{border:1px solid #4a526a;border-radius:24px;overflow:hidden;background:#101526;box-shadow:0 25px 70px #0007}.scoreboard{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:14px;padding:17px 20px;border-bottom:1px solid #333d58;background:#151c2e}.scoreboard span{display:block;color:#a5acc1;letter-spacing:2px;font-size:11px}.scoreboard strong{font:700 clamp(18px,2vw,28px)/1.35 monospace;color:var(--lime)}.scoreboard div:not(:first-child) strong{color:#f1f4ff}.table-wrap{position:relative}#table{width:100%;display:block;aspect-ratio:2/3;touch-action:pan-y}.table-overlay{position:absolute;inset:0;display:grid;place-items:center;text-align:center;background:#080c1970;backdrop-filter:blur(2px)}.table-overlay[hidden]{display:none}.table-overlay>div{background:#101628ed;border:1px solid #68728b;border-radius:22px;padding:26px 32px;max-width:90%;box-shadow:0 20px 60px #0009}.table-overlay h4{font-size:34px;line-height:1.12;letter-spacing:-1px;margin:12px 0}.table-overlay p{color:#a5acc1}.primary{background:var(--lime);color:#161c13;padding:13px 22px;border:0;border-radius:10px;font-weight:700;min-height:48px}.primary span{margin-left:20px}.touch-controls{display:flex;gap:12px;padding:12px;background:#181e30}.touch-controls button{flex:1;background:#262f48;border:1px solid #56617d;border-bottom:4px solid #101524;border-radius:10px;padding:12px;touch-action:none;user-select:none;-webkit-user-select:none;font-size:16px;color:#f1f4ff}.touch-controls button span{font-size:12px;letter-spacing:2px;margin:0 8px}.touch-controls button.held{background:#6756ca;border-color:#a798ff}.session{border-bottom:1px solid var(--darkline);padding-bottom:24px;display:flex;flex-direction:column}.session strong{font:700 42px/1.5 monospace}.session>span:last-child{font-size:14px;color:#a5acc1}.controls-card h4{font-size:18px;margin:24px 0 14px}.controls-card p{line-height:2}.controls-card kbd{display:inline-block;font:12px monospace;background:#222a40;border:1px solid #546078;border-bottom-width:3px;border-radius:5px;padding:1px 5px;margin:2px}.secondary{background:transparent;border:1px solid #67718b;border-radius:9px;padding:10px 16px;min-height:44px;color:#f1f4ff}.controls-card button{width:100%;margin-top:7px}.text-button{background:none;border:0;padding:9px;text-decoration:underline;text-underline-offset:4px;color:#a5acc1;font-size:14px}.status{border-left:2px solid var(--cyan);padding-left:13px;font-size:14px;color:var(--cyan);min-height:44px}.mini-section{display:grid;grid-template-columns:1fr 1.25fr;gap:50px;min-height:560px;padding:45px 5% 20px}.mini-card{padding:30px;background:var(--panel);border:1px solid var(--darkline);border-radius:22px;text-align:center}.mini-card #mini-state{min-height:30px;color:var(--cyan)}#mini-stage{min-height:310px;display:grid;place-items:center;margin:20px 0}.color-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;width:min(100%,340px)}.color-grid button{aspect-ratio:1;border:0;border-radius:9px;min-width:0}.memory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:min(100%,340px)}.memory-grid button{aspect-ratio:1;background:#343756;border:1px solid #646b91;border-radius:16px;font-size:28px;color:#fff;opacity:1}.memory-grid button.flash{background:var(--lime);color:#15200d;box-shadow:0 0 25px #d5ff6240}.result-number{font:700 60px monospace;color:var(--lime)}.idea-section{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:80px 0 72px;border-bottom:1px solid var(--line)}.idea-section h2,.section-heading h2{font-size:clamp(42px,5vw,66px)}.idea-copy{padding-top:34px}.idea-copy p{font-size:17px;line-height:1.75;color:#5f5d69;margin:0 0 18px}.legal-teaser{padding:72px 0 58px}.section-heading{max-width:880px}.section-heading>p:last-child{max-width:720px;color:#5f5d69;font-size:16px;line-height:1.7}.legal-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:34px}.legal-grid article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px}.legal-grid article>span{font-size:11px;letter-spacing:1.5px;color:#8a8792}.legal-grid h3{font-size:25px;letter-spacing:-.7px;margin:10px 0}.legal-grid p{color:#666471;min-height:75px}.legal-grid a{display:inline-flex;gap:15px;align-items:center;font-weight:800;text-decoration:none;color:var(--purple)}.site-footer{max-width:1320px;margin:0 auto;padding:25px 28px 34px;border-top:1px solid var(--line);display:flex;align-items:center;gap:22px;flex-wrap:wrap}.footer-brand{font-size:19px}.footer-brand .brand-icon{width:32px;height:32px;font-size:18px;border-radius:8px}.site-footer>span{color:var(--muted);font-size:12px}.site-footer nav{margin-left:auto;display:flex;gap:22px}.site-footer nav a{font-size:13px;color:#625f6c}.site-footer p{flex-basis:100%;font-size:11px;color:#8b8992;margin:0}.copy-link{width:100%;margin-top:10px;color:#f1f4ff;background:var(--panel);padding:12px;border:1px solid var(--darkline)}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--lime);color:#162012;padding:10px 20px;border-radius:10px;display:none;max-width:90%;z-index:10}#toast.show{display:block}.legal-page{max-width:850px;margin:0 auto;padding:55px 28px 70px}.legal-page h1{font-size:clamp(40px,5vw,62px);letter-spacing:-2.5px;line-height:1.05}.legal-page h2{font-size:22px;margin-top:34px}.legal-page p,.legal-page li{color:#5f5d69}.legal-page .notice{padding:20px;border:1px solid #c7a868;background:#fff4d9;border-radius:12px;color:#4f4329}.legal-page dl{background:white;border:1px solid var(--line);border-radius:14px;padding:20px}.legal-page dt{font-weight:bold;margin-top:12px}.legal-page dd{margin:4px 0;color:#6c5d3b}.legal-back{display:inline-block;margin-top:35px;color:var(--purple);font-weight:800}.legal-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:18px}.legal-links a{color:var(--purple);font-weight:700}@media(min-width:1100px) and (max-height:950px){.game-layout{grid-template-columns:minmax(240px,1fr) minmax(300px,390px) minmax(190px,.75fr)}.intro-panel,.sidebar{padding-top:10px}.intro-panel h3{font-size:44px}.mission{margin-top:22px}.table-overlay h4{font-size:30px}.scoreboard{padding:12px 18px}}@media(max-width:1000px){.site-header{padding:22px 28px}.header-note{display:none}.hero{grid-template-columns:1fr;gap:24px}.hero-copy{max-width:650px}.arcade-heading{align-items:start;flex-direction:column}.game-layout{grid-template-columns:minmax(300px,500px) minmax(200px,1fr);gap:25px}.intro-panel{grid-column:1/-1;padding:0;display:none}.machine{grid-column:1}.sidebar{padding:10px}.mini-section{gap:25px;padding:30px 0}.idea-section{gap:35px}.site-footer nav{margin-left:0}}@media(max-width:700px){.prototype-bar{font-size:9px;letter-spacing:.7px}.prototype-bar span{font-size:10px}.site-header{padding:18px;flex-wrap:wrap;gap:16px}.brand{font-size:23px}.site-nav{width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px}.site-nav a{font-size:13px;padding:8px}.hero{padding:38px 0}.hero h1{font-size:49px;letter-spacing:-2.8px}.hero-copy p{font-size:16px}.arcade-shell{margin:0 -18px;border-radius:18px;padding:24px 18px 30px}.game-layout{display:block}.machine{max-width:440px;margin:auto}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.session{border:0;padding:14px}.session strong{font-size:32px}.controls-card{grid-row:span 3}.controls-card h4{margin-top:14px}.scoreboard{padding:12px 18px}.table-overlay h4{font-size:29px}.table-overlay>div{padding:20px}.game-tabs{gap:6px;padding:12px 0 22px}.game-tabs button{padding:9px 13px;font-size:13px}.game-tabs b{margin-left:4px}.touch-controls{padding:10px}.touch-controls button{padding:10px}.mini-section{display:block;min-height:560px}.mini-copy{padding:0 8px}.mini-card{padding:20px;margin-top:20px}.idea-section{grid-template-columns:1fr;gap:20px;padding:55px 0}.idea-copy{padding-top:0}.legal-teaser{padding-top:52px}.legal-grid{grid-template-columns:1fr}.legal-grid p{min-height:0}.site-footer{padding:24px 18px}.site-footer nav{width:100%;gap:16px}main{padding:0 18px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Local pinball highscore */
.highscore-form{margin-top:18px;padding-top:16px;border-top:1px solid #59627a;text-align:left}.highscore-form[hidden]{display:none}.highscore-form label{display:block;margin-bottom:7px;color:#cbd3e8;font-size:12px;font-weight:700;letter-spacing:.5px}.highscore-entry-row{display:flex;gap:8px;align-items:stretch}.highscore-entry-row input{min-width:0;flex:1;border:1px solid #5b6683;background:#0e1425;color:#f1f4ff;border-radius:9px;padding:11px 12px;font:inherit}.highscore-entry-row input::placeholder{color:#77819b}.highscore-entry-row .secondary{white-space:nowrap}.highscore-form .quiet{margin:8px 0 0;font-size:11px;color:#9aa5bf}.highscore-card{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin-bottom:22px}.highscore-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.highscore-head .eyebrow{margin:0}.highscore-clear{border:0;background:none;color:var(--muted);font-size:11px;text-decoration:underline;text-underline-offset:3px;padding:4px}.highscore-card ol{list-style:none;padding:0;margin:12px 0 8px}.highscore-card li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid #232a3d;font-size:13px}.highscore-card li:last-child{border-bottom:0}.highscore-card li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d5dbea}.highscore-card li strong{font:700 13px monospace;color:var(--lime)}.highscore-card>p{margin:7px 0 0;color:var(--muted);font-size:11px}
@media(max-width:620px){.highscore-entry-row{display:block}.highscore-entry-row .secondary{width:100%;margin-top:8px}.highscore-card{grid-column:1/-1;margin-bottom:0;padding:14px}.highscore-card ol{margin-bottom:4px}}
