/* barlow-condensed-latin-500-normal */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/fonts/barlow-condensed-latin-500-normal.woff2) format('woff2');
}/* barlow-condensed-latin-ext-500-normal */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/fonts/barlow-condensed-latin-ext-500-normal.woff2) format('woff2');
}/* barlow-condensed-latin-600-normal */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/fonts/barlow-condensed-latin-600-normal.woff2) format('woff2');
}/* barlow-condensed-latin-ext-600-normal */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/fonts/barlow-condensed-latin-ext-600-normal.woff2) format('woff2');
}/* barlow-condensed-latin-700-normal */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/fonts/barlow-condensed-latin-700-normal.woff2) format('woff2');
}/* barlow-condensed-latin-ext-700-normal */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/fonts/barlow-condensed-latin-ext-700-normal.woff2) format('woff2');
}/* barlow-condensed-latin-800-normal */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src: url(/fonts/barlow-condensed-latin-800-normal.woff2) format('woff2');
}/* barlow-condensed-latin-ext-800-normal */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src: url(/fonts/barlow-condensed-latin-ext-800-normal.woff2) format('woff2');
}/* dm-sans-latin-400-normal */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/dm-sans-latin-400-normal.woff2) format('woff2');
}/* dm-sans-latin-ext-400-normal */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/fonts/dm-sans-latin-ext-400-normal.woff2) format('woff2');
}/* dm-sans-latin-500-normal */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/fonts/dm-sans-latin-500-normal.woff2) format('woff2');
}/* dm-sans-latin-ext-500-normal */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/fonts/dm-sans-latin-ext-500-normal.woff2) format('woff2');
}/* dm-sans-latin-600-normal */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/fonts/dm-sans-latin-600-normal.woff2) format('woff2');
}/* dm-sans-latin-ext-600-normal */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/fonts/dm-sans-latin-ext-600-normal.woff2) format('woff2');
}/* dm-sans-latin-700-normal */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/fonts/dm-sans-latin-700-normal.woff2) format('woff2');
}/* dm-sans-latin-ext-700-normal */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/fonts/dm-sans-latin-ext-700-normal.woff2) format('woff2');
}:root{color-scheme:dark;--bg:#20221f;--surface:#292c27;--line:#4a4f43;--ink:#f2f0df;--muted:#b5b9ab;--accent:#f3cd46;--green:#a5c99b;--red:#efa18b;--font:'DM Sans',Arial,sans-serif;--display:'Barlow Condensed','Arial Narrow',Arial,sans-serif;--mono:ui-monospace,'Courier New',monospace}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 var(--font)}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:4px}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{text-wrap:balance}button{text-wrap:balance}.muted,.context{color:var(--muted)}.context{font-size:14px}.app-shell{max-width:1520px;margin:auto;padding:0 48px}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:94px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:var(--display);font-size:29px;font-weight:700;letter-spacing:.04em}.brand-mark{display:flex;align-items:center;justify-content:center;width:47px;height:36px;border:2px solid var(--ink);border-radius:3px;color:var(--ink);font:800 19px/1 var(--display);letter-spacing:0}.brand-mark span{color:var(--accent)}.brand .muted{color:var(--ink);font-weight:500}.top-actions{display:flex;gap:28px;align-items:center}.top-note{color:var(--muted);font:12px var(--mono);letter-spacing:.12em}#language-select{background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:3px;padding:10px 26px 10px 12px;font-size:14px;cursor:pointer;max-width:154px}
main{min-height:calc(100svh - 170px);padding:36px 0 48px}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.text-button{border:0;background:none;color:var(--muted);padding:10px 0;min-height:42px;font-size:14px}.text-button:hover{color:var(--ink)}.eyebrow{color:var(--accent);font:12px/1.6 var(--mono);letter-spacing:.09em;text-transform:uppercase}h1{font:700 clamp(40px,5vw,70px)/1.04 var(--display);letter-spacing:.01em;margin:12px 0 18px}h2{font-size:23px;line-height:1.25}h3{font-size:18px}.home-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:34px}.home-heading .roadtrip-title{font-size:clamp(56px,6.4vw,98px);line-height:.94;text-transform:uppercase;letter-spacing:.005em;margin:14px 0 0}.roadtrip-title span{color:var(--accent)}.atlas-link{margin-bottom:4px;white-space:normal}.section-label{display:block;font-size:14px;font-weight:700;margin:0 0 12px}.home-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:32px;align-items:start}.route-rail{padding-top:3px}.route-rail>.section-label{font:600 17px var(--display);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:17px}.mode-cards{display:flex;flex-direction:column;gap:0}.mode-card{position:relative;display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:start;background:transparent;border:0;border-top:1px solid var(--line);color:var(--ink);padding:20px 0;text-align:left;min-width:0}.mode-card:last-child{border-bottom:1px solid var(--line)}.route-number{display:grid;place-items:center;height:30px;border:1px solid var(--line);border-radius:3px;font:600 18px var(--display);color:var(--muted)}.mode-card strong{display:block;font:600 23px/1.05 var(--display);padding-right:17px}.mode-card small{display:block;font-size:12px;line-height:1.55;color:var(--muted);margin-top:8px}.route-arrow{position:absolute;right:0;top:17px;font-size:23px;color:var(--muted)}.mode-card.selected .route-number{color:var(--bg);background:var(--accent);border-color:var(--accent)}.mode-card.selected strong,.mode-card.selected .route-arrow{color:var(--accent)}.mode-card:hover .route-copy{color:var(--accent)}
.setup-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.95fr);gap:30px;align-items:start}.setup-grid>*{min-width:0}.preview-wrap{grid-column:1;grid-row:1}.setup-panel{grid-column:2;grid-row:1;--bg:#efeddc;--surface:#e6e4d1;--ink:#252b22;--muted:#59624f;--line:#c0c5af;--accent:#344532;--green:#344532;--red:#aa3523;background:var(--bg);color:var(--ink);padding:26px;border-radius:3px;color-scheme:light;border-top:5px solid #f3cd46}.settings-field{padding:0;border:0;margin:0 0 24px;min-width:0}.settings-field .section-label{display:flex;align-items:center;gap:10px;font-size:14px}.step-number{font:12px var(--mono);color:var(--muted);font-weight:400}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.difficulty-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.choice{position:relative;display:block;border:1px solid var(--line);background:transparent;border-radius:2px;text-align:center;cursor:pointer;padding:12px 7px;min-width:0}.choice:hover{background:var(--surface)}.choice input{position:absolute;opacity:0;width:1px;height:1px}.choice:has(input:checked){background:var(--accent);border-color:var(--accent);color:#f2f0df}.choice:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:3px}.choice:has(input:disabled){cursor:default;opacity:.45}.choice-name{display:block;font-size:13px;font-weight:600;overflow-wrap:anywhere;hyphens:auto}.choice-dots{display:flex;gap:3px;justify-content:center;margin-top:9px}.choice-dots i{width:8px;height:3px;background:#c0c5af}.choice-dots i.on{background:#6b775e}.choice:has(input:checked) .choice-dots i.on{background:#f3cd46}.difficulty-description{font-size:12px;color:var(--muted);margin:10px 0 0;line-height:1.6}.region-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.region-choice{padding:10px 12px;text-align:left}.region-choice.world{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:8px}.region-choice small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.region-choice.world small{margin:0}.region-choice:has(input:checked) small{color:#ccd5c4}
.primary{display:flex;align-items:center;justify-content:center;gap:20px;width:100%;min-height:55px;padding:14px 22px;background:#f3cd46;border:1px solid #f3cd46;border-radius:3px;color:#20221f;font-weight:700;transition:background .15s}.primary:hover{background:#ffdf73;border-color:#ffdf73}.primary:active{transform:translateY(1px)}.primary>span[aria-hidden]{margin-left:auto;font-size:23px;line-height:1}.secondary{background:transparent;border:1px solid var(--line);border-radius:3px;color:var(--ink);padding:11px 18px;min-height:44px;font-weight:600;font-size:14px}.secondary:hover{background:var(--surface);border-color:var(--muted)}.start-row{display:flex;flex-direction:column;gap:10px;margin-top:20px}.round-count{font-size:12px;line-height:1.5;color:var(--muted)}.practice-note{padding:14px 0;border-top:1px solid var(--line);margin-top:10px;font-size:14px}.practice-note p{font-size:13px;color:var(--muted);margin:8px 0 0}
.stage{display:flex;flex-direction:column;min-height:320px;border:1px solid var(--line);border-radius:3px;overflow:hidden;background:#282d25}.stage-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:18px 20px;color:var(--muted);font:11px/1.5 var(--mono);letter-spacing:.07em;text-transform:uppercase}.stage-label{color:var(--ink)}.stage-label:before{content:'↗';margin-right:9px;color:var(--accent);font-size:15px}.plate-zone{display:flex;align-items:center;justify-content:center;flex:1;min-height:220px;padding:38px 28px;background:#282d25}.stage-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:15px 20px;font-size:12px;color:var(--muted)}.difficulty-tag{font:700 17px var(--display);text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}.sample-note{color:var(--muted);font-size:12px;margin:16px 0 0}
/* Plate geometry and clue visibility are independent of the surrounding design. */
.plate-box{position:relative;width:100%;max-width:660px;line-height:0;filter:drop-shadow(0 8px 8px #0004)}.plate-box img{display:block;width:100%;height:auto;border-radius:2px}.plate-inner{position:relative;margin:auto;max-width:min(100%,calc(275px * var(--aspect,3)));width:var(--plate-width,100%)}.mask{position:absolute;background:#8c9198;border:1px solid #888;z-index:2;border-radius:1px}.mask:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 3px,#7775 3px 6px)}.plate-box.medium .plate-inner{filter:blur(4.5px)}.plate-box.hard .plate-inner{filter:blur(11px)}.plate-box.medium.hinted .plate-inner{filter:blur(2px)}.plate-box.hard.hinted .plate-inner{filter:blur(6px)}.plate-box.easy.hinted .plate-inner{filter:none}.plate-box.insane{width:min(100%,340px);display:flex;align-items:center;justify-content:center;gap:26px;overflow:visible;filter:none}.plate-box.insane.hinted{gap:15px}.plate-fragment{position:relative;overflow:hidden;flex:0 0 auto;background:var(--bg);border-radius:2px}.plate-fragment.glyph{width:65px}.plate-fragment.detail{width:80px}.fragment-canvas{position:absolute;line-height:0}.fragment-canvas img{width:100%;display:block}.plate-fragment.glyph .fragment-canvas{filter:blur(.6px)}.plate-fragment.detail .fragment-canvas{filter:blur(5px)}
.rules-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}.rules-card>div{display:flex;flex-direction:column;gap:6px}.rules-card .rule-value{font:600 38px/1 var(--display);color:var(--accent)}.rules-card strong{font-size:12px;font-weight:500;color:var(--muted)}.rules-card p{grid-column:1/-1;font-size:12px;line-height:1.7;color:var(--muted);margin:8px 0 0}.personal-stats{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-top:24px;padding-top:16px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.personal-stats strong{color:var(--ink);margin-left:6px;font:600 22px var(--display)}
.game-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;margin-bottom:24px}.game-title{min-width:0}.game-title h1{font-size:46px;margin:6px 0 8px;text-transform:uppercase}.game-title .context{font-size:13px}.scoreboard{display:flex;align-items:center;gap:30px;flex-shrink:0}.scoreboard strong{font:600 37px/1 var(--display)}.scoreboard small{display:block;font-size:12px;color:var(--muted);margin-top:5px}.scoreboard .score strong{color:var(--accent)}.progress{height:5px;overflow:hidden;background:#42483b;margin-bottom:20px}.progress span{display:block;height:100%;background:var(--accent);transition:width .2s}.bonus-strip{display:flex;flex-wrap:wrap;gap:22px;margin-bottom:26px;font-size:12px;color:var(--muted)}.bonus-strip strong{font:600 19px var(--display);color:var(--accent);margin-left:4px}.game-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(300px,1fr);gap:32px;align-items:start}.game-grid .stage{min-height:360px}.answer-card{padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:3px;min-width:0}.answer-card.correct{border-top:4px solid var(--green)}.answer-card.wrong{border-top:4px solid var(--red)}.answer-card h2{font:600 31px/1.1 var(--display);margin-bottom:10px}.answer-card .instruction{font-size:14px;color:var(--muted);margin-bottom:23px}.country-field{position:relative}.country-field label{display:block;font-size:13px;margin-bottom:8px}.country-input{background:var(--bg);border:1px solid #777f6c;border-radius:3px;color:var(--ink);padding:13px 14px;width:100%;min-width:0;font-size:16px}.country-input::placeholder{color:var(--muted)}.suggestions{list-style:none;padding:4px;margin:8px 0 0;background:var(--bg);border:1px solid var(--line);border-radius:3px;max-height:230px;overflow:auto}.suggestions:empty{display:none}.suggestions button{display:block;width:100%;text-align:left;background:transparent;border:0;color:var(--ink);padding:10px;font-size:14px}.suggestions button:hover,.suggestions button.active{background:#414938}.country-hint{font-size:12px;color:var(--muted);margin:12px 0 20px}.validation{color:var(--red);font-size:14px;margin:12px 0}.answer-actions{display:grid;gap:6px}.answer-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px}.answer-options .secondary{text-align:left;overflow-wrap:anywhere}.hint-controls{display:grid;gap:10px;border-top:1px solid var(--line);padding-top:20px;margin-top:18px}.hint-button{font-size:13px}.hint-controls small{font-size:12px;color:var(--muted)}.result-header{font:12px var(--mono);letter-spacing:.08em;margin-bottom:12px;text-transform:uppercase}.correct .result-header{color:var(--green)}.wrong .result-header{color:var(--red)}.answer-card .answer-country{font-size:42px;line-height:1.1;margin-bottom:14px}.earned{display:inline-block;font:600 25px var(--display);color:var(--green);margin-bottom:20px}.point-breakdown{display:grid;gap:7px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin-bottom:20px}.point-breakdown>span{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:var(--muted)}.point-breakdown b{color:var(--ink)}.clue{color:var(--muted);font-size:14px;line-height:1.65;margin-bottom:24px}.source-line{padding:16px 0;color:var(--muted);font-size:12px;line-height:1.7}.source-line a:hover{color:var(--ink)}.below-stage{padding:18px 0;color:var(--muted);font-size:13px}.keyboard-hint{font-size:12px;color:var(--muted);text-align:center;margin:18px 0 0}kbd{font:inherit;border:1px solid var(--line);border-radius:2px;padding:1px 5px}
.map-card{margin-top:18px;padding:20px;border:1px solid var(--line);border-radius:3px;background:var(--surface);overflow:hidden}.map-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;font-size:14px}.map-heading>div{display:flex;gap:16px;align-items:center}.map-heading button{font-size:13px}#region-map{display:block;width:100%;max-height:420px;margin-top:12px;touch-action:manipulation}#region-map path{fill:#78846d;stroke:#292c27;stroke-width:1.2;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .12s}#region-map path:hover,#region-map path:focus{fill:#c4d1b9;outline:none;stroke:#f2f0df;stroke-width:2}#region-map path.map-selected{fill:var(--accent);stroke:#fff3bf;stroke-width:2}#region-map path.map-correct{fill:var(--green);stroke:#dfecd8;stroke-width:2;cursor:default}#region-map path.map-wrong{fill:var(--red);stroke:#fae1d8;stroke-width:2;cursor:default}#map-selection{font-size:13px;margin:14px 0;color:var(--ink)}.map-credit{display:block;font-size:11px;color:var(--muted)}
.duel-top{display:flex;justify-content:space-between;align-items:start;gap:24px;margin-bottom:24px}.duel-top h1{font-size:48px;margin:12px 0;text-transform:uppercase}.duel-top .text-button{white-space:nowrap}.duel-lobby{max-width:820px;margin:32px auto}.duel-scores{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.duel-score{display:flex;flex-direction:column;gap:5px;min-width:0;border:1px solid var(--line);border-left:4px solid var(--line);border-radius:3px;background:var(--surface);padding:18px 24px}.duel-score.self{border-left-color:var(--accent)}.duel-score>span{font-size:15px;font-weight:600;overflow-wrap:anywhere}.duel-score strong{font:600 42px/1.15 var(--display);color:var(--accent)}.duel-score small{font-size:12px;color:var(--muted)}.duel-round-bar{display:flex;justify-content:space-between;gap:15px;margin:20px 0;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:13px var(--mono);color:var(--muted)}.duel-round-bar strong{color:var(--accent)}.invite-help{margin-top:18px}#join-duel{margin-top:20px}.duel-round-results{margin-top:24px;border-top:1px solid var(--line)}.duel-round-results>div{display:grid;grid-template-columns:1fr auto;gap:5px;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}.duel-round-results span{grid-row:2;color:var(--muted)}.duel-round-results b{grid-column:2;grid-row:1/3}.correct-text{color:var(--green)}.duel-history{display:grid;gap:8px;margin:24px 0}.duel-history-row{border:1px solid var(--line);background:var(--surface);border-radius:3px;padding:16px}.duel-history-row>div{display:grid;grid-template-columns:1fr 1fr;gap:16px;font-size:13px;margin-top:10px}.duel-history-row b{white-space:nowrap}.connection-note{border:1px solid var(--accent);padding:14px 18px;border-radius:3px;color:var(--accent);font-size:14px;margin-bottom:20px}
.finish{max-width:850px;margin:0 auto}.finish-head{padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:28px}.finish-head h1{font-size:60px;text-transform:uppercase}.finish-score{font:700 100px/1 var(--display);color:var(--accent);margin:18px 0 12px;letter-spacing:-.02em}.finish-head p{color:var(--muted)}.finish-badges{display:flex;flex-wrap:wrap;gap:24px;color:var(--muted);font-size:13px}.results{display:grid;gap:0;margin:28px 0}.result-row{display:grid;grid-template-columns:28px 1fr 1fr 80px;gap:12px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line);font-size:14px}.result-row .result-guess{color:var(--muted)}.result-row strong{color:var(--accent);text-align:right;font:600 24px var(--display)}.row-icon{color:var(--green);font-size:20px}.row-icon.miss{color:var(--red)}.finish-actions{display:flex;gap:16px;margin:30px 0;max-width:600px}.finish-actions>*{flex:1}
.daily-intro-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px}.daily-welcome{position:relative;padding:30px 36px;background:var(--surface);border:1px solid var(--line);border-top:5px solid var(--accent);border-radius:3px}.daily-route-number{font:700 70px/1 var(--display);color:var(--accent);margin-bottom:24px}.daily-welcome h1{font-size:58px;text-transform:uppercase}.daily-welcome p{color:var(--muted)}.daily-welcome .primary{margin-top:28px}.daily-welcome .text-button{display:block;margin:12px 0 0}.leaderboard{padding:26px 0;border-top:1px solid var(--line)}.leaderboard h2{font:600 32px var(--display);text-transform:uppercase;margin-bottom:18px}.leaderboard ol{list-style:none;padding:0;margin:0}.leaderboard li{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}.leaderboard li>span:nth-child(2){overflow-wrap:anywhere}.rank{font:600 23px var(--display);color:var(--muted)}.leaderboard li:first-child .rank{color:var(--accent)}.leaderboard li strong{color:var(--accent);font:600 25px var(--display)}.daily-clock{display:inline-block;padding:8px 14px;border:1px solid var(--line);font:14px var(--mono);color:var(--accent);border-radius:3px;margin-bottom:18px}.daily-clock.urgent{color:var(--red);border-color:var(--red)}.leaderboard-name{padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:3px;margin:22px 0}.leaderboard-name>label{display:block;font-size:13px;margin-bottom:8px}.leaderboard-name>div{display:flex;gap:12px}.leaderboard-name .secondary{flex-shrink:0}.leaderboard-name p{font-size:13px;margin:10px 0 0}.finish .leaderboard{margin:26px 0}
.catalog-controls{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;margin-bottom:28px}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.catalog-plate{border-bottom:1px solid var(--line);padding-bottom:20px;min-width:0}.catalog-plate>a{display:flex;align-items:center;justify-content:center;height:180px;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:3px;margin-bottom:16px}.catalog-plate img{width:100%;height:100%;object-fit:contain}.catalog-plate h2{font:600 29px var(--display);margin-bottom:4px}.catalog-plate>strong{font-size:13px}.catalog-plate p{font-size:13px;color:var(--muted);margin:8px 0 12px}.catalog-plate small{display:block;font-size:11px;color:var(--muted);overflow-wrap:anywhere}
.loading{padding:80px 0;text-align:center;color:var(--muted)}.error-box{max-width:660px;margin:20px auto;padding:36px;border:1px solid var(--line);border-radius:3px;background:var(--surface)}.error-box p{color:var(--muted)}.asset-error{padding:20px;text-align:center;color:var(--muted);font-size:14px;line-height:1.7}.asset-error .secondary{margin-top:14px}.stage.asset-failed .stage-foot{display:none}dialog{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:3px;width:min(740px,calc(100% - 32px));padding:28px;max-height:85svh}dialog::backdrop{background:#10120fe0}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.dialog-head h2{font:600 32px var(--display)}.close{padding:0 8px;background:none;border:0;color:var(--muted);font-size:30px;min-height:44px}.credit-row{padding:12px 0;border-top:1px solid var(--line);font-size:12px;overflow-wrap:anywhere}.credit-row a{color:var(--accent)}dialog p{font-size:14px;color:var(--muted)}
@media(min-width:1500px){.setup-grid{gap:40px}.stage{min-height:355px}.plate-zone{min-height:255px}.home-layout{gap:42px;grid-template-columns:210px minmax(0,1fr)}}
@media(max-width:1200px){.app-shell{padding-inline:32px}.home-layout{grid-template-columns:1fr;gap:24px}.route-rail{padding:0}.route-rail>.section-label{margin-bottom:10px}.mode-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.mode-card{border-bottom:1px solid var(--line);padding:16px 0}.mode-card strong{font-size:22px}.route-arrow{top:13px}.mode-card small{font-size:11px}.setup-grid{grid-template-columns:minmax(0,1.3fr) minmax(330px,1fr);gap:28px}.home-heading .roadtrip-title{font-size:76px}.top-note{display:none}}
@media(max-width:900px){.app-shell{padding-inline:24px}.setup-grid{gap:22px;grid-template-columns:minmax(0,1fr) minmax(300px,1fr)}.setup-panel{padding:22px}.mode-cards{gap:14px}.mode-card{gap:8px;grid-template-columns:27px 1fr}.route-number{height:27px;font-size:16px}.mode-card strong{font-size:21px}.mode-card small{font-size:11px}.game-grid{grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr);gap:24px}.answer-card{padding:22px}.game-title h1{font-size:38px}.scoreboard{gap:24px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-intro-grid{gap:28px}.daily-welcome{padding:28px}.daily-welcome h1{font-size:48px}.home-heading .eyebrow{max-width:420px}}
@media(max-width:700px){.app-shell{padding-inline:18px}.topbar{min-height:78px;gap:12px}.brand{font-size:23px;gap:9px}.brand-mark{width:36px;height:30px;font-size:16px}.top-actions{gap:8px}#language-select{max-width:127px;font-size:13px;padding:9px 20px 9px 9px}main{padding:28px 0 36px}.home-heading{gap:20px;align-items:end;margin-bottom:28px}.home-heading .roadtrip-title{font-size:clamp(45px,9vw,65px)}.home-heading .eyebrow{font-size:10px;letter-spacing:.03em;max-width:270px}.atlas-link{font-size:12px;padding:9px 10px;max-width:112px;flex-shrink:0}.home-layout{gap:24px}.route-rail>.section-label{font-size:15px}.mode-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.mode-card{border-bottom:0;padding:13px 0;grid-template-columns:26px 1fr}.mode-card:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.mode-card strong{font-size:22px}.mode-card small{font-size:11px;line-height:1.4;margin-top:5px}.route-arrow{font-size:19px;top:11px}.setup-grid{display:flex;flex-direction:column;gap:24px}.setup-grid>*{width:100%}.preview-wrap{order:-1}.setup-panel{padding:24px}.preview-wrap .stage{min-height:205px}.preview-wrap .plate-zone{min-height:125px;padding:26px 20px}.stage-head{padding:13px 16px;font-size:10px;letter-spacing:.03em}.stage-foot{padding:12px 16px;font-size:11px}.preview-wrap .rules-card{margin-top:18px;padding-top:16px;gap:12px}.rules-card .rule-value{font-size:30px}.rules-card strong{font-size:11px}.rules-card p,.sample-note{display:none}.personal-stats{margin-top:16px;padding-top:12px}.settings-field{margin-bottom:24px}.difficulty-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.choice-name{font-size:14px}.difficulty-grid .choice-name{font-size:13px}.choice{padding:13px 7px}.difficulty-description{font-size:13px}.region-choice{padding:11px 13px}.region-choice small{font-size:12px}.start-row .round-count{font-size:13px}.game-top{gap:18px;margin-bottom:22px}.game-title h1{font-size:36px}.game-top>.text-button{flex-basis:100%;text-align:right;padding-top:0;min-height:30px}.scoreboard strong{font-size:30px}.scoreboard{gap:20px}.bonus-strip{gap:10px 20px;margin-bottom:20px}.game-grid{display:flex;flex-direction:column;gap:18px}.game-grid>*{width:100%}.game-grid .stage{min-height:245px}.game-grid .plate-zone{min-height:160px;padding:28px 20px}.answer-card{padding:24px}.answer-card h2{font-size:30px}.plate-fragment.glyph{width:53px}.plate-fragment.detail{width:66px}.keyboard-hint{display:none}.map-card{padding:16px}.map-heading>div{gap:12px}.duel-top h1{font-size:36px}.duel-top{gap:12px}.duel-scores{gap:12px}.duel-score{padding:14px}.duel-score>span{font-size:14px}.duel-score strong{font-size:34px}.duel-score small{font-size:11px}.duel-history-row>div{gap:12px}.duel-round-bar{font-size:12px}.daily-intro-grid{grid-template-columns:1fr;gap:26px}.daily-welcome{padding:26px}.daily-welcome h1{font-size:48px}.daily-route-number{font-size:54px;margin-bottom:18px}.leaderboard-name>div{flex-direction:column}.finish-head h1{font-size:46px}.finish-score{font-size:82px}.finish-actions{flex-direction:column;gap:12px}.result-row{grid-template-columns:22px minmax(0,1fr) 62px;gap:8px;padding:14px 0;font-size:13px}.result-row .result-guess{grid-column:2;grid-row:2;font-size:12px}.result-row strong{grid-column:3;grid-row:1/3;font-size:23px}.catalog-controls{grid-template-columns:1fr;gap:10px}.catalog-grid{gap:22px 16px}.catalog-plate>a{height:120px;padding:12px}.catalog-plate h2{font-size:24px}footer{font-size:12px;gap:16px}.error-box{padding:26px}}
@media(max-width:390px){.app-shell{padding-inline:12px}.brand{font-size:21px}.brand-mark{display:none}.home-heading{align-items:start;gap:14px;flex-direction:column}.home-heading .roadtrip-title{font-size:52px}.atlas-link{max-width:none;min-height:40px;padding:8px 12px}.home-heading .eyebrow{max-width:none}.mode-cards{gap:0 14px}.mode-card strong{font-size:20px}.setup-panel{padding:20px}.difficulty-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-name,.difficulty-grid .choice-name{font-size:14px}.scoreboard{width:100%;justify-content:space-between}.catalog-grid{grid-template-columns:1fr}.catalog-plate>a{height:180px}.duel-top{flex-wrap:wrap}.duel-history-row>div{grid-template-columns:1fr}.map-heading>div{gap:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Crops are applied before relative masks and difficulty fragments. */
.source-crop{position:relative;width:100%;overflow:hidden;line-height:0}.source-canvas{position:absolute;line-height:0}.source-canvas img{width:100%;height:auto}.catalog-plate>a>.source-crop{max-height:100%}

.catalog-plate .catalog-count{color:var(--accent);font-size:13px;font-weight:600;margin-bottom:12px}

/* Public beta brand follows the established roadtrip typography. */
.brand-copy{display:flex;flex-direction:column;gap:5px;line-height:1}.beta-badge{align-self:flex-start;color:var(--accent);font:500 12px/1.25 var(--mono);letter-spacing:.02em;text-transform:none}.brand{font-size:27px}
@media(max-width:700px){.brand{font-size:22px}.beta-badge{font-size:12px}}
@media(max-width:390px){.brand{font-size:21px}}

.account-button{font-size:14px;padding:9px 12px;white-space:nowrap}.account-button[hidden]{display:none}#account-dialog{max-width:480px;width:calc(100% - 32px)}#account-dialog>p{font-size:16px;line-height:1.5;margin:18px 0}#account-dialog .account-note{font-size:14px;color:var(--muted)}.account-details{display:grid;gap:8px;overflow-wrap:anywhere}.account-details strong{font-size:20px}.account-details span{font-size:14px;color:var(--muted)}#google-signin-button{min-height:44px;margin:24px 0}#account-message:empty{display:none}#account-message{color:var(--accent)}
@media(max-width:900px){.top-actions{gap:12px}.top-note{display:none}}
@media(max-width:700px){.topbar{flex-wrap:wrap;padding-block:16px}.top-actions{margin-left:auto}.account-button{font-size:14px}#language-select{font-size:14px}.brand{font-size:22px}}

.profile-button{font-size:14px;padding:9px 12px;white-space:nowrap}.profile-head-actions{display:flex;gap:12px;flex-wrap:wrap}.profile-heading h1{font-size:clamp(36px,4.5vw,62px);overflow-wrap:anywhere}.profile-filter{display:flex;align-items:center;gap:16px;font-size:14px;margin-bottom:24px}.profile-filter select{width:240px}.profile-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:3px;background:var(--surface);margin-bottom:16px}.profile-metric{padding:22px;border-bottom:1px solid var(--line)}.profile-metric:nth-child(-n+3){border-bottom:1px solid var(--line)}.profile-metric:nth-child(n+4){border-bottom:0}.profile-metric span{display:block;color:var(--muted);font-size:14px;margin-bottom:10px}.profile-metric strong{font:600 48px/1 var(--display);color:var(--accent);overflow-wrap:anywhere}.profile-note{font-size:14px;line-height:1.6;color:var(--muted);margin-bottom:32px}.profile-duel-stats{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:32px;font-size:14px}.profile-duel-stats strong{color:var(--accent);margin-left:8px}.profile-sections{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:36px}.profile-sections h2{font:600 32px/1.2 var(--display);margin:0 0 14px}.profile-history{margin-top:24px}.profile-history-item{border-top:1px solid var(--line)}.profile-history-item:last-child{border-bottom:1px solid var(--line)}.profile-history-item summary{display:grid;grid-template-columns:minmax(0,1fr) 75px 82px;gap:16px;cursor:pointer;padding:20px 0;list-style:none}.profile-history-item summary::-webkit-details-marker{display:none}.history-route,.history-performance,.history-score{display:grid;gap:5px;align-content:start}.history-route strong{font:600 24px var(--display)}.history-route span{font-size:14px}.history-route small{font-size:12px;color:var(--muted)}.history-performance strong,.history-score strong{font:600 27px var(--display);color:var(--accent)}.history-performance span,.history-score span{font-size:12px;color:var(--muted)}.history-score{text-align:right}.profile-history-details{padding:0 0 18px}.profile-history-details .results{margin:12px 0}.profile-history-details .result-row{grid-template-columns:22px minmax(0,1fr) minmax(0,1fr) 55px;font-size:14px;gap:10px}.profile-history-details .context{font-size:14px}.profile-empty{padding:24px;border:1px solid var(--line);font-size:16px}.profile-empty p{margin-bottom:20px}.table-scroll{overflow-x:auto}.profile-country-table{width:100%;border-collapse:collapse;font-size:14px}.profile-country-table th,.profile-country-table td{padding:14px 10px;border-bottom:1px solid var(--line);text-align:left}.profile-country-table thead th{color:var(--muted);font-weight:500}.profile-country-table tbody th{font-weight:500}.profile-country-table td:last-child{min-width:95px}.accuracy-track{height:4px;background:var(--line);margin-top:9px}.accuracy-track span{display:block;height:100%;background:var(--accent)}
@media(max-width:1000px){.profile-sections{grid-template-columns:1fr}.profile-metric strong{font-size:40px}.profile-heading{align-items:start}}
@media(max-width:700px){.profile-heading{flex-direction:column;gap:20px}.profile-head-actions{width:100%}.profile-head-actions button{flex:1}.profile-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-metric{padding:18px}.profile-metric:nth-child(n){border-bottom:1px solid var(--line)}.profile-metric:nth-last-child(-n+2){border-bottom:0}.profile-metric strong{font-size:36px}.profile-filter{align-items:start;flex-direction:column;gap:8px}.profile-filter select{width:100%}.profile-history-item summary{gap:10px;grid-template-columns:minmax(0,1fr) 62px 68px}.history-route span{font-size:14px}.history-route strong{font-size:23px}.history-performance strong,.history-score strong{font-size:24px}.profile-history-details .result-row{grid-template-columns:22px minmax(0,1fr) 55px}.profile-history-details .result-guess{grid-column:2;grid-row:2}.profile-history-details .result-row strong{grid-column:3;grid-row:1/3}.top-actions{flex-wrap:wrap;justify-content:flex-end}}

#legal-links{display:flex;flex-wrap:wrap;gap:14px}#legal-links a{font-size:14px}footer{flex-wrap:wrap;gap:16px}.privacy-controls{margin-top:40px;border-top:1px solid var(--line);padding-top:24px}.privacy-controls>div{display:flex;flex-wrap:wrap;gap:12px}.danger{color:var(--red)}.legal-shell{max-width:900px;margin:auto;padding:28px 24px}.legal-shell header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-bottom:24px;border-bottom:1px solid var(--line)}.legal-nav{display:flex;flex-wrap:wrap;gap:16px;padding:22px 0}.legal-shell main{padding:20px 0}.legal-shell main h1{font:700 clamp(2rem,6vw,3rem)/1.1 var(--display)}.legal-shell main section{margin:30px 0}.legal-shell main h2{font-size:1.3rem}.legal-shell main p{line-height:1.75;overflow-wrap:anywhere}.legal-shell a[aria-current]{color:var(--accent)}.legal-credits section{border-top:1px solid var(--line);padding-top:16px}.legal-shell footer{display:flex;gap:18px}
