.tour-setup{display:grid;gap:18px;margin:20px 0}.tour-setup>label{display:grid;gap:8px;font-weight:700}.tour-setup select{font:inherit;background:var(--paper);color:var(--ink);padding:13px;border:1px solid var(--line);border-radius:10px;width:100%}.tour-setup fieldset{border:0;padding:0;margin:0;min-width:0}.tour-setup legend{font-weight:700;margin-bottom:9px}.tour-mode-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tour-mode-options label{display:flex;align-items:flex-start;gap:10px;padding:16px;border:1px solid var(--line);border-radius:12px;cursor:pointer}.tour-mode-options label:has(input:checked){background:#eaf2e6;border-color:#247666}.tour-mode-options input{accent-color:#247666;margin-top:4px}.tour-mode-options strong,.tour-mode-options small{display:block}.tour-mode-options small{margin-top:6px;font-size:.8rem;line-height:1.45;font-weight:400}.tour-start-note{border-left:3px solid var(--yellow);padding:4px 0 4px 14px}.tour-start-note p{font-size:.87rem;line-height:1.5;margin-top:5px}.tour-rules{padding:18px;background:#edf1e5;border-radius:12px;display:grid;gap:12px}.tour-rules p{font-size:.83rem;line-height:1.55}.tour-summary{text-align:center;display:grid;gap:8px}.tour-summary>strong{font:700 2.5rem 'Outfit',system-ui;font-variant-numeric:tabular-nums}.tour-summary+p{margin:15px 0}.tour-checklist{list-style:none;display:grid;gap:0;padding:0;margin:20px 0;max-height:42vh;overflow:auto;border:1px solid var(--line);border-radius:12px}.tour-checklist li{display:flex;align-items:center;gap:13px;padding:13px 16px;border-bottom:1px solid var(--line);font-size:.9rem}.tour-checklist li:last-child{border:0}.tour-checklist li>span:first-child{color:#64766d;font-size:1.1rem}.tour-checklist .visited{background:#eef4e9}.tour-checklist .visited>span:first-child{color:#247666;font-weight:700}.tour-checklist small{display:block;margin-top:3px;font-size:.72rem;color:var(--muted)}.tour-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.tour-result-grid strong{display:block;font:700 2.5rem 'Outfit',system-ui;font-variant-numeric:tabular-nums}.tour-result-grid span{font-size:.8rem}.tour-best-list{display:grid;gap:10px;margin:15px 0}.tour-best-list>div{display:flex;gap:14px;justify-content:space-between;padding:12px;border:1px solid var(--line);border-radius:10px;font-size:.8rem}.tour-best-list strong{white-space:nowrap}.tour-hud{position:fixed;top:82px;left:50%;transform:translateX(-50%);width:360px;padding:12px 15px;border:1px solid #f9edbcaa;border-radius:15px;background:#173c3ff2;color:#fff9e8;box-shadow:0 6px 24px #163f3c20;pointer-events:auto}.tour-hud-top{display:flex;gap:10px;align-items:center}.tour-hud-top>div{flex:1}.tour-hud-top small{display:block;color:#d6e5d9;font-size:.7rem}.tour-hud-top strong{font-size:1.2rem;font-variant-numeric:tabular-nums}.tour-hud button{background:#f9f6e4;color:var(--ink);border-radius:8px;min-height:40px;padding:7px 10px;font-size:.8rem;font-weight:700}.tour-hud #tour-end-hud{background:transparent;color:#fff9e8;font-size:1.3rem;padding:5px;min-width:32px}.tour-hud p{margin-top:8px;font-size:.79rem;line-height:1.35}.tour-hud progress{display:block;width:100%;height:4px;margin-top:9px;border:0;accent-color:#f4c35e}.has-tour #route-slot,.has-tour #interaction-slot{display:none}.has-tour .road-chip{max-width:calc(100vw - 520px)}body:has(dialog[open]) .tour-hud{visibility:hidden}.has-tour .minimap-wrap{opacity:.95}.tour-prompt{margin-top:20px}.tour-inline-note{padding:10px 12px;background:#edf1e5;border-radius:9px;font-size:.78rem;line-height:1.5;margin:10px 0}
@media(max-width:760px),(pointer:coarse),(any-pointer:coarse){.tour-hud{top:calc(111px + env(safe-area-inset-top));left:16px;transform:none;width:calc(100vw - 32px);max-width:430px}.has-tour .minimap-wrap{display:none}.has-tour .road-chip{max-width:calc(100vw - 32px)}.tour-mode-options{grid-template-columns:1fr}.tour-mode-options label{padding:13px}.tour-best-list>div{flex-wrap:wrap;gap:6px}.tour-checklist{max-height:45vh}.tour-hud p{font-size:.8rem}.action-dock .dock-button{padding-left:12px;padding-right:12px}}
.has-tour .map-boundary-notice{top:214px}
@media(max-width:760px),(pointer:coarse),(any-pointer:coarse){.has-tour .map-boundary-notice{top:calc(245px + env(safe-area-inset-top))}}
@media(max-height:550px) and (orientation:landscape){.tour-hud{top:74px;left:50%;transform:translateX(-50%);width:300px;max-width:calc(100vw - 290px);padding:9px 11px}.tour-hud-top small{font-size:.65rem}.tour-hud-top strong{font-size:1rem}.tour-hud p{font-size:.72rem;margin-top:5px}.tour-hud progress{margin-top:6px}.tour-hud-top{gap:6px}.tour-hud button{font-size:.72rem;min-height:34px;padding:6px}.tour-mode-options{grid-template-columns:1fr 1fr}.has-tour .road-chip{max-width:calc(100vw - 360px)}.has-tour .map-boundary-notice{top:184px}}
