@font-face{font-family:Inter;src:local('Inter');font-display:swap}*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:#0d0d0d;color:#f2f2f2;font:16px/1.5 Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input{font:inherit}button{color:inherit;cursor:pointer;border:0;background:none}button:focus-visible,input:focus-visible{outline:2px solid #05f215;outline-offset:4px}button{transition:background .16s,color .16s,border-color .16s}button:disabled{opacity:.45;cursor:wait}.topbar{height:76px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #282828;background:#111}.identity,.top-actions{display:flex;align-items:center;gap:24px}.brand{font-size:20px;font-weight:650;letter-spacing:-.6px}.divider{height:24px;width:1px;background:#3b3b3b}.workspace-name{font-size:14px;color:#a3a3a3}.area{font-size:16px;font-variant-numeric:tabular-nums}.area span{font-size:13px;color:#939393;margin-left:3px}.quiet{font-size:14px;color:#c5c5c5;padding:8px 0}.quiet:hover{color:#fff}.icon-button{height:42px;width:42px;display:grid;place-items:center;border:1px solid #3d3d3d;border-radius:50%;font-size:16px;background:#171717}.icon-button svg{width:21px;height:21px}.icon-button:hover{background:#292929}#studio{position:relative;height:calc(100dvh - 76px);min-height:640px;overflow:hidden;background:#151715}#viewport{display:block;width:100%;height:100%;touch-action:none}.viewbar{position:absolute;left:30px;top:26px;display:flex;gap:12px;align-items:center}.segmented{display:flex;border:1px solid #3a3c39;background:#151714eb;border-radius:999px;padding:5px;box-shadow:0 5px 30px #0003}.segmented button{font-size:14px;padding:10px 22px;border-radius:999px;color:#aaa}.segmented button[aria-pressed=true]{color:#111;background:#f2f2f2}.segmented button:hover:not([aria-pressed=true]){color:#fff}.panel{position:absolute;top:26px;right:30px;width:268px;padding:22px;background:#111410f2;border:1px solid #343832;border-radius:16px;box-shadow:0 14px 60px #0003}.panel[hidden]{display:none}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.panel-title h1{font-size:16px;font-weight:600;margin:0}.detail-badge{font-size:12px;letter-spacing:1.2px;color:#949e8e}.lighting{display:grid;grid-template-columns:1fr 1fr;padding:3px;background:#252923;border-radius:8px;margin-bottom:22px}.lighting button{font-size:13px;padding:8px 2px;border-radius:6px;color:#a6afa0}.lighting button[aria-pressed=true]{background:#3c4535;color:#f0f5e9}.setting-row{display:flex;align-items:center;justify-content:space-between;margin:17px 0;gap:14px}.setting-row label{font-size:14px;color:#c9d0c4;cursor:pointer}.setting-row input{appearance:none;cursor:pointer;flex:none;width:34px;height:20px;background:#363b32;border-radius:14px;position:relative;margin:0;transition:background .18s}.setting-row input:before{content:'';position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:#9ca591;transition:transform .18s}.setting-row input:checked{background:#05f215}.setting-row input:checked:before{transform:translateX(14px);background:#0c3105}.panel-divider{height:1px;background:#31362c;margin:22px 0}.action-pair{display:flex;gap:9px}.action-pair button{flex:1;border:1px solid #3d4536;border-radius:7px;padding:9px 4px;font-size:13px}.action-pair button:hover,.action-pair button[aria-pressed=true]{background:#333d2b}.save-view,.download{width:100%;display:flex;justify-content:space-between;align-items:center;padding:12px 13px;font-size:14px;border-radius:7px;margin-top:9px}.save-view{background:#05f215;color:#102009;font-weight:600}.save-view:hover{background:#42fa4e}.save-view span,.download span{font-size:12px;opacity:.65}.download{border:1px solid #3d4536;color:#c1cab9}.download:hover{background:#293023}#status{font-size:12px;color:#aab6a1;margin:12px 0 0;line-height:1.5}#status:empty{display:none}.camera-caption{position:absolute;left:32px;top:108px;pointer-events:none}.caption-kicker{font-size:12px;letter-spacing:2px;color:#91a187}.camera-caption h2{font-size:clamp(23px,2.25vw,34px);line-height:1.15;font-weight:500;letter-spacing:-1.1px;margin:9px 0 10px}.camera-caption p{font-size:14px;color:#a3ae9b;margin:0}.camera-strip{position:absolute;left:50%;bottom:74px;transform:translateX(-50%);display:flex;gap:10px;padding:10px;background:#111510cf;border:1px solid #384332;border-radius:14px;backdrop-filter:blur(16px)}.camera-strip button{position:relative;width:142px;height:80px;overflow:hidden;border-radius:8px;outline:1px solid #4b524433;outline-offset:0;background:#30362b;padding:0;isolation:isolate}.camera-strip button:after{content:'';position:absolute;inset:20% 0 0;background:linear-gradient(transparent,#000d);z-index:1}.camera-strip img{width:100%;height:100%;object-fit:cover;filter:brightness(.68);transition:filter .2s,transform .35s}.camera-strip button:hover img{filter:brightness(.92);transform:scale(1.04)}.camera-strip span{position:absolute;left:10px;bottom:8px;font-size:13px;z-index:2;text-shadow:0 1px 10px #000}.camera-strip button[aria-pressed=true]{outline:2px solid #05f215}.stage-footer{position:absolute;left:30px;right:30px;bottom:23px;display:flex;justify-content:space-between;gap:24px;align-items:center;color:#87927f}.stage-footer p,.stage-footer button{margin:0;font-size:12px}.stage-footer p span{margin:0 9px;color:#54604a}.stage-footer button{color:#aab8a0}.stage-footer button span{margin-left:8px}.selection{position:absolute;left:30px;bottom:200px;width:300px;padding:17px 35px 17px 18px;border:1px solid #516046;border-radius:10px;background:#11170eeb}.selection[hidden]{display:none}.selection strong{font-size:15px;font-weight:550}.selection p{font-size:13px;line-height:1.5;margin:6px 0 0;color:#aab99f}.selection button{position:absolute;right:7px;top:5px;font-size:23px;color:#859777}dialog{color:#f2f2f2;background:#151515;border:1px solid #404040;border-radius:18px;padding:0;width:min(1000px,94vw);max-height:88dvh;box-shadow:0 30px 100px #000a}dialog::backdrop{background:#020302c7;backdrop-filter:blur(6px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:25px 28px;border-bottom:1px solid #333}.dialog-head h2{font-weight:500;font-size:25px;letter-spacing:-.5px;margin:3px 0 0}.dialog-head button{height:44px;width:44px;border:1px solid #444;border-radius:50%;font-size:25px;color:#ccc}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:26px}.photo-grid figure{margin:0}.photo-grid img{width:100%;aspect-ratio:1.5;object-fit:cover;display:block;border-radius:8px}.photo-grid figcaption{font-size:14px;color:#c0c0c0;margin:9px 0 0}.plan-image{width:100%;display:block;height:auto;background:white}.info-dialog{width:min(600px,94vw)}.info-body{padding:15px 28px 28px}.info-body p{font-size:16px;line-height:1.7;color:#c6c6c6}.info-body .muted{color:#989898;font-size:14px}#loading{position:absolute;inset:0;z-index:8;background:#151715;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;font-size:14px;color:#cad0c6}#loading[hidden]{display:none}.load-mark{height:40px;width:40px;border:1px solid #4b5941;border-top:2px solid #05f215;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}#fallback{position:absolute;inset:0;background:#151715;padding:30px}#fallback[hidden]{display:none}#fallback img{height:70%;width:100%;object-fit:contain}#fallback p{max-width:580px;margin:0 auto;font-size:15px;color:#c3cbbd}@media(max-width:1080px){.topbar{padding:0 22px}.top-actions{gap:20px}.workspace-name,.divider{display:none}.panel{right:22px;width:244px;padding:18px}.viewbar{left:22px}.camera-caption{left:24px;max-width:330px}.camera-caption p{font-size:13px}.camera-strip{left:24px;transform:none}.camera-strip button{width:125px;height:74px}.stage-footer{left:24px;right:24px}.stage-footer p{max-width:290px}.stage-footer p span{margin:0 3px}}@media(max-width:760px){.topbar{height:68px;padding:0 16px;gap:10px}.brand{font-size:17px}.top-actions{gap:12px}.area{font-size:14px}.area span{font-size:12px}.top-actions .quiet{font-size:13px}#source-plan{display:none}.top-actions .icon-button{width:32px;height:32px}.identity{gap:0}#studio{height:calc(100dvh - 68px);min-height:670px}.viewbar{top:18px;left:16px;right:16px;justify-content:space-between}.segmented button{font-size:13px;padding:9px 16px}.panel{top:75px;right:16px;width:234px;background:#111410f7;z-index:4}.camera-caption{top:87px;left:19px;max-width:260px}.caption-kicker{font-size:12px;letter-spacing:1.5px}.camera-caption h2{font-size:25px;max-width:230px}.camera-caption p{max-width:210px;line-height:1.5}.camera-strip{left:16px;right:16px;bottom:73px;gap:7px;padding:7px;overflow-x:auto;scrollbar-width:none;border-radius:11px}.camera-strip button{width:calc((100vw - 69px)/4);min-width:85px;height:66px;flex:none}.camera-strip span{font-size:12px;left:7px;bottom:6px}.stage-footer{left:18px;right:18px;bottom:19px;display:block}.stage-footer p{font-size:12px;max-width:none}.stage-footer button{font-size:12px;margin-top:5px;padding:0}.selection{left:18px;bottom:170px;width:min(290px,80vw)}.photo-grid{grid-template-columns:1fr;padding:18px;gap:20px}.dialog-head{padding:20px}.dialog-head h2{font-size:22px}.info-body{padding:10px 20px 20px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}.load-mark{animation:none}}

.notes-plan{font-size:1rem;border:1px solid #4e5a46;padding:12px 16px;border-radius:8px;color:#b8eaa1}.notes-plan:hover{background:#293522}
.segmented{overflow-x:auto;scrollbar-width:none}.segmented button{white-space:nowrap}.viewbar>.icon-button{flex:none}
.airflow-tools{position:absolute;left:30px;top:93px;max-width:570px;padding:14px 18px;background:#101711ed;border:1px solid #415240;border-radius:12px}.airflow-tools[hidden]{display:none}.airflow-heading{font-size:19px;font-weight:600}.airflow-heading span{font-size:12px;letter-spacing:.8px;color:#d8bb86;margin-left:12px}.airflow-actions{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.airflow-actions button{border:1px solid #52644a;border-radius:7px;padding:8px 12px;font-size:14px}.airflow-actions button[aria-pressed=true]{background:#d0edc8;color:#101711}.airflow-tools p{font-size:14px;line-height:1.5;margin:6px 0;color:#cbd6c6}.airflow-tools .flow-caution{color:#e2c18d;font-size:13px}
#studio[data-view="airflow"] .camera-caption,#studio[data-view="airflow3d"] .camera-caption,#studio[data-view="airflow"] .camera-strip,#studio[data-view="airflow3d"] .camera-strip{display:none}
#studio[data-view="airflow"] .selection,#studio[data-view="airflow3d"] .selection{bottom:90px}
.airflow-guide-body{padding:10px 28px 28px}.airflow-guide-body p,.airflow-guide-body li{font-size:16px;line-height:1.65;color:#d0d5ce}.airflow-guide-body h3{font-size:21px;margin:28px 0 10px}.airflow-guide-body a{color:#a6e5b6;text-underline-offset:3px}.airflow-guide-body .flow-caution{font-size:14px;color:#b9c5b5}.airflow-plan-image{width:100%;height:auto;display:block;border-radius:10px}.heat-warning{border-left:3px solid #e8b46b;padding:12px 16px;background:#28251c}.fan-position-list{padding-left:28px}.fan-position-list li{padding:10px 0 10px 7px}.fan-position-list strong{display:block;color:#f2f2f2}
@media(max-width:760px){.viewbar{right:16px}.segmented{min-width:0;max-width:calc(100% - 48px)}.airflow-tools{left:16px;right:16px;top:80px;padding:10px 12px}.airflow-heading{font-size:17px}.airflow-heading span{font-size:12px}.airflow-actions{gap:6px}.airflow-actions button{padding:8px 10px}.airflow-guide-body{padding:8px 18px 20px}.airflow-tools p{font-size:14px}}

/* Let the architecture fill the screen; keep controls legible over bright windows. */
.camera-strip{max-width:calc(100vw - 60px);overflow-x:auto}.camera-strip button{flex:none}
.render-gallery .property-notes{border-left:2px solid #70886b;padding-left:14px;font-size:14px}
@media(max-width:760px){.segmented button{padding:9px 9px;font-size:12px}.viewbar{gap:6px}.camera-strip{max-width:calc(100vw - 32px)}.camera-strip button{width:116px}}
#studio:not([data-view="overview"]):not([data-view="top"]) .camera-caption{top:auto;bottom:192px;background:#111a;padding:14px 18px;border-radius:10px;backdrop-filter:blur(12px)}
#studio:not([data-view="overview"]):not([data-view="top"]) .camera-caption .caption-kicker{display:none}
#studio:not([data-view="overview"]):not([data-view="top"]) .camera-caption h2{font-size:22px;margin:0 0 5px;letter-spacing:-.6px}
#studio:not([data-view="overview"]):not([data-view="top"]) .camera-caption p{font-size:14px;color:#deded9}
.stage-footer{color:#bcc0b8;text-shadow:0 1px 5px #000}
#room-renders{pointer-events:auto;margin-top:8px;padding:0;color:#e3edda;font-size:14px;text-decoration:underline;text-underline-offset:3px}
.render-gallery{padding:12px 24px 24px}.render-gallery>p{font-size:16px;color:#bebebe}.render-gallery figure{margin:22px 0 0}.render-gallery img{width:100%;height:auto;display:block;border-radius:8px}.render-gallery figcaption{font-size:14px;color:#aaa;margin-top:8px}
@media(max-width:760px){
 #studio:not([data-view="overview"]):not([data-view="top"]) .camera-caption{left:16px;bottom:156px;max-width:calc(100% - 32px);padding:10px 14px}
 #studio:not([data-view="overview"]):not([data-view="top"]) .camera-caption h2{font-size:18px;max-width:none}
 #studio:not([data-view="overview"]):not([data-view="top"]) .camera-caption p{font-size:14px;max-width:none}
}

/* Cooling controls share the room canvas; on a phone they open as a bottom sheet. */
.airflow-tools{max-width:500px;z-index:2}.airflow-actions{margin:10px 0}.airflow-actions button{min-height:42px}.flow-legend{display:flex;align-items:center;gap:8px;font-size:13px;color:#cad2c6;margin-top:10px}.flow-scale{height:6px;min-width:58px;border-radius:4px;background:linear-gradient(90deg,#d6994d,#05f24b)}
.simulation-panel{position:absolute;right:24px;top:26px;bottom:78px;width:330px;overflow-y:auto;overscroll-behavior:contain;background:#111610f7;border:1px solid #495143;border-radius:15px;padding:18px;z-index:4;scrollbar-width:thin;box-shadow:0 18px 60px #0005}.simulation-panel[hidden],[hidden]{display:none!important}.sim-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.sim-panel-head strong{font-size:17px}.sim-panel-head button{font-size:25px;width:40px;min-height:40px;border-radius:50%;background:#252b23}.sim-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #3c4437;margin:13px 0 20px}.sim-tabs button{padding:12px 5px;font-size:15px;border-bottom:2px solid transparent;color:#a5b09d}.sim-tabs button[aria-pressed=true]{color:#f2f2f2;border-color:#05f215}.sim-fan-selectors{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.sim-fan-selectors button{height:38px;min-width:0;border:1px solid #54624a;border-radius:7px;font-size:16px}.sim-fan-selectors button[aria-pressed=true]{background:#05f215;color:#11220c;border-color:#05f215}.sim-fan-selectors button[data-off=true]{text-decoration:line-through;opacity:.52}.simulation-panel h3{font-size:17px;line-height:1.4;margin:20px 0 15px}.sim-switch{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:15px 0}.sim-switch label,.sim-range{font-size:14px}.sim-switch input{width:20px;height:20px;accent-color:#05f215}.sim-range{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px}.sim-range output{font-variant-numeric:tabular-nums;color:#a8ff9e;white-space:nowrap}.simulation-panel input[type=range]{width:100%;accent-color:#05f215;height:32px;margin:5px 0}.sim-muted{font-size:14px;line-height:1.55;color:#b3beaa;margin:13px 0}.sim-divider{height:1px;background:#3a4433;margin:20px 0}.sim-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.sim-actions button{font-size:14px;border:1px solid #54624a;min-height:44px;padding:7px;border-radius:7px}.sim-actions button:hover{background:#263220}.sim-heat-note{font-size:14px;line-height:1.55;padding:12px;background:#28251c;border-left:2px solid #d6a15d;color:#e3cbab;margin:20px 0 0}.sim-heat-note a{color:#f0d6ae;text-underline-offset:3px}.thermal-inputs{display:grid;grid-template-columns:1fr 1fr;gap:13px}.thermal-inputs label{font-size:14px;display:flex;flex-direction:column;gap:6px}.thermal-inputs input{width:100%;min-width:0;font-size:16px;background:#1f261b;color:#f2f2f2;border:1px solid #54624a;padding:10px;border-radius:6px}.thermal-inputs input::placeholder{color:#889581;font-size:13px}.thermal-wide{grid-column:1/-1}.thermal-calculate{width:100%;background:#05f215;color:#10230b;border-radius:7px;font-size:16px;font-weight:600;padding:11px}.thermal-calculate:hover{background:#54f64c}#thermal-example{font-size:14px;min-height:44px;text-decoration:underline;text-underline-offset:3px;margin-top:4px}#thermal-result h4{font-size:17px;line-height:1.4}.thermal-table{width:100%;border-collapse:collapse;text-align:left}.thermal-table th{font-size:13px;color:#bac4b3;font-weight:400;padding:0 4px 7px}.thermal-table td{font-size:18px;white-space:nowrap;padding:0 4px;font-variant-numeric:tabular-nums}.thermal-table th:first-child,.thermal-table td:first-child{padding-left:0}#thermal-chart{display:block;width:100%;margin-top:18px}.simulation-panel a:focus-visible{outline:2px solid #05f215;outline-offset:3px}
@media(min-width:761px) and (max-width:1120px){.airflow-tools{max-width:calc(100% - 385px)}.airflow-heading span{display:block;margin:5px 0 0}.simulation-panel{width:310px;right:20px}.viewbar{max-width:calc(100% - 360px)}.viewbar .segmented{min-width:0}}
@media(max-width:760px){.airflow-tools{max-width:none;left:16px;right:16px}.airflow-heading{font-size:16px}.airflow-heading span{font-size:12px;margin-left:8px}.airflow-actions{gap:5px}.airflow-actions button{padding:7px 9px;font-size:14px}.flow-legend{font-size:12px}.simulation-panel{top:auto;bottom:72px;left:12px;right:12px;width:auto;max-height:66%;padding:16px;border-radius:16px;box-shadow:0 -12px 60px #0008}.sim-panel-head{position:sticky;top:-16px;background:#111610;padding-top:5px;padding-bottom:8px;z-index:1}.sim-fan-selectors button{height:42px}.sim-heat-note{margin-top:18px}.simulation-panel h3{margin-top:16px}}

/* Temperature and direct manipulation use the same scene and controls. */
.sim-tabs{grid-template-columns:repeat(3,1fr)}
.flow-layer-controls{display:flex;gap:6px;align-items:center;margin:8px 0}
.flow-layer-controls #sim-count{font-size:12px;margin-left:auto;color:#afbe9f;white-space:nowrap}
.flow-layer-controls button{min-height:38px;padding:6px 12px;font-size:13px;border:1px solid #485342;border-radius:7px;color:#c2c9bc}
.flow-layer-controls button[aria-pressed=true]{color:#fff;background:#34442c;border-color:#6c8960}
.flow-scale[data-layer=heat]{background:linear-gradient(90deg,#2eaeff,#ffd159,#ff4934)}
.flow-legend{flex-wrap:wrap;gap:7px;line-height:1.4}.flow-scale{flex:none;min-width:70px}
.airflow-tools #heat-scenario-note,.airflow-tools #sim-running{font-size:12px;color:#aebba6;margin:4px 0}
.heat-presets,.fan-power-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:12px 0}
.heat-presets button,.fan-power-presets button{font-size:13px;line-height:1.35;min-height:42px;padding:7px 5px;border:1px solid #52614a;border-radius:7px}
.heat-presets button:hover,.fan-power-presets button:hover{background:#273720}
.fan-power-presets button[aria-pressed=true]{border-color:#05f215;color:#c6ffc1;background:#20371d}
.restart-heat{width:100%;border:1px solid #6c8061;border-radius:7px;padding:10px;font-size:14px;margin:14px 0 0;min-height:44px}
.restart-heat:hover{background:#2c3c24}
.sim-details{border-top:1px solid #3e4738;margin:20px 0;padding-top:14px}
.sim-details summary{cursor:pointer;font-size:14px;line-height:1.5;min-height:40px;padding:7px 0;color:#e2eadd}
.sim-details summary:focus-visible{outline:2px solid #05f215;outline-offset:3px}
.sim-door-list{display:grid;gap:7px}.sim-door-button{text-align:left;min-height:46px;padding:10px 12px;border:1px solid #705a45;border-radius:7px;background:#2b231c;color:#ffd3ad;font-size:14px;line-height:1.5}
.sim-door-button[aria-pressed=true]{background:#18352a;border-color:#46755c;color:#baf4d8}
.nudge-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.nudge-buttons button{border:1px solid #536849;border-radius:7px;min-height:44px;font-size:23px}
.sim-guide-link{font-size:14px;line-height:1.5;text-decoration:underline;text-underline-offset:4px;text-align:left;min-height:44px;padding:7px 0}
.fan-quickbar{position:absolute;left:30px;bottom:79px;width:330px;z-index:3;background:#101710f7;border:1px solid #617254;border-radius:13px;padding:12px 14px;box-shadow:0 14px 50px #0006}
.quick-title{display:flex;align-items:center;gap:10px}.quick-title strong{font-size:16px;margin-right:auto}.quick-title button{min-height:38px;border:1px solid #52664b;border-radius:7px;font-size:13px;padding:4px 10px}
.quick-title #quick-close{font-size:22px;width:38px;padding:0;border-color:transparent}.quick-title #quick-fan-power[aria-pressed=true]{color:#b4ffaa}
.quick-actions{display:flex;gap:6px}.quick-actions button{flex:1;min-height:42px;font-size:14px;padding:6px;border:1px solid #596b4e;border-radius:7px}
.quick-actions button[aria-pressed=true]{background:#05f215;color:#11230c;border-color:#05f215}
.quick-actions button:disabled{cursor:default}.fan-quickbar p{font-size:13px;line-height:1.45;color:#d3decd;margin:9px 0 0;min-height:38px}
.fan-quickbar .fan-power-presets{margin:8px 0}.fan-quickbar .fan-power-presets button{min-height:36px}
#studio[data-edit-mode=move] #viewport{cursor:crosshair}#studio[data-edit-mode=aim] #viewport{cursor:crosshair}
@media(max-width:760px){
 .fan-quickbar{left:12px;right:12px;bottom:74px;width:auto;padding:11px 13px}
 .flow-layer-controls{margin:6px 0}.flow-layer-controls button{min-height:34px}
 .airflow-tools{padding:10px 12px}.flow-legend{font-size:12px;margin-top:6px}
 .airflow-tools #heat-scenario-note{max-width:100%;line-height:1.4}
 .fan-quickbar p{min-height:19px}.sim-door-button{min-height:48px}
}
@media(max-height:760px) and (max-width:760px){
 .airflow-tools{padding:8px 10px}.airflow-heading{font-size:15px}.airflow-actions{margin:7px 0}.airflow-actions button{min-height:36px}
 .airflow-tools #sim-running{display:none}.fan-quickbar{bottom:66px}
}

#cooling-lab{margin:16px 0}#cooling-lab input,#cooling-lab select,#sim-spread{width:100%;min-height:44px;background:#20261f;color:#f2f2f2;border:1px solid #667060;border-radius:6px;padding:8px;font:inherit;margin:6px 0 12px}.comparison-results{overflow-x:auto}.comparison-results table{border-collapse:collapse;width:100%;font-size:14px}.comparison-results td,.comparison-results th{text-align:left;padding:9px;border-bottom:1px solid #475044}.sim-fan-selectors{grid-template-columns:repeat(4,1fr)}#cooling-lab li{margin:10px 0}#cooling-lab>summary{font-size:16px;font-weight:700;color:#d5fbc8}

#upgrades-open{color:#b7ffa6;border:1px solid #56844d;border-radius:7px;padding:8px 12px}#upgrades-panel{position:absolute;z-index:7;right:18px;top:20px;bottom:60px;width:385px;overflow-y:auto;background:#111611fa;border:1px solid #63705c;border-radius:14px;padding:20px;box-shadow:0 15px 55px #0007}#upgrades-panel h2{font-size:22px;margin:3px 0 16px;letter-spacing:-.6px}#upgrades-panel h3{font-size:17px}.up-head{display:flex;justify-content:space-between;gap:12px}.up-head>button{font-size:28px;align-self:flex-start}.up-note{font-size:14px;color:#b6c0af;line-height:1.55}.up-preview,.up-add{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.up-preview button,.up-add button,#up-compare,#up-export{border:1px solid #506248;padding:9px 11px;min-height:44px;border-radius:6px;font-size:14px}.up-preview button[aria-pressed=true],#up-save{background:#05f215;color:#10200d}.up-add button{flex:1 0 29%}.up-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}#upgrades-panel label{display:flex;flex-direction:column;font-size:14px;gap:5px;margin:9px 0}#upgrades-panel input,#upgrades-panel select,#upgrades-panel textarea{font:inherit;font-size:16px;min-width:0;max-width:100%;width:100%;min-height:43px;padding:9px;border:1px solid #4b5d42;border-radius:5px;background:#20271e;color:#f2f2f2}#upgrades-panel input[type=color]{padding:3px}.up-items{display:flex;gap:5px;flex-wrap:wrap}.up-items button{padding:8px;border-bottom:2px solid #4d5748;font-size:14px}.up-items button[aria-pressed=true]{border-color:#05f215;color:#b6ffaa}.up-benefit{font-size:14px;line-height:1.55;border-left:2px solid #89c976;padding-left:12px}.up-summary{border-top:1px solid #48563f;border-bottom:1px solid #48563f;padding:12px 0;margin:16px 0}.up-summary p{margin:7px 0;font-size:14px}.up-summary strong{font-size:18px}.up-saved>div{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #35432d;padding:9px 0;font-size:14px}.up-saved button{text-decoration:underline;text-underline-offset:3px;min-height:40px}.up-table-wrap{padding:0 25px 25px;overflow:auto}.up-table-wrap table{border-collapse:collapse;min-width:760px;width:100%;font-size:14px}.up-table-wrap th,.up-table-wrap td{padding:13px;text-align:left;vertical-align:top;border-bottom:1px solid #44523b;max-width:220px;overflow-wrap:anywhere}.up-table-wrap p{font-size:14px;max-width:900px}#studio[data-upgrades=true] .camera-strip,#studio[data-upgrades=true] .camera-caption{display:none}#studio[data-upgrades=true] .viewbar{max-width:calc(100% - 450px)}#up-business{margin-top:20px}#up-business summary{cursor:pointer;font-weight:600}.up-note[data-error=true]{color:#ffb092}
@media(max-width:760px){#upgrades-panel{top:auto;bottom:58px;left:10px;right:10px;width:auto;max-height:58%;padding:15px}#studio[data-upgrades=true] .viewbar{max-width:calc(100% - 25px)}#upgrades-open{display:block!important;padding:7px;font-size:14px}.top-actions{gap:8px}.up-head .caption-kicker{font-size:12px}.up-table-wrap{padding:0 15px 20px}}

#up-place-bar{position:absolute;z-index:8;bottom:70px;left:50%;transform:translateX(-50%);width:min(540px,calc(100% - 24px));padding:14px;background:#152212f5;border:1px solid #80a875;border-radius:10px;font-size:14px;display:flex;align-items:center;gap:12px;justify-content:space-between}#up-place-bar button{min-height:44px;border:1px solid #739968;padding:8px;border-radius:6px;white-space:nowrap}
