:root{--bg:#161616;--fg:#f5f5f5;--accent:#ffd400;--muted:#a8a8a8;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);-webkit-tap-highlight-color:transparent;margin:0;font-family:Helvetica Neue,Arial,sans-serif}.app{max-width:560px;padding:12px 14px calc(24px + env(safe-area-inset-bottom));margin:0 auto}.logo{text-align:center;letter-spacing:-1px;margin:8px 0 14px;font-size:1.9rem}.logo span{color:#111;background:#fff;border-radius:6px;padding:2px 8px}.logo .inv{color:#fff;background:#111;border:2px solid #fff}.panel{flex-direction:column;gap:12px;display:flex}.center{text-align:center;align-items:center}label{font-weight:700}input{font:inherit;color:#fff;background:#222;border:2px solid #444;border-radius:10px;width:100%;padding:12px}input:focus{border-color:var(--accent);outline:none}.join{gap:8px;display:flex}.join input{text-transform:uppercase;flex:1}.btn{font:inherit;background:var(--accent);color:#111;cursor:pointer;border:0;border-radius:12px;padding:14px 18px;font-weight:800}.btn.alt{background:#fff}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.sticky{width:100%;position:sticky;bottom:10px;box-shadow:0 4px 18px #000a}.link-btn{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;align-self:center;padding:8px;text-decoration:underline}.hint{color:var(--muted);margin:4px 0;font-size:.92rem}.hint.ok{color:#7ee787}.banner{text-align:center;background:#333;border-radius:8px;margin:6px 0;padding:8px 12px}.banner.error{background:#7a1f1f}.banner.warn{background:#5c4300}.code{letter-spacing:.2em;text-align:center;color:var(--accent);margin:0;font-size:2.6rem;font-weight:900}.link{font-size:.85rem}.players,.status,.scores,.rank-list{margin:0;padding:0;list-style:none}.players li,.scores li,.rank-list li{background:#222;border-radius:10px;justify-content:space-between;margin-bottom:6px;padding:10px 12px;display:flex}.status{color:var(--muted);margin-top:12px;font-size:.88rem}.status li.done{color:#7ee787}.status li.away{opacity:.5}.tag{background:var(--accent);color:#111;border-radius:6px;margin-left:6px;padding:1px 7px;font-size:.75rem;font-weight:800}.topbar{justify-content:space-between;margin-bottom:8px;font-weight:700;display:flex}.timer{background:#222;border-radius:999px;padding:2px 10px}.timer.low{background:#a12a2a}.card{overflow-wrap:anywhere;border-radius:14px;padding:16px;font-size:1.1rem;font-weight:800;line-height:1.35}.card.black{color:#fff;background:#000;border:2px solid #fff}.card.black.small{font-size:1rem}.card.white{color:#111;text-align:left;font:inherit;cursor:pointer;background:#fff;border:3px solid #fff;min-height:84px;font-weight:800;position:relative}.card.white.picked{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent);transform:translateY(-3px)}.card.white:disabled{cursor:default;opacity:.9}.blank{border-bottom:3px solid var(--accent);color:var(--accent);padding:0 4px}.blank.filled{color:#fff;background:#222;border-radius:4px}.hand{grid-template-columns:1fr 1fr;gap:10px;margin:12px 0;display:grid}.tag.two{background:var(--accent);color:#111;margin-left:8px}.twohint{border:2px solid var(--accent);background:#2a2540;border-radius:10px;margin:6px 0;padding:8px 12px;font-size:.95rem}.rank{background:var(--accent);text-align:center;border-radius:50%;width:24px;height:24px;font-size:.85rem;line-height:24px;position:absolute;top:-8px;right:-8px}.answer{margin-bottom:14px}.answer.win .card{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent)}.who{margin:0 0 4px;font-weight:700}.answer.win .who{color:var(--accent)}.note{color:var(--muted);margin:4px 0 0;font-size:.85rem}.comment{border-left:4px solid var(--accent);background:#222;border-radius:6px;margin:12px 0;padding:10px 14px}.judging{font-size:1.4rem;font-weight:800;animation:1.2s infinite pulse}@keyframes pulse{50%{opacity:.4}}.winner{color:var(--accent);text-align:center;margin:0;font-size:1.4rem;font-weight:900}.rank-list li.first{background:var(--accent);color:#111}h2{text-align:center;margin:0}.points{text-align:center;color:var(--accent);margin:10px 0 0;font-size:1.2rem;font-weight:900}.points.pasphoto{color:#ff6b6b;font-size:1.4rem}.jokers{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:6px;margin:8px 0;display:grid}.jokers.pick{grid-template-columns:1fr}.jokers.pick .joker{text-align:left;flex-direction:row;gap:10px;padding:8px 10px;font-size:.85rem}.jokers.pick .joker small{flex:1}.lobby-status{color:var(--muted);font-size:.85rem}.lobby-status.done{color:#7ee787}.joker{font:inherit;color:#fff;cursor:pointer;background:#222;border:2px solid #555;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:8px 2px;font-size:.72rem;font-weight:800;display:flex}.joker .jicon{font-size:1.4rem}.joker small{color:var(--muted);font-weight:600}.joker.active{border-color:var(--accent);color:var(--accent)}.joker:disabled{opacity:.4;cursor:not-allowed}.joker.active:disabled{opacity:1}.joker.used:not(.active){-webkit-text-decoration:line-through #888;text-decoration:line-through #888}.jokerform{background:#222;border-radius:10px;flex-direction:column;gap:8px;margin-bottom:8px;padding:10px;display:flex}.jokerline{color:var(--accent);margin:4px 0 0;font-size:.85rem}.plea{color:#ddd;margin:2px 0 0;font-style:italic}.delta{color:#7ee787;margin:2px 0 0;font-weight:800}.delta.neg{color:#ff6b6b}
