/* Full-screen journey; deliberately independent of the narrow game column. */
#sJourney.jm-journey{--jm-ink:#51402c;--jm-muted:#8a7a61;--jm-accent:#ffb746;--jm-font:'Baloo 2','Arial Rounded MT Bold','Trebuchet MS',sans-serif;position:fixed;inset:0;z-index:70;display:block;padding:0;overflow:hidden;overscroll-behavior:none;background:#fff8e6;color:var(--jm-ink);font-family:var(--jm-font);pointer-events:auto;touch-action:manipulation;isolation:isolate}
#sJourney[hidden]{display:none!important}
#sJourney::before{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 0 100%,#e5eec4 0,transparent 40%),radial-gradient(ellipse at 100% 0,#ffdfc3 0,transparent 38%);content:""}
.jm-journey *{box-sizing:border-box}
.jm-journey button{font-family:var(--jm-font);color:var(--jm-ink);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.jm-journey button:disabled{cursor:default}
.jm-journey button:focus-visible{outline:3px solid #296c78;outline-offset:4px}
.jm-shell{height:100%;width:min(1180px,100%);margin:0 auto;padding:calc(env(safe-area-inset-top,0px) + 14px) calc(env(safe-area-inset-right,0px) + 18px) calc(env(safe-area-inset-bottom,0px) + 14px) calc(env(safe-area-inset-left,0px) + 18px);display:grid;grid-template-rows:auto minmax(0,1fr);gap:16px}
.jm-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;min-width:0}
.jm-back{justify-self:start;display:flex;align-items:center;gap:4px;border:2px solid #e0cfab;border-radius:17px;background:#fffdf2;box-shadow:0 3px 0 #dfcba7;min-height:44px;padding:0 12px 0 7px;font-size:14px;font-weight:800}
.jm-back svg{width:23px;height:23px}
.jm-title{text-align:center;white-space:nowrap}
.jm-eyebrow{display:block;font-size:11px;line-height:1.2;font-weight:800;letter-spacing:1.9px;color:#987457}
.jm-title h1{font-size:27px;line-height:1.05;letter-spacing:-.5px;margin:3px 0 0;font-weight:800}
.jm-total{justify-self:end;display:flex;align-items:center;gap:5px;background:#fff0ac;border:2px solid #e5c36b;border-radius:22px;padding:5px 11px 5px 7px;min-height:36px;white-space:nowrap;box-shadow:0 2px 0 #eddfb7}
.jm-total svg{width:23px;height:23px;fill:#ffc63b;stroke:#b18428;stroke-width:1.4}
.jm-total b{font-size:16px;line-height:1}
.jm-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;min-height:0;align-items:center}
.jm-map-card{position:relative;align-self:stretch;min-height:0;overflow:hidden;display:flex;flex-direction:column;border:3px solid #76b9ac;border-radius:30px;background:linear-gradient(#c2eee8,#83d6d1);box-shadow:0 7px 0 #568e7230,inset 0 2px 0 #f6fff9}
.jm-map-heading{z-index:1;position:absolute;left:18px;right:18px;top:17px;display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:17px;line-height:1;font-weight:800;color:#316c61}
.jm-map-heading i{font-style:normal;color:#64a199;padding:0 3px}
.jm-map-heading>b{font-size:10px;letter-spacing:1px;padding:7px 9px;border:1px solid #6bab983f;background:#f3ffe6aa;border-radius:9px;white-space:nowrap}
.jm-atlas{display:block;width:100%;height:100%;flex:1;min-height:0;overflow:visible}
.jm-map-bottom{position:absolute;bottom:15px;left:18px;right:18px;display:flex;align-items:center;justify-content:space-between;font-size:12px;line-height:1;color:#366f64;font-weight:800}
#jmLocation{background:#effbddcf;border:1px solid #6cae97;border-radius:20px;padding:7px 11px;display:flex;align-items:center;gap:7px}
#jmLocation i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#e58a49;box-shadow:0 0 0 3px #f4dbae}
.jm-compass{font-size:35px;line-height:1;color:#4c9990;opacity:.7}
.jm-map-route{stroke:#fff2cb;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:2 10;fill:none}
.jm-map-route-shadow{stroke:#628d6b;stroke-width:8;opacity:.4;stroke-dasharray:none}
.jm-map-stop .jm-map-dot{fill:#e1efd5;stroke:#65836b;stroke-width:2.5}
.jm-map-stop text{fill:#48654e;font-family:var(--jm-font)}
.jm-map-stop.is-visited .jm-map-dot{fill:#ffdc6b;stroke:#b19544}
.jm-map-stop.is-active .jm-map-dot{fill:#fff5bd;stroke:#996835;stroke-width:3}
.jm-map-halo{fill:#fff6a6;opacity:.55;stroke:#ffdd6b;stroke-width:4}
.jm-map-pin{fill:#f77e58;stroke:#8f583b;stroke-width:3;stroke-linejoin:round}
.jm-clouds{animation:jm-cloud-drift 12s ease-in-out infinite alternate}
.jm-itinerary{display:flex;flex-direction:column;justify-content:center;min-width:0;gap:17px}
.jm-chapter-nav{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:6px}
.jm-arrow{display:grid;place-items:center;padding:0;width:44px;height:44px;border:2px solid #e3d3b8;border-radius:50%;background:#fffef7;box-shadow:0 3px 0 #e5d5ba}
.jm-arrow svg{width:21px;height:21px}
.jm-forward svg{transform:rotate(180deg)}
.jm-arrow:disabled{opacity:.35;box-shadow:none}
.jm-chapter-heading{text-align:center;min-width:0}
.jm-chapter-heading .jm-eyebrow{font-size:10px;letter-spacing:1.8px}
.jm-chapter-heading h2{font-size:34px;line-height:1.12;margin:3px 0 1px;letter-spacing:-.4px;font-weight:800;white-space:nowrap}
.jm-chapter-heading p{font-size:12px;line-height:1.3;margin:0;color:var(--jm-muted);font-weight:800;white-space:nowrap}
.jm-progress{display:flex;align-items:center;gap:11px;padding:0 12px}
.jm-progress-track{flex:1;height:8px;overflow:hidden;border-radius:9px;background:#e7ddc7;box-shadow:inset 0 1px 1px #b9a78830}
.jm-progress-track i{display:block;height:100%;border-radius:inherit;background:#80bc78;box-shadow:inset 0 2px 0 #ffffff40}
.jm-progress>span{font-size:11px;line-height:1;color:#8e826b;font-weight:800;white-space:nowrap}
.jm-trail{position:relative;padding:8px 9px 2px;min-height:0}
.jm-level-route{position:absolute;inset:5px 9px 2px;width:calc(100% - 18px);height:calc(100% - 7px);overflow:visible;pointer-events:none}
.jm-level-route path{fill:none;stroke:#e8dcbf;stroke-width:7;stroke-linecap:round;stroke-dasharray:3 11;vector-effect:non-scaling-stroke}
.jm-levels{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(2,88px);column-gap:7px;row-gap:14px;position:relative}
.jm-level{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;grid-column:var(--jm-column);grid-row:var(--jm-row);gap:6px;background:none;border:0;padding:3px 0;min-width:44px;min-height:44px;border-radius:22px}
.jm-level-circle{position:relative;display:grid;place-items:center;width:61px;height:61px;max-width:100%;border:3px solid #c7b992;border-radius:50%;background:#fffdf0;box-shadow:0 5px 0 #c7b992,inset 0 3px 0 #fff;transition:transform .14s,background .14s,box-shadow .14s}
.jm-level-circle>b{font-size:var(--jm-number-size,23px);line-height:1;font-weight:800;letter-spacing:-.4px}
.jm-level[data-level]:is([data-level^="100"],[data-level^="999"]) .jm-level-circle>b{letter-spacing:-1px}
.jm-level-stars{display:flex;align-items:center;justify-content:center;height:15px;gap:0;pointer-events:none}
.jm-level-stars span{display:flex}
.jm-level-stars svg{width:13px;height:13px;fill:#e4d9bb;stroke:#c6b590;stroke-width:1.2}
.jm-level-stars .is-earned svg{fill:#ffc94e;stroke:#bc8e38}
.jm-level.is-complete .jm-level-circle{background:#f4ebc2;border-color:#b9ad80;box-shadow:0 5px 0 #b9ad80,inset 0 3px 0 #fff8df}
.jm-level.is-current .jm-level-circle{background:linear-gradient(#ffdb63,#ffc245);border-color:#b57a31;box-shadow:0 5px 0 #b57a31,inset 0 3px 0 #ffed9c}
.jm-level.is-selected .jm-level-circle::after{content:"";position:absolute;inset:-7px;border:2px solid #da9752;border-radius:50%;pointer-events:none}
.jm-level.is-current.is-selected .jm-level-circle::after{animation:jm-current-glow 1.8s ease-in-out infinite}
.jm-level.is-locked .jm-level-circle{background:#ede8d7;border-color:#d5ccb4;color:#a0957e;box-shadow:0 4px 0 #d5ccb4,inset 0 3px 0 #f8f5eb}
.jm-level.is-locked .jm-level-stars{opacity:.35}
.jm-level.is-locked .jm-level-circle>b{transform:translateY(-2px)}
.jm-here{position:absolute;left:50%;top:-14px;transform:translateX(-50%);font-size:8px;line-height:1;font-weight:900;letter-spacing:1px;padding:4px 7px;border-radius:7px;background:#8b5532;color:#fff8e4;border:2px solid #fff8e6;z-index:1}
.jm-lock{display:grid;place-items:center;position:absolute;bottom:-5px;right:-4px;border:2px solid #d5ccb4;border-radius:50%;width:22px;height:22px;background:#f4f0e4;color:#9e9176}
.jm-lock svg{width:11px;height:11px}
.jm-preview{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px 13px 17px;background:#fffdf4;border:2px solid #e7d6b5;border-radius:22px;box-shadow:0 4px 0 #ebddc3}
.jm-preview-copy{display:flex;flex-direction:column;min-width:0}
.jm-preview-copy>span{font-size:11px;line-height:1.3;color:#8d7d63;font-weight:800;white-space:nowrap}
.jm-preview-copy>strong{font-size:26px;line-height:1.1;font-weight:800}
.jm-play{min-height:51px;min-width:127px;padding:7px 18px 9px;display:flex;justify-content:center;align-items:center;gap:9px;flex:none;border:3px solid #558b4c;border-radius:17px;background:linear-gradient(#a4d77c,#80bc62);box-shadow:0 4px 0 #558b4c,inset 0 3px 0 #c8eba6;font-size:22px;line-height:1;font-weight:800;color:#284f2b!important}
.jm-play svg{width:20px;height:20px;fill:#fff9df;stroke:#527c43;stroke-width:1.5;stroke-linejoin:round}
.jm-play:disabled{min-width:127px;border-color:#c9c0a8;background:#e2dccb;box-shadow:0 3px 0 #c9c0a8;color:#988d75!important;font-size:14px}
.jm-play:disabled svg{display:none}
.jm-current{display:block;align-self:center;padding:0 8px;min-height:44px;margin:-12px 0 -9px;border:none;background:none;font-size:12px;line-height:1.2;font-weight:800;color:#6e8263!important}
.jm-current:disabled{color:#9c8b70!important}
.jm-journey button:not(:disabled):active{transform:translateY(2px)}
.jm-level:not(:disabled):active{transform:none}
.jm-level:not(:disabled):active .jm-level-circle{transform:translateY(3px);box-shadow:0 2px 0 #b9ad80}
@keyframes jm-cloud-drift{to{transform:translateX(12px)}}
@keyframes jm-current-glow{50%{opacity:.4;transform:scale(1.05)}}
@media (max-width:700px){
 .jm-shell{padding:calc(env(safe-area-inset-top,0px) + 11px) calc(env(safe-area-inset-right,0px) + 13px) calc(env(safe-area-inset-bottom,0px) + 9px) calc(env(safe-area-inset-left,0px) + 13px);gap:12px;max-width:520px}
 .jm-top{grid-template-columns:44px minmax(0,1fr) auto;gap:7px}
 .jm-back{width:44px;padding:0;justify-content:center;border-radius:15px}
 .jm-back>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
 .jm-title .jm-eyebrow{font-size:9px;letter-spacing:2px}
 .jm-title h1{font-size:23px;margin-top:3px}
 .jm-total{padding:5px 8px 5px 5px;gap:3px;max-width:96px}
 .jm-total svg{width:19px;height:19px;flex:none}
 .jm-total b{font-size:14px;overflow:hidden;text-overflow:ellipsis}
 .jm-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(140px,1fr) auto;gap:13px;align-items:stretch}
 .jm-map-card{border-radius:25px;border-width:2px}
 .jm-map-heading{left:13px;right:13px;top:12px;font-size:13px}
 .jm-map-heading>b{font-size:9px;padding:5px 7px}
 .jm-map-bottom{bottom:11px;left:12px;right:13px;font-size:10px}
 #jmLocation{padding:5px 8px;gap:6px}
 .jm-compass{font-size:25px}
 .jm-atlas{padding:0}
 .jm-itinerary{gap:13px}
 .jm-chapter-heading h2{font-size:29px}
 .jm-chapter-heading p{font-size:10px}
 .jm-chapter-heading .jm-eyebrow{font-size:9px}
 .jm-progress{padding:0 8px;gap:9px}
 .jm-progress-track{height:7px}
 .jm-progress>span{font-size:10px}
 .jm-trail{padding:6px 5px 0}
 .jm-levels{grid-template-rows:repeat(2,75px);column-gap:8px;row-gap:9px}
 .jm-level{gap:5px;padding:2px 0}
 .jm-level-circle{width:52px;height:52px;border-width:2.5px}
 .jm-level-circle>b{font-size:var(--jm-number-size,21px)}
 .jm-level-stars svg{width:12px;height:12px}
 .jm-level.is-selected .jm-level-circle::after{inset:-6px}
 .jm-here{top:-13px;font-size:7px;letter-spacing:.7px;padding:3px 6px}
 .jm-preview{padding:10px 10px 11px 13px;gap:7px;border-radius:20px}
 .jm-preview-copy>span{font-size:10px}
 .jm-preview-copy>strong{font-size:24px}
 .jm-play{min-width:117px;min-height:49px;padding:7px 12px 8px;font-size:21px}
 .jm-play:disabled{min-width:117px;font-size:13px}
 .jm-current{font-size:11px;margin:-10px 0 -9px}
}
@media (min-width:701px) and (max-height:570px){
 .jm-shell{padding:12px 20px;gap:12px}
 .jm-title h1{font-size:25px}
 .jm-layout{gap:20px;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
 .jm-itinerary{gap:10px}
 .jm-chapter-heading h2{font-size:28px}
 .jm-chapter-heading p{font-size:11px}
 .jm-chapter-heading .jm-eyebrow{font-size:9px}
 .jm-levels{grid-template-rows:repeat(2,71px);row-gap:7px}
 .jm-level-circle{width:49px;height:49px}
 .jm-level-circle>b{font-size:var(--jm-number-size,20px)}
 .jm-level{gap:4px}
 .jm-level-stars svg{width:11px;height:11px}
 .jm-preview{padding:8px 10px 10px 14px}
 .jm-preview-copy>strong{font-size:24px}
 .jm-play{min-height:47px;font-size:21px}
 .jm-current{margin:-10px 0 -10px}
}
@media (max-width:700px) and (max-height:610px){
 .jm-shell{gap:8px;padding-top:7px;padding-bottom:5px}
 .jm-layout{gap:9px;grid-template-rows:minmax(80px,1fr) auto}
 .jm-itinerary{gap:9px}
 .jm-levels{grid-template-rows:repeat(2,70px);row-gap:5px}
 .jm-level-circle{width:48px;height:48px}
 .jm-chapter-heading h2{font-size:26px}
 .jm-preview{padding-top:8px;padding-bottom:9px}
 .jm-map-heading{top:8px}
 .jm-map-bottom{bottom:7px}
 .jm-current{margin-top:-10px;margin-bottom:-10px}
}
@media (prefers-reduced-motion:reduce){.jm-journey *{animation:none!important;transition:none!important}}
