:root{--class-mint:#d8eee1;--class-iris:#e8e0fa;--class-amber:#fae8c7;--class-sky:#dcecf4;--class-deep:#332e4d;--class-green:#286448}
body[data-classroom] .focus-main{max-width:1180px}body[data-classroom] .focus-header{max-width:1240px}body[data-classroom] .focus-main>h1{font-weight:700;font-size:clamp(30px,3.7vw,48px);line-height:1.45;max-width:850px}body[data-classroom] .focus-main>p{max-width:800px}body[data-classroom] .focus-nav{justify-content:center}body[data-classroom] .focus-header{padding:17px 24px}body[data-classroom] #trainerStudioBar{display:none!important}body[data-classroom] .focus-intro{display:none!important}
.class-title-accent{color:var(--focus-brand)}.class-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center;margin-top:-40px;margin-bottom:48px}.class-hero>div:first-child{padding-top:35px}.class-hero p{font-size:17px;max-width:510px}.hero-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.hero-chips span{font-size:11px;color:var(--focus-muted);border:1px solid var(--focus-line);padding:5px 10px;border-radius:20px}.class-footer{margin:50px 0 0;padding:24px 0 0;border-top:1px solid var(--focus-line);display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;color:var(--focus-muted);font-size:12px}.class-footer a{color:var(--focus-brand)}#classStatus[data-bad=true]{color:var(--mission-warning)}.section-line{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:30px 0 18px}.section-line h2{margin:0}.section-line a{color:var(--focus-brand);font-size:13px}.journey-list{display:grid;gap:12px}.journey-row{display:flex;align-items:center;gap:24px;border:1px solid var(--focus-line);border-radius:20px;padding:23px 28px;background:var(--focus-paper)}.journey-row>div{flex:1}.journey-row h2{font-size:22px;margin:2px 0 6px}.journey-row p{font-size:13px;margin:2px 0}.journey-index{flex:none;display:grid;place-items:center;width:52px;height:58px;border:1px solid #cabbe8;border-radius:17px;background:var(--toy-lavender);font:500 20px 'JetBrains Mono',monospace;color:var(--focus-brand);box-shadow:0 3px 0 var(--toy-lip)}.journey-row:nth-child(2) .journey-index{background:var(--toy-mint);color:var(--class-green);border-color:#b8d6c6}.journey-row:nth-child(3) .journey-index{background:var(--toy-peach);color:#865a29;border-color:#e7cea5}.future-note{border:1px dashed var(--focus-line);border-radius:18px;padding:20px;margin:24px 0;color:var(--focus-muted);font-size:14px}
.lab-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:28px 0}.lab-card{border:1px solid var(--focus-line);border-radius:24px;overflow:hidden;background:var(--focus-paper);box-shadow:0 3px 0 var(--toy-lip),0 18px 38px -35px #40335066;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.lab-card:hover{transform:translateY(-4px);box-shadow:0 5px 0 var(--toy-lip),0 20px 40px -29px #40335066}.lab-card-content{padding:24px;flex:1;display:flex;flex-direction:column}.lab-card h2{font-size:23px}.lab-card p{font-size:14px;flex:1}.lab-meta{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--focus-muted);margin-bottom:12px}.lab-card-bottom{display:flex;align-items:center;gap:14px;justify-content:space-between}.lab-card-bottom>a:last-child{font-size:11px;color:var(--focus-muted)}
.lab-art{--art:#ddd3f1;--art2:#f4effd;position:relative;height:230px;overflow:hidden;background:radial-gradient(ellipse at 45% 38%,#fff9 0,transparent 60%),linear-gradient(145deg,var(--art2),var(--art));isolation:isolate}.art-console,.art-functions{--art:#f1d6a4;--art2:#fff6e3}.art-types{--art:#b9ddc9;--art2:#eef9f1}.art-access{--art:#bcd9e7;--art2:#eff8fc}.art-frames{--art:#cfc2ea;--art2:#f7f0ff}.art-ground{position:absolute;width:270px;height:100px;bottom:15px;left:50%;transform:translateX(-50%) rotate(-7deg);background:#ffffff70;border:1px solid #ffffffa0;border-radius:50%;box-shadow:0 9px 0 #89749c18}.art-orbit{position:absolute;inset:15px 35px;border:1px solid #fff8;border-radius:50%;transform:rotate(-25deg)}.art-orbit.second{inset:-30px 100px;transform:rotate(35deg)}.art-token{position:absolute;padding:9px 13px;border:1px solid #fff9;border-radius:10px;background:#ffffffb5;color:#5b4b79;box-shadow:0 5px 0 #6d528519;font:500 14px 'JetBrains Mono',monospace;z-index:3;transform:rotate(-8deg)}.art-token.one{top:35px;left:23px}.art-token.two{bottom:34px;right:16px;transform:rotate(8deg)}.lab-art>.lab-bot{position:absolute;left:calc(50% - 50px);bottom:45px;transform:rotate(-5deg);z-index:2}.class-hero .lab-art{height:330px;border-radius:48% 45% 40% 35%;background-color:transparent}.class-hero .lab-bot{transform:scale(1.45) rotate(-5deg);bottom:90px}.class-hero .art-token.one{top:65px;left:25px}.class-hero .art-token.two{bottom:75px;right:10px}
.lab-bot{position:relative;width:100px;height:137px;filter:drop-shadow(0 9px 4px #37254f1a);flex:none}.bot-antenna{position:absolute;width:5px;height:15px;left:48px;top:0;background:#a68cc8}.bot-antenna:before{content:'';position:absolute;width:12px;height:12px;border-radius:50%;background:#efc277;left:-3px;top:-4px;box-shadow:inset -2px -2px 0 #bf9347}.bot-face{position:absolute;top:13px;left:3px;width:94px;height:67px;border:2px solid #a68bc5;border-radius:25px;background:linear-gradient(145deg,#f3edff,#b9a2df);box-shadow:inset 0 3px 0 #ffffffa0}.bot-face:before{content:'';position:absolute;inset:9px 8px 11px;background:#332d46;border:5px solid #fff5fb;border-radius:17px}.bot-face b{position:absolute;top:30px;left:27px;width:7px;height:9px;background:#b4f5d5;border-radius:4px;z-index:1;box-shadow:0 0 7px #c1ffe540}.bot-face b:nth-child(2){left:58px}.bot-face em{position:absolute;width:13px;height:6px;top:43px;left:40px;border-bottom:2px solid #b4f5d5;border-radius:0 0 10px 10px}.bot-body{position:absolute;top:77px;left:19px;width:63px;height:45px;border:2px solid #a58ac3;border-radius:13px;background:linear-gradient(145deg,#e6dcf9,#baa3df);box-shadow:inset 0 2px 0 #fff6}.bot-body:before,.bot-body:after{content:'';position:absolute;top:7px;width:10px;height:30px;border:2px solid #a58ac3;border-radius:9px;background:#d5c3ee}.bot-body:before{left:-14px;transform:rotate(15deg)}.bot-body:after{right:-14px;transform:rotate(-15deg)}.bot-body span{position:absolute;inset:4px 7px;display:grid;place-items:center;border:1px solid #c0a9de;border-radius:9px;color:#9477b9;background:#eee7f9;font-size:24px}.bot-foot{position:absolute;top:120px;width:25px;height:14px;background:#ac93cf;border:2px solid #9477b9;border-radius:5px}.bot-foot.left{left:20px}.bot-foot.right{right:16px}
.live-board{margin-top:44px;border:1px solid var(--focus-line);border-radius:24px;overflow:hidden;background:var(--focus-paper);padding:28px;box-shadow:var(--toy-shadow)}.board-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.board-heading h2{font-size:28px}.live-board>p{font-size:13px}.live-pill{display:flex;gap:8px;align-items:center;font-size:11px;color:var(--class-green);background:var(--toy-mint);padding:7px 11px;border-radius:30px;white-space:nowrap}.live-pill i{width:6px;height:6px;background:#3d9969;border-radius:50%;box-shadow:0 0 0 4px #3d996918}.rank-table{width:100%;border-collapse:collapse;text-align:right;font-size:14px}.rank-table th{font-size:11px;color:var(--focus-muted);font-weight:500;padding:13px 10px;background:var(--focus-bg)}.rank-table td{padding:16px 10px;border-bottom:1px solid var(--focus-line)}.rank-table tr:last-child td{border:0}.rank-number{font:500 17px 'JetBrains Mono',monospace;color:var(--focus-muted)}.rank-avatar{display:inline-grid;place-items:center;width:32px;height:32px;margin-inline-end:12px;border-radius:10px;background:var(--toy-lavender);color:var(--focus-brand)}.rank-table tr:first-child .rank-number{color:#946424}.rank-table tr:first-child .rank-avatar{background:var(--toy-peach)}.my-rank{background:var(--toy-lavender)}.board-empty{text-align:center;padding:32px 20px;background:var(--focus-bg);border-radius:16px}.board-empty>span{font-size:48px;color:#aa9159}.board-empty h3{font-size:18px}.board-note{margin:16px 0 0!important;font-size:11px!important}
.class-form{display:grid;gap:12px;align-content:start}.class-form>label,.play-controls label{font-size:13px;font-weight:500;color:var(--focus-ink)}.class-form input,.play-controls select{width:100%;min-height:46px;border:1px solid var(--focus-line);border-radius:11px;padding:8px 12px;background:var(--focus-paper);color:var(--focus-ink);font:inherit;font-size:14px}.class-form p{margin:0}.class-small{font-size:12px!important;line-height:1.9!important;color:var(--focus-muted)}.check-row{display:flex;align-items:center;gap:10px;min-height:40px;font-size:13px}.check-row input{width:18px;height:18px;min-height:0;accent-color:#6752ca;flex:none}.class-code{background:#282438;color:#f1edf8;direction:ltr;text-align:left;unicode-bidi:isolate;font:13px/1.9 'JetBrains Mono',monospace;border-radius:14px;padding:22px;overflow:auto;white-space:pre;margin:20px 0}.class-code code{font:inherit}.concept-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:28px;align-items:start;margin-top:25px}.concept-layout>.lab-art{border-radius:24px;height:350px}.concept-layout .lab-bot{transform:scale(1.4);bottom:95px}.teacher-login{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;max-width:900px;margin:35px auto}.teacher-login .lab-art{border-radius:25px}.teacher-login h2{margin-top:25px}.teacher-summary{display:flex;gap:30px;align-items:center;background:var(--toy-lavender);border:1px solid var(--focus-line);padding:24px 30px;border-radius:20px;margin:25px 0}.teacher-summary>div{display:grid;gap:4px;flex:1}.teacher-summary strong{font:500 28px 'JetBrains Mono',monospace;color:var(--focus-brand)}.teacher-summary span{font-size:12px;color:var(--focus-muted)}.teacher-layout{display:grid;grid-template-columns:1.65fr 1fr;gap:30px;align-items:start}.teacher-layout aside{display:grid;gap:20px}.teacher-layout aside h2{font-size:19px}.teacher-stage{display:flex;align-items:center;gap:14px;border:1px solid var(--focus-line);padding:18px;border-radius:18px;background:var(--focus-paper)}.teacher-stage>div{flex:1}.teacher-stage h3{font-size:17px}.teacher-stage p{margin:0;font-size:11px}.teacher-stage .journey-index{width:38px;height:44px;font-size:16px}.teacher-stages{display:grid;gap:12px}.release-label{font-size:11px;color:var(--class-green)}.teacher-stage.released .journey-index{color:var(--class-green);background:var(--toy-mint);border-color:#bdd8c8}details.focus-card summary{cursor:pointer}.teacher-layout details form{margin-top:20px}
.play-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0}.play-topline>a{color:var(--focus-brand);font-size:13px}.play-topline nav{display:flex;gap:8px;direction:ltr}.play-topline nav a{width:36px;height:36px;border:1px solid var(--focus-line);border-radius:10px;display:grid;place-items:center;text-decoration:none;color:var(--focus-muted);font-family:'JetBrains Mono',monospace}.play-topline nav a[aria-current]{background:var(--toy-lavender);color:var(--focus-brand);border-color:#b8a4dc}.play-brief{font-size:16px}.play-workbench{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.18fr);gap:24px;align-items:start;margin:25px 0}.play-controls,.play-view{min-width:0;background:var(--focus-paper);border:1px solid var(--focus-line);border-radius:23px;overflow:hidden;box-shadow:var(--toy-shadow)}.panel-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 22px;border-bottom:1px solid var(--focus-line);font-size:11px;color:var(--focus-muted)}.panel-heading b{font-size:12px;color:var(--focus-ink)}#pControls{display:grid;gap:12px;padding:22px}.code-window{background:#282438;margin:0 22px;border-radius:14px;overflow:hidden;direction:ltr}.code-window>div{font:10px 'JetBrains Mono',monospace;color:#bab0d0;padding:12px 16px;border-bottom:1px solid #ffffff12;display:flex;justify-content:space-between}.code-window i{width:6px;height:6px;background:#a8d7b8;border-radius:50%}.code-window .class-code{margin:0;padding:18px;font-size:12px;border-radius:0;min-height:155px}.play-actions{padding:20px 22px;display:flex;gap:9px;flex-wrap:wrap}.play-actions button{font-size:12px;padding:10px 13px}.play-actions button:first-child{flex:1}.play-scene{position:relative;min-height:390px;background:radial-gradient(ellipse at 50% 35%,#fff9,transparent 65%),linear-gradient(150deg,#f0eafa,#ddd3ed);transition:box-shadow .3s;overflow:hidden}.play-scene.solved{box-shadow:inset 0 0 0 4px #4f9a7199}.scene-console,.scene-functions{background:radial-gradient(ellipse at 50% 25%,#fffb,transparent 65%),linear-gradient(145deg,#fcf2df,#eddbb8)}.scene-types{background:radial-gradient(ellipse at 50% 35%,#fff9,transparent 65%),linear-gradient(145deg,#e9f5ed,#c8e1d0)}.scene-access{background:linear-gradient(145deg,#eaf5fc,#c9deeb)}.trace-panel{padding:22px}.trace-panel>span{font-size:10px;color:var(--focus-muted);letter-spacing:.5px}.trace-panel>div{margin-top:12px;font:12px/2 'IBM Plex Sans Arabic',sans-serif;color:var(--focus-ink)}.trace-panel>div>div{padding:3px 0;border-bottom:1px solid var(--focus-line)}.trace-panel>div>div:last-child{border:0}.scene-label{font-size:10px;color:#62556f;position:absolute;top:22px;left:22px;z-index:1}.object-picker{display:flex;gap:10px}.object-option{flex:1;min-width:0;border:1px solid var(--focus-line);border-radius:12px;display:grid;justify-items:center;gap:7px;padding:12px 6px;background:var(--focus-bg);color:var(--focus-ink);font:11px 'JetBrains Mono',monospace;cursor:pointer}.object-option[aria-pressed=true]{border-color:#8f72c7;background:var(--toy-lavender);box-shadow:0 0 0 2px #bba6e43b}.object-symbol{display:block;width:24px;height:28px;border-radius:8px;background:#b6a0d6;box-shadow:inset -5px -4px 0 #7e619c44}.object-symbol.door{border-radius:14px 14px 0 0;background:#d1b27b}.object-symbol.crystal{clip-path:polygon(50% 0,100% 40%,50% 100%,0 40%);background:#88baa7}.world-stage{position:relative;height:390px;display:flex;align-items:center;justify-content:space-around;gap:12px;padding:45px 16px 25px}.world-object{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:end;width:30%;height:210px;gap:17px;z-index:2;border:2px solid transparent;border-radius:18px;padding:20px 0}.world-object.selected{border:2px dashed #9072ba;background:#ffffff35}.world-object bdi{font:11px 'JetBrains Mono',monospace;color:#504461}.world-object .lab-bot{transform:scale(.8);transform-origin:bottom;margin-top:-25px}.world-object.inactive{opacity:.35}.world-object.woke{animation:bot-hop .7s ease}.scenic-door{width:65px;height:106px;background:linear-gradient(110deg,#c4a06a,#9e7a49);border:6px solid #e4c899;border-bottom:0;border-radius:30px 30px 0 0;box-shadow:7px 6px 0 #80614333;position:relative}.scenic-door:after{content:'';position:absolute;width:7px;height:7px;border-radius:50%;background:#ffe8a0;right:8px;top:55px}.scenic-crystal{width:58px;height:86px;clip-path:polygon(50% 0,100% 35%,65% 90%,50% 100%,35% 90%,0 35%);background:linear-gradient(110deg,#c4f4dc,#72b99c 50%,#b6e7d2 51%);filter:drop-shadow(0 10px 2px #567d6133)}.world-floor{position:absolute;bottom:78px;left:5%;right:5%;height:80px;background:#ffffff65;transform:perspective(100px) rotateX(25deg);border:1px solid #fff;border-radius:20px}.script-badge{position:absolute;bottom:-10px;white-space:nowrap;font:9px 'JetBrains Mono',monospace;padding:6px 9px;background:#fff8f0;color:#6a4d86;border:1px solid #c5b0dc;border-radius:8px}.radio-stage{height:390px;position:relative;display:flex;align-items:center;flex-direction:column;padding-top:40px}.radio-stage .lab-bot{transform:scale(.9)}.radio-screen{position:absolute;bottom:25px;width:80%;min-height:115px;padding:17px;background:#343042;border:6px solid #bfa884;border-radius:16px;box-shadow:0 6px 0 #9c815b;color:#c8efd8}.radio-screen>span{font-size:9px;color:#aca6b5;letter-spacing:1px}.radio-screen>div{font:14px/1.8 'JetBrains Mono',monospace;margin-top:12px;direction:ltr;text-align:left;overflow-wrap:anywhere}.radio-wave{position:absolute;width:140px;height:100px;border:2px solid #c0a16b66;border-radius:50%;top:49px;left:calc(50% - 70px);opacity:0}.radio-wave.second{width:200px;height:140px;left:calc(50% - 100px);top:29px}.broadcasting .radio-wave{animation:broadcast 1s ease-in-out 2}.broadcasting .radio-wave.second{animation-delay:.2s}.memory-stage{height:390px;position:relative;padding:32px 25px;display:flex;gap:20px;align-items:center;justify-content:center}.memory-stage>.lab-bot{transform:scale(.85)}.memory-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0;width:64%;direction:ltr}.memory-cell{min-width:0;display:grid;gap:5px;background:#ffffffb5;border:1px solid #a9c8b7;border-radius:14px;padding:13px;box-shadow:0 5px 0 #87ad961c}.memory-cell span{font:10px 'JetBrains Mono',monospace;color:#397256;display:inline-block}.memory-cell strong{font:500 17px 'JetBrains Mono',monospace;color:#2e4f40;overflow-wrap:anywhere}.memory-cell small{font:9px 'JetBrains Mono',monospace;color:#647d6f;overflow-wrap:anywhere}.memory-cell[data-type=empty]{border-style:dashed;background:#ffffff50}.data-slots{display:grid;gap:10px}.data-slot{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:11px;background:var(--focus-bg);border:1px solid var(--focus-line);border-radius:12px;align-items:center}.data-slot>div{display:grid;gap:3px;direction:ltr}.data-slot bdi{font:11px 'JetBrains Mono',monospace}.data-slot code{font-size:12px;color:var(--focus-brand)}.data-slot>label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.data-slot select{min-height:42px}.vault-stage{height:390px;position:relative;padding:40px;display:flex;align-items:start;justify-content:center;gap:25px}.vault-stage>.lab-bot{transform:scale(.8);transform-origin:top}.vault-box{width:180px;background:linear-gradient(140deg,#d0dbe6,#a4bacb);border:3px solid #8ba3b6;box-shadow:5px 7px 0 #7c96aa44,inset 0 2px 0 #e9f3fa;border-radius:19px;padding:20px 15px;color:#354e61;display:grid;gap:10px}.vault-box>span{font-size:8px}.vault-box strong{font:500 17px 'JetBrains Mono',monospace}.vault-box code{font-size:18px}.vault-lock{font-size:10px;border-top:1px solid #8aa2b4;padding-top:10px}.inspector-mini{position:absolute;bottom:28px;left:30px;right:30px;border:1px solid #b2c7d7;border-radius:12px;padding:14px;background:#f6fbff;color:#4b6274;box-shadow:0 4px 0 #7e9caf22}.inspector-mini>span{font:9px 'JetBrains Mono',monospace;letter-spacing:1px}.inspector-mini>div{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font:12px 'JetBrains Mono',monospace}.inspector-mini code{background:#e5eef5;border:1px solid #c4d5e0;border-radius:5px;padding:4px 15px}.inspector-mini p{font-size:11px;margin:10px 0 0;color:#758898}.recipe-card,.lifecycle-card{padding:15px;border:1px solid var(--focus-line);background:var(--focus-bg);border-radius:13px;display:grid;gap:12px}.recipe-card span{font-size:11px;color:var(--focus-muted)}.recipe-card code{font-size:10px;white-space:normal;overflow-wrap:anywhere}.lifecycle-card code{font-size:12px}.recipe-stage{height:390px;position:relative;padding:30px;display:flex;align-items:center;justify-content:center;gap:35px}.recipe-stage>.lab-bot{transform:rotate(5deg)}.energy-core{width:120px;height:180px;background:#eee1c6;border:3px solid #cfb989;border-radius:50px 50px 20px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;box-shadow:6px 7px 0 #b79b6522;color:#806535}.energy-core i{width:35px;height:35px;border-radius:50%;background:#bdad8c;box-shadow:inset 0 3px 5px #5a491f33}.energy-core span{font:9px 'JetBrains Mono',monospace}.energy-core strong{font:500 34px 'JetBrains Mono',monospace}.energy-core small{font-size:9px}.charged .energy-core i{background:#a8deb6;box-shadow:0 0 25px #6fb98899,inset 0 3px 0 #d0f8df}.charged .lab-bot{animation:bot-hop .6s ease 2}.function-pipe{position:absolute;bottom:24px;display:flex;gap:14px;align-items:center;background:#fff7dfb8;border:1px solid #d9c291;border-radius:12px;padding:12px 18px;color:#77603b}.function-pipe code{font-size:12px}.function-pipe span{font-size:10px}.theatre-stage{height:390px;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;padding:45px 20px 25px}.theatre-stage>.lab-bot{transform:scale(.8);margin-top:-20px;margin-bottom:-20px}.theatre-lights{position:absolute;top:0;left:20px;right:20px;height:24px;display:flex;justify-content:space-around;border-top:5px solid #c0acd7}.theatre-lights i{width:16px;height:20px;background:#ad95c6;border-radius:0 0 8px 8px;box-shadow:0 18px 25px 8px #fff4}.time-counters{display:flex;gap:12px;width:80%;max-width:300px}.time-counters>div{display:flex;flex-direction:column;gap:4px;align-items:center;background:#ffffffa0;border:1px solid #bfa9d8;border-radius:14px;padding:10px;flex:1;color:#5f487b}.time-counters strong{font:500 27px 'JetBrains Mono',monospace}.time-counters span{font-size:10px}.time-counters code{font-size:10px}.frame-timeline{display:flex;gap:5px;justify-content:center;direction:ltr}.frame-timeline span{width:28px;height:30px;border:1px solid #baa3d2;border-radius:7px;display:grid;place-items:center;font:10px 'JetBrains Mono',monospace;color:#7f6798;background:#ffffff55}.frame-timeline span.lit{background:#a88aca;color:white;box-shadow:0 3px 0 #8565a4}.theatre-stage .scene-label{top:auto;bottom:15px;left:0;width:100%;text-align:center}.play-feedback{margin:0 22px 22px;padding:17px;border-radius:13px;font-size:13px;line-height:1.9;border:1px solid var(--focus-line)}.play-feedback strong{display:block;margin-bottom:9px}.play-feedback p{font-size:12px;margin:10px 0 0}.play-feedback.success{background:var(--toy-mint);color:var(--mission-success);border-color:#b9d6c7}.play-feedback.retry{background:var(--toy-peach);color:var(--mission-warning);border-color:#e5cea9}.play-feedback.hint{background:var(--toy-lavender);color:var(--focus-brand)}.solution-checks{display:flex;flex-wrap:wrap;gap:6px}.solution-checks span{padding:3px 8px;background:#ffffff55;border-radius:7px;font-size:11px}#pNext{padding:0 22px 23px}.concept-drawer{padding:20px 24px;border:1px solid var(--focus-line);border-radius:16px;background:var(--focus-paper);margin:25px 0}.concept-drawer summary{cursor:pointer;font-size:14px;font-weight:500}.concept-drawer p{margin:18px 0 0;font-size:13px}.concept-drawer a{font-size:12px;display:inline-block;margin-top:14px;color:var(--focus-brand)}
@keyframes bot-hop{0%,100%{translate:0 0}40%{translate:0 -14px}65%{translate:0 0}80%{translate:0 -5px}}@keyframes broadcast{0%{opacity:0;scale:.8}50%{opacity:1}100%{opacity:0;scale:1.2}}
html[data-theme=night]{--class-green:#a1d6bb}html[data-theme=night] .lab-art{filter:brightness(.8)}html[data-theme=night] .play-scene{filter:brightness(.85)}html[data-theme=night] .release-label{color:#b8e7cc}html[data-theme=night] .journey-row:nth-child(2) .journey-index{color:#b8e7cc}html[data-theme=night] .journey-row:nth-child(3) .journey-index{color:#efd3a1}
@media(min-width:900px){.play-view{position:sticky;top:22px}}@media(max-width:1000px){.lab-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-layout{grid-template-columns:1fr}.teacher-layout aside{grid-template-columns:1fr 1fr;align-items:start}.class-hero{gap:20px}.play-workbench{gap:16px}.memory-stage{gap:5px;padding:22px 12px}.memory-stage>.lab-bot{transform:scale(.65);width:80px}.world-object .lab-bot{transform:scale(.65)}.play-controls .focus-primary{font-size:11px}}
@media(max-width:760px){body{padding:0 14px 30px}body[data-classroom] .focus-header{padding:16px;gap:14px;margin-bottom:25px}.class-hero{grid-template-columns:1fr;margin-top:0;gap:0}.class-hero>div:first-child{padding-top:0}.class-hero .lab-art{height:270px;max-width:400px;width:100%;justify-self:center;margin-top:20px}.class-hero .lab-bot{transform:scale(1.2) rotate(-5deg);bottom:67px}.class-hero .art-token.one{top:50px}.class-hero .art-token.two{bottom:45px}.journey-row{gap:14px;padding:20px;flex-wrap:wrap}.journey-row>div{min-width:180px}.journey-row>.focus-secondary{margin-inline-start:66px}.journey-row h2{font-size:20px}.lab-card-content{padding:20px}.lab-catalog{gap:16px}.lab-art{height:200px}.lab-card h2{font-size:21px}.lab-card-bottom{flex-wrap:wrap}.board-heading{align-items:start}.board-heading h2{font-size:23px}.live-board{padding:20px 14px}.rank-table{font-size:12px}.rank-avatar{width:25px;height:25px;margin-inline-end:6px}.rank-table td,.rank-table th{padding:12px 6px}.concept-layout,.teacher-login,.play-workbench{grid-template-columns:1fr}.concept-layout>.lab-art{display:none}.teacher-login{gap:25px;margin:20px auto}.teacher-login>div:first-child{display:none}.teacher-summary{gap:15px;padding:20px;flex-wrap:wrap}.teacher-summary>div{min-width:75px}.teacher-summary strong{font-size:22px}.teacher-layout aside{grid-template-columns:1fr}.teacher-stage{gap:12px;padding:14px;flex-wrap:wrap}.teacher-stage h3{font-size:16px}.teacher-stage .focus-primary{font-size:11px}.play-view{position:static;grid-row:1}.play-topline{flex-wrap:wrap;gap:10px}.play-topline button{font-size:11px;padding:8px 12px}.play-workbench{gap:20px}.play-scene,.world-stage,.radio-stage,.memory-stage,.vault-stage,.recipe-stage,.theatre-stage{height:350px;min-height:350px}.play-brief{font-size:14px}.panel-heading{padding:15px 18px}.trace-panel{padding:15px 18px}.world-floor{bottom:58px}.radio-screen{bottom:23px}.radio-stage{padding-top:20px}.vault-stage{padding:25px}.theatre-stage{gap:12px}.memory-stage>.lab-bot{transform:scale(.8);width:100px}.class-footer{font-size:11px}.play-actions{position:sticky;bottom:0;background:var(--focus-paper);z-index:5;border-top:1px solid var(--focus-line)}.frame-timeline span{width:25px}.play-feedback p{font-size:12px}.live-pill{font-size:10px;padding:7px 9px}}
@media(max-width:480px){.lab-catalog{grid-template-columns:1fr}.lab-art{height:220px}.class-hero p{font-size:15px}.hero-chips{gap:5px}.hero-chips span{font-size:10px}.teacher-stage>div{min-width:150px}.rank-avatar{display:none}.journey-index{width:42px;height:49px;font-size:17px}.journey-row>.focus-secondary{margin-inline-start:56px}.journey-row>div{min-width:140px}.data-slot{grid-template-columns:1fr 1fr}.board-heading{gap:8px}.board-heading h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.play-mobile-nav{display:none}@media(max-width:760px){.play-mobile-nav{display:flex;flex-wrap:wrap;gap:10px;padding:0 18px 18px}.play-mobile-nav a,.play-mobile-nav button{font-size:11px}}
/* Individual adventure props share the same toy materials. */
.art-cube{position:absolute;width:34px;height:35px;background:linear-gradient(145deg,#c7e6d5,#8db79e);border:1px solid #8aaf99;border-radius:8px;bottom:44px;left:38px;transform:rotate(-13deg);box-shadow:4px 5px 0 #6c8b6f25;z-index:2}.art-gem{position:absolute;right:35px;top:40px;width:25px;height:39px;clip-path:polygon(50% 0,100% 38%,50% 100%,0 38%);background:linear-gradient(110deg,#f9e2b9,#cc9f59 50%,#e8c68e 51%);z-index:2}.art-radio{position:absolute;bottom:28px;left:25px;right:25px;height:39px;background:#4a4055;border:4px solid #d3b683;border-radius:10px;box-shadow:0 4px 0 #a98c5f;z-index:2;display:flex;gap:4px;padding:10px}.art-radio i{width:4px;background:#c5e6ce;border-radius:2px;height:10px}.art-radio i:nth-child(2){height:6px}.art-radio b{font:8px 'JetBrains Mono',monospace;color:#dbcda9;margin-left:auto}.art-console>.lab-bot{bottom:70px;transform:scale(.9) rotate(-5deg)}.art-console .art-token.two{bottom:82px}.art-data{position:absolute;left:20px;bottom:28px;display:grid;grid-template-columns:1fr 1fr;gap:5px;z-index:3;transform:rotate(-9deg)}.art-data span{font:10px 'JetBrains Mono',monospace;background:#f7fff5df;color:#4b7860;border:1px solid #a3c8b1;border-radius:7px;padding:7px;box-shadow:0 3px 0 #92b59c33}.art-types>.lab-bot{left:calc(56% - 45px)}.art-safe{position:absolute;bottom:29px;left:32px;width:57px;height:70px;background:linear-gradient(135deg,#d8e7f0,#9bb8ca);border:3px solid #8faabb;border-radius:13px;box-shadow:5px 6px 0 #718e9e33;z-index:2;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;transform:rotate(-8deg)}.art-safe i{width:22px;height:22px;border-radius:50%;border:4px solid #a0bacd;background:#e3eef5;box-shadow:inset 0 2px 0 #7f9baf}.art-safe b{font:7px 'JetBrains Mono',monospace;color:#506b7e}.art-access>.lab-bot{left:calc(56% - 45px)}.art-power{position:absolute;width:42px;height:73px;border:3px solid #c5ae7c;border-radius:20px 20px 10px 10px;bottom:38px;left:35px;background:#f1e7c9;box-shadow:4px 6px 0 #af955f2b;z-index:2;display:grid;justify-items:center;align-content:center;gap:9px;transform:rotate(-8deg)}.art-power i{width:18px;height:18px;border-radius:50%;background:#b0ddb7;box-shadow:0 0 18px #6fb88899}.art-power b{font:8px 'JetBrains Mono',monospace;color:#8b7443}.art-frames-strip{position:absolute;bottom:23px;left:50%;transform:translateX(-50%) rotate(-4deg);display:flex;gap:5px;z-index:2}.art-frames-strip i{font:9px 'JetBrains Mono',monospace;width:24px;height:25px;border:1px solid #b39bcd;border-radius:5px;background:#ffffffb0;color:#9778b6;display:grid;place-items:center;box-shadow:0 3px 0 #ad93c34d}.art-frames-strip i:nth-child(-n+2){background:#ad91ca;color:white}.class-hero .art-cube{bottom:54px;left:45px;width:45px;height:47px}.class-hero .art-gem{top:90px;right:35px;width:30px;height:47px}
.board-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.board-tabs a{padding:9px 13px;min-height:40px;border:1px solid var(--focus-line);border-radius:11px;color:var(--focus-muted);text-decoration:none;font-size:12px;background:var(--focus-bg)}.board-tabs a[aria-current]{background:var(--toy-lavender);border-color:#b8a5d7;color:var(--focus-brand);box-shadow:0 2px 0 var(--toy-lip)}.board-share{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-top:18px}.board-share p{margin:0!important;flex:1}.board-share button{font-size:11px;min-height:40px}.game-board-link{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:24px 0}.game-board-link>span{font-size:12px;color:var(--focus-muted);margin-inline-end:auto}.game-board-link a{font-size:12px}.rank-avatar{user-select:none}.board-tabs a:focus-visible{outline:3px solid var(--focus-brand);outline-offset:3px}@media(max-width:480px){.board-tabs{gap:6px}.board-tabs a{font-size:10px;padding:8px 10px}.board-share{align-items:start}.board-share p{min-width:100%}.game-board-link a{font-size:11px}.game-board-link>span{min-width:100%}}
/* Formative learning: private checks, specific feedback, practical transfer. */
.check-card-link{font-size:11px;color:var(--focus-brand);margin-top:18px;border-top:1px solid var(--focus-line);padding-top:14px;text-decoration:none;line-height:1.8}.learning-evidence{margin:24px 0 30px}.learning-evidence .section-line{margin-top:0}.learning-evidence h2{font-size:23px}.learning-evidence>p{font-size:13px}.evidence-table-wrap{overflow-x:auto}.learning-evidence table{min-width:680px}.learning-evidence table tbody th{font-size:12px;font-weight:500;color:var(--focus-ink);background:transparent;border-bottom:1px solid var(--focus-line)}.learning-evidence table td{font:12px 'JetBrains Mono',monospace;direction:ltr;text-align:center}.check-history{padding:14px 18px;background:var(--toy-lavender);border:1px solid var(--focus-line);border-radius:12px;font-size:13px!important}.check-form{margin:30px 0;display:grid;gap:24px}.check-question{min-width:0;padding:23px;border:1px solid var(--focus-line);border-radius:20px;background:var(--focus-paper);box-shadow:var(--toy-shadow)}.check-question legend{font-size:16px;font-weight:600;line-height:1.9;padding:0 10px;max-width:100%;color:var(--focus-ink)}.check-question legend>span{display:inline-grid;place-items:center;width:29px;height:29px;background:var(--toy-lavender);border-radius:9px;color:var(--focus-brand);font:12px 'JetBrains Mono',monospace;margin-inline-end:9px}.check-options{display:grid;gap:10px}.check-options label{display:flex;gap:12px;align-items:center;padding:13px 16px;border:1px solid var(--focus-line);border-radius:12px;background:var(--focus-bg);color:var(--focus-ink);cursor:pointer;min-height:50px;font-size:14px;line-height:1.8}.check-options label:has(input:checked){background:var(--toy-lavender);border-color:#aa91ce;box-shadow:0 0 0 2px #af96dc22}.check-options input{width:18px;height:18px;accent-color:#6752ca;flex:none}.check-options span{overflow-wrap:anywhere}.check-form>.focus-primary{justify-self:start}.check-result{border:1px solid var(--focus-line);border-radius:22px;padding:28px;background:var(--focus-paper);margin:30px 0}.check-result>h2{font-size:25px}.check-result>p{font-size:14px}.check-explanation{border:1px solid var(--focus-line);border-inline-start:4px solid #b3a6c9;border-radius:14px;padding:18px 22px;margin:16px 0;background:var(--focus-bg)}.check-explanation.correct{border-inline-start-color:#67a484}.check-explanation.needs-review{border-inline-start-color:#cfa25e}.check-explanation h3{font-size:15px;line-height:1.9}.check-explanation p{font-size:13px;margin:8px 0 0}.check-explanation a{margin-top:12px;font-size:12px}.transfer-card{border:1px solid var(--focus-line);border-radius:22px;padding:28px;background:linear-gradient(130deg,var(--focus-paper),var(--toy-mint));margin:30px 0}.transfer-card>p{font-size:14px}.transfer-card h2{font-size:23px}.transfer-checklist{border:1px solid var(--focus-line);border-radius:12px;padding:14px 18px;background:var(--focus-paper);margin:20px 0}.transfer-checklist legend{font-size:11px;color:var(--focus-muted);padding:0 8px;max-width:100%;line-height:1.8}#checkIntro .focus-row{margin:18px 0}.check-result .focus-row{margin-top:24px}.practice-cycle{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px;font-size:11px;color:var(--focus-muted)}.practice-cycle span{padding:6px 10px;border:1px solid var(--focus-line);border-radius:20px;background:var(--focus-paper)}@media(max-width:600px){.check-question{padding:16px}.check-question legend{font-size:14px}.check-options label{font-size:12px;padding:11px 12px}.check-result,.transfer-card{padding:20px}.learning-evidence .section-line{flex-wrap:wrap}.learning-evidence h2{font-size:20px}.check-result>h2{font-size:21px}.check-explanation{padding:15px}.check-explanation h3{font-size:13px}}
.writing-invitation{display:flex;gap:18px;align-items:center;justify-content:space-between;margin:18px 0 25px;padding:18px 22px;border:1px solid var(--focus-line);border-radius:17px;background:var(--toy-lavender)}.writing-invitation strong{font-size:15px}.writing-invitation p{font:11px/1.8 'JetBrains Mono',monospace;margin:6px 0 0;color:var(--focus-muted)}.writing-invitation a{font-size:12px;flex:none}.writing-key-difference{display:flex;justify-content:center;align-items:center;gap:24px;padding:24px;border:1px solid var(--focus-line);border-radius:20px;background:var(--focus-paper);margin:25px 0}.writing-key-difference>div{display:grid;gap:9px;text-align:center;flex:1}.writing-key-difference code{font-size:22px;color:var(--focus-brand)}.writing-key-difference span{font-size:12px;color:var(--focus-muted)}.writing-key-difference>b{font-size:30px;color:var(--mission-warning)}.spelling-lab{border:1px solid var(--focus-line);border-radius:23px;overflow:hidden;background:var(--focus-paper);box-shadow:var(--toy-shadow);margin:28px 0 35px}.spelling-lab .panel-heading h2{font-size:21px;margin:5px 0 0}.spelling-lab .panel-heading{align-items:center}#spellingCount{font:16px 'JetBrains Mono',monospace;color:var(--focus-brand)}.spelling-nav{display:flex;gap:8px;padding:18px 24px;border-bottom:1px solid var(--focus-line);direction:ltr;flex-wrap:wrap}.spelling-nav button{width:39px;height:39px;display:grid;place-items:center;border:1px solid var(--focus-line);border-radius:10px;background:var(--focus-bg);color:var(--focus-muted);font:12px 'JetBrains Mono',monospace;cursor:pointer}.spelling-nav button[aria-current]{border-color:#ac96d0;background:var(--toy-lavender);color:var(--focus-brand);box-shadow:0 2px 0 var(--toy-lip)}.spelling-workbench{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;padding:24px}.spelling-workbench>div{min-width:0}#spellingControls h3{font-size:22px}#spellingControls>p{font-size:14px}#spellingForm>label{display:block;font-size:13px;margin:16px 0 10px}#spellingInput{display:block;max-width:100%;width:100%;min-height:55px;padding:13px 17px;border:1px solid #a891ce;border-radius:12px;background:var(--focus-paper);color:var(--focus-brand);font:500 20px 'JetBrains Mono',monospace}#spellingForm .class-code{font-size:12px;min-height:145px}.spelling-scene{background:radial-gradient(ellipse at 50% 30%,#fff8,transparent 65%),linear-gradient(140deg,#efe8fa,#d9ccee);border:1px solid #d6c9e7;border-radius:20px;padding:45px 25px 25px;display:flex;align-items:center;flex-direction:column;gap:28px;justify-content:center;color:#473754;align-self:start;min-height:390px}.spelling-scene>.lab-bot{transform:scale(1.2);margin:15px 0}.spelling-signal{background:#fffdf6df;border:1px solid #c9bad8;padding:12px 18px;border-radius:12px;font-size:14px;text-align:center;min-width:75%;box-shadow:0 3px 0 #ab94bf22}.spelling-scene>p{font-size:12px;margin:0;color:#5d4e6c;text-align:center;line-height:1.9;overflow-wrap:anywhere}.spelling-scene.repaired{background:radial-gradient(ellipse at 50% 30%,#fff8,transparent 65%),linear-gradient(140deg,#e8f6ed,#c3e0ce);border-color:#a1c6af}.spelling-scene.repaired>.lab-bot{animation:bot-hop .65s ease 2}.spelling-scene.repaired .spelling-signal{border-color:#a5cdb6;color:#286448}.spelling-feedback{padding:16px;border:1px solid var(--focus-line);border-radius:12px;margin-top:20px;font-size:13px;line-height:1.9}.spelling-feedback strong{display:block}.spelling-feedback p{font-size:12px;margin:8px 0 0}.spelling-feedback.correct{background:var(--toy-mint);color:var(--mission-success)}.spelling-feedback.retry{background:var(--toy-peach);color:var(--mission-warning)}.spelling-feedback.hint{background:var(--toy-lavender);color:var(--focus-brand)}.spelling-comparison{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:14px}.spelling-comparison>span{font-size:11px}.spelling-comparison code{font:15px 'JetBrains Mono',monospace;display:flex;gap:2px}.spelling-comparison b{padding:4px;border-radius:4px;font-weight:500}.different-letter{background:#e4b873;color:#4d3517}.spelling-note{padding:0 24px 20px;margin:0!important}#spellingNext{margin-top:18px}.writing-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.writing-rule{background:var(--focus-paper);border:1px solid var(--focus-line);border-radius:20px;padding:24px;min-width:0}.writing-rule h3{font-size:19px;margin:10px 0}.writing-rule p{font-size:13px}.writing-rule .class-code{font-size:11px;margin-bottom:0}.core-terms{margin-top:22px}.core-terms>div{display:grid;grid-template-columns:190px 1fr;gap:18px;border-top:1px solid var(--focus-line);padding:15px 0}.core-terms dt{font-size:13px;color:var(--focus-brand);direction:ltr;text-align:left}.core-terms dd{font-size:13px;color:var(--focus-muted);line-height:1.9;margin:0}.practice-cycle a{font-size:11px;color:var(--focus-brand);padding:6px 10px}html[data-theme=night] .spelling-scene{filter:brightness(.84)}@media(max-width:760px){.spelling-workbench{grid-template-columns:1fr;padding:18px}.spelling-scene{min-height:300px;padding-top:25px;gap:20px}.writing-rule-grid{grid-template-columns:1fr}.writing-invitation{flex-wrap:wrap;padding:17px}.writing-key-difference{gap:14px;padding:20px 15px}.writing-key-difference code{font-size:17px}.writing-key-difference span{font-size:11px}.core-terms>div{grid-template-columns:1fr;gap:6px}.spelling-nav{padding:15px 18px;gap:7px}.spelling-nav button{width:34px;height:36px}#spellingForm .focus-row{gap:8px}.spelling-lab .panel-heading h2{font-size:18px}}
/* Trainer-led sessions: one clear action, local QR, readable detective code. */
.trainer-control{display:grid;gap:24px;margin:28px 0}.launch-console{padding:32px;border:1px solid #d7cbbd;border-radius:28px;background:linear-gradient(125deg,#fdf8ef,#eceaf8);box-shadow:0 12px 38px #3028450c}.launch-heading,.launch-layout{display:flex;gap:32px;justify-content:space-between}.launch-heading{align-items:start}.launch-layout{margin-top:24px}.launch-layout>div{flex:1;min-width:0}.launch-layout .class-form{max-width:none}.launch-console h2{margin:8px 0;font-size:clamp(24px,3vw,36px)}.run-share{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;border:1px solid #d8d0c7;border-radius:22px;padding:24px;background:#fffdf9}.run-share img{width:256px;max-width:100%;height:auto;image-rendering:pixelated;background:white}.run-share input{width:100%;font:13px ui-monospace,monospace;min-height:44px}.run-share label{font-weight:700}.run-share .focus-row{justify-content:center}.qr-placeholder{font-size:90px;line-height:1.2;color:#76679c}.stop-session{padding:14px 22px;border:1px solid #b63839;border-radius:12px;background:#b63839;color:white;font:inherit;font-weight:800;cursor:pointer;min-height:48px}.stop-session:hover{background:#91282b}.stop-session:disabled{opacity:.6}.visibility-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.visibility-part{display:flex;align-items:center;gap:14px;border:1px solid #d9d0c5;border-radius:16px;padding:18px;cursor:pointer}.visibility-part span{flex:1}.visibility-part small{display:block;margin-top:5px;color:#5b5363}.visibility-part input{width:24px;height:24px;accent-color:#624b91}.visibility-part b{font-size:13px;min-width:32px}.visibility-part:has(input:not(:checked)){background:#eae5df}.visibility-part:has(input:disabled){opacity:.65}.session-projector{width:min(850px,94vw);max-height:94vh;border:1px solid #d1c6ba;border-radius:28px;padding:32px;text-align:center;background:#fffdf8;color:#29233b;overflow:auto}.session-projector::backdrop{background:#171121c9;backdrop-filter:blur(6px)}.session-projector img{display:block;max-width:85%;height:auto;margin:auto;image-rendering:pixelated}.session-projector>button{display:block;margin-bottom:24px}.session-projector>p[dir=ltr]{overflow-wrap:anywhere;font:16px ui-monospace,monospace}.session-wait{padding:48px 24px;text-align:center;background:#f5efe5;border:1px solid #d9d0c5;border-radius:24px;margin:24px 0}.session-wait .focus-row{justify-content:center}.session-beacon{display:grid;place-items:center;width:90px;height:90px;margin:auto;border-radius:28px;background:#e5dcf2;color:#5c438e;font-size:40px}.information-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.debug-top{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:24px 0}.case-label{font:700 16px ui-monospace,monospace;letter-spacing:2px;color:#705283}.debug-top nav{display:flex;gap:8px;flex-wrap:wrap}.debug-top a{display:grid;place-items:center;min-width:42px;min-height:44px;border:1px solid #cfc4b7;border-radius:12px;background:#fffaf1;color:#312b3c;text-decoration:none}.debug-top a[aria-current]{background:#5c438e;color:#fff}.debug-workbench{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;align-items:start}.detective-code,.detective-tools{min-width:0;padding:24px;border:1px solid #cfc4b7;border-radius:24px;background:#fffaf1}.code-lines{padding:16px 0;background:#211f30;border-radius:16px;overflow:auto}.code-lines button{display:flex;gap:16px;align-items:center;text-align:left;width:100%;min-width:max-content;min-height:44px;background:transparent;color:#ece6ff;border:0;border-inline-start:4px solid transparent;padding:6px 16px;cursor:pointer}.code-lines button span{width:24px;color:#a9a0bd;font:13px ui-monospace,monospace}.code-lines code{font:15px/1.7 ui-monospace,monospace;white-space:pre}.code-lines button[aria-pressed=true]{background:#5d468b;border-inline-start-color:#ffd56a}.code-lines button:hover{background:#3b334f}.detective-tools fieldset{border:0;padding:0;margin:0 0 24px;min-width:0}.detective-tools legend{font-weight:800;margin-bottom:12px}.debug-option{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #d9d0c5;border-radius:14px;margin:8px 0;cursor:pointer;min-height:52px}.debug-option input{flex:0 0 auto;width:20px;height:20px;accent-color:#624b91}.debug-option code{overflow-wrap:anywhere;font-size:14px}.debug-option:has(input:checked){border-color:#7050a6;background:#eee6fa}.detective-scene{min-height:250px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse,#ddd2ef,transparent 70%);margin-top:16px}.detective-scene .lab-bot{position:relative;inset:auto;transform:scale(.85);margin:12px auto 25px}.detective-scene>span{font-weight:800;color:#654b81}.detective-scene.solved{background:radial-gradient(ellipse,#cce7d5,transparent 70%)}.detective-scene.solved>span{color:#256145}.detective-tools .class-code{max-width:100%;overflow:auto}.class-footer{flex-wrap:wrap}.class-footer>span[dir=ltr]{font-size:13px}
@media(max-width:760px){.launch-console{padding:20px}.launch-heading,.launch-layout{flex-direction:column;gap:20px}.launch-layout>div{width:100%}.visibility-grid,.debug-workbench,.information-grid{grid-template-columns:1fr}.run-share{padding:16px}.visibility-part{padding:14px}.session-projector{padding:20px}.detective-code,.detective-tools{padding:16px}.code-lines code{font-size:13px}}
[data-theme=dark] .launch-console,[data-theme=dark] .run-share,[data-theme=dark] .detective-code,[data-theme=dark] .detective-tools,[data-theme=dark] .session-wait{background:#242133;color:#eee7f7;border-color:#544963}[data-theme=dark] .debug-option:has(input:checked){background:#463457}[data-theme=dark] .visibility-part:has(input:not(:checked)){background:#302a3a}[data-theme=dark] .visibility-part small{color:#c2b5d0}
.launch-console select{width:100%;min-height:54px;padding:12px 16px;border:1px solid #bfb0d2;border-radius:12px;font:inherit;font-weight:700;color:#352744;background:#fffdf9}.run-share input{padding:12px;border:1px solid #cfc4b7;border-radius:10px;background:#fbf8f2;color:#32293c}.run-share .focus-row{display:flex;flex-wrap:wrap;gap:10px}.launch-console button:focus-visible,.debug-option:focus-within,.code-lines button:focus-visible{outline:3px solid #8866b5;outline-offset:3px}
html[data-theme=night] .launch-console,html[data-theme=night] .run-share,html[data-theme=night] .detective-code,html[data-theme=night] .detective-tools,html[data-theme=night] .session-wait{background:#292334;color:#f0e9f8;border-color:#65566e}html[data-theme=night] .visibility-part:has(input:not(:checked)){background:#312a3b}html[data-theme=night] .visibility-part small{color:#c5b9d2}html[data-theme=night] .debug-option:has(input:checked){background:#483653}
.session-projector{position:fixed;inset:0;margin:auto;transform:none;direction:rtl}
