:root{color-scheme:dark;font-family:Aptos,Segoe UI,ui-sans-serif,sans-serif;background:#09090b;color:#fafafa;--panel: #18181b;--panel-soft: #27272a;--line: #3f3f46;--text-soft: #a1a1aa;--accent: #c5ff4a;--accent-2: #71d7c8;--danger: #f87171;--sh-background: #09090b;--sh-card: #111113;--sh-card-elevated: #18181b;--sh-popover: rgba(24, 24, 27, .88);--sh-border: rgba(63, 63, 70, .72);--sh-input: rgba(39, 39, 42, .78);--sh-muted: #27272a;--sh-muted-foreground: #a1a1aa;--sh-foreground: #fafafa;--sh-primary: #fafafa;--sh-primary-foreground: #09090b;--sh-ring: rgba(197, 255, 74, .46);--sh-radius: 14px}.saas-shell{--saas-bg: #09090b;--saas-card: rgba(24, 24, 27, .82);--saas-card-solid: #18181b;--saas-muted: #a1a1aa;--saas-line: rgba(63, 63, 70, .72);--saas-primary: #f5f5f5;--saas-soft: #27272a;--saas-accent: #c5ff4a;min-height:100vh;display:grid;grid-template-columns:286px minmax(0,1fr);background:radial-gradient(circle at 14% 0%,rgba(197,255,74,.13),transparent 28rem),radial-gradient(circle at 96% 12%,rgba(113,215,200,.11),transparent 28rem),var(--saas-bg);color:#fafafa}.saas-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;border-right:1px solid var(--saas-line);background:#09090beb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:18px;z-index:40}.saas-brand{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:28px}.saas-logo,.saas-nav-link,.project-card-body,.project-row,.job-row,.data-row,.saas-breadcrumb button{border:0;background:transparent;color:inherit;min-height:0;padding:0;text-align:left;font-weight:inherit}.saas-logo{display:flex;align-items:center;gap:11px;cursor:pointer}.saas-logo-mark{display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid rgba(197,255,74,.35);border-radius:12px;background:linear-gradient(135deg,#c5ff4a3d,#71d7c814);color:var(--saas-accent)}.saas-logo strong,.saas-logo small{display:block}.saas-logo strong{font-size:15px;letter-spacing:-.02em}.saas-logo small,.mini-kicker{color:var(--saas-muted);font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.saas-icon-button,.icon-button-soft{width:38px;height:38px;min-height:38px;display:inline-grid;place-items:center;border:1px solid var(--saas-line);border-radius:12px;background:#27272ac7;color:#e4e4e7;padding:0}.sidebar-close,.mobile-menu{display:none}.saas-nav{display:grid;gap:6px}.saas-nav-section{color:#71717a;font-size:11px;font-weight:800;letter-spacing:.1em;margin:0 10px 8px;text-transform:uppercase}.saas-nav-link{display:flex;align-items:center;gap:11px;width:100%;border-radius:13px;color:#a1a1aa;cursor:pointer;padding:11px 12px;transition:background .16s ease,color .16s ease,transform .16s ease}.saas-nav-link:hover,.saas-nav-link.active{background:#f4f4f517;color:#fafafa}.saas-nav-link.active{box-shadow:inset 0 0 0 1px #f4f4f514}.saas-sidebar-card{margin-top:auto;border:1px solid rgba(197,255,74,.22);border-radius:18px;background:linear-gradient(135deg,#c5ff4a1f,#27272adb);padding:16px}.saas-sidebar-card strong{display:block;margin:8px 0}.saas-sidebar-card p,.page-intro p,.hero-panel p,.project-hero p,.legacy-bridge-heading p,.stage-card p,.empty-state-panel p,.kpi-card p{color:var(--saas-muted);line-height:1.55}.saas-main{min-width:0}.saas-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:74px;border-bottom:1px solid var(--saas-line);background:#09090bd1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:12px 24px}.saas-header-left,.saas-header-actions,.saas-breadcrumb,.project-hero-meta,.project-hero-actions,.card-heading,.project-card-top,.project-card-footer,.form-actions,.project-toolbar,.pill-filter-group{display:flex;align-items:center;gap:12px}.saas-header-left{min-width:0}.saas-breadcrumb{color:#71717a;font-size:12px;margin-bottom:4px}.saas-breadcrumb button{color:#a1a1aa;cursor:pointer}.saas-header h1{max-width:52vw;overflow:hidden;color:#fafafa;font-size:20px;font-weight:760;letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap}.saas-command,.filter-input{display:flex;align-items:center;gap:9px;min-height:40px;border:1px solid var(--saas-line);border-radius:13px;background:#18181bd1;color:#a1a1aa;padding:0 11px}.saas-command input,.filter-input input,.form-grid input,.form-grid textarea{width:100%;border:0;outline:0;background:transparent;color:#fafafa;font:inherit}.saas-command{width:min(390px,34vw)}.saas-command kbd{border:1px solid var(--saas-line);border-radius:7px;color:#71717a;font-size:11px;padding:2px 5px}.ui-button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(250,250,250,.12);border-radius:12px;background:#fafafa;color:#09090b;cursor:pointer;font:inherit;font-weight:760;padding:0 14px;text-decoration:none;transition:transform .16s ease,opacity .16s ease,background .16s ease}.ui-button:hover,.project-card:hover,.stage-card:hover,.kpi-card:hover{transform:translateY(-1px)}.ui-button.secondary,.ui-button.ghost{background:#27272adb;color:#f4f4f5}.ui-button.ghost{border-color:transparent;background:transparent;color:#a1a1aa}.saas-content{width:min(1520px,100%);margin:0 auto;padding:24px}.page-stack{display:grid;gap:20px}.narrow-page{max-width:940px}.hero-panel,.project-hero,.page-intro,.ui-card,.project-card,.stage-card,.kpi-card,.empty-state-panel{border:1px solid var(--saas-line);border-radius:22px;background:var(--saas-card);box-shadow:0 20px 60px #0000003d}.hero-panel{display:flex;align-items:end;justify-content:space-between;gap:24px;min-height:220px;padding:28px;background:linear-gradient(135deg,rgba(197,255,74,.18),transparent 46%),linear-gradient(180deg,#27272aeb,#18181bd1)}.hero-panel h2,.page-intro h2,.project-hero h2,.empty-state-panel h2{margin:8px 0;color:#fafafa;font-size:clamp(28px,4vw,52px);line-height:.98;letter-spacing:-.055em}.hero-panel p,.page-intro p{max-width:780px}.hero-action{white-space:nowrap}.kpi-grid,.projects-grid,.project-stage-grid,.model-grid{display:grid;gap:16px}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi-card{position:relative;min-height:158px;padding:18px;transition:transform .16s ease}.kpi-icon{width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(197,255,74,.22);border-radius:14px;background:#c5ff4a1a;color:var(--saas-accent)}.kpi-card span,.project-progress span,.fact-row span,.metric span,.setting-row span{color:var(--saas-muted)}.kpi-card strong{display:block;margin:14px 0 4px;color:#fafafa;font-size:34px;letter-spacing:-.05em}.kpi-card em{position:absolute;top:18px;right:18px;border:1px solid rgba(197,255,74,.22);border-radius:999px;color:var(--saas-accent);font-size:12px;font-style:normal;padding:5px 8px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:16px}.ui-card,.stage-card{padding:18px}.card-heading{justify-content:space-between;margin-bottom:16px}.card-heading h3,.stage-card h3,.upload-drop-card h3{color:#fafafa;font-size:18px;letter-spacing:-.02em}.project-list,.job-list,.workflow-list,.site-facts,.settings-list{display:grid;gap:10px}.project-row,.job-row,.workflow-step,.fact-row,.setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--saas-line);border-radius:16px;background:#27272a8f;padding:12px}.project-row{width:100%;cursor:pointer}.project-row-icon{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#f4f4f514;color:#e4e4e7}.project-row span:nth-child(2){flex:1}.project-row strong,.project-row small,.job-row strong,.job-row small{display:block}.project-row small,.job-row small{color:var(--saas-muted);margin-top:3px}.page-intro{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:22px}.page-intro h2,.project-hero h2{font-size:clamp(28px,3vw,44px)}.project-toolbar{justify-content:space-between}.filter-input{flex:1;max-width:520px}.pill-filter-group button,.project-subnav button{min-height:36px;border:1px solid var(--saas-line);border-radius:999px;background:#18181bb3;color:#a1a1aa;cursor:pointer;padding:0 12px}.pill-filter-group button.active,.project-subnav button.active{background:#fafafa;color:#09090b}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card{padding:18px;transition:transform .16s ease}.project-card-top,.project-card-footer{justify-content:space-between}.project-card-body{width:100%;cursor:pointer;margin:22px 0}.project-card-body h3{color:#fafafa;font-size:24px;letter-spacing:-.04em;margin-bottom:7px}.project-card-body p,.project-card-footer{color:var(--saas-muted)}.project-progress{display:grid;grid-template-columns:1fr auto;gap:8px 12px}.project-progress div{grid-column:1 / -1;height:8px;border-radius:999px;overflow:hidden;background:#3f3f46bd}.project-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--saas-accent),#71d7c8)}.status-chip,.status-pill{display:inline-flex;align-items:center;width:fit-content;border-radius:999px;font-size:12px;font-weight:760;padding:5px 9px}.status-chip.analysis_ready,.status-chip.ready,.status-pill.completed,.status-pill.ready{background:#22c55e1f;color:#86efac}.status-chip.converting,.status-pill.converting,.status-pill.waiting{background:#facc151f;color:#fde68a}.status-chip.needs_model,.status-pill.archived{background:#a1a1aa21;color:#d4d4d8}.project-hero{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:24px;background:radial-gradient(circle at 92% 18%,rgba(113,215,200,.12),transparent 22rem),var(--saas-card)}.project-hero.compact{padding:18px}.project-hero-meta{flex-wrap:wrap}.project-hero-meta span:not(.status-chip){display:inline-flex;align-items:center;gap:6px;color:var(--saas-muted)}.project-subnav{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.project-stage-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stage-card{display:grid;gap:14px;transition:transform .16s ease}.workflow-step.done{border-color:#22c55e3d;color:#86efac}.fact-row,.setting-row{align-items:flex-start}.fact-row strong,.setting-row strong{max-width:62%;text-align:right}.model-grid{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr)}.upload-drop-card{display:grid;place-items:center;align-content:center;min-height:300px;text-align:center}.upload-drop-card p{max-width:520px}.legacy-bridge{border:1px solid var(--saas-line);border-radius:24px;overflow:hidden;background:#09090b85}.legacy-bridge-heading{padding:22px 22px 0}.legacy-bridge-heading h2{margin:8px 0;color:#fafafa;font-size:28px;letter-spacing:-.04em}.conversion-shell-embedded{width:100%;padding:22px}.analysis-bridge{overflow:visible}.analysis-bridge .sunpath-workbench,.analysis-bridge .sunpath-shell,.analysis-bridge .sunpath-layout{height:calc(100vh - 188px);min-height:720px}.form-card{display:grid;gap:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid label{display:grid;gap:8px;color:#d4d4d8;font-weight:720}.form-grid input,.form-grid textarea{border:1px solid var(--saas-line);border-radius:13px;background:#09090b66;padding:12px}.form-span{grid-column:1 / -1}.form-actions{justify-content:flex-end}.empty-state-panel{display:grid;place-items:center;gap:10px;min-height:360px;text-align:center;padding:40px}.empty-state-panel svg{color:var(--saas-accent)}.saas-content .data-row{display:grid;align-items:center;gap:12px;width:100%;border-bottom:1px solid var(--saas-line);color:#e4e4e7;cursor:pointer;margin:0;padding:14px 0}.saas-content .data-row:last-child{border-bottom:0}.saas-content .data-row-header{color:#71717a;cursor:default;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.job-table-row{grid-template-columns:1fr 1.4fr 1fr 1fr .7fr .8fr}.report-table-row{grid-template-columns:1.4fr .7fr 1.2fr .8fr .8fr}@media(max-width:1180px){.kpi-grid,.project-stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.model-grid{grid-template-columns:1fr}.saas-command{display:none}}@media(max-width:900px){.saas-shell{grid-template-columns:1fr}.saas-sidebar{position:fixed;left:0;transform:translate(-100%);width:min(320px,calc(100vw - 32px));transition:transform .18s ease}.saas-sidebar.open{transform:translate(0)}.saas-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;border:0;background:#0000009e}.mobile-menu,.sidebar-close{display:inline-grid}.saas-header,.page-intro,.hero-panel,.project-hero,.project-toolbar{align-items:stretch;flex-direction:column}.saas-header{gap:12px}.saas-header h1{max-width:none}.saas-header-actions{width:100%}.saas-header-actions .ui-button,.project-hero-actions .ui-button{flex:1}.projects-grid,.kpi-grid,.project-stage-grid,.form-grid{grid-template-columns:1fr}.analysis-bridge .sunpath-workbench,.analysis-bridge .sunpath-shell,.analysis-bridge .sunpath-layout{height:auto}}@media(max-width:620px){.saas-content{padding:14px}.saas-header{padding:12px 14px}.hero-panel,.project-hero,.page-intro,.ui-card,.project-card,.stage-card,.kpi-card{border-radius:18px;padding:16px}.hero-panel h2,.page-intro h2,.project-hero h2{font-size:32px}.pill-filter-group{flex-wrap:wrap}.job-table-row,.report-table-row,.saas-content .data-row-header{grid-template-columns:1fr}.saas-content .data-row-header{display:none}.fact-row,.setting-row{display:grid}.fact-row strong,.setting-row strong{max-width:none;text-align:left}}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(135deg,rgba(197,255,74,.08),transparent 34%),radial-gradient(circle at 84% 0%,rgba(113,215,200,.12),transparent 34%),#111410}.app-tabs{position:sticky;top:0;z-index:20;display:flex;gap:1px;width:100%;border-bottom:1px solid rgba(57,64,51,.8);background:#0c0f0ceb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app-tabs button{min-width:0;min-height:46px;border-right:1px solid var(--line);background:transparent;color:var(--text-soft);padding:0 18px;white-space:nowrap}.app-tabs button.active{color:#151a12;background:var(--accent)}button,a{font:inherit}.shell{width:min(1180px,calc(100vw - 32px));margin:0 auto;padding:32px 0}.topbar{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.eyebrow{margin:0 0 8px;color:var(--accent);font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,p{margin:0}h1{max-width:760px;font-size:clamp(32px,5vw,64px);line-height:.95;letter-spacing:0}h2{font-size:18px}.runtime-pill,.status-badge,.file-facts span{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:8px 12px;color:var(--text-soft);background:#1a1f19b8;white-space:nowrap}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;margin-bottom:16px}.upload-panel,.command-panel,.panel{border:1px solid var(--line);background:#1a1f19db;box-shadow:0 18px 50px #0000003d}.upload-panel{min-height:220px;display:grid;place-items:center;align-content:center;gap:14px;padding:28px;cursor:pointer;position:relative}.upload-panel input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.upload-title{font-size:24px;font-weight:800;text-align:center}.upload-meta,.empty,.error-line{color:var(--text-soft);line-height:1.45}.command-panel{padding:20px;display:flex;flex-direction:column;justify-content:space-between;gap:18px}button,.download-row a{border:0;background:var(--accent);color:#151a12;min-height:44px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:850;text-decoration:none;cursor:pointer}button:disabled,.download-row a.disabled{cursor:not-allowed;opacity:.42;pointer-events:none}.file-facts{display:flex;gap:8px;flex-wrap:wrap}.status-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:16px;margin-bottom:16px}.panel{padding:20px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.status-badge.completed{border-color:#c5ff4a99;color:var(--accent)}.status-badge.failed{border-color:#ff8068b3;color:var(--danger)}.progress-track{height:12px;background:#0f130e;border:1px solid var(--line);margin-bottom:18px}.progress-bar{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .22s ease}.steps{display:grid;gap:10px}.step-row,.log-line{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:10px;border:1px solid var(--line);background:var(--panel-soft);padding:12px}.step-row strong,.log-line strong{color:var(--text-soft);font-size:12px;text-transform:uppercase}.ok{color:var(--accent)}.bad,.error-line{color:var(--danger)}.wait{color:var(--accent-2)}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{background:var(--panel-soft);border:1px solid var(--line);padding:14px}.metric span{display:block;color:var(--text-soft);font-size:12px;margin-bottom:6px}.metric strong{font-size:26px}.download-row{display:flex;gap:10px;margin-top:16px}.download-row a{flex:1}.log-list{display:grid;gap:8px;max-height:360px;overflow:auto}.log-line{grid-template-columns:86px 64px 1fr;font-size:14px}.log-line time{color:var(--text-soft)}.log-line.error{border-color:#ff806880}@media(max-width:840px){.topbar,.workspace,.status-grid{grid-template-columns:1fr;display:grid;align-items:stretch}h1{font-size:40px}.log-line{grid-template-columns:1fr}}.sunpath-shell{display:grid;grid-template-columns:286px minmax(360px,1fr) 292px;height:calc(100vh - 47px);min-height:680px;background:#bec3ba;color:#182017}.sunpath-sidebar,.sunpath-data{overflow:auto;border-color:#8c9487;background:#d4d8cf}.sunpath-sidebar{border-right:1px solid #8c9487}.sunpath-data{border-left:1px solid #8c9487}.sidebar-title{display:flex;align-items:center;gap:8px;height:44px;padding:0 14px;background:#2d342c;color:#f3f5ee;font-weight:850}.control-section,.data-section{border-bottom:1px solid #9ca497;padding:14px}.control-section h2,.data-section h2{margin-bottom:12px;color:#222a20;font-size:13px;font-weight:850;text-transform:uppercase}.field-row,.check-row,.data-row{display:grid;align-items:center;gap:8px;margin-bottom:9px;font-size:13px}.field-row{grid-template-columns:84px 1fr}.field-row span,.data-row span,.model-name{color:#566150}.field-row input,.sunpath-sidebar input[type=date],.sunpath-sidebar input[type=time]{width:100%;min-height:30px;border:1px solid #8f9988;background:#eef1e9;color:#151a12;padding:4px 8px}.check-row{grid-template-columns:18px 1fr}.file-button,.wide-button,.date-buttons button,.projection-strip button{min-height:32px;border:1px solid #87917f;background:#eef1e9;color:#1a2118;font-size:13px}.file-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-bottom:10px;font-weight:800;cursor:pointer}.file-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.wide-button{width:100%;margin-bottom:8px}.wide-button.secondary{background:#dfe4da}.date-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.sunpath-stage{position:relative;min-width:0;overflow:hidden;background:#c4c8bf}.sunpath-canvas canvas{display:block;width:100%;height:100%;touch-action:none;-webkit-user-select:none;user-select:none}.sunpath-hud{position:absolute;top:12px;left:12px;right:12px;z-index:2;display:flex;gap:8px;flex-wrap:wrap;pointer-events:none}.metric-pill{display:inline-flex;align-items:center;gap:7px;min-height:34px;border:1px solid rgba(79,88,75,.55);background:#eef1e9e0;color:#485244;padding:0 10px;font-size:12px}.metric-pill strong{color:#171d15}.projection-strip{position:absolute;left:14px;right:14px;bottom:14px;z-index:2;display:flex;gap:8px;flex-wrap:wrap}.projection-strip button{background:#eef1e9eb;flex:1 1 132px;min-width:0}.projection-strip button.active{border-color:#2d342c;background:#2d342c;color:#f3f5ee}.data-row{grid-template-columns:1fr auto;border-bottom:1px solid #adb5a8;padding-bottom:8px}.data-row strong{font-variant-numeric:tabular-nums}.day-chart{display:block;width:100%;height:126px;border:1px solid #a2aa9c;background:#edf0e8}.day-chart path{fill:none;stroke:#d18800;stroke-width:3}.day-chart line{stroke:#b6bdb0}.day-chart circle{fill:#222a20}@media(max-width:1080px){.sunpath-shell{grid-template-columns:260px minmax(0,1fr);height:auto}.sunpath-stage{min-height:620px}.sunpath-data{grid-column:1 / -1;border-left:0;border-top:1px solid #8c9487}}@media(max-width:760px){.sunpath-shell{grid-template-columns:1fr}.sunpath-stage{order:1}.sunpath-sidebar{order:2}.sunpath-data{order:3}.sunpath-stage{min-height:520px}.sunpath-sidebar,.sunpath-data{border-left:0;border-right:0}.app-tabs button{flex:1;padding:0 6px;gap:5px;font-size:12px;white-space:normal}.metric-pill{flex:1 1 108px;min-width:0;font-size:11px}.metric-pill span{display:none}.sunpath-hud,.projection-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.projection-strip button{width:100%;min-height:38px;font-size:12px;white-space:normal}.date-buttons{grid-template-columns:1fr}.field-row{grid-template-columns:84px minmax(0,1fr)}}.sunpath-workbench{display:grid;grid-template-rows:28px minmax(0,1fr);height:calc(100vh - 47px);min-height:720px;background:#d6dcd7;color:#252c29}.sunpath-toolbar{display:flex;align-items:center;gap:3px;min-width:0;border-bottom:1px solid #aeb7b1;background:linear-gradient(#f4f6f3,#d9dfdb);color:#4c5550;padding:0 6px;font-size:11px;box-shadow:0 1px #fffc inset}.toolbar-brand{padding-right:4px;font-weight:850;color:#4f5654}.sunpath-tool-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:26px;height:22px;min-height:22px;border:1px solid #a9b1ad;background:#f9fbf7;color:#4a5350;padding:0;cursor:pointer}.sunpath-tool-button.active{border-color:#89958f;background:#e1e8e2;color:#1c2921}.toolbar-separator{width:1px;height:18px;margin:0 4px;background:#aab3af}.toolbar-date,.toolbar-time{display:inline-flex;align-items:center;gap:4px;height:22px;border:1px solid #a9b1ad;background:#f9fbf7;padding:0 5px}.toolbar-date input,.toolbar-time input{width:110px;min-height:0;border:0;background:transparent;color:#29312e;font-size:11px;padding:0}.toolbar-time input{width:62px}.sunpath-layout{display:grid;grid-template-columns:minmax(380px,37vw) minmax(0,1fr);min-height:0}.sunpath-left-rail{display:grid;grid-template-rows:minmax(260px,52%) minmax(230px,48%);min-height:0;border-right:2px solid #e2e8ec;background:#b9c6c3}.map-panel,.sun-chart-panel{position:relative;min-height:0;overflow:hidden}.map-panel{border-bottom:2px solid #e2e8ec;background:#365b67}.panel-ribbon,.chart-toolbar{position:absolute;z-index:3;left:0;right:0;top:0;height:26px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 8px;background:#ebf1eed1;color:#4c5652;font-size:11px;font-weight:800}.panel-ribbon strong,.chart-toolbar span{font-variant-numeric:tabular-nums;font-weight:750}.world-map{position:absolute;top:0;right:0;bottom:0;left:0;cursor:crosshair;overflow:hidden;background:linear-gradient(rgba(255,255,255,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px),radial-gradient(circle at 55% 45%,rgba(156,208,221,.28),transparent 36%),linear-gradient(180deg,#6e9eb0,#193844 60%,#0d2431);background-size:90px 70px,90px 70px,auto,auto}.map-continent{position:absolute;background:linear-gradient(135deg,#7d8b60,#476533 65%,#2d4d2f);filter:drop-shadow(0 2px 1px rgba(0,0,0,.28));opacity:.92}.continent-a{left:5%;top:19%;width:24%;height:28%;border-radius:55% 28% 50% 32%;transform:rotate(-13deg)}.continent-b{left:31%;top:9%;width:35%;height:36%;border-radius:34% 56% 28% 42%;transform:rotate(5deg)}.continent-c{left:40%;top:47%;width:15%;height:30%;border-radius:45% 34% 54%;transform:rotate(13deg)}.continent-d{left:72%;top:34%;width:18%;height:24%;border-radius:44% 28% 48% 36%;transform:rotate(-16deg)}.map-equator,.map-meridian{position:absolute;background:#ffffff38}.map-equator{left:0;right:0;top:50%;height:1px}.map-meridian{top:0;bottom:0;left:50%;width:1px}.map-marker{position:absolute;z-index:2;color:#6aa7ff;transform:translate(-50%,-100%);filter:drop-shadow(0 2px 3px rgba(0,0,0,.45))}.map-scale{position:absolute;top:32px;right:16px;color:#ffffffb8;font-size:10px;font-weight:800}.sun-chart-panel{background:#091424}.daylength-chart{position:absolute;top:26px;right:0;bottom:28px;left:0;width:100%;height:calc(100% - 54px);display:block}.daylength-chart rect{fill:#091424}.daylength-chart .night-band{fill:#122d54db}.daylength-chart .day-band{fill:#a9c5f4db}.daylength-chart .day-curve{fill:none;stroke:#bcd5ff;stroke-width:4}.daylength-chart .chart-midline{stroke:#ffffff38}.daylength-chart .chart-cursor{stroke:#fb5c4d;stroke-width:1;stroke-dasharray:4 4}.daylength-chart .chart-point{fill:#fb5c4d}.daylength-chart text{fill:#fb5c4d;font-size:12px;font-weight:800}.time-scrubber{position:absolute;left:10px;right:10px;bottom:6px;width:calc(100% - 20px)}.floating-panel-toggle{position:absolute;z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 12px 28px #1a252124}.floating-panel-toggle.left{top:90px;left:12px}.floating-panel-toggle.right{top:12px;right:12px}.sunpath-hud{position:absolute;left:12px;bottom:12px;top:auto;right:auto;z-index:3;display:flex;gap:7px;flex-wrap:wrap;max-width:calc(100% - 350px);pointer-events:none}.metric-pill{display:inline-flex;align-items:center;gap:7px;min-height:29px;border:1px solid rgba(90,101,112,.44);background:#edf2efbd;color:#4f5a55;padding:0 9px;font-size:11px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.metric-pill strong{color:#1e2823;font-variant-numeric:tabular-nums}.sunpath-inspector{position:absolute;z-index:4;top:10px;right:10px;width:min(318px,calc(100% - 20px));max-height:calc(100% - 20px);overflow:auto;border:1px solid rgba(164,176,185,.66);background:#dee5e8c7;color:#333c3a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 12px 30px #1f2d3c1f}.inspector-panel{border-bottom:1px solid rgba(151,164,170,.68)}.inspector-panel h2{min-height:25px;display:flex;align-items:center;margin:0;padding:0 8px;background:#c6d0d6b8;color:#687477;font-size:11px;font-weight:850}.field-row,.check-row,.data-row{display:grid;align-items:center;gap:8px;margin:0;font-size:12px}.compact-field{grid-template-columns:86px 1fr;padding:5px 8px}.compact-field span,.data-row span,.compact-check{color:#65716f}.compact-field input{width:100%;min-height:25px;border:1px solid #aab6b8;background:#f7faf7d1;color:#202826;padding:2px 6px;font-size:12px;font-variant-numeric:tabular-nums;text-align:right}.data-row{grid-template-columns:1fr auto;min-height:27px;padding:4px 8px;border-top:1px solid rgba(176,188,191,.45);border-bottom:0}.data-row strong{color:#283230;font-variant-numeric:tabular-nums}.compact-check{grid-template-columns:18px 1fr;min-height:28px;padding:0 8px}.preset-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:8px}.preset-buttons button,.transform-reset{min-height:28px;border:1px solid #a8b4b6;background:#f6f9f7c7;color:#26302e;padding:0 8px;font-size:11px;font-weight:850}.loaded-model-name{display:flex;align-items:center;gap:7px;min-height:30px;padding:0 8px;border-bottom:1px solid rgba(176,188,191,.45);color:#313b38;font-size:12px}.transform-block{padding:7px 8px 4px;border-bottom:1px solid rgba(176,188,191,.45)}.transform-heading{display:flex;align-items:center;gap:6px;margin-bottom:5px;color:#4a5653;font-size:11px;font-weight:850}.transform-row{display:grid;grid-template-columns:16px minmax(0,1fr) 32px;align-items:center;gap:5px;min-height:27px;color:#5d6865;font-size:12px}.transform-row input{width:100%;min-width:0;height:24px;border:1px solid #8f9b9e;background:#535654b8;color:#f3f4f1;padding:0 7px;text-align:right;font-variant-numeric:tabular-nums}.transform-row em{color:#6c7774;font-style:normal;font-size:11px}.transform-row svg{color:#6b7472}.transform-reset{width:calc(100% - 16px);margin:8px}@media(max-width:1180px){.sunpath-layout{grid-template-columns:330px minmax(0,1fr)}.sunpath-inspector{width:292px}.sunpath-hud{max-width:calc(100% - 320px)}}@media(max-width:880px){.sunpath-workbench{height:auto}.sunpath-layout{grid-template-columns:1fr}.sunpath-left-rail{grid-template-rows:300px 260px;border-right:0;border-bottom:2px solid #e2e8ec}.sunpath-stage{min-height:680px}.sunpath-inspector{width:min(318px,calc(100% - 20px))}.sunpath-hud{max-width:calc(100% - 24px);bottom:auto;top:12px}}.sunpath-workbench{display:grid;grid-template-rows:42px minmax(0,1fr);height:calc(100vh - 47px);min-height:760px;background:#dfe4de;color:#202823;overflow:hidden}.sunpath-toolbar{display:flex;align-items:center;gap:5px;min-width:0;border-bottom:1px solid #a9b3ad;background:#eef1ed;color:#3f4a45;padding:0 8px;font-size:11px;box-shadow:0 1px #ffffffbf inset}.toolbar-brand{display:inline-flex;align-items:center;height:28px;padding:0 8px 0 2px;border-right:1px solid #b7c0ba;font-weight:850;color:#3d4843}.analysis-mode-switch{display:inline-flex;align-items:center;gap:3px;min-width:0;margin-right:4px}.analysis-mode-switch button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:28px;border:1px solid #a4aea8;border-radius:4px;background:#fbfcf9;color:#3c4742;padding:0 9px;font-size:11px;font-weight:850;white-space:nowrap}.analysis-mode-switch button.active{border-color:#5f7569;background:#25312c;color:#f7faf5}.toolbar-project{display:flex;align-items:baseline;gap:10px;min-width:0;margin-right:auto;color:#5a655f}.toolbar-project strong,.toolbar-project span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar-project strong{color:#202a24;font-size:12px;font-weight:850}.sunpath-tool-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;min-width:28px;min-height:28px;border:1px solid #a4aea8;border-radius:4px;background:#fbfcf9;color:#3c4742;padding:0;cursor:pointer}.sunpath-tool-button:hover{border-color:#77877e;background:#f4f7f1}.sunpath-tool-button.active{border-color:#5f7569;background:#dfe9dd;color:#1f3b2d}.sunpath-tool-button.file-tool input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.toolbar-separator{width:1px;height:24px;margin:0 4px;background:#b4bdb7}.toolbar-date,.toolbar-time{display:inline-flex;align-items:center;gap:5px;height:28px;border:1px solid #a4aea8;border-radius:4px;background:#fbfcf9;padding:0 6px;color:#4c5751}.toolbar-date input,.toolbar-time input{min-height:0;border:0;background:transparent;color:#1f2924;padding:0;font-size:11px;font-variant-numeric:tabular-nums}.toolbar-date input{width:112px}.toolbar-time input{width:66px}.sunpath-layout.ux-layout{display:grid;grid-template-columns:336px minmax(0,1fr);min-height:0}.sunpath-layout.ux-layout.setup-collapsed{grid-template-columns:minmax(0,1fr)}.sunpath-left-rail.ux-setup{display:block;min-height:0;overflow:auto;border-right:1px solid #aeb8b1;background:#f2f4ef;padding:10px}.panel-hide-button,.floating-panel-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:30px;border:1px solid #a7b3ab;border-radius:5px;background:#f7faf5;color:#2f3c35;padding:0 10px;font-size:11px;font-weight:850;cursor:pointer}.panel-hide-button:hover,.floating-panel-toggle:hover{border-color:#667b70;background:#eef5ea}.setup-hide-button{width:100%;margin-bottom:8px}.setup-hide-button+.setup-section.project-brief{margin-top:0}.setup-section{padding:12px 0;border-bottom:1px solid #ccd4cd}.setup-section:last-child{border-bottom:0}.setup-section.project-brief{margin:-10px -10px 0;padding:16px 14px 14px;border-bottom:1px solid #18231e;background:#25312c;color:#eaf0e9}.setup-kicker{margin-bottom:6px;color:#9bb8a6;font-size:11px;font-weight:850;text-transform:uppercase}.project-brief h1{margin:0;color:#fff;font-size:22px;font-weight:850;line-height:1.08}.project-brief p{margin:8px 0 0;color:#cbd8cf;font-size:12px;line-height:1.35}.brief-facts{display:grid;gap:5px;margin-top:12px}.brief-facts span{display:inline-flex;align-items:center;gap:6px;min-width:0;color:#d6ded7;font-size:11px}.setup-primary{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:34px;margin-top:14px;border:1px solid #81a48e;border-radius:5px;background:#dfe9dd;color:#183125;padding:0 10px;font-size:12px;font-weight:850;cursor:pointer}.setup-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.setup-section-title strong{color:#26302b;font-size:12px;font-weight:850;text-transform:uppercase}.field-row,.setup-date-grid label{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:8px;min-height:34px;margin:0;color:#59675f;font-size:12px}.field-row input,.setup-date-grid input{width:100%;min-width:0;min-height:28px;border:1px solid #a8b4ad;border-radius:4px;background:#fbfcf9;color:#1f2924;padding:0 8px;font-size:12px;font-variant-numeric:tabular-nums;text-align:right}.scrub-number-input{cursor:ew-resize;-webkit-user-select:none;user-select:none}.scrub-number-input:focus{cursor:text;outline:2px solid rgba(84,114,99,.28);outline-offset:1px;-webkit-user-select:text;user-select:text}.scrub-number-input.scrubbing{cursor:ew-resize;background:#e9f1e6}.setup-note{margin-top:8px;color:#6e7c74;font-size:11px;line-height:1.35}.setup-note.warning{color:#9b5a24}.context-actions{display:grid;grid-template-columns:1fr;gap:6px;margin-bottom:8px}.context-actions button,.map-mode-grid button,.shape-tool-grid button,.manual-buildings-heading button,.manual-building-select,.manual-building-delete,.urban-north-control button,.urban-editor-buttons button,.urban-editor-footer button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:30px;border:1px solid #a8b4ad;border-radius:4px;background:#fbfcf9;color:#25302a;padding:0 8px;font-size:11px;font-weight:850;cursor:pointer}.context-actions button:hover,.map-mode-grid button:hover,.shape-tool-grid button:hover,.manual-buildings-heading button:hover,.manual-building-select:hover,.manual-building-delete:hover,.urban-north-control button:hover,.urban-editor-buttons button:hover,.urban-editor-footer button:hover{border-color:#778a80;background:#edf3ea}.context-actions button.active{border-color:#547263;background:#dfe9dd;color:#173428}.context-actions button:disabled,.map-mode-grid button:disabled,.shape-tool-grid button:disabled,.manual-buildings-heading button:disabled,.manual-building-select:disabled,.manual-building-delete:disabled,.urban-north-control button:disabled,.urban-editor-buttons button:disabled,.urban-editor-footer button:disabled{cursor:not-allowed;opacity:.45}.shape-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:8px}.camera-control-panel{display:grid;gap:8px}.camera-mouse-guide{display:grid;gap:6px}.camera-mouse-guide span{display:flex;align-items:center;gap:7px;min-height:28px;border:1px solid #c2ccc5;border-radius:4px;background:#fbfcf9b8;color:#47564e;padding:0 8px;font-size:11px;font-weight:760}.shape-tool-grid button.active{border-color:#547263;background:#dfe9dd;color:#173428}.map-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:8px}.map-mode-grid button.active{border-color:#547263;background:#dfe9dd;color:#173428}.context-toggles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:8px}.wind-setup{display:grid;gap:8px}.weather-source-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.weather-source-switch button,.automatic-weather-card button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:30px;border:1px solid #a8b4ad;border-radius:4px;background:#fbfcf9;color:#25302a;padding:0 8px;font-size:11px;font-weight:850}.weather-source-switch button.active{border-color:#547263;background:#dfe9dd;color:#173428}.automatic-weather-card{display:grid;grid-template-columns:minmax(0,1fr) 78px;gap:8px;align-items:stretch;border:1px solid #c6d0c8;border-radius:6px;background:#fbfcf9;padding:8px}.automatic-weather-card div{display:grid;gap:3px;min-width:0}.automatic-weather-card span{color:#68766e;font-size:10px;font-weight:850;text-transform:uppercase}.automatic-weather-card strong,.automatic-weather-card em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automatic-weather-card strong{color:#202b25;font-size:12px}.automatic-weather-card em{color:#68766e;font-size:11px;font-style:normal}.automatic-weather-card button:disabled{cursor:not-allowed;opacity:.45}.wind-file-dropzone{min-height:58px}.wind-source-field{display:grid;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:7px;color:#58665e;font-size:11px;font-weight:850}.wind-source-field input{width:100%;min-width:0;min-height:30px;border:1px solid #a8b4ad;border-radius:4px;background:#fff;color:#1f2924;padding:0 8px;font-size:12px}.wind-status-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.wind-status-card div{display:grid;gap:3px;min-width:0;border:1px solid #c6d0c8;border-radius:5px;background:#fbfcf9;padding:8px}.wind-status-card span{color:#68766e;font-size:10px;font-weight:850;text-transform:uppercase}.wind-status-card strong{min-width:0;overflow:hidden;color:#202b25;font-size:13px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.wind-toggles{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:0}.wind-downloads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.wind-downloads a{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;border:1px solid #a8b4ad;border-radius:4px;background:#fbfcf9;color:#25302a;padding:0 8px;font-size:11px;font-weight:850;text-decoration:none}.wind-downloads a.disabled{cursor:not-allowed;opacity:.45;pointer-events:none}.wind-log-list{display:grid;gap:5px;padding:10px;border-top:1px solid rgba(184,195,188,.72)}.wind-log-row{display:grid;grid-template-columns:58px minmax(0,1fr);gap:7px;align-items:start;min-width:0;border:1px solid #ccd5ce;border-radius:4px;background:#fbfcf9c7;padding:6px;color:#42504a;font-size:11px}.wind-log-row time{color:#6d7a72;font-variant-numeric:tabular-nums}.wind-log-row span{min-width:0;overflow-wrap:anywhere;line-height:1.3}.wind-log-row.error{border-color:#d28f77;background:#fff1eb}.context-toggles.single{grid-template-columns:1fr}.context-toggles label{display:inline-flex;align-items:center;gap:7px;min-height:28px;border:1px solid #ccd5ce;border-radius:4px;background:#fbfcf9;color:#44524a;padding:0 8px;font-size:11px;font-weight:750}.urban-editor{border:1px solid #c6d0c8;border-radius:6px;background:#fbfcf9;overflow:hidden}.urban-plan{display:block;width:100%;aspect-ratio:1;max-height:270px;background:#e8ece6;cursor:default}.urban-plan.drawing{cursor:crosshair}.urban-plan rect{fill:#e8ece6}.urban-radius{fill:#e0e7ddc2;stroke:#e3a244;stroke-width:2}.urban-axis{stroke:#63726952;stroke-width:.8}.urban-north-line{stroke:#26362f;stroke-width:2;stroke-dasharray:7 5;vector-effect:non-scaling-stroke}.urban-north-tip{fill:#26362f;stroke:#f6faf4;stroke-width:1.5;vector-effect:non-scaling-stroke}.urban-plan text{fill:#5f6d66;font-size:16px;font-weight:850;text-anchor:middle}.urban-footprint{stroke-width:1.4;vector-effect:non-scaling-stroke;cursor:pointer}.urban-footprint.osm{fill:#848e847a;stroke:#4d5a52a3}.urban-footprint.manual{fill:#467c5d94;stroke:#254e39}.urban-footprint.study-model{fill:#c5ff4a3d;stroke:#c5ff4a;stroke-width:2.6;pointer-events:none}.urban-footprint.selected{fill:#f2b84bb8;stroke:#f15d43;stroke-width:3}.urban-shape-preview{fill:#f15d4338;stroke:#f15d43;stroke-width:2.4;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.selected-building-editor{display:grid;gap:8px;margin-top:8px;border:1px solid #d8b56a;border-radius:6px;background:#fff8e7;padding:8px}.selected-building-title{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:7px;color:#584432;font-size:11px}.selected-building-title span,.selected-building-title strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-building-title strong{color:#2b241f;font-weight:850}.selected-building-editor label{display:grid;grid-template-columns:48px minmax(0,1fr) 20px;align-items:center;gap:6px;color:#5d4b38;font-size:11px;font-weight:850}.selected-building-editor input{width:100%;min-width:0;min-height:30px;border:1px solid #c39a4c;border-radius:4px;background:#fff;color:#211d18;padding:0 8px;text-align:right;font-size:12px;font-variant-numeric:tabular-nums}.selected-building-editor em{color:#745d3d;font-style:normal}.manual-transform-editor{display:grid;gap:7px;border-top:1px solid rgba(195,154,76,.48);padding-top:8px}.manual-transform-heading{display:inline-flex;align-items:center;gap:6px;color:#584432;font-size:11px;font-weight:850;text-transform:uppercase}.manual-transform-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.selected-building-editor .manual-transform-grid label{grid-template-columns:30px minmax(0,1fr) 26px}.selected-building-editor .manual-transform-grid label:nth-child(3),.selected-building-editor .manual-transform-grid label:nth-child(4){grid-template-columns:34px minmax(0,1fr) 30px}.manual-buildings-panel{display:grid;gap:7px;margin-top:8px;border:1px solid #c6d0c8;border-radius:6px;background:#fbfcf9;padding:8px}.manual-buildings-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;color:#3f5147;font-size:11px;font-weight:850;text-transform:uppercase}.manual-buildings-heading button{min-height:26px;padding:0 7px}.manual-buildings-panel p{margin:0;color:#6e7c74;font-size:11px;line-height:1.35}.manual-buildings-list{display:grid;gap:6px}.manual-building-row{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:6px;align-items:center;border:1px solid #d7dfd8;border-radius:5px;background:#f7faf5;padding:5px}.manual-building-row.selected{border-color:#d05b35;background:#fff4dc}.manual-building-select{justify-content:flex-start}.manual-building-select span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manual-building-delete{padding:0}.urban-draft-line{fill:none;stroke:#f15d43;stroke-width:2;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.urban-draft-point{fill:#f15d43;stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke}.urban-origin{fill:#f3a421;stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke}.urban-north-control{display:grid;gap:7px;padding:8px;border-top:1px solid #c6d0c8;background:#f4f7f1}.urban-north-title{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:6px;color:#4d5c54;font-size:11px;font-weight:850}.urban-north-title strong{color:#1f3028;font-size:12px;font-variant-numeric:tabular-nums}.urban-north-inputs{display:grid;grid-template-columns:32px minmax(0,1fr) 32px 58px 32px;gap:6px;align-items:center}.urban-north-inputs input[type=range]{min-width:0;accent-color:#547263}.urban-north-inputs .scrub-number-input{width:100%;min-width:0;min-height:30px;border:1px solid #a8b4ad;border-radius:4px;background:#fff;color:#1f2924;padding:0 6px;text-align:right;font-size:12px;font-variant-numeric:tabular-nums}.urban-editor-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px;border-top:1px solid #c6d0c8}.urban-editor-controls label{display:grid;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;gap:6px;min-width:0;color:#58665e;font-size:11px;font-weight:750}.urban-editor-controls input{width:100%;min-width:0;min-height:28px;border:1px solid #a8b4ad;border-radius:4px;background:#fff;color:#1f2924;padding:0 7px;text-align:right;font-size:12px;font-variant-numeric:tabular-nums}.urban-editor-controls em{color:#6e7c74;font-style:normal}.urban-editor-buttons{display:grid;grid-template-columns:minmax(68px,1fr) 32px 32px;gap:5px}.urban-editor-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:0 8px 8px;color:#68766e;font-size:11px}.urban-editor-footer span{min-width:0;line-height:1.25}.model-dropzone{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr);grid-template-rows:auto auto;column-gap:9px;row-gap:2px;align-items:center;min-height:62px;border:1px dashed #899a90;border-radius:6px;background:#fbfcf9;color:#303c35;padding:10px;cursor:pointer}.model-dropzone svg{grid-row:1 / span 2;color:#547263}.model-dropzone strong,.model-dropzone span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-dropzone strong{font-size:12px;font-weight:850}.model-dropzone span{color:#68766e;font-size:11px}.model-dropzone input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.validation-list{display:grid;gap:6px;margin-top:10px}.validation-item{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:30px;border:1px solid #ccd5ce;border-radius:5px;background:#fbfcf9;padding:0 8px;color:#3c4842;font-size:11px}.validation-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.validation-item strong{color:#1f2924;font-variant-numeric:tabular-nums}.validation-item.ok svg{color:#3d7d52}.validation-item.warn{border-color:#d9b66f;background:#fff8e7}.validation-item.warn svg{color:#a36d1f}.date-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:10px}.date-buttons button,.quick-actions button,.transform-reset{min-height:30px;border:1px solid #a8b4ad;border-radius:4px;background:#fbfcf9;color:#25302a;padding:0 8px;font-size:11px;font-weight:850;cursor:pointer}.date-buttons button:hover,.quick-actions button:hover,.transform-reset:hover,.setup-primary:hover{border-color:#778a80;background:#edf3ea}.setup-date-grid{display:grid;gap:6px}.sunpath-stage{position:relative;min-width:0;min-height:0;overflow:hidden;background:#b9cff7}.sunpath-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.sunpath-canvas.drawing-on-map canvas{cursor:crosshair}.sunpath-canvas canvas{display:block;width:100%;height:100%}.stage-view-mode,.stage-drawing-hint{position:absolute;z-index:3;left:12px;display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(84,98,108,.42);border-radius:5px;background:#f4f7f3d6;color:#394740;padding:7px 9px;font-size:11px;font-weight:850;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none}.stage-view-mode{top:52px}.stage-view-mode strong{color:#1e2924;font-variant-numeric:tabular-nums}.stage-drawing-hint{top:90px;max-width:min(420px,calc(100% - 380px));line-height:1.3;font-weight:750}.sunpath-hud{position:absolute;z-index:3;top:12px;left:12px;right:auto;bottom:auto;display:flex;flex-wrap:wrap;gap:7px;max-width:calc(100% - 380px);pointer-events:none}.metric-pill{display:inline-flex;align-items:center;gap:7px;min-height:30px;border:1px solid rgba(84,98,108,.42);border-radius:5px;background:#f4f7f3d1;color:#515f58;padding:0 9px;font-size:11px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.metric-pill strong{color:#1e2924;font-variant-numeric:tabular-nums}.sunpath-inspector.ux-inspector{position:absolute;z-index:4;top:12px;right:12px;bottom:112px;width:340px;max-height:none;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(129,143,137,.76);border-radius:6px;background:#edf1ecdb;color:#303b35;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 18px 45px #1a252129}.inspector-hide-button{width:calc(100% - 20px);margin:10px 10px 0;flex:0 0 auto}.inspector-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-bottom:1px solid #b9c4bc;background:#dfe6dd}.inspector-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:34px;border:0;border-right:1px solid #b9c4bc;background:transparent;color:#516159;padding:0 6px;font-size:11px;font-weight:850;cursor:pointer}.inspector-tabs button:last-child{border-right:0}.inspector-tabs button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspector-tabs button.active{background:#f5f7f2;color:#1d2d24}.ux-inspector .inspector-panel{display:block;flex:1;min-height:0;overflow:auto;border:0}.ux-inspector .inspector-panel h2{display:flex;align-items:center;min-height:32px;margin:0;border-bottom:1px solid #c3ccc5;background:#f8faf69e;color:#627169;padding:0 10px;font-size:11px;font-weight:850}.data-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:34px;margin:0;border-top:1px solid rgba(184,195,188,.72);padding:0 10px;color:#64726a;font-size:12px}.data-row strong{color:#202b25;font-variant-numeric:tabular-nums;text-align:right}.check-row.compact-check{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;min-height:32px;margin:0;border-top:1px solid rgba(184,195,188,.72);padding:0 10px;color:#4d5b54;font-size:12px}.loaded-model-name{display:flex;align-items:center;gap:7px;min-height:36px;padding:0 10px;border-bottom:1px solid rgba(184,195,188,.72);color:#303c35;font-size:12px}.loaded-model-name span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:10px;border-bottom:1px solid rgba(184,195,188,.72)}.quick-actions.single-row{grid-template-columns:1fr}.quick-actions button{width:100%;white-space:normal}.quick-actions button:disabled,.setup-primary:disabled{cursor:not-allowed;opacity:.45}.transform-block{padding:10px;border-bottom:1px solid rgba(184,195,188,.72)}.transform-heading{display:flex;align-items:center;gap:7px;margin-bottom:7px;color:#42524a;font-size:11px;font-weight:850;text-transform:uppercase}.transform-row{display:grid;grid-template-columns:18px minmax(0,1fr) 34px;align-items:center;gap:6px;min-height:32px;color:#5b6961;font-size:12px}.transform-row input{width:100%;min-width:0;height:28px;border:1px solid #9eaba4;border-radius:4px;background:#4a514d;color:#f4f6f2;padding:0 8px;text-align:right;font-size:12px;font-variant-numeric:tabular-nums}.transform-row em{color:#67766e;font-style:normal;font-size:11px}.transform-reset{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:calc(100% - 20px);margin:10px}.sunpath-timeline{position:absolute;z-index:4;left:12px;right:364px;bottom:12px;min-height:90px;border:1px solid rgba(124,139,132,.74);border-radius:6px;background:#ebf0ebdb;padding:9px 10px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 14px 34px #1a252121}.wind-legend-panel{position:absolute;z-index:4;left:12px;right:364px;bottom:12px;min-height:96px;border:1px solid rgba(124,139,132,.74);border-radius:6px;background:#ebf0ebe0;padding:10px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 14px 34px #1a252121}.wind-legend-header,.wind-legend-meta,.wind-legend-scale{display:flex;align-items:center;gap:10px;min-width:0;color:#5f6d66;font-size:11px}.wind-legend-header{margin-bottom:8px}.wind-legend-header strong{color:#1e2b25;font-size:14px}.wind-legend-header span,.wind-legend-meta span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wind-gradient{height:16px;border:1px solid rgba(72,85,78,.38);border-radius:4px;background:linear-gradient(90deg,#1a3eae,#00b4ee 18%,#1ce075 38%,#edeb30,#ff9700 74%,#ec3600 90%,#9c0000)}.wind-legend-scale{justify-content:space-between;margin-top:5px;font-variant-numeric:tabular-nums}.wind-legend-meta{justify-content:space-between;margin-top:8px}.timeline-meta{display:flex;align-items:center;gap:12px;min-width:0;margin-bottom:7px;color:#5f6d66;font-size:11px}.timeline-meta strong{color:#1e2b25;font-size:16px;font-variant-numeric:tabular-nums}.timeline-meta span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sunpath-timeline .time-scrubber{position:static;display:block;width:100%;margin:0 0 7px}.sunpath-timeline .daylength-chart{position:static;inset:auto;display:block;width:100%;height:48px}.sunpath-timeline .daylength-chart rect{fill:#101d30}.sunpath-timeline .daylength-chart .day-band{fill:#a4c4f4b8}.sunpath-timeline .daylength-chart .day-curve{fill:none;stroke:#e7f0ff;stroke-width:2}.sunpath-timeline .daylength-chart .chart-cursor{stroke:#f15d43;stroke-width:1;stroke-dasharray:4 4}.sunpath-timeline .daylength-chart .chart-point{fill:#f15d43}@media(max-width:1180px){.sunpath-layout.ux-layout{grid-template-columns:306px minmax(0,1fr)}.sunpath-inspector.ux-inspector{width:318px}.sunpath-timeline,.wind-legend-panel{right:342px}.sunpath-hud{max-width:calc(100% - 350px)}}@media(max-width:960px){.sunpath-workbench{height:auto;min-height:0;overflow:visible}.sunpath-toolbar{min-height:42px;height:auto;flex-wrap:wrap;padding:6px 8px}.toolbar-project{order:10;flex-basis:100%}.sunpath-layout.ux-layout{grid-template-columns:1fr}.sunpath-left-rail.ux-setup{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border-right:0;border-bottom:1px solid #aeb8b1}.setup-hide-button{grid-column:1 / -1;margin-bottom:0}.setup-section,.setup-section.project-brief{margin:0;border:1px solid #ccd4cd;border-radius:6px;padding:12px}.setup-section.project-brief{border-color:#18231e}.sunpath-stage{min-height:760px}}@media(max-width:760px){html,body{overflow-x:hidden}#root,.app-tabs{width:100%;max-width:100%;overflow-x:hidden}.app-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden}.app-tabs button{display:inline-flex;align-items:center;justify-content:center;width:auto;max-width:none;min-width:0;gap:6px;overflow:hidden;padding:0 6px;text-overflow:ellipsis;white-space:nowrap}.sunpath-workbench,.sunpath-layout.ux-layout,.sunpath-left-rail.ux-setup{width:100%;max-width:100%;min-width:0;overflow-x:hidden}.sunpath-toolbar{overflow-x:hidden}.sunpath-toolbar .toolbar-project,.sunpath-toolbar .toolbar-date,.sunpath-toolbar .toolbar-time,.sunpath-toolbar .toolbar-separator{display:none}.sunpath-left-rail.ux-setup{display:block}.project-brief p{overflow-wrap:anywhere}.field-row,.setup-date-grid label{grid-template-columns:88px minmax(0,1fr)}.toolbar-date input{width:104px}.sunpath-stage{min-height:820px}.sunpath-hud{top:10px;left:10px;max-width:calc(100% - 20px)}.sunpath-inspector.ux-inspector{top:94px;left:10px;right:10px;bottom:auto;width:auto;max-height:360px}.sunpath-timeline,.wind-legend-panel{left:10px;right:10px;bottom:10px}.timeline-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px}}.analysis-app-shell{--analysis-edge-gap: 14px;--analysis-bottom-bar-clearance: 154px;--menu-radius: 12px;--menu-radius-sm: 8px;--menu-radius-xs: 6px;--menu-gap: 6px;--menu-panel-padding: 8px;--menu-section-padding: 6px;--menu-control-height: 28px;--menu-row-height: 26px;--menu-font-size: 11px;--menu-label-size: 10px;--menu-title-size: 11px;--menu-panel-bg: rgba(18, 18, 20, .86);--menu-surface: rgba(24, 24, 27, .86);--menu-surface-muted: rgba(39, 39, 42, .58);--menu-control-bg: rgba(39, 39, 42, .76);--menu-control-hover: rgba(63, 63, 70, .88);--menu-title-bg: rgba(197, 255, 74, .07);--menu-title-hover-bg: rgba(197, 255, 74, .11);--menu-active-bg: rgba(197, 255, 74, .16);--menu-active-border: rgba(197, 255, 74, .48);--menu-active-text: #f8ffe8;--menu-border: rgba(63, 63, 70, .68);--menu-border-strong: rgba(113, 113, 122, .72);--menu-text: #f4f4f5;--menu-muted: #a1a1aa;--menu-shadow-xs: 0 1px 2px rgba(0, 0, 0, .08);--accent: #c5ff4a;--accent-2: #71d7c8;--danger: #f87171;--analysis-bg-glow-a: rgba(197, 255, 74, .1);--analysis-bg-glow-b: rgba(113, 215, 200, .11);--analysis-header-bg: rgba(9, 9, 11, .82);--analysis-workbench-bg: rgba(9, 9, 11, .92);--analysis-toolbar-bg: rgba(17, 17, 19, .9);--analysis-left-rail-bg: rgba(9, 9, 11, .58);--analysis-stage-bg: radial-gradient(circle at 50% 30%, rgba(113, 215, 200, .12), transparent 24rem), #0f172a;--analysis-control-hover-bg: rgba(63, 63, 70, .82);--analysis-control-hover-border: rgba(250, 250, 250, .22);--analysis-input-bg: rgba(9, 9, 11, .36);--analysis-tabs-bg: rgba(9, 9, 11, .44);--analysis-tab-bg: rgba(39, 39, 42, .72);--analysis-pill-bg: rgba(9, 9, 11, .62);--analysis-dropzone-bg: rgba(39, 39, 42, .52);--analysis-plan-bg: rgba(9, 9, 11, .34);--analysis-plan-fill: rgba(24, 24, 27, .9);--analysis-panel-shadow: 0 18px 50px rgba(0, 0, 0, .22);--analysis-minimap-border: rgba(244, 244, 245, .2);--analysis-minimap-shadow: 0 14px 40px rgba(0, 0, 0, .22);min-height:100vh;background:radial-gradient(circle at 18% 0%,var(--analysis-bg-glow-a),transparent 30rem),radial-gradient(circle at 88% 10%,var(--analysis-bg-glow-b),transparent 28rem),var(--sh-background);color:var(--sh-foreground)}.analysis-app-shell.theme-dark{color-scheme:dark}.analysis-app-shell.theme-light{color-scheme:light;--menu-panel-bg: rgba(255, 253, 247, .9);--menu-surface: rgba(255, 255, 255, .78);--menu-surface-muted: rgba(247, 242, 231, .78);--menu-control-bg: rgba(255, 255, 255, .82);--menu-control-hover: rgba(239, 234, 221, .96);--menu-title-bg: rgba(82, 122, 70, .055);--menu-title-hover-bg: rgba(82, 122, 70, .095);--menu-active-bg: rgba(82, 122, 70, .12);--menu-active-border: rgba(82, 122, 70, .42);--menu-active-text: #24342d;--menu-border: rgba(92, 84, 70, .2);--menu-border-strong: rgba(92, 84, 70, .34);--menu-text: #211e19;--menu-muted: #6f685d;--menu-shadow-xs: 0 1px 2px rgba(72, 61, 43, .08);--panel: #fffaf0;--panel-soft: #eee6d7;--line: rgba(82, 76, 66, .24);--text-soft: #706a60;--accent: #527a46;--accent-2: #0f766e;--danger: #dc2626;--sh-background: #f5f1e7;--sh-card: #fffdf7;--sh-card-elevated: #fffaf0;--sh-popover: rgba(255, 253, 247, .9);--sh-border: rgba(92, 84, 70, .22);--sh-input: rgba(255, 255, 255, .72);--sh-muted: #e9e1d2;--sh-muted-foreground: #6f685d;--sh-foreground: #211e19;--sh-primary: #24342d;--sh-primary-foreground: #fffaf0;--sh-ring: rgba(82, 122, 70, .4);--analysis-bg-glow-a: rgba(176, 150, 76, .18);--analysis-bg-glow-b: rgba(54, 139, 122, .16);--analysis-header-bg: rgba(255, 252, 245, .84);--analysis-workbench-bg: rgba(245, 241, 231, .94);--analysis-toolbar-bg: rgba(255, 252, 245, .9);--analysis-left-rail-bg: rgba(250, 247, 238, .78);--analysis-stage-bg: radial-gradient(circle at 50% 24%, rgba(93, 154, 131, .22), transparent 28rem), linear-gradient(180deg, #dfe9dc 0%, #ccd9c9 46%, #eff1e9 100%);--analysis-control-hover-bg: rgba(238, 232, 218, .92);--analysis-control-hover-border: rgba(82, 76, 66, .34);--analysis-input-bg: rgba(255, 255, 255, .64);--analysis-tabs-bg: rgba(245, 239, 226, .72);--analysis-tab-bg: rgba(255, 255, 255, .72);--analysis-pill-bg: rgba(255, 253, 247, .78);--analysis-dropzone-bg: rgba(255, 255, 255, .52);--analysis-plan-bg: rgba(255, 253, 247, .42);--analysis-plan-fill: rgba(255, 250, 240, .9);--analysis-panel-shadow: 0 18px 44px rgba(72, 61, 43, .14);--analysis-minimap-border: rgba(82, 76, 66, .24);--analysis-minimap-shadow: 0 18px 42px rgba(72, 61, 43, .18)}.analysis-app-header{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:72px;border-bottom:1px solid var(--sh-border);background:var(--analysis-header-bg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:0 18px}.analysis-brand-lockup,.analysis-header-actions,.analysis-header-actions>span,.analysis-theme-toggle{display:flex;align-items:center}.analysis-brand-lockup{gap:12px;min-width:0}.analysis-brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(197,255,74,.28);border-radius:12px;background:linear-gradient(135deg,#c5ff4a33,#71d7c81a);color:var(--accent);box-shadow:0 14px 40px #c5ff4a14}.analysis-brand-lockup strong,.analysis-brand-lockup span{display:block}.analysis-brand-lockup strong{color:var(--sh-foreground);font-size:15px;font-weight:760;letter-spacing:-.02em}.analysis-brand-lockup span{color:var(--sh-muted-foreground);font-size:12px}.analysis-header-actions{gap:8px;flex-wrap:wrap;justify-content:flex-end}.analysis-header-actions>span,.analysis-theme-toggle{gap:6px;min-height:32px;border:1px solid var(--sh-border);border-radius:999px;background:var(--sh-input);color:var(--sh-muted-foreground);font-size:12px;font-weight:650;padding:0 10px}.analysis-theme-toggle{cursor:pointer;font-family:inherit}.analysis-theme-toggle:hover{border-color:var(--analysis-control-hover-border);background:var(--analysis-control-hover-bg);color:var(--sh-foreground)}.analysis-header-actions .analysis-status-pill{border-color:#c5ff4a52;background:#c5ff4a1a;color:var(--accent)}.analysis-app-shell .sunpath-workbench{grid-template-rows:52px minmax(0,1fr);height:100vh;min-height:720px;background:var(--analysis-workbench-bg);color:var(--sh-foreground)}.analysis-app-shell .sunpath-toolbar{gap:8px;min-height:52px;overflow-x:auto;border-bottom:1px solid var(--sh-border);background:var(--analysis-toolbar-bg);color:var(--sh-muted-foreground);padding:8px 12px;box-shadow:none;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.analysis-app-shell .toolbar-brand{height:34px;border:1px solid var(--sh-border);border-radius:10px;background:var(--sh-card-elevated);color:var(--sh-foreground);padding:0 12px}.analysis-app-shell .toolbar-project{align-items:center;color:var(--sh-muted-foreground)}.analysis-app-shell .toolbar-project strong{color:var(--sh-foreground)}.analysis-app-shell .analysis-mode-switch{gap:6px}.analysis-app-shell .analysis-mode-switch button,.analysis-app-shell .sunpath-tool-button,.analysis-app-shell .toolbar-date,.analysis-app-shell .toolbar-time,.analysis-app-shell .panel-hide-button,.analysis-app-shell .floating-panel-toggle,.analysis-app-shell .context-actions button,.analysis-app-shell .map-mode-grid button,.analysis-app-shell .shape-tool-grid button,.analysis-app-shell .weather-source-switch button,.analysis-app-shell .automatic-weather-card button,.analysis-app-shell .wind-downloads a,.analysis-app-shell .quick-actions button,.analysis-app-shell .setup-primary,.analysis-app-shell .date-buttons button,.analysis-app-shell .projection-strip button,.analysis-app-shell .transform-reset,.analysis-app-shell .manual-buildings-heading button,.analysis-app-shell .manual-building-select,.analysis-app-shell .manual-building-delete,.analysis-app-shell .urban-north-control button,.analysis-app-shell .urban-editor-buttons button,.analysis-app-shell .urban-editor-footer button{border:1px solid var(--sh-border);border-radius:10px;background:var(--sh-input);color:var(--sh-foreground);box-shadow:0 1px #ffffff0a inset;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.analysis-app-shell .analysis-mode-switch button{min-height:34px;padding:0 12px;font-size:12px}.analysis-app-shell .sunpath-tool-button{width:34px;height:34px;min-width:34px;min-height:34px}.analysis-app-shell .analysis-mode-switch button:hover,.analysis-app-shell .sunpath-tool-button:hover,.analysis-app-shell .panel-hide-button:hover,.analysis-app-shell .floating-panel-toggle:hover,.analysis-app-shell .context-actions button:hover,.analysis-app-shell .map-mode-grid button:hover,.analysis-app-shell .shape-tool-grid button:hover,.analysis-app-shell .weather-source-switch button:hover,.analysis-app-shell .automatic-weather-card button:hover,.analysis-app-shell .quick-actions button:hover,.analysis-app-shell .setup-primary:hover,.analysis-app-shell .date-buttons button:hover,.analysis-app-shell .projection-strip button:hover,.analysis-app-shell .transform-reset:hover{border-color:var(--analysis-control-hover-border);background:var(--analysis-control-hover-bg)}.analysis-app-shell .analysis-mode-switch button.active,.analysis-app-shell .sunpath-tool-button.active,.analysis-app-shell .context-actions button.active,.analysis-app-shell .map-mode-grid button.active,.analysis-app-shell .shape-tool-grid button.active,.analysis-app-shell .weather-source-switch button.active,.analysis-app-shell .projection-strip button.active{border-color:#c5ff4a75;background:var(--sh-primary);color:var(--sh-primary-foreground)}.analysis-app-shell .toolbar-separator{background:var(--sh-border)}.analysis-app-shell .toolbar-date,.analysis-app-shell .toolbar-time{height:34px;color:var(--sh-muted-foreground);padding:0 10px}.analysis-app-shell input,.analysis-app-shell textarea,.analysis-app-shell select{accent-color:var(--accent)}.analysis-app-shell .toolbar-date input,.analysis-app-shell .toolbar-time input,.analysis-app-shell .field-row input,.analysis-app-shell .setup-date-grid input,.analysis-app-shell .compact-field input,.analysis-app-shell .wind-source-field input,.analysis-app-shell .transform-row input,.analysis-app-shell .selected-building-editor input{border:1px solid var(--sh-border);border-radius:10px;background:var(--analysis-input-bg);color:var(--sh-foreground);outline:none}.analysis-app-shell .toolbar-date input,.analysis-app-shell .toolbar-time input{border:0;background:transparent}.analysis-app-shell input:focus-visible,.analysis-app-shell button:focus-visible,.analysis-app-shell a:focus-visible{outline:2px solid var(--sh-ring);outline-offset:2px}.analysis-app-shell .sunpath-layout.ux-layout{position:relative;display:block;height:100%;overflow:hidden;background:var(--sh-background)}.analysis-app-shell .sunpath-layout.ux-layout.setup-collapsed{display:block}.analysis-app-shell .sunpath-layout.ux-layout.setup-collapsed .sunpath-stage{width:100%}.analysis-app-shell .sunpath-left-rail.ux-setup{position:absolute;z-index:6;top:var(--analysis-edge-gap);bottom:var(--analysis-bottom-bar-clearance);left:var(--analysis-edge-gap);width:min(360px,calc(100% - 28px));border-right:1px solid var(--sh-border);border:1px solid var(--sh-border);border-radius:var(--sh-radius);background:var(--analysis-left-rail-bg);padding:12px;box-shadow:var(--analysis-panel-shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);scrollbar-gutter:stable both-edges}.analysis-app-shell .sunpath-left-rail.ux-setup,.analysis-app-shell .sunpath-inspector,.analysis-app-shell .inspector-section-stack{scrollbar-gutter:stable both-edges;scrollbar-color:rgba(161,161,170,.46) transparent;scrollbar-width:thin}.analysis-app-shell .sunpath-left-rail.ux-setup::-webkit-scrollbar,.analysis-app-shell .sunpath-inspector::-webkit-scrollbar,.analysis-app-shell .inspector-section-stack::-webkit-scrollbar{width:8px}.analysis-app-shell .sunpath-left-rail.ux-setup::-webkit-scrollbar-track,.analysis-app-shell .sunpath-inspector::-webkit-scrollbar-track,.analysis-app-shell .inspector-section-stack::-webkit-scrollbar-track{background:transparent}.analysis-app-shell .sunpath-left-rail.ux-setup::-webkit-scrollbar-thumb,.analysis-app-shell .sunpath-inspector::-webkit-scrollbar-thumb,.analysis-app-shell .inspector-section-stack::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:#a1a1aa80;background-clip:content-box}@supports (overflow: overlay){.analysis-app-shell .sunpath-left-rail.ux-setup,.analysis-app-shell .sunpath-inspector,.analysis-app-shell .inspector-section-stack{overflow-y:overlay}}.analysis-app-shell .sunpath-inspector,.analysis-app-shell .sunpath-timeline,.analysis-app-shell .wind-legend-panel,.analysis-app-shell .automatic-weather-card,.analysis-app-shell .wind-status-card div,.analysis-app-shell .urban-editor,.analysis-app-shell .model-dropzone,.analysis-app-shell .wind-log-row,.analysis-app-shell .validation-item{border:1px solid var(--sh-border);border-radius:var(--sh-radius);background:var(--sh-popover);color:var(--sh-foreground);box-shadow:var(--analysis-panel-shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.analysis-app-shell .setup-section{margin-bottom:0;border-bottom:1px solid var(--sh-border);padding:0}.analysis-app-shell .collapsible-section-trigger{width:100%;border:0;background:transparent;color:inherit;cursor:pointer;margin-bottom:0;min-height:48px;padding:0 4px;text-align:left}.analysis-app-shell .collapsible-section-trigger:hover strong{text-decoration:underline;text-underline-offset:4px}.analysis-app-shell .collapsible-section-trigger svg{margin-left:auto;color:var(--sh-muted-foreground);flex:0 0 auto;transition:transform .18s ease}.analysis-app-shell .collapsible-section-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.analysis-app-shell .collapsible-section-body{display:grid;gap:8px;padding:0 4px 14px}.analysis-app-shell .setup-section:last-child{margin-bottom:0;border-bottom:0}.analysis-app-shell .setup-kicker,.analysis-app-shell .setup-note,.analysis-app-shell .field-row,.analysis-app-shell .setup-date-grid label,.analysis-app-shell .compact-field span,.analysis-app-shell .compact-check,.analysis-app-shell .data-row span,.analysis-app-shell .automatic-weather-card span,.analysis-app-shell .automatic-weather-card em,.analysis-app-shell .wind-source-field,.analysis-app-shell .wind-status-card span,.analysis-app-shell .context-toggles label,.analysis-app-shell .wind-log-row time,.analysis-app-shell .transform-heading,.analysis-app-shell .validation-item span,.analysis-app-shell .metric-pill span{color:var(--sh-muted-foreground)}.analysis-app-shell .setup-section-title strong,.analysis-app-shell .automatic-weather-card strong,.analysis-app-shell .wind-status-card strong,.analysis-app-shell .data-row strong,.analysis-app-shell .loaded-model-name,.analysis-app-shell .validation-item strong,.analysis-app-shell .metric-pill strong{color:var(--sh-foreground)}.analysis-app-shell .setup-primary{background:var(--sh-primary);color:var(--sh-primary-foreground)}.analysis-app-shell .context-toggles label,.analysis-app-shell .loaded-model-name,.analysis-app-shell .wind-log-list,.analysis-app-shell .transform-block,.analysis-app-shell .data-row,.analysis-app-shell .inspector-panel{border-color:var(--sh-border)}.analysis-app-shell .sunpath-stage{height:100%;min-height:0;background:var(--analysis-stage-bg)}.analysis-app-shell .sunpath-stage.inspector-open .sunpath-canvas{right:0}.analysis-app-shell .sunpath-stage:not(.inspector-open) .sunpath-canvas{right:0}.analysis-app-shell .stage-minimap{position:absolute;z-index:5;top:var(--analysis-edge-gap);right:384px;width:180px;pointer-events:auto}.analysis-app-shell .floating-panel-toggle.left{z-index:7;top:calc((100% - var(--analysis-bottom-bar-clearance)) / 2);left:var(--analysis-edge-gap);transform:translateY(-50%)}.analysis-app-shell .floating-panel-toggle.right{z-index:7;top:208px;right:20px}.analysis-app-shell .sunpath-stage:not(.inspector-open) .stage-minimap{right:var(--analysis-edge-gap)}.analysis-app-shell .stage-minimap .urban-editor{position:static;border:0;border-radius:999px;background:transparent;box-shadow:none;overflow:visible}.analysis-app-shell .stage-minimap .urban-plan{aspect-ratio:1;border:1px solid var(--analysis-minimap-border);border-radius:999px;box-shadow:var(--analysis-minimap-shadow);clip-path:circle(50% at 50% 50%);max-height:none;opacity:.72;overflow:hidden}.analysis-app-shell .stage-minimap .urban-editor-footer{display:none}.analysis-app-shell .sunpath-inspector{z-index:6;top:var(--analysis-edge-gap);right:var(--analysis-edge-gap);bottom:var(--analysis-bottom-bar-clearance);width:min(340px,calc(100% - 28px));max-height:none;overflow:auto;scrollbar-gutter:stable both-edges}.analysis-app-shell .inspector-section-stack{flex:1;min-height:0;overflow:auto;padding:0 10px 10px;scrollbar-gutter:stable both-edges}.analysis-app-shell .setup-section.inspector-section{box-shadow:none}.analysis-app-shell .inspector-tabs{gap:6px;border-bottom:1px solid var(--sh-border);background:var(--analysis-tabs-bg);padding:8px}.analysis-app-shell .inspector-tabs button{border:1px solid var(--sh-border);border-radius:10px;background:var(--analysis-tab-bg);color:var(--sh-muted-foreground)}.analysis-app-shell .inspector-tabs button.active{border-color:#c5ff4a75;background:var(--sh-primary);color:var(--sh-primary-foreground)}.analysis-app-shell .inspector-panel h2{min-height:34px;border-bottom:1px solid var(--sh-border);background:transparent;color:var(--sh-muted-foreground);padding:0 12px}.analysis-app-shell .sunpath-hud{gap:8px;max-width:calc(100% - 390px)}.analysis-app-shell .sunpath-layout.ux-layout:not(.setup-collapsed) .sunpath-hud{left:388px;max-width:calc(100% - 778px)}.analysis-app-shell .sunpath-layout.ux-layout:not(.setup-collapsed) .sunpath-stage:not(.inspector-open) .sunpath-hud{max-width:calc(100% - 402px)}.analysis-app-shell .metric-pill{min-height:34px;border:1px solid var(--sh-border);border-radius:999px;background:var(--analysis-pill-bg);color:var(--sh-muted-foreground);padding:0 12px;box-shadow:var(--analysis-panel-shadow)}.analysis-app-shell .sunpath-timeline,.analysis-app-shell .wind-legend-panel{left:var(--analysis-edge-gap);right:var(--analysis-edge-gap);bottom:var(--analysis-edge-gap);padding:14px}.analysis-app-shell .sunpath-layout.ux-layout:not(.setup-collapsed) .sunpath-timeline,.analysis-app-shell .sunpath-layout.ux-layout:not(.setup-collapsed) .wind-legend-panel{left:var(--analysis-edge-gap)}.analysis-app-shell .sunpath-stage:not(.inspector-open) .sunpath-timeline,.analysis-app-shell .sunpath-stage:not(.inspector-open) .wind-legend-panel{right:var(--analysis-edge-gap)}.analysis-app-shell .timeline-meta,.analysis-app-shell .wind-legend-header,.analysis-app-shell .wind-legend-meta{color:var(--sh-muted-foreground)}.analysis-app-shell .timeline-meta strong,.analysis-app-shell .wind-legend-header strong{color:var(--sh-foreground)}.analysis-app-shell .time-scrubber{accent-color:var(--accent)}.analysis-app-shell .daylength-chart rect{fill:var(--analysis-pill-bg)}.analysis-app-shell .daylength-chart .day-band{fill:#c5ff4a29}.analysis-app-shell .daylength-chart .day-curve{stroke:var(--accent)}.analysis-app-shell .daylength-chart .chart-cursor,.analysis-app-shell .daylength-chart .chart-point{stroke:#71d7c8;fill:#71d7c8}.analysis-app-shell .model-dropzone{min-height:88px;border-style:dashed;background:var(--analysis-dropzone-bg)}.analysis-app-shell .model-dropzone strong{color:var(--sh-foreground)}.analysis-app-shell .urban-plan rect,.analysis-app-shell .urban-plan{background:var(--analysis-plan-bg);fill:var(--analysis-plan-fill)}.analysis-app-shell .urban-editor{position:sticky;top:8px;z-index:3}.analysis-app-shell .urban-footprint.study-model{fill:#c5ff4a3d;stroke:var(--accent)}.analysis-app-shell .urban-radius{fill:#c5ff4a14;stroke:#c5ff4a85}.analysis-app-shell .validation-item.ok{border-color:#22c55e42}.analysis-app-shell .validation-item.warn{border-color:#facc1552;background:#facc1514}.analysis-app-shell .setup-note.warning,.analysis-app-shell .wind-log-row.error{color:#fbbf24}.analysis-app-shell .wind-log-row.error{border-color:#f871715c;background:#7f1d1d29}.analysis-app-shell .sunpath-left-rail.ux-setup,.analysis-app-shell .sunpath-inspector.ux-inspector{border-color:var(--menu-border);border-radius:var(--menu-radius);background:var(--menu-panel-bg);color:var(--menu-text);font-size:var(--menu-font-size);padding:var(--menu-panel-padding)}.analysis-app-shell .sunpath-inspector.ux-inspector{display:flex;flex-direction:column;overflow:hidden}.analysis-app-shell .inspector-section-stack{display:grid;align-content:start;gap:0;padding:0 2px 6px}.analysis-app-shell .setup-hide-button,.analysis-app-shell .inspector-hide-button{width:100%;margin:0 0 6px;flex:0 0 auto}.analysis-app-shell .setup-section{border-bottom-color:var(--menu-border)}.analysis-app-shell .collapsible-section-trigger{min-height:34px;border-radius:var(--menu-radius-sm);background:var(--menu-title-bg);padding:0 var(--menu-section-padding)}.analysis-app-shell .collapsible-section-trigger:hover{background:var(--menu-title-hover-bg)}.analysis-app-shell .collapsible-section-trigger[aria-expanded=true]{margin-bottom:4px}.analysis-app-shell .collapsible-section-trigger:hover strong{text-decoration:none}.analysis-app-shell .setup-section-title strong{color:var(--menu-text);font-size:var(--menu-title-size);font-weight:760;letter-spacing:.04em}.analysis-app-shell .collapsible-section-trigger svg{color:var(--menu-muted)}.analysis-app-shell .collapsible-section-body{gap:var(--menu-gap);padding:0 var(--menu-section-padding) 8px}.analysis-app-shell :where(.panel-hide-button,.floating-panel-toggle,.context-actions button,.map-mode-grid button,.shape-tool-grid button,.weather-source-switch button,.automatic-weather-card button,.wind-downloads a,.quick-actions button,.setup-primary,.date-buttons button,.projection-strip button,.transform-reset,.manual-buildings-heading button,.manual-building-select,.manual-building-delete,.urban-north-control button,.urban-editor-buttons button,.urban-editor-footer button){min-height:var(--menu-control-height);border:1px solid var(--menu-border);border-radius:var(--menu-radius-sm);background:var(--menu-control-bg);color:var(--menu-text);box-shadow:var(--menu-shadow-xs);font-size:var(--menu-font-size);font-weight:720;line-height:1;padding:0 8px}.analysis-app-shell :where(.context-actions button:hover,.map-mode-grid button:hover,.shape-tool-grid button:hover,.weather-source-switch button:hover,.automatic-weather-card button:hover,.wind-downloads a:hover,.quick-actions button:hover,.date-buttons button:hover,.projection-strip button:hover,.transform-reset:hover,.manual-buildings-heading button:hover,.manual-building-select:hover,.manual-building-delete:hover,.urban-north-control button:hover,.urban-editor-buttons button:hover,.urban-editor-footer button:hover){border-color:var(--menu-border-strong);background:var(--menu-control-hover)}.analysis-app-shell :where(.context-actions button.active,.map-mode-grid button.active,.shape-tool-grid button.active,.weather-source-switch button.active,.projection-strip button.active){border-color:var(--menu-active-border);background:var(--menu-active-bg);color:var(--menu-active-text)}.analysis-app-shell :where(.context-actions button:disabled,.map-mode-grid button:disabled,.shape-tool-grid button:disabled,.weather-source-switch button:disabled,.automatic-weather-card button:disabled,.quick-actions button:disabled,.setup-primary:disabled,.manual-buildings-heading button:disabled,.manual-building-select:disabled,.manual-building-delete:disabled,.urban-north-control button:disabled,.urban-editor-buttons button:disabled,.urban-editor-footer button:disabled){cursor:not-allowed;opacity:.45}.analysis-app-shell .setup-primary{background:var(--sh-primary);color:var(--sh-primary-foreground);margin-top:2px;width:100%}.analysis-app-shell .transform-reset{width:100%;margin:0}.analysis-app-shell :where(.field-row input,.setup-date-grid input,.compact-field input,.wind-source-field input,.transform-row input,.selected-building-editor input,.urban-north-inputs .scrub-number-input,.urban-editor-controls input){min-height:var(--menu-control-height);border:1px solid var(--menu-border);border-radius:var(--menu-radius-sm);background:var(--menu-control-bg);color:var(--menu-text);box-shadow:var(--menu-shadow-xs);font-size:var(--menu-font-size);padding:0 8px}.analysis-app-shell :where(.field-row input:focus,.setup-date-grid input:focus,.compact-field input:focus,.wind-source-field input:focus,.transform-row input:focus,.selected-building-editor input:focus,.urban-north-inputs .scrub-number-input:focus,.urban-editor-controls input:focus){border-color:var(--menu-active-border);outline:2px solid var(--sh-ring);outline-offset:1px}.analysis-app-shell :where(.field-row,.setup-date-grid label,.wind-source-field,.selected-building-editor label){grid-template-columns:82px minmax(0,1fr);gap:var(--menu-gap);min-height:30px;color:var(--menu-muted);font-size:var(--menu-font-size);font-weight:680}.analysis-app-shell .selected-building-editor label{grid-template-columns:72px minmax(0,1fr) 18px}.analysis-app-shell :where(.setup-date-grid,.wind-setup,.validation-list,.manual-buildings-list,.quick-actions,.wind-downloads){gap:var(--menu-gap)}.analysis-app-shell :where(.context-actions,.shape-tool-grid,.map-mode-grid,.context-toggles,.date-buttons,.weather-source-switch,.wind-status-card){gap:var(--menu-gap);margin-bottom:6px}.analysis-app-shell :where(.automatic-weather-card,.manual-buildings-panel,.selected-building-editor,.model-dropzone,.loaded-model-name,.transform-block,.wind-status-card div,.validation-item,.wind-log-row,.data-row,.context-toggles label,.manual-building-row){border:1px solid var(--menu-border);border-radius:var(--menu-radius-sm);background:var(--menu-surface);color:var(--menu-text);box-shadow:var(--menu-shadow-xs)}.analysis-app-shell .model-dropzone{grid-template-columns:22px minmax(0,1fr);min-height:52px;border-style:dashed;column-gap:8px;padding:7px 8px}.analysis-app-shell .model-dropzone strong,.analysis-app-shell .automatic-weather-card strong,.analysis-app-shell .wind-status-card strong,.analysis-app-shell .data-row strong,.analysis-app-shell .validation-item strong,.analysis-app-shell .loaded-model-name,.analysis-app-shell .selected-building-title strong{color:var(--menu-text)}.analysis-app-shell :where(.model-dropzone span,.automatic-weather-card span,.automatic-weather-card em,.wind-status-card span,.context-toggles label,.data-row span,.validation-item span,.transform-heading,.selected-building-title,.manual-buildings-panel p,.setup-note){color:var(--menu-muted)}.analysis-app-shell .automatic-weather-card{grid-template-columns:minmax(0,1fr) 64px;gap:var(--menu-gap);padding:6px}.analysis-app-shell .automatic-weather-card div,.analysis-app-shell .wind-status-card div{gap:2px;padding:6px}.analysis-app-shell .automatic-weather-card span,.analysis-app-shell .wind-status-card span,.analysis-app-shell .manual-buildings-heading,.analysis-app-shell .transform-heading{font-size:var(--menu-label-size);font-weight:760;letter-spacing:.04em;text-transform:uppercase}.analysis-app-shell .data-row,.analysis-app-shell .validation-item{min-height:var(--menu-row-height);padding:0 7px}.analysis-app-shell .data-row{border-top:1px solid var(--menu-border);grid-template-columns:minmax(0,1fr) auto}.analysis-app-shell .context-toggles label{min-height:var(--menu-row-height);padding:0 7px;font-size:var(--menu-font-size);font-weight:680}.analysis-app-shell .context-toggles input,.analysis-app-shell .compact-check input{width:13px;height:13px}.analysis-app-shell .manual-buildings-panel,.analysis-app-shell .selected-building-editor,.analysis-app-shell .transform-block{gap:var(--menu-gap);margin:0;padding:6px}.analysis-app-shell .manual-buildings-heading{grid-template-columns:minmax(0,1fr) auto;gap:var(--menu-gap);color:var(--menu-muted)}.analysis-app-shell .manual-building-row{grid-template-columns:minmax(0,1fr) 30px;gap:var(--menu-gap);padding:4px}.analysis-app-shell .manual-building-row.selected{border-color:var(--menu-active-border);background:var(--menu-active-bg)}.analysis-app-shell .manual-building-delete{padding:0}.analysis-app-shell .selected-building-editor{border-color:var(--menu-active-border);background:var(--menu-surface)}.analysis-app-shell .selected-building-title{grid-template-columns:16px minmax(0,1fr) auto;gap:var(--menu-gap);font-size:var(--menu-font-size)}.analysis-app-shell .transform-heading{margin-bottom:0}.analysis-app-shell .transform-row{grid-template-columns:16px minmax(0,1fr) 28px;gap:5px;min-height:var(--menu-row-height);color:var(--menu-muted);font-size:var(--menu-font-size)}.analysis-app-shell .loaded-model-name,.analysis-app-shell .selection-empty{min-height:var(--menu-row-height);border-bottom:0;padding:0 7px}.analysis-app-shell .wind-log-list{border-top:0;gap:4px;padding:0}.analysis-app-shell .wind-log-row{grid-template-columns:52px minmax(0,1fr);gap:var(--menu-gap);padding:5px 6px;font-size:var(--menu-font-size)}.analysis-app-shell .setup-note{margin:0;font-size:var(--menu-font-size);line-height:1.28}.analysis-app-shell .setup-note.warning,.analysis-app-shell .validation-item.warn,.analysis-app-shell .wind-log-row.error{border-color:#d9770647;background:#fbbf241f;color:#8a4b12}.analysis-app-shell .setup-note.warning{border:1px solid rgba(217,119,6,.28);border-radius:var(--menu-radius-sm);padding:6px 7px}.analysis-app-shell .selected-object-editor{display:grid;gap:7px;margin:0;border:1px solid var(--menu-active-border);border-radius:var(--menu-radius-sm);background:var(--menu-surface);color:var(--menu-text);padding:6px;box-shadow:var(--menu-shadow-xs)}.analysis-app-shell .selected-object-editor .data-row{min-height:26px;border-radius:var(--menu-radius-sm);background:#ffffff73}.analysis-app-shell .selected-object-editor .quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--menu-gap);border-bottom:0;padding:0}.analysis-app-shell .selected-object-editor .transform-block{border:1px solid var(--menu-border);border-radius:var(--menu-radius-sm);background:#ffffff6b}.analysis-app-shell .selected-object-editor .transform-reset{width:100%;margin:0}.analysis-app-shell .selected-object-empty{display:flex;align-items:center;gap:7px;min-height:var(--menu-row-height);border:1px solid var(--menu-border);border-radius:var(--menu-radius-sm);background:var(--menu-surface);color:var(--menu-muted);font-size:var(--menu-font-size);padding:7px;box-shadow:var(--menu-shadow-xs)}.analysis-app-shell .selected-object-title{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:var(--menu-gap);color:var(--menu-muted);font-size:var(--menu-font-size)}.analysis-app-shell .selected-object-title span,.analysis-app-shell .selected-object-title strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analysis-app-shell .selected-object-title strong{color:var(--menu-text);font-weight:760}.analysis-app-shell .selected-object-editor label{display:grid;grid-template-columns:72px minmax(0,1fr) 18px;align-items:center;gap:var(--menu-gap);color:var(--menu-muted);font-size:var(--menu-font-size);font-weight:680}.analysis-app-shell .selected-object-editor .scrub-number-input{text-align:right}.analysis-app-shell .selected-object-editor em{color:var(--menu-muted);font-style:normal}.analysis-app-shell .sunpath-left-rail.ux-setup :where(button:not(.collapsible-section-trigger),.manual-building-select,.manual-building-delete),.analysis-app-shell .sunpath-inspector.ux-inspector :where(button:not(.collapsible-section-trigger),.wind-downloads a){min-height:var(--menu-control-height);border:1px solid var(--menu-border);border-radius:var(--menu-radius-sm);background:var(--menu-control-bg);color:var(--menu-text);box-shadow:var(--menu-shadow-xs);font-size:var(--menu-font-size);font-weight:720;padding:0 8px}.analysis-app-shell .sunpath-left-rail.ux-setup :where(button:not(.collapsible-section-trigger):hover,.manual-building-select:hover,.manual-building-delete:hover),.analysis-app-shell .sunpath-inspector.ux-inspector :where(button:not(.collapsible-section-trigger):hover,.wind-downloads a:hover){border-color:var(--menu-border-strong);background:var(--menu-control-hover)}.analysis-app-shell .sunpath-left-rail.ux-setup :where(button.active),.analysis-app-shell .sunpath-inspector.ux-inspector :where(button.active){border-color:var(--menu-active-border);background:var(--menu-active-bg);color:var(--menu-active-text)}.analysis-app-shell .sunpath-left-rail.ux-setup :where(input[type=text],input[type=date],input[type=time]),.analysis-app-shell .sunpath-inspector.ux-inspector :where(input[type=text],input[type=date],input[type=time]){min-height:var(--menu-control-height);border:1px solid var(--menu-border);border-radius:var(--menu-radius-sm);background:var(--menu-control-bg);color:var(--menu-text);box-shadow:var(--menu-shadow-xs);font-size:var(--menu-font-size)}.analysis-app-shell .sunpath-left-rail.ux-setup :where(.automatic-weather-card,.manual-buildings-panel,.selected-object-editor,.selected-building-editor,.model-dropzone,.loaded-model-name,.transform-block,.wind-status-card div,.validation-item,.wind-log-row,.data-row,.context-toggles label,.manual-building-row),.analysis-app-shell .sunpath-inspector.ux-inspector :where(.automatic-weather-card,.manual-buildings-panel,.selected-object-editor,.selected-building-editor,.model-dropzone,.loaded-model-name,.transform-block,.wind-status-card div,.validation-item,.wind-log-row,.data-row,.context-toggles label,.manual-building-row){border-color:var(--menu-border);border-radius:var(--menu-radius-sm);background:var(--menu-surface);color:var(--menu-text);box-shadow:var(--menu-shadow-xs)}.analysis-app-shell .sunpath-inspector.ux-inspector .selected-object-editor .data-row,.analysis-app-shell .sunpath-inspector.ux-inspector .selected-object-editor .transform-block{background:#ffffff6b}@media(max-width:1080px){.analysis-app-header{align-items:flex-start;flex-direction:column;padding:12px}.analysis-app-shell .sunpath-workbench{height:auto}.analysis-app-shell .sunpath-layout.ux-layout{grid-template-columns:minmax(0,1fr)}.analysis-app-shell .sunpath-left-rail.ux-setup{border-right:0;border-bottom:1px solid var(--sh-border);top:var(--analysis-edge-gap);right:var(--analysis-edge-gap);bottom:var(--analysis-bottom-bar-clearance);width:auto}.analysis-app-shell .sunpath-stage{min-height:700px}.analysis-app-shell .sunpath-stage.inspector-open .sunpath-canvas{right:0}.analysis-app-shell .stage-minimap,.analysis-app-shell .sunpath-stage:not(.inspector-open) .stage-minimap{right:var(--analysis-edge-gap);width:154px}.analysis-app-shell .floating-panel-toggle.right{top:184px;right:20px}.analysis-app-shell .sunpath-hud{max-width:calc(100% - 28px)}.analysis-app-shell .sunpath-layout.ux-layout:not(.setup-collapsed) .sunpath-hud{left:14px;max-width:calc(100% - 28px)}.analysis-app-shell .sunpath-timeline,.analysis-app-shell .wind-legend-panel{left:var(--analysis-edge-gap);right:var(--analysis-edge-gap)}}@media(max-width:760px){.analysis-header-actions>span:not(.analysis-status-pill){display:none}.analysis-app-shell .sunpath-toolbar{min-height:58px}.analysis-app-shell .toolbar-project,.analysis-app-shell .toolbar-date,.analysis-app-shell .toolbar-time,.analysis-app-shell .toolbar-separator{display:none}.analysis-app-shell .sunpath-stage{min-height:820px}.analysis-app-shell .sunpath-inspector.ux-inspector{left:10px;right:10px;width:auto}.analysis-app-shell .metric-pill{border-radius:12px}}
