/* Application chrome and diagram appearance are independent. */
:root{--chrome:#fffefa;--canvas:#f3f1ed;--ink:#413548;--label:#87768e;--dim:#a495ac;--border:#e6dfe9;--field:#fff;--card:#f6f1f7;--accent:#684e6b;--accent-text:#fff;--ramp-solar:linear-gradient(90deg,#392a66,#8d468c,#db8b53,#f5dc8c);--ramp-sky:linear-gradient(90deg,#263c77,#427ba6,#7fc3cf,#d9f1e5);--ramp-wind:linear-gradient(90deg,#303b83,#468fbe,#74cabb,#f4d469,#db754e)}
html[data-theme=dark]{color-scheme:dark;--chrome:#1d1b23;--canvas:#22202a;--ink:#e9e1ec;--label:#baadbf;--dim:#93849e;--border:#38313e;--field:#29242f;--card:#282230;--accent:#c4a4d3;--accent-text:#281c30}
body{font-weight:500;background:var(--chrome);color:var(--ink);--line:var(--border)}
.app-header,.tools-bar,.study-panel,.objects-panel,.time-panel,.status-bar{background:var(--chrome);border-color:var(--border)}
.brand{font-weight:800}.brand small{font-weight:750}.project-heading input{border:0!important;height:22px!important;font-weight:750;font-size:15px;color:var(--ink)!important}.micro{font-weight:750;font-size:9px;color:var(--dim)}
.panel-heading .micro{font-size:8px;font-weight:800}.version-tag{font-weight:800}.button{font-weight:750;font-size:11px}.button.primary{background:var(--accent);color:var(--accent-text)}.button.primary:hover{filter:brightness(.92)}
.section-title h2{font-size:12px;font-weight:750;color:var(--ink)}.section-title{color:var(--label)}.field-label,.field-grid label,.prop-field{font-size:10px;font-weight:650;color:var(--label)}
input:not([type=range]):not([type=checkbox]):not([type=color]),select,textarea{font-size:12px;font-weight:600;background:var(--field);border-color:var(--border);color:var(--ink)}
input::placeholder,textarea::placeholder{font-weight:450;color:var(--dim)}.field-hint{font-size:9px;line-height:1.7;color:var(--dim)}.toggle-row{font-size:11px;font-weight:600;color:var(--label)}
.tool{font-size:10px;font-weight:750;color:var(--label)}.tool.import-tool{color:var(--accent);background:var(--card)}.tool-divider{margin:0 4px}.tool.active{background:#eee5f0}.theme-button{color:var(--accent);border:1px solid var(--border);margin-right:4px}.theme-button svg{width:16px;height:16px}
.viewport-caption h1{font-family:TerraSans,'Segoe UI',Arial,sans-serif;font-size:24px;font-weight:800;letter-spacing:-.9px}.eyebrow{font-size:8px;font-weight:800;letter-spacing:1.4px}.viewport-caption p{font-size:10px;font-weight:650}.viewport-caption p span{font-size:9px;font-weight:600}.import-float{font-size:10px}.import-float small{font-size:8px;font-weight:500}
.time-readout strong{font-weight:700}.time-readout small{font-size:7px;font-weight:700}.timeline-labels,.daylight-info{font-size:8px;font-weight:650}.daylight-info b{font-weight:750}.canvas-bottom span{font-size:8px;font-weight:600}.canvas-bottom .scale-label{font-size:7px;font-weight:700}.canvas-legend{font-size:8px;font-weight:600}
.object-row .object-name{font-size:10px;font-weight:650}.object-row .object-height{font-size:8px;font-weight:600}.objects-header h2{font-size:11px;font-weight:750}.site-stats div{font-size:9px;font-weight:600}.site-stats strong{font-size:11px;font-weight:750}.site-stats p{font-size:8px}.status-bar{font-size:8px;font-weight:650}.solar-metrics b{font-size:9px;font-weight:750}.save-status{font-size:10px;font-weight:600}.panel-bottom{font-size:9px;font-weight:600}
.analysis-section{padding-top:17px}.analysis-section .section-title{margin-bottom:12px}.study-types{display:flex;flex-direction:column;gap:5px}.study-type{border:1px solid transparent;border-radius:6px;display:flex;align-items:center;text-align:left;gap:10px;width:100%;padding:8px 10px;background:transparent;color:var(--label)}.study-type>svg{width:18px;height:18px;stroke-width:1.8}.study-type>span{font-size:11px;font-weight:750;line-height:1.3}.study-type small{font-size:8px;font-weight:550;display:block;color:var(--dim);margin-top:3px;letter-spacing:.1px}.study-type:hover{background:var(--card)}.study-type.active{background:#eee6f1;border-color:#ded0e5;color:#74547e}.study-type.active small{color:#ab8eb5}.analysis-description{font-size:9px;line-height:1.85;color:var(--dim);margin:13px 0 0}.analysis-height{position:relative;display:flex;align-items:center;gap:8px;margin-top:12px;font-size:10px;font-weight:650;color:var(--label)}.analysis-height input{margin-left:auto;max-width:72px}.analysis-height>span{position:absolute;right:9px;font-size:9px;color:var(--dim);pointer-events:none}.analysis-height input{padding-right:22px!important}.run-analysis{width:100%;height:36px;margin-top:14px}.analysis-progress{font-size:9px;line-height:1.6;color:var(--label);margin:10px 0 0;display:flex;align-items:center;gap:8px}.analysis-progress i{width:12px;height:12px;min-width:12px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}
.weather-section{padding-top:15px;padding-bottom:15px}.weather-heading{display:flex;align-items:center;justify-content:space-between;gap:7px}.weather-heading .field-label{font-size:8px;font-weight:800;letter-spacing:1px;margin:0}.weather-heading .version-tag{font-size:6px;letter-spacing:.1px}.weather-import{width:100%;height:30px;font-size:10px;margin-top:12px;color:var(--label)!important}.weather-import svg{width:13px;height:13px}.text-button{font-size:9px;font-weight:650;background:none;color:var(--accent);padding:9px 0 0;text-decoration:underline;text-underline-offset:2px}.weather-section .field-hint{font-size:8px}
.result-tabs{display:flex;align-items:center;gap:15px;height:100%}.result-tabs button{background:none;font-size:10px;font-weight:750;color:var(--dim);height:100%;padding:0;position:relative}.result-tabs button.active{color:var(--accent)}.result-tabs button.active:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--accent)}
.analysis-results{padding:18px 17px;min-height:220px;max-height:52%;overflow:auto;scrollbar-width:thin;border-bottom:1px solid var(--border)}.result-heading{display:flex;gap:8px;align-items:center;color:var(--accent);margin-bottom:12px}.result-heading svg{width:17px;height:17px}.result-heading h2{margin:0;font-size:13px;font-weight:800;color:var(--ink)}.result-status{font-size:8px;font-weight:800;letter-spacing:1px;color:var(--dim);margin-bottom:10px}.result-value{font-size:36px;line-height:1.1;font-weight:800;letter-spacing:-1.5px;color:var(--accent)}.result-value small{font-size:11px;font-weight:700;margin-left:5px;letter-spacing:0;color:var(--label)}.result-caption{font-size:9px;font-weight:600;color:var(--dim);margin:5px 0 14px}.result-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px;padding-top:13px;border-top:1px solid var(--border)}.result-metrics span{display:block;font-size:8px;font-weight:650;color:var(--dim);line-height:1.4}.result-metrics strong{display:block;font-size:14px;line-height:1.5;font-weight:800;color:var(--ink);margin-top:2px}.result-method{font-size:9px;color:var(--label);line-height:1.85;margin:14px 0 0}.result-method b{font-weight:750;color:var(--ink)}.result-assumptions{margin:12px 0 0;padding:0;list-style:none;font-size:8px;line-height:1.8;color:var(--dim)}.result-assumptions li{position:relative;padding-left:10px;margin-top:5px}.result-assumptions li:before{content:'·';position:absolute;left:0;color:var(--accent)}.result-empty{display:flex;flex-direction:column;align-items:flex-start;min-height:210px;justify-content:center}.result-empty>svg{width:26px;height:26px;color:var(--accent);margin-bottom:13px}.result-empty h3{margin:0;font-size:17px;font-weight:800;color:var(--ink);line-height:1.35}.result-empty p{font-size:10px;color:var(--dim);line-height:1.85;margin:9px 0 0}.result-empty .button{margin-top:15px;height:30px;font-size:9px}
.analysis-legend{position:absolute;bottom:47px;left:25px;min-width:210px;padding:11px 13px;background:#fffdf6ef;border:1px solid #e2d6e6;border-radius:6px;box-shadow:0 3px 18px #25162b0d;pointer-events:none}.analysis-legend>div{display:flex;justify-content:space-between;align-items:center;gap:20px;color:#8f7599;font-size:8px;font-weight:700}.analysis-legend strong{font-size:10px;color:#6d4b78;font-weight:800}.analysis-legend>i{display:block;height:7px;border-radius:3px;margin:9px 0 6px;background:var(--ramp-solar)}.analysis-legend .legend-values{font-size:8px;color:#a58aae}.analysis-legend #legendMean{font-weight:600}.palette-options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0 18px}.palette-options button{border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--label);font-size:9px;font-weight:750;padding:8px 6px}.palette-options button.active{border-color:var(--accent);color:var(--accent)}.palette-options i{display:block;height:20px;border-radius:3px;margin-bottom:6px}.palette-options [data-export-style=paper] i{background:linear-gradient(135deg,#ece8df 50%,#a184a4 50%)}.palette-options [data-export-style=clay] i{background:linear-gradient(135deg,#ead9c8 50%,#b88969 50%)}.palette-options [data-export-style=blueprint] i{background:linear-gradient(135deg,#263a5a 50%,#93b8d3 50%)}.palette-options [data-export-style=monochrome] i{background:linear-gradient(135deg,#f5f5f5 50%,#555 50%)}.export-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.export-settings-grid label{font-size:10px;font-weight:650;color:var(--label)}.export-settings-grid select{margin-top:6px}.modal-header h2{font-family:TerraSans,'Segoe UI',sans-serif;font-weight:800;font-size:26px;letter-spacing:-1px}.modal-body p{font-weight:500}.modal-note{font-weight:500}.export-choice strong{font-weight:750}.template-card strong{font-weight:750}.empty-inspector h3{font-family:TerraSans,'Segoe UI',sans-serif;font-weight:800}
html[data-theme=dark] .brand{color:#ede0f2}html[data-theme=dark] .brand-mark,html[data-theme=dark] .brand-dot{color:#c4a4d3}html[data-theme=dark] .button.subtle{border-color:var(--border);color:var(--label)}html[data-theme=dark] .button.subtle:hover{background:#37303e}html[data-theme=dark] .icon-button{color:var(--label)}html[data-theme=dark] .icon-button:hover{background:#352a3d;color:#e1c3ed}html[data-theme=dark] .version-tag{color:#b9a0c6;background:#302537;border-color:#49344f}html[data-theme=dark] .step{color:#66546d}html[data-theme=dark] .season-buttons button{background:#302737;color:#9f88aa}html[data-theme=dark] .season-buttons button.active{background:#4b3454;color:#dbb7e9;border-color:#66466f}html[data-theme=dark] .study-type.active{background:#3e2d49;border-color:#684872;color:#dbb6eb}html[data-theme=dark] .study-type.active small{color:#af8fbb}html[data-theme=dark] .tool.active{background:#3e2d49;color:#dbb6eb}html[data-theme=dark] .tool:hover{background:#33293b;color:#d6b8e1}html[data-theme=dark] .toggle-row i{background:#493b52}html[data-theme=dark] .toggle-row input:checked+i{background:#b695c6}html[data-theme=dark] .toggle-row i:before{background:#e8deed}html[data-theme=dark] .style-card{background:#29222f;border-color:var(--border);color:var(--label)}html[data-theme=dark] .style-card.active{border-color:#a77cba;color:#ddbbed}html[data-theme=dark] .object-filter input{background:#28212e!important;border-color:var(--border)!important}html[data-theme=dark] .object-row{color:#b9a9c2}html[data-theme=dark] .object-row:hover{background:#2c2433}html[data-theme=dark] .object-row.selected{background:#402d4b;color:#ddbbec}html[data-theme=dark] .object-row .eye-button{color:#8a7595}html[data-theme=dark] .objects-header h2{color:#cfb4db}html[data-theme=dark] .objects-header h2 span{background:#392b43;color:#bf9ed0}html[data-theme=dark] .site-stats strong,html[data-theme=dark] .solar-metrics b{color:#d0b2df}html[data-theme=dark] .site-stats div,html[data-theme=dark] .site-stats p,html[data-theme=dark] .status-bar,html[data-theme=dark] .save-status{color:#9b89a7}html[data-theme=dark] .time-readout strong{color:#ddbeec}html[data-theme=dark] .time-readout small,html[data-theme=dark] .timeline-labels,html[data-theme=dark] .daylight-info{color:#8f7b9d}html[data-theme=dark] .daylight-info b{color:#c1a4d1}html[data-theme=dark] .play-button{background:#402b4a;color:#dab5eb;border-color:#61406e}html[data-theme=dark] .play-button.playing{background:#c4a4d3;color:#271a2e}html[data-theme=dark] .timeline input::-webkit-slider-thumb{border-color:#24202b;background:#c4a4d3}html[data-theme=dark] dialog{background:var(--chrome);color:var(--ink);border-color:#55405e}html[data-theme=dark] .modal-header h2{color:#e6c9f0}html[data-theme=dark] .modal-body p{color:#bca5c8}html[data-theme=dark] .modal-note{background:#302336;border-color:#4a3453;color:#b9a0c7}html[data-theme=dark] .modal-note strong{color:#dcbae9}html[data-theme=dark] .modal-footer{border-color:var(--border)}html[data-theme=dark] .export-choice{background:#2c2233;border-color:#4a3554;color:#c9a6d9}html[data-theme=dark] .export-choice strong{color:#dfc1ec}html[data-theme=dark] .export-choice small{color:#a88bb7}html[data-theme=dark] .export-choice:hover{background:#3d2c46}html[data-theme=dark] .template-card{background:#302336;border-color:#503758;color:#d2acdf}html[data-theme=dark] .template-card small{color:#a88bb5}html[data-theme=dark] .import-drop{background:#302337;border-color:#80568d}html[data-theme=dark] .import-drop strong{color:#ddbaed}html[data-theme=dark] .import-drop small{color:#a98bb8}html[data-theme=dark] kbd{background:#36283e;border-color:#694574;color:#d1ace0}html[data-theme=dark] .shortcut-grid{color:#bca1ca}html[data-theme=dark] .empty-inspector h3{color:#d3afe1}html[data-theme=dark] .empty-inspector p{color:#a58ab4}
@media(min-width:1550px){.workspace{grid-template-columns:300px minmax(380px,1fr) 280px}.viewport-caption h1{font-size:32px}.study-type>span{font-size:12px}.study-type{padding:10px 12px}.study-type small{font-size:9px}.analysis-results{padding:22px}.result-heading h2{font-size:15px}.result-method{font-size:10px}}
@media(max-width:1150px){.viewport-caption h1{font-size:23px}.header-actions .save-status{display:none}.tool{padding:0 7px}.tool.import-tool span{display:inline}.analysis-legend{min-width:190px}.analysis-section .section-title h2{font-size:11px}.study-type{padding:7px 9px}.study-type>span{font-size:11px}.result-tabs{gap:11px}}
@media print{#printBoard .board-editorial h1{font-family:Georgia,serif}#printBoard .board-technical{color:#182738}#printBoard .board-technical h1{font-family:'Segoe UI',sans-serif;font-weight:800;letter-spacing:-.8pt}#printBoard .board-technical .print-brand{color:#1b455e}#printBoard .print-analysis{font-size:9pt;font-weight:700;padding:8pt 0;color:#72567e}#printBoard .print-legend{display:flex;align-items:center;gap:12pt;font-size:8pt}#printBoard .print-legend i{display:inline-block;width:110pt;height:7pt;background:var(--ramp-solar);-webkit-print-color-adjust:exact;print-color-adjust:exact}#printBoard .print-method{font-size:7pt;color:#927c9a;margin-top:8pt}#printBoard img{max-height:172mm}#printBoard .board-technical img{border:1px solid #d5dde2;padding:4pt}}
