@charset "UTF-8";
:root{font-family:"Segoe UI",Arial,sans-serif;color:#293748;background:#f4f6fb;font-synthesis:none;--muted:#66768b;--green:#25785e;--purple:#7764ba}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0}button,select{font:inherit}button{cursor:pointer}button,a,canvas{touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}button{border:0}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #6e59bb;outline-offset:4px}button:disabled{cursor:default;opacity:.45}button:not(:disabled):active{transform:translateY(2px)}[hidden]{display:none!important}
.header{max-width:1500px;margin:auto;min-height:100px;padding:22px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#283948;font-size:23px;font-weight:750;line-height:1.15}.brand b{color:#37866e}.brand small{display:block;letter-spacing:3px;font-size:9px;color:#7d8b99;margin-top:8px}.brand-icon{display:grid;place-items:center;width:47px;height:47px;border-radius:15px;background:#dceee6;color:#318268;font-size:36px}.journey{width:260px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:800;color:#7e8a9b}.progress-track{height:5px;border-radius:10px;background:#e0e6ef;margin-top:11px;overflow:hidden}#progressFill{display:block;height:100%;background:#5eae8b;transition:width .4s}.header-actions{display:flex;gap:10px;align-items:center}.stars{border-radius:13px;padding:11px 16px;color:#a87924;background:#fff1cc;font-weight:800}.icon-button{width:42px;height:42px;border:1px solid #e1e6ee;background:white;border-radius:12px;color:#64768b;font-size:24px}
main{max-width:1500px;padding:0 40px 22px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:22px}.play-column{min-width:0}.scene-wrap{height:clamp(350px,calc(100dvh - 293px),700px);position:relative;border-radius:26px;overflow:hidden;background:#dfeee9;border:1px solid #d7e5e0}canvas{display:block;width:100%;height:100%}.scene-top{position:absolute;top:20px;left:20px;display:flex;gap:8px;pointer-events:none}.level-pill,.world-pill{border-radius:10px;background:#ffffffd9;padding:10px 13px;font-size:12px;font-weight:750;color:#4c6d61}.level-pill{background:#337e65;color:white}.goal-chip{position:absolute;right:20px;top:20px;display:grid;grid-template-columns:25px auto;column-gap:8px;color:#738878;font-size:9px;letter-spacing:1px}.goal-chip>span{grid-row:span 2;color:#e8715f;font-size:32px;line-height:32px}.goal-chip b{font-size:12px;letter-spacing:0;color:#3f6051}.direction{position:absolute;left:20px;top:70px;font-size:12px;font-weight:650;color:#4c6d61;background:#ffffffb0;padding:7px 10px;border-radius:9px}.scene-caption{position:absolute;bottom:18px;left:20px;right:20px;display:flex;align-items:center;gap:9px;min-height:43px;padding:11px 15px;background:#ffffffed;border:1px solid #fff;border-radius:13px;font-size:14px;color:#3c6155;font-weight:600;box-shadow:0 4px 20px #426f4310}.live-dot{width:7px;height:7px;border-radius:50%;background:#5da27f;flex:none}
.command-panel{margin-top:18px;padding:18px 20px 20px;background:white;border:1px solid #e7ebf1;border-radius:22px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.panel-heading h2{font-size:15px;margin:0;font-weight:750}.panel-heading>span{font-size:11px;color:#8590a1}#commands{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.command{position:relative;display:flex;align-items:center;flex-direction:column;gap:4px;border-radius:16px;min-height:112px;padding:10px 4px 13px;border:1px solid transparent;border-bottom-width:4px;transition:box-shadow .15s,transform .15s}.command b{font-size:14px}.command small{font-size:10px;opacity:.8}.cmd-icon{font-size:35px;line-height:40px;font-family:Arial,sans-serif;font-weight:500;height:40px}.cmd-icon svg{width:35px;height:35px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round}.forward{background:#e6f2e5;color:#34734c;border-color:#c8e1c6}.left{background:#e9effb;color:#4d73b6;border-color:#cbd8ef}.right{background:#eee8f8;color:#8161b4;border-color:#dcd0ed}.back{background:#fbe9ea;color:#bc6773;border-color:#f0cdd3}.break{background:#fcf0df;color:#af7b37;border-color:#eedcbf}.command.hinted{box-shadow:0 0 0 3px #73a88a,0 4px 12px #3f705723}.command.hinted:after{content:"✦";position:absolute;top:5px;right:9px;color:#328366;font-size:17px}.command.busy{filter:saturate(.6)}
aside{display:flex;flex-direction:column;gap:15px;min-width:0}.card{background:white;border:1px solid #e5e9f0;border-radius:22px;padding:22px}.mission .eyebrow{color:#4b967b}.mission h1{font-size:25px;line-height:1.2;margin:12px 0;color:#293e36;letter-spacing:-.5px}.mission p{font-size:13px;line-height:1.75;color:#7a8795;margin:0}.mission-art{display:flex;justify-content:center;align-items:center;gap:16px;background:#f5f8f4;border-radius:15px;height:84px;margin:18px 0;color:#4f9e83}.mission-art>span{font-size:43px}.mission-art i{color:#9bbca8;font-size:23px;font-style:normal}.mission-art>b{color:#df7664;position:relative;font-size:42px}.mission-art small{position:absolute;top:-3px;left:10px;color:#70a67b;font-size:30px}.level-label{display:block;color:#8a95a4;font-size:10px;margin:0 0 7px}select{width:100%;height:40px;border:1px solid #e1e7ed;border-radius:10px;padding:0 8px;color:#526459;font-size:12px;background:#fbfcfd}.level-navigation{display:grid;grid-template-columns:38px 1fr 38px;gap:7px;margin-top:10px}.level-navigation button{height:39px;border-radius:10px;color:#71867b;background:#f2f6f3;font-size:12px;font-weight:650}.level-navigation button:first-child,.level-navigation button:last-child{font-size:19px}.helper{background:#f0edf8;border-color:#e6e0f0;padding:18px}.helper-title{display:flex;align-items:center;gap:8px}.helper h2{font-size:14px;margin:0;color:#71608f}.helper-icon{color:#9781be;font-size:23px}.helper p{font-size:13px;line-height:1.65;color:#796790;margin:10px 0}.helper>small{display:block;font-size:10px;line-height:1.6;color:#9789a9}.switch{margin-left:auto;display:flex;position:relative}.switch input{position:absolute;opacity:0;width:36px;height:22px;margin:0}.switch span{width:36px;height:22px;background:#c6bfd3;border-radius:20px;pointer-events:none}.switch span:after{content:"";display:block;background:white;width:16px;height:16px;border-radius:100%;margin:3px;transition:transform .2s}.switch input:checked+span{background:#9b83bb}.switch input:checked+span:after{transform:translateX(14px)}.switch input:focus-visible+span{outline:3px solid #6e59bb;outline-offset:3px}.history{padding:18px;min-height:109px}.history .panel-heading{margin-bottom:12px}.history h2{font-size:13px}#history{display:flex;gap:6px;flex-wrap:wrap;max-height:78px;overflow:auto}.history-step{border-radius:8px;min-width:29px;padding:6px;text-align:center;font-size:17px}.empty-history{color:#a1abba;font-size:11px;padding:9px 0}.footer{margin-top:auto;padding:4px 4px 0;display:flex;justify-content:space-between;align-items:center;gap:6px}.footer span{font-size:9px;font-weight:800;color:#86958d;letter-spacing:1.2px}.footer small{font-size:9px;color:#a1aba6}
.veil{position:absolute;inset:0;z-index:5;display:grid;place-items:center;background:#edf5e8c9;backdrop-filter:blur(9px);padding:16px}.welcome-card,.win-card{max-width:430px;text-align:center;padding:30px 36px;background:#ffffffed;border:1px solid white;border-radius:28px;box-shadow:0 20px 90px #4a765520}.welcome-symbol{margin:0 auto 17px;display:grid;place-items:center;width:64px;height:64px;border-radius:22px;background:#e1eee4;color:#428069;font-size:48px}.welcome-card h1{font-size:37px;line-height:1.12;letter-spacing:-1.5px;margin:15px 0;color:#2d5142}.welcome-card p,.win-card p{color:#85908a;font-size:14px;line-height:1.7}.primary{display:block;width:100%;padding:16px 23px;margin:21px 0 10px;border-radius:14px;background:#398567;color:white;font-weight:700;font-size:15px;box-shadow:0 4px 0 #27664e}.welcome-card>small{font-size:9px;color:#98a397}.win-star{font-size:65px;color:#e6b85d;text-shadow:0 5px #f3e6c6}.win-card h2{font-size:29px;color:#355c48;margin:12px 0}.text-button{color:#7b9185;background:transparent;padding:15px 8px;font-size:12px}
@media(min-width:1250px) and (min-height:850px){.header{min-height:110px}main{gap:26px;grid-template-columns:minmax(0,1fr) 310px}.card{padding:25px}.mission-art{height:104px}.command{min-height:124px}.scene-wrap{height:calc(100dvh - 309px)}}
@media(max-width:1050px){.header{padding:18px 22px;min-height:85px}main{padding:0 22px 20px;gap:16px;grid-template-columns:minmax(0,1fr) 255px}.journey{display:none}.card{padding:17px}.mission h1{font-size:22px}.scene-wrap{height:calc(100dvh - 280px);min-height:340px}.command-panel{padding:15px 12px}#commands{gap:7px}.command small{font-size:9px}.command b{font-size:12px}.scene-top{top:13px;left:13px}.goal-chip{right:13px;top:13px}.world-pill{display:none}}
@media(max-width:760px), (max-width:950px) and (orientation:portrait){.header{padding:15px 16px;min-height:78px}.brand{font-size:19px}.brand-icon{width:39px;height:39px;font-size:29px}.header-actions{gap:6px}.icon-button{width:35px;height:35px;font-size:21px}.stars{font-size:13px;padding:10px}main{display:flex;flex-direction:column;padding:0 12px 20px;gap:14px}.scene-wrap{height:49dvh;min-height:320px;max-height:600px;border-radius:20px}.command-panel{margin-top:12px;border-radius:19px}.command{min-height:98px;border-radius:12px}.cmd-icon{font-size:29px;line-height:35px;height:35px}.command small{font-size:8px}.command b{font-size:10px}#commands{gap:6px}.panel-heading h2{font-size:13px}.panel-heading>span{font-size:10px}aside{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mission{grid-row:span 2}.mission-art{display:none}.helper h2{font-size:12px}.helper{padding:13px}.helper p{font-size:12px}.helper-title{gap:5px}.helper>small{font-size:9px}.mission h1{font-size:21px}.mission p{font-size:11px}.level-label{margin-top:16px}.history{padding:13px}.footer{grid-column:span 2;margin:0 4px}.scene-caption{font-size:12px;left:12px;right:12px;bottom:12px;padding:10px;min-height:38px}.direction{top:61px;left:13px;font-size:10px}.goal-chip b{font-size:10px}.welcome-card,.win-card{padding:22px;max-width:310px}.welcome-symbol{width:44px;height:44px;font-size:32px;margin-bottom:10px}.welcome-card h1{font-size:28px;margin:11px 0}.welcome-card p{margin:10px 0;font-size:12px}.welcome-card .primary{padding:13px;margin-top:12px}.welcome-card>small{font-size:8px}}
@media(max-height:550px) and (min-width:761px){.header{min-height:62px;padding-top:10px;padding-bottom:10px}.scene-wrap{height:340px}.mission-art{display:none}.mission h1{margin:8px 0}.card{padding:14px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:450px){.level-navigation{grid-template-columns:1fr 1fr}.level-navigation #restart{grid-column:1/-1;grid-row:1}}

/* Vivid game palette; controls remain distinct by icon as well as color. */
:root{background:#dcf3ff;color:#133c69}
body{background:linear-gradient(145deg,#e0f6ff,#bde8ff 55%,#d4f4bd)}
.header{background:linear-gradient(120deg,#087ed2,#1551ba);border-radius:0 0 24px 24px;margin-bottom:18px;box-shadow:0 5px 0 #07489420}
.brand{color:#fff}.brand b{color:#fff25c}.brand small,.journey .eyebrow{color:#c8edff}.brand-icon{background:#fff;color:#0874c5}.progress-track{background:#ffffff40}#progressFill{background:#ffdf37}.stars{background:#ffdc36;color:#815000;box-shadow:0 3px 0 #cb9600}.icon-button{color:#126ac1;border-color:#c2e9ff}
.scene-wrap{border:4px solid white;box-shadow:0 5px 0 #168acf30}.level-pill{background:#087bd2;box-shadow:0 3px 0 #0752a0}.world-pill{color:#1357a2;background:#fff}.direction{color:#0f579b;background:#fffffff2}.goal-chip{background:#fff4ce;padding:9px 12px;border-radius:14px;color:#7a5c04}.goal-chip b{color:#6c4800}.goal-chip>span{color:#ed3732}.scene-caption{color:#114c8c;background:#fff;border:2px solid #ffdb38}.live-dot{background:#31b613}
.command-panel{border:2px solid white;box-shadow:0 4px 0 #1081c222}.panel-heading h2{color:#104f94}.panel-heading>span{color:#4882ad}.command{color:white;border-top:1px solid #ffffff60;box-shadow:inset 0 2px 0 #ffffff40}.command b{font-size:15px;text-shadow:0 1px 1px #0003}.command small{opacity:1;color:#ffffffed}.forward{background:linear-gradient(#76dc24,#47ba0b);border-color:#309504}.left{background:linear-gradient(#45a6ff,#1479e6);border-color:#0052b0}.right{background:linear-gradient(#a37aff,#7745e3);border-color:#5126ae}.back{background:linear-gradient(#ff7ca2,#ed4476);border-color:#be2352}.break{background:linear-gradient(#ffbe42,#ff8b0b);border-color:#c96b00}.command.hinted{outline:4px solid #ffe924;outline-offset:2px;box-shadow:0 0 22px #ffe72b99,inset 0 2px #ffffff70}.command.hinted:after{content:"★";background:#ffeb27;color:#815500;padding:1px 4px;border-radius:5px;top:5px;right:6px}.command:disabled{opacity:.55}
.card{border:2px solid white;box-shadow:0 4px 0 #1081c220}.mission{background:linear-gradient(150deg,#fff,#fff9dd)}.mission .eyebrow{color:#0278bb}.mission h1{color:#0e4f91}.mission p{color:#477698}.mission-art{background:linear-gradient(130deg,#a5ed5b,#d9f8b0);color:#1877be}.mission-art>b{color:#f23124}.level-label{color:#386d93}select{border:2px solid #b2d9f5;color:#145b9c;background:white}.level-navigation button{color:#0869b5;background:#def2ff}.helper{background:#e7f5ff;border-color:white}.helper-title h2{color:#1461a9}.helper-icon{color:#ff9b00}.helper p{color:#175a9e;font-weight:600}.helper>small{color:#4f7ca2}
.guide-option{display:flex;align-items:center;gap:11px;margin-top:12px;padding:12px 10px;background:white;border:2px solid #82c9fb;border-radius:12px;cursor:pointer;min-height:58px;touch-action:manipulation}.guide-option input{appearance:auto;-webkit-appearance:checkbox;width:25px;height:25px;flex:none;margin:0;accent-color:#087bda;cursor:pointer}.guide-option b{display:block;color:#075ca8;font-size:14px}.guide-option small{display:block;font-size:10px;color:#4b7b9d;margin-top:3px}.route-legend{position:absolute;left:20px;bottom:80px;display:flex;align-items:center;gap:8px;background:#ffdf35;color:#5a4500;border:2px solid white;border-radius:12px;padding:8px 12px;font-size:12px;font-weight:800;pointer-events:none;box-shadow:0 3px 8px #273f4620}.route-legend span{font-size:20px;color:#0874cb}.history-step{font-weight:800}.footer span{color:#276ca3}.footer small{color:#5483a1}
.veil{background:#38a9e13b;backdrop-filter:blur(3px)}.welcome-card,.win-card{background:linear-gradient(160deg,#fff,#e5f6ff);border:4px solid #ffdf40;box-shadow:0 12px 0 #07479125}.welcome-symbol{background:#1682d7;color:white}.welcome-card h1,.win-card h2{color:#1055a2}.welcome-card .eyebrow,.win-card .eyebrow{color:#0877bc}.welcome-card p,.win-card p{color:#3d7eab}.primary{background:linear-gradient(#6bd528,#42ae0a);box-shadow:0 4px 0 #2b8c05;text-shadow:0 1px #237807}.text-button{color:#1264a6}.welcome-card>small{color:#4f7b94}
@media(max-width:760px), (max-width:950px) and (orientation:portrait){.header{margin-bottom:12px;border-radius:0 0 18px 18px}.command b{font-size:11px}.guide-option{gap:7px;padding:9px 7px}.guide-option input{width:23px;height:23px}.guide-option b{font-size:12px}.guide-option small{font-size:9px}.route-legend{left:13px;bottom:66px;padding:6px 10px;font-size:10px}.goal-chip{padding:6px 8px}.goal-chip b{font-size:10px}}
.robot-card-art{background:linear-gradient(130deg,#d3efff,#edfaff);gap:0;height:125px;overflow:hidden}.robot-card-art img{height:145px;width:115px;object-fit:contain;flex:none}.robot-card-art strong{display:block;font-size:15px;color:#075aa8}.robot-card-art small{position:static;display:block;font-size:10px;color:#4d85b2;margin-top:6px}.robot-welcome{background:transparent;width:80px;height:90px;margin-bottom:5px}.robot-welcome img{width:100px;height:120px;object-fit:contain;margin-top:-12px}
@media(max-width:760px), (max-width:950px) and (orientation:portrait){.robot-card-art{display:none}.robot-welcome{width:60px;height:65px}.robot-welcome img{width:70px;height:90px;margin-top:-10px}}

/* The world takes priority; mission controls remain alongside it on a desktop. */
.header{max-width:1900px;min-height:82px;padding:15px 25px;margin-bottom:12px}.journey{width:300px}main{max-width:1900px;padding:0 18px 16px;grid-template-columns:minmax(0,1fr) 258px;gap:16px}.scene-wrap{height:calc(100dvh - 263px);min-height:410px;max-height:none}.command-panel{margin-top:12px;padding:13px 15px 15px}.command{min-height:108px}.card{padding:18px}.mission h1{font-size:23px}.robot-card-art{height:100px}.robot-card-art img{height:125px;width:95px}.chapter-name{display:inline-block;font-size:10px;color:#1d7892;background:#e1f5ee;border-radius:8px;padding:5px 8px;margin-top:10px;font-weight:700}.objective-progress{position:absolute;right:18px;bottom:79px;padding:9px 12px;border-radius:12px;background:#e9f5ffeb;color:#115aa2;font-size:12px;font-weight:750;border:2px solid white}.goal-chip{max-width:255px}.goal-chip b{line-height:1.4}.scene-top{max-width:62%}.world-pill{white-space:nowrap}.mission .eyebrow{font-size:10px}
@media(min-width:1500px){main{grid-template-columns:minmax(0,1fr) 280px}.scene-wrap{height:calc(100dvh - 267px)}.command{min-height:112px}}
@media(max-width:1050px){main{padding:0 12px 15px;grid-template-columns:minmax(0,1fr) 230px;gap:12px}.header{padding:14px 18px;min-height:76px}.scene-wrap{height:calc(100dvh - 258px);min-height:360px}.command-panel{padding:12px}.card{padding:14px}.mission h1{font-size:20px}}
@media(max-width:760px), (max-width:950px) and (orientation:portrait){.header{min-height:74px;padding:12px 15px}main{display:flex;padding:0 10px 15px}.scene-wrap{height:56dvh;min-height:360px;max-height:720px}.command{min-height:98px}.card{padding:14px}.robot-card-art{display:none}.goal-chip{max-width:166px}.goal-chip b{font-size:9px}.objective-progress{right:12px;bottom:68px;font-size:9px;padding:7px 8px}.route-legend{bottom:112px}.scene-top{max-width:48%}.direction{font-size:9px}.chapter-name{font-size:9px}.welcome-card{max-width:290px}}
#commands{grid-template-columns:repeat(4,minmax(0,1fr))}
.command.hinted{animation:guideButtonBlink 1.4s ease-in-out infinite}
.command.hinted:after{animation:none}
@keyframes guideButtonBlink{0%,100%{opacity:1;filter:brightness(1.2);box-shadow:0 0 24px #12c9ffcc,inset 0 2px #ffffff70}50%{opacity:.35;filter:brightness(.8);box-shadow:0 0 0 transparent}}
@media(prefers-reduced-motion:reduce){.command.hinted,.command.hinted:after{animation:none}}

.route-legend{background:#0875d1;color:#fff}.route-legend span{color:#fff}.command.hinted{outline-color:#12c9ff;box-shadow:0 0 20px #12c9ff99,inset 0 2px #ffffff70}.command.hinted:after{background:#075ca8;color:#fff}

.command[hidden]{display:none}#commands.jump-enabled{grid-template-columns:repeat(5,minmax(0,1fr))}.jump{background:linear-gradient(#ff6d8e,#eb2859);border-color:#b91642}.history-step.jump{background:#ffe1e9;color:#b91d49}
@media(max-width:500px){#commands.jump-enabled{gap:6px}#commands.jump-enabled .command b{font-size:10px}#commands.jump-enabled .command small{font-size:8px}#commands.jump-enabled .command{min-height:96px}}
