:root{--ink:#102630;--paper:#fff9ed;--accent:#ff6675;--mint:#91e7ce}*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--paper);font-family:Arial,sans-serif;min-height:100vh}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}main{max-width:760px;margin:auto;padding:26px 20px 55px}.top{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid #456068;padding-bottom:18px}.logo{font-size:14px;line-height:.95;font-weight:900;letter-spacing:-.06em}.label{font-size:10px;text-transform:uppercase;letter-spacing:.17em;color:var(--mint);font-weight:800}.hero{padding:40px 0 23px}h1{font-size:clamp(48px,9vw,82px);line-height:.94;letter-spacing:-.075em;margin:10px 0 15px}h1 em{color:var(--accent);font-family:Georgia,serif;font-weight:400}p{line-height:1.55;color:#c6d7d6}.meter{display:flex;justify-content:space-between;align-items:center;margin:25px 0 14px;font-weight:700}.dots{display:flex;gap:5px}.dots span{width:8px;height:8px;border-radius:50%;background:#49666b}.dots span.done{background:var(--accent)}.game-card{background:var(--paper);border-radius:23px;color:var(--ink);min-height:330px;padding:30px;box-shadow:12px 13px 0 var(--accent);display:flex;flex-direction:column}.card-no{font-size:11px;letter-spacing:.18em;font-weight:900;color:#e25062}.claim{font-size:clamp(30px,6vw,49px);font-weight:900;letter-spacing:-.065em;line-height:1.05;margin:30px 0 auto;max-width:620px}.hint{font-size:12px;color:#5f777a;margin-top:30px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:30px 0 17px}.actions button,.next,.restart{min-height:65px;border:0;border-radius:14px;font-size:17px;font-weight:900;cursor:pointer;background:var(--accent);color:var(--ink);transition:transform .16s}.actions button:last-child{background:var(--mint)}.actions button:hover,.next:hover,.restart:hover{transform:translateY(-3px)}.actions button:disabled{opacity:.4;cursor:default}.result{background:#23444b;border:1px solid #557c7e;border-radius:16px;padding:23px;margin-top:20px}.result strong{display:inline-block;background:var(--accent);color:var(--ink);border-radius:30px;padding:8px 13px;font-size:11px;letter-spacing:.1em}.result strong.wrong{background:#ffb3b9}.result p{margin:16px 0}.result a{color:var(--mint);font-size:13px;text-underline-offset:4px}.next,.restart{width:100%;margin-top:18px;background:var(--paper)}.foot{font-size:12px;color:#9fb8b9;margin-top:35px}.foot a{color:var(--paper)}.end{text-align:center;padding:55px 20px;background:#23444b;border-radius:24px}.end .score{font-size:90px;font-weight:900;letter-spacing:-.09em;color:var(--accent)}.end h2{font-size:35px;letter-spacing:-.06em;margin:0}.end p{max-width:440px;margin:18px auto 26px} [hidden]{display:none!important}@media(max-width:480px){main{padding:20px 16px 42px}.game-card{min-height:300px;padding:24px}.actions button{font-size:15px}.dots span{width:6px;height:6px;gap:3px}}

.dot{color:var(--accent)}.demo-shop{display:block;width:max-content;max-width:100%;border-bottom:2px solid var(--accent);color:var(--paper);font-weight:800;margin:22px auto 0;padding:8px 0;text-align:center}
.logo{display:inline-flex;align-items:center;gap:10px}.logo-mark{width:43px;height:43px;object-fit:contain;flex:0 0 auto}
@font-face{font-family:DM;src:url('fonts/dm-sans.woff2') format('woff2');font-display:swap;font-weight:400 800}
@font-face{font-family:Space;src:url('fonts/space-grotesk.woff2') format('woff2');font-display:swap;font-weight:700}
@font-face{font-family:Fraunces;src:url('fonts/fraunces-italic.woff2') format('woff2');font-display:swap;font-style:italic;font-weight:600}
body{font-family:DM,Arial,sans-serif;background:#0c2025}.top{border-color:#476266}.logo,h1,.claim,.end h2{font-family:Space,Arial,sans-serif}.hero{padding:54px 0 31px}.hero h1 em{font-family:Fraunces,Georgia,serif;font-weight:600}.game-card{border-radius:5px;border:2px solid #122c31;box-shadow:12px 13px 0 #ff6675}.actions button,.next,.restart{border-radius:4px;font-family:Space,Arial,sans-serif}.actions button:not(:disabled):hover,.next:hover,.restart:hover{transform:translateY(-4px);box-shadow:0 6px 0 #0004}.result,.end{border-radius:5px}.card-no{font-family:DM,Arial,sans-serif}.top .label{color:#bcebd9}
.share{width:100%;min-height:60px;margin-top:12px;background:var(--mint);color:var(--ink);border:0;border-radius:4px;font:700 16px Space,Arial,sans-serif;cursor:pointer}.share:hover{transform:translateY(-3px)}.share-status{margin:12px auto 0;font-size:14px}.share-status:empty{display:none}.share-link{display:block;width:100%;padding:12px;margin-top:10px;border:2px solid var(--mint);border-radius:4px;background:var(--paper);color:var(--ink);font:14px DM,Arial,sans-serif}.challenge-banner{display:inline-block;margin:12px 0 0;padding:11px 16px;border:1px solid var(--mint);color:var(--paper);font-weight:700}.share-link[hidden],.challenge-banner[hidden]{display:none}
.card-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.card-pack{font:800 10px DM,Arial,sans-serif;letter-spacing:.12em;color:#305a5a;text-align:right}.demo-early{display:block;width:100%;padding:17px 20px;margin:24px auto 0;background:var(--accent);color:var(--ink);text-align:center;text-decoration:none;font:700 17px Space,Arial,sans-serif;border:2px solid var(--accent);transition:transform .16s,background .16s}.demo-early:hover{transform:translateY(-3px);background:#ff8791}.demo-early-note{display:block;margin:10px auto 0;font-size:12px;color:#c6d7d6}.demo-shop{margin-top:12px}
@media(prefers-reduced-motion:reduce){.actions button,.next,.restart,.share{transition:none}.actions button:hover,.next:hover,.restart:hover,.share:hover{transform:none}}
.mode-switch{display:flex;gap:9px;flex-wrap:wrap;margin:23px 0 7px}.mode-switch button{min-height:44px;padding:10px 17px;border:1px solid #76928f;border-radius:99px;background:transparent;color:var(--paper);font:800 13px DM,Arial,sans-serif;cursor:pointer}.mode-switch button[aria-pressed="true"]{background:var(--mint);border-color:var(--mint);color:var(--ink)}.mode-help{font-size:13px;margin:8px 0 0;color:#b9d0cc}.reveal{width:100%;min-height:65px;margin:30px 0 17px;border:0;border-radius:4px;background:var(--mint);color:var(--ink);font:700 17px Space,Arial,sans-serif;cursor:pointer}.reveal:hover{transform:translateY(-3px)}.reveal:disabled{opacity:.4;cursor:default}.end .score.host-final{font-size:clamp(42px,11vw,74px)}@media(prefers-reduced-motion:reduce){.reveal:hover{transform:none}}

/* Put the one-email offer at the natural pause after the free round. */
.demo-signup{max-width:490px;margin:28px auto 24px;padding:clamp(20px,4vw,30px);background:var(--paper);border:2px solid var(--ink);box-shadow:8px 8px 0 var(--accent);color:var(--ink);text-align:left}
.demo-signup-kicker{display:block;color:#8d3445;font:800 11px DM,Arial,sans-serif;letter-spacing:.12em}
.demo-signup h3{font:700 clamp(26px,6vw,34px)/1.05 Space,Arial,sans-serif;letter-spacing:-.055em;margin:10px 0 8px}
.demo-signup p{color:#365559;margin:0 0 20px;line-height:1.45}
.demo-signup>label:not(.demo-signup-consent){display:block;margin:0 0 7px;font-weight:800}
.demo-signup input[type=email]{width:100%;min-height:52px;padding:12px 14px;border:2px solid #365559;border-radius:3px;background:#fff;color:var(--ink);font:16px DM,Arial,sans-serif}
.demo-signup input[type=email]:focus-visible,.demo-signup input[type=checkbox]:focus-visible,.demo-signup button:focus-visible{outline:3px solid #a33e50;outline-offset:3px}
.demo-signup-consent{display:flex;align-items:flex-start;gap:10px;margin:15px 0;color:#27464b;font-size:13px;line-height:1.4;cursor:pointer}
.demo-signup-consent input{flex:0 0 19px;width:19px;height:19px;margin:1px 0 0;accent-color:#bd4357}
.demo-signup button{display:block;width:100%;min-height:56px;padding:12px;border:0;border-radius:3px;background:var(--accent);color:var(--ink);font:700 16px Space,Arial,sans-serif;cursor:pointer}
.demo-signup button:hover{background:#ff8791}
.demo-signup small{display:block;margin-top:12px;color:#486366;font-size:11px;line-height:1.4}
.demo-signup small a{color:#15575c;font-weight:800;text-underline-offset:2px}
.end .restart{margin-top:24px}
@media(max-width:480px){.end{padding:36px 14px}.demo-signup{margin:22px -4px 22px;padding:20px;box-shadow:5px 5px 0 var(--accent)}}
