:root,:root[data-theme=dark]{color-scheme:dark;--color-bg: #0f0d10;--color-board: #171318;--color-surface: #211b22;--color-surface-raised: #2d252e;--color-surface-subtle: #19151a;--color-card: #282129;--color-card-start: #362b39;--color-card-end: #241d26;--color-input: #181419;--color-text: #f5f0f2;--color-text-muted: #bdb2b8;--color-text-subtle: #958b91;--color-accent: #c69aba;--color-accent-hover: #d3a9c7;--color-accent-active: #af82a3;--color-accent-contrast: #251a22;--color-border: rgb(255 245 250 / 10%);--color-border-strong: rgb(255 245 250 / 19%);--color-danger: #d79aa2;--color-danger-soft: rgb(215 154 162 / 11%);--color-focus: #e1bed7;--color-card-highlight: rgb(255 255 255 / 7%);--color-interactive: #2c252e;--color-interactive-hover: #3a303c;--color-selected-surface: rgb(193 124 187 / 14%);--button-primary-start: #d5acc9;--button-primary-end: #b982aa;--button-secondary-start: #332b35;--button-secondary-end: #29222b;--color-board-light: rgb(240 205 225 / 4%);--phase-1-accent: #a7a1e9;--phase-1-accent-strong: #c0bcf4;--phase-1-accent-muted: #7470aa;--phase-1-glow: rgb(126 118 224 / 18%);--phase-2-accent: #c17cbb;--phase-2-accent-strong: #d99bd2;--phase-2-accent-muted: #8d5b88;--phase-2-glow: rgb(190 92 175 / 20%);--phase-3-accent: #d86f92;--phase-3-accent-strong: #ec91ae;--phase-3-accent-muted: #9c4e69;--phase-3-glow: rgb(210 67 112 / 22%);--phase-accent: var(--phase-1-accent);--phase-accent-strong: var(--phase-1-accent-strong);--phase-accent-muted: var(--phase-1-accent-muted);--phase-glow: var(--phase-1-glow);--radius-sm: .6rem;--radius-md: .9rem;--radius-lg: 1.25rem;--shadow-sm: 0 .45rem 1.1rem rgb(5 3 6 / 24%);--shadow-md: 0 1.4rem 3.4rem rgb(4 2 5 / 38%);--shadow-raised: 0 .7rem 1.5rem rgb(4 2 5 / 22%), 0 1.8rem 3.8rem rgb(4 2 5 / 20%);--shadow-card: 0 .7rem 1.4rem rgb(4 2 5 / 24%), 0 2rem 4.8rem rgb(3 2 4 / 52%);--shadow-control: 0 .25rem .55rem rgb(4 2 5 / 22%), 0 .55rem 1.2rem rgb(4 2 5 / 13%);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--font-size-xs: .78rem;--font-size-sm: .9rem;--font-size-md: 1rem;--font-size-lg: clamp(1.2rem, 2.4vw, 1.5rem);--font-size-display: clamp(2.35rem, 6vw, 4rem);--font-family-ui: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-card: ui-serif, Georgia, Cambria, "Times New Roman", serif;--line-height-tight: 1.12;--line-height-normal: 1.5;--line-height-relaxed: 1.62;--transition-fast: .15s ease}:root[data-theme=light]{color-scheme:light;--color-bg: #e9e1dd;--color-board: #f3ece7;--color-surface: #faf4ef;--color-surface-raised: #fffaf5;--color-surface-subtle: #e7dcd7;--color-card: #fff8f1;--color-card-start: #fffefb;--color-card-end: #faeee8;--color-input: #f3eae6;--color-text: #292228;--color-text-muted: #746a70;--color-text-subtle: #8d8288;--color-accent: #a86f98;--color-accent-hover: #955f87;--color-accent-active: #855279;--color-accent-contrast: #fffaf7;--color-border: rgb(48 35 45 / 13%);--color-border-strong: rgb(48 35 45 / 23%);--color-danger: #a84f5c;--color-danger-soft: rgb(168 79 92 / 9%);--color-focus: #835276;--color-card-highlight: rgb(255 255 255 / 72%);--color-interactive: #eee3de;--color-interactive-hover: #e3d5d1;--color-selected-surface: rgb(141 81 149 / 10%);--button-primary-start: #b77ca8;--button-primary-end: #985f8b;--button-secondary-start: #f7efeb;--button-secondary-end: #eadfdb;--color-board-light: rgb(255 255 255 / 48%);--phase-1-accent: #6862ad;--phase-1-accent-strong: #5b559d;--phase-1-accent-muted: #aaa6cf;--phase-1-glow: rgb(104 98 173 / 11%);--phase-2-accent: #8d5195;--phase-2-accent-strong: #7c4384;--phase-2-accent-muted: #c5a0c7;--phase-2-glow: rgb(141 81 149 / 12%);--phase-3-accent: #a54d6b;--phase-3-accent-strong: #913d5a;--phase-3-accent-muted: #d2a0af;--phase-3-glow: rgb(165 77 107 / 13%);--phase-accent: var(--phase-1-accent);--phase-accent-strong: var(--phase-1-accent-strong);--phase-accent-muted: var(--phase-1-accent-muted);--phase-glow: var(--phase-1-glow);--shadow-sm: 0 .4rem 1rem rgb(64 43 55 / 9%);--shadow-md: 0 1.2rem 3rem rgb(64 43 55 / 15%);--shadow-raised: 0 .55rem 1.25rem rgb(64 43 55 / 8%), 0 1.6rem 3.5rem rgb(64 43 55 / 8%);--shadow-card: 0 .65rem 1.3rem rgb(64 43 55 / 10%), 0 1.8rem 4.2rem rgb(64 43 55 / 18%);--shadow-control: 0 .2rem .45rem rgb(64 43 55 / 8%), 0 .5rem 1rem rgb(64 43 55 / 7%)}:root{font-family:var(--font-family-ui);background:var(--color-bg);color:var(--color-text)}*,*:before,*:after{box-sizing:border-box}html,body,#app{width:100%;min-width:0;margin:0}html,body{overflow-x:hidden;overflow-x:clip}html{background:var(--color-bg)}body{min-height:100vh;min-height:100dvh;background:radial-gradient(75% 48% at 50% -8%,var(--phase-glow),transparent 72%),radial-gradient(55% 35% at 8% 100%,var(--color-board-light),transparent 80%),var(--color-bg);transition:background-color var(--transition-fast),color var(--transition-fast)}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--color-text);line-height:var(--line-height-tight)}h1{margin-bottom:var(--space-4);font-size:var(--font-size-display);letter-spacing:-.035em;font-weight:720}h2{margin-bottom:var(--space-3);font-size:var(--font-size-lg)}p,li{font-size:clamp(var(--font-size-md),2.2vw,1.14rem);line-height:var(--line-height-normal)}a{color:inherit}.page{width:min(100%,60rem);max-width:100%;min-width:0;margin:0 auto;padding:max(clamp(1.25rem,3.5vw,2.5rem),env(safe-area-inset-top)) max(clamp(1rem,3.5vw,2.5rem),env(safe-area-inset-right)) max(clamp(1.5rem,4vw,3rem),env(safe-area-inset-bottom)) max(clamp(1rem,3.5vw,2.5rem),env(safe-area-inset-left))}.card{position:relative;padding:clamp(1.35rem,3.8vw,2.75rem);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(155deg,var(--color-card-highlight),transparent 28%),linear-gradient(145deg,var(--color-surface-raised),var(--color-surface) 56%);box-shadow:var(--shadow-raised)}.eyebrow,.game-menu-label{margin-bottom:var(--space-2);color:var(--color-text-subtle);font-size:var(--font-size-xs);font-weight:750;letter-spacing:.11em;text-transform:uppercase}.error{margin:0;color:var(--color-danger)}button:focus-visible,input:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.button{display:inline-flex;min-height:3.1rem;width:100%;align-items:center;justify-content:center;padding:.72rem 1rem;border:1px solid transparent;border-radius:var(--radius-md);background:linear-gradient(180deg,var(--button-primary-start),var(--button-primary-end));color:var(--color-accent-contrast);cursor:pointer;font-size:var(--font-size-sm);font-weight:750;letter-spacing:.01em;line-height:1.2;text-align:center;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);box-shadow:var(--shadow-control)}.button:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-accent-hover) 58%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--button-primary-start) 88%,white),var(--color-accent-hover));box-shadow:0 .45rem 1.15rem color-mix(in srgb,var(--color-accent) 18%,transparent);transform:translateY(-1px)}.button:active:not(:disabled){background:linear-gradient(180deg,var(--color-accent),var(--color-accent-active));box-shadow:inset 0 1px color-mix(in srgb,white 18%,transparent);transform:translateY(1px)}.button:disabled{cursor:not-allowed;opacity:.52;box-shadow:none}.button--secondary{border-color:var(--color-border-strong);background:linear-gradient(180deg,var(--button-secondary-start),var(--button-secondary-end));color:var(--color-text)}.button--secondary:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-accent) 35%,var(--color-border-strong));background:linear-gradient(180deg,color-mix(in srgb,var(--button-secondary-start) 82%,var(--color-surface-raised)),var(--color-interactive-hover))}.theme-options{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-1);padding:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-subtle)}.theme-options button{display:inline-flex;min-height:2.75rem;gap:var(--space-1);align-items:center;justify-content:center;padding:var(--space-2);border:1px solid transparent;border-radius:calc(var(--radius-sm) - .15rem);background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-sm)}.theme-options button span{width:.8rem}.theme-options button:hover{background:var(--color-surface);color:var(--color-text)}.theme-options .theme-option--active{border-color:var(--color-border-strong);background:var(--color-surface-raised);color:var(--color-text);font-weight:750}.color-scheme-options{display:grid;max-height:14rem;gap:.15rem;overflow-y:auto}.color-scheme-option{display:grid;min-height:2.65rem;grid-template-columns:1rem minmax(0,1fr) auto;gap:var(--space-2);align-items:center;padding:.45rem .55rem;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-sm);text-align:left;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.color-scheme-option:hover{background:var(--color-surface-subtle);color:var(--color-text)}.color-scheme-option--active{border-color:color-mix(in srgb,var(--color-accent) 48%,var(--color-border));background:color-mix(in srgb,var(--color-selected-surface) 72%,var(--color-surface-subtle));color:var(--color-text);box-shadow:inset .16rem 0 var(--color-accent);font-weight:750}.color-scheme-option__check{text-align:center}.color-scheme-option__label{min-width:0;overflow-wrap:anywhere}.color-scheme-preview{display:inline-flex;gap:.28rem;align-items:center}.color-scheme-preview span{width:.62rem;height:.62rem;border:1px solid color-mix(in srgb,currentcolor 20%,transparent);border-radius:50%;box-shadow:0 0 0 1px color-mix(in srgb,var(--color-bg) 30%,transparent)}.input-label{display:grid;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:700}.input{min-height:3.1rem;padding:.65rem .85rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:linear-gradient(180deg,color-mix(in srgb,var(--color-input) 92%,white),var(--color-input));color:var(--color-text);transition:border-color var(--transition-fast),background var(--transition-fast);box-shadow:inset 0 1px 0 var(--color-card-highlight)}.input:hover{border-color:var(--color-text-subtle)}.input:focus-visible{border-color:var(--color-accent);background:var(--color-surface-raised);box-shadow:inset 0 1px 0 var(--color-card-highlight),0 0 0 3px color-mix(in srgb,var(--color-focus) 18%,transparent)}.input::placeholder{color:var(--color-text-subtle)}.update-banner{position:sticky;z-index:10;top:0;display:flex;gap:var(--space-4);align-items:center;justify-content:space-between;padding:var(--space-3) clamp(1rem,4vw,2.5rem);border-bottom:1px solid var(--color-border-strong);background:color-mix(in srgb,var(--color-surface-raised) 94%,transparent);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem)}.update-banner__message{margin:0;color:var(--color-text);font-size:var(--font-size-sm)}.update-banner__actions{display:flex;min-width:min(100%,16rem);gap:var(--space-2)}.update-banner__actions .button{min-height:2.7rem}.home-page{display:grid;min-height:100dvh;align-items:center}.home-card{display:grid;gap:var(--space-4);max-width:46rem;margin:auto;overflow:hidden;border-color:color-mix(in srgb,var(--color-accent) 20%,var(--color-border))}.home-card:before{position:absolute;top:0;left:clamp(1.35rem,3.8vw,2.75rem);width:4.5rem;height:.18rem;border-radius:999px;background:linear-gradient(90deg,var(--color-accent),transparent);content:""}.home-card h1{margin-bottom:0;font-family:var(--font-family-card);font-weight:600;letter-spacing:-.045em}.home-intro{max-width:38rem;margin-bottom:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed)}.status-chip,.device-status{width:fit-content;max-width:100%;margin:0;padding:.38rem .65rem;border:1px solid var(--color-border);border-radius:999px;background:color-mix(in srgb,var(--color-surface-subtle) 68%,transparent);color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:1.35}.device-status{padding:0;border:0;background:transparent;color:var(--color-text-subtle)}.parse-error-details{display:grid;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-surface-subtle) 72%,transparent)}.parse-error-details summary{display:flex;gap:var(--space-2);align-items:baseline;justify-content:space-between;color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-sm);font-weight:700}.parse-error-details summary span{color:var(--color-accent);font-weight:750;white-space:nowrap}.parse-error-summary{display:flex;flex-wrap:wrap;gap:var(--space-2);color:var(--color-text-subtle);font-size:var(--font-size-xs)}.parse-error-summary strong{color:var(--color-text-muted)}.parse-error-list{display:grid;max-height:20rem;gap:var(--space-3);margin:0;padding:0;overflow:auto;list-style:none}.parse-error-list>li{display:grid;gap:var(--space-1);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface-raised)}.parse-error-card-label,.parse-error-title{margin:0}.parse-error-card-label{color:var(--color-text-subtle);font-size:var(--font-size-xs);font-weight:700}.parse-error-title{color:var(--color-text);font-size:var(--font-size-sm);font-weight:750}.parse-error-issue{display:grid;grid-template-columns:minmax(4.5rem,auto) 1fr;gap:var(--space-1) var(--space-3);margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:var(--font-size-xs)}.parse-error-issue dt{color:var(--color-text-subtle)}.parse-error-issue dd{min-width:0;margin:0;overflow-wrap:anywhere}.home-actions,.setup-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:var(--space-3)}.home-actions{margin-top:var(--space-2)}.home-actions a{text-decoration:none}.setup-page{max-width:68rem}.setup-card{display:grid;gap:var(--space-4);border-color:color-mix(in srgb,var(--color-accent) 16%,var(--color-border))}.setup-wizard{gap:0;padding:0;overflow:hidden;border-color:color-mix(in srgb,var(--color-accent) 20%,var(--color-border))}.wizard-header{display:grid;gap:clamp(1.4rem,3vw,2.2rem);padding:clamp(1.35rem,4vw,2.5rem) clamp(1.1rem,4vw,2.75rem) clamp(1.3rem,3vw,2rem);border-bottom:1px solid var(--color-border);background:radial-gradient(circle at 82% 0%,color-mix(in srgb,var(--color-accent) 9%,transparent),transparent 42%),color-mix(in srgb,var(--color-surface-raised) 72%,transparent)}.wizard-stepper{display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none}.wizard-step{position:relative;display:grid;min-width:0;gap:var(--space-2);justify-items:center;color:var(--color-text-subtle);font-size:var(--font-size-xs);font-weight:700;text-align:center}.wizard-step:not(:last-child):after{position:absolute;z-index:0;top:1rem;left:calc(50% + 1.45rem);width:calc(100% - 2.9rem);height:1px;background:var(--color-border-strong);content:""}.wizard-step--complete:not(:last-child):after{background:color-mix(in srgb,var(--color-accent) 60%,var(--color-border))}.wizard-step__marker{position:relative;z-index:1;display:grid;width:2rem;height:2rem;place-items:center;border:1px solid var(--color-border-strong);border-radius:50%;background:var(--color-surface);color:var(--color-text-muted)}.wizard-step__marker svg,.setup-icon-button svg,.preference-card__chevron{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.wizard-step--active,.wizard-step--complete{color:var(--color-text)}.wizard-step--active .wizard-step__marker,.wizard-step--complete .wizard-step__marker{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-contrast)}.wizard-heading{display:grid;max-width:38rem;gap:var(--space-2)}.wizard-heading h1,.wizard-heading p{margin:0}.wizard-heading h1{font-family:var(--font-family-card);font-size:clamp(1.7rem,4vw,2.55rem);font-weight:600;letter-spacing:-.035em}.wizard-heading>p:last-child{color:var(--color-text-muted)}.wizard-body{display:grid;gap:clamp(1.25rem,3vw,2rem);padding:clamp(1.25rem,4vw,2.5rem) clamp(1.1rem,4vw,2.75rem)}.wizard-section-intro,.summary-section-heading{display:flex;gap:var(--space-3);align-items:center;justify-content:space-between}.wizard-section-intro p,.summary-section-heading p,.summary-section-heading h2{margin:0}.wizard-section-intro p{color:var(--color-text-muted)}.setup-count{flex:0 0 auto;padding:.35rem .7rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-subtle);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:750}.participant-list,.preference-list,.participant-summary-grid{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.participant-row{display:grid;grid-template-columns:2.25rem minmax(0,1fr) auto;gap:var(--space-3);align-items:end;margin:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-surface-subtle) 68%,var(--color-surface));box-shadow:inset 0 1px 0 var(--color-card-highlight)}.participant-row:hover{border-color:var(--color-border-strong)}.participant-row__order,.participant-summary-card__order{display:grid;width:2.25rem;height:2.25rem;place-items:center;margin-bottom:.42rem;border:1px solid var(--color-border-strong);border-radius:50%;color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:750}.participant-row__actions{display:flex;gap:var(--space-1)}.setup-icon-button{display:grid;width:2.75rem;height:2.75rem;place-items:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-interactive);color:var(--color-text-muted);cursor:pointer}.setup-icon-button:hover:not(:disabled){border-color:var(--color-border-strong);background:var(--color-interactive-hover);color:var(--color-text)}.setup-icon-button:disabled{cursor:not-allowed;opacity:.35}.setup-icon-button--danger:hover:not(:disabled){border-color:var(--color-danger);color:var(--color-danger)}.wizard-inline-action{width:min(100%,18rem)}.preference-card{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-surface-subtle) 68%,var(--color-surface));transition:border-color var(--transition-fast),background var(--transition-fast)}.preference-card--expanded{border-color:color-mix(in srgb,var(--color-accent) 36%,var(--color-border));background:var(--color-surface-raised);box-shadow:var(--shadow-sm)}.preference-card__toggle{display:grid;width:100%;min-height:4.5rem;grid-template-columns:minmax(0,1fr) auto 1.25rem;gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-4);border:0;background:transparent;color:var(--color-text);cursor:pointer;text-align:left}.preference-card__toggle:hover{background:color-mix(in srgb,var(--color-interactive-hover) 55%,transparent)}.preference-card__identity{display:flex;min-width:0;gap:var(--space-3);align-items:center}.preference-card__identity>span:last-child,.preference-card__summary{display:grid;gap:.15rem}.preference-card__identity strong{overflow:hidden;font-size:var(--font-size-md);text-overflow:ellipsis;white-space:nowrap}.preference-card__identity span span,.preference-card__summary{color:var(--color-text-muted);font-size:var(--font-size-xs)}.preference-card__avatar{display:grid;width:2.4rem;height:2.4rem;flex:0 0 auto;place-items:center;border:1px solid color-mix(in srgb,var(--color-accent) 35%,var(--color-border));border-radius:50%;background:color-mix(in srgb,var(--color-accent) 10%,var(--color-surface));color:var(--color-accent);font-weight:800}.preference-card__chevron{transition:transform var(--transition-fast)}.preference-card--expanded .preference-card__chevron{transform:rotate(180deg)}.preference-card__body{display:grid;gap:var(--space-5);padding:0 var(--space-4) var(--space-4);border-top:1px solid var(--color-border)}.preference-card fieldset{display:grid;min-width:0;gap:var(--space-3);margin:0;padding:var(--space-4) 0 0;font-size:var(--font-size-sm);border:0}.preference-card legend{padding:0;color:var(--color-text);font-weight:750}.preference-card fieldset>p{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.setup-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:var(--space-2)}.setup-choice-grid .button{min-height:2.85rem;gap:var(--space-2);border-radius:var(--radius-sm);box-shadow:none}.setup-choice-grid .button--primary{border-color:color-mix(in srgb,var(--color-accent) 58%,var(--color-border));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-accent) 18%,transparent)}.relationship-summary{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.wizard-footer{display:grid;grid-template-columns:repeat(2,minmax(0,13rem));gap:var(--space-3);justify-content:end;padding:var(--space-4) clamp(1.1rem,4vw,2.75rem);border-top:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface-raised) 92%,transparent)}.wizard-footer>:only-child{grid-column:2}.summary-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.summary-stats article{display:grid;min-height:7rem;gap:var(--space-1);align-content:center;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle);text-align:center}.summary-stats span,.summary-stats small{color:var(--color-text-muted);font-size:var(--font-size-xs)}.summary-stats strong{color:var(--color-text);font-family:var(--font-family-card);font-size:clamp(1.4rem,3vw,2rem);font-weight:600}.summary-stats .summary-stat--accent{border-color:color-mix(in srgb,var(--color-accent) 35%,var(--color-border));background:color-mix(in srgb,var(--color-accent) 8%,var(--color-surface-subtle))}.summary-section-heading{margin-bottom:var(--space-3)}.summary-section-heading h2{font-size:var(--font-size-lg)}.participant-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.participant-summary-card{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-surface-subtle) 75%,var(--color-surface))}.participant-summary-card header{display:flex;gap:var(--space-3);align-items:center}.participant-summary-card header div{display:grid;gap:.1rem}.participant-summary-card header strong{font-size:var(--font-size-md)}.participant-summary-card header span:not(.participant-summary-card__order),.participant-summary-card p{color:var(--color-text-muted);font-size:var(--font-size-sm)}.participant-summary-card__order{margin:0}.participant-summary-card p{display:grid;gap:.1rem;margin:0}.summary-label{color:var(--color-text-subtle);font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em}.summary-preferences{display:flex;flex-wrap:wrap;gap:var(--space-1)}.summary-chip{padding:.28rem .5rem;border:1px solid color-mix(in srgb,var(--color-accent) 28%,var(--color-border));border-radius:999px;background:color-mix(in srgb,var(--color-accent) 7%,transparent);color:var(--color-text-muted);font-size:var(--font-size-xs)}.summary-chip--off{border-color:var(--color-border);background:transparent;color:var(--color-text-subtle)}.phase-availability{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.phase-availability article{display:grid;grid-template-columns:1fr auto;gap:var(--space-1) var(--space-3);align-items:center;padding:var(--space-3);border:1px solid var(--color-border);border-top:2px solid var(--phase-1-accent);border-radius:var(--radius-sm);background:var(--color-surface-subtle)}.phase-availability article>div{display:grid}.phase-availability span{color:var(--color-text);font-size:var(--font-size-sm);font-weight:750}.phase-availability small{color:var(--color-text-muted)}.phase-availability strong{font-size:var(--font-size-lg)}.phase-availability p{grid-column:1 / -1;margin:0;font-size:var(--font-size-xs)}.phase-availability article.phase-availability--2{border-top-color:var(--phase-2-accent)}.phase-availability article.phase-availability--3{border-top-color:var(--phase-3-accent)}.game-page{position:relative;display:flex;min-height:100vh;min-height:100dvh;width:100%;max-width:none;padding:max(clamp(1.75rem,4vh,2.75rem),env(safe-area-inset-top)) max(clamp(1.2rem,4vw,2.75rem),env(safe-area-inset-right)) max(clamp(1.35rem,3vh,2.25rem),env(safe-area-inset-bottom)) max(clamp(1.2rem,4vw,2.75rem),env(safe-area-inset-left));border:0;overflow-x:clip;background:var(--color-board);box-shadow:none;isolation:isolate}.game-shell,.game-ambient{--phase-accent: var(--phase-1-accent);--phase-accent-strong: var(--phase-1-accent-strong);--phase-accent-muted: var(--phase-1-accent-muted);--phase-glow: var(--phase-1-glow)}.game-ambient{position:absolute;z-index:0;inset:0;margin:0;padding:0;overflow:hidden;border:0;contain:paint;pointer-events:none;background:transparent}.game-fog-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;opacity:.37;pointer-events:none}:root[data-theme=light] .game-fog-canvas{opacity:.58}.game-shell{position:relative;z-index:1;--color-focus: var(--phase-accent-strong);display:flex;min-width:0;min-height:0;width:min(100%,68rem);margin:0 auto;flex:1;flex-direction:column;gap:clamp(.55rem,1.4vh,.85rem);isolation:isolate}.game-board--phase-2{--phase-accent: var(--phase-2-accent);--phase-accent-strong: var(--phase-2-accent-strong);--phase-accent-muted: var(--phase-2-accent-muted);--phase-glow: var(--phase-2-glow)}.game-board--phase-3{--phase-accent: var(--phase-3-accent);--phase-accent-strong: var(--phase-3-accent-strong);--phase-accent-muted: var(--phase-3-accent-muted);--phase-glow: var(--phase-3-glow)}.game-shell .button--primary{border-color:color-mix(in srgb,var(--phase-accent-strong) 58%,transparent);background:linear-gradient(180deg,var(--phase-accent-strong),var(--phase-accent));color:var(--color-accent-contrast);box-shadow:0 .55rem 1.35rem color-mix(in srgb,var(--phase-accent) 18%,transparent)}.game-shell .button--primary:hover:not(:disabled){background:linear-gradient(180deg,color-mix(in srgb,var(--phase-accent-strong) 86%,white),var(--phase-accent));box-shadow:0 .65rem 1.5rem color-mix(in srgb,var(--phase-accent) 24%,transparent)}.game-shell .button--primary:active:not(:disabled){background:linear-gradient(180deg,var(--phase-accent),color-mix(in srgb,var(--phase-accent) 78%,var(--color-bg)))}.game-status-header{padding:clamp(.35rem,1vh,.7rem) clamp(.15rem,.8vw,.5rem) 0}.game-status-line{display:flex;gap:var(--space-3);align-items:center;justify-content:space-between}.game-status-line h1{min-width:0;margin:0;font-size:clamp(1.2rem,2.8vw,1.65rem);font-weight:450;letter-spacing:-.025em;overflow-wrap:anywhere}.game-status-line h1 strong{font-weight:780;text-shadow:0 .2rem 1rem color-mix(in srgb,var(--phase-glow) 75%,transparent)}.game-status-line h1 span{color:var(--color-text-muted);font-weight:450}.game-board-controls{display:flex;gap:var(--space-2);align-items:center}.phase-selector{position:relative}.phase-status{display:inline-flex;flex:0 1 auto;min-height:2.75rem;gap:var(--space-1);align-items:center;padding:.38rem .65rem;border:1px solid color-mix(in srgb,var(--phase-accent-muted) 58%,var(--color-border));border-radius:999px;background:color-mix(in srgb,var(--color-board) 82%,transparent);color:color-mix(in srgb,var(--phase-accent-strong) 72%,var(--color-text-muted));font-size:.64rem;font-weight:650;line-height:1.2;white-space:nowrap;cursor:pointer}.phase-status:hover,.phase-status[aria-expanded=true]{border-color:var(--phase-accent-muted);background:var(--color-surface-raised);color:var(--phase-accent-strong)}.phase-status svg{width:.9rem;height:.9rem;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;transition:transform var(--transition-fast)}.phase-status[aria-expanded=true] svg{transform:rotate(180deg)}.game-menu{position:relative}.game-menu-trigger{display:grid;width:2.75rem;height:2.75rem;padding:0;border:1px solid var(--color-border);border-radius:50%;background:color-mix(in srgb,var(--color-board) 72%,transparent);color:var(--color-text-muted);cursor:pointer;list-style:none;place-items:center;transition:background var(--transition-fast),border-color var(--transition-fast)}.game-menu-trigger:hover,.game-menu-trigger[aria-expanded=true]{border-color:var(--color-border-strong);background:var(--color-surface-raised)}.game-menu-trigger svg{width:1.2rem;height:1.2rem;fill:currentcolor}.game-menu-panel,.phase-popover{position:absolute;z-index:5;top:calc(100% + var(--space-2));right:0;display:grid;width:min(20rem,calc(100vw - 2rem));max-height:min(34rem,calc(100dvh - 6rem));gap:var(--space-3);overflow-y:auto;padding:var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-raised);box-shadow:var(--shadow-md);transform-origin:top right;animation:menu-reveal .15s ease-out}.phase-popover{width:min(18rem,calc(100vw - 2rem));gap:var(--space-2)}.phase-menu-options{display:grid;gap:var(--space-1)}.phase-menu-options button{min-height:2.75rem;padding:.55rem .65rem;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-sm);text-align:left;transition:background var(--transition-fast),color var(--transition-fast)}.phase-menu-options button:hover,.phase-menu-options .phase-menu-option--active{background:var(--color-surface-subtle);color:var(--color-text)}.phase-menu-options .phase-menu-option--active{border-color:var(--phase-accent-muted);background:color-mix(in srgb,var(--phase-accent) 10%,var(--color-surface-subtle));color:color-mix(in srgb,var(--phase-accent-strong) 70%,var(--color-text));box-shadow:inset .18rem 0 var(--phase-accent);font-weight:750}.game-menu-separator{height:1px;background:var(--color-border)}.game-menu-panel .button{min-height:2.8rem}.game-menu-action{min-height:2.75rem;padding:var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);cursor:pointer;font-size:var(--font-size-sm);text-align:left}.game-menu-action:hover{background:var(--color-surface-subtle)}.text-action{min-height:2.75rem;padding:var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-danger);cursor:pointer;font-size:var(--font-size-sm);text-align:left}.text-action:hover{background:var(--color-danger-soft)}.game-overview-content{display:grid;gap:clamp(1.25rem,3vw,2rem)}.game-overview-overlay{position:fixed;z-index:20;inset:0;overflow-y:auto;padding:max(var(--space-4),env(safe-area-inset-top)) max(var(--space-4),env(safe-area-inset-right)) max(var(--space-5),env(safe-area-inset-bottom)) max(var(--space-4),env(safe-area-inset-left));background:var(--color-bg)}.game-overview-overlay__inner{display:grid;width:min(100%,64rem);gap:clamp(1.5rem,4vw,2.5rem);margin:0 auto}.game-overview-overlay__header{display:flex;gap:var(--space-3);align-items:center}.game-overview-overlay__header p,.game-overview-overlay__header h1{margin:0}.game-overview-overlay__header h1{font-family:var(--font-family-card);font-size:clamp(1.6rem,4vw,2.4rem);font-weight:600}.game-overview-close{display:grid;width:2.75rem;height:2.75rem;flex:0 0 auto;place-items:center;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-subtle);color:var(--color-text);cursor:pointer}.game-overview-close svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.game-overview-overlay__close-action{width:min(100%,18rem);justify-self:center}.secret-private-screen,.secret-mission-screen{display:grid;gap:var(--space-4);align-content:center;text-align:center}.secret-private-screen h2,.secret-private-screen p,.secret-mission-screen h2,.secret-mission-screen p{margin:0}.secret-private-screen h2,.secret-mission-screen h2{font-family:var(--font-family-card);font-size:clamp(1.35rem,4vw,1.8rem);line-height:var(--line-height-tight)}.secret-private-screen>p:not(.secret-private-screen__eyebrow),.secret-mission-screen__hint{color:var(--color-text-muted);font-size:var(--font-size-sm)}.secret-private-screen__eyebrow{color:var(--phase-accent-strong);font-size:var(--font-size-xs);font-weight:750;text-transform:uppercase;letter-spacing:.14em}.secret-private-screen .button,.secret-mission-screen>.button{width:min(100%,16rem);justify-self:center}.secret-skip-action{min-height:2.75rem;justify-self:center;padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);cursor:pointer;font:inherit;font-size:var(--font-size-sm);text-decoration:underline;text-decoration-color:color-mix(in srgb,currentcolor 45%,transparent);text-underline-offset:.2em}.secret-skip-action:hover:not(:disabled){background:var(--color-surface-subtle);color:var(--color-text)}.secret-skip-action:disabled{cursor:not-allowed;opacity:.5}.secret-mission-screen__text{font-family:var(--font-family-card);font-size:clamp(1.35rem,3.5vw,1.8rem);line-height:var(--line-height-relaxed)}.secret-mission-screen__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.game-board-stage{position:relative;display:flex;min-height:0;min-width:0;width:100%;max-width:100%;flex:1;flex-direction:column;gap:clamp(.6rem,1.2vh,.85rem);align-items:center;justify-content:flex-start;padding:clamp(.75rem,2vh,1.5rem) clamp(0rem,2vw,var(--space-4)) var(--space-3);border:0;background:transparent;box-shadow:none;isolation:isolate}.game-card-stack{position:relative;width:min(68vw,26rem);isolation:isolate}.game-card-stack:before,.game-card-stack:after{position:absolute;z-index:-1;inset:0;border:1px solid var(--color-border);border-radius:calc(var(--radius-lg) + .1rem);background:color-mix(in srgb,var(--color-card) 72%,var(--color-board));content:"";pointer-events:none}.game-card-stack:before{opacity:.88;background:linear-gradient(150deg,color-mix(in srgb,var(--color-card) 82%,var(--color-surface-raised)),var(--color-board));transform:translate(.38rem,.42rem) rotate(.45deg) scale(.995)}.game-card-stack:after{opacity:.66;background:linear-gradient(150deg,color-mix(in srgb,var(--color-card) 68%,var(--color-board)),var(--color-bg));transform:translate(.72rem,.78rem) rotate(.8deg) scale(.99)}.game-card{position:relative;z-index:1;display:flex;min-height:14rem;width:100%;flex-direction:column;justify-content:flex-start;gap:clamp(.6rem,1.4vh,.9rem);padding:clamp(1.35rem,3.2vw,2rem);border:1px solid color-mix(in srgb,var(--phase-accent-muted) 48%,var(--color-border));border-radius:calc(var(--radius-lg) + .1rem);background:linear-gradient(145deg,color-mix(in srgb,white 4%,transparent),transparent 30%,rgb(0 0 0 / 2.5%)),linear-gradient(160deg,var(--color-card-start),var(--color-card) 48%,var(--color-card-end));box-shadow:var(--shadow-card),0 -.35rem 1.6rem color-mix(in srgb,var(--phase-glow) 68%,transparent),0 0 0 1px color-mix(in srgb,var(--color-card-highlight) 65%,transparent),inset 0 -1px color-mix(in srgb,var(--color-border-strong) 45%,transparent)}.game-card:before{position:absolute;top:0;left:12%;width:31%;height:.14rem;border-radius:0 0 999px 999px;background:linear-gradient(90deg,transparent,var(--phase-accent),transparent);content:"";opacity:.72;pointer-events:none}.game-card:after{position:absolute;inset:1px;border-radius:calc(var(--radius-lg) + .02rem);box-shadow:inset 0 1px var(--color-card-highlight),inset 0 .16rem color-mix(in srgb,var(--phase-accent) 24%,transparent);content:"";pointer-events:none}.game-card--task,.game-card--timer{min-height:0;aspect-ratio:3 / 4}.game-card--selection{min-height:0;gap:var(--space-4);padding-block:clamp(1.4rem,3vw,2rem)}.game-card-title{margin:0;color:var(--color-text-subtle);font-size:.72rem;font-family:var(--font-family-card);font-weight:700;letter-spacing:.19em;text-align:left;text-transform:uppercase}.card-text{width:100%;margin:clamp(1rem,2.4vh,1.6rem) 0 clamp(.85rem,2vh,1.35rem);flex:1;color:var(--color-text);font-family:var(--font-family-ui);font-size:clamp(1.2rem,2.25vw,1.58rem);font-weight:430;line-height:1.55;text-wrap:pretty}.card-participant{color:color-mix(in srgb,var(--phase-accent-strong) 82%,var(--color-text));font-weight:760;text-shadow:0 .2rem .8rem color-mix(in srgb,var(--phase-glow) 50%,transparent)}.game-card-footer{display:grid;gap:var(--space-3);width:100%;padding-top:var(--space-3);border-top:1px solid color-mix(in srgb,var(--phase-accent-muted) 28%,var(--color-border))}.intensity-meter{display:grid;gap:var(--space-2);width:100%}.intensity-meter__label{display:flex;align-items:baseline;justify-content:space-between;color:var(--color-text-subtle);font-size:var(--font-size-sm)}.intensity-meter__label strong{color:var(--color-text-muted);font-variant-numeric:tabular-nums}.intensity-meter__segments{display:grid;grid-template-columns:repeat(10,1fr);gap:var(--space-1)}.intensity-meter__segment{height:.3rem;border-radius:999px;background:var(--color-border)}.intensity-meter__segment--active{background:linear-gradient(90deg,var(--phase-accent),var(--phase-accent-strong));box-shadow:0 .18rem .6rem color-mix(in srgb,var(--phase-accent) 30%,transparent)}.target-grid,.card-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:var(--space-3)}.target-grid .button{position:relative;min-height:3rem;justify-content:flex-start;padding-inline:1.15rem;border-radius:999px;background:linear-gradient(145deg,var(--color-interactive-hover),var(--color-interactive));box-shadow:var(--shadow-control),inset 0 1px 0 var(--color-card-highlight);text-align:left}.target-grid .target-option--selected{padding-left:2.6rem;border-color:var(--phase-accent-muted);background:linear-gradient(145deg,color-mix(in srgb,var(--phase-accent) 18%,var(--color-interactive-hover)),color-mix(in srgb,var(--phase-accent) 8%,var(--color-interactive)));box-shadow:0 .55rem 1.25rem color-mix(in srgb,var(--phase-accent) 17%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--phase-accent) 45%,transparent)}.target-grid .target-option--selected:before{position:absolute;left:1rem;content:"✓";font-size:1.15em;font-weight:800}.selection-title{margin:0;font-size:clamp(1.25rem,2.8vw,1.7rem);font-family:var(--font-family-card);font-weight:600}.game-timer{display:grid;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid color-mix(in srgb,var(--phase-accent-muted) 20%,var(--color-border));text-align:center}.timer-display{margin:0;color:var(--color-text);font-size:clamp(1.9rem,5vw,2.75rem);font-variant-numeric:tabular-nums;font-weight:750;letter-spacing:-.04em;line-height:1.05;text-shadow:0 .35rem 1.1rem color-mix(in srgb,var(--phase-glow) 70%,transparent)}.timer-display--idle{color:var(--color-text-muted);font-size:clamp(1.65rem,4.5vw,2.25rem)}.timer-completed{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:700}.timer-actions{display:flex;width:fit-content;max-width:100%;gap:var(--space-2);align-items:center;justify-content:center;margin:var(--space-1) auto 0}.timer-player-control{display:inline-grid;height:2.75rem;flex:0 0 auto;place-items:center;border:1px solid var(--color-border-strong);border-radius:999px;background:var(--color-interactive);color:var(--color-text-muted);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.timer-player-button{min-width:3.25rem;padding:0 var(--space-3)}.timer-player-button--primary{border-color:var(--phase-accent);background:linear-gradient(180deg,var(--phase-accent-strong),var(--phase-accent));color:var(--color-accent-contrast);box-shadow:0 .45rem 1rem color-mix(in srgb,var(--phase-accent) 18%,transparent)}.timer-player-button--secondary{background:transparent}.timer-player-add{min-width:3.75rem;padding:0 var(--space-3);font-size:var(--font-size-sm);font-weight:750}.timer-player-button:hover,.timer-player-add:hover{border-color:var(--phase-accent-muted);background:var(--color-interactive-hover);color:var(--color-text);transform:translateY(-1px)}.timer-player-button--primary:hover{border-color:var(--phase-accent-strong);background:linear-gradient(180deg,color-mix(in srgb,var(--phase-accent-strong) 86%,white),var(--phase-accent));color:var(--color-accent-contrast)}.timer-player-button:active,.timer-player-add:active{transform:translateY(1px)}.timer-icon{width:1.15rem;height:1.15rem;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.timer-icon--fill{fill:currentcolor;stroke:none}.card-actions{min-width:0;width:100%;max-width:24rem;margin:auto auto 0;padding-top:clamp(1.5rem,4vh,2.5rem);border:0;background:transparent;box-shadow:none;flex-shrink:0}.board-action{gap:var(--space-2);min-height:3rem}.board-action svg{width:1rem;height:1rem;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.board-action--secondary{color:var(--color-text-muted);box-shadow:none}.card-change-enter-active,.card-change-leave-active{transition:opacity .18s ease,transform .18s ease}.card-change-enter-from{opacity:0;transform:translate(.75rem) rotate(1deg)}.card-change-leave-to{opacity:0;transform:translate(-.75rem) rotate(-1deg)}@keyframes menu-reveal{0%{opacity:0;transform:translateY(-.35rem) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:520px){.page{padding-top:max(var(--space-5),env(safe-area-inset-top))}.game-page{padding-top:max(clamp(1.75rem,4vh,2.25rem),env(safe-area-inset-top))}.update-banner{align-items:stretch;flex-direction:column}.update-banner__actions{width:100%}.update-banner__actions .button{min-width:0}.setup-page{padding-inline:var(--space-2)}.wizard-header,.wizard-body,.wizard-footer{padding-inline:var(--space-3)}.wizard-step__label{font-size:.68rem}.wizard-section-intro{align-items:flex-start}.participant-row{grid-template-columns:2rem minmax(0,1fr);gap:var(--space-2)}.participant-row__order{width:2rem;height:2rem}.participant-row__actions{grid-column:2;justify-content:flex-end}.preference-card__toggle{grid-template-columns:minmax(0,1fr) 1.25rem;padding-inline:var(--space-3)}.preference-card__summary{display:none}.preference-card__body{padding-inline:var(--space-3)}.setup-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wizard-footer{grid-template-columns:1fr}.wizard-footer>:only-child{grid-column:1}.summary-stats{grid-template-columns:repeat(2,1fr)}.summary-stats article:last-child{grid-column:1 / -1;min-height:5rem}.participant-summary-grid,.phase-availability{grid-template-columns:1fr}.game-status-header{padding:var(--space-1) 0 0}.game-status-line{gap:var(--space-2)}.game-status-line h1{font-size:clamp(1.1rem,5.2vw,1.4rem)}.phase-status{padding-inline:var(--space-2)}.game-card{padding:clamp(1.2rem,5vw,1.5rem)}.game-card-stack,.card-actions{width:min(100%,26rem)}.card-actions{max-width:24rem}.card-text{font-size:clamp(1.18rem,5.2vw,1.48rem)}.timer-display{font-size:clamp(1.8rem,9vw,2.35rem)}.card-actions{grid-template-columns:1fr}.timer-actions{gap:var(--space-1)}.game-board-stage{padding-top:var(--space-4)}.parse-error-details summary{align-items:flex-start;flex-direction:column}}@media(min-width:700px)and (orientation:portrait){.game-board-stage{padding-top:clamp(1.25rem,3vh,2rem)}.game-card-stack{width:min(58vw,26rem)}}
