:root{--bg:#0c1220;--surface:#131c2c;--surface-raised:#192438;--ink:#f2f0e8;--muted:#91a0b5;--line:#2a3850;--frost:#8dd8d2;--ember:#e39a84;--accent:#e7c65b;--temperate:#9aa3ad;--cataclysm:#000;--font:"Pretendard", "Apple SD Gothic Neo", "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0}button,input,select{font:inherit;outline-color:var(--accent)}.app{max-width:1060px;margin:0 auto;padding:24px 24px 56px}.masthead{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:36px;padding-bottom:16px;display:flex}.brand{cursor:pointer;background:0 0;border:0;align-items:center;padding:0;display:inline-flex}.brand-logo{object-fit:contain;width:48px;height:48px;display:block}.stack{flex-direction:column;gap:12px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.page-heading,.game-heading{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.eyebrow{color:var(--frost);letter-spacing:.14em;text-transform:uppercase;margin:0 0 9px;font-size:11px;font-weight:800}h1,h2,p{overflow-wrap:break-word}.home-title,.game-heading h1,.result-title{letter-spacing:-.055em;margin:0;font-size:clamp(32px,5vw,54px);font-weight:700;line-height:1.05}.season-word{font:inherit;font-weight:inherit}.season-frost{color:var(--frost)}.season-ember{color:var(--ember)}.home-title{font-size:clamp(32px,4.6vw,50px)}.lobby-title{letter-spacing:-.045em;margin:0;font-size:clamp(30px,4vw,44px)}.tagline{color:var(--muted);margin:14px 0 24px;line-height:1.65}.support-copy{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.btn{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;min-height:42px;padding:9px 16px;transition:transform .14s;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--ink);transform:translateY(-1px)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.btn:disabled{cursor:not-allowed;opacity:.42}.btn-primary{background:var(--frost);border-color:var(--frost);color:var(--bg);font-weight:800}.btn-primary:hover:not(:disabled){border-color:var(--frost)}.btn-quiet{color:var(--muted);border-color:#0000}.btn-small{min-height:34px;padding:6px 10px;font-size:12px}.field{color:var(--muted);flex-direction:column;gap:7px;font-size:12px;font-weight:700;display:flex}.field-wide{width:100%;min-width:0}.field input,.select{background:var(--surface-raised);border:1px solid var(--line);color:var(--ink);border-radius:7px;min-height:44px;padding:10px 12px}.field input:focus,.select:focus{border-color:var(--frost);outline:1px solid var(--frost)}.field input:disabled{background:var(--surface)}.badge,.status-chip{border:1px solid var(--line);border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;display:inline-flex}.badge-frost{border-color:var(--frost);color:var(--frost)}.badge-ember{border-color:var(--ember);color:var(--ember)}.badge .climate-icon{width:22px;height:22px;margin-right:5px}.status-chip{color:var(--accent)}.home{isolation:isolate;gap:18px;display:grid;position:relative;overflow:hidden}.home>:not(.home-background-art){z-index:1;position:relative}.home-background-art{object-fit:cover;opacity:.09;pointer-events:none;z-index:0;width:calc(100% + 180px);height:calc(100% + 120px);position:absolute;inset:-70px -90px -50px}.home-hero{border-bottom:1px solid var(--line);grid-template-columns:minmax(280px,.85fr) minmax(360px,1.15fr);align-items:center;gap:28px;min-height:300px;padding:12px 0 32px;display:grid}.home-copy{z-index:1;position:relative}.hero-art{object-fit:contain;width:100%;height:auto;max-height:260px;display:block}.home-console,.join-panel,.action-panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:20px}.home-console{grid-template-columns:190px minmax(220px,1fr);gap:16px;display:grid}.home-console .section-heading{grid-row:span 2}.section-heading h2{margin:0;font-size:22px}.primary-actions{flex-wrap:wrap;gap:8px;display:flex}.join-panel{grid-template-columns:1fr auto;align-items:end;gap:20px;display:grid}.row-heading{align-items:center;gap:10px;display:flex}.join-controls{align-items:end;gap:8px;display:flex}.room-code{background:var(--surface);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:8px;flex-direction:column;align-items:flex-end;gap:4px;padding:9px 12px;display:flex}.room-code span{color:var(--muted);font-size:10px}.room-code strong{color:var(--accent);letter-spacing:.12em}.room-code small{color:var(--muted);font-size:9px}.room-code small.is-copied{color:var(--frost)}.crew-progress{background:var(--surface);border:1px solid var(--line);border-radius:6px;justify-content:flex-end;align-items:center;height:34px;padding:0 10px;display:flex;position:relative;overflow:hidden}.crew-progress>span{position:absolute;top:0;bottom:0}.crew-progress-frost{background:var(--frost);left:0}.crew-progress-ember{background:var(--ember);right:0}.crew-counts{justify-content:space-between;align-items:center;width:100%;display:flex;position:relative}.crew-counts i,.crew-counts strong{background:var(--surface);border-radius:4px;align-items:center;gap:4px;padding:3px 6px;font-size:11px;font-style:normal;display:inline-flex}.crew-counts .climate-icon{width:17px;height:17px}.crew-counts i.frost{color:var(--frost)}.crew-counts i.ember{color:var(--ember)}.crew-counts strong{color:var(--ink)}.lobby-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.lobby-team{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:18px}.lobby-frost{border-top:3px solid var(--frost)}.lobby-ember{border-top:3px solid var(--ember)}.team-heading{align-items:center;gap:12px;margin-bottom:14px;display:flex}.team-heading h2{margin:0}.team-symbol{object-fit:contain;flex:0 0 46px;width:46px;height:46px}.lobby-seat{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;min-height:58px;padding:8px 0;display:flex}.seat-name-line{align-items:center;gap:6px;margin-top:5px;display:flex}.seat-name{color:var(--muted);margin:0;font-size:12px}.seat-badges{align-items:center;gap:3px;display:inline-flex}.seat-badges img{object-fit:contain;width:20px;height:20px;display:block}.seat-state{color:var(--muted);font-size:11px}.lobby-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.status-bar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.team-count,.guess-count{border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:12px}.team-count i{font-style:normal}.team-count.frost{color:var(--frost)}.team-count.ember{color:var(--ember)}.race-hud{background:var(--surface);border:1px solid var(--line);border-radius:12px;grid-template-columns:minmax(0,1fr) 190px minmax(0,1fr);min-height:128px;margin-top:22px;display:grid;overflow:hidden}.race-team{align-items:center;gap:12px;min-width:0;padding:16px;display:flex;position:relative}.race-team:before{background:var(--line);content:"";height:4px;position:absolute;top:0;left:0;right:0}.race-team-frost.is-active:before{background:var(--frost)}.race-team-ember.is-active:before{background:var(--ember)}.race-position-right{flex-direction:row-reverse}.race-jelly-frame{flex:0 0 72px;width:72px;height:72px;display:block}.race-position-right .race-jelly-frame{transform:scaleX(-1)}.race-jelly{object-fit:contain;width:72px;height:72px;display:block}.race-team-body{flex:1;min-width:0}.race-team-label{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;font-size:12px;display:flex}.race-team-label strong{align-items:center;gap:5px;font-size:14px;display:inline-flex}.race-team-label .climate-icon{width:24px;height:24px}.race-team-label>span{color:var(--muted);font-variant-numeric:tabular-nums}.race-team-frost .race-team-label strong{color:var(--frost)}.race-position-right .race-team-label{flex-direction:row-reverse}.race-team-ember .race-team-label strong{color:var(--ember)}.treasure-track{grid-template-columns:repeat(9,minmax(10px,1fr));gap:4px;display:grid}.treasure-slot{aspect-ratio:1;border:1px solid var(--line);color:var(--bg);border-radius:3px;justify-content:center;align-items:center;max-width:22px;font-size:9px;display:flex}.treasure-slot .climate-icon{object-fit:contain;width:100%;height:100%}.race-position-right .treasure-track{direction:rtl}.race-team-frost .treasure-slot.is-found{background:var(--frost);border-color:var(--frost)}.race-team-ember .treasure-slot.is-found{background:var(--ember);border-color:var(--ember)}.race-center{border-left:1px solid var(--line);border-right:1px solid var(--line);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:16px 12px;display:flex}.race-center strong{font-size:13px;line-height:1.35}.race-center span{color:var(--muted);margin-top:5px;font-size:11px;line-height:1.4}.race-turn-frost .race-center strong{color:var(--frost)}.race-turn-ember .race-center strong{color:var(--ember)}.race-center.phase-awaiting_hint{background:var(--surface-raised)}.race-center.phase-guessing{background:var(--bg)}.race-turn-frost .race-center.phase-guessing{box-shadow:inset 0 4px var(--frost)}.race-turn-ember .race-center.phase-guessing{box-shadow:inset 0 4px var(--ember)}.turn-visual{justify-content:center;align-items:center;width:100%;height:40px;margin-bottom:5px;display:flex}.waiting-icon{object-fit:contain;width:38px;height:38px}.race-center time{border:1px solid var(--line);color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:.05em;border-radius:999px;margin-top:8px;padding:4px 8px;font-size:12px;font-weight:900}.race-center time.is-warning{border-color:var(--ember);color:var(--ember);animation:.9s steps(2,jump-none) infinite timer-warning}.race-jelly.reaction-celebrate{animation:.56s ease-out jelly-celebrate}.race-jelly.reaction-miss{animation:.52s ease-out jelly-miss}.race-jelly.reaction-shock{animation:.62s ease-out jelly-shock}.treasure-slot.is-new{animation:.68s ease-out treasure-pop}.hint-banner{background:var(--surface);border:1px solid var(--line);border-left-width:4px;border-radius:8px;align-items:center;gap:16px;min-height:68px;margin:20px 0 14px;padding:14px 18px;display:flex}.hint-banner>span{color:var(--muted);letter-spacing:.08em;font-size:11px;font-weight:800}.hint-banner strong{font-size:clamp(19px,3vw,26px)}.hint-display{align-items:center;gap:12px;display:inline-flex}.hint-display>span{border-right:1px solid var(--line);padding-right:12px}.hint-number-image{object-fit:contain;width:46px;height:46px;display:block}.hint-frost{border-left-color:var(--frost);animation:.36s ease-out pulse-frost}.hint-ember{border-left-color:var(--ember);animation:.36s ease-out pulse-ember}.game-toolbar{justify-content:space-between;align-items:flex-end;min-height:38px;margin-bottom:10px;display:flex}.actor-label,.map-notice{color:var(--muted);margin:0;font-size:12px}.actor-label{align-items:center;gap:8px;display:inline-flex}.actor-label span+span{border-left:1px solid var(--line);padding-left:8px}.map-notice{border-left:3px solid;margin-bottom:9px;padding:5px 8px;font-weight:800}.map-notice-frost{color:var(--frost)}.map-notice-ember{color:var(--ember)}.practice-role{min-width:180px}.word-grid{background:var(--cataclysm);border:1px solid var(--line);border-radius:10px;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;padding:5px;display:grid}.word-card{aspect-ratio:2;background:var(--surface-raised);border:1px solid var(--line);color:var(--ink);cursor:pointer;letter-spacing:-.025em;text-align:center;border-radius:6px;justify-content:center;align-items:center;padding:7px;font-size:clamp(12px,2.1vw,16px);font-weight:750;transition:transform .13s;display:flex;position:relative}.word-card:disabled{cursor:default}.word-card:not(:disabled):hover{border-color:var(--accent);transform:translateY(-2px)}.word-card:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.climate-icon{object-fit:contain;display:block}.cell-mark{width:23px;height:23px;position:absolute;top:4px;left:5px}.word-card.is-frost{background:var(--frost);border-color:var(--frost);color:var(--bg);animation:.24s ease-out settle}.word-card.is-ember{background:var(--ember);border-color:var(--ember);color:var(--bg);animation:.24s ease-out settle}.word-card.is-temperate{background:var(--temperate);border-color:var(--temperate);color:var(--bg);animation:.24s ease-out settle}.word-card.is-cataclysm{background:var(--cataclysm);border-color:var(--cataclysm);color:var(--ink);animation:.42s ease-out fracture}.word-card.is-newly-revealed{z-index:1;animation:.56s ease-out card-discover}.word-card.is-cataclysm.is-newly-revealed{animation:.72s ease-out trap-card-impact}.word-card.map-frost{background:var(--frost);border-color:var(--frost);color:var(--bg)}.word-card.map-ember{background:var(--ember);border-color:var(--ember);color:var(--bg)}.word-card.map-temperate{background:var(--temperate);border-color:var(--temperate);color:var(--bg)}.word-card.map-cataclysm{background:var(--cataclysm);border-color:var(--cataclysm);color:var(--ink)}.word-card.map-frost.is-unrevealed{background:repeating-linear-gradient(135deg, #0c122057 0 5px, transparent 5px 10px), var(--frost)}.word-card.map-ember.is-unrevealed{background:repeating-linear-gradient(135deg, #0c122057 0 5px, transparent 5px 10px), var(--ember)}.word-card.map-temperate.is-unrevealed{background:repeating-linear-gradient(135deg, #0c122057 0 5px, transparent 5px 10px), var(--temperate)}.word-card.map-cataclysm.is-unrevealed{background:repeating-linear-gradient(135deg, #f2f0e838 0 5px, transparent 5px 10px), var(--cataclysm)}.climate-legend{flex-wrap:wrap;gap:16px;padding:10px 2px 0;display:flex}.climate-legend span{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:inline-flex}.climate-legend .climate-icon{width:26px;height:26px}.action-panel{margin-top:18px}.game-frost .action-panel{border-top:3px solid var(--frost)}.game-ember .action-panel{border-top:3px solid var(--ember)}.hint-form{grid-template-columns:minmax(180px,1fr) minmax(300px,auto) auto;align-items:end;gap:12px;display:grid}.hint-number-picker{border:0;min-width:0;margin:0;padding:0}.hint-number-picker legend{color:var(--muted);margin-bottom:7px;padding:0;font-size:12px;font-weight:700}.number-options{grid-template-columns:repeat(8,1fr);gap:4px;display:grid}.number-option{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;padding:2px}.number-option .hint-number-image{width:100%;height:auto}.number-option:hover{border-color:var(--ink)}.number-option[aria-pressed=true]{background:var(--ink);border-color:var(--ink);transform:translateY(-2px)}.number-option:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hint-submit-frost{background:var(--frost);border-color:var(--frost)}.hint-submit-ember{background:var(--ember);border-color:var(--ember)}.game-frost .hint-form .field input{border-color:var(--frost)}.game-ember .hint-form .field input{border-color:var(--ember)}.game-frost .hint-form input:focus{border-color:var(--frost);outline-color:var(--frost)}.game-ember .hint-form input:focus{border-color:var(--ember);outline-color:var(--ember)}.error{color:var(--accent);margin:8px 0 0;line-height:1.5}.rules-list{flex-direction:column;gap:13px;margin:0;padding-left:20px;display:flex}.rules-list p{color:var(--muted);margin:5px 0 0;line-height:1.55}.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;margin-top:14px;padding:18px}.word-grid-mini{grid-template-columns:repeat(3,minmax(0,1fr))}.result-claim{background:var(--surface);border:1px solid var(--line);border-radius:12px;grid-template-columns:minmax(0,.85fr) minmax(320px,1.15fr);align-items:center;gap:24px;min-height:300px;padding:28px 30px;display:grid;position:relative;overflow:hidden}.result-frost .result-claim{border-top:5px solid var(--frost)}.result-ember .result-claim{border-top:5px solid var(--ember)}.result-copy{z-index:1;position:relative}.result-signal{background:var(--ink);color:var(--bg);letter-spacing:.08em;border-radius:999px;margin:0 0 22px;padding:7px 11px;font-size:11px;font-weight:900;display:inline-flex}.result-cataclysm .result-signal{background:var(--cataclysm);color:var(--ink);outline:1px solid var(--muted)}.result-claim .tagline{margin-bottom:0}.result-claim-art{object-fit:contain;width:100%;height:auto;max-height:250px;animation:.78s ease-out planet-claim;display:block}.result-map{margin-top:16px}.result-map .section-heading{justify-content:space-between;margin-bottom:12px}.result-cataclysm .result-map .word-grid{animation:.62s ease-out board-impact}.result-cataclysm .result-map .word-card.is-cataclysm{animation:.82s ease-out trap-card-impact}.result-ember .btn-primary{background:var(--ember);border-color:var(--ember)}.result-frost .btn-primary{background:var(--frost);border-color:var(--frost)}.rules-example-title{margin-bottom:12px}.rules-example-copy{margin-top:12px}.rules .word-card{cursor:default}.rules .word-card:hover{transform:none}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-play{max-width:1540px}.app-play .masthead{margin-bottom:22px}.app-play .game-heading h1{font-size:clamp(27px,3vw,38px)}.time-settings{background:var(--surface);border:1px solid var(--line);border-radius:10px;grid-template-columns:minmax(240px,1fr) repeat(2,minmax(150px,210px));align-items:end;gap:18px;margin-top:4px;padding:18px;display:grid}.time-settings h2{margin:0;font-size:19px}.time-settings p:not(.eyebrow){color:var(--muted);margin:7px 0 0;font-size:12px;line-height:1.5}.time-setting-field .select{width:100%}.race-hud{grid-template-columns:minmax(240px,1fr) minmax(420px,1.55fr) minmax(240px,1fr)}.race-center{padding:14px}.race-center span{margin-top:0}.race-turn-frost .race-center.phase-guessing,.race-turn-ember .race-center.phase-guessing{box-shadow:none}.phase-steps{grid-template-columns:1fr 38px 1fr;align-items:center;width:100%;display:grid}.phase-step{text-align:left;grid-template-columns:32px 1fr;align-items:center;gap:2px 8px;display:grid}.phase-step b{border:2px solid var(--line);color:var(--muted);border-radius:50%;grid-row:span 2;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:flex}.phase-step>span{font-size:10px;font-weight:800}.phase-step>strong{color:var(--ink);font-size:15px}.race-turn-frost .phase-step.is-current b{border-color:var(--frost);color:var(--frost)}.race-turn-frost .phase-step.is-current>span{color:var(--frost)}.race-turn-ember .phase-step.is-current b{border-color:var(--ember);color:var(--ember)}.race-turn-ember .phase-step.is-current>span{color:var(--ember)}.phase-step.is-complete b{background:var(--line);color:var(--ink)}.phase-connector{background:var(--line);width:100%;height:2px}.phase-current-status{border-top:1px solid var(--line);text-align:left;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;width:100%;margin-top:11px;padding-top:9px;display:grid}.phase-current-status>div:nth-child(2){flex-direction:column;gap:2px;display:flex}.turn-visual{width:82px;height:36px;margin-bottom:0}.exploration-lottie{width:110px;height:48px}.phase-timer{border:1px solid var(--line);color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:.05em;border-radius:6px;justify-content:center;min-width:64px;padding:4px 8px;font-size:12px;font-weight:900;display:inline-flex}.phase-timer.is-infinite{letter-spacing:0}.phase-timer.is-warning{border-color:var(--ember);color:var(--ember);animation:.9s steps(2,jump-none) infinite timer-warning}.game-workspace{grid-template-columns:235px minmax(560px,1fr) 310px;align-items:start;gap:14px;margin-top:18px;display:grid}.game-board-column{min-width:0}.game-board-column .hint-banner{margin-top:0}.game-side-panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden}.roster-team+.roster-team{border-top:1px solid var(--line)}.roster-team>header{background:var(--surface-raised);align-items:center;gap:7px;min-height:48px;padding:10px 12px;display:flex}.roster-team>header .climate-icon{width:25px;height:25px}.roster-team>header strong{flex:1;font-size:14px}.roster-team>header span{border:1px solid;border-radius:999px;padding:3px 6px;font-size:9px}.roster-frost>header{color:var(--frost)}.roster-ember>header{color:var(--ember)}.roster-players{padding:4px 10px 8px}.roster-player{border-bottom:1px solid var(--line);grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:54px;padding:7px 1px;display:grid}.roster-player:last-child{border-bottom:0}.roster-player.is-active{border-left:3px solid var(--frost);padding-left:6px}.roster-ember .roster-player.is-active{border-left-color:var(--ember)}.game-player-avatar{object-fit:contain;width:32px;height:32px;display:block}.avatar-ember{transform:scaleX(-1)}.roster-player-copy{min-width:0}.roster-player-copy strong,.roster-player-copy span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.roster-player-copy strong{font-size:12px}.roster-player-copy span{color:var(--muted);margin-top:3px;font-size:10px}.roster-player-state{text-align:right;max-width:72px}.roster-player-state strong,.roster-player-state span{overflow-wrap:anywhere;font-size:9px}.roster-player-state strong{color:var(--frost)}.roster-ember .roster-player-state strong{color:var(--ember)}.roster-player-state span{color:var(--muted)}.consensus-panel{padding:16px 12px 8px}.consensus-heading{border-bottom:1px solid var(--line);text-align:center;padding:2px 5px 15px}.consensus-heading h2{margin:0;font-size:17px}.consensus-heading .eyebrow{margin-bottom:8px}.consensus-count{margin-top:13px;font-size:24px;display:block}.consensus-frost .consensus-count{color:var(--frost)}.consensus-ember .consensus-count{color:var(--ember)}.consensus-heading p{color:var(--muted);margin:7px 0 0;font-size:10px;line-height:1.5}.leading-vote{border:1px solid var(--line);border-radius:5px;margin-top:9px;padding:4px 7px;display:inline-flex}.consensus-list{padding-top:6px}.consensus-player{border-bottom:1px solid var(--line);grid-template-columns:36px minmax(60px,.75fr) minmax(78px,1fr);align-items:center;gap:7px;min-height:66px;padding:7px 2px;display:grid}.consensus-player:last-child{border-bottom:0}.consensus-player>div:nth-child(2) strong,.consensus-player>div:nth-child(2) span{display:block}.consensus-player>div:nth-child(2) strong{font-size:12px}.consensus-player>div:nth-child(2) span{color:var(--muted);margin-top:3px;font-size:9px}.vote-choice{border:1px solid var(--line);text-align:center;border-radius:6px;padding:7px}.vote-choice strong,.vote-choice span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.vote-choice strong{color:var(--muted);font-size:11px}.vote-choice span{color:var(--muted);margin-top:3px;font-size:8px}.consensus-frost .consensus-player.has-voted .vote-choice{border-color:var(--frost)}.consensus-frost .consensus-player.has-voted .vote-choice strong{color:var(--frost)}.consensus-ember .consensus-player.has-voted .vote-choice{border-color:var(--ember)}.consensus-ember .consensus-player.has-voted .vote-choice strong{color:var(--ember)}.word-card.has-votes{border-color:var(--accent)}.word-card.is-my-vote{border-width:3px}.cell-vote-count{background:var(--accent);color:var(--bg);border-radius:50%;justify-content:center;align-items:center;width:21px;height:21px;font-size:10px;font-weight:900;display:flex;position:absolute;top:5px;right:5px}.vote-action-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.vote-action-row p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}@keyframes pulse-frost{0%{border-left-color:var(--ink);transform:translateY(3px)}}@keyframes pulse-ember{0%{border-left-color:var(--ink);transform:translateY(3px)}}@keyframes settle{0%{transform:scale(.96)}}@keyframes fracture{25%{transform:translate(-2px)}65%{transform:translate(2px)}}@keyframes card-discover{0%{transform:scale(.78)rotate(-2deg)}62%{transform:scale(1.06)rotate(1deg)}to{transform:scale(1)rotate(0)}}@keyframes jelly-celebrate{0%{transform:translateY(5px)scale(.88)}50%{transform:translateY(-8px)scale(1.08)rotate(-3deg)}to{transform:translateY(0)scale(1)rotate(0)}}@keyframes jelly-miss{0%,to{transform:translate(0)}30%{transform:translate(-4px)rotate(-3deg)}65%{transform:translate(3px)rotate(2deg)}}@keyframes jelly-shock{0%{transform:scale(.8)rotate(-8deg)}48%{transform:scale(1.15)rotate(7deg)}to{transform:scale(1)rotate(0)}}@keyframes treasure-pop{0%{transform:scale(.3)}60%{transform:scale(1.34)rotate(8deg)}to{transform:scale(1)rotate(0)}}@keyframes trap-card-impact{0%{transform:scale(.72)}35%{transform:scale(1.12)rotate(-3deg)}55%{transform:translate(-5px)rotate(2deg)}75%{transform:translate(4px)rotate(-1deg)}to{transform:translate(0)scale(1)}}@keyframes board-impact{0%,to{transform:translate(0)}22%{transform:translate(-5px)}44%{transform:translate(5px)}66%{transform:translate(-3px)}}@keyframes planet-claim{0%{opacity:0;transform:translateY(12px)scale(.94)}65%{opacity:1;transform:translateY(-3px)scale(1.02)}to{transform:translateY(0)scale(1)}}@keyframes timer-warning{50%{opacity:.55}}@media (width<=1280px){.race-hud{grid-template-columns:minmax(210px,1fr) minmax(380px,1.45fr) minmax(210px,1fr)}.game-workspace{grid-template-columns:220px minmax(0,1fr)}.team-roster-panel{grid-row:1/span 2}.consensus-panel{grid-column:2}}@media (width<=940px){.race-hud{grid-template-columns:1fr 1fr}.race-center{border-bottom:1px solid var(--line);border-left:0;border-right:0;grid-area:1/1/auto/-1}.game-workspace{grid-template-columns:1fr}.game-board-column{grid-row:1}.consensus-panel{grid-area:2/1}.team-roster-panel{grid-row:3}.time-settings{grid-template-columns:1fr 1fr}.time-settings>div:first-child{grid-column:1/-1}}@media (width<=720px){.app{padding:18px 14px 40px}.masthead{margin-bottom:26px}.home-hero{grid-template-columns:1fr;padding-top:0}.hero-art{grid-row:1;max-height:210px}.home-console{grid-template-columns:1fr}.home-console .section-heading{grid-row:auto}.join-panel{grid-template-columns:1fr;align-items:stretch}.join-controls{flex-direction:column;align-items:stretch}.page-heading,.game-heading{flex-direction:column;align-items:flex-start}.status-bar{justify-content:flex-start}.race-hud{grid-template-columns:1fr 1fr}.race-center{border-bottom:1px solid var(--line);border-left:0;border-right:0;grid-area:1/1/auto/-1;min-height:82px}.race-team{min-height:112px}.race-jelly-frame,.race-jelly{width:58px;height:58px}.race-jelly-frame{flex-basis:58px}.result-claim{grid-template-columns:1fr;padding:24px}.result-claim-art{grid-row:1;max-height:210px}.lobby-grid{grid-template-columns:1fr}.game-toolbar{flex-direction:column;align-items:flex-start;gap:8px}.hint-form{grid-template-columns:1fr}.hint-number-picker{grid-column:1}.hint-form .btn{grid-column:1/-1}.time-settings{grid-template-columns:1fr}.time-settings>div:first-child{grid-column:1}}@media (width<=460px){.app{padding-inline:10px}.home-title,.game-heading h1,.result-title{font-size:34px}.hero-art{max-height:170px}.primary-actions{flex-direction:column;align-items:stretch}.word-grid{gap:3px;padding:3px}.word-card{aspect-ratio:1;border-radius:4px;padding:3px;font-size:11px}.cell-mark{width:18px;height:18px;top:2px;left:2px}.hint-banner{flex-direction:column;align-items:flex-start;gap:5px}.climate-legend{gap:9px}.race-hud{grid-template-columns:1fr}.race-center{grid-column:1}.race-team{min-height:96px;padding:12px}.race-position-right{border-top:1px solid var(--line)}.race-jelly-frame,.race-jelly{width:52px;height:52px}.race-jelly-frame{flex-basis:52px}.number-options{gap:2px}.number-option{padding:1px}.result-claim{padding:18px}.result-claim-art{max-height:170px}.phase-steps{grid-template-columns:1fr 22px 1fr}.phase-step{grid-template-columns:27px 1fr;gap:2px 5px}.phase-step b{width:27px;height:27px;font-size:13px}.phase-step>strong{font-size:12px}.phase-current-status{grid-template-columns:1fr auto}.phase-current-status .turn-visual{display:none}.vote-action-row{flex-direction:column;align-items:stretch}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
