:root{--bg: #0d1b2a;--bg-accent: #12263a;--tile: #14283d;--tile-border: #2b4360;--text: #f2f5f7;--muted: #93a5b8;--accent: #3fa34d;--amber: #f0b429;--chalk: #e8ecef;--marked: #3fa34d;--marked-text: #06121f;--display-font: "Anton", sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(1200px 600px at 50% -10%,var(--bg-accent),var(--bg));color:var(--text);font-family:Oswald,sans-serif}button{font:inherit;color:inherit;cursor:pointer;background:var(--tile);border:1px solid var(--tile-border);border-radius:10px;padding:.55rem 1rem}button:disabled{opacity:.55;cursor:default}.app-shell{max-width:560px;margin:0 auto;padding:1.2rem .9rem 2rem}.setup{text-align:center}.hero-title{margin:1.2rem 0 .4rem;line-height:.9}.hero-title .l1{display:block;font-family:var(--display-font);font-size:clamp(2.6rem,11vw,3.8rem);letter-spacing:.04em;color:var(--chalk)}.hero-title .l2{display:block;font-family:var(--display-font);font-size:clamp(2rem,8vw,2.8rem);letter-spacing:.35em;color:var(--amber);text-indent:.35em}.hero-sub{color:var(--muted);margin:.6rem auto 1.4rem;max-width:40ch}.slate-label,.manual-label{font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:1.2rem 0 .6rem}.slate{display:flex;flex-direction:column;gap:.45rem;max-height:40vh;overflow-y:auto;padding:2px}.game-chip{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:46px;font-size:.95rem}.game-chip:hover{border-color:var(--accent)}.chip-at{color:var(--amber);font-weight:600}.setup-form{margin-top:1.4rem}.manual-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.7rem}.manual-row input{flex:1;min-width:0;min-height:46px;padding:.5rem .8rem;font:inherit;color:var(--text);background:var(--tile);border:1px solid var(--tile-border);border-radius:10px}.primary{width:100%;min-height:50px;background:var(--accent);border-color:var(--accent);color:#06121f;font-weight:600;letter-spacing:.04em}.ghost{background:transparent}.resume-chip{margin-top:1rem;color:var(--muted)}.how{color:var(--muted);font-size:.85rem;margin-top:1.6rem}.error{color:#ff8484;margin-top:1rem}.card-wrap{background:linear-gradient(180deg,var(--bg-accent),var(--bg));border:1px solid var(--tile-border);border-radius:14px;overflow:hidden;margin-top:.8rem}.card-top{text-align:center;padding:.9rem .9rem .5rem;border-bottom:1px dashed var(--tile-border)}.wordmark .l1{display:block;font-family:var(--display-font);font-size:1.6rem;letter-spacing:.06em;color:var(--chalk);line-height:1}.wordmark .l2{display:block;font-family:var(--display-font);font-size:1.1rem;letter-spacing:.5em;text-indent:.5em;color:var(--amber);line-height:1.2}.card-tagline{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:.3rem}.showline{margin-top:.55rem}.matchup{font-family:var(--display-font);font-size:1.25rem;letter-spacing:.03em}.vd{font-size:.7rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.bingo-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;padding:10px 12px 12px}.tile{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:4px;border-radius:8px;font-size:.58rem;line-height:1.15;text-align:center;overflow:hidden}.tile.player{border-color:color-mix(in srgb,var(--amber) 45%,var(--tile-border) 55%)}.tile.jackpot{border-color:var(--amber);box-shadow:inset 0 0 0 1px var(--amber)}.tile.marked{background:var(--marked);color:var(--marked-text);font-weight:600}.tile.win{outline:2px solid var(--amber);outline-offset:-2px}.tile.free{background:var(--amber);color:#06121f}.tile .star{font-size:1rem;line-height:1}.tile-text{display:block}@keyframes pop{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}.win-banner{display:flex;align-items:center;justify-content:center;gap:.8rem;background:var(--amber);color:#06121f;font-weight:600;border-radius:10px;padding:.6rem;animation:pop .22s ease-out}.win-banner .ghost{border-color:#06121f;color:#06121f}.card-footer{display:flex;justify-content:space-between;align-items:baseline;gap:6px;padding:9px 14px 10px;border-top:1px solid var(--tile-border)}.brag-count{font-family:var(--display-font);font-size:20px;color:var(--amber)}.brag-of{font-size:10px;color:var(--muted);font-weight:600}.brag-rule,.brag-url{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.card-disclaimer{padding:6px 14px 12px;font-size:.6rem;line-height:1.4;color:var(--muted);text-align:center}.mode-row{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;margin-top:.75rem;justify-content:center}.mode-label{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.mode-chip{min-height:34px;padding:.25rem .8rem;font-size:.85rem;border-radius:999px}.mode-chip.active{background:var(--accent);border-color:var(--accent);color:#06121f;font-weight:600}.mode-desc{flex-basis:100%;text-align:center;font-size:.78rem;color:var(--muted)}.actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.9rem}.actions button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:46px}.actions .ghost{grid-column:1 / -1}.btn-ic{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.site-disclaimer{margin-top:2rem;font-size:.68rem;line-height:1.5;color:var(--muted);text-align:center}.print-qr{display:none}@media print{@page{size:letter portrait;margin:.35in}:root{--bg: #fff;--bg-accent: #fff;--tile: #fff;--tile-border: #222;--text: #111;--muted: #444;--accent: #111;--amber: #111;--chalk: #111;--marked: #ddd;--marked-text: #111}body{background:#fff;color:#111;-webkit-print-color-adjust:exact;print-color-adjust:exact}.win-banner,.mode-row,.actions,.error,.site-disclaimer{display:none!important}.app-shell,.app{max-width:none;margin:0;padding:0}.card-wrap{width:6in;margin:0 auto;border:2px solid #111;border-radius:0;background:#fff!important;overflow:visible;break-inside:avoid}.tile{border-radius:0}.tile.free{background:#ddd}.print-qr{display:flex;align-items:center;gap:.5rem;justify-content:center;width:6in;margin:.15in auto 0;color:#111;font-size:11px;break-inside:avoid}.print-qr img{width:1.6in;height:1.6in}}@media(max-width:420px){.tile{font-size:.52rem}}
