:root{--ink:#1a1628;--ink-2:#2a2440;--paper:#f0efed;--paper-dim:#c9c6c1;--gold:#ec7200;--lilac:#32a29b;--mute:#636363;--line:#dedcd8;--serif:"Tiempos Headline", "Crimson Text", Georgia, "Iowan Old Style", "Times New Roman", serif;--sans:"Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;--s:1}body.big{--gold:#ffc700}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-text-size-adjust:100%;overscroll-behavior-y:none;margin:0;padding:0}body{min-height:100vh;min-height:100dvh}button,input{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--lilac);font-size:11px;font-weight:600}.app{max-width:560px;padding:0 10px calc(24px + env(safe-area-inset-bottom));margin:0 auto}.start{padding-top:62px}.start h1{font-family:var(--serif);letter-spacing:-.01em;margin:10px 0 6px;font-size:40px;font-weight:400;line-height:1.05}.start .sub{color:var(--mute);margin:0 0 26px;font-size:14px}.rules{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.rules li{border-bottom:1px solid var(--line);align-items:baseline;gap:12px;padding:13px 2px;font-size:15px;line-height:1.35;display:flex}.rules .n{font-family:var(--serif);color:var(--lilac);flex:none;min-width:14px;font-size:15px}.field label{color:var(--mute);margin-bottom:7px;font-size:13px;font-weight:600;display:block}input[type=text]{border:1px solid var(--paper-dim);background:#fff;border-radius:10px;outline:none;width:100%;padding:15px 14px;font-size:17px}input[type=text]:focus{border-color:var(--lilac);box-shadow:0 0 0 3px #32a29b3d}.btn{background:var(--ink);width:100%;color:var(--paper);letter-spacing:.01em;border-radius:10px;margin-top:12px;padding:16px;font-size:16px;font-weight:600;display:block}.btn:disabled{opacity:.4}.btn.ghost{color:var(--mute);background:0 0;padding:12px;font-size:14px;font-weight:500}.btn.gold{background:var(--gold);color:var(--ink)}.corner{letter-spacing:.08em;text-transform:uppercase;color:var(--mute);border:1px solid var(--line);z-index:5;background:#fffc;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:600;position:fixed;top:8px;right:8px}.err{color:#9a2f3d;margin:10px 0 0;font-size:14px;line-height:1.35}.cardhead{z-index:3;background:var(--paper);padding:calc(10px + env(safe-area-inset-top)) 2px 10px;border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0}.cardhead .row{justify-content:space-between;align-items:baseline;gap:10px;margin-top:3px;display:flex}.cardhead h1{font-family:var(--serif);margin:0;font-size:22px;font-weight:400}.counts{color:var(--mute);white-space:nowrap;font-size:13px}.counts b{font-family:var(--serif);color:var(--gold);font-size:19px;font-weight:400}.grid{grid-template-columns:repeat(4,1fr);gap:5px;margin-top:12px;display:grid}.cell{aspect-ratio:1/1.22;border:1px solid var(--line);text-align:center;background:#fff;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:5px 3px;transition:background-color .2s,color .2s,border-color .2s;display:flex;position:relative;overflow:hidden}.cell .label{color:var(--ink);overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;font-size:12.5px;font-weight:500;line-height:1.18;overflow:hidden}.cell.done{background:var(--ink);border-color:var(--ink)}.cell.done .label{color:var(--lilac);letter-spacing:.01em;text-transform:uppercase;-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:0 auto;min-height:0;margin-bottom:3px;font-size:9.5px;font-weight:600;line-height:1.12;display:-webkit-box}.cell .found{font-family:var(--serif);color:var(--gold);overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;flex:none;max-width:100%;font-size:17px;font-weight:600;line-height:1.1}.cell .found.len-m{font-size:14.5px}.cell .found.len-l{letter-spacing:-.01em;font-size:12.5px}.cell.inline-win{box-shadow:inset 0 0 0 2px var(--gold)}.foot{color:var(--mute);justify-content:space-between;align-items:center;gap:10px;margin-top:14px;font-size:12px;display:flex}.sync{align-items:center;gap:6px;display:flex}.sync .dot{background:var(--paper-dim);border-radius:50%;flex:none;width:6px;height:6px}.sync.warn{color:#8a6a1f}.sync.warn .dot{background:var(--gold)}.bingo{border:1px solid var(--gold);background:#fff;border-radius:10px;margin-top:14px;padding:14px 15px}.bingo h2{font-family:var(--serif);color:var(--ink);margin:0 0 4px;font-size:22px;font-weight:400}.bingo p{color:var(--mute);margin:0;font-size:14px;line-height:1.4}.bingo .btn.ghost{text-align:left;padding:10px 0 0}.scrim{z-index:10;background:#1a162873;justify-content:center;align-items:flex-end;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.sheet{background:var(--paper);width:100%;max-width:560px;padding:20px 18px calc(20px + env(safe-area-inset-bottom));max-height:88vh;border-radius:16px 16px 0 0;max-height:88dvh;overflow-y:auto}.sheet .q{font-family:var(--serif);margin:8px 0 18px;font-size:23px;font-weight:400;line-height:1.25}.sheet .actions{gap:10px;margin-top:12px;display:flex}.sheet .actions .btn{margin-top:0}.sheet .actions .btn.ghost{flex:none;width:auto;padding:16px 14px}body.big{background:var(--ink);color:var(--paper)}.big-wrap{min-height:100vh;min-height:100dvh;padding:calc(24px * var(--s)) calc(34px * var(--s));flex-direction:column;display:flex;overflow:hidden}.big-head{justify-content:space-between;align-items:baseline;gap:calc(16px * var(--s));padding-bottom:calc(14px * var(--s));padding-right:calc(130px * var(--s));border-bottom:1px solid #32a29b57;display:flex}.big-head .eyebrow{font-size:calc(13px * var(--s));color:var(--lilac)}.big-head h1{font-family:var(--serif);font-weight:400;font-size:calc(34px * var(--s));margin:calc(4px * var(--s)) 0 0}.stats{gap:calc(28px * var(--s));padding:calc(24px * var(--s)) 0 calc(20px * var(--s));border-bottom:1px solid #32a29b57;grid-template-columns:repeat(3,1fr);display:grid}.stat .v{font-family:var(--serif);color:var(--gold);font-weight:400;font-size:calc(86px * var(--s));letter-spacing:-.02em;line-height:.92}.stat .k{margin-top:calc(9px * var(--s));font-size:calc(16px * var(--s));letter-spacing:.14em;text-transform:uppercase;color:var(--lilac);font-weight:600}.board{padding-top:calc(14px * var(--s));flex:1}.lb{border-collapse:collapse;width:100%}.lb td{padding:calc(8px * var(--s)) calc(8px * var(--s));font-size:calc(26px * var(--s));vertical-align:baseline;border-bottom:1px solid #32a29b33}.lb .rank{font-family:var(--serif);color:var(--mute);width:calc(76px * var(--s));font-size:calc(24px * var(--s))}.lb .nm{font-family:var(--serif);font-size:calc(34px * var(--s));color:var(--paper)}.lb tr.won .nm{color:var(--gold)}.lb .num{text-align:right;white-space:nowrap;color:var(--paper-dim);font-size:calc(20px * var(--s));letter-spacing:.05em;text-transform:uppercase;width:calc(230px * var(--s))}.lb .num b{font-family:var(--serif);font-weight:400;font-size:calc(26px * var(--s));color:var(--paper);letter-spacing:0}.lb tr.won .num b{color:var(--gold)}.waiting{font-family:var(--serif);font-size:calc(34px * var(--s));color:var(--lilac);padding-top:calc(50px * var(--s))}.big-foot{justify-content:space-between;align-items:center;gap:calc(16px * var(--s));padding-top:calc(16px * var(--s));font-size:calc(14px * var(--s));color:var(--mute);display:flex}.big-foot button{font-size:calc(13px * var(--s));letter-spacing:.1em;text-transform:uppercase;color:var(--mute);padding:calc(8px * var(--s)) calc(14px * var(--s));border:1px solid #32a29b57;border-radius:999px;font-weight:600}.big-foot .danger{color:var(--gold);border-color:#ffc70080}.big-foot .stale{color:var(--gold)}body.big .corner{color:var(--lilac);font-size:calc(11px * var(--s));padding:calc(8px * var(--s)) calc(11px * var(--s));background:#2a2440eb;border-color:#32a29b57}.confirm{z-index:20;text-align:center;background:#1a1628e6;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.confirm .box{max-width:calc(640px * var(--s))}.confirm h2{font-family:var(--serif);font-weight:400;font-size:calc(38px * var(--s));margin:0 0 calc(10px * var(--s))}.confirm p{color:var(--paper-dim);font-size:calc(18px * var(--s));margin:0 0 calc(24px * var(--s))}.confirm .row{gap:calc(12px * var(--s));justify-content:center;display:flex}.confirm .row .btn{width:auto;padding:calc(14px * var(--s)) calc(26px * var(--s));font-size:calc(16px * var(--s));margin:0}.confirm .row .btn.ghost{color:var(--paper-dim);border:1px solid #32a29b57}@media (max-width:340px){.cell .label{font-size:10.5px}.cell.done .label{letter-spacing:0;font-size:8px}.cell .found{font-size:15px}.cell .found.len-m{font-size:13px}.cell .found.len-l{font-size:11px}}.headtop{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.clock{font-family:var(--serif);color:var(--mute);font-variant-numeric:tabular-nums;letter-spacing:.01em;font-size:17px}.clock.urgent{color:var(--ink);font-weight:700}.clock.done{color:var(--mute);font-style:italic}.grid.locked .cell{opacity:.72}.grid.locked .cell.done{opacity:1}.bingo.final{border-color:var(--paper-dim)}.bingo.final h2{color:var(--ink)}.bingo.final p b{font-family:var(--serif);color:var(--ink);font-size:17px;font-weight:400}.waitbar{color:var(--mute);align-items:center;gap:9px;padding:15px 0 4px;font-size:15px;display:flex}.waitbar .pulse{background:var(--lilac);border-radius:50%;flex:none;width:8px;height:8px;animation:1.8s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.25}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.waitbar .pulse{opacity:.8;animation:none}}.bigclock{font-family:var(--serif);font-size:calc(72px * var(--s));color:var(--paper-dim);font-variant-numeric:tabular-nums;letter-spacing:-.01em;line-height:1}.bigclock.urgent{color:var(--paper)}.bigclock.done{color:var(--lilac);font-style:italic;font-size:calc(48px * var(--s))}.prestart{justify-content:center;gap:calc(26px * var(--s));padding:calc(24px * var(--s)) 0;flex-direction:column;flex:1;display:flex}.ready{align-items:baseline;gap:calc(18px * var(--s));display:flex}.ready .v{font-family:var(--serif);font-size:calc(104px * var(--s));color:var(--gold);letter-spacing:-.02em;line-height:.9}.ready .k{font-size:calc(20px * var(--s));letter-spacing:.14em;text-transform:uppercase;color:var(--lilac);font-weight:600}.big-rules{border-top:1px solid #32a29b57;margin:0;padding:0;list-style:none}.big-rules li{gap:calc(16px * var(--s));padding:calc(11px * var(--s)) 0;font-size:calc(26px * var(--s));color:var(--paper);border-bottom:1px solid #32a29b33;align-items:baseline;display:flex}.big-rules .n{font-family:var(--serif);color:var(--lilac);min-width:calc(26px * var(--s));flex:none}.startrow{align-items:center;gap:calc(22px * var(--s));flex-wrap:wrap;display:flex}.startbtn{background:var(--paper);color:var(--ink);border-radius:calc(10px * var(--s));padding:calc(18px * var(--s)) calc(38px * var(--s));font-size:calc(24px * var(--s));letter-spacing:.01em;font-weight:700}.startbtn:disabled{opacity:.45}.dur{align-items:center;gap:calc(12px * var(--s));display:flex}.stepper{width:calc(44px * var(--s));height:calc(44px * var(--s));color:var(--paper);font-size:calc(22px * var(--s));border:1px solid #32a29b66;border-radius:50%;line-height:1}.durval{font-size:calc(18px * var(--s));color:var(--lilac);letter-spacing:.1em;text-transform:uppercase;min-width:calc(96px * var(--s))}.durval b{font-family:var(--serif);font-weight:400;font-size:calc(30px * var(--s));color:var(--paper);letter-spacing:0}.starthint{font-size:calc(17px * var(--s));color:var(--mute);margin:0}.bingo.final .tally{font-family:var(--serif);color:var(--mute);margin:0 0 8px;font-size:15px}.bingo.final .tally b{color:var(--gold);font-size:26px;font-weight:400}.bingo.final .handoff{border-top:1px solid var(--line);color:var(--mute);margin-top:12px;padding-top:12px;font-size:13.5px}.bingo.final .handoff b{color:var(--ink);font-weight:600}.prestart{align-items:center;gap:calc(46px * var(--s));flex-direction:row}.prestart-main{gap:calc(24px * var(--s));flex-direction:column;flex:1;min-width:0;display:flex}.joincol{width:calc(300px * var(--s));text-align:center;flex:none}.qr{width:calc(300px * var(--s));height:calc(300px * var(--s));border-radius:calc(12px * var(--s));padding:calc(10px * var(--s));background:#fff;line-height:0}.qr-ph{background:var(--paper-dim);border-radius:calc(6px * var(--s));width:100%;height:100%}.joinurl{margin-top:calc(14px * var(--s));font-family:var(--serif);font-size:calc(28px * var(--s));color:var(--paper);word-break:break-all}.joink{margin-top:calc(5px * var(--s));font-size:calc(14px * var(--s));letter-spacing:.14em;text-transform:uppercase;color:var(--lilac);font-weight:600}.footurl{color:var(--mute);font-variant-numeric:tabular-nums}.finish{justify-content:center;gap:calc(22px * var(--s));padding:calc(16px * var(--s)) 0;flex-direction:column;flex:1;display:flex}.winner .k{font-size:calc(18px * var(--s));letter-spacing:.2em;text-transform:uppercase;color:var(--lilac);font-weight:600}.winner .nm{font-family:var(--serif);font-weight:600;font-size:calc(116px * var(--s));color:var(--gold);letter-spacing:-.02em;margin:calc(6px * var(--s)) 0;word-break:break-word;line-height:1}.winner .score{font-size:calc(24px * var(--s));color:var(--paper-dim)}.winner .score b{font-family:var(--serif);font-weight:400;font-size:calc(34px * var(--s));color:var(--paper)}.roomline{font-family:var(--serif);font-size:calc(30px * var(--s));color:var(--paper);padding-bottom:calc(6px * var(--s));border-bottom:1px solid #32a29b57}.roomline b{color:var(--gold)}.lb.tight td{padding:calc(6px * var(--s)) calc(8px * var(--s))}.lb.tight .nm{font-size:calc(30px * var(--s))}.lb.tight .num{font-size:calc(18px * var(--s))}.lb.tight .num b{font-size:calc(24px * var(--s))}@media (max-aspect-ratio:1){.prestart{flex-direction:column;align-items:stretch}.joincol{align-items:center;gap:calc(24px * var(--s));text-align:left;width:100%;display:flex}.qr{flex:none}}.zs-logo{width:auto;height:100%;display:block}.brand{color:#898a8d;align-items:center;gap:10px;height:34px;margin-bottom:18px;display:flex}body.big .brand{height:calc(46px * var(--s));margin-bottom:calc(12px * var(--s));color:var(--paper)}.podium{justify-content:center;align-items:flex-end;gap:calc(20px * var(--s));padding-bottom:calc(6px * var(--s));display:flex}.pod{max-width:calc(420px * var(--s));text-align:center;flex:1 1 0;min-width:0}.pod .pname{font-family:var(--serif);color:var(--paper);word-break:break-word;font-weight:600;line-height:1.02}.pod .pscore{margin:calc(6px * var(--s)) 0 calc(10px * var(--s));color:var(--paper-dim);font-size:calc(17px * var(--s))}.pod .pscore b{font-family:var(--serif);color:var(--paper);font-weight:400}.pblock{border-radius:calc(10px * var(--s)) calc(10px * var(--s)) 0 0;font-family:var(--serif);justify-content:center;align-items:center;font-weight:600;line-height:1;display:flex}.pod-1 .pname{font-size:calc(76px * var(--s));color:var(--gold)}.pod-1 .pblock{height:calc(150px * var(--s));background:var(--gold);color:var(--ink);font-size:calc(52px * var(--s))}.pod-2 .pname{font-size:calc(46px * var(--s))}.pod-2 .pblock{height:calc(104px * var(--s));background:var(--paper);color:var(--ink);font-size:calc(34px * var(--s))}.pod-3 .pname{font-size:calc(40px * var(--s))}.pod-3 .pblock{height:calc(72px * var(--s));color:var(--paper);font-size:calc(30px * var(--s));background:#f0efed47}.pod-2 .pscore,.pod-3 .pscore{font-size:calc(15px * var(--s))}.closer{font-family:var(--serif);color:var(--ink);margin:18px 0 26px;font-size:16px;font-style:italic;line-height:1.4}.big-lead{font-family:var(--serif);font-size:calc(30px * var(--s));color:var(--paper);margin:0;line-height:1.25}.big-closer{font-family:var(--serif);font-style:italic;font-size:calc(26px * var(--s));color:var(--gold);margin:0;line-height:1.3}.lobby{margin-top:calc(16px * var(--s));padding-top:calc(14px * var(--s));border-top:1px solid #32a29b57}.lobby.empty{font-family:var(--serif);font-style:italic;font-size:calc(24px * var(--s));color:var(--mute)}.lobby-k{font-size:calc(14px * var(--s));letter-spacing:.16em;text-transform:uppercase;color:var(--lilac);margin-bottom:calc(10px * var(--s));font-weight:600}.lobby-names{gap:calc(6px * var(--s)) calc(20px * var(--s));flex-wrap:wrap;align-items:baseline;display:flex}.lname{font-family:var(--serif);font-size:calc(24px * var(--s));color:var(--paper);line-height:1.2}.lname:first-child{color:var(--gold)}.lmore{font-size:calc(18px * var(--s));color:var(--mute);letter-spacing:.06em;text-transform:uppercase;font-weight:600}
