@font-face{font-family:Inter;src:url(/fonts/InterVariable.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:Google Sans;src:url(/fonts/GoogleSans-Medium.ttf)format("truetype");font-style:normal;font-weight:500;font-display:swap}:root{--color-bio-black:#06110d;--color-synthathic-lime:#c8ff00;--color-chalk:#f4f6ef;--color-muted-sage:#a7b5ab;--color-surface:#14231b;--color-control-border:#5b7566;--color-lime-hover:#d5ff40;--color-lime-pressed:#acdc00;--color-error:#ffb4ab;--color-warning:#f2d27a;--color-background:var(--color-bio-black);--color-text-primary:var(--color-chalk);--color-text-secondary:var(--color-muted-sage);--color-text-accent:var(--color-synthathic-lime);--color-text-on-action:var(--color-bio-black);--color-action-primary:var(--color-synthathic-lime);--color-action-primary-hover:var(--color-lime-hover);--color-action-primary-pressed:var(--color-lime-pressed);--color-action-disabled:var(--color-surface);--color-text-disabled:var(--color-muted-sage);--color-divider-decorative:var(--color-surface);--color-focus-on-dark:var(--color-synthathic-lime);--color-background-light:var(--color-chalk);--color-text-on-light:var(--color-bio-black);--color-focus-on-light:var(--color-bio-black);--color-error-text-on-dark:var(--color-error);--color-warning-text-on-dark:var(--color-warning);--type-display-size:72px;--type-display-line-height:72px;--type-hero-size:64px;--type-hero-line-height:64px;--type-title-size:40px;--type-title-line-height:44px;--type-heading-size:24px;--type-heading-line-height:28px;--type-body-size:16px;--type-body-line-height:24px;--type-label-size:16px;--type-caption-size:14px;--type-caption-line-height:20px;--type-eyebrow-size:14px;--type-eyebrow-line-height:20px;--type-campaign-size:72px;--type-campaign-line-height:68px;--type-score-size:64px;--type-score-line-height:68px;--font-interface:Inter, system-ui, sans-serif;--font-campaign:"Roboto Condensed", "Arial Narrow", var(--font-interface);--font-mono:ui-monospace, Consolas, monospace;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-xxl:32px;--space-section:48px;--space-hero:64px;--layout-mobile-gutter:24px;--layout-narrow-gutter:18px;--layout-wide-gutter:32px;--layout-max-content:680px;--layout-max-reading:65ch;--radius-control:8px;--radius-surface:8px;--control-min-height:56px;--control-padding-horizontal:24px;--control-padding-vertical:16px;--input-padding-horizontal:16px;--input-label-gap:8px;--input-affix-gap:8px;--input-handle-affix-gap:0px;--input-affix-width:20px;--touch-target-minimum:48px;--border-width:1px;--focus-width:2px;--focus-gap:3px;--motion-feedback:.12s;--motion-transition:.18s;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--color-text-secondary);background:var(--color-background);font:16px/24px var(--font-interface);font-synthesis:none;font-optical-sizing:auto;font-variant-numeric:tabular-nums;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=360px){:root{--layout-mobile-gutter:var(--layout-narrow-gutter)}}*{box-sizing:border-box}body{min-height:100vh;color:var(--color-text-secondary);background:var(--color-background);margin:0}#root{min-height:100svh}button,input,textarea,select{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button:focus-visible{outline:var(--focus-width) solid var(--color-synthathic-lime);outline-offset:var(--focus-gap)}[hidden]{display:none!important}.ui-action--primary,.ui-action--secondary,.ui-action--danger{border-radius:var(--radius-control);text-align:center;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;width:100%;min-height:56px;padding:12px 16px;font-size:16px;font-weight:750;line-height:24px;text-decoration:none;display:flex}.ui-action.ui-action--primary{color:var(--color-bio-black);background:var(--color-synthathic-lime)}.ui-action--primary:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-lime-hover)}.ui-action--primary:active:not(:disabled):not([aria-disabled=true]){background:var(--color-lime-pressed)}.ui-action.ui-action--secondary{border-color:var(--color-control-border);color:var(--color-chalk);background:0 0;font-weight:650}.ui-action.ui-action--danger{color:var(--color-chalk);background:#763b36}.ui-action--primary:disabled,.ui-action--primary[aria-disabled=true]{color:var(--color-muted-sage);background:var(--color-surface)}.ui-action:disabled,.ui-action[aria-disabled=true]{cursor:not-allowed}.ui-action.ui-action--secondary:disabled,.ui-action.ui-action--secondary[aria-disabled=true],.ui-action.ui-action--text:disabled,.ui-action.ui-action--text[aria-disabled=true]{color:var(--color-muted-sage)}.ui-action--danger:disabled,.ui-action--danger[aria-disabled=true]{opacity:.55}.ui-action.ui-action--text{min-height:48px;color:var(--color-chalk);text-underline-offset:4px;background:0 0;border:0;align-items:center;padding:10px 0;font-weight:500;text-decoration:underline;display:flex}.ui-action--icon{width:44px;min-height:44px;color:var(--color-chalk);background:0 0;border:0;border-radius:6px;flex:none;place-items:center;padding:0;display:grid}.ui-action--icon:disabled{color:var(--color-muted-sage)}.ui-action__icon{flex:none;justify-content:center;align-items:center;display:inline-flex}.ui-action:focus-visible{outline:var(--focus-width) solid var(--color-synthathic-lime);outline-offset:var(--focus-gap)}.app-header{z-index:5;width:100%;height:calc(64px + env(safe-area-inset-top));padding:calc(4px + env(safe-area-inset-top)) max(var(--layout-mobile-gutter), env(safe-area-inset-right)) 4px max(var(--layout-mobile-gutter), env(safe-area-inset-left));border-bottom:1px solid var(--color-surface);background:var(--color-bio-black);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid;position:sticky;top:0}.app-header__wordmark{min-width:0;color:var(--color-chalk);letter-spacing:-.04em;justify-self:start;font-size:1.5rem;font-weight:850;line-height:1.17;text-decoration:none}.app-header__scanner{background:var(--color-synthathic-lime);width:48px;min-height:48px;color:var(--color-bio-black);border:0;border-radius:6px;flex:none;place-items:center;margin-left:auto;padding:8px;display:grid}.app-header__scanner img{display:block}.app-header a:focus-visible{outline:var(--focus-width) solid var(--color-synthathic-lime);outline-offset:var(--focus-gap)}.app-navigation{z-index:6;bottom:0;width:100%;padding:0 max(8px, env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));border-top:1px solid var(--color-surface);background:var(--color-bio-black);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;inset-inline:0}.app-navigation a,.app-navigation button{min-width:0;min-height:54px;color:var(--color-muted-sage);overflow-wrap:anywhere;background:0 0;border:0;flex-direction:column;justify-content:flex-end;align-items:center;gap:3px;padding:3px 0;font-size:10px;line-height:15px;text-decoration:none;display:flex}.app-navigation svg{stroke-width:1.6px;flex:none;width:23px;height:23px}.app-navigation a[aria-current=page]{color:var(--color-synthathic-lime)}.app-navigation a:focus-visible,.app-navigation button:focus-visible{outline:var(--focus-width) solid var(--color-synthathic-lime);outline-offset:var(--focus-gap)}.app-navigation button:disabled{opacity:.55}.app-navigation .app-navigation__play{position:relative;overflow:visible}.app-navigation__play-icon{background:var(--color-synthathic-lime);width:60px;height:60px;color:var(--color-bio-black);border-radius:50%;place-items:center;display:grid;position:absolute;top:-1px;transform:translateY(-50%)}.app-navigation__play-icon svg{fill:currentColor;stroke-width:1.6px;width:28px;height:28px}.app-navigation__play:focus-visible .app-navigation__play-icon{outline:var(--focus-width) solid var(--color-synthathic-lime);outline-offset:var(--focus-gap)}.app-navigation__play:hover .app-navigation__play-icon{background:var(--color-lime-hover)}.app-navigation__play:active .app-navigation__play-icon{background:var(--color-lime-pressed)}.quick-play-error{z-index:8;bottom:calc(96px + env(safe-area-inset-bottom));background:var(--color-surface);border:1px solid var(--color-control-border);border-radius:var(--radius-control);max-width:632px;margin-inline:auto;padding:16px;position:fixed;inset-inline:16px}@media (width<=360px){.app-navigation{padding-inline:max(4px, env(safe-area-inset-left)) max(4px, env(safe-area-inset-right))}.app-navigation a,.app-navigation button{font-size:9px}}.ui-message{color:var(--color-muted-sage);overflow-wrap:anywhere;margin:12px 0 16px;font-size:14px;line-height:22px}.ui-message.ui-message--error{color:var(--color-error);margin:14px 0}.ui-message.ui-message--warning{color:var(--color-warning)}.ui-message.ui-message--success{color:var(--color-synthathic-lime)}.avatar{width:48px;height:48px;color:var(--color-chalk);background:var(--color-surface);border-radius:50%;flex:none;place-items:center;font-size:17px;font-weight:650;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.play-page{min-height:100svh;padding-bottom:calc(104px + env(safe-area-inset-bottom))}.play-content{width:100%;max-width:var(--layout-max-content,680px);padding:24px var(--layout-mobile-gutter,24px) 32px;margin:auto}.play-content h2{letter-spacing:-.025em;margin:0 0 16px;font-size:1.5rem}.play-content p{line-height:1.55}.play-actions{flex-wrap:wrap;align-items:center;gap:12px;margin:24px 0;display:flex}.play-actions>.button,.play-actions>.action-link{flex:170px}.play-form{gap:24px;margin-top:24px;display:grid}.play-form .play-actions{margin:0}.play-section{margin-top:36px}.play-section>summary{cursor:pointer;font-size:1.125rem;font-weight:700}.play-helper,.play-live{color:var(--color-muted-sage);overflow-wrap:anywhere;font-size:.875rem}.play-live{margin:20px 0}.play-stats{border-block:1px solid var(--color-control-border);grid-template-columns:repeat(3,1fr);gap:16px;margin:32px 0;padding:24px 0;display:grid}.play-stats dt{color:var(--color-muted-sage);font-size:.875rem}.play-stats dd{font-variant-numeric:tabular-nums;margin:8px 0 0;font-size:2.5rem;font-weight:800}.play-list-row,.play-match-row{border-bottom:1px solid var(--color-control-border);color:var(--color-chalk);justify-content:space-between;align-items:center;gap:16px;padding:20px 0;text-decoration:none;display:flex}.play-list-row strong,.play-list-row small,.play-match-row strong,.play-match-row small{overflow-wrap:anywhere;display:block}.play-list-row small,.play-match-row small{color:var(--color-muted-sage);margin-top:8px}.play-list-row:hover strong,.play-match-row:hover strong{color:var(--color-synthathic-lime)}.play-eyebrow{color:var(--color-muted-sage);margin-bottom:8px;font-size:.75rem;display:block}.play-versus{color:var(--color-muted-sage);margin:6px 0;font-size:.75rem;font-weight:400;display:block}.play-mini-score{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:2rem}.play-code-input{letter-spacing:.25em;font-variant-numeric:tabular-nums;font-size:2rem!important}.play-members{margin:0;padding:0;list-style:none}.play-members li{border-bottom:1px solid var(--color-control-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-block:16px;display:flex}.play-person{min-width:0;color:var(--color-chalk);align-items:center;gap:12px;text-decoration:none;display:flex}.play-person strong,.play-person small{overflow-wrap:anywhere;display:block}.play-person small{color:var(--color-muted-sage);margin-top:4px;font-size:.875rem}.play-person .avatar{flex:none;width:40px;height:40px;font-size:1rem}.play-member-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.play-member-controls .button{min-height:44px;font-size:.875rem}.play-team-pickers{grid-template-columns:1fr 1fr;gap:16px;display:grid}.play-team-pickers fieldset,.play-set-inputs{border:0;min-width:0;margin:0;padding:0}.play-team-pickers legend,.play-set-inputs legend{margin-bottom:16px;font-weight:700}.play-team-pickers .form-field+.form-field{margin-top:16px}.play-form select{max-width:100%}.play-scoreboard{grid-template-columns:1fr 1fr;gap:16px 20px;margin-block:20px 16px;display:grid}.play-scoreboard .play-person{flex-wrap:wrap}.play-scoreboard>div{flex-direction:column;display:flex}.play-scoreboard .play-match-score{color:var(--color-chalk);font-variant-numeric:tabular-nums;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));place-items:center;column-gap:20px;margin:0;font-size:4rem;font-weight:900;line-height:1;display:grid;position:relative}.play-match-score>span:nth-child(2){font-size:.75em;position:absolute;top:50%;left:50%;transform:translate(-50%,-60%)}.play-sets{flex-wrap:wrap;gap:20px;margin:20px 0;padding:0;list-style:none;display:flex}.play-sets li{font-variant-numeric:tabular-nums;gap:6px;display:grid}.play-sets span{color:var(--color-muted-sage);font-size:.875rem}.play-sets strong{font-size:1.5rem}.play-set-editor{border-block:1px solid var(--color-control-border);margin-block:24px;padding-block:20px}.play-set-editor h2,.play-set-editor p{margin:0}.play-set-inputs{display:block}.play-set-inputs legend{width:100%;color:var(--color-muted-sage);letter-spacing:0;flex-wrap:wrap;align-items:center;gap:10px;font-size:1rem;font-weight:600;display:flex}.play-set-state{border:1px solid var(--color-control-border);color:var(--color-muted-sage);border-radius:999px;padding:1px 6px;font-size:.6875rem;font-weight:400;line-height:16px}.play-goal-sides{--goal-button-size:40px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:20px;display:grid}.play-goal-side{min-width:0}.play-goal-grid{flex-wrap:wrap;justify-content:center;gap:6px;display:flex;position:relative}.play-goal-side+.play-goal-side .play-goal-grid:before{content:"";border-left:1px solid var(--color-control-border);position:absolute;top:8px;bottom:8px;left:-10px}.play-goal-button{width:var(--goal-button-size);height:var(--goal-button-size);border:1px solid var(--color-control-border);border-radius:var(--radius-control);color:var(--color-chalk);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;flex:none;place-items:center;padding:0;font-size:.875rem;font-weight:650;display:grid}.play-goal-button:focus-visible{border-color:var(--color-chalk);border-width:2px;outline:none}.play-goal-button[aria-pressed=true]{border-color:var(--color-synthathic-lime);border-width:2px}.play-goal-button:disabled{color:var(--color-muted-sage);opacity:.45;cursor:not-allowed}.play-set-inputs>.play-helper{margin-top:12px}@media (pointer:coarse){.play-goal-sides{--goal-button-size:44px}}.play-revision{border-bottom:1px solid var(--color-control-border);padding-block:20px}.play-profile-image{width:120px;height:120px;margin-top:24px;font-size:3rem}@media (width<=420px){.play-team-pickers{grid-template-columns:1fr}}.play-prepared-label{border:1px solid var(--color-control-border);border-radius:var(--radius-control);width:fit-content;color:var(--color-synthathic-lime);margin-bottom:8px;padding:4px 8px;font-size:.875rem;line-height:20px;display:inline-block}.page-heading__title{overflow-wrap:anywhere;color:var(--color-chalk);letter-spacing:-.045em;margin:0;font-size:3.5rem;font-weight:900;line-height:1}.page-heading__subtitle{color:var(--color-muted-sage);overflow-wrap:anywhere;margin:5px 0 0;font-size:1.125rem;line-height:1.625rem}@media (width<=360px){.page-heading__title{font-size:3rem}}.form-field{min-width:0}.form-field__label{color:var(--color-chalk);font-size:var(--field-label-size,16px);font-weight:var(--field-label-weight,600);line-height:var(--field-label-line-height,24px);display:block}.form-field__note{color:var(--color-muted-sage);font-size:14px;font-weight:400}.form-field__input{margin-top:var(--input-label-gap);position:relative}.form-field__control{box-sizing:border-box;appearance:none;width:100%;min-width:0;min-height:var(--field-min-height,56px);padding:var(--field-padding-vertical,14px) var(--input-padding-horizontal);border:var(--border-width) solid var(--color-control-border);border-radius:var(--radius-control);color:var(--color-chalk);background:var(--color-surface);font-size:16px;line-height:24px;display:block}.form-field__control:focus-visible{outline:var(--focus-width) solid var(--color-synthathic-lime);outline-offset:var(--focus-gap)}.form-field__control::placeholder{color:var(--color-muted-sage);opacity:1}.form-field__control[aria-invalid=true]{border-color:var(--color-error)}textarea.form-field__control{resize:vertical}.form-field__description{color:var(--color-muted-sage);margin-top:8px;font-size:14px;line-height:22px}.form-field__description>p{margin:0}.form-field__description>p+p{margin-top:8px}.form-field__counter{color:var(--color-muted-sage);text-align:right;margin:0;font-size:12px;line-height:18px}.empty-state{padding:30px 0}.empty-state .empty-state__title{color:var(--color-chalk);margin:0;font-size:20px;font-weight:700;line-height:27px}.empty-state .empty-state__description{color:var(--color-muted-sage);margin:9px 0 0;font-size:14px;line-height:22px}.match-summary .match-summary__eyebrow{color:var(--color-muted-sage);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.875rem;font-weight:600;line-height:20px}.match-summary{border-bottom:1px solid var(--color-control-border);color:var(--color-chalk);padding:28px 0 24px}.play-section>.match-summary:last-child{border-bottom:0}.match-summary__meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin-top:12px;display:flex}.match-summary__meta p{color:var(--color-muted-sage);margin:0;font-size:1rem;line-height:24px}.match-summary__confirmed{color:var(--color-synthathic-lime);align-items:center;gap:8px;font-size:1rem;font-weight:600;line-height:28px;display:inline-flex}.match-summary__confirmed svg{width:28px;height:28px;fill:var(--color-synthathic-lime);stroke:var(--color-bio-black)}.match-summary__teams{margin-top:12px}.match-summary__team{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding-block:16px;display:grid}.match-summary__divider{border:0;border-top:1px solid var(--color-control-border);width:64px;margin:0 auto}.match-summary__people{min-width:0}.match-summary__team ul{gap:2px;margin:8px 0 0;padding:0;list-style:none;display:grid}.match-summary__team li{overflow-wrap:anywhere;font-size:1.25rem;font-weight:700;line-height:28px}.match-summary__score{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:3.5rem;font-weight:900;line-height:1}.match-summary__link{min-height:44px;color:var(--color-muted-sage);align-items:center;gap:8px;padding-block:8px;font-size:1rem;font-weight:400;line-height:24px;text-decoration:none;display:inline-flex}.match-summary__link svg{stroke-width:1.6px;width:16px;height:16px}.match-summary__link:hover{color:var(--color-synthathic-lime)}.match-summary__link:focus-visible{outline:var(--focus-width) solid var(--color-synthathic-lime);outline-offset:var(--focus-gap)}.match-summary__status{color:var(--color-muted-sage);margin:0;font-size:1rem;line-height:24px}@media (width<=360px){.match-summary__team{gap:12px}}.player-stats .player-stats__title{color:var(--color-muted-sage);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.875rem;font-weight:600;line-height:20px}.player-stats{color:var(--color-chalk);padding-top:28px}.player-stats dl{grid-template-columns:repeat(3,minmax(0,1fr));margin:24px 0 0;padding:0;display:grid}.player-stats dl>div{text-align:center;flex-direction:column;gap:6px;padding-inline:12px;display:flex}.player-stats dl>div+div{border-left:1px solid var(--color-control-border)}.player-stats dt{color:var(--color-muted-sage);order:1;font-size:1rem;line-height:24px}.player-stats dd{letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin:0;font-size:3rem;font-weight:850;line-height:1.1}.player-stats dd.player-stats__missing{color:var(--color-muted-sage);font-size:2rem;font-weight:500;line-height:44px}.home-screen{color:var(--color-chalk)}.home-heading{padding-bottom:20px}.home-heading .page-heading__title{font-size:3.125rem;line-height:1.04}.home-screen--empty .page-heading__title{max-width:6em}.home-screen--loss .page-heading__title{max-width:6.5em}.home-heading .page-heading__subtitle{margin-top:8px;font-size:1.25rem;line-height:28px}.home-screen .home-eyebrow{color:var(--color-muted-sage);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.875rem;font-weight:600;line-height:20px}.home-actions{gap:8px;margin-top:32px;display:grid}.home-actions .ui-action--primary{font-size:1.25rem}.home-actions .ui-action--text{color:var(--color-muted-sage);justify-content:center;font-size:1.125rem}.home-screen--empty .home-heading{border-bottom:1px solid var(--color-control-border);padding-bottom:24px}.home-screen--empty .page-heading__subtitle{font-size:1rem;line-height:24px}.home-first-game{padding-top:28px}.home-first-invitation{text-align:center;margin-top:32px}.home-group-icon{width:72px;height:72px;color:var(--color-muted-sage);stroke-width:1.25px}.home-first-invitation h3{letter-spacing:-.035em;margin:24px 0 12px;font-size:1.75rem;font-weight:800;line-height:1.15}.home-screen .home-first-invitation p{color:var(--color-muted-sage);margin:0;font-size:1rem;line-height:24px}.home-screen .home-first-helper{color:var(--color-muted-sage);text-align:center;margin:64px 0 0;font-size:1rem;line-height:24px}.home-next-game{border-bottom:1px solid var(--color-control-border);padding:28px 0 24px}.home-event{grid-template-columns:80px minmax(0,1fr) 20px;align-items:center;gap:16px;margin-top:16px;display:grid}.home-date-tile{border-radius:var(--radius-control);background:var(--color-surface);text-transform:uppercase;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:120px;padding:12px 8px;font-size:1rem;font-weight:700;line-height:20px;display:flex}.home-date-tile strong{letter-spacing:-.04em;font-size:3rem;font-weight:900;line-height:1}.home-event-info{min-width:0}.home-event-info h3{overflow-wrap:anywhere;margin:0 0 8px;font-size:1.25rem;font-weight:700;line-height:26px}.home-screen .home-event-info p{color:var(--color-muted-sage);margin:4px 0 0;font-size:1rem;line-height:24px}.home-event-detail{align-items:flex-start;gap:6px;display:flex}.home-event-detail svg{stroke-width:1.6px;flex:none;width:18px;height:18px;margin-top:3px}.home-event-detail span{overflow-wrap:anywhere;min-width:0}.home-event-chevron{stroke-width:1.6px;width:20px;height:24px}.home-screen--empty .player-stats{border-top:1px solid var(--color-control-border);margin-top:48px}.home-load{margin-top:28px}@media (width<=360px){.home-heading .page-heading__title{font-size:2.5rem}.home-event{grid-template-columns:64px minmax(0,1fr) 16px;gap:12px}.home-wide-break{display:none}}.back-link{width:fit-content;min-height:var(--touch-target-minimum);color:var(--color-muted-sage);align-items:center;gap:4px;margin-bottom:8px;padding-right:8px;font-size:1rem;line-height:1.5;text-decoration:none;display:flex}.back-link:hover{color:var(--color-chalk)}.back-link[aria-disabled=true]{opacity:.6}.back-link:focus-visible{outline:var(--focus-width) solid var(--color-synthathic-lime);outline-offset:var(--focus-gap)}.create-lobby-page{background:var(--color-bio-black);min-height:100svh}.create-lobby{width:100%;max-width:var(--layout-max-content,680px);padding:8px var(--layout-mobile-gutter,24px) calc(32px + env(safe-area-inset-bottom));margin:0 auto}.create-lobby .page-heading__title{letter-spacing:-.04em;font-size:44px;font-weight:900;line-height:48px}.create-lobby .page-heading__subtitle{margin-top:4px;font-size:20px;line-height:28px}.create-lobby__form{gap:24px;margin-top:40px;display:grid}.create-lobby__name{grid-template-columns:minmax(0,1fr) auto;column-gap:12px;display:grid}.create-lobby__name .form-field__label,.create-lobby__name .form-field__input{grid-column:1/-1}.create-lobby__name .form-field__label{font-weight:700}.create-lobby__name .form-field__control{padding-right:64px;font-weight:600}.create-lobby__name .form-field__description,.create-lobby__name .form-field__counter{margin:8px 0 0;font-size:14px;line-height:20px}.create-lobby__name .form-field__counter{white-space:nowrap;font-variant-numeric:tabular-nums}.create-lobby__shuffle{width:48px;min-height:48px;color:var(--color-muted-sage);position:absolute;top:4px;right:4px}.create-lobby__shuffle:hover:not(:disabled){color:var(--color-chalk)}.create-lobby__mode-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.create-lobby__mode-heading h2{color:var(--color-chalk);margin:0;font-size:16px;font-weight:700;line-height:24px}.create-lobby__mode-heading span{color:var(--color-muted-sage);align-items:center;gap:8px;font-size:14px;line-height:20px;display:inline-flex}.create-lobby__mode-value{color:var(--color-chalk);margin:4px 0 0;font-size:16px;font-weight:700;line-height:24px}.create-lobby__mode-description{color:var(--color-muted-sage);margin:4px 0 0;font-size:14px;line-height:20px}.create-lobby__submit{justify-content:space-between;padding-inline:16px;font-size:18px}.create-lobby__next{color:var(--color-muted-sage);margin:8px 0 0;font-size:14px;line-height:20px}@media (width<=360px){.create-lobby{padding-inline:var(--layout-narrow-gutter,18px)}.create-lobby .page-heading__title{font-size:36px;line-height:40px}}.lobbies-coming-soon{padding:var(--space-hero) 0 var(--space-xxl);text-align:center}.lobbies-coming-soon__icon{width:72px;height:72px;color:var(--color-synthathic-lime);stroke-width:1.25px}.lobbies-coming-soon h2{margin:var(--space-xl) 0 var(--space-md);color:var(--color-chalk);letter-spacing:-.035em;overflow-wrap:anywhere;font-size:2.5rem;font-weight:800;line-height:1.1}.lobbies-coming-soon p{color:var(--color-muted-sage);margin:0;font-size:1rem;line-height:1.5}.lobbies-coming-soon__action{gap:var(--space-lg);max-width:320px;margin:var(--space-section) auto 0;display:grid}.confirm-dialog{box-sizing:border-box;width:min(100% - 32px,440px);max-width:440px;max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overscroll-behavior:contain;border:1px solid var(--color-control-border);color:var(--color-chalk);background:var(--color-surface);border-radius:12px;margin:auto;padding:28px 24px 24px;position:fixed;inset:0;overflow-y:auto}.confirm-dialog::backdrop{background:#000000ad}.confirm-dialog h2{max-width:calc(100% - 30px);color:var(--color-chalk);overflow-wrap:anywhere;margin:0;font-size:23px;font-weight:750;line-height:28px}.confirm-dialog__message{color:var(--color-muted-sage);overflow-wrap:anywhere;margin-top:12px;font-size:14px;line-height:22px}.confirm-dialog__message p{margin:0}.confirm-dialog .confirm-dialog__close{color:var(--color-muted-sage);position:absolute;top:9px;right:10px}.confirm-dialog__actions{gap:10px;margin-top:22px;display:grid}.confirm-dialog__actions .ui-action{min-height:50px}.lobby-share{border-block:1px solid var(--color-control-border);margin-top:24px;padding:16px 0 4px}.lobby-share h2{color:var(--color-chalk);margin:0 0 8px;font-size:1.625rem;font-weight:800;line-height:1.2}.lobby-share__content{text-align:center;color:var(--color-muted-sage)}.lobby-share .lobby-share__instruction{margin:0 0 8px;font-size:1.125rem;line-height:1.5}.lobby-share__display{justify-content:center;align-items:center;height:192px;display:flex}.lobby-share__qr{background:#fff;border-radius:4px;width:192px;height:192px;display:block}.lobby-share .lobby-share__code{color:var(--color-synthathic-lime);font-variant-numeric:tabular-nums;letter-spacing:0;white-space:nowrap;margin:0;font-size:clamp(2.75rem,12vw,4.5rem);font-weight:800;line-height:1.1}.lobby-share .lobby-share__caption{margin:16px 0 0;font-size:1.125rem;line-height:1.5}.lobby-share .lobby-share__status{max-width:260px;margin:0;font-size:1rem}.lobby-share .lobby-share__toggle{width:fit-content;max-width:100%;min-height:48px;color:var(--color-muted-sage);justify-content:center;margin:4px auto 0;padding-inline:12px;font-size:1rem}.lobby-share .lobby-share__toggle:hover{color:var(--color-chalk)}.game-page{min-height:100svh}.game-content{width:100%;max-width:var(--layout-max-content);padding:8px var(--layout-mobile-gutter) calc(24px + env(safe-area-inset-bottom));margin-inline:auto}.game-content .page-heading__title{font-size:2.5rem;font-weight:900;line-height:1.1}.game-content .page-heading__subtitle{margin-top:8px;font-size:1rem;line-height:1.5}.game-content .lobby-share{margin-top:24px;padding-top:16px}.game-content .lobby-share h2{font-size:1.375rem}.game-content .lobby-share__instruction,.game-content .lobby-share__caption{font-size:1rem;line-height:1.5}.game-content .lobby-share__display{height:160px}.game-content .lobby-share__qr{width:160px;height:160px}.game-roster{padding:16px 0 4px}.game-roster>h2{color:var(--color-muted-sage);margin:0 0 12px;font-size:1rem;font-weight:700}.game-joined-players{margin:0;padding:0 0 12px;list-style:none}.game-joined-players a{width:fit-content;max-width:100%;min-height:48px;color:var(--color-chalk);align-items:center;gap:12px;text-decoration:none;display:flex}.game-joined-players .avatar{width:40px;height:40px}.game-joined-players strong{overflow-wrap:anywhere;font-size:1.125rem;font-weight:700;line-height:1.5;display:block}.game-joined-players small{color:var(--color-muted-sage);font-size:.875rem;line-height:1.5;display:block}.game-joined-players a:hover strong{color:var(--color-synthathic-lime)}.game-joined-players a:focus-visible{outline:var(--focus-width) solid var(--color-synthathic-lime);outline-offset:var(--focus-gap)}.game-teams{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.game-teams>section{min-width:0}.game-teams>section+section{border-left:1px solid var(--color-control-border);padding-left:24px}.game-teams>section:first-child{padding-right:16px}.game-teams h3{color:var(--color-muted-sage);text-transform:uppercase;letter-spacing:.06em;margin:0 0 8px;font-size:.875rem;font-weight:600}.game-teams ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.game-teams a{color:var(--color-chalk);overflow-wrap:anywhere;font-size:1.125rem;font-weight:700;line-height:1.5;text-decoration:none}.game-teams a:hover{color:var(--color-synthathic-lime)}.game-waiting{color:var(--color-muted-sage);margin:8px 0;font-size:.875rem;line-height:1.5}.game-roster .game-change-teams{min-height:48px;color:var(--color-muted-sage);margin:8px auto 0;padding-block:8px;font-size:1rem;display:flex}.game-start{border-top:1px solid var(--color-control-border);text-align:center;padding-top:16px}.game-start p{color:var(--color-muted-sage);margin:0 0 12px;font-size:1rem;line-height:1.5}.game-start .game-start__button{width:100%;font-size:1.25rem;font-weight:800}.game-start p:last-child{margin:12px 0 0;font-size:.875rem}.game-team-editor{gap:20px;padding:16px 0;display:grid}.game-team-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.game-team-fields fieldset{border:0;min-width:0;margin:0;padding:0}.game-team-fields legend{margin-bottom:12px;font-weight:700}.game-team-fields .form-field+.form-field{margin-top:12px}.game-team-editor select{width:100%}.game-secondary-actions{flex-wrap:wrap;align-items:center;gap:0 24px;margin-top:24px;font-size:.875rem;display:flex}.game-secondary-actions a{min-height:48px;color:var(--color-muted-sage);text-underline-offset:4px;align-items:center;padding-block:12px;display:flex}.game-secondary-actions .ui-action{color:var(--color-muted-sage);font-size:.875rem}.game-secondary-actions a:hover,.game-secondary-actions .ui-action:hover:not(:disabled){color:var(--color-chalk)}.game-connection{color:var(--color-muted-sage);margin:16px 0 0;font-size:.875rem;line-height:1.5}@media (width<=360px){.game-content .page-heading__title{font-size:2.25rem}.game-teams>section+section{padding-left:16px}.game-team-fields{grid-template-columns:1fr}}.handle-field__prefix{top:50%;left:calc(var(--border-width) + var(--input-padding-horizontal));width:var(--input-affix-width);color:var(--color-muted-sage);pointer-events:none;place-items:center;font-size:18px;line-height:24px;display:grid;position:absolute;transform:translateY(-50%)}.handle-field .form-field__control{padding-left:calc(var(--input-padding-horizontal) + var(--input-affix-width) + var(--input-affix-gap))}.handle-field{--input-affix-gap:var(--input-handle-affix-gap)}.lobby-scanner-page{isolation:isolate;background:var(--color-bio-black);min-height:100dvh;position:relative;overflow:clip}.lobby-scanner__video{z-index:-1;object-fit:cover;opacity:0;width:100%;height:100%;position:absolute;inset:0}.lobby-scanner-page--scanning .lobby-scanner__video{opacity:1}.lobby-scanner{gap:var(--space-xl);width:min(100%, var(--layout-max-content));min-height:calc(100svh - 64px - env(safe-area-inset-top));min-height:calc(100dvh - 64px - env(safe-area-inset-top));padding:var(--space-xl) var(--layout-mobile-gutter) max(var(--space-lg), env(safe-area-inset-bottom));grid-template-rows:auto 1fr auto;margin:0 auto;display:grid;position:relative}.lobby-scanner__intro{z-index:1;text-align:center;position:relative}.lobby-scanner__intro h1{color:var(--color-chalk);letter-spacing:-.04em;margin:0;font-size:28px;font-weight:850;line-height:34px}.lobby-scanner__intro p{max-width:320px;color:var(--color-muted-sage);margin:10px auto 0;font-size:15px;line-height:22px}.lobby-scanner__close{width:var(--touch-target-minimum);min-height:var(--touch-target-minimum);border-radius:var(--radius-control);background:var(--color-surface)}.lobby-scanner__stage{place-items:center;min-height:280px;padding-block:6px;display:grid}.lobby-scanner__view{aspect-ratio:1;border-radius:11.111%;place-items:center;width:min(72vw,288px);display:grid;position:relative;box-shadow:0 0 0 100vmax #06110dad}.lobby-scanner__frame{width:133.333%;height:133.333%;color:var(--color-synthathic-lime);pointer-events:none;position:absolute;top:-16.667%;left:-16.667%}.lobby-scanner__camera-message{max-width:230px;color:var(--color-chalk);text-align:center;flex-direction:column;align-items:center;padding:16px;display:flex;position:relative}.lobby-scanner__camera-message>span{margin-top:12px;font-size:16px;font-weight:750;line-height:22px}.lobby-scanner__camera-message p{color:var(--color-muted-sage);margin:8px 0 0;font-size:14px;line-height:20px}.lobby-scanner__camera-message .ui-action{justify-content:center;margin-top:4px;font-size:14px}.lobby-scanner__scan-hint{width:100%;color:var(--color-chalk);text-align:center;font-size:13px;line-height:20px;position:absolute;top:calc(100% + 16px)}.lobby-scanner__code{width:100%}.lobby-scanner__code>form{gap:var(--space-lg);display:grid}.lobby-scanner__code .form-field{text-align:center}.lobby-scanner__code #match-code{min-height:80px;padding:var(--space-lg) var(--input-padding-horizontal);letter-spacing:.22em;text-indent:.22em;font-variant-numeric:tabular-nums;text-align:center;font-size:clamp(28px,8vw,36px);font-weight:750;line-height:44px}.lobby-scanner__footer{z-index:1;gap:var(--space-md);display:grid;position:relative}.lobby-scanner .lobby-scanner__toggle{width:fit-content;max-width:100%;min-height:var(--touch-target-minimum);padding-inline:var(--space-md);color:var(--color-muted-sage);justify-content:center;margin:0 auto;font-size:1rem}.lobby-scanner .lobby-scanner__toggle:hover{color:var(--color-chalk)}.lobby-scanner__create{padding:var(--space-lg);border-radius:var(--radius-surface);background:var(--color-surface);text-align:center}.lobby-scanner__create h2{color:var(--color-chalk);letter-spacing:-.02em;margin:0;font-size:18px;font-weight:750;line-height:24px}.lobby-scanner__create p{max-width:320px;margin:var(--space-sm) auto var(--space-md);color:var(--color-muted-sage);font-size:var(--type-caption-size);line-height:var(--type-caption-line-height)}@media (width<=360px){.lobby-scanner__intro h1{font-size:26px}.lobby-scanner__stage{min-height:260px}}.login{width:100%;max-width:480px;min-height:calc(100svh - 64px - env(safe-area-inset-top));min-height:calc(100dvh - 64px - env(safe-area-inset-top));padding:72px var(--layout-mobile-gutter) calc(44px + env(safe-area-inset-bottom));flex-direction:column;margin:0 auto;display:flex}.login__content{padding-bottom:48px}.login__content h1{color:var(--color-chalk);letter-spacing:-.055em;overflow-wrap:anywhere;margin:0;font-size:4rem;font-weight:900;line-height:.845}.login__content h1 span{color:var(--color-synthathic-lime)}.login__description{letter-spacing:-.025em;margin:24px 0 0;font-size:1.5rem;line-height:1.17}.login__action{margin-top:60px}.google-button{color:#1f1f1f;background:#fff;border:1px solid #747775;border-radius:4px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:56px;padding:12px;font:500 .875rem/1.4286 Google Sans,sans-serif;display:flex}.google-button img{flex:none;width:20px;height:20px}.google-button:hover:not(:disabled){box-shadow:0 0 0 2px #ffffff29}.google-button:disabled{cursor:wait}.login__feedback{margin:16px 0 0;font-size:.875rem;line-height:1.5}.email-login{margin-top:16px}.email-login__divider{color:var(--color-muted-sage);text-align:center;margin:0;font-size:.875rem;line-height:1.5}.email-login__form{margin-top:16px}.email-login__form .form-field{--field-label-size:.875rem;--field-label-weight:500;--field-label-line-height:1.5;--field-min-height:48px;--field-padding-vertical:11px}.email-login__row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.email-login__row p{flex:12rem;min-width:0;margin:0;font-size:.8125rem;line-height:1.5}.email-login__success{color:var(--color-muted-sage)}@supports ((-webkit-background-clip:text) or (background-clip:text)){.email-login__success{vertical-align:top;background-image:linear-gradient(90deg, var(--color-muted-sage) 40%, var(--color-synthathic-lime) 50%, var(--color-muted-sage) 60%);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;animation:1.4s ease-in-out email-success-wave;display:inline-block}}@keyframes email-success-wave{0%{color:#0000;background-position:100% 0}99%{color:#0000}to{color:var(--color-muted-sage);background-position:0 0}}@media (prefers-reduced-motion:reduce){.email-login__success{background-image:none;animation:none}}.email-login__send{min-height:48px;color:var(--color-chalk);text-underline-offset:4px;background:0 0;border:0;flex:none;margin-left:auto;padding:12px 0;font-size:1rem;font-weight:500;line-height:1.5;text-decoration:underline}.email-login__send:hover:not(:disabled){color:var(--color-synthathic-lime)}.login__footer{text-align:center;color:var(--color-chalk);margin-top:auto;font-size:.875rem;line-height:1.43}.session-check,.rotate-screen{min-height:calc(100svh - 64px - env(safe-area-inset-top));text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex}.rotate-screen svg{color:var(--color-synthathic-lime)}.rotate-screen h1{max-width:22ch;color:var(--color-chalk);margin:16px 0 0;font-size:1.5rem;line-height:1.2}.rotate-screen p{margin:12px 0 0}.error{color:var(--color-error)}.player-screen{min-height:100dvh}.player-screen__content{padding:0 var(--layout-mobile-gutter) calc(116px + env(safe-area-inset-bottom))}.player-card{width:100%;max-width:432px;margin:var(--space-xl) auto 0}.player-screen--with-navigation .player-card{max-width:calc(var(--layout-max-content) - 2 * var(--layout-mobile-gutter))}.player-card>.page-heading{margin-bottom:24px}.profile-picture-row{align-items:center;gap:20px;margin-bottom:12px;display:flex}.player-avatar{border:1px solid var(--color-control-border);background:var(--color-surface);width:88px;height:88px;color:var(--color-synthathic-lime);border-radius:50%;flex-shrink:0;place-items:center;margin:0;font-size:2rem;font-weight:800;display:grid;overflow:hidden}.player-avatar img{object-fit:cover;width:100%;height:100%}.profile-image-upload{min-width:0}.profile-image-upload__actions{flex-wrap:wrap;align-items:center;gap:4px 20px;display:flex}.profile-image-upload__actions .ui-action{min-height:48px;padding-inline:0;font-size:.875rem}.profile-image-upload__hint{color:var(--color-muted-sage);margin:0;font-size:.75rem;line-height:20px}.username-availability-error{color:var(--color-error)}.player-form{--field-min-height:52px;--field-padding-vertical:12px;gap:var(--input-label-gap);flex-direction:column;display:flex}.player-form>.form-field{margin-top:12px}.profile-actions{flex-wrap:wrap;align-items:center;gap:8px 20px;margin-top:16px;display:flex}.profile-submit{padding-inline:20px}.player-screen--with-navigation .profile-submit{width:auto;min-height:48px;font-size:.875rem}.player-screen--with-navigation .profile-submit:disabled{border-color:var(--color-surface);background:var(--color-surface)}.profile-actions__secondary{flex:1;align-items:center;gap:20px;display:flex}.profile-cancel{justify-content:center}.player-card .ui-action.sign-out-button{width:fit-content;color:var(--color-muted-sage);margin-inline-start:auto;font-size:.875rem}.player-card .sign-out-button:hover:not(:disabled){color:var(--color-chalk)}.session-check__actions{align-items:center;gap:12px;display:flex}.session-check__actions .ui-action--primary{padding-inline:32px}
