:is(.player-shell,.login-page,.player-dialog,.join-shell){--pw-paper:#f4f5ee;--pw-surface:#fffef9;--pw-surface-muted:#e5ecdf;--pw-ink-950:#19382e;--pw-text:#19382e;--pw-text-muted:#596c61;--pw-court-700:#113b35;--pw-border:#d6ded1;--pw-action:#c94c1c;--pw-action-hover:#b63f14;--pw-action-ink:#fff;color:var(--pw-text)}.app-brand{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;color:#113b35;font-size:16px;font-weight:700;letter-spacing:-.4px}.app-brand img{display:block;width:64px;height:auto;object-fit:contain}:is(.player-shell,.login-page,.player-dialog,.join-shell) .button{min-height:46px;border-radius:12px;padding:12px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:700;line-height:1.4;white-space:normal;text-align:center}:is(.player-shell,.login-page,.player-dialog,.join-shell) .button-primary{background:var(--pw-action);border-color:var(--pw-action);color:#fff}.player-shell .player-entry-actions .button-primary:hover:not(:disabled),:is(.player-shell,.login-page,.player-dialog,.join-shell) .button-primary:hover:not(:disabled){background:var(--pw-action-hover);border-color:var(--pw-action-hover);color:#fff}:is(.player-shell,.login-page,.player-dialog,.join-shell) .button-primary:active:not(:disabled){background:#a83912;color:#fff}:is(.player-shell,.login-page,.player-dialog,.join-shell) .button-secondary:not(.social-provider){background:var(--pw-surface);border:1px solid var(--pw-border);color:var(--pw-court-700)}:is(.player-shell,.login-page,.player-dialog,.join-shell) :is(button,input,select,a,summary):focus-visible{outline:3px solid #176f60;outline-offset:3px}:is(.player-shell,.login-page,.player-dialog,.join-shell) .button:disabled{cursor:wait;opacity:.6}.player-shell h1{font-size:clamp(28px,4vw,38px);line-height:1.15;letter-spacing:-1.1px;font-weight:750;overflow-wrap:anywhere}.player-dialog h2,.player-shell h2{font-size:20px;line-height:1.3;letter-spacing:-.4px;font-weight:750;overflow-wrap:anywhere}.player-shell h3{font-size:16px;line-height:1.35;overflow-wrap:anywhere}.join-shell .eyebrow,.login-page .eyebrow,.player-shell .eyebrow{color:var(--pw-text-muted);font-size:11px;letter-spacing:1.7px}.player-dialog p,.player-shell p{line-height:1.6;overflow-wrap:anywhere}.player-shell .app-content{margin:36px auto;max-width:920px}.player-home .player-entry-actions{max-width:none;gap:12px}.player-shell .player-entry-actions .button{font-size:16px;min-height:48px}.player-creation-settings{border-top:1px solid var(--pw-border);margin-top:4px;padding-top:8px}.player-creation-settings summary{cursor:pointer;min-height:48px;padding:12px 0;font-size:14px;color:var(--pw-court-700);font-weight:700}.player-creation-settings>label{display:grid;gap:8px;margin:16px 0}.player-creation-settings>label:has(input[type=checkbox]){display:flex;align-items:center;gap:10px;min-height:44px}.player-home .player-intro{color:var(--pw-text-muted);font-size:15px;margin:12px 0 25px}.player-shell .player-game-list .game-row{border-radius:17px;padding:22px;border-color:var(--pw-border)}.player-game-list .game-row>div>span{font-size:11px;letter-spacing:.3px}.player-game{margin:32px auto;max-width:1100px}.player-game-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;display:block}.player-game-toolbar{margin-bottom:8px}.player-game-toolbar .eyebrow{margin:0}.player-game-heading h1{margin:6px 0 12px}.player-subtitle{color:var(--pw-text-muted);font-size:13px;margin:0}.player-heading-actions{display:flex;align-items:center;gap:7px;flex-shrink:0}.player-icon-button{align-items:center;justify-content:center;display:inline-flex;width:44px;height:44px;border:1px solid var(--pw-border);border-radius:11px;background:var(--pw-surface);color:var(--pw-text);cursor:pointer;flex-shrink:0}.player-game-tabs{display:flex;gap:2px;border-bottom:1px solid var(--pw-border);margin:24px 0 20px}.player-game-tabs button{flex:1;min-width:0;min-height:46px;padding:10px 4px;border:0;border-bottom:3px solid transparent;color:var(--pw-text-muted);font:inherit;font-size:13px;background:transparent;cursor:pointer}.player-game-tabs button[aria-current=page]{color:var(--pw-court-700);border-bottom-color:var(--pw-action);font-weight:750}.player-game-columns{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;align-items:start}.player-game-columns>*{min-width:0}.player-panel,.player-personal-summary{padding:22px;border:1px solid var(--pw-border);background:var(--pw-surface);border-radius:17px;margin:18px 0}.player-panel h2{font-size:20px;margin:0 0 14px}.player-panel>p{color:var(--pw-text-muted);font-size:14px}.player-section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.player-section-heading h2,.player-section-heading h3{margin:0}.player-section-heading>span{font-size:12px}.player-live-label{display:inline-flex;align-items:center;gap:5px;background:var(--pw-surface-muted);color:var(--pw-court-700);border-radius:6px;padding:5px 7px;font-size:11px!important;font-weight:700}.player-small{font-size:12px;color:var(--pw-text-muted);line-height:1.5}.player-courts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0;align-items:start}.player-court{border:1px solid var(--pw-border);padding:18px;background:var(--pw-surface);border-radius:17px;min-width:0}.player-court.is-mine{border-color:#90ad99}.player-court[data-focused=true]{border-color:#ad7b14;box-shadow:inset 0 3px #ad7b14}.player-team-name[data-focused=true]{background:#fcf3da;color:#75520b;border-radius:5px;padding:0 5px}.player-court h3{font-size:16px;margin:0}.player-court .button{width:100%;margin-top:10px}.player-own-match{padding:0;border:0!important;background:none}.player-game .player-own-match{background:transparent}.player-own-match>.player-section-heading{padding-top:18px}.player-match-court{background:#155143;color:#fffef5;border-radius:18px;padding:22px;margin:12px 0}.player-match-court .player-small{color:#e1eddf;font-size:11px;text-transform:uppercase;letter-spacing:1px}.player-match-court p{margin:6px 0 0;color:#fffef5;font-size:21px;font-weight:750;line-height:1.5}.player-team-name{display:inline-block;overflow-wrap:anywhere;max-width:100%}.player-team-name+.player-team-name:before{content:" + ";white-space:pre}.player-team-name small{font-size:11px;font-weight:750}.player-match-court .player-team-name small{margin-left:5px;display:inline-block;background:#ffffff1a;padding:1px 5px;border-radius:4px}.player-match-court .player-match-score{display:block;text-align:center;font-size:19px;padding:15px 0;margin:10px 0;border-top:1px solid #ffffff55;border-bottom:1px solid #ffffff55;font-variant-numeric:tabular-nums}.player-match-teams{padding-top:16px}.player-match-teams p{font-size:15px;margin:5px 0}.player-match-teams .player-match-score{display:block;font-size:30px;letter-spacing:-1px;padding:12px 0;font-variant-numeric:tabular-nums}.player-result-state{color:var(--pw-court-700);font-size:12px;font-weight:700;margin:12px 0}.player-result-state.has-conflict{color:#983c22}.player-soft-notice{background:var(--pw-surface-muted);border-radius:13px;padding:16px;font-size:13px;line-height:1.6;margin:14px 0;color:var(--pw-text)}.player-personal-summary{background:var(--pw-surface-muted);border-color:transparent}.player-personal-summary .player-section-heading h2{font-size:17px}.player-personal-summary>p{font-size:12px;margin:14px 0 0}.player-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;text-align:center;padding:18px 0 8px}.player-stat-grid strong{display:block;font-size:30px;font-weight:750;letter-spacing:-1px;line-height:1.25}.player-stat-grid span{display:block;font-size:11px;color:var(--pw-text-muted);margin-top:6px}.player-text-button,.player-text-link{align-items:center;display:inline-flex;gap:7px;background:none;border:0;color:var(--pw-court-700);font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:44px;padding:8px 0}.player-text-link{margin-left:16px}.player-action-notice{min-height:0;font-size:13px}.player-action-notice:empty{display:none}.player-empty-match{text-align:center;padding:34px 22px}.player-empty-match svg{margin:8px auto 22px;color:var(--pw-court-700)}.player-final-hero{text-align:center;max-width:680px;margin:0 auto 26px}.player-final-hero>svg{margin:8px auto;color:var(--pw-court-700)}.player-final-hero>.button{width:100%}.player-roster{background:var(--pw-surface);border-radius:16px;border:1px solid var(--pw-border);padding:0 16px;margin:18px 0}.player-roster-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--pw-border);min-width:0}.player-roster-row:last-child{border-bottom:0}.player-roster-row>div{flex:1;min-width:0}.player-roster-row strong{font-size:14px;overflow-wrap:anywhere}.player-roster-row small{display:block;color:var(--pw-text-muted);font-size:12px;margin-top:4px}.player-roster-row>svg{flex-shrink:0}.player-avatar{width:38px;height:38px;border-radius:50%;background:var(--pw-surface-muted);display:inline-flex;align-items:center;justify-content:center;font-size:12px;color:var(--pw-court-700);flex-shrink:0}.player-settings-list>details{border-bottom:1px solid var(--pw-border);padding:8px 0}.player-settings-list>details>summary{font-size:16px;padding:16px 6px;min-height:60px;font-weight:700}.player-settings-list>details>summary span{display:block;font-size:12px;color:var(--pw-text-muted);font-weight:500;margin:6px 0 0 16px}.player-settings-list>details>p{font-size:13px;color:var(--pw-text-muted)}.player-settings-list .player-form{max-width:520px;margin:20px 0}.player-switch{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:52px}.player-switch input{width:22px;height:22px}.player-danger-button{color:#983c22;background:var(--pw-surface);border:1px solid var(--pw-border)}.player-roster-entry{border-bottom:1px solid var(--pw-border);padding:9px 0}.login-form label,.player-dialog label,.player-form label{color:var(--pw-text-muted);font-size:13px}:is(.player-shell,.player-dialog,.login-page) :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea){min-height:46px;border:1px solid var(--pw-border);border-radius:10px;background:var(--pw-surface);color:var(--pw-text);padding:12px;font:inherit;font-size:16px;max-width:100%}.player-form{gap:16px}.player-form>label{display:grid;gap:7px}.player-score-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.player-score-fields label{display:grid;gap:8px;min-width:0}.player-score-fields input,.player-score-input{text-align:center;font-size:32px!important;font-variant-numeric:tabular-nums}.player-dialog{background:#f4f5ee;color:#19382e;border:1px solid #d6ded1;border-radius:22px;padding:24px;width:min(480px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;margin:auto}.player-dialog::backdrop{background:#102d2570}.player-dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.player-dialog-heading h2{margin:7px 0 0}.player-dialog .player-form .button{width:100%}.player-scanner-video{display:block;width:100%;aspect-ratio:1;object-fit:cover;background:#155143;border-radius:14px}.player-file-label{display:grid;gap:12px;margin:18px 0}.player-file-label input{max-width:100%;font-size:13px}.player-invitation-card{text-align:center}.player-invitation-code{display:block;font-size:34px;letter-spacing:6px;line-height:1.5;margin:8px 0;color:var(--pw-court-700)}.player-invitation-qr{display:block;width:220px;height:220px;max-width:100%;margin:18px auto}.player-invitation-card .player-actions{justify-content:center}.player-start-button{width:100%;margin:12px 0}.player-table{font-size:13px}.player-table caption{font-size:12px}.player-table td,.player-table th{padding:13px 10px}.player-table .is-mine{background:var(--pw-surface-muted)}.player-results-report{display:none}.login-page{padding:28px 22px 48px}.login-page>.brand-link{display:flex;justify-content:center}.login-page .login-panel{background:transparent;border:0;padding:12px 10px;margin:30px auto 0;max-width:420px;box-shadow:none}.login-page h1{font-size:34px;line-height:1.15;letter-spacing:-1.2px}.login-page .login-panel>p:not(.eyebrow):not(.login-help){font-size:14px;margin:16px 0 22px}.login-page .login-form input{width:100%}.login-page .login-form{gap:16px}.login-page .social-buttons{gap:10px}.player-account-panel{margin:28px auto!important;max-width:600px;padding:24px!important}.join-shell .legal-content{max-width:460px;margin:36px auto}.join-shell h1{font-size:34px;line-height:1.15;letter-spacing:-1px}.join-shell .legal-content p{font-size:14px}.join-shell .legal-content .button{width:100%}@media(min-width:1100px){.player-courts{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1024px){.player-shell{padding-left:max(220px,calc((100vw - 1180px)/2 + 175px));padding-right:max(32px,calc((100vw - 1180px)/2))}.player-shell .app-content,.player-shell .player-game{margin-top:24px}}@media(max-width:800px){.player-shell{padding-left:20px;padding-right:20px}.player-game-heading{display:block}.player-heading-actions{justify-content:flex-end;margin-top:12px}.player-manage-trigger{min-height:44px!important;font-size:12px!important;padding:9px 12px!important}.player-game-tabs{margin:14px 0 20px}.player-game-tabs button{font-size:12px}.player-game-columns{grid-template-columns:minmax(0,1fr);gap:0}.player-game{margin:28px auto 22px}.player-courts{grid-template-columns:minmax(0,1fr)}.player-panel,.player-personal-summary{padding:18px}.player-section-heading>label{width:100%}.player-section-heading select{width:100%;display:block;margin:8px 0}.player-game-heading h1{font-size:30px}.player-own-match .player-section-heading{padding-top:16px}.player-home .player-entry-actions{max-width:none}}@media(max-width:360px){.player-shell{padding-left:15px;padding-right:15px}.app-brand{font-size:14px;gap:6px}.app-brand img{width:55px}.player-game-tabs button{font-size:11px}}@media print{.player-game>*{display:none!important}.player-game>.player-results-report{display:block!important}.player-results-report .app-brand img{width:90px}.player-results-report table{width:100%;border-collapse:collapse;font-size:10px}.player-results-report td,.player-results-report th{border-bottom:1px solid #aaa;padding:6px;text-align:left}.player-results-report h1{font-size:24px}.player-results-report h2{font-size:18px;margin-top:22px}.player-results-report article{break-inside:avoid}.player-results-report small{display:block}.player-shell{height:auto!important;overflow:visible!important;padding:0!important}.player-game{margin:0}.player-results-report p{font-size:11px}.player-results-report .player-report-audit{font-size:10px}}@media(min-width:1000px){.app-page.community-shell{max-width:none;width:100%;padding:0;display:grid;grid-template-columns:210px minmax(0,1fr);gap:0}.community-shell>:not(header){max-width:1120px;padding:36px;margin:0 auto;width:100%;min-width:0}.community-shell>.app-content{max-width:1120px;margin-block:0}.community-shell>.player-game{margin-block:0}.community-shell>header{position:sticky;height:100dvh}.community-shell .app-brand{font-size:14px;gap:7px}.community-shell .app-brand img{width:54px}}@media(max-width:800px){.community-shell .player-home h1{font-size:30px}.community-shell .player-entry-actions{grid-template-columns:minmax(0,1fr)}}@media(min-width:801px){.community-shell .player-entry-actions,.player-entry .player-form-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.player-entry .player-creation-settings,.player-entry .player-form-fields>label:has(input[name=name]),.player-entry .player-form-fields>label:has(select[name=playGroupId]){grid-column:1/-1}}.community-shell .player-game-list .game-row{border-radius:12px;padding:16px;background:var(--pw-surface);gap:12px}.community-shell .player-game-list .game-row-actions{border-top:1px solid var(--pw-border);padding-top:12px;margin-top:6px}.community-shell .player-game-list .game-row h3{font-size:16px;margin:12px 0 7px;letter-spacing:-.4px}.community-shell .player-game-list .game-row p{font-size:12px}.community-shell .player-game-list .game-row>div>span{font-size:10px;text-transform:uppercase;font-weight:700;color:var(--pw-text-muted)}@media(max-width:800px){.community-shell .player-game-list .game-row{display:block}.community-shell .player-game-list .game-row-actions .button{font-size:12px;min-height:44px}}.community-shell .player-entry-actions .player-discover-link{grid-column:1/-1;display:flex;align-items:center;gap:8px}@media(min-width:801px){.community-shell .player-entry-actions .player-discover-link{grid-column:auto}.community-shell .player-game-list .game-row-actions{align-items:center;flex-direction:row;flex-wrap:wrap;justify-content:flex-end;border-top:0;padding-top:0;margin-top:0}.player-own-match>.button{width:auto;margin-right:8px}}