:root{--grape: #403d58;--coral: #fc7753;--aqua: #66d7d1;--amber: #dbd56e;--parchment: #f2efea;--white: #ffffff;--color-bg: var(--parchment);--color-text: var(--grape);--color-text-muted: color-mix(in srgb, var(--grape) 72%, transparent);--color-surface: var(--white);--color-border: var(--grape);--color-backdrop: color-mix(in srgb, var(--grape) 72%, transparent);--color-focus: var(--aqua);--color-live-dot: #4caf50;--active-game-banner-bg: color-mix(in srgb, var(--coral) 10%, transparent);--new-game-warning-bg: color-mix(in srgb, var(--amber) 15%, transparent);--profile-danger-border: color-mix(in srgb, var(--coral) 30%, transparent);--team-a: var(--grape);--team-b: var(--coral);--team-a-text: var(--white);--team-b-text: var(--white);--font-family: "Jost", sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.25rem;--text-xl: clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);--score: clamp(4rem, 2rem + 7vw, 9rem);--font-regular: 400;--font-bold: 700;--tracking-label: .08em;--tracking-profile-label: .05em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--sp-1: var(--space-1);--sp-2: var(--space-2);--sp-3: var(--space-3);--sp-4: var(--space-4);--sp-5: var(--space-5);--sp-6: var(--space-6);--sp-8: var(--space-8);--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-pill: 999px;--touch-target: 44px;--score-button-min-height: 72px;--primary-cta-min-height: 56px;--join-input-min-height: 48px;--join-button-min-height: 52px;--page-max-width: 72rem;--home-max-width: 28rem;--auth-card-max-width: 400px;--auth-header-button-size: 40px;--auth-spinner-size: 1rem;--profile-avatar-size: 88px;--team-profile-avatar-size: 72px;--profile-result-avatar-size: 40px;--profile-spinner-size: 32px;--form-max-width: 42rem;--modal-max-width: 30rem;--scoreboard-min-width: 14rem;--throw-column-min-width: 14rem;--app-header-min-height: 4.5rem;--bottom-nav-min-height: 4.75rem;--bottom-nav-columns: 4;--choice-min-width: 12rem;--border-width: 1px;--join-input-border-width: 1.5px;--border-width-active: 2px;--scoring-info-border-width: 3px;--live-game-dot-size: 10px;--live-game-dot-scale: 1.3;--live-game-pulse-duration: 1.5s;--layer-nav: 10;--layer-modal: 20;--action-sheet-duration: .2s;--measure-readable: 36rem;--control-min-height: 3.25rem;--score-card-min-height: 12rem;--disabled-opacity: .4;--shadow-focus: 0 0 0 3px var(--color-focus);--shadow-sm: 0 .25rem .75rem color-mix(in srgb, var(--grape) 12%, transparent)}[data-theme=dark]{--color-bg: var(--grape);--color-text: var(--parchment);--color-text-muted: color-mix(in srgb, var(--parchment) 72%, transparent);--color-surface: color-mix(in srgb, var(--parchment) 8%, var(--grape));--color-border: var(--aqua);--team-a: var(--aqua);--team-a-text: var(--grape);--team-b: var(--coral);--team-b-text: var(--white)}*{box-sizing:border-box}html{min-height:100%;background:var(--color-bg);color:var(--color-text);font-family:var(--font-family);font-size:var(--text-base)}body{min-height:100%;margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-family);font-weight:var(--font-regular)}#root{min-height:100vh}button,input,select,textarea{font:inherit}button{min-width:var(--touch-target);min-height:var(--touch-target);border:0;border-radius:var(--radius-lg);font-weight:var(--font-bold);cursor:pointer}button:disabled{cursor:not-allowed;opacity:var(--disabled-opacity)}a{color:inherit}:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.material-symbols-outlined{direction:ltr;display:inline-block;font-family:Material Symbols Outlined;font-feature-settings:"liga";font-size:1.5rem;font-style:normal;font-weight:300;letter-spacing:normal;line-height:1;text-transform:none;white-space:nowrap;word-wrap:normal}.app{display:flex;flex-direction:column;min-height:100vh;padding:0}.app-header{align-items:center;background:var(--grape);color:var(--white);display:flex;gap:var(--space-4);justify-content:space-between;min-height:var(--app-header-min-height);padding:var(--space-4) var(--space-6)}.app-header__brand{align-items:center;display:inline-flex;gap:var(--space-2);font-size:var(--text-lg);font-weight:var(--font-bold);min-height:var(--touch-target);text-decoration:none}.app-header__title{font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:var(--tracking-label);margin:0;text-transform:uppercase}.app-header__auth-button{align-items:center;background:transparent;border:0;border-radius:var(--radius-lg);color:var(--white);cursor:pointer;display:inline-flex;height:var(--auth-header-button-size);justify-content:center;min-height:var(--auth-header-button-size);min-width:var(--auth-header-button-size);padding:0;width:var(--auth-header-button-size)}.app-header__auth-button--profile{color:var(--grape)}.app-header__notification-button{align-items:center;background:transparent;color:var(--parchment);display:inline-flex;justify-content:center;min-height:var(--touch-target);min-width:var(--touch-target);padding:var(--sp-1);position:relative}.app-header__notification-badge{align-items:center;background:var(--coral);border-radius:50%;color:var(--white);display:inline-flex;font-size:var(--text-xs);font-weight:var(--font-bold);height:16px;justify-content:center;line-height:1;position:absolute;right:var(--sp-1);top:var(--sp-1);width:16px}.app-content{flex:1;margin:0 auto;max-width:var(--page-max-width);padding:var(--space-8) var(--space-6) calc(var(--bottom-nav-min-height) + var(--space-8));width:100%}.orientation-prompt{align-items:center;background:var(--amber);color:var(--grape);display:flex;font-weight:var(--font-bold);gap:var(--space-3);justify-content:center;padding:var(--space-3) var(--space-6);text-align:center}.page-shell{display:grid;gap:var(--space-4)}.page-shell h1{margin:0;color:var(--color-text);font-size:var(--text-xl);font-weight:var(--font-bold);letter-spacing:0}.page-shell p{margin:0;max-width:var(--measure-readable)}.home-screen{display:grid;gap:var(--space-6);margin:0 auto;max-width:var(--home-max-width);width:100%}.home-identity{display:grid;gap:var(--space-4)}.home-identity h1{color:var(--grape);font-size:var(--text-xl);font-weight:var(--font-bold);margin:0}[data-theme=dark] .home-identity h1{color:var(--parchment)}.home-identity p{color:var(--color-text-muted);font-size:var(--text-base);font-weight:var(--font-regular);margin:0}.home-primary-action,.home-join-action{align-items:center;border-radius:var(--radius-lg);color:var(--white);display:inline-flex;font-weight:var(--font-bold);gap:var(--space-2);justify-content:center;text-decoration:none;width:100%}.home-primary-action{background:var(--coral);min-height:var(--primary-cta-min-height)}.active-game-banner{background:var(--active-game-banner-bg);border:var(--border-width) solid var(--coral);border-radius:var(--radius-lg);display:grid;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3)}.active-game-banner__text{align-items:center;color:var(--coral);display:flex;font-size:var(--text-sm);font-weight:var(--font-bold);gap:var(--space-2)}.active-game-banner__action{align-items:center;background:var(--coral);border-radius:var(--radius-md);color:var(--white);display:inline-flex;font-weight:var(--font-bold);gap:var(--space-2);justify-content:center;padding:var(--space-2) var(--space-4)}.active-games-panel{background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);display:grid;gap:var(--space-3);padding:var(--space-3)}.active-games-panel__header{align-items:center;display:flex;gap:var(--space-2);justify-content:space-between}.active-games-panel__header h2{color:var(--color-text);font-size:var(--text-base);margin:0}.active-games-panel__header span,.active-games-empty{color:var(--color-text-muted);font-size:var(--text-sm)}.active-games-list{display:grid;gap:var(--space-2)}.active-game-row{align-items:center;background:var(--color-bg);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);display:grid;gap:var(--space-2);grid-template-columns:auto minmax(0,1fr);min-height:var(--touch-target);padding:var(--space-2);text-align:left}.active-game-row>span:last-child{display:grid;gap:var(--space-1)}.active-game-row strong{color:var(--color-text);font-size:var(--text-sm)}.active-game-row small{color:var(--color-text-muted);font-size:var(--text-xs)}.new-game-warning{background:var(--new-game-warning-bg);border:var(--border-width) solid var(--amber);border-radius:var(--radius-md);display:grid;gap:var(--space-3);padding:var(--space-3)}.new-game-warning p{color:var(--grape);font-size:var(--text-sm);font-weight:var(--font-bold);margin:0}.new-game-warning__actions{display:grid;gap:var(--space-3);grid-template-columns:1fr 1fr}.new-game-warning__cancel{background:transparent;color:var(--grape)}.new-game-warning__confirm{background:var(--grape);color:var(--white)}.home-divider{align-items:center;color:var(--color-text-muted);display:grid;font-size:var(--text-xs);font-weight:var(--font-regular);grid-template-columns:1fr auto 1fr;gap:var(--space-3)}.home-divider:before,.home-divider:after{background:var(--color-border);content:"";height:var(--border-width)}.home-join-form{display:grid;gap:var(--space-3)}.home-join-field{display:grid;gap:var(--space-2)}.home-join-field span{font-size:var(--text-sm);font-weight:var(--font-bold)}.home-join-field input{background:var(--color-surface);border:var(--join-input-border-width) solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);font-weight:var(--font-regular);min-height:var(--join-input-min-height);padding:var(--space-3) var(--space-4)}.home-join-error{color:var(--coral);font-size:var(--text-sm);font-weight:var(--font-bold)}.home-join-action{background:var(--grape);border:0;min-height:var(--join-button-min-height)}.home-install-action,.home-go-pro-action{align-items:center;background:transparent;border:var(--join-input-border-width) solid var(--grape);color:var(--grape);display:inline-flex;font-weight:var(--font-bold);gap:var(--space-2);justify-content:center;min-height:var(--touch-target);width:100%}[data-theme=dark] .home-install-action,[data-theme=dark] .home-go-pro-action{border-color:var(--parchment);color:var(--parchment)}.auth-page{align-items:center;background:var(--parchment);display:grid;justify-items:center;min-height:100%;width:100%}.auth-card{background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);display:grid;gap:var(--sp-4);margin:auto;max-width:var(--auth-card-max-width);padding:var(--sp-6);position:relative;width:100%}.auth-back-link{align-items:center;color:var(--color-text);display:inline-flex;justify-content:center;min-height:var(--touch-target);min-width:var(--touch-target);text-decoration:none}.auth-wordmark{color:var(--grape);font-size:var(--text-xl);font-weight:var(--font-bold);margin:0;text-align:center}.auth-card h1{color:var(--color-text);font-size:var(--text-lg);font-weight:var(--font-bold);margin:0;text-align:center}.auth-form{display:grid;gap:var(--sp-3)}.auth-input{background:var(--color-surface);border:var(--join-input-border-width) solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);font-weight:var(--font-regular);min-height:var(--join-input-min-height);padding:var(--sp-3);width:100%}.auth-password-field{display:grid;position:relative}.auth-password-field .auth-input{padding-right:calc(var(--touch-target) + var(--sp-3))}.auth-password-toggle{align-items:center;align-self:center;background:transparent;color:var(--color-text-muted);display:inline-flex;justify-content:center;position:absolute;right:var(--sp-1)}.auth-submit{align-items:center;border-radius:var(--radius-lg);color:var(--white);display:inline-flex;font-weight:var(--font-bold);gap:var(--sp-2);justify-content:center;min-height:var(--join-button-min-height);width:100%}.auth-submit--primary{background:var(--coral)}.auth-submit--secondary{background:var(--grape)}.auth-spinner{animation:auth-spin var(--live-game-pulse-duration) linear infinite;border:var(--border-width-active) solid currentColor;border-right-color:transparent;border-radius:var(--radius-lg);display:inline-block;height:var(--auth-spinner-size);width:var(--auth-spinner-size)}.auth-error{color:var(--coral);font-size:var(--text-sm);font-weight:var(--font-regular);margin:0}.auth-success{color:var(--grape);font-size:var(--text-sm);font-weight:var(--font-bold);margin:0;text-align:center}[data-theme=dark] .auth-success{color:var(--aqua)}.auth-switch,.auth-subtext{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-regular);margin:0;text-align:center}.auth-switch a{color:var(--grape);font-weight:var(--font-bold)}.auth-confirmation{color:var(--color-text);display:grid;gap:var(--sp-3);justify-items:center;text-align:center}.auth-confirmation .material-symbols-outlined{color:var(--grape);font-size:var(--text-xl)}.auth-confirmation p{font-size:var(--text-base);font-weight:var(--font-regular);margin:0}.profile-page{align-content:start;background:var(--color-bg);display:grid;gap:var(--sp-4);margin:calc(var(--space-8) * -1) calc(var(--space-6) * -1) calc((var(--bottom-nav-min-height) + var(--space-8)) * -1);min-height:100dvh;padding-bottom:var(--sp-8)}.profile-page--centered{grid-template-rows:auto 1fr}.profile-header{align-items:center;align-self:start;display:flex;justify-content:space-between;padding:var(--sp-4)}.profile-header h1{color:var(--color-text);font-size:var(--text-lg);font-weight:var(--font-bold);margin:0}.profile-header-placeholder{display:inline-block;min-width:var(--touch-target)}.profile-icon-button{align-items:center;background:transparent;color:var(--color-text);display:inline-flex;justify-content:center;min-height:var(--touch-target);min-width:var(--touch-target);padding:var(--sp-1)}.profile-sign-out-link,.profile-photo-button,.profile-upgrade-link{background:transparent;color:var(--coral);font-size:var(--text-sm);font-weight:var(--font-regular)}.profile-auth-card{align-self:center;background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);display:grid;gap:var(--sp-4);justify-self:center;max-width:var(--auth-card-max-width);padding:var(--sp-4);text-align:center;width:calc(100% - var(--sp-8))}.profile-loading{align-items:center;display:grid;justify-items:center;min-height:var(--score-card-min-height)}.profile-auth-card p{color:var(--color-text);font-size:var(--text-base);margin:0}.profile-primary-link{align-items:center;background:var(--grape);border-radius:var(--radius-lg);color:var(--white);display:inline-flex;font-weight:var(--font-bold);justify-content:center;min-height:var(--join-button-min-height)}.profile-avatar-section{display:grid;gap:var(--sp-2);justify-items:center;padding-top:var(--sp-6)}.profile-avatar{align-items:center;border:var(--scoring-info-border-width) solid var(--grape);border-radius:50%;color:var(--grape);display:inline-flex;height:var(--profile-avatar-size);justify-content:center;overflow:hidden;position:relative;width:var(--profile-avatar-size)}.profile-avatar img{height:100%;object-fit:cover;width:100%}.profile-avatar>.material-symbols-outlined{font-size:var(--profile-avatar-size)}.profile-avatar-overlay{align-items:center;background:var(--color-backdrop);color:var(--white);display:inline-flex;top:0;right:0;bottom:0;left:0;justify-content:center;position:absolute}.profile-photo-button,.profile-upgrade-link{color:var(--grape)}[data-theme=dark] .profile-photo-button,[data-theme=dark] .profile-upgrade-link,[data-theme=dark] .profile-avatar,[data-theme=dark] .team-avatar,[data-theme=dark] .team-empty-state>.material-symbols-outlined,[data-theme=dark] .team-result-card>.material-symbols-outlined,[data-theme=dark] .dashboard-team-row>.material-symbols-outlined,[data-theme=dark] .game-history-team-header>.material-symbols-outlined:first-child{color:var(--aqua)}.profile-card{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);display:grid;gap:var(--sp-3);margin:var(--sp-4);padding:var(--sp-4)}.profile-field{display:grid;gap:var(--sp-2)}.profile-field span{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--font-bold);letter-spacing:var(--tracking-profile-label);text-transform:uppercase}.profile-field input,.profile-field textarea{background:var(--color-bg);border:var(--join-input-border-width) solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);font-family:var(--font-family);font-size:var(--text-base);font-weight:var(--font-regular);min-height:var(--join-input-min-height);padding:var(--sp-3);width:100%}.profile-field input:focus,.profile-field textarea:focus{border-color:var(--grape)}.profile-field textarea{resize:vertical}.profile-counter{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--font-regular);margin:0;text-align:right}.profile-save-area{display:grid;gap:var(--sp-3);margin:0 var(--sp-4) var(--sp-4)}.profile-save-button{align-items:center;background:var(--grape);border-radius:var(--radius-lg);color:var(--white);display:inline-flex;font-weight:var(--font-bold);justify-content:center;min-height:var(--join-button-min-height);width:100%}.profile-saved{color:var(--grape);font-size:var(--text-sm);font-weight:var(--font-bold);margin:0;text-align:center}.profile-error{color:var(--coral);font-size:var(--text-sm);font-weight:var(--font-regular);margin:0}.profile-info-card{box-shadow:none}.profile-info-row{align-items:center;display:flex;gap:var(--sp-3);justify-content:space-between}.profile-info-row>span{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-regular)}.profile-info-row>strong{color:var(--color-text);font-weight:var(--font-regular)}.profile-plan-badge{background:var(--amber);border-radius:var(--radius-pill);color:var(--grape);display:inline-flex;font-weight:var(--font-bold);padding:var(--sp-1) var(--sp-3)}.profile-plan-badge--pro{background:var(--coral);color:var(--white)}.profile-csr-section{margin:var(--sp-4)}.profile-csr-header{align-items:center;display:flex;gap:var(--sp-2)}.profile-csr-header .material-symbols-outlined{color:var(--coral)}.profile-csr-header h2{color:var(--color-text);font-size:var(--text-base);font-weight:var(--font-bold);margin:0}.profile-csr-grid{display:grid;gap:var(--sp-3);grid-template-columns:repeat(3,1fr)}.profile-csr-grid div{display:grid;gap:var(--sp-1)}.profile-csr-grid span,.profile-csr-card p{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--font-regular);margin:0}.profile-csr-grid strong{color:var(--grape);font-size:var(--text-lg);font-weight:var(--font-bold)}.profile-team-list{display:grid;gap:var(--sp-2)}.profile-danger-card{border:var(--border-width) solid var(--profile-danger-border);box-shadow:none}.profile-danger-button{background:transparent;border:var(--join-input-border-width) solid var(--coral);border-radius:var(--radius-lg);color:var(--coral);font-weight:var(--font-bold);min-height:var(--join-input-min-height);width:100%}.profile-spinner{animation:auth-spin var(--live-game-pulse-duration) linear infinite;border:var(--scoring-info-border-width) solid currentColor;border-radius:50%;border-right-color:transparent;color:var(--grape);display:inline-block;height:var(--profile-spinner-size);justify-self:center;width:var(--profile-spinner-size)}.team-page{align-content:start;background:var(--color-bg);display:grid;gap:var(--sp-4);margin:calc(var(--space-8) * -1) calc(var(--space-6) * -1) calc((var(--bottom-nav-min-height) + var(--space-8)) * -1);min-height:100dvh;padding-bottom:calc(var(--bottom-nav-min-height) + var(--sp-6))}.team-page-header{align-items:center;align-self:start;display:flex;justify-content:space-between;padding:var(--sp-4)}.team-page-header h1{color:var(--color-text);font-size:var(--text-lg);font-weight:var(--font-bold);margin:0}.team-page-header>span{display:inline-block;min-width:var(--touch-target)}.team-empty-state{align-items:center;align-self:center;display:grid;gap:var(--sp-3);justify-items:center;min-height:var(--score-card-min-height);padding:var(--sp-4);text-align:center}.team-empty-state>.material-symbols-outlined{color:var(--grape);font-size:var(--text-xl)}.team-empty-state p{color:var(--color-text);font-size:var(--text-base);margin:0}.team-empty-state button,.team-primary-button{align-items:center;background:var(--grape);border-radius:var(--radius-lg);color:var(--white);display:inline-flex;font-weight:var(--font-bold);justify-content:center;min-height:var(--join-button-min-height);padding:var(--sp-3);width:100%}.team-avatar-section{display:grid;gap:var(--sp-2);justify-items:center;padding-top:var(--sp-2)}.team-avatar{align-items:center;border:var(--scoring-info-border-width) solid var(--grape);border-radius:50%;color:var(--grape);display:inline-flex;height:var(--profile-avatar-size);justify-content:center;overflow:hidden;position:relative;width:var(--profile-avatar-size)}.team-avatar img{height:100%;object-fit:cover;width:100%}.team-avatar>.material-symbols-outlined{font-size:var(--text-xl)}.team-card{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);display:grid;gap:var(--sp-3);margin:0 var(--sp-4);padding:var(--sp-4)}.team-card h2{color:var(--color-text);font-size:var(--text-base);font-weight:var(--font-bold);margin:0}.team-helper-text{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.team-inline-search{align-items:end;display:grid;gap:var(--sp-3);grid-template-columns:minmax(0,1fr) auto}.team-inline-search button,.team-result-card button{background:var(--grape);border-radius:var(--radius-lg);color:var(--white);font-weight:var(--font-bold);min-height:var(--join-input-min-height);padding:0 var(--sp-4)}.team-result-card{align-items:center;background:var(--color-bg);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);display:grid;gap:var(--sp-3);grid-template-columns:auto minmax(0,1fr) auto;padding:var(--sp-3)}.team-result-card img,.team-result-card>.material-symbols-outlined{border-radius:50%;height:var(--profile-result-avatar-size);width:var(--profile-result-avatar-size)}.team-result-card img{object-fit:cover}.team-result-card>.material-symbols-outlined{color:var(--grape);font-size:var(--profile-result-avatar-size)}.team-result-card div{display:grid;min-width:0}.team-result-card div strong,.team-result-card div span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-result-card strong{color:var(--color-text);font-size:var(--text-base)}.team-result-card div span{color:var(--color-text-muted);font-size:var(--text-sm)}.team-success{color:var(--grape);font-size:var(--text-sm);font-weight:var(--font-bold);margin:0}[data-theme=dark] .team-success,[data-theme=dark] .profile-saved{color:var(--aqua)}.user-search-result{align-items:start;background:var(--color-bg);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);display:grid;gap:var(--sp-3);grid-template-columns:auto minmax(0,1fr);padding:var(--sp-3)}.user-search-result img,.user-search-result>.material-symbols-outlined{border-radius:50%;height:var(--profile-result-avatar-size);width:var(--profile-result-avatar-size)}.user-search-result img{object-fit:cover}.user-search-result>.material-symbols-outlined{color:var(--color-text);font-size:var(--profile-result-avatar-size)}.user-search-result__body{display:grid;gap:var(--sp-1);min-width:0}.user-search-result__body strong,.user-search-result__body>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-search-result__body strong{color:var(--color-text);font-size:var(--text-base)}.user-search-result__body>span,.user-search-result__muted{color:var(--color-text-muted);font-size:var(--text-sm)}.user-search-result__teams,.user-search-result__actions{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.user-search-result__team{background:var(--amber);border-radius:var(--radius-pill);color:var(--grape);font-size:var(--text-xs);font-weight:var(--font-bold);padding:var(--sp-1) var(--sp-2)}.user-search-result__expand,.user-search-result__actions button{border-radius:var(--radius-lg);font-size:var(--text-xs);font-weight:var(--font-bold);min-height:var(--touch-target);padding:0 var(--sp-3)}.user-search-result__expand{background:transparent;border:var(--border-width) solid var(--color-border);color:var(--color-text)}.user-search-result__actions button{background:var(--grape);color:var(--white)}.team-profile-invite{border-top:var(--border-width) solid var(--color-border);display:grid;gap:var(--sp-3);margin-top:var(--sp-3);padding-top:var(--sp-3)}.team-profile-invite h3,.team-profile-invite p{margin:0}.team-profile-invite h3{color:var(--color-text);font-size:var(--text-base)}.team-profile-invite p{color:var(--color-text-muted);font-size:var(--text-sm)}.team-profile-page .dashboard-header{grid-template-columns:var(--touch-target) minmax(0,1fr) var(--touch-target);display:grid}.team-profile-page .dashboard-header h1{overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.team-profile-header-spacer{display:inline-block;min-height:var(--touch-target);min-width:var(--touch-target)}.team-profile-summary{align-items:center;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:grid;gap:var(--sp-3);grid-template-columns:auto minmax(0,1fr);padding:var(--sp-4)}.team-profile-avatar{align-items:center;border:var(--scoring-info-border-width) solid var(--aqua);border-radius:50%;color:var(--grape);display:inline-flex;height:var(--team-profile-avatar-size);justify-content:center;overflow:hidden;width:var(--team-profile-avatar-size)}.team-profile-avatar img{height:100%;object-fit:cover;width:100%}.team-profile-avatar>.material-symbols-outlined{font-size:var(--text-xl)}.team-profile-summary div:last-child{display:grid;min-width:0}.team-profile-summary strong,.team-profile-summary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-profile-summary strong{color:var(--color-text);font-size:var(--text-lg);font-weight:var(--font-bold)}.team-profile-summary span{color:var(--color-text-muted);font-size:var(--text-sm)}.team-profile-edit-actions{display:grid;gap:var(--sp-2);grid-template-columns:minmax(0,1fr) auto}.team-profile-edit-actions button:last-child{background:transparent;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);font-weight:var(--font-bold);min-height:var(--join-button-min-height);padding:0 var(--sp-4)}.team-profile-member-list{display:grid;gap:var(--sp-2)}.team-profile-member-row{align-items:center;border-bottom:var(--border-width) solid var(--color-border);display:grid;gap:var(--sp-3);grid-template-columns:auto minmax(0,1fr) auto;padding-bottom:var(--sp-2)}.team-profile-member-row:last-child{border-bottom:0;padding-bottom:0}.team-profile-member-row img,.team-profile-member-row>.material-symbols-outlined{border-radius:50%;height:var(--profile-result-avatar-size);width:var(--profile-result-avatar-size)}.team-profile-member-row img{object-fit:cover}.team-profile-member-row>.material-symbols-outlined{color:var(--grape);font-size:var(--profile-result-avatar-size)}.team-profile-member-row div{display:grid;min-width:0}.team-profile-member-row strong,.team-profile-member-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-profile-member-row strong{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--font-bold)}.team-profile-member-row div span{color:var(--color-text-muted);font-size:var(--text-xs)}.team-owner-badge{background:var(--aqua);border-radius:var(--radius-pill);color:var(--grape);font-size:var(--text-xs);font-weight:var(--font-bold);padding:var(--sp-1) var(--sp-2);text-transform:uppercase}.upgrade-page{align-content:start;background:var(--color-bg);display:grid;gap:var(--sp-4);margin:calc(var(--space-8) * -1) calc(var(--space-6) * -1) calc((var(--bottom-nav-min-height) + var(--space-8)) * -1);min-height:100dvh;padding-bottom:var(--sp-8)}.upgrade-page--centered{grid-template-rows:auto 1fr}.upgrade-header{align-items:center;display:flex;justify-content:space-between;padding:var(--sp-4)}.upgrade-header h1{color:var(--color-text);font-size:var(--text-lg);font-weight:var(--font-bold);margin:0}.upgrade-header-placeholder{display:inline-block;min-width:var(--touch-target)}.upgrade-icon-button{align-items:center;background:transparent;color:var(--color-text);display:inline-flex;justify-content:center;min-height:var(--touch-target);min-width:var(--touch-target);padding:var(--sp-1)}.upgrade-intro{color:var(--color-text-muted);font-size:var(--text-base);font-weight:var(--font-regular);margin:0;padding:var(--sp-4);text-align:center}.upgrade-plan-list{display:grid;gap:var(--sp-3)}.upgrade-plan-card{background:var(--color-surface);border:var(--border-width-active) solid transparent;border-radius:var(--radius-xl);color:var(--color-text);display:grid;gap:var(--sp-2);margin:0 var(--sp-4);min-height:auto;padding:var(--sp-4);text-align:left}.upgrade-plan-card--selected{border-color:var(--grape);box-shadow:var(--shadow-focus)}[data-theme=dark] .upgrade-plan-card--selected{border-color:var(--aqua)}.upgrade-plan-card__top{align-items:center;display:flex;gap:var(--sp-3);justify-content:space-between}.upgrade-plan-card__label{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-bold)}.upgrade-plan-selected{align-items:center;color:var(--coral);display:inline-flex;font-size:var(--text-xs);font-weight:var(--font-bold);gap:var(--sp-1);text-transform:uppercase}[data-theme=dark] .upgrade-plan-selected{color:var(--amber)}.upgrade-plan-selected .material-symbols-outlined{font-size:var(--text-base)}.upgrade-plan-card strong{font-size:var(--text-lg);font-weight:var(--font-bold)}.upgrade-plan-card__subtext{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-regular)}.upgrade-plan-badge{background:var(--amber);border-radius:var(--radius-pill);color:var(--grape);font-size:var(--text-xs);font-weight:var(--font-bold);padding:var(--sp-1) var(--sp-2)}.upgrade-included{background:var(--color-surface);border-radius:var(--radius-xl);display:grid;gap:var(--sp-3);margin:var(--sp-4);padding:var(--sp-4)}.collapsible-section__trigger{align-items:center;background:transparent;color:var(--color-text);display:flex;font-size:var(--text-base);font-weight:var(--font-bold);justify-content:space-between;min-height:var(--touch-target);padding:0;text-align:left;width:100%}.collapsible-section__content{display:grid;gap:var(--sp-3)}.pro-feature-card{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);display:grid;gap:var(--sp-3);padding:var(--sp-4)}.pro-feature-card__message{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-regular);margin:0}.pro-feature-card__list{display:grid;gap:var(--sp-3);list-style:none;margin:0;padding:0}.pro-feature-card__list li{align-items:center;color:var(--color-text);display:flex;font-size:var(--text-sm);gap:var(--sp-2)}.pro-feature-card__list .material-symbols-outlined{color:var(--grape);font-size:var(--text-lg)}.pro-feature-card__button{align-items:center;background:var(--grape);border-radius:var(--radius-lg);color:var(--white);display:inline-flex;font-weight:var(--font-bold);justify-content:center;min-height:var(--join-button-min-height);width:100%}.upgrade-feature-list{display:grid;gap:var(--sp-3);list-style:none;margin:0;padding:0}.upgrade-feature-list li{align-items:center;color:var(--color-text);display:flex;font-size:var(--text-sm);font-weight:var(--font-regular);gap:var(--sp-2)}.upgrade-feature-list .material-symbols-outlined{color:var(--grape);font-size:var(--text-lg)}.upgrade-checkout{display:grid;gap:var(--sp-3);margin:0 var(--sp-4) var(--sp-4)}.upgrade-checkout p{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--font-regular);margin:0;text-align:center}.upgrade-primary-button{align-items:center;background:var(--grape);border-radius:var(--radius-lg);color:var(--white);display:inline-flex;font-weight:var(--font-bold);justify-content:center;min-height:var(--primary-cta-min-height);width:100%}.upgrade-ghost-button{background:transparent;color:var(--grape);font-weight:var(--font-bold);min-height:var(--join-button-min-height);width:100%}.upgrade-checkout .upgrade-error{color:var(--coral);font-size:var(--text-sm)}.upgrade-loading{align-items:center;display:grid;justify-items:center;min-height:var(--score-card-min-height)}.upgrade-already-card{align-self:center;background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);display:grid;gap:var(--sp-4);justify-self:center;margin:var(--sp-4);max-width:var(--auth-card-max-width);padding:var(--sp-4);text-align:center;width:calc(100% - var(--sp-8))}.upgrade-already-card>.material-symbols-outlined{color:var(--grape);font-size:72px;justify-self:center}.upgrade-already-card p{color:var(--color-text);font-size:var(--text-base);font-weight:var(--font-bold);margin:0}.upgrade-success-page{align-items:center;background:var(--color-bg);display:grid;margin:calc(var(--space-8) * -1) calc(var(--space-6) * -1) calc((var(--bottom-nav-min-height) + var(--space-8)) * -1);min-height:100dvh;padding:var(--sp-4) var(--sp-4) var(--sp-8)}.upgrade-success-card{display:grid;gap:var(--sp-4);justify-items:center;margin:0 auto;max-width:var(--auth-card-max-width);text-align:center;width:100%}.upgrade-success-card>.material-symbols-outlined{color:var(--grape);font-size:72px}.upgrade-success-card h1{color:var(--grape);font-size:var(--text-xl);font-weight:var(--font-bold);margin:0}.upgrade-success-card p{color:var(--color-text-muted);font-size:var(--text-base);font-weight:var(--font-regular);margin:0}.upgrade-spinner{animation:auth-spin var(--live-game-pulse-duration) linear infinite;border:var(--scoring-info-border-width) solid currentColor;border-radius:50%;border-right-color:transparent;color:currentColor;display:inline-block;height:var(--profile-spinner-size);justify-self:center;width:var(--profile-spinner-size)}@keyframes auth-spin{to{transform:rotate(360deg)}}.setup-page,.settings-page,.rules-page{max-width:var(--form-max-width)}.faq-page{display:grid;gap:var(--sp-4);max-width:var(--form-max-width);padding-bottom:var(--bottom-nav-min-height)}.faq-header h1{color:var(--color-text);font-size:var(--text-lg);font-weight:var(--font-bold);margin:0}.faq-group-list,.faq-group,.faq-question-list{display:grid;gap:var(--sp-3)}.faq-group h2{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:var(--tracking-profile-label);margin:var(--sp-2) 0 0;text-transform:uppercase}.faq-page .collapsible-section{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:grid;gap:var(--sp-3);padding:var(--sp-4)}.faq-page .collapsible-section__content p{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.5;margin:0}.faq-inline-link{align-items:center;background:var(--grape);border-radius:var(--radius-lg);color:var(--white);display:inline-flex;font-weight:var(--font-bold);justify-content:center;justify-self:start;min-height:var(--touch-target);padding:0 var(--sp-4)}.faq-support{color:var(--color-text-muted);font-size:var(--text-sm);padding:var(--sp-2) 0 var(--sp-4);text-align:center}.faq-support a{color:var(--color-text);font-weight:var(--font-bold)}.setup-form{display:grid;gap:var(--space-6)}.form-section{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);display:grid;gap:var(--space-4);margin:0;padding:var(--space-5)}.form-section legend{font-size:var(--text-xs);font-weight:var(--font-bold);letter-spacing:var(--tracking-label);padding:0 var(--space-2);text-transform:uppercase}.form-section h2{font-size:var(--text-lg);margin:0}.settings-fieldset{border:0;display:grid;gap:var(--space-3);margin:0;padding:0}.settings-fieldset legend{font-size:var(--text-xs);font-weight:var(--font-bold);letter-spacing:var(--tracking-label);padding:0;text-transform:uppercase}.scoring-mode-control{align-items:center;display:flex;font-size:var(--text-sm);font-weight:var(--font-bold);gap:var(--space-2);justify-content:space-between}.scoring-mode-info-button{align-items:center;background:transparent;color:var(--color-text-muted);display:inline-flex;justify-content:center;padding:var(--space-2)}.scoring-mode-info-button .material-symbols-outlined{font-size:var(--text-base)}.scoring-mode-info{background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:var(--space-3);padding:var(--space-3)}.game-type-section{background:var(--color-surface);border-radius:var(--radius-lg);display:grid;gap:var(--sp-2);padding:var(--sp-4)}.game-type-section h2{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:var(--tracking-profile-label);margin:0;text-transform:uppercase}.game-type-segmented{border:var(--join-input-border-width) solid var(--color-border);border-radius:var(--radius-lg);display:grid;grid-template-columns:1fr 1fr;overflow:hidden}.game-type-segment{min-width:0}.game-type-segment input{opacity:0;pointer-events:none;position:absolute}.game-type-segment span{align-items:center;background:var(--color-surface);color:var(--color-text-muted);display:flex;font-weight:var(--font-regular);justify-content:center;min-height:var(--touch-target);padding:var(--sp-3)}.game-type-segment input:checked+span{background:var(--grape);color:var(--white);font-weight:var(--font-bold)}.game-type-segment input:focus-visible+span{outline:var(--border-width-active) solid var(--coral);outline-offset:calc(var(--border-width-active) * -1)}.scoring-mode-info__row{border-left:var(--scoring-info-border-width) solid transparent;color:var(--color-text);font-size:var(--text-sm);font-weight:var(--font-regular);margin:0;padding-left:var(--space-3)}.scoring-mode-info__row--selected{border-left-color:var(--coral)}.scoring-mode-info__row strong{font-weight:var(--font-bold)}.field{display:grid;gap:var(--space-2);font-weight:var(--font-bold)}.field input{background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);min-height:var(--control-min-height);padding:var(--space-3) var(--space-4);width:100%}.field select,.field textarea{background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);font-family:var(--font-family);min-height:var(--control-min-height);padding:var(--space-3) var(--space-4);width:100%}.team-autocomplete{position:relative}.team-autocomplete__selected,.team-autocomplete__status{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--font-regular)}.team-autocomplete__selected{color:var(--grape);font-weight:var(--font-bold)}[data-theme=dark] .team-autocomplete__selected{color:var(--aqua)}.team-autocomplete__list{background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:grid;gap:var(--sp-1);padding:var(--sp-2);position:relative;z-index:1}.team-autocomplete__list button{align-items:center;background:transparent;border-radius:var(--radius-lg);color:var(--color-text);display:grid;font-weight:var(--font-bold);gap:var(--sp-2);grid-template-columns:auto minmax(0,1fr);min-height:var(--touch-target);padding:var(--sp-2);text-align:left}.team-autocomplete__list .team-autocomplete__option--pending{background:var(--amber);color:var(--grape)}.team-autocomplete__list img,.team-autocomplete__list .material-symbols-outlined{border-radius:50%;height:var(--profile-result-avatar-size);width:var(--profile-result-avatar-size)}.team-autocomplete__list img{object-fit:cover}.team-autocomplete__list .material-symbols-outlined{color:var(--color-text);font-size:var(--profile-result-avatar-size)}.choice-grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--choice-min-width)),1fr))}.choice-option{align-items:center;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;display:flex;gap:var(--space-3);min-height:var(--control-min-height);padding:var(--space-3) var(--space-4)}.choice-option:has(input:checked){background:var(--amber);border-width:var(--border-width-active);color:var(--grape)}.toggle-field{align-items:center;cursor:pointer;display:flex;font-weight:var(--font-bold);gap:var(--space-3);min-height:var(--touch-target)}.settings-toggle{justify-content:space-between}.form-error{align-items:center;background:var(--coral);border-radius:var(--radius-lg);color:var(--white);display:flex;font-weight:var(--font-bold);gap:var(--space-2);margin:0;padding:var(--space-3) var(--space-4)}.primary-action{background:var(--coral);color:var(--white);min-height:var(--primary-cta-min-height);width:100%}.primary-link-action{align-items:center;background:var(--coral);border-radius:var(--radius-lg);color:var(--white);display:inline-flex;font-weight:var(--font-bold);justify-content:center;min-height:var(--primary-cta-min-height);padding:var(--space-3) var(--space-4);text-decoration:none;width:100%}.secondary-action{align-items:center;background:var(--grape);border-radius:var(--radius-lg);color:var(--white);display:inline-flex;font-weight:var(--font-bold);justify-content:center;min-height:var(--touch-target);padding:var(--space-3) var(--space-4);text-decoration:none}.accent-action{background:var(--amber);color:var(--grape);min-height:var(--primary-cta-min-height);width:100%}.empty-state{justify-items:start}.empty-state>.material-symbols-outlined{color:var(--coral);font-size:var(--text-xl)}.rules-list{display:grid;gap:var(--space-4)}.rules-section{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);display:grid;gap:var(--space-3);padding:var(--space-5)}.rules-section__heading{align-items:center;display:flex;gap:var(--space-3)}.rules-section__heading .material-symbols-outlined{color:var(--coral)}.rules-section h2{font-size:var(--text-lg);margin:0}.rules-section ul{display:grid;gap:var(--space-2);margin:0;padding-left:var(--space-5)}.toast{align-items:center;background:var(--amber);border-radius:var(--radius-lg);color:var(--grape);display:flex;flex-wrap:wrap;font-weight:var(--font-bold);gap:var(--space-3);padding:var(--space-3) var(--space-4)}.toast button{background:var(--grape);color:var(--white);margin-left:auto;padding:var(--space-2) var(--space-4)}.icon-button{align-items:center;background:transparent;color:var(--color-text);display:inline-flex;justify-content:center;padding:var(--space-2)}.live-scoring{gap:var(--space-6)}.live-scoring__heading{display:flex;gap:var(--space-4);justify-content:space-between}.live-scoring__heading p{font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:var(--tracking-label);text-transform:uppercase}.game-code-actions{align-items:center;display:inline-flex;flex-wrap:wrap;gap:var(--space-3);justify-content:end}.game-code-actions__share{gap:var(--space-2)}.connection-status{align-items:center;background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);display:inline-flex;font-size:var(--text-sm);font-weight:var(--font-bold);gap:var(--space-2);justify-content:center;letter-spacing:var(--tracking-label);min-height:var(--touch-target);padding:var(--space-3) var(--space-4);text-transform:uppercase}.connection-status__dot{background:var(--color-border);border-radius:var(--radius-lg);display:inline-block;height:var(--space-3);width:var(--space-3)}.connection-status--connected .connection-status__dot{background:var(--aqua)}.connection-status--syncing .connection-status__dot{background:var(--amber)}.connection-status--offline .connection-status__dot{background:var(--coral)}.viewer-badge{align-items:center;background:var(--amber);border-radius:var(--radius-lg);color:var(--grape);display:inline-flex;font-size:var(--text-sm);font-weight:var(--font-bold);gap:var(--space-2);letter-spacing:var(--tracking-label);min-height:var(--touch-target);padding:var(--space-3) var(--space-4);text-transform:uppercase}.spectator-view{gap:var(--space-6)}.spectator-meta{align-items:end;display:grid;gap:var(--space-2);justify-items:end}.spectator-meta p,.status-pill{font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:var(--tracking-label);text-transform:uppercase}.status-pill{background:var(--amber);border-radius:var(--radius-lg);color:var(--grape);display:inline-flex;min-height:var(--touch-target);padding:var(--space-3) var(--space-4)}.scoreboard{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--scoreboard-min-width)),1fr))}.score-card{border-radius:var(--radius-lg);display:grid;gap:var(--space-2);min-height:var(--score-card-min-height);padding:var(--space-5)}.score-card p{font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:var(--tracking-label);text-transform:uppercase}.score-card strong{align-self:end;font-size:var(--score);line-height:1}.score-card--team-a{background:var(--team-a);color:var(--team-a-text)}.score-card--team-b{background:var(--team-b);color:var(--team-b-text)}.round-panel{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);display:grid;gap:var(--space-5);padding:var(--space-5)}.round-panel__header{align-items:center;display:flex;gap:var(--space-4);justify-content:space-between}.round-panel h2,.throw-team h3{font-size:var(--text-lg);margin:0}.round-panel__header p{font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:var(--tracking-label);text-transform:uppercase}.round-totals{display:grid;gap:var(--space-2);grid-template-columns:1fr auto}.round-totals span{font-weight:var(--font-bold)}.round-totals strong{font-size:var(--text-lg)}.simple-round-grid,.throw-controls{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--throw-column-min-width)),1fr))}.throw-team{display:grid;gap:var(--space-3)}.first-throw-card,.current-thrower-card{align-items:center;background:var(--color-bg);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);display:grid;gap:var(--sp-2);grid-template-columns:auto minmax(0,1fr);padding:var(--sp-3)}.current-thrower-card{border-color:var(--coral);grid-template-columns:auto minmax(0,1fr) auto}.first-throw-card>span,.current-thrower-card>span{color:var(--coral)}.first-throw-card div,.current-thrower-card div{display:grid;gap:var(--sp-1);min-width:0}.first-throw-card strong,.current-thrower-card strong{color:var(--color-text);font-size:var(--text-sm)}.first-throw-card small,.current-thrower-card small{color:var(--color-text-muted);font-size:var(--text-xs)}.current-thrower-card em{background:var(--amber);border-radius:var(--radius-full);color:var(--grape);font-size:var(--text-xs);font-style:normal;font-weight:var(--font-bold);justify-self:end;padding:var(--sp-1) var(--sp-2);white-space:nowrap}.lineup-panel,.result-confirmation-panel{background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);display:grid;gap:var(--sp-3);padding:var(--sp-4)}.lineup-panel h2,.result-confirmation-panel h3{color:var(--color-text);font-size:var(--text-base);margin:0}.lineup-panel__toggle{align-items:center;background:transparent;color:var(--color-text);display:grid;gap:var(--sp-2);grid-template-columns:minmax(0,1fr) auto auto;min-height:var(--touch-target);text-align:left}.lineup-panel__toggle span:first-child{color:var(--color-text);font-size:var(--text-base);font-weight:var(--font-bold)}.lineup-panel__toggle small{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase}.lineup-panel__teams,.lineup-panel__join,.result-confirmation-panel__form{display:grid;gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr))}.lineup-panel__teams>div{display:grid;gap:var(--sp-2)}.lineup-slot{display:grid;gap:var(--sp-2)}.lineup-panel__teams strong,.active-thrower strong{color:var(--color-text);font-size:var(--text-sm)}.lineup-player,.active-thrower{align-items:center;background:var(--color-bg);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);display:grid;gap:var(--sp-2);grid-template-columns:auto minmax(0,1fr);min-height:var(--touch-target);padding:var(--sp-2);text-align:left}.active-thrower{grid-template-columns:auto minmax(0,1fr) auto}.active-thrower--current{border-color:var(--coral);box-shadow:0 0 0 var(--border-width) var(--coral)}.lineup-player[aria-pressed=true]{background:var(--amber);color:var(--grape)}.lineup-player:disabled{cursor:default;opacity:1}.lineup-player strong{color:inherit;font-size:var(--text-sm);line-height:1.1}.lineup-player img,.active-thrower img,.lineup-player>span,.active-thrower>span{align-items:center;border-radius:50%;display:inline-flex;font-size:var(--text-xs);font-weight:var(--font-bold);height:var(--profile-result-avatar-size);justify-content:center;width:var(--profile-result-avatar-size)}.lineup-player>span,.active-thrower>span{background:var(--aqua);color:var(--grape)}.lineup-player img,.active-thrower img{object-fit:cover}.lineup-player small{color:var(--color-text-muted);font-size:var(--text-xs)}.active-thrower div{display:grid;gap:var(--sp-1);min-width:0}.active-thrower small{color:var(--color-text-muted);font-size:var(--text-xs)}.active-thrower em{background:var(--amber);border-radius:var(--radius-full);color:var(--grape);font-size:var(--text-xs);font-style:normal;font-weight:var(--font-bold);justify-self:end;padding:var(--sp-1) var(--sp-2);white-space:nowrap}.score-input:disabled{cursor:not-allowed;filter:grayscale(.35);opacity:.6}.lineup-slot__manager{background:var(--color-surface-2);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:var(--sp-2);padding:var(--sp-2)}.lineup-slot__actions{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.lineup-slot__actions button{background:var(--grape);border-radius:var(--radius-md);color:var(--white);font-weight:var(--font-bold);min-height:var(--touch-target);padding:0 var(--sp-3)}.lineup-slot__actions button:last-child{background:var(--color-bg);border:var(--border-width) solid var(--color-border);color:var(--color-text)}.lineup-panel__join button,.result-confirmation-panel__actions button,.result-confirmation-panel__form>button{background:var(--grape);border-radius:var(--radius-lg);color:var(--white);font-weight:var(--font-bold);min-height:var(--touch-target);padding:0 var(--sp-4)}.result-confirmation-panel p{color:var(--color-text-muted);margin:0}.result-confirmation-panel__actions{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.result-confirmation-panel__actions button:last-child{background:var(--amber);color:var(--grape)}.result-confirmation-panel__note{grid-column:1 / -1}.score-input{min-height:var(--score-button-min-height)}.score-input--team-a{background:var(--team-a);color:var(--team-a-text)}.score-input--team-b{background:var(--team-b);color:var(--team-b-text)}.round-actions{display:grid;gap:var(--space-3);grid-template-columns:auto 1fr}.round-actions__undo{gap:var(--space-2)}.round-actions__status{align-items:center;background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);display:flex;font-size:var(--text-sm);font-weight:var(--font-bold);min-height:var(--primary-cta-min-height);padding:var(--space-3) var(--space-4)}.modal-backdrop{align-items:end;background:var(--color-backdrop);display:grid;top:0;right:0;bottom:0;left:0;padding:var(--space-6);position:fixed;z-index:var(--layer-modal)}.share-modal{background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);display:grid;gap:var(--space-5);margin:0 auto;max-width:var(--modal-max-width);padding:var(--space-5);width:100%}.share-modal__header{align-items:start;display:flex;gap:var(--space-4);justify-content:space-between}.share-modal__header p,.share-modal__message{font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:var(--tracking-label);text-transform:uppercase}.share-modal h2{font-size:var(--text-xl);margin:0}.share-modal__qr{align-items:center;display:grid;gap:var(--space-3);justify-items:center}.share-modal__qr p{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-regular);margin:0;text-align:center}.share-modal__qr svg{background:var(--white);border-radius:var(--radius-md);padding:var(--space-2)}.share-modal .primary-action{align-items:center;display:inline-flex;gap:var(--space-2);justify-content:center}.win-screen{max-width:var(--form-max-width)}.winner-panel{background:var(--amber);border-radius:var(--radius-lg);color:var(--grape);display:grid;gap:var(--space-2);justify-items:center;padding:var(--space-8) var(--space-5);text-align:center}.winner-panel .material-symbols-outlined{font-size:var(--text-xl)}.winner-panel p{font-size:var(--text-xs);font-weight:var(--font-bold);letter-spacing:var(--tracking-label);text-transform:uppercase}.winner-panel strong{font-size:var(--text-xl)}.final-score{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);display:grid;gap:var(--space-3);padding:var(--space-5)}.final-score div{align-items:center;display:flex;gap:var(--space-4);justify-content:space-between}.final-score span{font-weight:var(--font-bold)}.final-score strong{font-size:var(--text-xl)}.win-team-link{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:grid;gap:var(--sp-3);padding:var(--sp-4)}.win-team-link h2,.win-team-link p{margin:0}.win-team-link h2{color:var(--color-text);font-size:var(--text-base);font-weight:var(--font-bold)}.win-team-link p{color:var(--color-text-muted);font-size:var(--text-sm)}.win-team-link__list{display:grid;gap:var(--sp-2)}.win-team-link__list button{align-items:center;background:var(--color-bg);border:var(--border-width) solid transparent;border-radius:var(--radius-lg);color:var(--color-text);display:grid;font-weight:var(--font-bold);gap:var(--sp-2);grid-template-columns:auto minmax(0,1fr) auto;min-height:var(--primary-cta-min-height);padding:var(--sp-2);text-align:left}.win-team-link__list button[aria-pressed=true]{border-color:var(--aqua)}.win-team-link__list img,.win-team-link__list button>.material-symbols-outlined:first-child{border-radius:50%;height:var(--profile-result-avatar-size);width:var(--profile-result-avatar-size)}.win-team-link__list img{object-fit:cover}.win-team-link__list button>.material-symbols-outlined:first-child{color:var(--grape);font-size:var(--profile-result-avatar-size)}.win-team-link__success{color:var(--grape);font-weight:var(--font-bold)}.win-team-link__error{color:var(--coral);font-weight:var(--font-bold)}.win-actions{display:grid;gap:var(--space-3)}.bottom-nav{align-items:center;background:var(--color-surface);border-top:var(--border-width) solid var(--color-border);bottom:0;display:grid;gap:var(--space-2);grid-template-columns:repeat(5,minmax(0,1fr));min-height:var(--bottom-nav-min-height);padding:var(--space-2);position:sticky;z-index:var(--layer-nav)}.bottom-nav__link{align-items:center;border-radius:var(--radius-lg);color:var(--color-text);display:inline-flex;flex-direction:column;font-size:var(--text-xs);font-weight:var(--font-bold);gap:var(--space-1);justify-content:center;min-height:var(--touch-target);text-decoration:none;text-transform:uppercase}.bottom-nav__action{background:transparent;border:0;padding:0}.bottom-nav__action--dimmed{opacity:var(--disabled-opacity)}.bottom-nav__link[aria-current=page]{background:var(--amber);color:var(--grape)}.bottom-nav-toast{align-items:center;background:var(--amber);border:var(--border-width) solid var(--grape);border-radius:var(--radius-lg);bottom:calc(var(--bottom-nav-min-height) + var(--space-3));color:var(--grape);display:flex;flex-wrap:wrap;font-size:var(--text-sm);font-weight:var(--font-bold);gap:var(--space-3);left:var(--space-4);padding:var(--space-3);position:fixed;right:var(--space-4);z-index:var(--layer-modal)}.bottom-nav-toast a{margin-left:auto}.action-sheet{top:0;right:0;bottom:0;left:0;position:fixed;z-index:var(--layer-modal)}.action-sheet__overlay{background:#00000080;border-radius:0;top:0;right:0;bottom:0;left:0;min-height:0;min-width:0;position:absolute;width:100%}.action-sheet__panel{animation:action-sheet-slide var(--action-sheet-duration) ease-out;background:var(--color-surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;bottom:0;display:grid;gap:var(--space-4);left:0;padding:var(--space-4);position:absolute;right:0}.action-sheet__header{align-items:center;display:flex;justify-content:space-between}.action-sheet__header h2{font-size:var(--text-lg);margin:0}.action-sheet__close{align-items:center;background:transparent;color:var(--color-text);display:inline-flex;justify-content:center;padding:var(--space-2)}.action-sheet__auth,.action-sheet__options{display:grid;gap:var(--space-3)}.action-sheet__option-group{display:grid;gap:var(--space-2)}.action-sheet__auth p{color:var(--color-text-muted);margin:0;text-align:center}.action-sheet__signin{background:var(--grape);color:var(--white);min-height:var(--primary-cta-min-height)}.action-sheet__option{align-items:center;background:transparent;border-radius:var(--radius-lg);color:var(--color-text);display:grid;font-size:var(--text-base);font-weight:var(--font-bold);gap:var(--space-3);grid-template-columns:auto 1fr auto;min-height:var(--primary-cta-min-height);padding:var(--space-3);text-align:left}.action-sheet__option:not(:disabled):active{background:var(--color-border)}.action-sheet__option:disabled{opacity:1}.action-sheet__badge{background:var(--amber);border-radius:var(--radius-lg);color:var(--grape);font-size:var(--text-xs);padding:var(--space-1) var(--space-2);text-transform:uppercase}.action-sheet__join-search{background:var(--color-bg);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);display:grid;gap:var(--space-3);padding:var(--space-3)}.action-sheet__join-search label{display:grid;gap:var(--space-2)}.action-sheet__join-search label span{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--font-bold);letter-spacing:var(--tracking-profile-label);text-transform:uppercase}.action-sheet__join-search input{background:var(--color-surface);border:var(--join-input-border-width) solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);font-family:var(--font-family);font-size:var(--text-base);min-height:var(--join-input-min-height);padding:var(--space-3);width:100%}.action-sheet__join-search input:focus{border-color:var(--grape)}.action-sheet__join-actions{display:grid;gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr))}.action-sheet__join-actions button{background:var(--grape);border-radius:var(--radius-lg);color:var(--white);font-weight:var(--font-bold);min-height:var(--touch-target)}.action-sheet__join-actions button:last-child{background:var(--color-surface);border:var(--border-width) solid var(--grape);color:var(--grape)}[data-theme=dark] .action-sheet__join-actions button:last-child{border-color:var(--aqua);color:var(--aqua)}.action-sheet__message{color:var(--coral);font-size:var(--text-sm);margin:0}.action-sheet__user-result{align-items:center;background:var(--color-surface);border-radius:var(--radius-lg);display:grid;gap:var(--space-3);grid-template-columns:auto minmax(0,1fr);padding:var(--space-3)}.action-sheet__user-result img,.action-sheet__user-result>.material-symbols-outlined{border-radius:50%;height:var(--profile-result-avatar-size);width:var(--profile-result-avatar-size)}.action-sheet__user-result img{object-fit:cover}.action-sheet__user-result>.material-symbols-outlined{color:var(--color-text);font-size:var(--profile-result-avatar-size)}.action-sheet__user-result div{display:grid;min-width:0}.action-sheet__user-result div strong,.action-sheet__user-result div span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-sheet__user-result strong{color:var(--color-text)}.action-sheet__user-result div span{color:var(--color-text-muted);font-size:var(--text-sm)}.phase2-placeholder{align-content:center;display:grid;gap:var(--space-3);justify-items:center;min-height:50vh;text-align:center}.phase2-placeholder>.material-symbols-outlined{color:var(--coral);font-size:3rem}.phase2-placeholder h1,.phase2-placeholder p{margin:0}.phase2-placeholder p{color:var(--color-text-muted)}.phase2-placeholder__button{align-items:center;background:var(--grape);border-radius:var(--radius-lg);color:var(--white);display:inline-flex;font-weight:var(--font-bold);justify-content:center;min-height:var(--touch-target);padding:var(--space-2) var(--space-5);text-decoration:none}.dashboard-page,.game-history-page{background:var(--color-bg);display:grid;gap:var(--sp-4);margin:calc(var(--space-8) * -1) calc(var(--space-6) * -1) calc((var(--bottom-nav-min-height) + var(--space-8)) * -1);min-height:100dvh;padding:var(--sp-4) var(--sp-4) calc(var(--bottom-nav-min-height) + var(--sp-8))}.dashboard-page{align-content:start}.dashboard-header{align-items:center;display:flex;gap:var(--sp-3);justify-content:space-between}.dashboard-page h1{color:var(--color-text);font-size:var(--text-lg);font-weight:var(--font-bold);margin:0}.dashboard-profile-button{align-items:center;background:var(--color-surface);border-radius:var(--radius-lg);color:var(--grape);display:inline-flex;justify-content:center;min-height:var(--touch-target);min-width:var(--touch-target)}[data-theme=dark] .dashboard-profile-button{color:var(--aqua)}.dashboard-kpi-row{display:flex;gap:var(--sp-2);overflow-x:auto;padding:var(--sp-1) 0 var(--sp-2)}.dashboard-kpi-chip{background:var(--color-surface);border:var(--border-width) solid transparent;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--color-text);display:grid;flex:0 0 auto;gap:var(--sp-1);min-width:96px;padding:var(--sp-2) var(--sp-3);text-align:left}button.dashboard-kpi-chip{cursor:pointer}button.dashboard-kpi-chip:focus-visible{border-color:var(--color-focus)}.dashboard-kpi-chip strong{color:var(--grape);font-size:var(--text-lg);font-weight:var(--font-bold);line-height:1}[data-theme=dark] .dashboard-kpi-chip strong{color:var(--aqua)}.dashboard-kpi-chip span{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--font-regular)}.dashboard-kpi-chip small{color:var(--color-text-muted);font-size:var(--text-xs);max-width:11rem}.dashboard-kpi-chip--skeleton{min-height:var(--primary-cta-min-height);opacity:var(--disabled-opacity)}.dashboard-empty-section{align-items:center;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:grid;gap:var(--sp-3);justify-items:center;padding:var(--sp-4);text-align:center}.dashboard-empty-section--full{align-content:center;min-height:var(--score-card-min-height)}.dashboard-empty-section .material-symbols-outlined{color:var(--coral);font-size:var(--text-xl)}.dashboard-empty-section h1,.dashboard-empty-section p{margin:0}.dashboard-empty-section p{color:var(--color-text-muted);font-size:var(--text-sm)}.dashboard-empty-section button,.dashboard-section-link{align-items:center;background:var(--grape);border-radius:var(--radius-lg);color:var(--white);display:inline-flex;font-weight:var(--font-bold);justify-content:center;min-height:var(--touch-target);padding:0 var(--sp-4)}.dashboard-history-link{align-items:center;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--color-text);display:grid;font-weight:var(--font-bold);gap:var(--sp-3);grid-template-columns:auto 1fr auto;min-height:var(--primary-cta-min-height);padding:var(--sp-4);text-decoration:none}.dashboard-page .collapsible-section{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:grid;gap:var(--sp-3);padding:var(--sp-4)}.dashboard-game-list,.dashboard-csr-list,.dashboard-head-list,.dashboard-team-list,.dashboard-stat-grid{display:grid;gap:var(--sp-2)}.dashboard-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-game-row,.dashboard-csr-row,.dashboard-head-row{align-items:center;border-bottom:var(--border-width) solid var(--color-border);display:grid;gap:var(--sp-3);padding-bottom:var(--sp-2)}.dashboard-game-row{grid-template-columns:1fr auto}.dashboard-csr-row,.dashboard-head-row{grid-template-columns:1fr auto auto}.dashboard-head-row{grid-template-columns:1fr auto}.dashboard-game-row:last-child,.dashboard-csr-row:last-child,.dashboard-head-row:last-child{border-bottom:0;padding-bottom:0}.dashboard-game-row div{display:grid;gap:var(--sp-1)}.dashboard-game-row div:last-child{justify-items:end;text-align:right}.dashboard-game-row strong,.dashboard-csr-row strong,.dashboard-head-row strong{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--font-bold)}.dashboard-game-row span,.dashboard-csr-row span,.dashboard-head-row span{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--font-regular)}.dashboard-team-row{align-items:center;background:transparent;border-bottom:var(--border-width) solid var(--color-border);color:var(--color-text);display:grid;gap:var(--sp-3);grid-template-columns:auto minmax(0,1fr) auto;min-height:var(--primary-cta-min-height);padding:0 0 var(--sp-2);text-align:left}.dashboard-team-row:last-of-type{border-bottom:0}.dashboard-team-row img,.dashboard-team-row>.material-symbols-outlined{border-radius:50%;height:var(--profile-result-avatar-size);width:var(--profile-result-avatar-size)}.dashboard-team-row img{object-fit:cover}.dashboard-team-row>.material-symbols-outlined{color:var(--grape);font-size:var(--profile-result-avatar-size)}.dashboard-team-row div{display:grid;min-width:0}.dashboard-team-row strong,.dashboard-team-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-team-row strong{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--font-bold)}.dashboard-team-row div span,.dashboard-team-csr{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--font-regular)}.dashboard-team-actions{display:flex;gap:var(--sp-2);grid-column:2 / -1}.dashboard-team-actions button{background:var(--grape);border-radius:var(--radius-lg);color:var(--white);font-size:var(--text-xs);font-weight:var(--font-bold);min-height:var(--touch-target);padding:0 var(--sp-3)}.dashboard-team-actions button:first-child{background:var(--amber);color:var(--grape)}.game-history-header{align-items:center;display:grid;grid-template-columns:var(--touch-target) 1fr var(--touch-target)}.game-history-header h1{color:var(--color-text);font-size:var(--text-lg);font-weight:var(--font-bold);margin:0;text-align:center}.game-history-upgrade-banner{align-items:center;background:var(--amber);border-radius:var(--radius-lg);color:var(--grape);display:flex;font-size:var(--text-sm);font-weight:var(--font-bold);gap:var(--sp-3);justify-content:space-between;padding:var(--sp-3)}.game-history-upgrade-banner button{color:var(--grape);font-weight:var(--font-bold);min-height:var(--touch-target);text-decoration:underline}.game-history-tabs{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:grid;gap:var(--sp-2);grid-template-columns:repeat(2,minmax(0,1fr));padding:var(--sp-2)}.game-history-tabs button{border-radius:var(--radius-lg);color:var(--color-text);font-weight:var(--font-bold);min-height:var(--touch-target)}.game-history-tabs button[aria-pressed=true]{background:var(--amber);color:var(--grape)}.game-history-list{display:grid;gap:var(--sp-2)}.game-history-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:grid;gap:var(--sp-2);margin-bottom:var(--sp-2);padding:var(--sp-3)}.game-history-card__top{align-items:start;display:flex;gap:var(--sp-2);justify-content:space-between}.game-history-team-header{align-items:center;background:var(--color-bg);border-radius:var(--radius-lg);color:var(--color-text);display:grid;font-weight:var(--font-bold);gap:var(--sp-2);grid-template-columns:auto minmax(0,1fr) auto;min-height:var(--primary-cta-min-height);padding:var(--sp-2);text-align:left}.game-history-team-header img,.game-history-team-header>.material-symbols-outlined:first-child{border-radius:50%;height:var(--profile-result-avatar-size);width:var(--profile-result-avatar-size)}.game-history-team-header img{object-fit:cover}.game-history-team-header>.material-symbols-outlined:first-child{color:var(--grape);font-size:var(--profile-result-avatar-size)}.game-history-team-header span:not(.material-symbols-outlined){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-history-card__actions{align-items:center;display:inline-flex;flex-wrap:wrap;gap:var(--sp-2);justify-content:flex-end}.game-history-card h2{color:var(--color-text);font-size:var(--text-base);font-weight:var(--font-bold);margin:0}.game-history-score{color:var(--grape);font-size:var(--text-lg);font-weight:var(--font-bold)}.game-history-winner{color:var(--coral);font-size:var(--text-sm);font-weight:var(--font-bold);margin:0}.game-history-meta{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--font-regular);margin:0}.game-history-type{background:var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--font-regular);padding:var(--sp-1) var(--sp-2);white-space:nowrap}.game-history-flag{color:var(--color-text-muted);font-size:1.25rem}.game-history-flag--active{color:var(--amber)}.game-history-report-button{align-items:center;background:transparent;color:var(--color-text-muted);display:inline-flex;justify-content:center;min-height:var(--touch-target);min-width:var(--touch-target);padding:0}.game-history-report-button .material-symbols-outlined{font-size:1.25rem}.game-history-report-panel{background:var(--color-bg);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);display:grid;gap:var(--sp-3);margin-top:var(--sp-2);padding:var(--sp-3)}.game-history-report-panel p{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--font-bold);margin:0}.game-history-report-panel div{display:grid;gap:var(--sp-2);grid-template-columns:1fr 1fr}.game-history-report-cancel,.game-history-report-confirm{border-radius:var(--radius-lg);font-weight:var(--font-bold);min-height:var(--touch-target)}.game-history-report-cancel{background:transparent;color:var(--color-text)}.game-history-report-confirm{background:var(--coral);color:var(--white)}.game-history-empty{align-content:center;display:grid;gap:var(--sp-4);justify-items:center;min-height:var(--score-card-min-height);text-align:center}.game-history-empty>.material-symbols-outlined{color:var(--coral);font-size:72px}.game-history-empty h2{color:var(--color-text);font-size:var(--text-lg);font-weight:var(--font-bold);margin:0}.game-history-primary{align-items:center;background:var(--grape);border-radius:var(--radius-lg);color:var(--white);display:inline-flex;font-weight:var(--font-bold);justify-content:center;min-height:var(--join-button-min-height);padding:0 var(--sp-5)}.game-history-card--skeleton{min-height:var(--score-card-min-height);opacity:var(--disabled-opacity)}.game-history-confirmation-message,.game-history-confirmation-error{border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-bold);margin:0;padding:var(--sp-3)}.game-history-confirmation-message{background:var(--amber);color:var(--grape)}.game-history-confirmation-error{background:var(--color-surface);color:var(--coral)}.game-history-confirm-button{align-items:center;background:var(--grape);border-radius:var(--radius-lg);color:var(--white);display:inline-flex;font-weight:var(--font-bold);justify-content:center;min-height:var(--touch-target);padding:0 var(--sp-4)}.notifications-page{background:var(--color-bg);display:grid;gap:var(--sp-4);margin:calc(var(--space-8) * -1) calc(var(--space-6) * -1) calc((var(--bottom-nav-min-height) + var(--space-8)) * -1);min-height:100dvh;padding:var(--sp-4) var(--sp-4) calc(var(--bottom-nav-min-height) + var(--sp-8))}.notifications-header{align-items:center;display:grid;gap:var(--sp-2);grid-template-columns:var(--touch-target) 1fr auto}.notifications-header h1{color:var(--color-text);font-size:var(--text-lg);font-weight:var(--font-bold);margin:0;text-align:center}.notifications-mark-read{color:var(--coral);font-size:var(--text-sm);font-weight:var(--font-regular);min-height:var(--touch-target)}.notifications-empty{align-content:center;display:grid;gap:var(--sp-4);justify-items:center;min-height:var(--score-card-min-height);text-align:center}.notifications-empty>.material-symbols-outlined{color:var(--coral);font-size:72px}.notifications-empty h2{color:var(--color-text);font-size:var(--text-lg);font-weight:var(--font-bold);margin:0}.notifications-list{display:grid;gap:var(--sp-3)}.notifications-bulk-actions{align-items:center;background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);display:grid;gap:var(--sp-2);grid-template-columns:1fr auto auto;padding:var(--sp-3)}.notifications-bulk-actions label,.notifications-card__header label{align-items:center;color:var(--color-text);display:inline-flex;font-size:var(--text-sm);font-weight:var(--font-bold);gap:var(--sp-2)}.notifications-bulk-actions input,.notifications-card__header input{accent-color:var(--coral);block-size:1rem;inline-size:1rem;min-height:1rem;min-width:1rem}.notifications-bulk-actions button,.notifications-archive-button{background:var(--grape);color:var(--white);font-size:var(--text-sm);min-height:var(--touch-target);padding:0 var(--sp-3)}.notifications-card{background:var(--color-surface);border-left:var(--scoring-info-border-width) solid transparent;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:grid;gap:var(--sp-2);padding:var(--sp-3)}.notifications-card__header{align-items:start;display:grid;gap:var(--sp-2);grid-template-columns:auto minmax(0,1fr) auto}.notifications-card__header>div{display:grid;gap:var(--sp-1);min-width:0}.notifications-card--unread{border-left-color:var(--coral)}.notifications-card--skeleton{min-height:var(--score-card-min-height);opacity:var(--disabled-opacity)}.notifications-card h2{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--font-bold);margin:0}.notifications-card p{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-regular);margin:0}.notifications-card__game{color:var(--color-text);font-weight:var(--font-bold)}.notifications-card time{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--font-regular)}.notifications-actions{display:grid;gap:var(--sp-2);grid-template-columns:1fr 1fr}.notifications-actions button{background:var(--grape);border-radius:var(--radius-lg);color:var(--white);font-weight:var(--font-bold);min-height:var(--touch-target)}@keyframes action-sheet-slide{0%{transform:translateY(100%)}to{transform:translateY(0)}}.bottom-nav__live-icon{display:inline-flex;position:relative}.bottom-nav__live-dot{animation:live-game-pulse var(--live-game-pulse-duration) ease-in-out infinite;background:var(--color-live-dot);border-radius:var(--radius-lg);height:var(--live-game-dot-size);position:absolute;right:0;top:0;width:var(--live-game-dot-size)}@keyframes live-game-pulse{0%,to{transform:scale(1)}50%{transform:scale(var(--live-game-dot-scale))}}
