.online-hub{border:1px solid #6e855c;border-radius:16px;padding:18px;margin:12px 0 24px;background:#162d23;color:#f7f5df;width:100%}.online-hub input{color:#10251c;background:#fffdf1;border:1px solid #b8c794;border-radius:8px;padding:12px;max-width:100%;font:inherit}.online-input{min-width:170px}.online-hub summary,.online-ranking summary{font-weight:750;cursor:pointer;padding:10px 0}.account-fields{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.online-hub .button{white-space:normal}.online-hub .controls,.room-lobby .controls{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.online-note{font-size:.85rem;opacity:.8;line-height:1.5}.online-message{min-height:1.5em;color:#f4d36b}.room-code{font-size:1.3rem;letter-spacing:.08em;overflow-wrap:anywhere;font-weight:800;color:#f5d578}.online-players{line-height:1.8}.online-ranking{margin:24px 0;padding:16px;border:1px solid #788c67;border-radius:14px;overflow-x:auto;width:100%}.rank-table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:520px}.rank-table td,.rank-table th{text-align:left;padding:12px 8px;border-bottom:1px solid #7e8b6838}.tier-key{font-size:.85rem;color:#c5a64e}.online-empty{text-align:center;padding:35px 15px}.domino-image{display:block;width:48px;height:96px;object-fit:contain}.domino-line .domino-image{transform:rotate(90deg);margin:0 23px}.domino-line{min-height:120px;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.domino-hand{display:flex;flex-wrap:wrap;gap:8px}.domino-hand .button{padding:6px}.domino-hand [aria-pressed=true]{outline:3px solid #e6bf4a}.football-field{width:min(800px,100%);margin:auto;background:#256a37;border-radius:15px;overflow:hidden;position:relative;padding-bottom:60px}.football-goal{position:relative;width:100%;aspect-ratio:900/440}.goal-art{position:absolute;inset:0;width:100%;height:100%}.keeper-art{position:absolute;bottom:20%;width:20%;height:65%;object-fit:contain;transform:translateX(-50%);transition-property:left;transition-timing-function:ease-in-out;pointer-events:none;z-index:2}.goal-zone{position:absolute;top:10%;bottom:20%;width:30%;background:transparent!important;border:0!important;border-radius:0!important;z-index:3;cursor:crosshair}.goal-zone:nth-of-type(1){left:5%}.goal-zone:nth-of-type(2){left:35%}.goal-zone:nth-of-type(3){left:65%}.goal-zone:hover,.goal-zone:focus-visible{background:#e3eeb519!important;outline:2px dashed #ffffff80!important}.football-ball{position:absolute;bottom:70px;left:50%;font-size:42px;transform:translateX(-50%);transition:left .35s,bottom .35s,scale .35s;pointer-events:none;z-index:4}.football-ball.shooting{bottom:52%;scale:.65}.football-stats{padding:12px;text-align:center;color:white;font-weight:750;margin:0}.online-clock{font-variant-numeric:tabular-nums;text-align:center;font-weight:700}.online-controls{width:100%}.game:has(.online-controls),.game:has(.online-hub){display:block}.online-hub .button:disabled{opacity:.5}button:disabled{cursor:default}@media(max-width:600px){.online-hub{padding:12px}.room-actions .button{width:100%}.online-hub input{width:100%}.football-ball{font-size:30px}.domino-image{width:40px;height:80px}}

.football-stats{position:absolute;bottom:0;left:0;width:100%;box-sizing:border-box}.online-hub:has(details:not([open])) .online-personal{margin-top:8px}
