*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:Mabni,'Segoe UI',sans-serif;color:#203e48;background:#edf3f2}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #efbd42;outline-offset:3px}button:disabled{cursor:default;opacity:.55}.learn-header{height:70px;background:#183e48;color:#fff;display:flex;align-items:center;gap:18px;padding:10px 20px}.home-brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:inherit;font-weight:900;letter-spacing:.07em}.home-brand img{width:39px;height:39px;background:white;border-radius:10px;padding:4px}.course-name{font-size:15px;font-weight:800;white-space:nowrap}.course-name small{display:block;color:#a8c8ca;font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:2px}.level-circles{display:flex;justify-content:center;gap:7px;flex:1;min-width:0;overflow:auto;scrollbar-width:none;padding:4px}.level-circles a,.level-circles button{flex:none;width:35px;height:35px;border:1px solid #719197;border-radius:50%;display:grid;place-items:center;text-decoration:none;color:#e5f1f1;background:#325662;font-weight:800;font-size:13px;position:relative}.level-circles .done{background:#278779;border-color:#83cab8;color:#fff}.level-circles .done:after{content:'✓';position:absolute;right:-2px;top:-3px;border-radius:50%;background:#d4f4d9;color:#165847;font-size:9px;width:14px;height:14px;display:grid;place-items:center}.level-circles [aria-current=step]{background:#f3c959;color:#173c47;border-color:#f3c959;box-shadow:0 0 0 3px #698076}.header-action{color:inherit;background:transparent;border:1px solid #68878e;border-radius:10px;padding:9px 12px;font-size:13px;text-decoration:none;white-space:nowrap}.learn-layout{height:calc(100dvh - 70px);display:grid;grid-template-columns:minmax(360px,43%) minmax(0,1fr);gap:16px;padding:16px;max-width:2100px;margin:auto}.play-panel,.code-panel{min-width:0;min-height:0;background:white;border:1px solid #d5e2e2;border-radius:18px;overflow:hidden;display:flex;flex-direction:column}.stage-caption{height:46px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;gap:10px;font-size:13px;font-weight:800}.stage-caption span{color:#74888e;font-size:12px;font-weight:600}.game-stage{flex:1;min-height:180px;margin:0 12px;border-radius:13px;overflow:hidden;position:relative;background:#d8e6d6}.game-stage svg{display:block;width:100%;height:100%;position:absolute;inset:0}.game-stage .stage-label{font:700 13px Mabni,'Segoe UI',sans-serif;fill:#f4f9f6}.stage-score{position:absolute;top:12px;left:12px;background:#fffef4ed;border-radius:10px;padding:7px 12px;font-weight:800;font-size:13px;color:#204644;box-shadow:0 2px 8px #203b4720}.stage-score span{font-size:11px;font-weight:600;margin-right:6px;color:#567778}.play-controls{min-height:76px;display:flex;align-items:center;gap:9px;padding:12px}.primary-button{background:#6b55af;border:0;border-bottom:4px solid #4c3c87;color:white;padding:11px 25px;border-radius:11px;font-weight:850;min-height:45px}.primary-button.running{background:#c35156;border-bottom-color:#9d373e}.quiet-button{background:#f5f8f8;color:#385760;border:1px solid #d4e0e1;border-radius:10px;padding:10px 13px;font-weight:750;min-height:41px}.arrow-pad{display:flex;gap:5px;margin-left:auto}.arrow-pad button{width:43px;height:43px;border:1px solid #9cbdc4;border-bottom-width:3px;border-radius:10px;background:#eaf4f4;color:#254f5a;font-size:23px;touch-action:none}.arrow-pad button:active,.arrow-pad button.held{background:#c3e1df;transform:translateY(1px)}.game-status{margin:0;padding:0 17px 12px;min-height:34px;font-size:12px;color:#5d757b;line-height:1.5}.mission-bar{padding:16px 19px;border-bottom:1px solid #d5e2e2;display:flex;align-items:flex-start;gap:14px}.mission-bar .mission-number{display:grid;place-items:center;border-radius:12px;background:#eee9f9;color:#6a4fa4;flex:none;width:38px;height:38px;font-size:19px;font-weight:900}.mission-bar h1{font-size:19px;line-height:1.25;margin:0 0 5px;font-weight:850}.mission-bar p{font-size:13px;line-height:1.45;color:#56727a;margin:0}.mission-bar .quiet-button{margin-left:auto;font-size:12px;min-height:34px;padding:7px 10px}.workspace-tools{height:41px;display:flex;align-items:center;gap:12px;padding:0 17px;background:#fbfcfc;border-bottom:1px solid #e4eded}.workspace-tools strong{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#678087}.workspace-tools button{border:0;background:none;color:#627a81;font-size:11px;font-weight:700;padding:5px}.workspace-tools button:first-of-type{margin-left:auto}.block-workspace{flex:1;min-height:150px;position:relative}.blocklyMainBackground{stroke:none!important;fill:#f8fbfc!important}.blocklyFlyoutBackground{fill:#eaf0f1!important;fill-opacity:1!important}.blocklyToolboxDiv{background:#f0f4f4!important}.blocklyScrollbarBackground{fill:none!important}.blocklyScrollbarHandle{fill:#becdd1!important}.blocklyText{font-family:Mabni,'Segoe UI',sans-serif!important}.hint-box{background:#fff5d9;padding:12px 18px;font-size:13px;line-height:1.5;color:#725820;border-bottom:1px solid #eedda7}.hint-box[hidden]{display:none}.learn-dialog{border:1px solid #d0dfe0;border-radius:22px;padding:28px;max-width:min(520px,92vw);color:#23444d;box-shadow:0 25px 80px #102c4950}.learn-dialog::backdrop{background:#13333d80;backdrop-filter:blur(5px)}.learn-dialog h2{font-size:27px;margin:7px 0 10px}.learn-dialog p{line-height:1.6;color:#57737b}.learn-dialog .dialog-art{width:110px;height:110px;display:block;margin:auto}.dialog-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:20px}.world-dialog{border:0;border-radius:22px;padding:24px;max-width:min(760px,94vw);color:#203e48}.world-dialog::backdrop{background:#193c4b99;backdrop-filter:blur(5px)}.world-dialog-head{display:flex;justify-content:space-between;gap:12px}.world-dialog-head h2{margin:6px 0}.world-dialog-head p{color:#647c81;font-size:13px}.world-dialog-head small{font-size:10px;letter-spacing:.15em;color:#687f85}.world-dialog-head button{border:0;background:none;font-size:25px;height:34px;width:34px}.world-options{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin:16px 0}.world-options button,.rover-options button{border:2px solid #dce6e5;border-radius:13px;background:#fff;padding:9px;display:flex;flex-direction:column;align-items:center;color:#25434c}.world-options button[aria-pressed=true],.rover-options button[aria-pressed=true]{border-color:#258c7b;background:#eff8f3}.world-options img{width:100%;aspect-ratio:1.4;object-fit:cover;border-radius:8px}.world-options strong{margin:10px 0 4px}.world-options span{font-size:11px;color:#657d83}.rover-options{display:flex;gap:10px}.rover-options button{flex:1;flex-direction:row;gap:8px;text-align:left}.rover-options img{width:52px;height:52px}.rover-options small{display:block;font-size:10px;color:#668185}.appearance-options{display:none}.world-dialog h3{font-size:14px}.world-dialog button{font:inherit}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);border-radius:12px;background:#173e48;color:white;padding:12px 20px;z-index:100;font-size:13px;box-shadow:0 6px 20px #123b4940}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}
@media(min-width:1600px){.learn-header{padding-inline:25px}.level-circles{gap:10px}.level-circles a{width:38px;height:38px}.mission-bar{padding:19px 22px}.mission-bar h1{font-size:21px}.mission-bar p{font-size:14px}.game-status{font-size:13px}}@media(max-width:1050px){.home-brand span{display:none}.learn-header{gap:11px;padding:8px 12px}.level-circles{gap:4px}.level-circles a{width:28px;height:28px;font-size:11px}.course-name{font-size:13px}.header-action{padding:8px;font-size:11px}.learn-layout{grid-template-columns:minmax(300px,43%) minmax(0,1fr);gap:10px;padding:10px}.play-controls{gap:5px;padding:10px}.primary-button{padding:10px 18px}.arrow-pad button{width:33px;height:39px}.quiet-button{padding:8px 10px}.mission-bar{padding:13px;gap:10px}.mission-bar h1{font-size:17px}.mission-bar p{font-size:12px}}@media(max-width:720px){.learn-header{height:auto;min-height:65px;flex-wrap:wrap}.level-circles{order:5;flex-basis:100%}.course-name{margin-right:auto}.learn-layout{height:auto;display:flex;flex-direction:column;padding:9px}.play-panel{min-height:400px}.game-stage{min-height:290px}.code-panel{height:650px}.play-controls{justify-content:center}.arrow-pad{margin-left:15px}.world-options span{display:none}.rover-options small{display:none}.rover-options img{width:34px}.world-dialog{padding:16px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.workspace-zoom{display:flex;align-items:center;gap:2px}.workspace-zoom button{min-width:24px;height:25px;padding:2px 6px;background:#edf3f3;border-radius:5px;font-size:14px;line-height:1}.workspace-zoom #zoomFit{font-size:11px}.workspace-tools #starterBtn{margin-left:auto}@media(max-width:720px){.workspace-tools{height:auto;min-height:41px;flex-wrap:wrap;gap:5px 10px;padding:7px 12px}}

.goal-progress{position:absolute;left:14px;top:14px;max-width:65%;padding:9px 13px;border-radius:12px;background:#fffef4eF;color:#234d42;font-weight:750;font-size:14px;box-shadow:0 2px 8px #173d4814;pointer-events:none}

/* Keep the mission goal and score in separate corners. */
.game-stage .stage-score{left:auto;right:12px}
