*{box-sizing:border-box}
html,body{margin:0;min-height:100%;overflow-x:hidden}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 15% 8%,#2563eb 0 12rem,transparent 32rem),radial-gradient(circle at 80% 18%,#7c3aed 0 12rem,transparent 28rem),linear-gradient(135deg,#050816,#0f172a 52%,#1e1b4b);color:#f8fafc}
button,a{font:inherit}
.shell{width:min(1220px,calc(100% - 28px));margin:auto;padding:18px 0 40px}
.top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.topActions{display:flex;gap:8px}
.back,.round{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.1);color:#fff;text-decoration:none;border-radius:999px;padding:10px 14px;font-weight:950}
.round{width:44px;height:44px;cursor:pointer}
.brand{display:flex;align-items:center;gap:10px;background:rgba(5,8,22,.76);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:9px 16px;box-shadow:0 18px 42px rgba(0,0,0,.28)}
.brand span{font-size:1.25rem}
.brand small{color:#bfdbfe;font-weight:850}
.hero{display:grid;grid-template-columns:1fr 240px;gap:16px;margin-bottom:16px;padding:24px;border-radius:32px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 70px rgba(0,0,0,.25)}
.eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.12em;color:#fde68a;font-weight:1000;font-size:.76rem}
.hero h1{margin:0;font-size:clamp(2rem,5vw,4.4rem);line-height:.9;letter-spacing:-.07em}
.hero p{max-width:720px;color:#dbeafe;line-height:1.55}
.hero aside{background:linear-gradient(135deg,#1d4ed8,#4c1d95);border-radius:24px;padding:18px;align-self:start}
.hero aside span,.hero aside small{display:block;color:#bfdbfe;font-weight:900}
.hero aside strong{display:block;font-size:1.25rem;margin:5px 0}
.game{display:grid;grid-template-columns:220px minmax(0,1fr) 300px;gap:16px}
.panel{border:1px solid rgba(255,255,255,.13);border-radius:30px;background:rgba(255,255,255,.09);box-shadow:0 22px 65px rgba(0,0,0,.26);overflow:hidden;backdrop-filter:blur(12px)}
.hud{padding:16px;display:grid;gap:10px;align-content:start}
.stat{display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,.1);border-radius:18px;padding:12px}
.stat span{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:#bfdbfe;font-weight:950}
.stat strong{font-size:1.25rem}
.stat.best{background:rgba(191,219,254,.16)}
.stat.best strong{color:#fde68a}
.primary,.ghost{border:0;border-radius:17px;padding:12px;color:white;font-weight:950;cursor:pointer}
.primary{background:linear-gradient(135deg,#1d4ed8,#7c3aed)}
.primary:active{transform:translateY(1px)}
.ghost{background:#111827}
.hud p{color:#dbeafe;line-height:1.45;font-weight:750;margin:0}
.sky{position:relative;padding:14px}
canvas{display:block;width:100%;height:auto;aspect-ratio:820/620;border-radius:24px;background:#050816;touch-action:manipulation;border:1px solid rgba(255,255,255,.14)}
.reveal{position:absolute;inset:14px;display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;border-radius:24px;background:rgba(5,8,22,.86);backdrop-filter:blur(8px);z-index:5}
.reveal.show{display:flex;animation:fade .22s ease-out}
@keyframes fade{from{opacity:0}to{opacity:1}}
.reveal b{font-size:clamp(2rem,5vw,3.4rem);color:#fde68a}
.reveal span{max-width:520px;color:#dbeafe;line-height:1.5;margin-top:8px}
.reveal button{border:0;border-radius:999px;background:#facc15;color:#111827;padding:12px 20px;font-weight:1000;cursor:pointer;margin-top:14px}
.reveal.pause{z-index:6;background:rgba(5,8,22,.9)}
.book{padding:18px}
.book>strong{display:block;font-size:1.15rem;margin-bottom:10px}
.entry{border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:12px;background:rgba(255,255,255,.06)}
.entry b{display:block;color:#bfdbfe;margin-bottom:6px}
.entry.on{border-color:rgba(253,230,138,.5);background:rgba(253,230,138,.12)}
.entry.on b{color:#fde68a}
.entry span{display:block;color:#dbeafe;line-height:1.45;font-size:.9rem}
.par{color:#c7d2fe;font-size:.85rem;line-height:1.45;margin:12px 0 0}
.toast{position:fixed;left:50%;top:18px;transform:translateX(-50%) translateY(-16px);opacity:0;border-radius:999px;padding:12px 18px;background:#111827;color:#fff;font-weight:1000;box-shadow:0 18px 38px rgba(0,0,0,.35);transition:.18s;z-index:30;max-width:calc(100% - 24px);text-align:center}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.toast.good{background:#166534}
.toast.bad{background:#991b1b}
@media(max-width:1050px){.game{grid-template-columns:1fr}
.hud{grid-template-columns:repeat(4,1fr)}
.hud .primary,.hud .ghost,.hud p{grid-column:span 2}
.book{order:2}
.sky{order:3}
}
@media(max-width:680px){.shell{width:calc(100% - 18px);padding-top:10px}
.brand small{display:none}
.hero{grid-template-columns:1fr;padding:18px;border-radius:24px}
.hero h1{font-size:2.2rem}
.hud{grid-template-columns:1fr 1fr;border-radius:24px}
.hud p{grid-column:span 2}
.sky{padding:8px;border-radius:24px}
.reveal{inset:8px}
.book{border-radius:24px}
}
@media(prefers-reduced-motion:reduce){.reveal.show{animation:none}}
