:root{--felt:#1c4a33;--felt-dark:#143826;--text:#f4f1e8;--muted:#f4f1e8b3;--gold:#ffd24a;--gold-text:#2a2110;--mine:#7cfc9a;--theirs:#ffb3a7;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:radial-gradient(ellipse at 50% 35%, #25603f 0%, var(--felt) 55%, var(--felt-dark) 100%);height:100%;color:var(--text);-webkit-user-select:none;user-select:none;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}#app{max-width:960px;height:100%;padding:env(safe-area-inset-top) 12px env(safe-area-inset-bottom);margin:0 auto}.screen{flex-direction:column;height:100%;display:flex}[hidden]{display:none!important}button{font:inherit;cursor:pointer;color:var(--text);background:#ffffff1f;border:0;border-radius:14px;padding:14px 22px;font-size:18px;font-weight:650}button.primary{background:var(--gold);color:var(--gold-text)}button:disabled{opacity:.35;cursor:default}button.link{color:var(--muted);background:0 0;text-decoration:underline}.menu{text-align:center;justify-content:center;align-items:center;gap:14px}.logo{flex-direction:column;gap:4px;margin:0 0 18px;font-size:38px;display:flex}.logo-sub{color:var(--muted);font-size:18px;font-weight:400}.label{color:var(--muted);margin:0}.levels{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.levels button[aria-pressed=true]{color:var(--felt-dark);background:#ffffffeb}.hud{justify-content:space-between;align-items:center;gap:8px;padding:8px 0 4px;display:flex}.side{border-radius:12px;flex-direction:column;align-items:center;min-width:70px;padding:6px 10px;transition:background .2s;display:flex}.side .name{color:var(--muted);font-size:14px}.side .score{font-size:28px;font-weight:800}.side.active{box-shadow:0 0 0 2px var(--gold) inset;background:#ffffff24}.me .score{color:var(--mine)}.bot .score{color:var(--theirs)}.center{text-align:center}.deal{color:var(--muted);font-size:13px}.turn{min-height:24px;font-size:18px;font-weight:700}.table-wrap{flex:1;min-height:0;position:relative}.table-wrap canvas{touch-action:none;width:100%;height:100%;position:absolute;inset:0}.controls{align-items:center;gap:12px;min-height:72px;padding:8px 0 14px;display:flex}.dots{gap:6px;display:flex}.dots span{background:var(--gold);border-radius:50%;width:14px;height:14px}.dots span.used{background:#fff3}.overlay{z-index:10;background:#08140ea8;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.sheet{color:#1d1d1f;text-align:center;background:#fdfbf6;border-radius:20px;width:100%;max-width:420px;padding:22px 22px 18px;box-shadow:0 20px 60px #0006}.sheet h2{margin:0 0 8px}.sheet .big{margin:6px 0;font-size:30px;font-weight:800}.sheet .row{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px;display:flex}.sheet button{color:#1d1d1f;background:#ece7da}.sheet button.primary{background:var(--gold)}.rules{text-align:left}.rules ol{padding-left:22px;line-height:1.4}.rules li{margin-bottom:8px}.rules button{margin:8px auto 0;display:block}#overlay-detail{white-space:pre-line;color:#555}.row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}button.big{min-width:260px;padding:16px 26px;font-size:22px}button.ghost{color:var(--muted);background:0 0;padding:10px 12px;font-size:15px}.netbar{z-index:20;text-align:center;color:#fff;background:#8a2a1f;padding:6px;font-size:14px;position:fixed;top:0;left:0;right:0}.me-card{flex-direction:column;align-items:center;gap:2px;margin-bottom:10px;display:flex}.me-name{background:0 0;padding:2px 8px;font-size:22px;font-weight:750;-webkit-text-decoration:underline dotted #fff6;text-decoration:underline dotted #fff6}.me-line{color:var(--gold);font-size:17px;font-weight:600}.me-sub{color:var(--muted);font-size:14px}.wait{text-align:center;justify-content:center;align-items:center;gap:12px}.wait h2{margin:0}.hint{color:var(--muted);max-width:340px;margin:0}.big-timer{font-variant-numeric:tabular-nums;margin:4px 0;font-size:34px;font-weight:800}.spinner{border:5px solid #ffffff2e;border-top-color:var(--gold);border-radius:50%;width:54px;height:54px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.side .clock{visibility:hidden;background:#ffffff1f;border-radius:2px;width:100%;height:4px;margin-top:4px;display:block;overflow:hidden}.side.active .clock{visibility:visible}.clock-bar{background:var(--gold);transform-origin:0;width:100%;height:100%;display:block}.clock-bar.low{background:#ff6b5a}.side .name{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.side.offline .name:after{content:" ⚠"}.toast{text-align:center;z-index:30;background:#000000bf;border-radius:10px;max-width:calc(100% - 32px);padding:8px 14px;font-size:15px;position:fixed;bottom:96px;left:50%;transform:translate(-50%)}.game{position:relative}.controls{justify-content:space-between}.bar{justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}.bar h2{margin:0;font-size:20px}.list{overflow:hidden}.history{flex:1;margin:0;padding:0 0 16px;list-style:none;overflow-y:auto}.history li{cursor:pointer;background:#ffffff14;border-radius:12px;grid-template-columns:1fr auto;gap:2px 10px;margin-bottom:8px;padding:12px 14px;display:grid}.history .who{font-weight:650}.history .res{text-align:right;font-weight:750}.history .res.won{color:var(--mine)}.history .res.lost{color:var(--theirs)}.history .meta{color:var(--muted);font-size:13px}.history .empty{text-align:center;color:var(--muted);cursor:default;background:0 0;display:block}.replay-controls{justify-content:center;gap:8px}.replay-controls button{min-width:52px;padding:12px 10px}.replay-controls .step{color:var(--muted);text-align:center;min-width:90px;font-size:14px}.sheet input{font:inherit;border:1px solid #c9c2b2;border-radius:10px;width:100%;margin:8px 0 4px;padding:10px 12px;font-size:20px}.logo{margin-bottom:6px}.menu{justify-content:safe center;gap:10px;padding:12px 0;overflow-y:auto}.daily-card{width:100%;max-width:340px}.daily-btn{background:linear-gradient(135deg,#ffd24a40,#ffffff1a);border:1px solid #ffd24a80;flex-direction:column;align-items:center;gap:2px;width:100%;display:flex}.daily-btn small{color:var(--muted);font-size:13px;font-weight:500}.tasks{text-align:left;background:#0000002e;border-radius:14px;width:100%;max-width:340px;padding:10px 14px}.tasks-title{color:var(--muted);margin-bottom:4px;font-size:13px}.tasks ul{margin:0;padding:0;list-style:none}.tasks li{grid-template-columns:1fr auto;gap:8px;padding:3px 0;font-size:14px;display:grid}.tasks li.done{color:var(--mine)}.tasks li .count{font-variant-numeric:tabular-nums;color:var(--muted)}.tasks li.done .count{color:var(--mine)}.daily-info{text-align:center;margin:0 auto 10px}#daily-start{margin:0 auto 12px}.daily-list li{grid-template-columns:2.2em 1fr auto}.daily-list li.me{background:#ffd24a33}.daily-list .place{color:var(--gold);font-weight:800}.hint-bubble{z-index:4;color:#1d1d1f;background:#fdfbf6;border-radius:14px;align-items:center;gap:10px;width:min(92%,420px);padding:10px 12px;font-size:15px;line-height:1.3;animation:.25s ease-out drop;display:flex;position:absolute;top:6px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000059}.hint-bubble button{background:var(--gold);color:var(--gold-text);flex:none;padding:8px 12px;font-size:14px}@keyframes drop{0%{opacity:0;transform:translate(-50%,-12px)}}.score.bump{animation:.45s ease-out bump}@keyframes bump{30%{transform:scale(1.35)}}.side.pulse{animation:.9s ease-out pulse}@keyframes pulse{0%{box-shadow:0 0 0 2px var(--gold) inset, 0 0 0 0 #ffd24ab3}to{box-shadow:0 0 0 2px var(--gold) inset, 0 0 0 14px #ffd24a00}}button.link.small{padding:4px 8px;font-size:13px}
