@charset "UTF-8";
:root{--bg:#f6f3ed;--paper:#fffcf6;--ink:#303843;--muted:#818a91;--border:#dedfd7;--orange:#e88143;--green:#4d907a;--code:#283039;--code-text:#d9dfdf;color-scheme:light}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Segoe UI",Arial,sans-serif;font-size:14px;min-width:320px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;transition:background .18s,box-shadow .18s}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--orange);outline-offset:3px}a{color:inherit;text-decoration:none}.page{max-width:1380px;margin:auto;padding:0 44px}.site-header{height:86px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);gap:16px}.brand{display:flex;gap:12px;align-items:center;font-size:19px;font-weight:750}.brand-mark{font-size:21px;background:#313b46;color:#f5f1e5;width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;letter-spacing:-4px;padding-right:4px}.brand-mark span{color:#efa471;transform:translateY(5px)}.brand small{font-size:8px;letter-spacing:1.9px;display:block;margin-top:3px;font-weight:500;color:var(--muted)}.header-links{display:flex;gap:23px;align-items:center;font-size:11px;color:var(--muted)}.offline-badge{color:#5a8b74;background:#e8eddf;padding:8px 11px;border-radius:7px;font-size:10px}.catalogue-intro{display:flex;justify-content:space-between;align-items:center;gap:35px;padding:62px 65px 55px 0}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:#b6774c;margin:0 0 14px}h1{font-size:clamp(32px,4vw,54px);line-height:1.14;letter-spacing:-1.9px;font-weight:650;margin:0}h1 span{color:var(--orange)}.intro-text{font-size:14px;line-height:1.85;color:#79828b;margin:22px 0 0}.hero-robot{position:relative;width:225px;height:255px;flex-shrink:0;transform:rotate(-5deg);margin:15px 10px 0}.hero-head{position:absolute;top:24px;left:28px;width:170px;height:112px;border-radius:34px;background:#f8fcf8;border:5px solid #8b9e9d;box-shadow:inset 0 -8px #d7e2db,8px 10px 0 #dae0d644;z-index:2}.hero-screen{position:absolute;inset:15px;border-radius:23px;background:#344b50;display:flex;align-items:center;justify-content:center;color:#b8e4d8;font-size:53px}.hero-screen span{transform:translateY(-6px);font-family:Arial,sans-serif}.hero-antenna{position:absolute;width:5px;height:32px;background:#8b9e9d;left:110px;top:-8px}.hero-antenna:before{content:"";position:absolute;left:-7px;top:-12px;width:20px;height:20px;border-radius:50%;background:#e79d6d}.hero-body{position:absolute;top:123px;left:43px;width:140px;height:105px;border:5px solid #8b9e9d;border-radius:28px;background:#dce7de}.hero-body:before,.hero-body:after{content:"";position:absolute;top:23px;width:36px;height:12px;border-radius:6px;background:#a3b5ad}.hero-body:before{left:-34px;transform:rotate(35deg)}.hero-body:after{right:-34px;transform:rotate(-35deg)}.hero-body span{display:block;margin:22px auto 13px;width:80px;height:17px;border-radius:6px;background:#e99f71}.hero-body i{display:block;width:11px;height:11px;background:#829b97;border-radius:50%;margin:auto}.hero-wheels{position:absolute;left:33px;right:33px;top:214px;display:flex;justify-content:space-between}.hero-wheels i{width:55px;height:32px;background:#3e5960;border-radius:13px;box-shadow:0 18px 20px -14px #617d6f}.hero-bubble{position:absolute;top:-28px;left:143px;padding:13px 17px;background:#ffead8;border-radius:13px;white-space:nowrap;color:#a8643e;font-size:12px;transform:rotate(5deg)}.catalogue-caption{display:flex;align-items:center;justify-content:space-between;padding:8px 0 22px;gap:16px}.catalogue-caption h2{font-size:18px;font-weight:600;margin:0}.catalogue-caption span{font-size:11px;color:var(--muted)}.topic-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.topic-card{border:1px solid var(--border);border-radius:15px;background:var(--paper);padding:24px;min-height:218px;display:flex;flex-direction:column;position:relative;transition:transform .2s,border-color .2s,box-shadow .2s}.topic-card:hover{transform:translateY(-3px);border-color:#d9ad8b;box-shadow:0 8px 20px #776c5d08}.topic-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:21px}.topic-icon{width:39px;height:39px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#f6e5d6;color:#b6764e;font-size:23px;font-weight:600}.topic-number{font:11px Consolas,monospace;color:#a4aaa9}.topic-card h3{font-size:19px;font-weight:650;margin:0 0 9px}.topic-card p{font-size:12px;color:var(--muted);line-height:1.7;margin:0 0 19px;max-width:280px}.topic-card-bottom{display:flex;justify-content:space-between;margin-top:auto;font-size:10px;color:#ad8161}.topic-card-bottom span:last-child{font-size:18px;line-height:10px}.catalogue-note{display:flex;align-items:center;gap:19px;margin:29px 0 42px;padding:20px 23px;border:1px dashed #d7d6ca;border-radius:13px}.catalogue-note>span{color:#c98e62;font-size:27px}.catalogue-note p{font-size:12px;line-height:1.8;color:#89908c;margin:0}.game-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:24px 0 25px}.back-link{display:inline-block;font-size:11px;color:#969b98;margin-bottom:21px}.game-heading .eyebrow{font-size:9px;margin-bottom:10px}.game-heading h1{font-size:34px;letter-spacing:-1.1px}.game-summary{font-size:12px;color:var(--muted);line-height:1.7;margin:11px 0 0}.mode-switch{display:flex;align-items:stretch;border:1px solid #deded6;background:#eaece3;border-radius:11px;padding:5px;flex-shrink:0}.mode-switch button{border:0;background:transparent;padding:12px 15px;border-radius:7px;font-size:11px;font-weight:600;color:#8a928c}.mode-switch button.selected{background:var(--paper);color:#a86d43;box-shadow:0 2px 7px #4f5b3c0c}.game-workspace{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:22px;align-items:start}.scene-column{min-width:0}.scene-card{border:1px solid #cad3c8;border-radius:16px;background:#e4e8dc;overflow:hidden}.scene-bar{height:43px;background:#e7eadf;display:flex;align-items:center;justify-content:space-between;padding:0 18px;font-size:9px;color:#7a8b7e;letter-spacing:.8px;gap:12px}.scene-bar span:first-child{display:flex;align-items:center;gap:7px;font-weight:700}.scene-bar i{width:5px;height:5px;border-radius:50%;background:#b0b86e}.scene-bar span:last-child{letter-spacing:0;color:#87948a;font-size:10px;text-align:right;max-width:45%}.stage{width:100%;aspect-ratio:900/510;overflow:hidden}.stage svg{width:100%;height:100%;display:block}.scene-description{background:#e5e9df;border-top:1px solid #c9d3c3;padding:12px 18px;font-size:11px;line-height:1.65;color:#7a8a7d;min-height:41px}.robot{transition:transform .65s cubic-bezier(.4,0,.2,1)}.robot-arm{transform-origin:35px 66px}.is-running .robot-arm{animation:arm 1.5s ease-in-out infinite}.controls{background:#fffbf4;border:1px solid var(--border);margin-top:13px;border-radius:12px;display:flex;align-items:center;justify-content:space-between;padding:15px 17px 18px;position:relative;gap:12px;flex-wrap:wrap;overflow:hidden}.control-buttons{display:flex;gap:8px;align-items:center}.primary,.secondary{border:1px solid transparent;border-radius:8px;padding:12px 16px;font-weight:600;font-size:11px;min-height:40px}.primary{background:#e99156;color:#fffaf1}.primary:hover{background:#d57d44}.secondary{border-color:#e1dfd4;background:#faf9f0;color:#6f776f}.secondary:hover{background:#efeee4}.quiet{border:0;background:transparent;color:#92968e;padding:10px 8px;font-size:11px;border-radius:6px}.quiet:hover{background:#aeb09711;color:#636e65}.controls>label{display:flex;align-items:center;gap:9px;font-size:9px;color:var(--muted)}.controls input{width:70px;accent-color:#d38a54;height:12px;cursor:pointer}.controls output{width:21px;font-variant-numeric:tabular-nums}.progress-track{position:absolute;bottom:0;height:3px;width:100%;left:0;background:#f0eee2}.progress-track span{display:block;background:#e8a67a;height:100%;width:0;transition:width .25s}.action-note{padding:16px 3px;font-size:12px;line-height:1.8;color:#859080;min-height:45px}.action-note.error{color:#bd6b59}.question-panel{margin-top:14px;border:1px solid #e7c8ad;border-radius:13px;background:#fff4e7;padding:18px}.question-heading{display:flex;align-items:center;gap:11px}.question-icon{width:29px;height:29px;background:#f8dcc5;color:#b67a4d;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:600;flex-shrink:0}.question-heading h2{font-size:14px;font-weight:600;line-height:1.5;margin:0;flex:1}.question-heading>span:last-child{font-size:10px;color:#b38c6c;white-space:nowrap}.answer-buttons{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}.answer-buttons button{border:1px solid #e0cbb6;background:#fffcf4;padding:10px 13px;border-radius:7px;color:#84684f;max-width:100%;font:12px Consolas,"Segoe UI",monospace;overflow-wrap:anywhere;white-space:normal;text-align:left;min-height:38px}.answer-buttons button:hover{background:#f6e0cd}.question-panel>p{font-size:11px;line-height:1.8;margin:13px 0 0;color:#9c8068;min-height:20px}.code-card{min-width:0;border:1px solid #36404a;border-radius:15px;background:var(--code);color:var(--code-text);overflow:hidden;box-shadow:0 9px 25px #30463808}.code-header{height:46px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid #ffffff0b;color:#b4bec3;font:11px Consolas,monospace}.code-header span:last-child{font:9px "Segoe UI",sans-serif;letter-spacing:1.7px;color:#7f8b93}.code-hint{margin:0;padding:12px 18px 0;font-size:9px;line-height:1.65;color:#85919b}.code-lines{padding:16px 0;overflow-x:auto;scrollbar-width:thin}.code-line{display:flex;align-items:center;min-width:max-content;min-height:26px;border-left:3px solid transparent;padding-right:16px}.code-line.active{border-color:#df9566;background:#e1a16e13}.code-line.pending{border-color:#70b5a2;background:#72b39d12}.code-line.inspected{box-shadow:inset 0 0 0 1px #c7b5df3b;background:#baa5d716}.line-number{width:32px;padding-right:10px;flex-shrink:0;text-align:right;user-select:none;color:#667780;font:9px Consolas,monospace}.code-line code{font:11px/1.7 Consolas,"Courier New",monospace;white-space:pre;color:#d8dedb}.code-line .keyword{color:#c7a9db}.code-line .function{color:#e8c280}.code-line .number{color:#e9a38a}.code-line .string{color:#a5c9ae}.code-line .comment{color:#7e9293}.code-line[role=button]{cursor:pointer}.code-line[role=button] .code-token:hover{background:#c7a9db26;outline:1px solid #c7a9db44;border-radius:2px}.code-bottom{border-top:1px solid #ffffff0b;background:#232a32}.code-bottom>div{padding:15px 18px}.panel-label{display:block;font-size:8px;letter-spacing:1.5px;color:#82919c;margin-bottom:10px}.code-bottom dl{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 14px;font:10px/1.65 Consolas,monospace}.code-bottom dt{color:#c4aa87}.code-bottom dd{margin:0;color:#bdcbc4;overflow-wrap:anywhere;white-space:pre-wrap}.output-panel{border-top:1px solid #ffffff09}.output-panel pre{margin:0;max-height:150px;overflow:auto;font:11px/1.7 Consolas,monospace;color:#a9bfb0;white-space:pre-wrap;overflow-wrap:anywhere}.code-help{background:#36313f;border:1px solid #a38eac44;border-radius:10px;padding:14px;margin:0 13px 15px}.code-help>div:first-child{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#b6a4c5;gap:8px}.code-help .quiet{color:#b6a4c5;padding:0;font-size:9px}.code-help h2{margin:10px 0 7px;font-size:13px;font-weight:600;line-height:1.5;color:#ece0f1}.code-help p{font-size:11px;line-height:1.75;color:#baafc7;margin:0 0 9px}.code-help #help-context{color:#d9ba8b;font:10px/1.8 Consolas,"Segoe UI",monospace;overflow-wrap:anywhere}.help-terms{display:flex;gap:5px;flex-wrap:wrap}.help-terms button{border:1px solid #b6a4c52b;color:#c5afd1;background:#272832;padding:5px 7px;border-radius:5px;font:10px Consolas,monospace;min-height:27px}.practice{background:#fffaf3;border:1px solid var(--border);border-radius:15px;padding:25px 26px;margin-top:12px}.practice-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.practice .eyebrow{font-size:8px;margin-bottom:7px}.practice h2{font-size:20px;letter-spacing:-.3px;font-weight:600;margin:0}.task-tabs{display:flex;gap:5px;padding:4px;background:#eeeee5;border-radius:9px}.task-tabs button{border:0;border-radius:6px;background:transparent;padding:10px 12px;font-size:10px;color:#8a938a}.task-tabs button.selected{background:#fffaf2;color:#b4784e;box-shadow:0 1px 5px #60612f08}.task-goal{font-size:12px;line-height:1.8;margin:20px 0;color:#828c7e}.parameter-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field label,.repair-field label{font-size:10px;color:#7b8376;font-weight:600}.field input,.field select,.repair-field select{width:100%;min-width:0;border:1px solid #dcded0;border-radius:7px;background:#fffcf7;padding:11px;font-size:12px;color:#606e63;min-height:40px}.repair-field{margin-top:18px;display:grid;grid-template-columns:1fr 2fr;gap:9px 20px;align-items:center;padding:15px;background:#faf0e3;border-radius:9px;border:1px dashed #dec3a9}.repair-field select{font:12px Consolas,monospace;background:#fffaf2}.repair-field small{grid-column:2;font-size:10px;color:#ac8b6d;line-height:1.7}.form-footer{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:23px}.form-footer p{font-size:11px;margin:0;color:#b96954;line-height:1.7}.task-result{margin-top:17px;border:1px solid #c4d9bb;background:#eef3e4;padding:12px 15px;border-radius:8px;color:#708461;font-size:12px;line-height:1.7}.task-result.missed{border-color:#e4c9b0;background:#fcf0df;color:#ab865d}.topic-navigation{display:flex;justify-content:space-between;gap:20px;margin:27px 0 36px;font-size:11px;color:#8e9389}.topic-navigation a:hover{color:#be7c4e}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--border);padding:23px 0 29px;font-size:9px;color:#9ca092}.is-learn .code-card{border-color:#a896b2}.is-learn .scene-column{position:sticky;top:15px}@keyframes arm{50%{transform:rotate(-10deg)}}
@media(max-width:1100px){.game-heading{flex-wrap:wrap}.parameter-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.practice-header{flex-wrap:wrap}.catalogue-intro{padding-right:35px}.hero-bubble{left:96px;font-size:11px}.code-line code{font-size:10px}}
@media(max-width:900px){.page{padding:0 25px}.topic-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.game-workspace{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:15px}.controls{padding:13px}.controls>label{width:100%}.code-line code{font-size:9px}.line-number{width:26px;padding-right:7px}.catalogue-intro{padding:40px 30px 42px 0}.hero-robot{transform:scale(.8) rotate(-5deg);margin-left:-30px;margin-right:-25px}.catalogue-intro h1{font-size:39px}.intro-text{font-size:12px}.game-heading h1{font-size:30px}}
@media(max-width:700px){.page{padding:0 15px}.site-header{height:69px}.brand{font-size:17px}.brand-mark{width:38px;height:38px;font-size:20px}.header-links{gap:10px;font-size:10px}.offline-badge{font-size:9px;padding:7px}.catalogue-intro{padding:34px 0 28px;gap:0}.catalogue-intro h1{font-size:35px}.catalogue-intro .eyebrow{font-size:8px;letter-spacing:1.1px}.intro-text{font-size:11px;max-width:360px}.hero-robot{display:none}.catalogue-caption{padding-bottom:17px}.catalogue-caption h2{font-size:16px}.catalogue-caption span{font-size:9px}.topic-cards{gap:10px}.topic-card{padding:17px 15px;min-height:215px}.topic-card h3{font-size:16px;line-height:1.35}.topic-card p{font-size:10px;line-height:1.8}.topic-card-bottom{font-size:8px;gap:6px}.topic-card-top{margin-bottom:16px}.topic-icon{width:33px;height:33px;font-size:20px}.topic-number{font-size:9px}.catalogue-note{margin:22px 0 29px;padding:16px;gap:12px}.catalogue-note p{font-size:10px}.game-heading{display:block;padding:21px 0}.back-link{margin-bottom:17px}.game-heading h1{font-size:29px}.game-summary{font-size:11px}.mode-switch{margin-top:18px;max-width:450px}.mode-switch button{flex:1;padding:11px 9px;font-size:10px}.game-workspace{grid-template-columns:minmax(0,1fr)}.is-learn .scene-column{position:relative;top:0;order:2}.is-learn .code-card{order:1}.scene-bar{padding:0 12px;font-size:8px;height:36px}.scene-bar span:last-child{font-size:9px}.scene-description{font-size:10px;padding:10px 12px}.code-line code{font-size:11px}.line-number{width:32px;padding-right:10px}.controls{padding:14px 12px 18px}.controls>label{width:auto}.control-buttons{gap:6px}.primary,.secondary{padding:11px 12px;font-size:10px}.quiet{font-size:10px;padding:10px 6px}.action-note{font-size:11px;min-height:0}.question-panel{padding:15px}.question-heading h2{font-size:13px}.practice{padding:21px 17px}.practice h2{font-size:18px}.task-tabs{display:flex;width:100%;margin-top:2px}.task-tabs button{flex:1;padding:10px 7px;font-size:9px}.task-goal{font-size:11px;margin:17px 0}.parameter-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.field label{font-size:9px;line-height:1.5}.field input,.field select{font-size:11px;padding:10px}.repair-field{grid-template-columns:minmax(0,1fr);gap:10px}.repair-field small{grid-column:1}.repair-field select{font-size:10px}.form-footer{gap:10px}.form-footer .primary{font-size:10px}.topic-navigation{font-size:9px;gap:8px;line-height:1.6}.topic-navigation a:nth-child(2){white-space:nowrap}footer{font-size:8px;line-height:1.7;align-items:flex-start}footer>span:last-child{text-align:right;max-width:145px}.code-help p{font-size:11px}.code-help h2{font-size:14px}}
@media(max-width:370px){.page{padding:0 12px}.header-links>a{display:none}.catalogue-intro h1{font-size:31px}.topic-card{padding:15px 12px}.topic-card h3{font-size:14px}.topic-card-bottom{font-size:7px}.catalogue-caption{align-items:flex-start;gap:8px}.catalogue-caption span{text-align:right;max-width:120px;line-height:1.5}.code-line code{font-size:10px}.task-tabs button{font-size:8px;padding:10px 5px}.controls>label{width:100%}.practice{padding:19px 14px}.parameter-fields{gap:11px}.game-heading h1{font-size:26px}.mode-switch button{font-size:9px}.scene-bar span:last-child{max-width:40%}.form-footer .quiet{padding-left:0}.form-footer{align-items:flex-start}.topic-navigation a{max-width:90px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Keep secondary text readable at the small sizes used around the scene. */
:root{--muted:#69766f}
.intro-text,.game-summary,.topic-card p,.catalogue-note p,.task-goal{color:#69766f}
.field label,.repair-field label,.scene-description,.action-note{color:#66765f}
.back-link,.topic-navigation,.header-links,footer{color:#747c6f}
.value-type{color:#8da29f;font-size:9px}
@media(min-width:1101px){.code-line code{font-size:12px}.code-line{min-height:28px}}
