.rr-page{--rr-ink:#173e48;--rr-red:#aa3e37;--rr-gold:#b77e2a;--rr-line:#d8c6a0;max-width:1540px;margin:0 auto;padding:30px 26px 65px;color:#fcf3dc;font-family:Georgia,'Times New Roman',serif}
.rr-page *{box-sizing:border-box}.rr-page [hidden]{display:none!important}.rr-page h1,.rr-page h2,.rr-page p{margin:0}.rr-page h1{font-size:clamp(3.1rem,6vw,5.8rem);line-height:1.05;letter-spacing:-.05em;color:#fff0c8}.rr-page h1 span{font-weight:400;font-style:italic;color:#dfa861}.rr-page h2{font-size:1.5rem;line-height:1.18;letter-spacing:-.025em;color:var(--rr-ink)}
.rr-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px}.rr-back{color:#f7deb0;font:600 .85rem/1.5 system-ui,sans-serif;text-decoration:none;display:inline-block;padding:8px 0}.rr-page .rr-eyebrow{font:700 .68rem/1.6 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.15em;color:var(--rr-red);margin-bottom:5px}.rr-header .rr-eyebrow{color:#dfb779;margin-top:9px}.rr-subtitle{color:#e4d5b8;font-size:1.05rem;margin-top:9px!important}.rr-seal{display:grid;place-content:center;flex-shrink:0;text-align:center;width:95px;height:95px;border:2px solid #d5ab66;border-radius:50%;outline:1px solid #907e5c;outline-offset:5px;color:#eac686;font-size:2.4rem;line-height:.8;transform:rotate(9deg)}.rr-seal small{font:700 .55rem/2 system-ui,sans-serif;letter-spacing:.2em}
.rr-paper{background:#fff5dc;color:var(--rr-ink);border:1px solid #d1b985;border-radius:14px;box-shadow:0 10px 24px #0002}.rr-page button,.rr-page select,.rr-page input{font:600 .9rem/1.3 system-ui,sans-serif;color:var(--rr-ink);min-height:44px;max-width:100%;border:1px solid #baa67d;border-radius:7px;background:#fffaf0;padding:10px 14px}.rr-page button{cursor:pointer;white-space:normal}.rr-page button:hover{background:#f5dfac}.rr-page button:disabled{cursor:default;opacity:.5}.rr-page button:focus-visible,.rr-page input:focus-visible,.rr-page select:focus-visible,.rr-page a:focus-visible,.rr-page summary:focus-visible{outline:3px solid #bf0d3e;outline-offset:3px}.rr-page .rr-primary{background:var(--rr-ink);color:#fff6dd;border-color:var(--rr-ink)}.rr-page .rr-primary:hover{background:#245b63}.rr-page label{display:grid;gap:6px;font:600 .8rem/1.4 system-ui,sans-serif}.rr-page select{width:100%}.rr-setup{padding:28px;display:grid;grid-template-columns:1fr 1.15fr;gap:28px}.rr-setup p{line-height:1.55;margin-top:10px}.rr-setup h2{font-size:2rem}.rr-setup-options{display:grid;grid-template-columns:1fr 1.4fr;gap:12px}.rr-name-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.rr-page input{width:100%}.rr-mode{font:700 .8rem/1.5 system-ui,sans-serif;color:var(--rr-red);margin:15px 0!important}.rr-mode span{display:inline-block;font-weight:400;color:#526466;margin-left:12px}.rr-setup .rr-primary{width:100%}.rr-scoreboard{display:grid;grid-template-columns:repeat(var(--rr-player-count,2),minmax(0,1fr));gap:12px;margin-bottom:17px}.rr-score{padding:13px 16px;background:#f8ecd0;color:var(--rr-ink);border:2px solid transparent;border-radius:11px;box-shadow:inset 0 4px var(--player-color);min-width:0}.rr-score.is-current{border-color:var(--player-color);background:#fff9e9}.rr-score-name{display:block;overflow-wrap:anywhere;font:700 .9rem/1.4 system-ui,sans-serif}.rr-score strong{font:700 1.65rem/1.5 Georgia,serif}.rr-score small{font:500 .75rem/1.4 system-ui,sans-serif}.rr-game-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}.rr-board-card{padding:17px 18px 15px;min-width:0}.rr-board-heading{display:flex;gap:10px;align-items:center;justify-content:space-between}.rr-board-heading h2{font-size:1.35rem}.rr-view-note{font:600 .7rem/1.4 system-ui,sans-serif;background:#e8e5ce;border-radius:5px;padding:6px 8px;max-width:140px}.rr-board-window{aspect-ratio:1;max-height:760px;margin:8px auto 10px;overflow:hidden;border-radius:50%;background:#ebe4c8;touch-action:pan-y;user-select:none;width:100%}#rr-board{width:100%;height:100%;display:block;cursor:grab;touch-action:none}#rr-board:active{cursor:grabbing}.rr-outer-disc{fill:#f6e7c4;stroke:#a78855;stroke-width:2}.rr-road{stroke:#beb391;stroke-width:74;fill:none}.rr-map-title{font:700 18px system-ui,sans-serif;letter-spacing:5px;fill:#426f74}.rr-country{fill:#c7d7bc;stroke:#94ad9a;stroke-width:1}.rr-map-state{fill:#e0c68d;stroke:#fff6dc;stroke-width:1}.rr-state-label{font:700 16px system-ui,sans-serif;fill:#173e48;pointer-events:none}.rr-track-tile{fill:#fff7dd;stroke:#bba26c;stroke-width:1.6}.rr-track-stop{cursor:pointer}.rr-track-stop.is-current .rr-track-tile{fill:#173e48;stroke:#f2be57;stroke-width:3}.rr-track-stop.is-current .rr-state-label{fill:#fff6dc}.rr-track-stop.is-inspected .rr-track-tile{stroke:#aa3e37;stroke-width:4}.rr-track-stop.is-wild .rr-track-tile{fill:#b74b3d}.rr-track-stop.is-wild .rr-state-label{fill:#fff6dc;font-size:13px}.rr-view-controls{display:flex;flex-wrap:wrap;gap:6px}.rr-view-controls button{flex:1 0 auto;padding:9px 11px;font-size:.8rem;min-width:44px}.rr-inspect-row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:end;margin-top:14px}.rr-page .rr-routes-toggle{display:flex;align-items:center;gap:7px;min-height:44px;max-width:130px}.rr-routes-toggle input{width:18px;min-height:18px;height:18px;flex:none}.rr-inspector{font:600 .8rem/1.5 system-ui,sans-serif;margin-top:10px!important}.rr-map-help{font:.75rem/1.5 system-ui,sans-serif;color:#60746c;margin-top:8px!important}.rr-trip-card{padding:24px;position:sticky;top:18px;overflow-wrap:anywhere}.rr-trip-card h2{font-size:1.9rem}.rr-trip-card #rr-stop-label{font:500 .85rem/1.5 system-ui,sans-serif;margin-top:8px}.rr-roll-row{display:flex;gap:12px;align-items:center;margin:20px 0}.rr-roll-row button{flex:1}.rr-die{width:64px;min-width:64px;height:64px;display:grid;place-items:center;font:48px/1 Georgia,serif;background:#fffdf6;border:1px solid #cbb894;border-radius:12px;box-shadow:3px 4px 0 #b4a58a}.rr-die.is-rolling{animation:rr-roll .25s ease-in-out}.rr-challenge{border-top:1px solid var(--rr-line);padding-top:18px}.rr-challenge:empty{display:none}.rr-challenge h3{font-size:1.3rem;margin:4px 0 12px}.rr-challenge p{line-height:1.5;margin-bottom:14px}.rr-choice-list{display:grid;gap:8px}.rr-choice-list button{text-align:left;width:100%;font-weight:500;line-height:1.4}.rr-choice-list.rr-compass{grid-template-columns:1fr 1fr}.rr-choice-list.rr-compass button{text-align:center;font-size:1.1rem}.rr-challenge form{display:grid;gap:9px}.rr-challenge .rr-hint{font:500 .8rem/1.5 system-ui,sans-serif;margin-top:10px}.rr-result{background:#e2ebd2;padding:16px;border-radius:9px}.rr-result.is-miss{background:#f0dfc9}.rr-result h3{font-size:1.5rem}.rr-pin-award{font-size:2.3rem;color:var(--rr-red);margin-bottom:5px}.rr-live{font:600 .8rem/1.5 system-ui,sans-serif;color:#526466;margin-top:14px!important}.rr-passport{margin-top:18px;padding:22px}.rr-passport h2{margin-bottom:16px}.rr-player-collection{border-top:1px solid var(--rr-line);padding:14px 0}.rr-player-collection h3{font:700 .9rem/1.4 system-ui,sans-serif;margin:0 0 10px;display:flex;gap:8px;align-items:center}.rr-player-dot{width:12px;height:12px;background:var(--player-color);border-radius:50%;display:inline-block;flex-shrink:0}.rr-pin-list{display:flex;flex-wrap:wrap;gap:6px}.rr-pin-list button{min-height:36px;background:#fffaf0;font-size:.75rem;border-left:4px solid var(--player-color);padding:7px 10px}.rr-empty{font:.85rem/1.6 system-ui,sans-serif;color:#66746a}.rr-game-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:17px 0}.rr-game-footer p{font:.75rem/1.6 system-ui,sans-serif;color:#e1d2b2}.rr-game-footer button{background:transparent;color:#f6e9c8;border-color:#a58a59}.rr-rules{margin-top:24px;padding:18px 22px;font:400 .9rem/1.65 system-ui,sans-serif}.rr-rules summary{cursor:pointer;font-weight:700;min-height:30px}.rr-rules p{margin:12px 0}.rr-rules small{color:#536f66;font-size:.75rem}.rr-page dialog{max-width:min(92vw,420px);border:1px solid #b4955c;border-radius:12px;background:#fff5dc;padding:26px;color:var(--rr-ink)}.rr-page dialog::backdrop{background:#001422b8}.rr-page dialog p{margin:15px 0;line-height:1.5}.rr-dialog-actions{display:flex;gap:10px;flex-wrap:wrap}.rr-dialog-actions button{flex:1}
@keyframes rr-roll{50%{transform:rotate(18deg) translateY(-5px)}}
.rr-route-filter{grid-column:1/-1}.rr-route-filter select{max-width:100%}
@media(max-width:1100px){.rr-game-layout{grid-template-columns:minmax(0,1fr) 285px}.rr-trip-card{padding:18px}.rr-page{padding-inline:18px}.rr-view-controls button{font-size:.75rem}.rr-board-card{padding:14px}}
@media(max-width:850px){.rr-game-layout{grid-template-columns:1fr}.rr-trip-card{position:static}.rr-board-window{max-height:680px}.rr-trip-card .rr-roll-row{max-width:380px}.rr-setup{grid-template-columns:1fr}.rr-score{padding:10px}.rr-page{padding-top:18px}.rr-scoreboard{gap:7px}}
@media(max-width:480px){.rr-page{padding:16px 12px 45px}.rr-header{margin-bottom:19px}.rr-seal{width:60px;height:60px;font-size:1.6rem;outline-offset:3px}.rr-subtitle{font-size:.93rem}.rr-setup{padding:20px;gap:17px}.rr-name-fields{gap:9px}.rr-setup-options{grid-template-columns:1fr}.rr-scoreboard{grid-template-columns:repeat(2,minmax(0,1fr))}.rr-board-card{padding:12px 9px}.rr-board-heading h2{font-size:1.14rem}.rr-board-heading .rr-eyebrow{font-size:.55rem}.rr-view-note{font-size:.65rem;max-width:105px}.rr-view-controls button{padding:8px 10px}.rr-inspect-row{gap:8px;grid-template-columns:1fr 110px}.rr-inspect-row select{font-size:.8rem;padding-inline:7px}.rr-routes-toggle{font-size:.72rem!important}.rr-game-footer{align-items:start}.rr-game-footer button{font-size:.75rem}.rr-passport{padding:18px}.rr-trip-card h2{font-size:1.6rem}.rr-page input,.rr-page select{font-size:16px}}
@media(prefers-reduced-motion:reduce){.rr-die.is-rolling{animation:none}}
/* Hidden Gems uses the existing board, map and gold accents. */
.rr-trip-length{margin-top:16px}.rr-length-note{font:400 .8rem/1.6 system-ui,sans-serif;color:#526466}
.rr-trail-progress{padding:18px 22px;margin-bottom:14px;border-color:#bb913e;background:linear-gradient(110deg,#fff7de,#f2dfaa)}
.rr-trail-progress p:last-child{font:500 .8rem/1.65 system-ui,sans-serif;margin-top:8px;color:#5b674f}
.rr-board-window{position:relative}#rr-track{transform-box:view-box;transform-origin:500px 500px}
.rr-track-stop.is-gem .rr-track-tile{stroke:#a97a23;stroke-width:2.5;fill:#f8ecc8}
.rr-track-stop.is-claimed .rr-track-tile{fill:#ffd87d;stroke:#906512;stroke-width:3;filter:drop-shadow(0 0 9px rgba(255,216,125,.95)) drop-shadow(0 0 18px rgba(232,184,91,.65))}
.rr-track-stop.is-claimed .rr-state-label{fill:#493b16}.rr-map-state.is-gem{fill:#e1c377;stroke:#a48945;stroke-width:1.2}
.rr-map-state.is-claimed{fill:#ffd87d;stroke:#fff4bd;stroke-width:2;filter:drop-shadow(0 0 9px rgba(255,216,125,.95)) drop-shadow(0 0 18px rgba(232,184,91,.65))}
.rr-track-stop.is-current .rr-track-tile{stroke:#173e48;stroke-width:4}.rr-track-stop.is-current:not(.is-claimed) .rr-state-label{fill:#173e48}
.rr-track-stop.is-current:not(.is-gem) .rr-track-tile{fill:#e0ece4}
.is-gold-pulse{animation:rr-gold-pulse .6s ease-in-out}


.rr-pin-list button{min-height:44px}
@keyframes rr-gold-pulse{50%{filter:drop-shadow(0 0 12px rgba(255,216,125,.95)) drop-shadow(0 0 22px rgba(232,184,91,.65));opacity:.65}}
@media(prefers-reduced-motion:reduce){.is-gold-pulse{animation:none}}
/* One responsive play structure: question, wheel, one zoom toggle. */
.rr-sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap}
.rr-page.is-playing{max-width:1100px;padding:8px 12px 24px}
body[data-app-shell]:has(.rr-page.is-playing){padding-top:calc(8px + env(safe-area-inset-top,0px))}
.rr-page.is-playing .rr-header{margin:0 0 3px;gap:12px;align-items:center}
.rr-page.is-playing .rr-header>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding-left:48px;min-height:44px}
.rr-page.is-playing .rr-header h1{font-size:clamp(1.25rem,4vw,1.6rem);letter-spacing:-.04em;order:2}
.rr-page.is-playing .rr-header .rr-eyebrow,.rr-page.is-playing .rr-subtitle,.rr-page.is-playing .rr-seal{display:none}
.rr-page.is-playing .rr-back{font-size:.8rem;min-height:32px;padding:5px 0}
.rr-trail-progress{padding:2px 0 4px;margin:0;border:0;background:none;color:#f1cf8d}
.rr-trail-progress h2{color:inherit;font:700 .85rem/1.35 system-ui,sans-serif;letter-spacing:0}
.rr-game-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:4px}
.rr-trip-card{position:static;padding:8px 12px;border-radius:10px}
.rr-trip-card .rr-eyebrow{font-size:.62rem;letter-spacing:.09em;margin-bottom:3px}
.rr-trip-card #rr-stop-label{display:none}
.rr-challenge{border:0;padding:0}
.rr-challenge h3{font-size:1.13rem;line-height:1.15;margin:1px 0 4px}
.rr-challenge p{font:400 .87rem/1.35 system-ui,sans-serif;margin:0 0 5px}
.rr-challenge .rr-eyebrow{font-size:.62rem;font-weight:700}
.rr-choice-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,145px),1fr));gap:5px}
.rr-choice-list button{font-size:.85rem;padding:7px 10px;min-height:44px;line-height:1.25}
.rr-choice-list.rr-compass{grid-template-columns:1fr 1fr}
.rr-challenge form{grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:end}
.rr-challenge form label{font-size:.73rem;gap:2px}
.rr-challenge input{min-height:44px;padding:7px 10px}
.rr-challenge .rr-hint{display:inline-block;margin:5px 8px 0 0;font-size:.75rem}
.rr-challenge .rr-hint+button{font-size:.75rem;padding:6px 9px;min-height:44px}
.rr-live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.rr-board-card{padding:3px 9px 5px;border-radius:12px;display:flex;flex-direction:column;align-items:center}
.rr-board-window{width:min(100%,var(--rr-board-size,360px));height:auto;max-height:none;aspect-ratio:1;margin:0;flex:none;border-radius:50%;background:#d6e3da}
#rr-board{cursor:grab;touch-action:none;outline-offset:-3px}
#rr-board[aria-disabled="true"]{cursor:wait}
.rr-state-label{font-size:26px;font-weight:800;paint-order:stroke;stroke:#fff7dd;stroke-width:3px;stroke-linejoin:round}
.rr-state-art{opacity:.76;pointer-events:none}
.rr-track-stop.is-wild .rr-state-label{font-size:17px;stroke:#b74b3d;stroke-width:2px}
.rr-track-stop.is-current:not(.is-claimed) .rr-track-tile{fill:#e6eedf}
.rr-map-title{font-size:15px;letter-spacing:4px}
.rr-road{stroke-width:110px}
.rr-board-tools{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:640px;gap:8px;margin-top:3px}
.rr-board-tools .rr-map-help{margin:0!important;max-width:36ch;font:500 .72rem/1.35 system-ui,sans-serif;color:#526466}
.rr-board-tools button{flex:none;min-width:90px;min-height:44px;padding:7px 10px;font-size:.8rem}
.rr-result{padding:9px 11px}.rr-result .rr-pin-award{display:none}.rr-result h3{font-size:1.1rem;margin:0 0 5px}
.rr-result p{margin-bottom:6px}.rr-result button{min-height:44px;font-size:.83rem;padding:7px 10px}
.rr-passport{margin-top:10px;padding:12px 16px}
.rr-passport summary{font:700 .9rem/1.4 system-ui,sans-serif;cursor:pointer;min-height:26px}
.rr-passport #rr-trail-states{font:.8rem/1.5 system-ui,sans-serif;margin-top:10px}
.rr-pin-list span,.rr-pin-list button{font:500 .75rem/1.4 system-ui,sans-serif;padding:6px 9px;background:#fffaf0;border:1px solid #d4be90;border-left:4px solid var(--player-color);border-radius:6px}
.rr-game-footer{margin:10px 0}.rr-game-footer button{min-height:44px}.rr-rules{margin-top:12px}

/* A stacked board cannot fit a short landscape viewport. Keep the same DOM
   order, with the question alongside the wheel when height is constrained. */
@media(min-width:700px) and (max-height:600px){
  .rr-game-layout{grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);align-items:start}
  .rr-choice-list{grid-template-columns:1fr}
  .rr-board-card{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:6px;align-items:center}
  .rr-board-tools{flex-direction:column;align-items:stretch;margin-top:0}
  .rr-board-tools .rr-map-help{max-width:16ch;font-size:.68rem}
  .rr-trip-card{padding:9px 11px}
}
.rr-traveler-setup{display:grid;gap:9px;min-width:0}
.rr-vehicle-icon{width:20px;height:20px;flex:none;display:inline-block;vertical-align:middle;color:var(--player-color,var(--rr-ink))}
.rr-inset-label{font:600 12px system-ui,sans-serif;letter-spacing:1px;fill:#315e66}
.rr-state-label{font-size:28px}
.rr-map-state.is-claimed{stroke:var(--claim-color,#fff4bd);stroke-width:1.2}
.rr-result .rr-flavor{font-style:italic;border-top:1px solid #bca76870;padding-top:6px;margin-top:7px;color:#425c56}
.rr-board-window:focus-visible{outline:3px solid #bf0d3e;outline-offset:2px}

.rr-final-chance{font-weight:600!important;border-top:1px solid #bca76870;padding-top:6px}
.rr-finish{background:#fff0c2}.rr-finish h3{color:#5a4319}

/* Turn cues stay above the question; map geometry and fixed-pin position do not move. */
.rr-trail-progress{display:flex;align-items:center;justify-content:space-between;gap:12px}
.rr-trail-progress h2{min-width:0}
.rr-page .rr-trail-progress button{flex:none;min-height:44px;padding:6px 9px;font-size:.72rem;max-width:120px;background:transparent;color:#f1cf8d;border-color:#a58a59}
.rr-turn-heading{position:relative;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}
#rr-turn-label{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 10px;margin:0 0 5px;line-height:1.15}
#rr-turn-label strong{font:700 clamp(1.16rem,3.7vw,1.5rem)/1.15 Georgia,serif;color:var(--rr-ink);overflow-wrap:anywhere}
#rr-turn-label>span{font:600 .65rem/1.3 system-ui,sans-serif;color:#526466}
#rr-turn-callout{position:static;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#fff0b2;color:#5a4319;padding:3px 7px;border-radius:8px;pointer-events:none;font:700 .8rem/1.3 system-ui,sans-serif;opacity:0}
#rr-turn-callout.is-turn-cue{animation:rr-turn-callout 1.35s ease-out both}
.is-turn-flash{animation:rr-turn-pin .85s ease-out both}
#rr-map-states{filter:drop-shadow(0 3px 1px rgba(23,62,72,.2))}
.rr-map-presence{pointer-events:none}
@keyframes rr-turn-callout{0%,65%{opacity:1}100%{opacity:0}}
@keyframes rr-turn-pin{0%,45%{filter:drop-shadow(0 0 9px #ffd87d)}25%{filter:drop-shadow(0 0 2px #ffd87d)}100%{filter:none}}
@media(prefers-reduced-motion:reduce){.is-turn-flash{animation:none}#rr-turn-callout{display:none!important;animation:none!important}}

/* A cached map image supplies the cap; exact state paths, glow and pins stay crisp above it. */
#rr-board.has-map-art .rr-map-state:not(.is-claimed){fill:transparent;stroke:none}
#rr-board.has-map-art #rr-map-states{filter:none}
#rr-map-art{pointer-events:none}
.rr-vehicle-preview{height:42px;display:flex;align-items:center;justify-content:center;background:#f0e4c7;border-radius:8px}
.rr-vehicle-preview .rr-vehicle-icon{width:58px;height:40px}
#rr-board.has-map-art .rr-inset-label{fill:#fff4d5;paint-order:stroke;stroke:#061d35;stroke-width:1.8;stroke-linejoin:round}

/* Souvenir recall stays within the viewport without changing the board. */
#rr-souvenir-dialog{box-sizing:border-box;width:min(92vw,420px);max-height:80vh;max-height:80dvh;overflow:auto}
#rr-souvenir-dialog h2{margin:0}
#rr-souvenir-dialog .rr-eyebrow{margin:0 0 8px}
