:root{color-scheme:dark;--bg:#070f1b;--panel:#0c1726;--panel2:#101f31;--line:#25384b;--soft:#a0b1c4;--white:#e9f0f7;--gold:#f1ad5b;--cyan:#76cce5;--green:#89d5b9;font-family:Inter,'Segoe UI',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--white)}button,select,input{font:inherit}button{cursor:pointer;color:inherit;border:1px solid var(--line);border-radius:5px;background:#142337;transition:.16s background,.16s border-color,.16s transform}button:hover{background:#1e3750;border-color:#6a8c9e}button:active{transform:translateY(1px)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.38}.accent,.mode.active{color:var(--gold)}.muted{color:#7e91a7}.eyebrow,.overline{font-size:9px;font-weight:800;letter-spacing:2px;color:#688ca4}.topbar{height:72px;background:#0c1827;display:flex;align-items:center;gap:24px;padding:0 27px;border-bottom:1px solid var(--line)}.logo{display:flex;align-items:center;gap:12px}.logo-mark{width:44px;height:44px;border:1px solid #dbb071;display:grid;place-items:center;font-size:27px;color:#ffcf8c;font-weight:900;transform:skew(-6deg)}.logo-mark span{font-size:18px}.logo strong{font-size:23px;letter-spacing:1px;line-height:1.2}.logo .overline{font-size:8px;margin-bottom:4px}.top-divider{height:28px;border-right:1px solid #31485f}.edition{display:flex;flex-direction:column;gap:5px}.edition b{font-size:11px;letter-spacing:1.9px}.edition small{font-size:11px;color:#849bb0}.top-spacer{flex:1}.live-indicator{font-size:9px;letter-spacing:1px;color:#a2d6c8;white-space:nowrap}.live-indicator i,.tiny-orb{display:inline-block;width:7px;height:7px;background:#73d4b6;border-radius:50%;box-shadow:0 0 10px #73d4b68a;margin-right:8px}.iconbtn{height:34px;min-width:36px;font-weight:900}.modebar{height:50px;display:flex;padding:0 23px;gap:12px;border-bottom:1px solid var(--line);background:#101b2a}.mode{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;padding:0 19px;font-size:11px;font-weight:800;letter-spacing:1.1px;color:#94aabb}.mode.active{border-bottom-color:var(--gold);background:#ffffff08}.workspace{display:grid;grid-template-columns:275px minmax(250px,1fr) 306px;min-height:calc(100vh - 156px);height:calc(100vh - 156px);max-height:1020px}.panel{background:var(--panel);overflow:hidden;display:flex;flex-direction:column}.leftpanel{border-right:1px solid var(--line)}.rightpanel{border-left:1px solid var(--line)}.panel-header{height:77px;padding:20px 18px 12px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #253546}.panel-header h2{margin:7px 0 0;font-size:15px;letter-spacing:.1px}.panel-header h2 span{color:#b7c5cc;font-size:11px;margin-left:8px}.tinybtn{width:26px;height:26px}.search-wrap{height:42px;margin:15px 14px 10px;background:#101e30;border:1px solid #2a4053;border-radius:5px;display:flex;align-items:center;padding:0 10px;gap:9px;color:#8db3c5}.search-wrap input{width:100%;color:#e8f5ff;border:0;outline:0;background:transparent;font-size:11px}.search-wrap input::placeholder{color:#7890a4}.tree-tools{display:flex;gap:6px;padding:0 14px 11px}.softbtn{font-size:9px;font-weight:750;padding:8px 4px;flex:1;background:#102437}.tree{flex:1;min-height:0;overflow-y:auto;padding:0 10px 12px;scrollbar-width:thin;scrollbar-color:#32506a transparent}.group-head{width:100%;display:flex;align-items:center;text-align:left;padding:11px 8px;background:none;border:0;border-radius:3px;color:#b5c8d7;font-size:10px;font-weight:850;letter-spacing:.8px}.group-head b{flex:1}.group-head .count{color:#698ca1;font-size:9px}.group-head:hover{background:#ffffff0c}.group-items{padding-bottom:8px}.part-link{display:flex;width:100%;text-align:left;align-items:center;gap:8px;padding:8px 8px 8px 17px;background:transparent;border:0;border-radius:3px;color:#97acbe;font-size:10px;letter-spacing:.05px}.part-link:hover,.part-link.selected{background:#1a3648;color:#f6cb86}.part-link .status-led{width:6px;height:6px;border:1px solid #496b78;border-radius:50%}.part-link:not(.loose) .status-led{background:#4a8b85}.part-link.loose .status-led{background:#e1a85b}.part-link .part-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.part-link.hiddenpart{opacity:.36}.panel-foot{height:40px;border-top:1px solid #25384b;display:flex;justify-content:space-around;align-items:center;color:#7892a5;font-size:9px}.stage{display:flex;flex-direction:column;min-width:0;background:#081421;overflow:hidden}.viewport{flex:1;min-height:250px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 58% 36%,#193148 0%,#0b1c2d 42%,#07111d 80%)}.viewport:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#7db9d108 1px,transparent 1px),linear-gradient(#7db9d108 1px,transparent 1px);background-size:42px 42px;transform:perspective(530px) rotateX(38deg) scale(1.38);mask-image:linear-gradient(to bottom,transparent 12%,#0009 80%)}canvas#scene{display:block;width:100%;height:100%;position:absolute;inset:0;touch-action:none;cursor:grab}canvas#scene:active{cursor:grabbing}.vignette{pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 100px 18px #02060d70}.viewport-head{position:absolute;left:25px;right:23px;top:22px;display:flex;justify-content:space-between;pointer-events:none;gap:16px}.viewport-head h1{font-size:clamp(17px,1.8vw,28px);font-weight:550;letter-spacing:.8px;margin:8px 0 5px}.viewport-head h1 em{font-style:normal;color:#f8c98c}.subhead{font-size:9px;letter-spacing:1.3px;color:#839fb0}.subhead span{color:var(--gold);padding:0 7px}.render-label{font-size:9px;white-space:nowrap;color:#91c9dd;border:1px solid #406477;background:#081724a8;padding:8px 10px;height:fit-content}.tiny-dot{color:#9ed8b2}.orient{position:absolute;left:23px;bottom:66px;color:#9db0c4;font-size:9px;letter-spacing:1px}.orient span{color:var(--gold)}.camera-grid{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.camera-grid button{padding:7px 9px;background:#091926c9;font-size:9px;font-weight:800}.hud-bottom{position:absolute;bottom:17px;left:24px;right:23px;display:flex;justify-content:space-between;gap:15px;font-size:9px;color:#728c9f;letter-spacing:.9px}.hud-left{display:flex;gap:15px}.hud-left b{color:#b5c5d4}.hud-right{text-align:right}.scene-labels{pointer-events:none;position:absolute;inset:0}.world-label{position:absolute;border-left:2px solid var(--gold);padding:5px 9px;background:#071522d9;color:#c9e9f3;font-size:9px;letter-spacing:1px;white-space:nowrap;transform:translate(7px,-50%)}.world-label i{display:block;font-style:normal;font-size:8px;color:#d4a561;margin-top:4px}.world-label:before{content:"";position:absolute;left:-3px;top:50%;width:5px;height:5px;border-radius:50%;background:#f7ba6a}.console{height:140px;flex-shrink:0;padding:20px 19px;background:#0c1a29;border-top:1px solid #2a3d51;display:grid;grid-template-columns:255px minmax(210px,1fr) 192px;gap:25px}.play-controls{display:flex;gap:7px;margin-top:18px;align-items:center}.play-controls button{height:37px;min-width:38px;font-size:13px;font-weight:700}.play-controls button#resetBtn{font-size:9px;padding:0 9px}.play-controls button.primaryplay{background:#d69d58;color:#14202d;border-color:#edb46a}.speedbox{display:flex;flex-direction:column;gap:4px;font-size:9px;color:#8aa1ae;white-space:nowrap}.speedbox select{border:0;background:transparent;color:#e0e9f2;font-size:12px}.explosion-console{padding-top:8px}.slide-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.slide-row label,.console-right label{font-size:10px;font-weight:850;letter-spacing:1.1px}.slide-row label strong{color:var(--gold);font-size:18px;margin-left:12px}.slide-row span{font-size:9px;color:#91b4c5}.ticks{display:flex;justify-content:space-between;font-size:8px;color:#648597;letter-spacing:.25px;margin-top:4px}input[type=range]{width:100%;accent-color:#d3a16a;cursor:pointer}.explosion-console input[type=range]{margin-top:15px}.console-right{padding-top:8px}.console-right select{width:100%;margin-top:13px;height:38px}select{appearance:none;background:#14283a;color:#d5e1e9;border:1px solid #315062;border-radius:4px;padding:7px 8px;font-size:10px;letter-spacing:.45px}.inspector-code{border:1px solid #45576b;padding:6px;font-size:10px;color:#e8b76f;font-weight:800;white-space:nowrap}.inspector-body{padding:14px 18px 26px;overflow-y:auto;min-height:0;scrollbar-width:thin;scrollbar-color:#32506a transparent}.small-art{border:1px solid #2b4053;background:#122236;padding:10px;display:flex;align-items:center;gap:11px;min-height:80px}.part-icon{width:50px;height:55px;display:grid;place-items:center;background:radial-gradient(#326381,#0b1726);font-size:27px;color:#edd4a0}.small-art strong{display:block;font-size:13px;line-height:1.4;margin:6px 0}.small-art span{font-size:10px;color:#819caf}#partDescription{color:#a8bbcc;font-size:11px;line-height:1.6;min-height:60px}.metric-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid #2a4052}.metric-grid>div{padding:10px;border-bottom:1px solid #2a4052}.metric-grid>div:nth-child(odd){border-right:1px solid #2a4052}.metric-grid>div:nth-child(n+3){border-bottom:0}.metric-grid small{display:block;font-size:9px;color:#698ba3;margin-bottom:6px;letter-spacing:.8px}.metric-grid b{font-size:11px;color:#d7e0e9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.footnote{font-size:9px;color:#6f8598;margin:8px 0 14px}.section-label{font-size:9px;color:#e6b876;font-weight:850;letter-spacing:1.7px;margin:20px 0 10px}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.action-grid button{min-height:34px;font-size:9px;font-weight:850;letter-spacing:.4px}.assembly-card,.operation-card,.learning-card{background:#102135;border:1px solid #294054;padding:12px}.assembly-top{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#aac0d1}.assembly-top strong{color:#84e0b4}.progress-track{height:5px;background:#263949;margin:10px 0 15px}.progress-track div{background:linear-gradient(90deg,#3c98a8,#8bd4aa);height:100%;width:100%;transition:width .2s}.assembly-select{display:flex;justify-content:space-between;align-items:center;margin:9px 0 12px;font-size:10px}.assembly-select select{max-width:156px}.row-2{display:grid;grid-template-columns:1fr 1fr;gap:6px}.row-2 button{font-size:9px;height:35px;font-weight:800}.danger{border-color:#945b50!important;color:#ecb09f}.assembly-message{min-height:43px;font-size:10px;color:#91aec0;line-height:1.45;margin:12px 0 8px}.stepper{display:grid;grid-template-columns:repeat(6,1fr);gap:3px}.stepper button{height:30px;font-size:10px;padding:0}.rotation-row{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.7px;margin-top:13px;color:#9eb2c1}.rotation-row span{color:#f4c48e}.challenge-stats{margin-top:5px;font-size:9px;color:#e5b768}.operation-card label{display:flex;justify-content:space-between;font-size:10px;color:#9cb6c7;margin:2px 0 7px;letter-spacing:.4px}.operation-card label b{color:#e7c18c}.operation-card input{margin:0 0 16px}.operation-card input:last-child{margin-bottom:2px}.learning-card{font-size:10px;color:#a7bfcf;line-height:1.6}.learnbtn{margin-top:7px;width:100%;height:35px;font-size:9px;font-weight:800;letter-spacing:.3px}.data-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.data-actions button{min-height:32px;font-size:9px;font-weight:800}.save-label{font-size:9px;color:#8098ab;margin-top:8px}.footer{height:34px;padding:0 17px;display:flex;justify-content:space-between;align-items:center;gap:15px;background:#07101c;border-top:1px solid #253545;font-size:9px;letter-spacing:.7px;color:#a8bdcc}#toast{position:absolute;top:105px;left:50%;transform:translateX(-50%) translateY(-15px);background:#12293b;box-shadow:0 12px 38px #0008;border:1px solid #5c8ca0;color:#e7f8ff;padding:10px 15px;border-radius:4px;font-size:11px;opacity:0;pointer-events:none;transition:.2s opacity,.2s transform;z-index:4;min-width:220px;text-align:center}#toast.active{opacity:1;transform:translateX(-50%) translateY(0)}.modal{position:fixed;inset:0;background:#000b;z-index:20;display:grid;place-items:center;padding:20px}.modal[hidden]{display:none}.modal-content{background:#122539;border:1px solid #426076;box-shadow:0 25px 100px #000a;padding:30px;max-width:580px;position:relative}.modal-content h2{margin:12px 0 18px;color:#ecc184}.modal-content p{font-size:13px;color:#b3c8d5;line-height:1.7}.modal-close{position:absolute;top:12px;right:12px;padding:9px}
@media(max-width:1300px){.workspace{grid-template-columns:228px minmax(240px,1fr) 270px}.console{grid-template-columns:215px minmax(180px,1fr) 163px;gap:12px}.topbar{gap:13px;padding:0 12px}.mode{padding:0 13px}}
@media(max-width:1000px){.workspace{grid-template-columns:220px minmax(0,1fr);height:auto;max-height:none;min-height:0}.stage{min-height:640px}.rightpanel{grid-column:1/-1;border:0;border-top:1px solid #38506a}.inspector-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;overflow:visible}.rightpanel .panel-header{height:61px}.rightpanel .inspector-body>.section-label,.rightpanel .inspector-body>.footnote{grid-column:1/-1}.rightpanel .inspector-body>.action-grid,.rightpanel .inspector-body>.assembly-card,.rightpanel .inspector-body>.operation-card,.rightpanel .inspector-body>.data-actions{grid-column:auto}.console{height:auto;min-height:148px;grid-template-columns:1fr 1fr}.console-right{display:none}.footer{height:auto;min-height:36px}.edition{display:none}}
@media(max-width:650px){.topbar{height:57px;gap:8px}.logo-mark{height:33px;width:32px;font-size:19px}.logo strong{font-size:17px}.logo .overline{font-size:7px}.top-divider,.live-indicator{display:none}.topbar .iconbtn{width:30px;height:30px;min-width:30px}.modebar{padding:0 5px;gap:0;justify-content:space-around;height:51px}.mode{padding:0 6px;font-size:15px}.mode span{font-size:8px;display:block;margin-top:2px}.workspace{display:flex;flex-direction:column}.stage{order:0;min-height:500px}.viewport{min-height:385px}.leftpanel{order:1;border-right:0;border-top:1px solid var(--line);max-height:330px}.rightpanel{order:2}.leftpanel .panel-header{height:59px}.tree{min-height:115px}.viewport-head{left:13px;right:12px;top:15px}.viewport-head h1{font-size:16px;margin:6px 0}.subhead{font-size:7px;letter-spacing:.4px}.render-label{font-size:7px;padding:5px}.orient{left:13px;bottom:70px}.camera-grid button{font-size:8px;padding:6px}.hud-bottom{left:13px;right:13px;font-size:8px;flex-wrap:wrap;gap:6px}.hud-right{display:none}.hud-left{gap:8px}.console{padding:14px;grid-template-columns:1fr;gap:12px;min-height:0}.play-controls{margin-top:10px}.console-left .eyebrow{display:none}.explosion-console{padding:0}.rightpanel .inspector-body{display:block;padding:13px}.footer{font-size:8px;flex-wrap:wrap;padding:10px;gap:7px}.panel-foot{height:33px}}
@media(prefers-reduced-motion:reduce){*{transition-duration:0!important;animation:none!important}}

.anchor-label{position:absolute;color:#f6be7b;font-size:10px;font-weight:900;letter-spacing:.7px;border:1px dashed #f6c087;padding:6px;background:#06101bde;pointer-events:none;transform:translate(-20%,-120%);white-space:nowrap}.anchor-label:after{content:"";position:absolute;left:20%;top:100%;height:15px;border-left:1px dashed #edb776}
