/* A playable diorama, with opaque game HUDs above the world. */
:root{--ground:#12282b;--surface:#192f32;--raised:#223c3d;--active:#304b49;--border:#35534f;--rule:#2b4544;--control:#54716a;--text:#e9eedb;--muted:#a7bab0;--accent:#e7c77b;--positive:#a5cfb6;--primary:#e7c77b;--radius-control:6px;--radius-card:10px;--radius-sheet:12px}
body{background:var(--ground)}
button,input,select{font:inherit}button{touch-action:manipulation}button:not(:disabled):hover{filter:brightness(1.12)}button:disabled{filter:none}
.shell{position:relative;max-width:none;height:100dvh;padding:0;overflow:hidden;isolation:isolate;background:#12282b}
.topbar{position:absolute;z-index:12;top:0;left:0;right:0;height:64px;padding:0 25px;gap:26px;background:#142b2e;border-bottom:1px solid #35514c;box-shadow:0 5px 20px #09191940}
.brand-mark{color:var(--accent);width:30px;height:30px}.brand h1{font-size:22px;letter-spacing:-.6px}.brand{gap:9px}
.time-control{display:flex;align-items:center;gap:9px;padding-left:24px;border-left:1px solid #40584f}.workspace-name{color:#e4e9d6;font-size:13px}.time-rate{color:var(--muted);font-size:11px;margin-left:7px}.time-control .live-dot{background:#b0cba3;box-shadow:0 0 0 4px #abcaa315}
.header-actions{gap:5px}.header-actions>span{font-size:11px;margin-right:12px}.header-actions .quiet-button{color:var(--accent);border-color:#597062;background:#203b3a;padding:7px 13px;min-width:82px;font-size:13px}.header-actions .icon-button{border:1px solid transparent;color:#b9cbbf}.header-actions .icon-button:hover{background:#2a4443;border-color:#456057}
.game-sheet{position:absolute;inset:64px 0 0;border:0;border-radius:0;background:none;display:block;padding:0;overflow:hidden}
.resources{position:absolute;z-index:8;top:20px;left:25px;display:flex;align-items:center;padding:0;background:#1b3334;border:1px solid #476256;border-radius:8px;box-shadow:0 5px 0 #0c1e21;gap:0;max-width:calc(100% - 50px)}
.resources>div,.resources>div:first-child{padding:10px 22px;border:0;border-right:1px solid #35514b;min-width:132px}.resources>div:last-child{border-right:0}.resources small{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#afc0ad;margin-bottom:4px}.resources strong,.resources .cash-resource strong{font-size:20px;font-weight:500;line-height:1.2;letter-spacing:-.3px;white-space:nowrap}.resources .cash-resource strong{color:#f0d18a;font-size:24px}.resources sup{font-size:10px;color:var(--muted)}.resources #gpus{font-size:16px}.resources #users{font-size:19px}.resources .negative #revenue{color:#efaa96}
.workspace{position:absolute;inset:0;display:block;min-height:0}
.studio,body[data-view=lab] .studio{display:block;position:absolute;inset:0;border:0;border-radius:0;background:transparent;overflow:visible;height:auto}
.section-top{position:absolute;z-index:5;top:120px;left:28px;display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:0;pointer-events:none}.section-top .chapter-label{font-size:10px;font-weight:600;letter-spacing:2px;color:#a1b7a1;display:block}.section-top h2{font-size:26px;letter-spacing:-.8px;color:#f0efda;font-weight:500}.section-top>div{gap:10px}.section-top>div .live-dot{width:5px;height:5px;background:#e7c77b}.section-top>span:last-child{font-size:12px;padding-left:16px;color:#acbfae}
.scene-wrap{position:absolute;inset:0;display:block;overflow:hidden;background:radial-gradient(ellipse at 54% 49%,#34534c 0,#1d3839 47%,#12282b 80%);touch-action:none;cursor:grab}
.scene-wrap:active{cursor:grabbing}.scene-wrap:before{content:"";position:absolute;inset:-60%;background-image:linear-gradient(30deg,transparent 49.7%,#79978013 50%,transparent 50.3%),linear-gradient(150deg,transparent 49.7%,#79978013 50%,transparent 50.3%);background-size:120px 69px;transform:perspective(900px) rotateX(20deg);pointer-events:none}.scene-wrap:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 -70px 100px #0b202675}
.world-view{--zoom:1;--pan-x:0px;--pan-y:0px;position:absolute;width:min(77vw,1120px);aspect-ratio:710/505;left:50%;top:47%;transform:translate(calc(-50% + var(--pan-x)),calc(-50% + var(--pan-y))) scale(var(--zoom));transition:left .35s ease,width .35s ease;filter:drop-shadow(0 35px 28px #061e2860);z-index:2;user-select:none}
.world-view>svg{display:block;width:100%;height:100%;max-height:none;stroke:none;overflow:visible;filter:saturate(.86)}
.world-orbit{position:absolute;left:50%;top:52%;width:min(83vw,1240px);aspect-ratio:2.05;transform:translate(-50%,-50%) rotate(-2deg);border:1px dashed #81a18a40;border-radius:50%;box-shadow:0 0 0 42px #60897205,0 0 0 43px #6f927517;pointer-events:none;transition:left .35s}
.world-orbit:before,.world-orbit:after{content:"";position:absolute;width:8px;height:8px;background:#b4c8a0;border:2px solid #35534d;transform:rotate(45deg);left:12%;top:14%}.world-orbit:after{left:87%;top:81%;width:6px;height:6px;background:#dcbb79}
.world-atmosphere{position:absolute;inset:0;pointer-events:none}.world-atmosphere i{position:absolute;width:3px;height:3px;background:#c6d6a3;border-radius:50%;opacity:0;animation:mote 12s linear infinite;left:20%;top:78%}.world-atmosphere i:nth-child(2){left:73%;top:61%;animation-delay:-3s}.world-atmosphere i:nth-child(3){left:60%;top:70%;animation-delay:-8s}.world-atmosphere i:nth-child(4){left:35%;top:45%;animation-delay:-6s}.world-atmosphere i:nth-child(5){left:85%;top:88%;animation-delay:-9s}.world-atmosphere i:nth-child(6){left:13%;top:42%;animation-delay:-2s}
.world-pin{position:absolute;display:flex;align-items:center;gap:8px;border:0;background:transparent;padding:0;cursor:pointer;filter:drop-shadow(0 4px 5px #112c2b40);text-align:left;min-height:42px;transform:translate(-50%,-50%);z-index:4}.world-pin:hover{z-index:6;filter:brightness(1.1)}.world-pin:not(:disabled):active{transform:translate(-50%,-50%) scale(.96)}.pin-icon{width:36px;height:40px;display:grid;place-items:center;background:#183c39;color:#f2cf83;border:1px solid #b6b886;border-radius:7px;box-shadow:0 3px 0 #142a28}.pin-icon svg{width:19px;height:19px}.pin-label{padding:6px 11px;background:#152f30;border:1px solid #587064;border-radius:5px;color:#eff1da;font-size:12px;line-height:1.4;white-space:nowrap;box-shadow:0 3px 0 #10292a}.pin-label small{display:block;font-size:10px;color:#adc2aa}.pin-train{left:27%;top:67%}.pin-compute{left:79%;top:47%}.pin-research{left:53%;top:23%}.pin-train .pin-icon{background:#e8c983;color:#263f3a;border-color:#f1dba5;box-shadow:0 3px 0 #917c4e}
.world-caption{position:absolute;z-index:4;left:50%;top:83%;transform:translateX(-50%);text-align:center;pointer-events:none;white-space:nowrap}.world-caption>span{font-size:9px;letter-spacing:3px;color:#87a198;display:block}.world-caption strong{display:block;font-size:13px;color:#b4c4af;font-weight:400;margin-top:7px}.camera-controls{position:absolute;z-index:6;right:26px;bottom:108px;display:flex;gap:2px;border:1px solid #476354;background:#193335;padding:4px;border-radius:7px;box-shadow:0 3px 0 #102529}.camera-controls button{height:32px;width:32px;border:0;background:transparent;color:#ccdbc4;font-size:20px;display:grid;place-items:center}.camera-controls button:hover{background:#2e4946}.scene-tag{position:absolute;left:28px;bottom:110px;color:#a8bda9;font-size:11px;padding:0;background:none;max-width:300px;gap:8px;z-index:6}.scene-tag .live-dot{width:5px;height:5px;box-shadow:0 0 0 4px #abcaa310}.lab-note{display:none}
.lab-controls{position:absolute;z-index:7;left:26px;bottom:166px;width:300px;padding:12px;background:#1a3435;border:1px solid #466152;border-radius:8px;box-shadow:0 5px 0 #102529}.upgrade-row{gap:8px}.upgrade-row button{min-height:50px;padding:9px;display:grid;grid-template-columns:20px 1fr;gap:3px 6px;border-color:#4b665a;background:#294340;border-radius:5px;font-size:10px;line-height:1.2}.upgrade-row svg{grid-row:1/3;width:18px;height:18px;display:block;color:#bacdac}.upgrade-row strong{margin:0;font-size:12px;font-weight:500;color:#f0d192;grid-column:2}.upgrade-row button:disabled{background:#203b39;border-color:#3e574e;color:#99ad9d}.upgrade-row button:disabled strong{color:#a4b6a5}.contract{margin-top:9px;display:flex;gap:8px}.contract>div{display:none}.contract button{width:100%;min-height:38px;padding:8px 10px;font-size:12px;background:#294340;border-color:#4b665a;border-radius:5px;justify-content:space-between}.contract button span{color:#f0d192}.lab-controls.highlight{animation:attention .8s 2}
.goal-strip{position:absolute;z-index:7;left:26px;top:233px;width:260px;padding:15px 16px;background:#1a3231eF;border:1px solid #49604e;border-radius:8px;display:grid;grid-template-columns:28px 1fr;gap:6px 10px;box-shadow:0 4px 0 #0f2829;pointer-events:none}.objective-emblem{width:26px;height:30px;display:grid;place-items:center;background:#344e3e;border:1px solid #7e956d;border-radius:6px;color:#e3cf8b;grid-row:1/3}.objective-emblem svg{width:16px;height:16px}.goal-name{display:flex;flex-direction:column;gap:3px;min-width:0}.goal-name>span{font-size:9px;letter-spacing:1px;color:#b7c2a6;text-transform:uppercase}.goal-name strong{font-size:13px;font-weight:500;color:#eee8c9}.goal-strip p{font-size:11px;line-height:1.6;color:#b7c8b1;grid-column:2;margin:0}.goal-track{grid-column:2;width:100%;height:4px;background:#365244;margin-top:4px}.goal-track i{background:#d9bd77}
.world-task{position:absolute;z-index:7;right:26px;bottom:166px;width:300px;display:flex;align-items:center;gap:12px;background:#dac28a;color:#253e36;padding:14px;text-align:left;border:1px solid #f2dcac;border-bottom:4px solid #9d8858;border-radius:8px;box-shadow:0 5px 0 #102529}.world-task>div:nth-child(2){flex:1;min-width:0}.world-task span{display:block;font-size:14px;font-weight:600;line-height:1.2}.world-task small{display:block;font-size:11px;line-height:1.5;margin-top:4px;color:#41563f}.task-icon{width:30px;flex-shrink:0}.task-icon svg{width:29px;height:29px;stroke-width:1.4}.task-arrow{width:19px;height:19px;flex-shrink:0}.task-track{height:4px;background:#927d4a40;margin-top:8px;border-radius:2px;overflow:hidden}.task-track i{height:100%;display:block;background:#345c48;transition:width .25s}.world-task.ready{background:#b4d4a9;border-color:#d9edc9;border-bottom-color:#729064;animation:ready 2s infinite}
.activity{position:absolute;left:26px;bottom:79px;z-index:4;border:0;min-height:0;padding:0;max-width:calc(100% - 470px);gap:12px;pointer-events:none}.activity h2{display:none}#feed{font-size:10px;color:#93ac9f}#feed>div:nth-child(n+2){display:none}
.game-dock{position:absolute;z-index:15;left:50%;bottom:18px;transform:translateX(-50%);display:flex;height:66px;background:#193336;border:1px solid #536b5a;border-radius:10px;padding:5px;gap:4px;box-shadow:0 5px 0 #0e252a,0 12px 25px #071c2540}
.game-dock button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:88px;border:1px solid transparent;border-radius:6px;background:none;color:#a8bbae;font-size:11px}.game-dock button svg{width:22px;height:22px;stroke-width:1.4}.game-dock button.active{background:#344b40;border-color:#7f8e65;color:#f2d38f;box-shadow:inset 0 -3px #687a55}.game-dock button:hover{background:#2b4642}.game-dock kbd{position:absolute;right:6px;top:3px;font:9px var(--font);color:#829c8b}.dock-alert{position:absolute;right:16px;top:8px;width:6px;height:6px;border-radius:50%;background:#f0d185;box-shadow:0 0 0 3px #e7c77b20}
.workbench,body[data-view=lab] .workbench{position:absolute;z-index:10;right:20px;top:20px;bottom:100px;width:400px;display:flex;border:1px solid #71816a;border-radius:10px;background:#192f32;box-shadow:0 6px 0 #0b2026,0 14px 45px #061e2855;transform:translateX(calc(100% + 28px));visibility:hidden;transition:transform .26s ease,visibility .26s;overflow:hidden;min-height:0}
body:not([data-view=lab]) .workbench{visibility:visible;transform:translateX(0)}
body:not([data-view=lab]) .world-view{left:calc((100% - 400px)/2);width:min(66vw,990px)}body:not([data-view=lab]) .world-orbit{left:calc((100% - 400px)/2)}body:not([data-view=lab]) .world-caption{left:calc((100% - 400px)/2)}body:not([data-view=lab]) .world-task{display:none}body:not([data-view=lab]) .resources{max-width:calc(100% - 455px)}body:not([data-view=lab]) .requests-resource{display:none}body:not([data-view=lab]) .camera-controls{right:440px}
.panel-topline{height:39px;display:flex;align-items:center;justify-content:space-between;background:#30463e;padding:0 7px 0 17px;flex-shrink:0;border-bottom:1px solid #5a6b51}.panel-topline>span{font-size:10px;letter-spacing:1.5px;color:#e8d5a7}.panel-topline .icon-button{height:30px;width:30px;font-size:25px;color:#ced9bf}.bench-nav{display:none}#panel{overflow:hidden}.panel-heading{padding:20px 20px 4px}h2.panel-title{font-size:23px;font-weight:500;color:#f0e8c8;letter-spacing:-.6px}.panel-desc{font-size:12px;color:#aebdb0;line-height:1.6}.field{font-size:12px;margin-top:14px}.input{height:39px;background:#10282c;color:#e6ebd8;border-color:#4a675c;border-bottom-color:#63816b}.input:focus{border-color:#d6c080}.form-fields{padding-top:0}.focus,.input-action button{background:#243f3d;border-color:#50685a}.focus.selected{background:#4e6048;border-color:#c4bc84;color:#ffebba}.quality-line{margin-top:17px}.quality-line strong{color:#e6cb8f}.invoice{border-color:#4c6353}.invoice>div:last-child{color:#f0d292}.form-actions{background:#203a38;padding:13px 20px;border-top:1px solid #53664f}.primary,.tech-card .primary{color:#24382d;background:#dfc588;border-bottom:3px solid #9a8553;font-weight:600;min-height:43px}.primary:not(:disabled):hover{background:#f0d69c}.primary:disabled{background:#344e43;color:#abbca5;border-bottom-color:#243d36}.form-actions .fineprint{font-size:10px;margin-top:7px}.tech-card button{background:#2e4841;border-color:#65795e;font-size:12px;min-height:36px;padding:7px 12px;color:#e2d4ac}.tech-card button:disabled{background:#223b38;color:#8fa493;border-color:#3b5348}.card-top h3{color:#eee7cb}.pill{background:#3c5342;color:#e3d8ac}.subnav button.active{background:#41583f;color:#f1e2b6}.progress i,.capabilities b{background:#d6bf83}.resource-note,.equation,.metric{background:#29413a}.training-visual{color:#edcf85;height:82px}.training-visual.running svg{animation:training 2.6s ease-in-out infinite}.detail-body{scrollbar-color:#59715c transparent}.achievement.earned .card-top h3{color:#c9dca9}.quote-grid dd{color:#e1e9d5}.quiet-button:hover{background:#324b40}details{font-size:11px}.eyebrow{color:#c0c9ac}.source-row a{color:#e4c98b}
dialog{background:#1d3737;border:1px solid #819071;border-bottom:5px solid #52664e;box-shadow:0 30px 100px #041b25aa;border-radius:12px;color:#e8ecd9;max-width:500px}dialog::backdrop{background:#081d27ba}dialog h2{color:#f0d18d;font-size:30px}dialog p,dialog li{font-size:13px}.dialog-close{color:#c5d3b9}#victory-dialog{text-align:center;padding:36px}.victory-mark{color:#f0d18d;text-shadow:0 4px 0 #746849}.victory-mark small{color:#c1ceaf;text-shadow:none}#victory-dialog .primary{justify-content:center}
#toast{z-index:25;left:50%;bottom:100px;top:auto;background:#e3d2a1;color:#233b31;border:1px solid #f5e6ba;border-bottom:3px solid #93835c;box-shadow:0 6px 20px #061a2240;font-size:12px;padding:11px 17px;border-radius:7px;max-width:min(430px,calc(100% - 30px))}
.achievement-popup{position:absolute;z-index:30;top:83px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);background:#2f493d;border:1px solid #a3ad7a;border-bottom:4px solid #6b8059;color:#ece9c9;border-radius:10px;padding:13px 22px 13px 13px;display:flex;align-items:center;gap:13px;box-shadow:0 15px 35px #051c2545;animation:achievement-in .3s ease-out}.achievement-popup[hidden]{display:none}.achievement-medal{width:44px;height:48px;background:#ddc384;color:#304733;clip-path:polygon(50% 0,100% 22%,91% 75%,50% 100%,9% 75%,0 22%);display:grid;place-items:center}.achievement-medal svg{width:26px;height:26px;stroke-width:2}.achievement-popup small{color:#c9c99f;font-size:10px;letter-spacing:.6px;display:block}.achievement-popup strong{font-size:16px;display:block;font-weight:500;margin:2px 0}.achievement-popup span{display:block;color:#afc1a5;font-size:11px}
body[data-running=false] .world-atmosphere i,body[data-running=false] .training-visual.running svg{animation-play-state:paused}body[data-running=false] .time-control .live-dot{background:#d6b87c}body[data-running=false] .time-rate{font-size:0}body[data-running=false] .time-rate:after{content:'PAUSED';font-size:10px;letter-spacing:1px;color:#e7c77b}
body[data-training=true] .gpu-rack circle{animation:rack-blink 1.5s steps(2,end) infinite}.researcher{animation:desk-work 5s ease-in-out infinite}.researcher:nth-of-type(2){animation-delay:-2s}body[data-running=false] .researcher{animation-play-state:paused}
@keyframes mote{0%{transform:translate(0,0);opacity:0}25%{opacity:.4}70%{opacity:.2}100%{transform:translate(45px,-160px);opacity:0}}@keyframes desk-work{0%,85%,100%{opacity:1}91%{opacity:.85}}@keyframes rack-blink{50%{fill:#f9d575;opacity:.5}}@keyframes attention{50%{border-color:#f2d38f;box-shadow:0 0 0 4px #b6c58130}}@keyframes ready{50%{box-shadow:0 5px 0 #102529,0 0 0 5px #adcfad20}}@keyframes achievement-in{from{opacity:0;translate:0 -18px}to{opacity:1;translate:0 0}}
@media(min-width:1500px){.world-view{width:1100px;top:48%}.section-top{top:135px}.goal-strip{top:255px}.lab-controls,.world-task{bottom:185px}.resources>div{min-width:158px;padding:12px 25px}.resources .cash-resource strong{font-size:28px}}
@media(max-width:1100px){.resources>div,.resources>div:first-child{padding:10px 15px;min-width:115px}.resources #gpus{font-size:13px}.world-view{width:84vw;top:47%}.section-top h2{font-size:23px}.goal-strip{width:224px;top:225px}.lab-controls{width:260px}.world-task{width:260px}.world-caption{top:79%}.workbench,body[data-view=lab] .workbench{width:360px}body:not([data-view=lab]) .world-view{left:calc((100% - 360px)/2);width:70vw}body:not([data-view=lab]) .world-orbit,body:not([data-view=lab]) .world-caption{left:calc((100% - 360px)/2)}body:not([data-view=lab]) .resources{max-width:calc(100% - 410px)}body:not([data-view=lab]) .compute-resource{display:none}body:not([data-view=lab]) .camera-controls{right:400px}.time-rate{display:none}.topbar{gap:18px}.header-actions>span{display:none}.activity{max-width:calc(100% - 300px)}}
@media(max-height:740px) and (min-width:721px){.topbar{height:50px}.game-sheet{top:50px}.resources{top:14px;left:20px}.resources>div,.resources>div:first-child{padding:7px 15px;min-width:110px}.resources strong,.resources .cash-resource strong{font-size:19px}.resources #gpus{font-size:13px}.resources small{font-size:9px;margin-bottom:2px}.section-top{top:90px;left:22px;gap:3px}.section-top h2{font-size:20px}.section-top .chapter-label{font-size:9px;letter-spacing:1.5px}.section-top>span:last-child{font-size:10px}.goal-strip{top:180px;left:20px;width:220px;padding:11px 12px;gap:5px 8px}.goal-strip p{font-size:10px}.goal-name strong{font-size:12px}.world-view{width:min(76vw,820px);top:43%}.world-orbit{top:48%;width:75vw}.world-caption{display:none}.lab-controls{left:20px;bottom:100px;width:270px;padding:9px}.upgrade-row button{min-height:41px}.contract{margin-top:7px}.contract button{min-height:30px;font-size:11px}.world-task{bottom:105px;right:20px;width:270px;padding:11px}.scene-tag{display:none}.activity{display:none}.camera-controls{right:20px;bottom:30px}.game-dock{bottom:15px;height:63px}.workbench,body[data-view=lab] .workbench{top:14px;bottom:90px;right:15px}.panel-heading{padding-top:14px}.field{margin-top:11px}.panel-desc{font-size:11px}.form-actions{padding:10px 16px}.form-fields{padding-left:16px;padding-right:16px}.primary{min-height:38px}.panel-topline{height:33px}.input{height:36px}.game-dock button{width:78px}.camera-controls button{height:27px;width:27px}body:not([data-view=lab]) .camera-controls{right:auto;left:20px;bottom:24px}.world-pin{scale:.9}}
@media(max-width:900px) and (min-width:721px){.requests-resource{display:none}.resources>div{min-width:110px}.goal-strip{width:200px}.lab-controls{width:240px}.world-task{width:240px}.time-control{padding-left:16px}.brand h1{font-size:20px}.topbar{padding:0 20px}.header-actions .icon-button{width:30px}.world-view{width:90vw;top:44%}.pin-label{display:none}.pin-icon{width:31px;height:35px}.section-top>span:last-child{display:none}body:not([data-view=lab]) .goal-strip{display:none}}
@media(max-width:720px){
 .topbar{height:54px;padding:0 12px;gap:9px}.brand h1{font-size:18px}.brand-mark{width:23px;height:23px}.brand{gap:5px}.time-control{gap:0;padding:0;border:0;margin-left:auto}.time-control>.live-dot{display:none}.workspace-name{font-size:10px;max-width:58px;line-height:1.3;display:block}.header-actions{margin-left:0;gap:1px}.header-actions .quiet-button{min-width:0;font-size:10px;padding:6px;min-height:30px;margin:0 3px 0 0}.header-actions .icon-button{width:28px;height:32px}.header-actions .icon-button svg{width:17px;height:17px}#sound{display:none}.time-rate{display:none}.game-sheet{top:54px;display:block;padding:0;background:transparent}.resources{left:12px;right:12px;top:12px;max-width:none!important;border-radius:7px;display:grid;grid-template-columns:1.1fr 1fr 1fr;overflow:hidden;gap:0}.resources>div,.resources>div:first-child{display:block!important;padding:8px 11px;border:0;border-right:1px solid #35514b;min-width:0}.resources .requests-resource{display:none!important}.resources small{font-size:8px;letter-spacing:.7px;display:block;margin-bottom:4px}.resources strong,.resources .cash-resource strong{font-size:18px;display:block;letter-spacing:-.3px}.resources #gpus{font-size:10px;line-height:21px}.resources sup{font-size:8px}.resources #revenue{font-size:15px}
 .workspace{display:block;position:absolute;inset:0}.studio,body[data-view=lab] .studio{display:block;inset:0;position:absolute;min-height:0;flex:none}.scene-wrap{display:block;inset:0;position:absolute;min-height:0;background:radial-gradient(ellipse at 50% 45%,#34534c,#1e3939 44%,#12282b 80%)}.section-top{top:95px;left:17px;gap:5px;padding:0;display:flex!important}.section-top .chapter-label{font-size:8px;letter-spacing:1.5px}.section-top h2{font-size:22px}.section-top>span:last-child{font-size:10px}.section-top>div .live-dot{width:4px;height:4px}.world-view{width:116vw;max-width:700px;left:50%;top:44%;aspect-ratio:710/505}.world-view>svg{height:100%;width:100%;max-height:none;flex:none}.world-orbit{width:130vw;top:47%;left:50%;max-width:none;box-shadow:0 0 0 21px #60897205,0 0 0 22px #6f927517}.world-caption{display:block;left:50%;top:67%;width:100%;white-space:normal}.world-caption>span{font-size:8px;letter-spacing:2px}.world-caption strong{font-size:11px;margin-top:5px}.pin-label{display:none}.pin-icon{width:31px;height:35px;border-radius:6px}.pin-icon svg{width:17px;height:17px}.world-pin{min-height:40px}.pin-train{left:28%;top:68%}.pin-compute{left:78%;top:47%}.pin-research{left:54%;top:27%}
 .lab-controls{left:12px;bottom:95px;width:calc(50% - 18px);padding:8px;border-radius:7px}.upgrade-row{display:flex;gap:5px}.upgrade-row button{display:flex;flex:1;flex-direction:column;padding:7px 3px;min-height:54px;font-size:8px;gap:3px;justify-content:center;line-height:1.2}.upgrade-row svg{display:none}.upgrade-row strong{font-size:10px}.contract{margin-top:6px}.contract button{font-size:10px;padding:7px;min-height:32px;gap:3px}.contract>div{display:none}.world-task{right:12px;bottom:95px;width:calc(50% - 18px);padding:10px;min-height:116px;gap:0;flex-direction:column;align-items:flex-start;justify-content:center;border-radius:7px}.task-icon{display:none}.world-task span{font-size:13px;line-height:1.3}.world-task small{font-size:10px;line-height:1.4;margin-top:5px}.task-arrow{position:absolute;right:8px;top:8px;width:13px;height:13px}.world-task>div:nth-child(2){flex:0;padding-right:7px;width:100%}.world-task .task-track{margin-top:7px}.goal-strip{display:grid;top:auto;left:12px;right:12px;bottom:231px;width:auto;padding:10px 12px;grid-template-columns:24px 1fr auto;gap:4px 8px;background:#1c3532eF}.objective-emblem{height:28px;width:24px;grid-row:1/3}.goal-name{grid-column:2;flex-direction:row;align-items:center;gap:10px}.goal-name>span{font-size:8px}.goal-name strong{font-size:11px}.goal-strip p{font-size:10px;line-height:1.4;grid-column:2/4}.goal-track{grid-column:3;grid-row:1;width:44px;margin:0;height:3px}.scene-tag{display:none}.activity{display:none}.camera-controls{right:13px;bottom:360px;padding:3px;flex-direction:column;gap:0;opacity:.85}.camera-controls button{width:26px;height:27px;font-size:18px}.game-dock{display:flex;position:absolute;left:12px;right:12px;bottom:max(13px,env(safe-area-inset-bottom));transform:none;height:65px;width:auto;padding:5px;gap:3px;border-radius:9px}.game-dock button{font-size:10px;flex:1;width:auto;gap:3px;padding:0}.game-dock button svg{width:21px;height:21px}.game-dock kbd{display:none}
 .workbench,body[data-view=lab] .workbench{position:absolute;top:90px;bottom:89px;right:12px;left:12px;display:flex;width:auto;flex:none;border:1px solid #84916f;border-radius:10px;transform:translateY(120%);visibility:hidden;z-index:11;transition:transform .25s ease,visibility .25s;box-shadow:0 6px 0 #10282a,0 -25px 80px #0d262e66}.panel-topline{height:36px}.panel-topline>span{font-size:9px;letter-spacing:1px}.panel-topline .icon-button{width:30px;height:30px}.panel-heading{padding:16px 16px 0}h2.panel-title{font-size:23px}.panel-desc{font-size:12px}.form-fields{padding:0 16px 15px}.field{font-size:12px;margin-top:14px}.input{height:41px;font-size:15px}.focus{font-size:12px;min-height:39px}.form-actions{padding:12px 16px}.form-actions .primary{min-height:43px;font-size:13px}.form-actions .fineprint{font-size:10px}.quote-grid{gap:10px}.detail-body{padding:16px}.detail-body p{font-size:12px}.bench-nav{display:none}.subnav{padding:12px 12px 0}.subnav button{font-size:11px}.camera-controls{z-index:6}
 body:not([data-view=lab]) .workbench{transform:translateY(0);visibility:visible}body:not([data-view=lab]) .world-view{left:50%;width:116vw;top:44%}body:not([data-view=lab]) .world-orbit,body:not([data-view=lab]) .world-caption{left:50%}body:not([data-view=lab]) .world-task{display:none}body:not([data-view=lab]) .camera-controls{right:13px;left:auto;bottom:360px}body:not([data-view=lab]) .resources .compute-resource{display:block}body:not([data-view=lab]) .goal-strip{display:none}
 #toast{bottom:91px;top:auto;max-width:calc(100% - 28px);font-size:11px}.achievement-popup{top:126px;padding:10px 14px 10px 10px}.achievement-popup strong{font-size:14px}.achievement-medal{width:35px;height:40px}.achievement-popup small{font-size:9px}.achievement-popup span{font-size:10px}dialog{max-height:calc(100dvh - 40px);margin:auto 16px;padding:26px 22px}dialog h2{font-size:26px}
}
@media(max-width:720px) and (max-height:720px){.section-top{top:87px;gap:2px}.section-top h2{font-size:18px}.section-top>span:last-child{display:none}.world-view{top:42%;width:103vw}.world-orbit{top:44%}.world-caption{display:none}.goal-strip{bottom:207px;padding:8px 10px}.goal-name>span{display:none}.lab-controls,.world-task{bottom:90px}.world-task{min-height:101px}.upgrade-row button{min-height:47px}.contract button{min-height:28px;font-size:9px}.camera-controls{bottom:290px}.resources>div,.resources>div:first-child{padding-top:7px;padding-bottom:7px}.game-dock{bottom:10px;height:61px}.workbench,body[data-view=lab] .workbench{top:80px;bottom:83px}body:not([data-view=lab]) .world-view{top:42%;width:103vw}}
@media(max-width:370px){.brand h1{font-size:16px}.brand-mark{width:21px}.time-control{display:none}.header-actions{margin-left:auto}.resources .cash-resource strong{font-size:17px}.resources #gpus{font-size:9px}.world-task span{font-size:12px}.goal-name>span{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

@media(max-height:600px) and (min-width:721px){
 .world-view{width:min(70vw,calc((100dvh - 150px)*1.405));left:56%;top:44%}.world-orbit{left:56%;width:68vw;top:48%}.goal-strip{top:155px;padding:10px 12px}.goal-strip p{font-size:10px}.section-top h2{max-width:220px;font-size:19px}.lab-controls{width:265px;bottom:100px}.pin-label{display:none}.world-pin{scale:1}.pin-icon{width:30px;height:34px}.world-task{width:235px;bottom:100px;right:20px}.workbench,body[data-view=lab] .workbench{bottom:90px;width:350px}body:not([data-view=lab]) .world-view{left:calc((100% - 350px)/2);width:min(calc(100vw - 400px),calc((100dvh - 150px)*1.405));top:44%}body:not([data-view=lab]) .goal-strip,body:not([data-view=lab]) .lab-controls{display:none}body:not([data-view=lab]) .section-top{top:auto;bottom:107px;left:20px}body:not([data-view=lab]) .resources{max-width:calc(100% - 390px)}body:not([data-view=lab]) .requests-resource{display:none}
}

.world-courier{offset-path:path('M408 369 L507 311 L466 288 L367 344 L408 369');offset-rotate:0deg;animation:courier-route 22s linear infinite}
@keyframes courier-route{0%,8%{offset-distance:0%}45%,55%{offset-distance:50%}92%,100%{offset-distance:100%}}
body[data-running=false] .world-courier{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.world-courier{offset-distance:35%;animation:none!important}}

.campus-network{animation:network-flow 6s linear infinite}.wind-rotor{transform-origin:660px 100px;animation:wind-power 12s linear infinite}
@keyframes network-flow{to{stroke-dashoffset:-276}}@keyframes wind-power{to{rotate:360deg}}
body[data-running=false] .campus-network,body[data-running=false] .wind-rotor{animation-play-state:paused}
/* Camera movement belongs to the world transform, never browser focus scrolling. */
.scene-wrap{overflow:clip}

/* Hardware-rendered diorama; the vector scene remains the no-WebGL view. */
.diorama-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.scene-3d-ready>#scene{visibility:hidden}.scene-3d-ready .world-pin{z-index:4}
.scene-3d-ready .pin-train{left:29%;top:67%}.scene-3d-ready .pin-compute{left:77%;top:39%}.scene-3d-ready .pin-research{left:52%;top:24%}
.world-view:has(.diorama-canvas){filter:drop-shadow(0 26px 30px #051b2550)}
@media(max-width:720px){.scene-3d-ready .pin-train{left:27%;top:69%}.scene-3d-ready .pin-compute{left:77%;top:40%}.scene-3d-ready .pin-research{left:54%;top:27%}}
@media(max-width:720px) and (max-height:720px){.world-view:has(.diorama-canvas),body:not([data-view=lab]) .world-view:has(.diorama-canvas){top:45%}}

/* Management actions share the existing HUD footprint. */
.contract #manage-lab{width:auto;flex-shrink:0;justify-content:center;padding-left:8px;padding-right:8px;color:#dfcea4;font-size:10px}.contract #contract{flex:1;min-width:0;gap:4px;justify-content:center}.cancel-run{width:100%;display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding:8px 0;background:transparent;border:0;color:#dfb5a2;font-size:12px;min-height:30px}.cancel-run span{font-size:11px;color:#bdc9b0}.cancel-choices{display:flex;gap:14px;align-items:center;margin-top:22px}.cancel-choices .primary{margin:0;padding:10px 16px}.cancel-choices .quiet-button{min-height:44px}
@media(max-width:720px){.contract #manage-lab{font-size:9px;padding:6px 4px}.contract #contract{font-size:9px;padding:6px 4px}.contract{gap:4px}.cancel-choices{gap:8px}.cancel-choices button{font-size:12px}}

.slider-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.slider-heading span{color:#e8cf91;font-variant-numeric:tabular-nums;font-size:12px}.exact-label{font-size:10px;color:#adbdad;margin-top:12px}.range-labels{font-size:10px;color:#aebdaf}input[type=range]{min-height:32px;cursor:ew-resize;accent-color:#dfc588;margin:4px 0}.input[type=number]{font-variant-numeric:tabular-nums}

.token-control{align-items:center}.token-control input[type=range]{flex:1;min-width:0}.token-control button{min-height:34px}.compute-choices{grid-template-columns:repeat(2,minmax(0,1fr))}

.scaling-chart{margin:18px 0 8px;padding:14px 10px 8px;background:#142c2e;border:1px solid #425d52;border-radius:8px;font-variant-numeric:tabular-nums}.scaling-chart figcaption{font-size:12px;color:#e4d5ac;padding:0 4px}.scaling-chart figcaption small{font-size:10px;color:#b0c1af;margin-left:7px}.scaling-chart>svg{stroke:none;display:block;width:100%;height:auto;overflow:visible;margin-top:6px}.chart-grid{stroke:#557164;stroke-opacity:.4;stroke-width:1}.chart-tick{fill:#c0cebc;font-size:11px;font-family:inherit}.chart-axis-title{fill:#aebeae;font-size:11px;font-family:inherit}.chart-curve{fill:none;stroke:#e6cb87;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.chart-guide{stroke:#e6cb87;stroke-opacity:.45;stroke-dasharray:4 4}.chart-dot{fill:#91b5a0;stroke:#142c2e;stroke-width:2}.chart-dot.selected{fill:#f1d897;stroke:#f8e8bf;stroke-width:2}.chart-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:10px 3px}.chart-choices button{padding:8px 3px;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:1px solid #496557;border-radius:5px;background:#233d38;color:#c6d3bd;cursor:pointer}.chart-choices button.selected{background:#46583d;border-color:#d7c187;color:#f6dfaa}.chart-choices strong{font-size:12px;font-weight:500}.chart-choices small{font-size:9px}.chart-readout{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;padding:9px 4px 4px;font-size:11px;color:#bcccb7}.chart-readout strong{color:#f0d89f;font-weight:500}.scaling-chart .chart-compute{margin:8px 4px 4px;font-size:10px;line-height:1.6;color:#aabda9}.chart-compute strong{display:block;color:#d1ddc5;font-weight:500}

.team-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:12px 0}.team-summary>div{padding:10px;background:#263f39;border:1px solid #4b6554;border-radius:5px}.team-summary span{display:block;font-size:10px;color:#b9c8af;margin-bottom:5px}.team-summary strong{font-size:18px;color:#e7d09a;font-weight:500;font-variant-numeric:tabular-nums}.research-project{border-color:#b5af77;background:#2b443c}.research-project .progress{margin-top:10px}.research-project #research-timer{font-size:11px;color:#c8d6ba}.research-project #research-percent{font-size:13px;color:#ead49a}#manage-researchers{margin:0 0 12px;min-height:36px}#hire-researcher{margin:10px 0 0;width:100%}
/* Hardware shop: one interactive model at a time, with a compact collection below. */
.hardware-entry{display:flex;gap:9px;align-items:center;width:100%;margin-bottom:16px;padding:12px}.hardware-entry svg{width:21px;height:21px}.hardware-entry span{margin-left:auto;font-size:10px}
.hardware-body>.field{margin-top:0}.gpu-stage{position:relative;height:235px;margin:15px 0 18px;border:1px solid #587368;border-radius:8px;background:radial-gradient(ellipse at 50% 48%,#476357,#132e32 76%);overflow:hidden}.gpu-stage canvas{display:block;width:100%;height:100%;touch-action:none}.gpu-stage>[role=status]{position:absolute;bottom:40px;left:9px;right:9px;text-align:center;font-size:10px;color:#c0d3bf;pointer-events:none;margin:0}.gpu-camera{position:absolute;bottom:7px;left:0;right:0;display:flex;justify-content:center;gap:5px}.gpu-camera button{padding:4px 12px;background:#193832dd;border:1px solid #78917b;border-radius:4px;color:#e8dab2;font-size:11px;min-height:28px}.gpu-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#597365;margin:14px 0;border:1px solid #597365;border-radius:6px;overflow:hidden}.gpu-stats>div{display:flex;flex-direction:column;gap:5px;background:#223f3a;padding:12px}.gpu-stats span{font-size:10px;color:#b7c8b5}.gpu-stats strong{font-size:18px;font-weight:500;color:#efdbab}.gpu-comparison{color:#e1d39c;font-size:12px}.concept-label{font-size:10px!important;letter-spacing:.8px;color:#f5c788;margin:6px 0}.gpu-invoice{margin:18px 0 12px;font-size:11px}.gpu-invoice>div{display:flex;justify-content:space-between;gap:8px;padding:6px 0}.gpu-invoice>div:last-child{border-top:1px solid #657b61;color:#f1d18e;font-size:13px;margin-top:6px;padding-top:11px}.gpu-purchase{width:100%;padding:10px}.gpu-notes{margin:18px 0}.gpu-notes a{color:#e5cc93}.gpu-collection-heading{border-top:1px solid #57715d;padding-top:17px;margin-top:20px}.gpu-collection-heading h3{font-size:15px;margin:0 0 10px}.gpu-collection{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 18px}.gpu-choice{display:flex;flex-direction:column;text-align:left;border:1px solid #4e6b5e;background:#23413d;color:#e0e4c9;border-radius:6px;padding:10px;gap:7px;min-width:0}.gpu-choice>span{display:flex;gap:5px;align-items:center;font-size:9px;color:#a9c0aa}.gpu-choice svg{width:15px;height:15px}.gpu-choice strong{font-size:11px;font-weight:500;line-height:1.4}.gpu-choice small{font-size:9px;color:#afc4b1}.gpu-choice.selected{background:#45583f;border-color:#d6be84}.gpu-choice:hover{border-color:#d6be84}.gpu-stage button:focus-visible,.gpu-choice:focus-visible{outline:2px solid #f4d595;outline-offset:2px}
.compute-overview{margin:0 0 18px;padding:14px;border:1px solid #597667;border-radius:7px;background:#203b37}.compute-total{display:flex;flex-direction:column;gap:6px;margin-bottom:13px}.compute-total>span{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#b5c7af}.compute-total>strong{font-size:24px;color:#efd49a;font-weight:500;letter-spacing:-.6px}.compute-bar{display:flex;height:9px;border-radius:4px;background:#496755;overflow:hidden}.compute-bar i{display:block;height:100%;transition:width .2s}.compute-bar #capacity-training{background:#d1b878}.compute-bar #capacity-inference{background:#78bfc0}.compute-breakdown{margin:12px 0 0;display:grid;gap:9px}.compute-breakdown>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.compute-breakdown dt{display:flex;align-items:center;gap:6px;font-size:11px;color:#c3d0bc}.compute-breakdown dd{margin:0;font-size:12px;font-variant-numeric:tabular-nums;color:#f0e4be}.compute-breakdown b{width:7px;height:7px;border-radius:2px;display:inline-block;flex-shrink:0}.training-key{background:#d1b878}.inference-key{background:#78bfc0}.free-key{background:#496755;border:1px solid #91ae8e}.cloud-compute{border-top:1px solid #4b6859;margin-top:14px;padding-top:12px;display:grid;gap:7px}.cloud-compute span{display:flex;justify-content:space-between;font-size:10px;color:#b8c8b1}.cloud-compute strong{font-size:11px;font-weight:500;color:#c4d7cd}.compute-overview .inline-note{font-size:10px;margin:12px 0 0}.hardware-back{display:block;margin:0 0 13px;padding:0!important;font-size:11px;color:#d8c58e}.hardware-entry>span{display:flex;gap:7px;align-items:center}.hardware-entry>strong{margin-left:auto;font-size:11px}.inference-line{font-size:9px!important;letter-spacing:.8px;color:#b3c9b5}.inference-readout{font-size:11px!important;color:#a9d6d2;line-height:1.7}.compute-resource #gpus{font-variant-numeric:tabular-nums;white-space:nowrap}

.inference-choices{grid-template-columns:1fr 1fr;margin:10px 0}.inference-choices .focus{font-size:11px;min-height:36px}

.hardware-entry{background:#304b41;border:1px solid #748367;border-radius:6px;color:#efe0b9;min-height:44px;cursor:pointer}.hardware-entry>span{margin-left:0;font-size:12px}.hardware-entry:hover{background:#405a48}
.fleet-inventory{margin:18px 0}.fleet-inventory>.card-top h3{font-size:15px}.fleet-row{display:flex;gap:10px;align-items:center;justify-content:space-between;border:1px solid #526d5d;background:#233f38;border-radius:6px;padding:12px;margin:8px 0}.fleet-row>div{min-width:0;display:flex;flex-direction:column;gap:6px}.fleet-row strong{font-size:12px;color:#eadfbc;font-weight:500}.fleet-row span{font-size:11px;color:#c2d2bc}.fleet-row small{font-size:9px;color:#a8beaa;line-height:1.5}.fleet-row>button{display:flex;flex-direction:column;gap:4px;min-width:68px;border:1px solid #708161;border-radius:4px;padding:7px;background:#304b3f;color:#eedbad;flex-shrink:0;font-size:11px}.fleet-row>button:disabled{opacity:.45}.fleet-row>button small{color:inherit}.gpu-quantity-presets{display:flex;gap:7px;margin-top:8px}.gpu-quantity-presets button{flex:1;padding:7px;background:#29463d;border:1px solid #5c765e;border-radius:4px;color:#e8d8ad;font-size:11px}

.quote-grid .allocated-models{grid-column:1/-1}.quote-grid .allocated-models dd{font-size:11px;line-height:1.7}
