@font-face{font-family:Mission;src:local("PingFang SC")}*{box-sizing:border-box}body{margin:0;background:#030c19;font-family:Mission,Microsoft YaHei,sans-serif;color:#effaff}button{font:inherit;color:inherit;cursor:pointer;border:0;display:inline-flex;align-items:center;justify-content:center;gap:12px}button:focus-visible{outline:3px solid #fff;outline-offset:5px}button:disabled{opacity:.35;cursor:not-allowed}button:hover:not(:disabled){filter:brightness(1.15)}button svg{flex-shrink:0}button{transition:background .2s,filter .2s,box-shadow .2s}.viewport{width:100vw;height:100dvh;overflow:hidden;position:relative}.stage{position:absolute;left:50%;top:50%;width:1600px;height:900px;transform-origin:center;background:#06192e url(/assets/station.png) center/cover;isolation:isolate;overflow:hidden}.stage:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#00112455;z-index:-1}header{height:85px;padding:25px 60px 0;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:14px;align-items:center;color:#b9f0ff}.brand>svg{color:#65deff;filter:drop-shadow(0 0 10px #16c7ff)}.brand>span{font-size:28px;font-weight:900;letter-spacing:3px}.brand small{font-size:10px;letter-spacing:2px;border-left:1px solid #457c99;padding:8px 15px;color:#82b2cf}.toolbar{display:flex;gap:8px}.toolbar button{background:#06172bd9;border:1px solid #2a5876;border-radius:8px;padding:9px 13px;font-size:15px;color:#b9dcf3}.toolbar .overtime{color:#ffae61}.title-area{margin:22px 0 0 95px}.eyebrow{color:#65d7fc;font-size:13px;letter-spacing:3px;font-weight:600}.eyebrow span{color:#90aac0}.title-area .eyebrow{display:none}h1{margin:0;font-size:67px;font-weight:950;letter-spacing:2px;text-shadow:0 4px 0 #163e67,0 0 28px #48bbef55;line-height:1.2}.classroom{display:grid;grid-template-columns:855px 470px;gap:60px;margin:35px 90px 0}.board-area{width:855px}.board{position:relative;width:855px;height:540px;padding:15px;border:3px solid #78dfff;border-radius:25px;background:#07213be6;box-shadow:0 0 0 6px #0a2c48,0 0 0 9px #365f7a,0 0 28px #1bafff65,inset 0 0 20px #126295;transition:border-color .3s,box-shadow .3s}.grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:5px;height:100%}.cell{border:2px solid #34b5f4;border-radius:8px;background:#09243ac9;box-shadow:inset 0 0 17px #1a76ac30;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative}.cell.destination{background:#04372bc7;border-color:#79ffac;box-shadow:inset 0 0 25px #32eb7033,0 0 15px #42ff7b40;color:#9affbb;gap:4px}.destination svg{filter:drop-shadow(0 0 12px #3cff83)}.destination span{font-size:24px;font-weight:800;letter-spacing:5px}.obstacle{background:#572e1fb0}.obstacle img{height:145px;width:190px;object-fit:contain;filter:drop-shadow(0 8px 9px #000a)}.obstacle-label{position:absolute;bottom:6px;right:12px;font-size:14px;color:#ffa45e}.start-label{position:absolute;bottom:9px;left:16px;color:#55c2f2;font-size:14px}.robot-piece{position:absolute;width:calc((100% - 30px)/3);height:calc((100% - 30px)/3);margin:15px;display:flex;align-items:center;justify-content:center;transition:left .65s cubic-bezier(.25,.8,.25,1),top .65s cubic-bezier(.25,.8,.25,1);pointer-events:none;z-index:3}.robot-piece>img{width:143px;height:149px;object-fit:contain;filter:drop-shadow(0 4px 14px #00c4ff88);margin-top:22px}.direction{position:absolute;top:0;left:calc(50% - 21px);color:#9cefff;filter:drop-shadow(0 0 7px #00afff);transition:transform .4s}.blocked{border-color:#ff9c36;box-shadow:0 0 0 6px #4b2b1e,0 0 30px #ff8b3388}.success{border-color:#8cffc1;box-shadow:0 0 0 6px #104036,0 0 35px #70ffb466}.success-toast{position:absolute;top:40%;left:28%;background:#063d2dec;padding:20px 36px;display:flex;align-items:center;gap:15px;border:1px solid #77ffba;font-weight:800;font-size:35px;z-index:6;border-radius:14px;box-shadow:0 0 45px #00fc8a44}.board-bottom{display:flex;justify-content:space-between;align-items:center;padding:20px 5px;color:#8cbad6;font-size:15px}.board-bottom span:first-child{color:#9eeaff;display:flex;gap:8px;align-items:center}.program{padding:12px 13px;background:#061b31e8;border:1px solid #42728e;border-radius:18px;box-shadow:0 8px 30px #0005}.panel-label{color:#7bb7d5;font-size:15px;letter-spacing:3px;display:flex;justify-content:space-between;margin:1px 9px 12px}.panel-label span{letter-spacing:1px}.command{height:65px;display:flex;align-items:center;gap:18px;padding:7px 14px;border:1px solid #2e6c94;background:#0a2a46;margin-bottom:5px;border-radius:9px}.command:last-child{margin-bottom:0}.number{font-size:25px;font-weight:800;color:#a0dfff;width:35px}.command-icon{display:flex;width:50px;align-items:center;justify-content:center;color:#b2eaff}.command strong{font-size:29px;letter-spacing:1px;flex:1}.command.current{border-color:#61e5ff;background:#124265;box-shadow:inset 0 0 10px #4fceff44}.command.error{border-color:#ffb657;background:#6a371c;box-shadow:0 0 15px #ff8f3066}.command.done{color:#a4d5e4;background:#0c3548}.command.done>svg{color:#79f2b0}.command.changed .number{color:#ffbb6a}.question{font-size:33px;font-weight:900;line-height:1.3;margin:19px 5px 14px;color:#ffac4b;letter-spacing:1px}.question span{color:#f1f9ff}.actions{display:flex;gap:16px}.primary{background:#f28c10;border:2px solid #ffcf74;box-shadow:0 0 20px #ff820755,inset 0 0 10px #ffd46e44;border-radius:13px;padding:17px 24px;font-size:27px;font-weight:900;color:#fff}.actions .primary{flex:1}.secondary{border:1px solid #3898c9;background:#073052d9;color:#c4eaff;border-radius:10px;padding:15px 20px;font-size:21px}.auto{margin-top:8px;padding:4px 5px;background:transparent;color:#91b7cf;font-size:13px}.swap{margin-top:10px;background:#1c4760;border:1px solid #5cd8ff;border-radius:8px;padding:9px;width:100%;font-size:19px}.orientation{display:flex;gap:8px;margin-top:10px;align-items:center;font-size:15px;color:#8fc1dc}.orientation button{background:#13314c;border:1px solid #386785;border-radius:7px;padding:7px 13px;font-size:16px}.orientation button.selected{background:#88521c;border-color:#ffbb63;color:#ffe0ac}.scene-4 .question,.scene-5 .question{font-size:27px;margin:11px 5px}.scene-4 .actions .primary,.scene-5 .actions .primary{padding:13px 24px}.status-strip{position:absolute;left:95px;bottom:107px;display:flex;align-items:center;gap:11px;font-size:16px;color:#a5d7ed}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#53e5ff;box-shadow:0 0 10px #26d4ff}.status-strip.blocked{border:0;box-shadow:none;color:#ffc779;background:none}.status-strip.success{border:0;box-shadow:none;color:#8fffbb;background:none}.status-strip button{padding:5px 13px;background:#173b51;border-radius:6px;color:#fff;font-size:13px}.explanation{position:absolute;bottom:36px;left:0;width:820px;padding:20px 25px;background:#04152ff5;border:1px solid #68c6ea;border-radius:12px;color:#dcefff;font-size:22px;line-height:1.5;z-index:10}footer{position:absolute;bottom:22px;left:60px;right:60px;height:64px;display:flex;align-items:center;gap:18px;border-top:1px solid #34749977;padding-top:15px}.nav-arrow{width:40px;height:40px;border-radius:50%;background:#0a304b;border:1px solid #497b98}.chapters{display:flex;gap:12px}.chapters button{display:flex;flex-direction:column;gap:4px;background:transparent;min-width:91px;color:#789bb7}.chapters button>span{border:2px solid #47748b;width:25px;height:25px;border-radius:50%;font-size:11px;display:flex;align-items:center;justify-content:center;background:#08283e}.chapters small{font-size:12px}.chapters .active{color:#ffc67d}.chapters .active>span{border-color:#ffc47b;background:#814816;box-shadow:0 0 16px #ff8d27}.chapters .visited>span{border-color:#62c5eb}.keys{margin-left:auto;font-size:13px;color:#88acc6;letter-spacing:1px}.keys span{padding:0 8px}.page-num{font-size:22px;color:#a0eaff;margin-left:10px}.page-num>span{color:#7a9fb6;font-size:16px}.intro{height:680px;display:flex;align-items:center;padding:0 110px;position:relative}.intro-copy{z-index:2}.intro h1{font-size:96px;line-height:1.2;letter-spacing:2px;margin-top:23px}.intro h1 span{color:#7ddfff}.intro-sub{font-size:29px;line-height:1.8;color:#bad8ec;margin:24px 0}.start{font-size:27px;padding:20px 35px}.intro-meta{margin-top:25px;color:#82adc8;font-size:15px;letter-spacing:2px}.hero-robot{position:absolute;right:40px;top:25px;height:640px;width:660px;object-fit:contain;filter:drop-shadow(0 0 45px #40cdff55);animation:float 5s ease-in-out infinite}.hero-caption{position:absolute;right:230px;bottom:25px;color:#b1ecff;letter-spacing:4px;font-size:17px;display:flex;gap:15px;align-items:center}@keyframes float{50%{transform:translateY(-15px)}}.demo-command{display:flex;width:100%;justify-content:flex-start;border:1px solid #468bb3;border-radius:12px;background:#082941ed;margin:14px 0;padding:18px 22px;color:#9eeaff;gap:25px}.demo-command strong{display:block;text-align:left;font-size:31px;color:#fff}.demo-command small{display:block;text-align:left;font-size:17px;color:#85abc8;margin-top:5px}.rule-panel .question{margin-top:28px;font-size:36px}.plan-panel{padding:25px 20px;background:#071b32d9;border:1px solid #295a7a;border-radius:17px}.plan-panel h2{font-size:56px;line-height:1.4;margin:35px 0;color:#a1eaff}.plan-panel p:not(.panel-label){font-size:28px;line-height:1.7;color:#c0d8e8}.plan-panel .primary{font-size:24px}.plan-panel .secondary{margin-left:10px;padding:18px}.notes-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#000a;z-index:20;display:flex;justify-content:flex-end;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.notes{width:650px;height:100%;background:#071c30;border-left:1px solid #4180a0;padding:32px;display:flex;flex-direction:column}.notes-head{display:flex;justify-content:space-between;align-items:center}.notes-head h2{font-size:28px;margin:0}.notes-head button{background:#16374d;padding:10px;border-radius:8px}.audience{display:flex;gap:10px;margin:25px 0 5px}.audience button{background:#14324a;border:1px solid #2d6888;padding:12px 22px;border-radius:8px}.audience .selected{background:#17618b;border-color:#72d9ff}.notes-time{color:#ffd097}.script{overflow:auto;flex:1;font-size:18px;line-height:1.65;padding-right:16px}.script p{margin:12px 0}.note-warning{color:#9cb3c6;font-size:14px;border-top:1px solid #33566d;padding-top:15px}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.board{height:500px}.robot-piece{width:calc((100% - 36px)/3);height:calc((100% - 36px)/3);margin:0}.robot-piece>img{height:130px;margin-top:16px}.status-strip{bottom:107px}.scene-4 .command,.scene-5 .command{height:59px}.scene-4 .question,.scene-5 .question{font-size:25px;margin:8px 5px}.scene-4 .primary,.scene-5 .primary{font-size:25px}.student .stage button:not(.toolbar button){pointer-events:none}.student .stage .actions,.student .stage .auto,.student .stage .swap,.student .stage .orientation,.student .rule-panel>.secondary,.student .plan-panel>button,.student .intro .start,.student .status-strip>button{display:none}.student footer .nav-arrow,.student .keys{display:none}.student footer{justify-content:center}.student .toolbar{opacity:.3}.student .toolbar:hover{opacity:1}.teacher-shell{max-width:1600px;margin:auto;padding:28px 36px;min-height:100vh;background:radial-gradient(at top left,#113c56,#071421 60%)}.teacher-shell button,.teacher-top a{padding:12px 18px;border:1px solid #36586c;border-radius:9px;background:#143047;font-size:15px;color:#dbf1ff;text-decoration:none}.teacher-top{display:flex;align-items:center;gap:12px}.teacher-top>div{margin-right:auto}.teacher-top h1{font-size:30px;margin:8px 0;text-shadow:none}.teacher-top small{letter-spacing:2px;color:#7ccde8}.setup-note,.teacher-help{font-size:14px;line-height:1.7;color:#96b3c6}.teacher-nav{display:flex;gap:10px;margin:22px 0}.teacher-nav button{flex:1}.teacher-shell .selected{background:#216384;border-color:#74daff;color:#fff}.teacher-columns{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:26px}.teacher-control{position:sticky;top:20px;align-self:start}.preview{aspect-ratio:16/9;border:1px solid #3b7f9b;border-radius:12px;overflow:hidden;background:#030b15;pointer-events:none}.preview iframe{width:100%;height:100%;border:0}.state-line{padding:16px 0;font-size:15px;color:#9ce2f5;line-height:1.7}.teacher-actions{display:flex;flex-wrap:wrap;gap:10px;min-height:55px}.teacher-shell .primary{background:#ed8c15;border-color:#ffc563;color:#fff;box-shadow:none;font-size:18px}.teacher-paging{display:flex;align-items:center;justify-content:space-between;margin:24px 0 8px;border-top:1px solid #2a4b60;padding-top:20px}.teacher-script{border:1px solid #294f67;border-radius:14px;background:#0b2233;overflow:hidden}.script-top{padding:22px 25px;border-bottom:1px solid #294f67}.script-top h2{margin:0;font-size:23px}.script-top .audience{margin:16px 0 10px}.script-top p{margin:0;color:#edc68d}.cue-list{max-height:65vh;overflow:auto;padding:8px 25px 24px;font-size:17px;line-height:1.85}.cue-list p{margin:14px 0;padding-bottom:14px;border-bottom:1px solid #244355}.teacher-shell button:disabled{opacity:.35}@media(max-width:900px){.teacher-shell{padding:20px}.teacher-top{flex-wrap:wrap}.teacher-columns{grid-template-columns:1fr}.teacher-control{position:static}.teacher-nav{flex-wrap:wrap}.teacher-nav button{flex:1 0 27%}.cue-list{max-height:none}}.teacher-shell{padding-top:18px;padding-bottom:18px}.teacher-top h1{font-size:26px}.teacher-nav{margin:14px 0}.preview{max-height:32vh}.cue-list{max-height:calc(100vh - 395px);min-height:220px}.teacher-paging{margin-top:14px;padding-top:12px}.teacher-help{font-size:12px}.teacher-shell .setup-note{margin:10px 0}.teacher-top button{white-space:nowrap}@media(max-width:900px){.preview,.cue-list{max-height:none}}.direction{transition:none}.student .demo-command:disabled{opacity:1}.room-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:15px;font-size:13px;color:#9ce2f5}.room-controls input{flex:1;min-width:180px;padding:9px;border-radius:6px;border:1px solid #36586c;background:#071421;color:#cfefff}.room-controls button{padding:8px 12px}.connection-badge{position:fixed;right:12px;bottom:8px;color:#9ce2f5;background:#071421cc;font-size:12px;padding:5px 10px;z-index:20}.teacher-shell .cue-list{max-height:calc(100vh - 450px)}
