:root{--ink:#183d31;--muted:#617269;--paper:#f6f3e9;--green:#27634b;--line:#d8dfd1;--orange:#e5ac54;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:20px}header{display:flex;align-items:center;justify-content:space-between;padding:20px 3.6vw;border-bottom:1px solid var(--line);gap:20px}button,a.button{font:inherit;color:var(--ink);background:#fffdf5;border:1px solid var(--line);border-radius:13px;padding:13px 19px;cursor:pointer;text-align:left;line-height:1.45;text-decoration:none}button:hover,a.button:hover{background:#edf2e5}button:focus,a:focus,input:focus,textarea:focus,select:focus,summary:focus{outline:4px solid #e6a634;outline-offset:3px;box-shadow:0 0 0 7px #e6a63426}button.primary,a.primary{background:var(--green);color:white;border-color:var(--green)}button.active{background:#dbe9d8;border-color:#659c6e}.brand{display:flex;gap:12px;align-items:center;font-size:25px;font-weight:700;white-space:nowrap}.brand img{width:46px;height:46px}.brand small{display:block;font-size:12px;letter-spacing:2px;font-weight:400;margin-top:4px}nav{display:flex;gap:8px}nav button{border:0;background:transparent;font-size:18px;padding:11px 13px}main{max-width:1600px;margin:auto;padding:28px 4.5vw 100px;min-height:80vh}h1{font-size:36px;line-height:1.3;letter-spacing:-1px;margin:12px 0 24px}h2{font-size:28px;line-height:1.35}h3{font-size:24px;line-height:1.4;margin:12px 0}p{line-height:1.8}small,.small{font-size:16px;color:var(--muted);line-height:1.6}.sub{color:var(--muted);margin-top:-12px}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:35px;min-height:420px}.hero h1{font-size:48px;margin:18px 0}.hero em{font-style:normal;color:var(--green)}.hero img{width:100%;max-height:400px}.hero p{color:var(--muted)}.eyebrow{font-size:17px;letter-spacing:1px}.summary{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin:22px 0 30px}.summary b{font-size:30px;margin-right:8px}.subjects,.actions,.tabs,.answers{display:flex;flex-wrap:wrap;gap:14px;margin:18px 0}.tabs button{font-size:18px}.tabs{gap:10px}.stages{margin-bottom:28px}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:24px 0}.course,.box,.note-card{border:1px solid var(--line);background:#fffcf4;border-radius:21px;padding:26px}.course{text-align:left;width:100%}.course p{font-size:18px;color:var(--muted);margin:10px 0 16px}.badge{display:inline-block;border-radius:50px;padding:5px 12px;background:#e7eddd;color:#456a42;font-size:15px}.toolbar,.record,.lesson-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}.record{background:#fffcf4;border:1px solid var(--line);border-radius:18px;padding:24px;margin:16px 0}.record>div{flex:1}.record p{white-space:pre-wrap}.story{font-size:27px;line-height:2;max-width:1100px;padding:20px 0}.question{font-size:27px;max-width:1100px}.instruction{font-size:26px;line-height:1.9}.demo-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:center}.animation{width:100%;background:#edf2e5;border-radius:22px;overflow:hidden;aspect-ratio:16/9}.animation video,.animation svg{width:100%;height:100%;display:block}.demo-layout h2{font-size:32px}.my-note{white-space:pre-wrap;font-size:25px}.feedback,.notice{padding:22px;background:#e8efde;border-left:5px solid #75a86c;border-radius:12px;line-height:1.9;margin:24px 0}.feedback p{margin:10px 0}.lesson-bottom{border-top:1px solid var(--line);padding-top:22px;margin-top:36px}.quiet{font-size:16px;padding:8px 13px}.chart>div{display:flex;align-items:center;gap:18px;margin:18px 0}.chart span{width:90px}.chart progress{height:44px;width:55%;accent-color:var(--green)}.robot-grid{display:grid;grid-template-columns:repeat(var(--cols),70px);gap:8px;padding:16px;background:#e7eddd;border-radius:12px;width:max-content}.cell{display:grid;place-items:center;width:70px;height:65px;background:#fffdf5;border:1px solid #c2d3bb;font-size:30px;border-radius:8px}.program{margin:24px 0}.program>div{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px;border-bottom:1px solid var(--line)}.program span{min-width:230px}.neuron{display:flex;gap:20px}.neuron>div{flex:1;padding:20px;border:1px solid var(--line);border-radius:15px}.neuron b{display:block;margin-bottom:16px}.neuron button{margin-right:10px}.equation{font-size:28px}.answers button{flex:1;min-width:200px}label{display:block;margin:18px 0}input,textarea,select{font:inherit;background:white;border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:14px;max-width:100%;margin:10px 0}textarea{display:block;width:100%;min-height:110px}input{width:100%}.pair-code{font-size:46px;font-weight:700;letter-spacing:9px;margin:25px 0;color:var(--green)}.url{font-size:15px;word-break:break-all}details{margin:24px 0;padding:18px;border:1px solid var(--line);border-radius:12px}summary{cursor:pointer}footer{position:fixed;z-index:4;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:15px;background:#f6f3e9f5;border-top:1px solid var(--line);padding:12px 4vw;font-size:14px;color:var(--muted)}#toast{display:none;position:fixed;z-index:100;bottom:75px;left:50%;transform:translateX(-50%);max-width:85vw;border-radius:15px;background:#183d31;color:white;padding:18px 30px;box-shadow:0 8px 30px #0003;line-height:1.65}#toast.show{display:block}#player-overlay{position:fixed;z-index:20;inset:0;background:#101b15;color:white;padding:20px;overflow:auto}#player-overlay[hidden]{display:none}.player-bar{display:flex;align-items:center;gap:15px}.player-bar h2{flex:1;font-size:22px}#player{width:100%;height:76vh;border:0;background:#000}#player-overlay>p{font-size:14px}#player-overlay.fullscreen{padding:0;overflow:hidden}#player-overlay.fullscreen #player{position:absolute;inset:0;height:100vh;width:100vw}#player-overlay.fullscreen .player-bar,#player-overlay.fullscreen>p{display:none}@media(min-width:1800px){body{font-size:24px}main{max-width:1800px}h1{font-size:44px}.hero h1{font-size:60px}.hero{min-height:500px}nav button{font-size:22px}.story,.instruction{font-size:32px}.hero img{max-height:470px}}@media(max-width:900px){body{font-size:18px}header{flex-wrap:wrap;padding:16px 4vw}.brand{font-size:22px}nav{width:100%;overflow-x:auto}nav button{white-space:nowrap;font-size:16px;padding:10px}main{padding:20px 5vw 100px}.hero{grid-template-columns:1.25fr 1fr;gap:10px;min-height:330px}.hero h1{font-size:35px}.cards{gap:16px}.course,.box{padding:20px}.demo-layout{grid-template-columns:1fr}.animation{max-width:750px;margin:auto}.story,.instruction,.question{font-size:23px}footer{font-size:12px}.summary{font-size:15px}.toolbar h1{font-size:29px}.lesson-bottom{flex-wrap:wrap}}@media(max-width:580px){.hero{display:block}.hero img{height:220px}.cards{grid-template-columns:1fr}.summary{gap:12px}.hero h1{font-size:36px}.record{display:block}.record button{margin-top:10px}.neuron{flex-direction:column}.tabs button{font-size:16px}.player-bar{flex-wrap:wrap}.player-bar h2{width:100%;flex:auto}.brand small{display:none}footer>span:first-child{display:none}#player{height:65vh}}

/* The TV reports a 960px viewport on a 1920px panel; keep a whole step visible. */
.tv header{padding:9px 4vw;gap:12px}.tv .brand{font-size:19px;gap:9px}.tv .brand img{width:30px;height:30px}.tv .brand small{font-size:9px;margin-top:2px}.tv nav button{font-size:15px;padding:7px 9px}.tv body{font-size:17px}.tv main{padding:12px 4vw 55px}.tv h1{font-size:27px;margin:8px 0 14px}.tv h2{font-size:23px}.tv h3{font-size:20px}.tv button{padding:9px 14px}.tv .toolbar button{font-size:14px;padding:7px 12px}.tv .toolbar{font-size:14px}.tv .stages{margin:10px 0 14px;gap:8px}.tv .tabs button{font-size:14px;padding:7px 12px}.tv .demo-layout{grid-template-columns:1.05fr 1fr;gap:22px}.tv .demo-layout h2{font-size:25px;margin:10px 0}.tv .instruction{font-size:19px;line-height:1.65;margin:10px 0}.tv .demo-layout button{font-size:15px;padding:8px 14px}.tv .actions{gap:9px;margin:13px 0}.tv .actions button{font-size:14px;padding:8px 12px}.tv .hero{min-height:275px;gap:25px}.tv .hero h1{font-size:35px;line-height:1.45;margin:12px 0}.tv .hero img{max-height:280px}.tv .hero p{font-size:16px}.tv .summary{margin:14px 0 20px;padding:13px 0;font-size:15px}.tv .summary b{font-size:23px}.tv .story{font-size:23px;line-height:1.9;padding:10px 0}.tv .question{font-size:22px}.tv .box,.tv .course{padding:20px}.tv .course p{font-size:16px}.tv small,.tv .small{font-size:13px}.tv .cards{gap:16px;margin:18px 0}.tv footer{padding:8px 4vw;font-size:12px}.tv .lesson-bottom{margin-top:22px;padding-top:16px}.tv .lesson-bottom button{font-size:15px}.tv .quiet{font-size:13px;padding:6px 10px}
