/* Adventure-map extension of the approved Pixel learning-game world. */
.header-tools { direction:ltr; }
.header-level { display:inline-flex; align-items:center; gap:7px; padding:9px 12px; border:2px solid #49745a; border-bottom-width:4px; border-radius:14px; background:#203e32; color:#baf1d0; text-decoration:none; white-space:nowrap; font-size:14px; font-weight:650; direction:rtl; }
.header-level svg { width:18px; height:18px; }
.welcome-layout { min-height:260px; padding-bottom:8px; }
.mascot-stage { height:255px; padding-top:25px; }
.hero-mascot { height:230px; width:210px; }
.mascot-speech { top:0; }
.welcome-copy h2 { font-size:40px; }
.welcome-copy>p { font-size:16px; }
.learning-overview { padding:16px 0; margin-bottom:24px; }
.overview-item { align-items:center; }
.overview-item .stat-symbol { display:grid; place-items:center; flex:0 0 43px; width:43px; height:43px; padding:0; line-height:1; }
.overview-item .stat-symbol>svg { display:block; color:inherit; margin:0; }
.overview-item>div { display:flex; flex-direction:column; justify-content:center; min-height:43px; gap:4px; }
.overview-item strong { line-height:1; font-variant-numeric:tabular-nums; }
.game-layout { grid-template-columns:minmax(0,1fr) 245px; gap:25px; }
.game-sidebar { position:sticky; top:20px; }
.level-heading { display:none; }
.sidebar-pixel { display:flex; align-items:center; flex-direction:column; padding-top:24px; text-align:center; }
.sidebar-pixel img { width:145px; height:160px; object-fit:contain; }
.sidebar-pixel p { color:var(--muted); font-size:14px; line-height:1.8; }
.sidebar-pixel strong { color:var(--text); font-weight:500; }
.adventure-map { border:2px solid var(--line); border-radius:22px; overflow:hidden; scroll-margin-top:20px; background:#152b35; }
.adventure-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:22px 24px 17px; }
.adventure-heading h2 { font-size:25px; font-weight:750; margin:0 0 5px; }
.adventure-heading p { color:var(--muted); font-size:12px; }
.adventure-heading .button-subtle { flex-shrink:0; font-size:12px; }
.world-tabs { display:flex; gap:7px; padding:0 20px 18px; }
.world-tabs button { flex:1; display:flex; align-items:center; justify-content:center; gap:6px; border:2px solid #3a5664; border-bottom-width:4px; border-radius:13px; background:#203a46; color:#bed0d9; padding:9px 7px; font-size:12px; font-weight:500; }
.world-tabs button svg { width:18px; height:18px; }
.world-tabs button[aria-selected=true] { background:#28503c; border-color:#55976d; color:#b7f3cd; }
.world-tabs button:hover { border-color:#78a5b9; }
.world-intro { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:17px 24px; background:#244d3b; }
.world-intro h3 { margin:0 0 5px; font-size:21px; color:#c4f6d8; }
.world-intro p { font-size:12px; color:#bdd8c9; }
.world-intro>span { font-size:14px; font-weight:650; direction:ltr; color:#c4f6d8; white-space:nowrap; }
.adventure-map[data-world="1"] .world-intro { background:#24495b; }
.adventure-map[data-world="1"] .world-intro h3,.adventure-map[data-world="1"] .world-intro>span { color:#c5edff; }
.adventure-map[data-world="2"] .world-intro { background:#49432e; }
.adventure-map[data-world="2"] .world-intro h3,.adventure-map[data-world="2"] .world-intro>span { color:#ffe5a4; }
.map-scroll { height:560px; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; scrollbar-color:#4c7868 #152b35; }
.map-canvas { height:1060px; position:relative; direction:ltr; }
.map-path { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.map-path path { fill:none; stroke:#355547; stroke-width:19px; stroke-linecap:round; stroke-dasharray:2 28; }
.adventure-map[data-world="1"] .map-path path { stroke:#365564; }
.adventure-map[data-world="2"] .map-path path { stroke:#5c543b; }
.map-level { position:absolute; transform:translate(-50%,-50%); width:66px; z-index:2; }
.map-node { width:66px; height:66px; display:grid; place-items:center; border-radius:25px; border:3px solid #5a7e6b; border-bottom:8px solid #2b6448; background:#325945; color:#ccebd9; font-size:22px; font-weight:800; transition:transform .18s,background .18s; }
.map-node svg { width:25px; height:25px; stroke-width:3; }
.map-level.current .map-node { background:var(--accent); border-color:#c0f5d5; border-bottom-color:#3f9667; color:#153f28; transform:rotate(-7deg); }
.map-level.complete .map-node { background:#326b4c; border-color:#67b885; border-bottom-color:#204b35; color:#d0f8de; }
.map-level.locked .map-node { background:#243b45; border-color:#3b5560; border-bottom-color:#1b3039; color:#8ba6b4; }
.map-node:hover { transform:translateY(-3px); }
.map-node:active { transform:translateY(2px); }
.map-level-label { position:absolute; top:50%; transform:translateY(-50%); width:155px; direction:rtl; text-align:start; pointer-events:none; }
.label-right .map-level-label { left:80px; }
.label-left .map-level-label { right:80px; }
.map-level-label strong { color:#b4cebe; font-size:11px; display:block; }
.map-level-label>span { color:#e1ede7; font-size:13px; font-weight:550; display:block; line-height:1.45; margin-top:3px; }
.map-level.locked .map-level-label>span { color:#aec2cc; }
.map-level-stars { display:flex; gap:3px; direction:ltr; margin-top:4px; color:#466053; }
.map-level-stars svg { width:12px; height:12px; }
.map-level-stars .earned { color:var(--warm); fill:var(--warm); }
.map-you { position:absolute; transform:translateX(-50%); border-radius:8px; border:1px solid #579e74; background:#254c37; color:#c7f7d9; font-size:11px; font-weight:650; padding:4px 10px; white-space:nowrap; direction:rtl; z-index:3; }
.map-companion { position:absolute; width:108px; height:135px; object-fit:contain; pointer-events:none; }
.map-resting { width:100px; height:120px; }
.map-action { padding:17px 22px; border-top:2px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:15px; }
.map-action p { font-size:12px; color:#bad1c4; line-height:1.8; max-width:32ch; }
.map-action .button-primary { font-size:14px; white-space:nowrap; min-height:46px; }
.next-step { margin-top:18px; }
.topic-library { border:2px solid var(--line); border-radius:18px; padding:0 22px; margin-top:15px; }
.topic-library>summary { cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:15px; padding-block:19px; list-style:none; }
.topic-library>summary::-webkit-details-marker { display:none; }
.topic-library>summary>span { display:flex; align-items:center; gap:8px; font-size:16px; font-weight:600; }
.topic-library>summary>span:last-child { font-size:12px; color:var(--muted); font-weight:400; }
.topic-library>summary svg { width:21px; height:21px; color:var(--sky); }
.topic-library-content { padding:10px 0 22px; }
.runner-active .app-header { padding-top:12px; }
.runner-active .header-main { padding-bottom:10px; }
.runner-active .app-nav { padding-bottom:6px; }
.runner-active .app-main { padding-top:13px; padding-bottom:15px; }
.runner-active .app-footer { display:none; }
.runner-active #appNotice { margin-bottom:10px; font-size:12px; padding:8px 12px; }
.runner-workspace { display:grid; grid-template-columns:150px minmax(0,740px) 150px; gap:12px 20px; justify-content:center; direction:ltr; }
.runner-toolbar { grid-column:2; display:flex; align-items:center; gap:18px; direction:rtl; min-height:43px; }
.runner-toolbar .tool-button { padding:7px 11px; min-height:39px; font-size:13px; }
.runner-progress { flex:1; }
.runner-progress>span { display:block; font-size:12px; color:var(--muted); text-align:center; margin-bottom:6px; }
.runner-progress-track { height:10px; overflow:hidden; border-radius:6px; background:#2b4554; }
#runnerProgressBar { height:100%; transition:width .16s; }
.runner-jump { position:relative; }
.runner-jump>summary { list-style:none; display:flex; align-items:center; gap:5px; cursor:pointer; color:var(--muted); font-size:12px; padding:8px; }
.runner-jump>summary svg { width:19px; height:19px; }
.runner-jump>summary::-webkit-details-marker { display:none; }
.runner-jump-panel { position:absolute; top:45px; left:0; z-index:8; background:#1c3442; border:2px solid var(--line); border-radius:15px; width:280px; padding:15px; box-shadow:0 12px 30px #0004; }
#runnerAnsweredSummary { display:block; font-size:12px; color:var(--muted); margin-bottom:10px; }
#questionNavPills { display:flex; flex-wrap:wrap; gap:6px; direction:rtl; }
#questionNavPills button { min-width:34px; min-height:34px; font-size:13px; }
.runner-workspace .runner-buddy { direction:rtl; grid-column:1; grid-row:2; flex-direction:column; justify-content:flex-start; gap:8px; align-self:center; margin:0; }
.runner-workspace .runner-buddy img { width:130px; height:150px; }
.runner-workspace .runner-buddy p { padding:10px 11px; font-size:12px; text-align:center; max-width:145px; }
.runner-question-card { direction:rtl; grid-column:2; padding:22px 26px 15px; border:2px solid var(--line); border-radius:22px; background:var(--surface); min-width:0; }
.runner-question-heading { display:flex; align-items:center; justify-content:space-between; gap:15px; min-height:23px; }
.runner-question-heading h2 { margin:0; color:var(--sky); font-size:13px; font-weight:550; }
#questionPrompt { margin:15px auto; font-size:25px; line-height:1.55; font-weight:650; text-align:center; max-width:40ch; }
#questionPrompt .font-mono { font-variant-numeric:tabular-nums; }
#questionVisualArea { display:flex; align-items:center; justify-content:center; background:transparent; border:0; padding:4px 0; margin:6px 0 12px; min-height:0; direction:ltr; overflow:visible; }
#questionVisualArea svg { width:auto; max-width:100%; max-height:145px; object-fit:contain; }
.question-answers { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; margin-top:14px; }
#viewRunner .choice-option { display:flex; align-items:center; justify-content:center; gap:8px; min-height:59px; padding:10px 14px; font-size:21px; border-radius:15px; line-height:1.35; }
#viewRunner .choice-option .text-xl { font-size:inherit; }
.runner-actions { display:flex; align-items:center; justify-content:space-between; gap:14px; padding-top:13px; margin-top:16px; border-top:1px solid var(--line); }
.auto-advance-note { color:var(--muted); font-size:11px; }
.runner-actions #runnerNavStatusText { width:1px!important; height:1px!important; left:1px; margin:0!important; }
#viewRunner #nextQuestionBtn { min-height:38px; font-size:12px; padding:7px 11px; border-bottom-width:3px; border-radius:11px; }
#prevQuestionBtn { border:0; background:transparent; min-height:38px; padding:7px; font-size:12px; }
#prevQuestionBtn:disabled { visibility:hidden; }
#showExplanationBtn { padding:6px 9px; font-size:11px; border:1px solid #3c677b; border-radius:9px; }
#solutionBox { padding:15px; margin-top:14px; border:1px solid #3d6877; }
#solutionBox h4 { margin:0 0 10px; font-size:15px; }
#solutionText { font-size:15px; line-height:1.8; }
#feedbackBanner { margin-top:14px; padding:13px; font-size:14px; }
#runnerReviewBanner { display:flex; align-items:center; gap:11px; padding:12px; margin-bottom:17px; }
#runnerReviewBanner>img { width:59px; height:65px; object-fit:contain; }
#runnerReviewBanner h4 { margin:0 0 5px; font-size:15px; }
#runnerReviewBanner p { color:#c4e4d0; font-size:11px; line-height:1.6; }
#runnerReviewBanner>.button-secondary { padding:8px; font-size:11px; flex-shrink:0; }
.runner-start-choice { max-width:760px; display:flex; align-items:center; gap:25px; padding:28px; background:var(--surface); border:2px solid var(--line); border-radius:22px; margin:20px auto; }
.runner-start-choice>img { width:120px; height:140px; object-fit:contain; }
.runner-start-choice h2 { font-size:24px; margin:0 0 12px; }
.runner-start-choice p { color:var(--muted); font-size:15px; line-height:1.8; }
.choice-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.choice-actions .button-primary,.choice-actions .button-secondary { font-size:13px; }
body.runner-choosing #runnerWorkspace { display:none; }
.vertical-math { display:inline-grid; width:max-content; direction:ltr; unicode-bidi:isolate; padding:11px 18px; border:2px solid #7d6b3c; border-radius:15px; background:#11232f; font:550 30px/1.35 Rubik,Arial,sans-serif; font-variant-numeric:tabular-nums lining-nums; color:var(--text); }
.vertical-row { display:grid; grid-template-columns:1.1ch 6.2ch; column-gap:.3ch; align-items:center; }
.vertical-number { display:block; text-align:right; letter-spacing:0; }
.vertical-operator { text-align:left; }
.vertical-rule { padding-bottom:3px; border-bottom:2px solid #d2e3eb; }
.vertical-result { padding-top:3px; color:var(--warm); }
@media(max-width:1100px){.runner-workspace{grid-template-columns:110px minmax(0,700px) 30px;gap:12px}.runner-workspace .runner-buddy img{width:100px;height:118px}.runner-workspace .runner-buddy p{font-size:11px;padding:9px}.game-layout{grid-template-columns:minmax(0,1fr) 210px;gap:18px}.map-level-label{width:120px}.world-tabs button{font-size:11px}.world-tabs button svg{width:15px;height:15px}}
@media(max-width:800px){.runner-workspace{grid-template-columns:minmax(0,740px)}.runner-toolbar,.runner-question-card{grid-column:1}.runner-workspace .runner-buddy{display:none}.game-layout{grid-template-columns:1fr}.game-sidebar{display:none}.map-level-label{width:155px}.hero-mascot{height:210px;width:180px}.mascot-stage{height:245px}.welcome-layout{grid-template-columns:1fr 230px;gap:20px;min-height:250px}.welcome-copy h2{font-size:34px}.header-level{font-size:12px;padding:8px 9px}.learner-name{display:none}.map-scroll{height:520px}}
@media(max-width:560px){
 .header-tools{gap:6px}.header-tools .scratch-label{display:none}.header-level{font-size:12px;gap:5px;padding:7px 8px}.header-level svg{width:16px;height:16px}.header-tools .tool-button{padding:7px;min-height:38px}.header-main{gap:10px}.wordmark strong{font-size:22px}.wordmark small{font-size:9px}.wordmark-mark{width:37px;height:37px;border-radius:13px}.wordmark{gap:6px}
 .welcome-layout{grid-template-columns:minmax(0,1fr) 135px;gap:9px;min-height:230px}.welcome-copy h2{font-size:27px}.welcome-copy>p{font-size:13px}.welcome-actions{margin-top:17px}.welcome-actions .button-primary{font-size:13px;padding-inline:12px}.welcome-actions .hero-secondary{font-size:11px}.hero-mascot{width:133px;height:164px}.mascot-stage{height:220px;padding-top:45px}.mascot-speech{font-size:10px;top:10px;padding:7px 8px}.hero-footnote,.mascot-sparkle{display:none!important}
 .overview-item{gap:8px}.overview-item .stat-symbol{flex-basis:31px;width:31px;height:36px;border-radius:10px}.overview-item .stat-symbol>svg{display:block!important;width:19px;height:19px}.overview-item strong{font-size:20px}.overview-item span:not(.stat-symbol){font-size:11px}.overview-item+.overview-item{padding-inline-start:5px}.learning-overview{padding-block:14px}
 .adventure-heading{padding:18px 16px 12px;gap:10px}.adventure-heading h2{font-size:23px}.adventure-heading p{font-size:11px;max-width:23ch}.adventure-heading .button-subtle{font-size:11px}.world-tabs{padding:0 12px 14px;gap:5px}.world-tabs button{font-size:10px;padding:8px 4px;gap:4px;flex-direction:column}.world-tabs button svg{width:18px;height:18px}.world-intro{padding:15px 17px}.world-intro h3{font-size:19px}.world-intro p{font-size:11px;max-width:26ch}.map-scroll{height:480px}.map-node{width:57px;height:59px;border-radius:22px;font-size:20px}.map-level{width:57px}.map-level-label{width:105px}.map-level-label>span{font-size:11px}.label-right .map-level-label{left:68px}.label-left .map-level-label{right:68px}.map-level-stars svg{width:10px;height:10px}.map-companion{width:75px;height:95px}.map-resting{width:70px;height:90px}.map-action{padding:15px;gap:10px}.map-action p{font-size:11px;max-width:20ch}.map-action .button-primary{font-size:13px;padding:10px 13px}.next-step{padding:17px}.topic-library{padding-inline:16px}.topic-library>summary>span{font-size:14px}.topic-library>summary>span:last-child{font-size:11px}
 .runner-active .app-header{padding-top:8px}.runner-active .header-main{padding-bottom:6px}.runner-active .wordmark small{display:none}.runner-active .app-nav .nav-tabs button{padding:7px 9px;font-size:11px}.runner-active .sync-status{font-size:9px;padding-block:5px}.runner-active .app-main{padding-top:8px}.runner-workspace{gap:9px}.runner-toolbar{gap:10px}.runner-toolbar .tool-button{font-size:11px;padding:6px 8px;min-height:35px}.runner-jump>summary{padding:6px;font-size:11px}.runner-jump-panel{width:260px}.runner-progress>span{font-size:11px}.runner-question-card{padding:15px 14px 10px;border-radius:18px}.runner-question-heading h2{font-size:11px}#questionPrompt{font-size:20px;line-height:1.5;margin:13px auto}#questionPrompt .text-2xl,#questionPrompt .text-xl{font-size:22px}#questionVisualArea{padding:0;margin:6px 0 11px}#questionVisualArea svg{max-height:122px}.question-answers{gap:9px;margin-top:12px}#viewRunner .choice-option{min-height:55px;padding:9px 8px;font-size:18px;border-radius:13px}.runner-actions{gap:7px;margin-top:13px;padding-top:8px}.auto-advance-note{font-size:9px}#viewRunner #nextQuestionBtn{font-size:11px;min-height:35px;padding:6px 8px}#prevQuestionBtn{font-size:11px;min-height:35px}#prevQuestionBtn svg{display:none}.vertical-math{font-size:26px;padding:8px 13px}#runnerReviewBanner{flex-wrap:wrap}#runnerReviewBanner>img{width:46px;height:53px}#runnerReviewBanner>div{flex:1}#runnerReviewBanner>.button-secondary{width:100%}.runner-start-choice{flex-direction:column;gap:12px;padding:23px;margin-top:12px;text-align:center}.runner-start-choice>img{height:110px;width:100px}.runner-start-choice h2{font-size:23px}.runner-start-choice p{font-size:14px}.choice-actions{justify-content:center}.choice-actions .button-primary{width:100%}
}
@media(prefers-reduced-motion:reduce){.map-node,#runnerProgressBar{transition:none}}
