@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/font-0.ttf) format("truetype")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/font-1.ttf) format("truetype")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/font-2.ttf) format("truetype")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/font-3.ttf) format("truetype")}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/font-4.ttf) format("truetype")}@font-face{font-family:Rajdhani;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/font-5.ttf) format("truetype")}@font-face{font-family:Rajdhani;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/font-6.ttf) format("truetype")}@font-face{font-family:Rajdhani;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/font-7.ttf) format("truetype")}:root{font-family:Inter,system-ui,sans-serif;color:#e9f5ff;background:#071529;font-synthesis:none;font-size:14px;--cyan:#53dcff;--blue:#337df6;--muted:#8aa9c8;--border:#285076;--orange:#ffb753;--panel:#0d2340}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #335579;background:#153456;color:#dfefff;border-radius:8px;padding:9px 13px;transition:.18s;min-height:38px}button:hover{background:#244d77;border-color:var(--cyan)}button:focus-visible,input:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.38}button.primary{background:var(--cyan);border-color:var(--cyan);color:#06213a;font-weight:800}button.active{border-color:var(--cyan);color:var(--cyan);background:#164666}button.ghost{background:transparent;border-color:transparent}input[type=number]{width:88px;background:#071a30;color:#e9f5ff;border:1px solid #345c7e;border-radius:6px;padding:6px}input[type=range]{accent-color:var(--cyan)}label{display:flex;align-items:center;gap:8px;color:#b7cce0}small{font-size:12px;color:var(--muted)}h1,h2,h3,p{margin:0}h1,h2,h3,.display{font-family:Rajdhani,system-ui,sans-serif}header{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid #244363;background:#091c32;gap:15px}.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:36px;height:36px;border:2px solid var(--cyan);border-radius:50%;display:grid;place-items:center;color:var(--orange);font-weight:900;font-size:26px;box-shadow:0 0 25px #31bfff25}.brand h1{font-size:27px;font-weight:700;letter-spacing:1px}.brand h1 span{color:var(--cyan)}.version{font-size:11px;letter-spacing:1px;background:#193b58;color:#8ec4e3;border-radius:5px;padding:4px 6px}.top-actions,.row{display:flex;align-items:center;gap:8px}.mode-switch{display:flex;padding:4px;background:#071529;border:1px solid #23405c;border-radius:10px}.mode-switch button{padding:7px 18px;border:0;background:transparent;color:#90adca}.mode-switch button.active{background:#17415e;color:var(--cyan)}.workspace{display:grid;grid-template-columns:1fr 1fr;height:calc(100dvh - 68px);gap:14px;padding:14px}.viewport{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:16px;background:radial-gradient(ellipse at 40% 40%,#174668 0,#0b2544 45%,#07182e)}#scene{position:absolute;inset:0;touch-action:none}.view-title{position:absolute;top:20px;left:22px;pointer-events:none}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--cyan);font-weight:700}.view-title h2{font-size:28px;margin-top:3px}.view-tools{position:absolute;right:14px;top:16px;display:flex;gap:5px}.view-tools button{background:#0a243bd9;padding:7px 10px}.view-bottom{position:absolute;bottom:18px;left:18px;right:18px;display:flex;flex-direction:column;gap:12px;align-items:center}.transport{display:flex;gap:8px;padding:8px;background:#06172ae8;border:1px solid #2c5575;border-radius:13px;box-shadow:0 12px 32px #0004}.transport button{min-width:84px}.transport .primary{min-width:120px}.camera-hint{font-size:12px;color:#8fb2cf;text-align:center}.scene-badge{position:absolute;left:20px;top:92px;border:1px solid #34607c;border-radius:30px;padding:6px 12px;background:#082139b8;color:#b6d5e8;font-size:12px}.right{display:flex;flex-direction:column;gap:12px;min-height:0}.panel{background:linear-gradient(140deg,#102a49,#0b203b);border:1px solid var(--border);border-radius:14px;overflow:hidden;min-height:0}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;gap:8px}.panel-head h2{font-size:21px;letter-spacing:.4px}.panel-head .step{font:700 12px Inter;color:var(--cyan);border:1px solid #3b6c88;border-radius:5px;padding:4px 6px;margin-right:8px}.panel-head small{margin-left:8px}.edit-top{flex:1.3;display:flex;flex-direction:column}.paper-wrap{flex:1;position:relative;min-height:80px;margin:0 14px 8px;display:flex;justify-content:center;align-items:center}.paper{position:relative;max-width:100%;max-height:100%;background-color:#e8f2f5;background-image:linear-gradient(#aad0dd5c 1px,transparent 1px),linear-gradient(90deg,#aad0dd5c 1px,transparent 1px),radial-gradient(#809aa12e .6px,transparent .8px);background-size:24px 24px,24px 24px,5px 5px;box-shadow:0 5px 16px #0004;border:1px solid #c7e0e9;border-radius:3px}.paper canvas{display:block;width:100%;height:100%;touch-action:none}.paper-label{position:absolute;top:9px;left:11px;color:#7090a1;font-size:10px;letter-spacing:1.4px;pointer-events:none}.paper-bottom{position:absolute;bottom:8px;left:8px;right:8px;display:flex;justify-content:space-between;pointer-events:none}.paper-bottom button{pointer-events:auto;background:#eff8fccf;color:#2c5571;border:1px solid #b9d4df;padding:4px 8px;font-size:12px;min-height:28px}.editor-footer{padding:3px 15px 11px;display:flex;gap:12px;align-items:center;justify-content:space-between;font-size:12px;color:#a2bad0}.editor-footer input{width:105px}.height-panel{flex:.85;display:flex;flex-direction:column}.height-area{flex:1;min-height:80px;position:relative;margin:0 14px 5px}.height-area canvas{width:100%;height:100%;touch-action:none;display:block}.height-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:5px 16px 12px}.height-controls label{font-size:12px}.height-controls input{width:70px}.segmented{display:flex;gap:3px}.segmented button{font-size:12px;padding:4px 9px;min-height:28px}.notifications{min-height:74px;flex:0 0 86px;overflow:auto;padding:11px 16px}.notifications h3{font-size:16px;margin-bottom:6px}.notification{font-size:12px;line-height:1.5;color:#a5c9de}.notification.error{color:#ff9ba9}.notification.ok{color:#88e3c1}.empty-overlay{position:absolute;inset:0;display:grid;place-items:center;color:#a2bad0;text-align:center;pointer-events:none;font-size:13px;background:#0d244069}.stats-panel{flex:1;overflow:auto}.stats-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px 8px}.stats-head h2{font-size:25px}.live-tag{font-size:11px;letter-spacing:1px;color:#66e4c4;background:#164c4a;border-radius:5px;padding:5px 8px}.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:8px 18px 13px}.stat-small{border-left:2px solid #2c6384;padding-left:10px}.stat-small b{font-family:Rajdhani;font-size:24px;display:block}.stat-small small{font-size:10px;letter-spacing:1px;text-transform:uppercase}.meters{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:0 18px 16px}.meter-group-title{font-size:11px;color:#779cbb;letter-spacing:1.4px;margin:5px 0 10px}.meter{margin-bottom:11px}.meter-label{display:flex;justify-content:space-between;margin-bottom:5px;font-size:12px;gap:8px}.meter-label strong{font-variant-numeric:tabular-nums;font-weight:500;color:#c5e5f9}.bar{height:9px;background:#07172b;border-radius:5px;position:relative;overflow:hidden}.fill{height:100%;width:0;position:absolute;border-radius:5px;transition:width .1s linear,left .1s linear,background-color .15s}.bar.signed:after{content:"";position:absolute;left:50%;height:100%;width:1px;background:#aac3d880}.meter-foot{font-size:10px;color:#799dbb}.run-bottom{flex:1;display:grid;grid-template-columns:.85fr 1.15fr;gap:12px;min-height:0}.reaction{display:flex;flex-direction:column;position:relative;background:radial-gradient(ellipse at 50% 55%,#205c86,#0b203b 75%)}.reaction .panel-head{padding-bottom:0}.portrait-wrap{position:relative;flex:1;min-height:0}#portrait{width:100%;height:100%;object-fit:contain}.reaction-caption{text-align:center;font-family:Rajdhani;font-size:24px;font-weight:700;color:#caf4ff;padding:0 5px 5px}.reaction small{display:block;text-align:center;padding-bottom:13px;font-size:11px}.achievements{display:flex;flex-direction:column}.achievement-list{overflow:auto;flex:1;padding:0 10px 12px;scrollbar-width:thin;scrollbar-color:#367398 transparent}.achievement-card{display:flex;gap:10px;padding:11px 8px;border-top:1px solid #27425e;align-items:center;opacity:.55}.achievement-card.earned{opacity:1}.achievement-icon{width:35px;height:35px;border:1px solid #406c8b;display:grid;place-items:center;border-radius:9px;flex-shrink:0;color:#8fb4d0;font-size:21px}.earned .achievement-icon{color:#ffc45e;background:#4b3a2359;border-color:#bd8d43}.achievement-card h3{font-family:Inter;font-size:12px;line-height:1.3}.achievement-card p{font-size:11px;color:#a3bdd0;margin-top:4px;line-height:1.45}.achievement-card .lock{margin-left:auto;font-size:11px;color:#a7c0d4}.status-ribbon{position:absolute;top:130px;left:20px;right:20px;font-family:Rajdhani;font-size:24px;color:#ffce80;pointer-events:none}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%);padding:15px 22px;background:#123d55;border:1px solid #68d8ef;box-shadow:0 6px 35px #0007;color:#e1f9ff;border-radius:12px;z-index:10;max-width:90%;animation:toastIn .2s ease-out}dialog{background:#102944;color:#eaf6ff;border:1px solid #3d7296;border-radius:16px;max-width:470px;width:90%;padding:24px;box-shadow:0 20px 80px #0008}dialog::backdrop{background:#0009;backdrop-filter:blur(5px)}dialog h2{font-size:27px;margin-bottom:16px}dialog p{line-height:1.6;color:#aec7dc;margin-bottom:16px}dialog label{justify-content:space-between;margin:12px 0}dialog .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.hidden{display:none!important}.boot{position:fixed;inset:0;background:#081b30;display:grid;place-items:center;color:var(--cyan);z-index:99}.boot h2{font-size:34px}@keyframes toastIn{0%{opacity:0;bottom:10px}to{opacity:1;bottom:25px}}@media(min-width:1600px){:root{font-size:16px}.panel-head h2{font-size:24px}.meter-label,.achievement-card h3{font-size:14px}.achievement-card p{font-size:12px}.stat-small b{font-size:30px}}@media(max-width:1000px){header{padding:0 12px;height:58px}.brand h1{font-size:23px}.workspace{height:calc(100dvh - 58px);padding:8px;gap:8px}.top-actions{gap:2px}.top-actions button{padding:7px 8px;font-size:12px}.view-title h2{font-size:23px}.view-title{left:14px}.panel-head{padding:9px 10px}.panel-head h2{font-size:18px}.panel-head small{display:none}.meters{gap:10px;padding:0 12px 8px}.stat-strip{padding:8px 12px}.stat-small b{font-size:21px}.transport{gap:4px;padding:6px}.transport button{min-width:65px;padding:8px}.transport .primary{min-width:90px}.camera-hint{font-size:10px}.run-bottom{gap:8px}.height-controls{gap:6px;padding:4px 10px 9px}.editor-footer{font-size:11px}.version{display:none}}@media(max-width:650px){body{overflow:auto}header{flex-wrap:wrap;height:auto;min-height:96px;padding:8px 12px}.top-actions{order:3;width:100%;justify-content:flex-end}.workspace{height:auto;min-height:calc(100dvh - 96px);grid-template-columns:1fr}.viewport{height:48dvh;min-height:280px}.right{height:680px}.camera-hint{font-size:11px}.stats-panel,.run-bottom{flex:1}.mode-switch button{padding:6px 12px}.brand h1{font-size:23px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}#edit-panels .edit-top{flex:1.05}#edit-panels .height-panel{flex:1.2}.height-panel .panel-head{flex-shrink:0}.height-panel .height-area{margin-bottom:12px}.height-panel #height-range{margin-left:auto;white-space:nowrap}.edit-controls{display:grid;grid-template-columns:2fr 1fr 1fr;flex:0 0 112px}.edit-controls>section{min-width:0;padding:10px 12px}.edit-controls>section+section{border-left:1px solid var(--border)}.edit-controls .notifications{min-height:0;overflow:auto}.edit-controls .height-controls{display:flex;flex-direction:column;justify-content:center;gap:9px;flex-wrap:nowrap;align-items:stretch}.edit-controls .height-controls label{display:grid;grid-template-columns:minmax(0,1fr) 65px 22px;gap:5px;font-size:11px}.edit-controls .height-controls input{width:65px;min-height:32px}.banking-heading{display:flex;align-items:center;justify-content:space-between;gap:5px}.banking-heading label{color:#dbf4ff;font-weight:600;font-size:12px}.banking-heading output{color:var(--cyan);font-weight:700;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.banking-panel input{display:block;width:100%;margin:3px 0 0;min-height:28px;touch-action:pan-y}.banking-ticks{display:flex;justify-content:space-between;color:#a4c5dd;font-size:11px;margin-bottom:4px}.banking-panel small{display:block;font-size:10px;line-height:1.3}@media(min-width:651px)and (max-width:1400px){.edit-controls{flex-basis:138px}.edit-controls>section{padding:8px}.edit-controls .height-controls{gap:5px}.edit-controls .height-controls label{grid-template-columns:minmax(0,1fr) 18px;gap:2px}.edit-controls .height-controls label>span:first-child{grid-column:1/-1}.edit-controls .height-controls input{width:100%;min-width:0}.banking-heading{flex-wrap:wrap}.height-panel #height-range{display:none}}@media(max-width:650px){.edit-controls{flex-basis:140px;grid-template-columns:2fr 1.2fr 1.2fr}.edit-controls>section{padding:8px}.edit-controls .height-controls label{grid-template-columns:minmax(0,1fr) 18px;gap:2px}.edit-controls .height-controls label>span:first-child{grid-column:1/-1}.edit-controls .height-controls input{width:100%;min-width:0}.banking-heading{flex-wrap:wrap}}.achievement-card{opacity:1}.achievement-card.last-run{background:linear-gradient(90deg,#43d9ff21,transparent 75%);border-left:3px solid #53dcff;padding-left:5px}.last-run .achievement-icon{color:#8aedff;border-color:#53dcff;background:#18516d;box-shadow:0 0 14px #53dcff38}.achievement-card .lock{flex:0 0 30px;text-align:center;font-size:18px;color:#587994}.achievement-card .lock.lifetime-earned{font-size:32px;font-weight:900;color:#ffd263;text-shadow:0 1px 0 #fff2b9,0 0 7px #ffb728,0 0 18px #e8992955}.achievement-legend{padding:0 16px 10px;font-size:10px}.slow-motion button{padding:7px 10px;white-space:nowrap;font-size:12px}.top-actions button{white-space:nowrap}.reaction-caption{font-size:21px}@media(min-width:651px)and (max-width:1200px){header{height:94px;flex-wrap:wrap;padding:7px 12px;gap:4px}.workspace{height:calc(100dvh - 94px)}.top-actions{width:100%;justify-content:flex-end}.top-actions button{min-height:30px;padding:4px 9px}.brand h1{font-size:23px}}@media(max-width:650px){.slow-motion{order:3;width:100%;justify-content:center}.top-actions{order:2;flex-wrap:wrap}.slow-motion button{flex:1;padding:6px}.brand{width:100%;justify-content:center}}.paper-bottom button{white-space:nowrap}@media(max-width:1200px){.paper-bottom button{font-size:10px;padding:3px 4px}.editor-footer>button{min-height:28px;padding:4px 8px}}.inspection-overlay{position:absolute!important;inset:0;width:100%;height:100%;pointer-events:none!important;z-index:2}.paper-bottom{z-index:3}.run-report{position:relative;grid-column:2;grid-row:1;min-width:0;background:linear-gradient(140deg,#102e4e,#071a30);z-index:6;display:flex;flex-direction:column;padding:22px;gap:12px}.run-report h2{font-size:28px}.report-summary,.report-note{color:#a7cbe1;font-size:12px;line-height:1.5}.report-rows{min-height:0;flex:1;overflow:auto;display:flex;flex-direction:column;gap:6px;scrollbar-width:thin}.report-row{display:grid;grid-template-columns:1fr auto;text-align:left;gap:5px;padding:10px 12px;flex-shrink:0}.report-row strong{color:#69dfff;font-variant-numeric:tabular-nums}.report-row small{grid-column:1/-1;font-size:11px}.report-row:disabled{opacity:.7}.report-close{align-self:stretch}.report-note{padding:10px 0}.inspecting-run .view-bottom,.inspecting-run #follow,.inspecting-run #run-status,.inspecting-run #scene-badge{display:none}.inspecting-run .view-title{max-width:65%}.inspecting-run .view-title h2{font-size:22px}@media(max-width:1500px)and (min-width:1201px){header{height:94px;flex-wrap:wrap;padding:7px 12px;gap:4px}.workspace{height:calc(100dvh - 94px)}.top-actions{width:100%;justify-content:flex-end}}@media(max-width:1000px){.run-report{padding:12px}.report-row{font-size:12px;padding:8px}.report-row strong{font-size:12px}}@media(max-width:650px){.run-report{grid-column:1;grid-row:2}}.lift-option{position:absolute;right:14px;top:64px;padding:5px 8px;border:1px solid #345c7e;border-radius:7px;background:#0a243be8;color:#c5e5f9;font-size:12px;min-height:30px;white-space:nowrap;cursor:pointer}.lift-option input{accent-color:var(--cyan);width:16px;height:16px;margin:0}.lift-option:has(input:disabled){opacity:.65;cursor:default}.inspecting-run .lift-option{display:none}.workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}#edit-panels{min-width:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#478ab5 #071a30;scrollbar-gutter:stable}#edit-panels .edit-top{flex:0 0 auto;display:grid;grid-template-columns:112px minmax(0,1fr);align-items:start;gap:10px;padding:12px;overflow:visible}.paper-tools{display:flex;flex-direction:column;gap:7px;min-width:0}.paper-tools h2{font-size:21px;line-height:1.05}.paper-tools .step{display:block;font:700 11px Inter;color:var(--cyan);margin-bottom:4px}.paper-tools .paper-axis{font-size:9px;letter-spacing:1px;color:var(--cyan)}.paper-tools .segmented button{font-size:11px;padding:4px 6px;min-height:30px;flex:1}.paper-tools #footprint-label{font-size:11px;line-height:1.4;color:#a8cbe3}.paper-tools button{font-size:12px;padding:5px 7px;min-height:32px;white-space:nowrap}.paper-actions{display:flex;gap:5px}.paper-actions #clear-design{flex:1}.paper-actions #undo{padding:5px 8px}.paper-tools #rotation-label{font-size:11px;flex-direction:column;align-items:stretch;gap:2px}.paper-tools input{width:100%;margin:0;min-height:25px}.paper-tools #draw-hint{font-size:11px;line-height:1.35;color:#a2bad0}#edit-panels .paper-wrap{display:block;flex:none;min-width:0;min-height:240px;margin:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#478ab5 #071a30;box-sizing:content-box;padding-bottom:10px}#edit-panels .paper{max-width:none;max-height:none;box-sizing:content-box;border:0;outline:1px solid #c7e0e9;box-shadow:none}#edit-panels .height-panel{flex:1 0 auto;min-height:322px}#edit-panels .height-area{flex:1 0 260px;min-height:260px}#edit-panels .height-panel .panel-head{flex-wrap:wrap}#edit-panels .edit-controls{flex-shrink:0;overflow:visible;min-height:112px}@media(max-width:650px){.workspace{grid-template-columns:minmax(0,1fr)}#edit-panels{height:75dvh;min-height:400px}}
