.race-shell{padding-bottom:42px}.race-topbar{grid-template-columns:1fr auto 1fr}.race-mode-chip{border:1px solid var(--line);background:var(--panel);color:var(--ink-soft);border-radius:999px;padding:9px 15px;font-size:.78rem;font-weight:750}.is-hidden{display:none!important}.setup-view{text-align:center;max-width:900px;margin:0 auto;padding:48px 0 70px}.setup-view h1{letter-spacing:-.055em;margin:0;font-size:clamp(2.4rem,7vw,5.4rem);line-height:.96}.setup-copy{max-width:680px;color:var(--ink-soft);margin:20px auto 30px;font-size:1.05rem;line-height:1.65}.setup-card{border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--panel);max-width:760px;box-shadow:var(--shadow);text-align:left;margin:0 auto;padding:24px}.setup-control-row{grid-template-columns:180px 1fr;align-items:end;gap:16px;margin-bottom:18px;display:grid}.setup-control-row label span,.player-name-grid label span{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px 3px;font-size:.72rem;font-weight:750;display:block}.setup-control-row select,.player-name-grid input{border:1px solid var(--line-strong);background:var(--panel-strong);width:100%;height:54px;color:var(--ink);border-radius:14px;padding:0 15px;font-size:1rem}.player-name-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.setup-actions{gap:10px;margin-top:18px;display:flex}.setup-actions button{flex:1}.setup-note{color:var(--ink-soft);margin:16px 2px 0;font-size:.78rem;line-height:1.5}.race-game{padding:38px 0 12px}.race-heading-row{justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:22px;display:flex}.race-heading-row h1{letter-spacing:-.05em;margin:0;font-size:clamp(2rem,5vw,4rem);line-height:.98}.race-heading-row p:not(.eyebrow){color:var(--ink-soft);margin:12px 0 0}.race-scoreboard{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:18px;display:grid}.race-player-card{border:1px solid var(--line);background:var(--panel);border-radius:17px;min-width:0;padding:15px 17px}.race-player-card.is-active{border-color:color-mix(in srgb,var(--accent) 52%,var(--line));background:color-mix(in srgb,var(--accent-soft) 46%,var(--panel))}.race-player-card.is-solved{border-color:color-mix(in srgb,var(--success) 48%,var(--line))}.race-player-card-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.race-player-card strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.race-turn-badge,.race-found-badge{background:var(--ink);color:var(--bg);letter-spacing:.08em;border-radius:999px;padding:4px 8px;font-size:.64rem;font-weight:800}.race-found-badge{background:var(--success);color:#fff}.race-player-metrics{color:var(--ink-soft);gap:18px;margin-top:10px;font-size:.76rem;display:flex}.race-player-metrics b{color:var(--ink);margin-top:2px;font-size:.94rem;display:block}.race-trend{color:var(--ink-soft);margin-top:8px;font-size:.74rem}.race-layout{grid-template-columns:minmax(0,1.85fr) minmax(300px,.72fr);align-items:start;gap:20px;display:grid}.race-play-column,.race-results-column{gap:16px;min-width:0;display:grid}.race-map-panel{overflow:hidden}.race-globe-stage{min-height:clamp(390px,56vw,610px)}.race-guess-panel{z-index:8}.race-turn-actions{align-self:end;gap:10px;display:flex}.race-turn-actions button{min-width:132px;height:54px}.race-history-card{min-height:360px}.race-rules-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);padding:20px}.race-rules-card h2{margin:0;font-size:1.25rem}.race-rules-card p:last-child{color:var(--ink-soft);margin:10px 0 0;font-size:.84rem;line-height:1.55}.race-country-chip{z-index:6;border:1px solid var(--line-strong);background:color-mix(in srgb,var(--panel-strong) 94%,transparent);text-align:center;pointer-events:none;border-radius:13px;min-width:160px;padding:9px 13px;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #10182029}.race-country-chip span,.race-country-chip strong{display:block}.race-country-chip span{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em;font-size:.62rem}.race-country-chip strong{margin-top:2px;font-size:.86rem}.pass-screen{z-index:100;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#080e13e0;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.pass-card{background:var(--panel-strong);width:min(560px,100%);max-height:calc(100vh - 40px);color:var(--ink);text-align:center;border:1px solid #ffffff29;border-radius:28px;padding:30px;overflow:auto;box-shadow:0 28px 80px #0000005c}.pass-lock{background:var(--ink);width:54px;height:54px;color:var(--bg);border-radius:17px;place-items:center;margin:0 auto 18px;font-size:1.45rem;display:grid}.pass-card h2{letter-spacing:-.045em;margin:0;font-size:clamp(2rem,8vw,3.4rem)}.pass-card>p:not(.eyebrow){color:var(--ink-soft);margin:12px auto 20px;line-height:1.55}.pass-card .primary-button{width:100%;min-height:54px;margin-top:20px}.pass-standings{grid-template-columns:repeat(2,1fr);gap:9px;display:grid}.pass-standing{border:1px solid var(--line);background:var(--panel);border-radius:13px;padding:12px}.pass-standing span{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;display:block;overflow:hidden}.pass-standing strong{margin-top:4px;font-size:.95rem;display:block}.race-result-dialog{width:min(680px,100% - 28px)}.race-result-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:18px 0;display:grid}.race-result-stat{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:14px}.race-result-stat span{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.07em;font-size:.7rem;display:block}.race-result-stat strong{margin-top:4px;display:block}.race-loading{z-index:200;background:var(--bg);color:var(--ink-soft);place-items:center;font-weight:650;display:grid;position:fixed;inset:0}@media (width<=900px){.race-layout{grid-template-columns:1fr}.race-results-column{grid-template-columns:minmax(0,1fr) minmax(250px,.7fr)}.race-history-card{min-height:260px}}@media (width<=680px){.race-shell{padding:0 14px 28px}.race-topbar{grid-template-columns:1fr auto;min-height:74px}.race-mode-chip{display:none}.setup-view{padding:34px 0 50px}.setup-card{border-radius:21px;padding:18px}.setup-control-row,.player-name-grid{grid-template-columns:1fr}.setup-actions{flex-direction:column}.race-heading-row{flex-direction:column;align-items:flex-start}.race-heading-row .secondary-button{min-height:40px}.race-layout{gap:14px}.race-results-column{grid-template-columns:1fr}.race-globe-stage{min-height:410px}.race-guess-panel{grid-template-columns:1fr}.race-turn-actions{width:100%}.race-turn-actions button{flex:1;min-width:0}.pass-card{border-radius:23px;padding:24px 18px}.pass-standings{grid-template-columns:1fr}}
