:root{font-family:system-ui,sans-serif;color:#eee9df;background:#0d1c29;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,a,input,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit;border:1px solid #8caeb04d;border-radius:12px;background:#244052;color:#f5ead6;padding:13px 18px;cursor:pointer;min-height:46px}button:focus-visible,a:focus-visible{outline:3px solid #efc983;outline-offset:3px}a{color:#b8d8db;text-decoration:none}#menu{max-width:1200px;margin:auto;padding:24px clamp(16px,4vw,60px)}nav{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:12px 0 30px}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;padding:40px 0}.hero>*{min-width:0}.hero img{width:100%;height:auto;border-radius:24px;border:1px solid #b8d3d326;box-shadow:0 30px 70px #0004}h1{font-family:Georgia,serif;font-weight:500;font-size:clamp(38px,5vw,70px);line-height:1.02;letter-spacing:-2px;margin:16px 0}p{line-height:1.65;color:#b6c5c8}.eyebrow{font-size:11px;font-weight:750;letter-spacing:2px;color:var(--accent)}.primary{background:var(--accent);color:#142b3a;font-weight:750;min-width:210px}.share-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:20px 0}.share-tools a,.share-tools button{font-size:13px;padding:10px}.best{font-size:11px;letter-spacing:1.5px;color:#afc2c7}.best strong{font-size:23px;display:block;color:#fff}.how{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:32px 0}.how article{border-top:1px solid #9bb6b53b;padding-top:24px}.how b{color:var(--accent);font-size:12px}.how p{font-size:15px}.settings{display:flex;flex-wrap:wrap;gap:24px;align-items:center;border-top:1px solid #9bb6b53b;padding:24px 0}.settings label{display:flex;align-items:center;gap:12px;font-size:14px}input[type=range]{max-width:140px;accent-color:var(--accent)}footer{padding:30px 0;font-size:10px;letter-spacing:2px;color:#718c97}#playfield{position:fixed;inset:0;display:flex;flex-direction:column;height:100dvh;background:#102433;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}[hidden]{display:none!important}.playing{overflow:hidden;height:100dvh}.hud{flex:none;display:flex;align-items:center;justify-content:space-between;gap:9px;padding:8px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));background:#102331;z-index:2}.hud strong{font-size:24px}.hud small{font-size:12px;color:#c5d5d6}.hud button{padding:6px 12px;min-height:40px}#surface{flex:1;min-height:0;width:100%;overflow:hidden;position:relative}canvas{display:block;touch-action:none}dialog{border:1px solid #bed9d03b;border-radius:22px;background:#183142;color:#f8edda;padding:32px;max-width:min(90vw,470px);max-height:90dvh}dialog::backdrop{background:#04101bd9}dialog h2{font:38px Georgia,serif;margin:15px 0}dialog button{margin:5px}#opponents{display:flex;gap:16px;align-items:center;margin-top:20px}.age{display:inline-block;border:1px solid #d2bf8b50;border-radius:99px;padding:4px 12px;font-size:12px}.live-players{font-size:10px!important;max-width:90%}@media(max-width:700px){.hero{grid-template-columns:1fr;gap:25px;padding-top:15px}.hero img{max-height:290px;object-fit:cover}.how{grid-template-columns:1fr;gap:10px}.how article{display:flex;gap:20px;padding-top:8px}.how b{padding-top:19px}.hud{gap:6px}.hud small{font-size:10px}}@media(orientation:landscape)and(max-height:500px){.hud{position:absolute;top:0;left:0;right:0;background:#102331ad;pointer-events:none}.hud button{pointer-events:auto}#surface{height:100%}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* pinball: the canvas fills the surface and is driven entirely from script */
#board{width:100%;height:100%;display:block;touch-action:none}
#surface{display:flex;align-items:stretch;justify-content:center}
.hud strong{font-variant-numeric:tabular-nums}
