:root{--bg:#f7f3ff;--bg-2:#ece6fb;--ink:#1c1d3a;--muted:#5d5f84;--card:#fff;--line:#d9d1f2;--gold:#a87a08;--gold-soft:#f6e3a6;--pink:#d9467f;--lilac:#7a64d0;--wdw:#3569d4;--dlr:#d9467f;--accent:var(--lilac);--on-accent:#fff;--shadow:0 10px 30px #281e5a26;--radius:18px;--display:"Fredoka", ui-rounded, system-ui, sans-serif;--body:system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0f1433;--bg-2:#1a2150;--ink:#f4f0ff;--muted:#aeb0d6;--card:#1d2458;--line:#313b7c;--gold:#f1c75b;--gold-soft:#4d3f18;--pink:#ff8fbf;--lilac:#b3a3ff;--wdw:#7ea6ff;--dlr:#ff7eb0;--on-accent:#0f1433;--shadow:0 10px 30px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background-image:radial-gradient(1px 1px at 12% 18%, #fff8 50%, transparent 51%), radial-gradient(1px 1px at 72% 9%, #fff6 50%, transparent 51%), radial-gradient(1.5px 1.5px at 44% 32%, #fff7 50%, transparent 51%), radial-gradient(1px 1px at 88% 44%, #fff5 50%, transparent 51%), radial-gradient(1px 1px at 26% 62%, #fff4 50%, transparent 51%), linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 100%);background-attachment:fixed}}*{box-sizing:border-box}html,body{margin:0}body{background:linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 100%);min-height:100dvh;color:var(--ink);font:16px/1.4 var(--body);-webkit-tap-highlight-color:transparent;flex-direction:column;display:flex}#app{flex:1}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.screen{max-width:560px;padding:max(20px, env(safe-area-inset-top)) 16px 24px;flex-direction:column;gap:18px;margin:0 auto;display:flex}h1,h2,.card h2{font-family:var(--display);margin:0}.brand{text-align:center;padding-top:8px}.brand-ticket{font-size:44px;line-height:1}.brand h1{letter-spacing:.5px;color:var(--gold);font-size:40px}.tag{color:var(--muted);margin:4px 0 0}.step h2{color:var(--muted);margin-bottom:10px;font-size:18px;font-weight:600}.seg{background:var(--card);border:1px solid var(--line);border-radius:14px;grid-template-columns:.7fr 1fr 1fr;gap:6px;padding:4px;display:grid}.seg-btn{background:0 0;border:0;border-radius:10px;padding:10px 6px;font-size:14px;font-weight:600}.seg-btn[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.seg-btn.r-wdw[aria-pressed=true]{background:var(--wdw)}.seg-btn.r-dlr[aria-pressed=true]{background:var(--dlr)}.chips{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.chip{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:7px 12px;font-size:14px}.chip[aria-pressed=true]{border-color:var(--gold);background:var(--gold-soft);font-weight:600}.cats{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.cat{border:2px solid var(--line);background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;align-items:center;gap:4px;padding:14px 6px;display:flex}.cat[aria-pressed=true]{border-color:var(--gold)}.cat:disabled{opacity:.4;box-shadow:none}.cat-emoji{font-size:28px}.cat-label{font-family:var(--display);text-align:center;font-size:15px;font-weight:600}.cat-count{color:var(--muted);font-size:12px}.pool-line{text-align:center;color:var(--muted);margin:0}.deal,.btn{font-family:var(--display);background:linear-gradient(135deg, var(--gold), var(--pink));color:#fff;box-shadow:var(--shadow);border:0;border-radius:999px;padding:16px 20px;font-size:20px;font-weight:700}.deal:disabled{background:var(--line);color:var(--muted);box-shadow:none}.btn.secondary{background:var(--card);color:var(--ink);border:1px solid var(--line);font-size:17px}.game-head{z-index:2;padding:max(8px, env(safe-area-inset-top)) 16px 10px;background:var(--bg);flex-direction:column;gap:10px;margin:0 -16px;display:flex;position:sticky;top:0}.counter{text-align:center;font-family:var(--display);color:var(--muted);margin:0;font-weight:600}.card{--accent:var(--lilac);background:var(--card);border:2px solid var(--accent);box-shadow:var(--shadow);transform-origin:top;border-radius:22px;min-height:200px;padding:18px 18px 16px;animation:.38s cubic-bezier(.2,.8,.2,1) flip-in}.card.wdw{--accent:var(--wdw)}.card.dlr{--accent:var(--dlr)}.card-kicker{color:var(--accent);text-transform:uppercase;letter-spacing:.6px;font-size:13px;font-weight:600}.card h2{overflow-wrap:anywhere;margin:6px 0 4px;font-size:26px;line-height:1.15}.card .kind{color:var(--muted);margin:0;font-size:14px}.card .blurb{margin:10px 0 0}@keyframes flip-in{0%{opacity:0;transform:perspective(700px)rotateX(-70deg)}to{opacity:1;transform:none}}.slots{gap:6px;margin:0;padding:0;list-style:none;display:grid}.slot{text-align:left;border:2px dashed var(--line);background:0 0;border-radius:14px;align-items:center;gap:12px;width:100%;min-height:48px;padding:10px 12px;display:flex}.slot:not(:disabled):hover,.slot:not(:disabled):active{border-color:var(--gold);background:var(--gold-soft)}.slot:disabled{background:var(--card);cursor:default;border-style:solid}.slot-n{font-family:var(--display);text-align:center;width:28px;color:var(--gold);flex:none;font-size:20px;font-weight:700}.slot-name{overflow-wrap:anywhere}.slot:not(:disabled) .slot-name{color:var(--muted)}.results h1{text-align:center;color:var(--gold);font-size:30px}.results .sub{text-align:center;color:var(--muted);margin:-10px 0 0}.final{gap:6px;margin:0;padding:0;list-style:none;display:grid}.final li{background:var(--card);border:1px solid var(--line);border-radius:14px;align-items:center;gap:12px;padding:10px 12px;display:flex}.final .where{color:var(--muted);font-size:12px;display:block}.actions{gap:10px;display:grid}.fallback{border:1px solid var(--line);background:var(--card);width:100%;min-height:220px;color:var(--ink);font:14px/1.4 var(--body);border-radius:12px;padding:10px}.confetti{pointer-events:none;z-index:10;position:fixed;inset:0;overflow:hidden}.confetti span{border-radius:2px;width:8px;height:12px;animation:2.2s ease-in forwards fall;position:absolute;top:-12px}@keyframes fall{to{opacity:.2;transform:translateY(105vh)rotate(540deg)}}@media (prefers-reduced-motion:reduce){.card{animation:none}}.foot{text-align:center;color:var(--muted);padding:12px 16px max(16px, env(safe-area-inset-bottom));font-size:12px}.deep-row{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:14px;align-items:flex-start;gap:12px;margin-top:12px;padding:12px;display:flex}.deep-row input{width:22px;height:22px;accent-color:var(--gold);flex:none;margin:1px 0 0}.deep-label{font-weight:600;display:block}.deep-hint{color:var(--muted);font-size:13px;display:block}.deep-tag{background:var(--gold-soft);color:var(--ink);letter-spacing:.4px;border-radius:999px;margin-left:8px;padding:1px 7px;font-size:11px}.game-bar{justify-content:space-between;align-items:center;gap:12px;display:flex}.game-bar .counter{text-align:left}.start-over{border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:999px;min-height:32px;padding:6px 12px;font-size:13px}.start-over.armed{border-color:var(--pink);color:var(--pink);font-weight:600}.card.has-photo{color:#fff;border-color:#0000;position:relative;overflow:hidden}.card-photo{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}.card.has-photo:after{content:"";z-index:0;background:linear-gradient(#0a0c2826 0%,#0a0c288c 45%,#0a0c28e6 100%);position:absolute;inset:0}.card.has-photo>:not(.card-photo){z-index:1;position:relative}.card.has-photo .card-kicker{color:#fff;text-shadow:0 1px 3px #0009}.card.has-photo .kind{color:#fffc}.card.has-photo h2,.card.has-photo .blurb{text-shadow:0 1px 4px #0009}.card.has-photo{flex-direction:column;justify-content:flex-end;display:flex}.credit{color:#ffffffb3;margin-top:8px;font-size:10px;text-decoration:none;display:block}.credit:hover{text-decoration:underline}.game-actions{gap:8px;display:flex}.skip{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;min-height:32px;padding:6px 14px;font-size:13px;font-weight:600}.skip:disabled{opacity:.4}.game-bar .counter,.skip,.start-over{white-space:nowrap}
