:root{
  --bg:#dff1ff;
  --blue:#2d62ff;
  --deep:#22336b;
  --orange:#ff921e;
  --orange2:#ffb03a;
  --green:#2daf4f;
  --purple:#7b4cf6;
  --card:#fffaf2;
  --line:#d8e5f7;
  --shadow:0 10px 26px rgba(23,50,91,.12);
  --radius:24px;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(180deg,#cceaff 0,#eaf6ff 70%,#f8fcff 100%);color:#17315b}
button{font:inherit}
#app{max-width:1400px;margin:0 auto;padding:14px}
.topbar{display:flex;align-items:center;gap:20px;justify-content:space-between;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.6);box-shadow:var(--shadow);border-radius:26px;padding:12px 18px;position:sticky;top:8px;z-index:20}
.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#27c4f5,#2caf49);display:grid;place-items:center;color:white;font-size:24px;font-weight:800}.brand-text{font-size:30px;line-height:1}.brand-text span{color:#1c53c6;font-weight:800}.brand-text strong{color:#ff8b1d}
.tabs{display:flex;gap:10px;flex:1;justify-content:center}.tab{border:none;background:#eef4ff;color:#29406f;padding:12px 20px;border-radius:18px;font-weight:700;cursor:pointer}.tab.active{background:linear-gradient(180deg,#ffa93a,#ff8a16);color:white;box-shadow:0 6px 18px rgba(255,145,35,.35)}
.select-pill{background:#f3f7ff;border:1px solid #d9e7ff;color:#29406f;padding:11px 16px;border-radius:16px;font-weight:700;white-space:nowrap}
.view{display:none}.view.active{display:block}.card{background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.7);box-shadow:var(--shadow);border-radius:30px}
.parkur-shell{display:grid;grid-template-columns:360px 1fr;gap:18px;margin-top:18px;align-items:start}
.hero-panel{padding:28px;position:sticky;top:98px}.hero-panel h1{font-size:48px;line-height:1.06;color:#2d2c8d;margin:0 0 18px}.hero-panel p{font-size:22px;line-height:1.45;color:#304567;margin-bottom:24px}.cta{border:none;background:linear-gradient(180deg,var(--orange2),var(--orange));color:#fff;padding:18px 28px;border-radius:19px;font-size:24px;font-weight:800;box-shadow:0 10px 24px rgba(255,146,28,.35);cursor:pointer}.mini-stats{display:flex;gap:14px;margin-top:24px}.mini-stats div{flex:1;background:#f2f7ff;border-radius:18px;padding:14px;text-align:center}.mini-stats strong{display:block;font-size:28px;color:#204cc4}.mini-stats span{font-size:14px;color:#5c6d92}
.map{padding:16px;position:relative;overflow:hidden;min-height:880px}.map-header{position:absolute;right:18px;bottom:18px;background:#fff8ef;border-radius:22px;padding:18px 20px;box-shadow:var(--shadow);width:260px;z-index:3;border:2px solid #ead7b4}.map-badge{font-size:30px;font-weight:900;color:#213477;margin-bottom:10px}.theme-goals{list-style:none;margin:0;padding:0;display:grid;gap:10px}.theme-goals li{position:relative;padding-left:24px;font-weight:700;color:#4b6286}.theme-goals li:before{content:"•";position:absolute;left:6px;color:#ff9a1d;font-size:20px}
.map-canvas{position:relative;min-height:840px;border-radius:26px;background:linear-gradient(180deg,#8fd7ff 0,#6dc7ff 38%,#4cb5ff 39%,#7ad3ff 40%,#79d5ff 100%);overflow:hidden}
.sky-decor{position:absolute;z-index:0;border-radius:999px;background:rgba(255,255,255,.72)}.decor-cloud.a{width:180px;height:56px;top:34px;left:46%}.decor-cloud.b{width:120px;height:40px;top:88px;left:58%}
.path-svg{position:absolute;inset:0;z-index:1}.zone-island{position:absolute;border-radius:42px;background:linear-gradient(180deg,#89dd72,#64c156);box-shadow:inset 0 -20px 0 rgba(68,129,74,.25), 0 24px 40px rgba(34,85,37,.18);z-index:2}.zone-island:after{content:"";position:absolute;left:7%;right:7%;bottom:-24px;height:34px;background:linear-gradient(180deg,#67ac58,#4d8c43);border-radius:0 0 24px 24px;filter:blur(1px)}
.zone-label{position:absolute;z-index:4;background:linear-gradient(180deg,#f6d997,#d7a954);padding:12px 18px;border-radius:16px;border:3px solid #8a5a17;color:#492700;font-weight:900;box-shadow:0 10px 20px rgba(109,66,13,.18);min-width:160px}
.zone-label small{display:block;font-size:14px}.zone-label span{display:block;font-size:28px;line-height:1.08}
.station{position:absolute;z-index:5;width:62px;height:62px;border-radius:50%;border:4px solid rgba(255,255,255,.92);display:grid;place-items:center;color:#fff;font-weight:900;font-size:26px;cursor:pointer;box-shadow:0 12px 22px rgba(0,0,0,.18);transition:transform .15s}.station:hover{transform:translateY(-3px)}.station.locked{filter:grayscale(0.92);cursor:not-allowed;opacity:.72}.station.done:after{content:"✓";position:absolute;right:-3px;bottom:-3px;width:22px;height:22px;border-radius:50%;background:#1fb351;display:grid;place-items:center;font-size:14px;border:2px solid #fff}.station.blue{background:linear-gradient(180deg,#56a7ff,#1a74ff)}.station.green{background:linear-gradient(180deg,#66d653,#1cb142)}.station.gold{background:linear-gradient(180deg,#ffbf42,#ff9c0e)}.station.purple{background:linear-gradient(180deg,#af7cff,#7a41ff)}.station.red{background:linear-gradient(180deg,#ff9f6c,#ff5e2c)}.station.violet{background:linear-gradient(180deg,#d06ef9,#9a41ee)}
.mascot{position:absolute;left:18px;bottom:24px;z-index:4;width:150px;height:190px;display:flex;align-items:flex-end;justify-content:center}.mascot .head{position:absolute;bottom:106px;width:74px;height:74px;border-radius:50%;background:#ffcfaa;border:3px solid #8b5a2b}.mascot .hair{position:absolute;bottom:140px;width:80px;height:34px;border-radius:30px 30px 12px 12px;background:#6a3f1d}.mascot .body{width:96px;height:110px;background:linear-gradient(180deg,#ffb12f,#ff8711);border-radius:28px 28px 22px 22px;border:3px solid #c26d11}.mascot .strap{position:absolute;bottom:130px;width:10px;height:60px;background:#2976ff;transform:rotate(28deg);left:48px}.mascot .strap.r{transform:rotate(-28deg);left:auto;right:48px}.mascot .legs{position:absolute;bottom:0;display:flex;gap:16px}.mascot .legs span{display:block;width:18px;height:48px;background:#285bd5;border-radius:12px}.mascot .shoe{position:absolute;bottom:-2px;width:28px;height:14px;background:#fff;border-radius:16px;border:2px solid #7ea0df}
.games-layout,.topics-layout{margin-top:18px}.games-top{display:flex;align-items:center;justify-content:space-between;padding:24px}.games-top h2,.topics-layout h2{margin:0;font-size:42px;color:#28328b}.games-top p,.topics-layout p{color:#506382;font-size:18px}.filters{display:flex;gap:10px;flex-wrap:wrap}.game-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}.game-card{padding:22px}.game-card h3{margin:0 0 10px;color:#2a2c84;font-size:28px}.game-card p{min-height:52px;color:#556885}.game-card .play{border:none;background:linear-gradient(180deg,#52d85e,#1fa74c);color:#fff;padding:14px 18px;border-radius:16px;font-weight:800;cursor:pointer}
.topics-layout{padding:24px}.topic-card{display:flex;justify-content:space-between;align-items:center;background:#f5f8ff;border:1px solid #dbe7ff;border-radius:18px;padding:18px 20px;margin-top:14px}.active-topic{background:#effaf0;border-color:#bfe4c0}.disabled-topic{opacity:.65}
.modal-backdrop{position:fixed;inset:0;background:rgba(14,26,55,.42);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal-card{background:linear-gradient(180deg,#fffdfa,#fff7ec);width:min(1200px,95vw);border-radius:28px;box-shadow:0 22px 60px rgba(10,21,50,.25);border:4px solid #e4eefc;overflow:hidden}.modal-inner{padding:18px}
.stop-header,.result-header{display:flex;align-items:center;gap:14px;justify-content:space-between}.crumbs{display:flex;align-items:center;gap:10px;color:#40567e;font-weight:700;flex-wrap:wrap}.crumb-pill{background:#eef4ff;padding:10px 14px;border-radius:14px}.back-btn{width:48px;height:48px;border:none;border-radius:50%;background:#edf3ff;color:#2e4ea1;font-size:24px;font-weight:900;cursor:pointer}
.stop-overview{display:grid;grid-template-columns:1.4fr 340px;gap:20px;align-items:center;padding:18px 4px 4px}.stop-overview h2{font-size:46px;color:#26348f;margin:0 0 10px;line-height:1.03}.stop-overview h3{font-size:34px;color:#223b78;margin:0 0 10px}.stop-overview p{font-size:24px;line-height:1.4;color:#42577d}.preview-image{height:220px;border-radius:22px;background:radial-gradient(circle at 60% 35%, #ffda7f 0, #ffb33f 24%, #b06619 25%, #7a4614 56%, #345d21 100%);position:relative;overflow:hidden}.preview-image:before{content:"?";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:110px;font-weight:900;text-shadow:0 8px 18px rgba(0,0,0,.3)}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.detail{background:#fff;border:1px solid #e4eaf8;border-radius:18px;padding:16px}.detail strong{display:block;color:#2d4cc2;font-size:20px}.detail span{display:block;color:#516788;font-weight:700;margin-top:8px}.large-start{margin-top:18px;border:none;background:linear-gradient(180deg,var(--orange2),var(--orange));color:#fff;padding:18px 26px;border-radius:18px;font-size:28px;font-weight:900;cursor:pointer;width:100%}
.quiz-layout{padding:12px 14px 20px}.quiz-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:4px 6px 12px}.progress-nodes{display:flex;gap:10px;align-items:center}.pnode{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-weight:900;background:#eef3fe;color:#5570ab;border:2px solid #dbe4f6}.pnode.active{background:#3667ff;color:#fff}.pnode.done{background:#31bd58;color:#fff}.timer{display:flex;gap:12px;align-items:center}.timer-pill{background:#edf3ff;color:#2b4da7;padding:10px 16px;border-radius:14px;font-weight:800}
.quiz-card{display:grid;grid-template-columns:1.4fr 340px;gap:20px;background:#f8fbff;border:1px solid #e4ebfa;border-radius:24px;padding:20px}.q-card-left h3{margin:0 0 10px;font-size:36px;color:#2f3ea4}.question-title{font-size:24px;color:#223865;font-weight:800;margin-bottom:14px}.skill-badge{display:inline-flex;background:#efe9ff;color:#6f42e6;padding:8px 14px;border-radius:999px;font-weight:800;font-size:14px;margin-left:12px;vertical-align:middle}.prompt-box,.text-box,.image-panel,.feedback-box,.result-box{border-radius:18px}.prompt-box{background:#fff8de;border:1px solid #edd899;padding:18px;color:#53441f;font-size:22px;line-height:1.45}.reading-box{background:#ffffff;border:1px solid #dde9f7;padding:18px;color:#395172;font-size:20px;line-height:1.55;border-radius:18px}
.image-panel{height:240px;background:linear-gradient(180deg,#9de1ff,#5ec0ff 40%,#9be982 41%,#5bc252 100%);border:1px solid #d4e7fb;padding:16px;position:relative;overflow:hidden}.image-panel.playground:before{content:"";position:absolute;left:20px;right:20px;bottom:16px;height:44px;background:#f3c993;border-radius:20px}.image-panel.playground:after{content:"";position:absolute;left:30px;top:24px;width:120px;height:80px;background:radial-gradient(circle,#60b443 0,#60b443 45%,#7e512b 46%,#7e512b 54%,transparent 55%),radial-gradient(circle at 80% 20%,#72c85e 0,#72c85e 40%,transparent 41%),radial-gradient(circle at 40% 10%,#7bd160 0,#7bd160 40%,transparent 41%)}
.image-panel .rope,.image-panel .child{position:absolute}.image-panel .rope{left:42px;right:42px;top:112px;height:50px;border-bottom:8px solid #d45d39;border-radius:0 0 120px 120px}.image-panel .child{width:52px;height:72px;background:#ffad2d;border-radius:18px;bottom:40px}.image-panel .child.one{left:44px}.image-panel .child.two{right:52px;background:#59a7ff}.image-panel .child.jump{left:50%;transform:translateX(-50%);bottom:78px;background:#ff6bb1}
.options{display:grid;gap:12px}.option{display:flex;gap:14px;align-items:center;background:#fff;border:2px solid #d9e3f6;border-radius:18px;padding:16px 18px;cursor:pointer;font-size:22px;font-weight:700;color:#2f456d}.option b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e9f0fe;color:#3a5fb9}.option.selected{border-color:#4b88ff;background:#edf4ff}.option.correct{background:#e9f8ed;border-color:#2caf4f}.option.wrong{background:#fff0f0;border-color:#e55656}
.order-list{display:grid;gap:10px}.order-item{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid #dfe7f7;border-radius:16px;padding:14px;font-size:20px;color:#34507a}.order-num{width:34px;height:34px;border-radius:10px;background:#edf3ff;display:grid;place-items:center;font-weight:900;color:#3f5eb3}.order-actions{margin-left:auto;display:flex;gap:8px}.order-actions button{border:none;background:#eef3ff;border-radius:10px;width:34px;height:34px;cursor:pointer;font-weight:900;color:#3555a3}
.text-box textarea{width:100%;min-height:180px;border-radius:18px;border:2px solid #dbe5f8;padding:16px;font-size:20px;resize:vertical}.text-meta{display:flex;justify-content:space-between;color:#667999;font-weight:700;margin-top:10px}
.q-actions{display:flex;justify-content:space-between;align-items:center;margin-top:14px;gap:12px}.feedback-box{background:#f0f6ff;padding:14px 18px;color:#456286;font-weight:700;flex:1;min-height:60px;display:flex;align-items:center}.nav-btn{border:none;border-radius:16px;padding:16px 24px;font-size:22px;font-weight:900;color:#fff;cursor:pointer}.nav-green{background:linear-gradient(180deg,#56cc67,#239b46)}.nav-orange{background:linear-gradient(180deg,#ffb13d,#ff8f17)}.nav-blue{background:linear-gradient(180deg,#5d8dff,#3265ff)}
.q-side{display:grid;gap:14px}.mascot-mini,.reward-box{background:#fff;border:1px solid #e1ebfa;border-radius:22px;padding:18px}.mascot-mini h4,.reward-box h4{margin:0 0 10px;color:#283c87;font-size:22px}.mascot-speech{font-size:18px;color:#586a8c;line-height:1.45}.progress-summary{display:grid;gap:8px;color:#4b6285;font-weight:800}
.result-wrap{padding:20px}.result-banner{display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:center;background:linear-gradient(180deg,#fffdfa,#fff4df);border:1px solid #f1d8a2;border-radius:28px;padding:20px}.stars{font-size:34px;color:#ffb31e}.big-title{font-size:52px;font-weight:900;color:#2ea342}.result-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.result-box{background:#fff;border:1px solid #e3ebf7;padding:16px;text-align:center}.result-box strong{display:block;font-size:30px;color:#2f4ab6}.result-box span{color:#607391;font-weight:700}.result-actions{display:flex;justify-content:space-between;gap:16px;margin-top:18px}.hidden{display:none!important}
@media (max-width:1180px){.parkur-shell{grid-template-columns:1fr}.hero-panel{position:static}.map{min-height:960px}.game-grid{grid-template-columns:1fr 1fr}.quiz-card,.stop-overview,.result-banner{grid-template-columns:1fr}.map-header{position:relative;right:auto;bottom:auto;width:auto;margin:0 0 16px}}
@media (max-width:760px){#app{padding:10px}.topbar{flex-wrap:wrap;justify-content:center}.brand-text{font-size:24px}.tabs{order:3;width:100%}.hero-panel h1{font-size:34px}.hero-panel p{font-size:18px}.map{padding:10px;min-height:780px}.map-canvas{min-height:720px}.zone-label span{font-size:18px}.zone-label small{font-size:11px}.station{width:40px;height:40px;font-size:16px}.theme-goals li{font-size:14px}.map-header{padding:12px}.map-badge{font-size:24px}.games-top{flex-direction:column;align-items:flex-start}.game-grid{grid-template-columns:1fr}.modal-inner{padding:10px}.stop-overview h2{font-size:34px}.stop-overview h3{font-size:28px}.stop-overview p,.question-title,.option,.reading-box,.prompt-box{font-size:18px}.detail-grid{grid-template-columns:1fr}.result-stats{grid-template-columns:1fr 1fr}.result-actions{flex-direction:column}}

/* Keep the interactive map usable on narrow screens without overlapping stops */
@media(max-width:1050px){.map{overflow-x:auto}.map-canvas{width:950px;min-width:950px}.map-header{width:950px}.map{overscroll-behavior-x:contain}}

/* Approved parkour design 2 — full-resolution artwork with individually operable hotspots. */
body:has(#parkurView.active){background:#d8f0ff}
body:has(#parkurView.active) .topbar{display:none}
#app:has(#parkurView.active){max-width:1500px;padding:0}
.map-scroll{width:100%;overflow-x:auto;overscroll-behavior-inline:contain;background:#b9e8ff}
.approved-map{position:relative;width:100%;min-width:720px;aspect-ratio:1448/1086;margin:auto;overflow:hidden;isolation:isolate}
.approved-map-art{display:block;width:100%;height:100%;object-fit:fill;user-select:none;-webkit-user-drag:none}
.map-controls{position:absolute;inset:0}
.map-hotspot{position:absolute;transform:translate(-50%,-50%);width:3.35%;aspect-ratio:1;border-radius:100%;border:3px solid transparent;background:transparent;cursor:pointer;color:transparent;z-index:4}
.map-hotspot:hover,.map-hotspot:focus-visible{border-color:#fff;box-shadow:0 0 0 4px #ffbd36,0 0 20px #fff;outline:none}
.map-hotspot.completed:after{content:'✓';position:absolute;right:-9px;bottom:-9px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#14a83e;color:white;border:2px solid #fff;font-weight:900;font-size:14px}
.map-hotspot.locked{cursor:help}
.map-ui-hotspot{position:absolute;border:0;background:transparent;cursor:pointer;border-radius:12px;z-index:3}
.map-ui-hotspot:hover,.map-ui-hotspot:focus-visible{outline:3px solid #ffb52b;outline-offset:0;background:#fff3}
.fifth-region-label{position:absolute;left:51%;top:27%;z-index:3;border:2px solid #fff7;background:linear-gradient(125deg,#f9d987,#bd8338);color:#4c2809;font-weight:900;font-size:clamp(9px,1.4vw,17px);padding:5px 10px;border-radius:10px;box-shadow:0 4px 12px #2319;transform:rotate(-7deg)}
.map-help{padding:14px;text-align:center;font-weight:600;color:#334c7e;background:#f3f9ff;margin:0}
.map-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:150;background:#203963;color:#fff;border-radius:15px;padding:16px 24px;box-shadow:0 10px 30px #2346}
@media(max-width:760px){.approved-map{min-width:850px}.map-scroll{border-radius:0}.map-help{font-size:13px}}

.map-hotspot.synthetic{background:linear-gradient(180deg,#75e26d,#329d39);border:3px solid #fff;color:#fff;font-size:clamp(11px,1.4vw,20px);font-weight:900;box-shadow:0 3px 10px #183c6580}
.map-hotspot.synthetic.locked{background:linear-gradient(180deg,#a9b4bd,#75818e)}
.progress-dynamic{position:absolute;z-index:4;left:83.2%;top:3.9%;width:5%;height:3%;display:grid;place-items:center;background:#f9fbff;color:#21346b;font-weight:900;font-size:clamp(12px,1.4vw,19px)}

/* Responsive, real DOM adventure map: no image-position hotspots. */
body:has(#parkurView.active){background:linear-gradient(160deg,#d6ecff,#ebfaff 52%,#f5f4ff)}
body:has(#parkurView.active) .topbar{display:flex}
#app:has(#parkurView.active){max-width:1400px;padding:14px}
.adventure-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:20px 0;background:linear-gradient(115deg,#ffffffef,#e4f2ff);border:1px solid #fff;border-radius:26px;padding:23px 28px;box-shadow:var(--shadow)}
.adventure-eyebrow{color:#4668b1;font-weight:850;letter-spacing:.02em}.adventure-head h1{margin:5px 0 6px;color:#222c85;font-size:clamp(28px,3vw,42px)}.adventure-head p{margin:0;color:#56708e}
.adventure-continue{flex:none;min-height:48px;border:0;border-radius:17px;padding:13px 22px;font-weight:850;color:white;background:linear-gradient(#ffb841,#ff8115);box-shadow:0 6px 0 #c76610;cursor:pointer}
.adventure-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch;position:relative}
.adventure-region{--water:#72c9fa;--hill:#62c65d;--dark:#29733f;--station:#287df0;min-width:0;position:relative;overflow:hidden;border:5px solid white;border-radius:34px;background:linear-gradient(180deg,#7ed6ff 0,#c4f0ff 46%,#77cffa 47%,#46b9ed 100%);box-shadow:0 18px 25px #1c70a92b;min-height:310px;padding:15px;isolation:isolate}
.adventure-region:before{content:'';position:absolute;inset:75px 18px 50px;border-radius:48% 40% 35% 42%;transform:rotate(-5deg);background:linear-gradient(180deg,var(--hill),#8bde68 60%,#73533b 61%,#855a3d 77%,#3a8cac);box-shadow:0 12px 0 #347e8c70;z-index:-1}
.adventure-region:after{content:'☁';font-size:70px;color:#ffffff9c;position:absolute;right:-5px;top:20px;z-index:-2}
.tone-green{--hill:#58c578;--station:#1ebf67}.tone-orange{--hill:#e8be70;--station:#f29c1d}.tone-pink{--hill:#b7a1ed;--station:#9854ee}.tone-teal{--hill:#7fd7a5;--station:#db613d}.tone-purple{--hill:#9fd48c;--station:#9e4eee}
.region-landscape{position:absolute;inset:0;pointer-events:none;opacity:.95}.landscape-item{position:absolute;right:16px;top:42px;font-size:43px;filter:drop-shadow(0 5px 3px #174e6055)}.landscape-symbol{position:absolute;right:25px;bottom:66px;font-size:65px;filter:drop-shadow(0 7px 2px #174e6055)}
.region-content{position:relative;height:100%;display:flex;flex-direction:column;justify-content:space-between;min-height:272px;gap:20px}.region-heading{background:#fff9edec;border:2px solid #ffdead;border-radius:18px;padding:12px 14px;width:max-content;max-width:90%;box-shadow:0 5px 0 #ae78375c}.region-count{font-size:12px;font-weight:900;color:#946327}.region-heading h2{font-size:clamp(18px,2vw,25px);line-height:1.12;color:#503215;margin:2px 0 3px}.region-heading p{color:#78532d;font-size:13px;font-weight:700;margin:0}
.region-stations{display:flex;justify-content:center;gap:8px;align-items:center;flex-wrap:nowrap;margin-bottom:14px}.adventure-station{position:relative;display:flex;align-items:center;justify-content:center;flex:0 1 66px;min-width:48px;height:61px;border-radius:50%;border:4px solid #fff;box-shadow:0 5px 0 #19396765,0 6px 17px #174f7b40;color:white;font-weight:900;background:linear-gradient(180deg,color-mix(in srgb,var(--station),white 24%),var(--station));cursor:pointer;touch-action:manipulation;transition:transform .15s ease;z-index:2}
.adventure-station:is(:hover,:focus-visible){transform:translateY(-4px);outline:3px solid #173c9a;outline-offset:2px}.station-number{font-size:22px}.station-status{font-size:10px;position:absolute;right:-7px;bottom:-8px;width:22px;height:22px;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;background:#1a843c}.is-complete{background:linear-gradient(#5ddd7c,#1b9d46)}.is-locked{background:linear-gradient(#acbbce,#7b91aa);color:#eff2f7;opacity:.95;cursor:not-allowed}.is-locked .station-status{background:#6a7d99}.is-locked:is(:hover,:focus-visible){transform:none;outline:none}
.adventure-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#ffffffc9;border-radius:20px;padding:13px 18px;margin-top:18px;color:#26457c;font-weight:800}.adventure-footer button{border:none;background:#dceafa;color:#2156a3;border-radius:12px;font-weight:800;padding:11px 16px;min-height:44px;cursor:pointer}.map-help{padding:0 8px;color:#54708d}
/* Modals must fit within the phone viewport and keep the question in a single screen at a time. */
.modal-backdrop{overflow-y:auto;align-items:flex-start}.modal-card{max-height:calc(100dvh - 30px);overflow-y:auto;margin:auto}.quiz-card{min-width:0}.q-card-left,.q-side{min-width:0}
@media(max-width:900px){.adventure-map{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#app:has(#parkurView.active){padding:8px}.topbar{position:static;padding:10px;gap:8px}.brand-text{font-size:19px}.brand-mark{width:35px;height:35px;font-size:19px}.tabs{gap:5px}.tab{font-size:12px;padding:9px 7px;min-height:44px}.topbar-right{display:none}.adventure-head{flex-direction:column;align-items:flex-start;padding:17px;margin:12px 0}.adventure-head h1{font-size:28px}.adventure-continue{width:100%}.adventure-map{grid-template-columns:1fr;gap:14px}.adventure-region{min-height:250px;padding:12px;border-width:3px}.region-content{min-height:220px}.region-stations{margin-bottom:9px;gap:9px}.adventure-station{height:56px;max-width:65px;min-width:50px}.station-number{font-size:20px}.region-heading h2{font-size:21px}.modal-backdrop{padding:7px}.modal-card{max-height:calc(100dvh - 14px);width:100%;border-radius:18px;border-width:2px}.modal-inner{padding:10px}.crumbs{gap:4px;font-size:11px}.crumb-pill{padding:6px 8px}.back-btn{width:44px;height:44px;flex:none}.quiz-layout{padding:5px}.quiz-top{justify-content:center;gap:8px}.progress-nodes{gap:5px}.pnode{width:30px;height:30px;font-size:12px}.quiz-card{padding:12px;gap:12px;border-radius:14px}.q-card-left h3{font-size:22px}.question-title{font-size:17px}.skill-badge{margin-left:4px;padding:5px 7px;font-size:11px}.image-panel{height:165px}.options{gap:6px}.option{padding:10px;font-size:15px;min-height:44px}.option b{width:27px;height:27px;flex:none}.reading-box,.prompt-box{font-size:16px;line-height:1.4;padding:12px}.order-item{padding:9px;gap:7px;font-size:14px}.order-actions{gap:4px}.order-actions button{width:36px;height:38px}.q-side{display:none}.q-actions{flex-direction:column;align-items:stretch}.nav-btn{font-size:16px;min-height:48px}.feedback-box{font-size:13px;min-height:42px}.stop-overview{padding:10px 0;gap:12px}.stop-overview h2{font-size:29px}.stop-overview h3{font-size:24px}.stop-overview p{font-size:16px}.detail-grid{gap:7px}.detail{padding:10px}.detail strong{font-size:15px}.detail span{font-size:14px}.preview-image{height:120px}.large-start{font-size:18px;padding:13px}.result-wrap{padding:10px}.result-banner{padding:12px;gap:9px}.big-title{font-size:36px}.result-box{padding:10px}.result-box strong{font-size:22px}}
@media(prefers-reduced-motion:reduce){.adventure-station{transition:none}}