body{--grid-cell: min(179px, calc((100vw - 24px)/4) );padding:var(--page-top) 12px 0;display:flex;flex-direction:column;align-items:center}.game{display:flex;flex-direction:column}:root{--x-color: #2d6a8c;--o-color: #dd6688}.match-strip{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:8px;margin:0 0 10px}.player-card{display:flex;align-items:center;gap:6px;min-width:0;padding:6px 9px;border:1px solid var(--muted-soft-color);border-radius:10px;background:var(--surface-color)}.player-card .avatar{flex:0 0 auto}.pc-name{flex:1;min-width:0;font-size:13px;font-weight:600;color:var(--primary-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pc-name-loading{color:var(--muted-color);font-weight:400;font-style:italic}.pc-mark{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:3px;font-size:11px;font-weight:700;color:var(--surface-color)}.pc-mark.x{background:var(--x-color)}.pc-mark.o{background:var(--o-color)}.player-card.active{border-color:var(--secondary-color)}.player-card.active .pc-mark{animation:pc-mark-bounce .65s cubic-bezier(.2,.7,.2,1) 3}@keyframes pc-mark-bounce{0%,to{transform:translateY(0) scale(1)}28%{transform:translateY(-4px) scale(1.15)}50%{transform:translateY(0) scale(1)}66%{transform:translateY(-2px) scale(1.06)}}.player-card.waiting{justify-content:center;border-style:dashed;background:transparent;color:var(--muted-color);font-size:12px}.pc-wait-dot{flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--secondary-color);animation:pc-wait-pulse 1.3s ease-in-out infinite}@keyframes pc-wait-pulse{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}@media (prefers-reduced-motion: reduce){.player-card.active .pc-mark,.pc-wait-dot{animation:none}}.match-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:0 4px}.mc-vs{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-color)}.mc-score{font-size:15px;font-weight:700;color:var(--primary-color);font-variant-numeric:tabular-nums;line-height:1.2}.mc-draws{font-size:9px;color:var(--muted-color)}.grid{border-collapse:collapse;table-layout:fixed}.grid th,.grid td{width:var(--grid-cell);height:var(--grid-cell);box-sizing:border-box;padding:8px;text-align:center;vertical-align:middle}.grid td{border:1px solid var(--muted-soft-color)}body:has(.player-card.waiting) .grid{opacity:.55;transition:opacity .2s ease}.grid th:not(.corner){border:1px solid var(--muted-soft-color)}.grid th{font-weight:500;font-size:14px;color:var(--primary-color);overflow:hidden}.grid thead th{height:var(--grid-cell);max-width:var(--grid-cell);white-space:normal;line-height:1.2}.grid .corner,.grid tbody th{width:var(--grid-cell)}.grid tbody th{font-size:12px;white-space:normal;line-height:1.2}.cell{position:relative;cursor:pointer}.cell:focus{outline:none}.cell:after{content:"";position:absolute;inset:0;background:transparent;pointer-events:none}.cell:hover:after{background:var(--hover-color)}.cell.owned:hover:after{background:transparent}.cell.shake:hover:after{background:transparent}body.game-over .cell{cursor:default}body.game-over .cell:hover:after{background:transparent}body.game-over .actions-row{display:none}#result{margin-top:0}.cell.owned{padding:10px;cursor:zoom-in}.cell.owned img{display:block;width:100%;height:100%;object-fit:contain}.cell.owner-x{background:var(--x-color)}.cell.owner-o{background:var(--o-color)}.cell.winning{box-shadow:inset 0 0 0 3px #f4c842}.cell.revealed{padding:10px;cursor:zoom-in}.picker[hidden]{display:none}.picker-backdrop{position:fixed;inset:0;background:#0006;z-index:100}.picker-sheet{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:480px;max-width:calc(100vw - 32px);z-index:101;background:var(--surface-color);border-radius:8px;padding:12px;max-height:70vh;display:flex;flex-direction:column;box-shadow:0 4px 24px #00000038}.picker-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.picker-cats{flex:1;font-weight:500;font-size:14px;color:var(--primary-color)}.grid th .pill-swatch,.picker-cats .pill-swatch,.match-cats .pill-swatch{margin-right:.3em}.picker-cats .cat-times,.match-cats .cat-times{color:var(--muted-color)}.picker-input{width:100%;box-sizing:border-box;padding:10px 12px;font:inherit;font-size:16px;border:1px solid var(--muted-color);border-radius:6px;margin-bottom:8px}.picker-input::placeholder{color:var(--muted-color)}.picker-input:focus{outline:2px solid var(--link-color);outline-offset:-2px}.picker-input.shake{animation:cell-shake .4s ease-in-out;border-color:var(--secondary-color);box-shadow:0 0 0 1px var(--secondary-color)}.picker-suggestions{list-style:none;padding:0;margin:0;overflow-y:auto;flex:1;min-height:0}.picker-suggestions li{display:flex;align-items:center;gap:10px;padding:8px;cursor:pointer;font-size:15px;border-radius:4px}.picker-suggestions li.selected,.picker-suggestions li:hover{background:#2b1d2429}.picker-suggestions span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-suggestions li.no-data,.picker-suggestions li.no-data:hover,.picker-suggestions li.no-data.selected{cursor:not-allowed;color:var(--muted-color);background:none}.picker-suggestions .suggestion-no-data{flex:0 0 auto;font-size:12px;font-style:italic;color:var(--muted-color)}body.picker-open{overflow:hidden}.match-sheet{position:relative;width:min(92vw,460px);max-height:82vh;padding:18px;border:1px solid var(--muted-soft-color);border-radius:8px;outline:none;background:var(--surface-color);box-shadow:0 4px 24px #00000038;color:var(--primary-color)}.match-sheet::backdrop{background:#0009}.match-close{position:absolute;top:12px;right:12px}.match-head{padding-right:40px;margin-bottom:14px}.match-cats{font-weight:600;font-size:16px;color:var(--primary-color)}.match-grid{list-style:none;margin:0;padding:2px;display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:12px;max-height:62vh;overflow-y:auto}.match-grid .flag-tile:after{opacity:1}.rules-mode{border-top:1px solid var(--muted-soft-color);margin-top:16px;padding-top:14px}.rules-help .rules-mode-note{margin:6px 0 0;font-size:13px;line-height:1.5;color:var(--muted-color)}.cell.flip-in img{animation:cell-flip-in .3s ease-out;backface-visibility:hidden}@keyframes cell-flip-in{0%{transform:perspective(320px) rotateY(90deg);opacity:.2}60%{transform:perspective(320px) rotateY(-8deg);opacity:1}to{transform:perspective(320px) rotateY(0)}}@media (prefers-reduced-motion: reduce){.cell.flip-in img{animation:none}}
/*# sourceMappingURL=index.css.map */
