:root{color:#0f0f0f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--color-primary-50:#fff7f3;--color-primary-100:#ffe9e0;--color-primary-200:#ffd1bd;--color-primary-300:#ffb495;--color-primary-400:#fa8a60;--color-primary-500:#ee6e3a;--color-primary-600:#e05c2a;--color-primary-700:#d14d1b;--color-primary-800:#a83d18;--color-primary-900:#7e2e13;--color-primary-950:#44170a;--color-primary:var(--color-primary-600);--color-secondary-50:#f0fdfa;--color-secondary-100:#ccfbf1;--color-secondary-200:#99f6e4;--color-secondary-300:#5eead4;--color-secondary-400:#2dd4bf;--color-secondary-500:#14b8a6;--color-secondary-600:#0d9488;--color-secondary-700:#0f766e;--color-secondary-800:#115e59;--color-secondary-900:#134e4a;--color-secondary-950:#042f2e;--color-secondary:var(--color-secondary-600);--color-surface:#fff;--color-surface-alt:#fafbfc;--color-border:#f2decb;--color-border-strong:#e5c9b0;--color-fg:#0f0f0f;--color-fg-muted:#5c4232;--color-fg-faint:#8a7867;--color-success:#3b6d11;--color-success-soft:#eaf3de;--color-warning:#ba7517;--color-warning-soft:#fff3e0;--color-info:#185fa5;--color-info-soft:#e8f4ff;--color-danger:#a32d2d;--color-danger-soft:#fcebeb;--ink:var(--color-fg);--muted:var(--color-fg-faint);--paper:var(--color-surface);--paper-strong:var(--color-surface);--line:var(--color-border);--brand:var(--color-primary);--brand-deep:var(--color-primary-800);--brand-soft:var(--color-primary-50);--sun:#ed9f18;--sun-deep:#b96818;--night:#1d3046;--success:var(--color-success);--danger:var(--color-danger);--shadow-soft:0 10px 36px #281f161f;--shadow-float:0 18px 60px #281f162e;background:#fafbfc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh;overflow:hidden}button,input{font:inherit}button{color:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb, var(--color-primary) 35%, transparent);outline-offset:2px}@media (width<=760px){body{overflow:auto}}._workspace_lscuc_1{isolation:isolate;background:#e8e3d9;width:100%;height:100%;min-height:540px;position:absolute;inset:0;overflow:hidden}._map_lscuc_12{position:absolute;inset:0}._ambientLight_lscuc_17{z-index:3;pointer-events:none;transition:opacity .28s linear,background-color .28s linear;position:absolute;inset:0}._lightPhase_lscuc_25{z-index:6;color:#49382e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;background:#fffdf9eb;border:1px solid #3d2c1a29;border-radius:10px;align-items:center;gap:7px;min-height:36px;padding:0 11px;font-size:11px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:0 7px 22px #281f1626}._lightPhase_lscuc_25 i{border:1px solid #ffffffb3;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 1px #3d2c1a2e}._lightPhase_lscuc_25 span{font-weight:750}._lightPhase_lscuc_25 strong{color:#80695b;font-variant-numeric:tabular-nums}._mapError_lscuc_49{z-index:9;color:#963b2f;background:#fffaf7f5;border:1px solid #b149384d;border-radius:10px;max-width:min(420px,100% - 32px);padding:10px 13px;font-size:12px;position:absolute;top:18px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #3d2c1a26}._mapTypeControl_lscuc_65{z-index:8;color:#49382e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf9f0;border:1px solid #3d2c1a29;border-radius:10px;align-items:center;gap:6px;height:36px;padding:0 7px 0 10px;font-size:10px;font-weight:800;display:flex;position:absolute;top:12px;right:58px;box-shadow:0 7px 22px #281f1626}._mapTypeControl_lscuc_65 svg{color:#81553d;width:14px;height:14px}._mapTypeControl_lscuc_65 select{color:#49382e;max-width:90px;height:27px;font:inherit;cursor:pointer;background:#f2ebe5;border:0;border-radius:7px;outline-color:#81553d;padding:0 20px 0 6px}._esriAttribution_lscuc_86{z-index:8;color:#232323d6;pointer-events:none;background:#ffffffc2;border-radius:4px;padding:3px 5px;font-size:8px;line-height:1.2;position:absolute;bottom:9px;right:12px}._solarRadiusControl_lscuc_88{z-index:8;border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 94%, transparent);min-height:31px;color:var(--color-fg-muted);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:10px;align-items:center;gap:4px;padding:0 5px 0 9px;font-size:10px;font-weight:800;display:flex;position:absolute;top:56px;right:58px;box-shadow:0 7px 22px #281f1626}._solarRadiusControl_lscuc_88>span{text-transform:uppercase;letter-spacing:.045em}._solarRadiusControl_lscuc_88 button{background:var(--color-primary-50);width:23px;height:23px;color:var(--color-primary-800);cursor:pointer;border:0;border-radius:7px;place-items:center;padding:0;display:grid}._solarRadiusControl_lscuc_88 button:hover:not(:disabled){background:var(--color-primary-100)}._solarRadiusControl_lscuc_88 button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}._solarRadiusControl_lscuc_88 button:disabled{opacity:.4;cursor:default}._solarRadiusControl_lscuc_88 button svg{width:14px;height:14px}._solarRadiusControl_lscuc_88 output{min-width:27px;color:var(--color-fg-faint);text-align:center;font-variant-numeric:tabular-nums;font-size:9px}._solarCompass_lscuc_126{z-index:4;width:min(460px,44vw,62vh);height:min(460px,44vw,62vh);transform:translate(-50%, -50%) scale(var(--sun-arc-scale,1));pointer-events:none;position:absolute;top:50%;left:50%;overflow:visible}._sunHandleLayer_lscuc_138{z-index:7;width:min(460px,44vw,62vh);height:min(460px,44vw,62vh);transform:translate(-50%, -50%) scale(var(--sun-arc-scale,1));pointer-events:none;position:absolute;top:50%;left:50%}._sunHandle_lscuc_138{color:#fffdf8;cursor:grab;pointer-events:auto;touch-action:none;background:#eda321;border:3px solid #fffdf8f5;border-radius:50%;place-items:center;width:32px;height:32px;padding:0;transition:transform .14s,box-shadow .14s;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 4px 18px #22180759,0 0 0 2px #eda32138}._sunHandle_lscuc_138:hover{transform:translate(-50%,-50%)scale(1.1);box-shadow:0 5px 22px #2218076b,0 0 0 5px #eda32140}._sunHandle_lscuc_138:focus-visible{outline-offset:3px;outline:3px solid #ffffffd9}._sunHandle_lscuc_138 svg{width:17px;height:17px}._sunHandleDragging_lscuc_170,._sunHandleDragging_lscuc_170:hover{cursor:grabbing;transform:translate(-50%,-50%)scale(1.14)}._sunTimeLabel_lscuc_171{color:#573913;letter-spacing:.01em;white-space:nowrap;pointer-events:none;background:#fffdf8f0;border:1px solid #754c113d;border-radius:7px;min-width:max-content;padding:4px 7px;font-size:10px;font-weight:850;line-height:1;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 4px 12px #32230c38}._selectedRay_lscuc_191,._shadowRay_lscuc_191{vector-effect:non-scaling-stroke;stroke-linecap:round}._sunriseRay_lscuc_192,._sunsetRay_lscuc_192{vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-width:2.4px;opacity:.78}._sunriseRay_lscuc_192{stroke:#b77a18}._sunsetRay_lscuc_192{stroke:#ad542f}._faceRay_lscuc_195{vector-effect:non-scaling-stroke;stroke:#0d9488;stroke-width:3px;stroke-dasharray:8 5;stroke-linecap:round;filter:drop-shadow(0 0 2px #0d948875)}._selectedRay_lscuc_191{stroke:#ffb20e;stroke-width:4.5px;filter:drop-shadow(0 0 3px #ffb718b8)}._shadowRay_lscuc_191{stroke:#16324f;stroke-width:3px;stroke-dasharray:7 6}._locationHalo_lscuc_198{fill:#fffdf8e0;stroke:#3d2c1a33;stroke-width:1px;vector-effect:non-scaling-stroke}._locationPoint_lscuc_199{fill:#eda321;stroke:#fffdf8;stroke-width:2px;vector-effect:non-scaling-stroke}._skyHorizon_lscuc_201{fill:#ffd87417;stroke:#6e533857;stroke-width:1.1px;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}._skyPath_lscuc_202{fill:none;stroke:#ed9f18;stroke-width:3.5px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 2px #ed9f1873)}._skyBearing_lscuc_203{stroke:#ed9f1875;stroke-width:1.5px;vector-effect:non-scaling-stroke}._skyEndpoint_lscuc_204{fill:#ffd978;stroke:#fffdf8;stroke-width:1.5px;vector-effect:non-scaling-stroke}._skySun_lscuc_205{fill:#ffb20e;stroke:#fffdf8;stroke-width:2.5px;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px #4f310352)}._skyCompassLabel_lscuc_206{fill:#42342aad;text-anchor:middle;dominant-baseline:central;paint-order:stroke;stroke:#fffdf8d9;stroke-width:3px;font:800 10px/1 Inter,system-ui,sans-serif}._legend_lscuc_208{z-index:5;color:#5f5549;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#fffdf8e0;border:1px solid #3b2f1c1a;border-radius:10px;gap:11px;padding:7px 10px;font-size:10px;display:flex;position:absolute;bottom:62px;right:18px;box-shadow:0 6px 20px #3328171f}._legend_lscuc_208 span{white-space:nowrap;align-items:center;gap:4px;display:flex}._legend_lscuc_208 i{border-radius:2px;width:14px;height:2px;display:inline-block}._legendSunrise_lscuc_226{background:#b77a18}._legendCurrent_lscuc_227{background:#e8960a;height:3px!important}._legendSunset_lscuc_228{background:#ad542f}._legendShadow_lscuc_229{border-top:2px dashed #16324f;height:0!important}._legendObject_lscuc_230{background:#956547;border:1px solid #fff8ee;width:10px!important;height:8px!important}._legendFace_lscuc_231{border-top:2px dashed #0d9488;height:0!important}._marker_lscuc_233{cursor:grab;background:#ffffffb8;border:3px solid #fffffff5;border-radius:999px;place-items:center;width:30px;height:30px;padding:0;transition:box-shadow .16s,transform .16s;display:grid;box-shadow:0 2px 8px #2c210e47,0 0 0 1px #4633131f}._marker_lscuc_233:hover,._marker_lscuc_233:focus-visible{outline:none;transform:scale(1.06);box-shadow:0 3px 12px #2c210e5c,0 0 0 3px #e8960a47}._marker_lscuc_233:active{cursor:grabbing}._markerCore_lscuc_264{border-radius:inherit;background:#e8960a;width:12px;height:12px;display:block;box-shadow:inset 0 0 0 1px #7646002e}@media (width<=760px){._mapTypeControl_lscuc_65{top:52px;right:9px}._esriAttribution_lscuc_86{font-size:7px;bottom:7px;right:7px}._mapTypeControl_lscuc_65>span{display:none}._solarRadiusControl_lscuc_88{top:92px;right:9px}._solarRadiusControl_lscuc_88>span{display:none}._lightPhase_lscuc_25{min-height:36px;padding:0 9px;top:9px;left:auto;right:9px;transform:none}._lightPhase_lscuc_25 span{text-overflow:ellipsis;white-space:nowrap;max-width:92px;overflow:hidden}._solarCompass_lscuc_126,._sunHandleLayer_lscuc_138{width:min(350px,88vw);height:min(350px,88vw);top:51%}._legend_lscuc_208{gap:7px;max-width:calc(100% - 16px);padding:6px 8px;font-size:9px;bottom:62px;right:8px}}@media (prefers-reduced-motion:reduce){._ambientLight_lscuc_17,._sunHandle_lscuc_138,._marker_lscuc_233{transition:none}}._workspace_lscuc_1{background:var(--color-surface-alt)}._lightPhase_lscuc_25,._mapTypeControl_lscuc_65,._legend_lscuc_208{border-color:var(--color-border);background:color-mix(in srgb, var(--color-surface) 94%, transparent);color:var(--color-fg-muted)}._lightPhase_lscuc_25 strong{color:var(--color-fg-faint)}._mapTypeControl_lscuc_65 svg{color:var(--color-primary)}._mapTypeControl_lscuc_65 select{outline-color:var(--color-primary);background:var(--color-primary-50);color:var(--color-fg-muted)}._mapError_lscuc_49{border-color:color-mix(in srgb, var(--color-danger) 30%, transparent);background:var(--color-danger-soft);color:var(--color-danger)}._marker_lscuc_233:hover,._marker_lscuc_233:focus-visible{box-shadow:0 3px 12px #2c210e5c, 0 0 0 3px color-mix(in srgb, var(--color-primary) 28%, transparent)}._planner_1c9br_1{border-top:1px solid #ded6cd;margin-top:18px;padding-top:17px}._heading_1c9br_7,._heading_1c9br_7>div>span,._heading_1c9br_7>button,._nameRow_1c9br_10,._nameRow_1c9br_10>button,._rotation_1c9br_12>span,._shadowReadout_1c9br_13{align-items:center;display:flex}._heading_1c9br_7{justify-content:space-between;gap:10px}._heading_1c9br_7>div>span{color:#755f50;letter-spacing:.08em;text-transform:uppercase;gap:6px;font-size:11px;font-weight:800}._heading_1c9br_7 svg{width:14px;height:14px}._heading_1c9br_7 small{color:#8a776b;margin-top:4px;font-size:10px;display:block}._heading_1c9br_7>button{color:#fff;cursor:pointer;background:#81553d;border:0;border-radius:8px;gap:4px;height:31px;padding:0 9px;font-size:11px;font-weight:750}._heading_1c9br_7>button:disabled{opacity:.5;cursor:default}._placementNotice_1c9br_25{color:#654818;background:#fff5d8;border:1px solid #d4a85e;border-radius:9px;grid-template-columns:1fr 26px;align-items:center;gap:8px;margin-top:10px;padding:7px 7px 7px 10px;font-size:10.5px;line-height:1.35;display:grid}._placementNotice_1c9br_25 button{width:25px;height:25px;color:inherit;cursor:pointer;background:#65481814;border:0;border-radius:6px;place-items:center;padding:0;display:grid}._placementNotice_1c9br_25 svg{width:13px;height:13px}._emptyState_1c9br_29{color:#79665a;cursor:pointer;background:#ffffff8a;border:1px dashed #cdbfb3;border-radius:11px;place-items:center;width:100%;margin-top:11px;padding:15px 12px;display:grid}._emptyState_1c9br_29>svg{color:#9a684d;width:22px;height:22px;margin-bottom:6px}._emptyState_1c9br_29 strong{color:#513f35;font-size:12px}._emptyState_1c9br_29 span{max-width:210px;margin-top:4px;font-size:10px;line-height:1.4}._emptyState_1c9br_29:disabled{cursor:default}._objectTabs_1c9br_35{gap:5px;margin-top:11px;padding-bottom:2px;display:flex;overflow-x:auto}._objectTabs_1c9br_35 button{color:#786458;cursor:pointer;background:#fff;border:1px solid #ddd3ca;border-radius:8px;flex:none;align-items:center;gap:5px;height:29px;padding:0 8px;font-size:10.5px;font-weight:700;display:inline-flex}._objectTabs_1c9br_35 button i{background:#9a765f;border-radius:2px;width:7px;height:7px}._objectTabs_1c9br_35 ._selectedTab_1c9br_38{color:#fff;background:#81553d;border-color:#81553d}._objectTabs_1c9br_35 ._selectedTab_1c9br_38 i{background:#ffd486}._editor_1c9br_41{background:#ffffffb3;border:1px solid #ded5cc;border-radius:11px;margin-top:9px;padding:10px}._nameRow_1c9br_10{gap:7px}._nameRow_1c9br_10>input{box-sizing:border-box;color:#382b24;width:100%;min-width:0;height:32px;font:inherit;background:#fff;border:1px solid #ded3ca;border-radius:8px;outline-color:#81553d;padding:0 9px;font-size:12px;font-weight:750}._nameRow_1c9br_10>button{color:#624d41;cursor:pointer;background:#f3eee9;border:1px solid #d7ccc2;border-radius:8px;flex:none;gap:4px;height:32px;padding:0 8px;font-size:10.5px;font-weight:750}._nameRow_1c9br_10>button:disabled{opacity:.5;cursor:default}._nameRow_1c9br_10 svg{width:13px;height:13px}._dimensions_1c9br_48{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px;display:grid}._field_1c9br_49>span{color:#806d61;text-transform:uppercase;margin:0 0 4px 1px;font-size:9px;font-weight:750;display:block}._field_1c9br_49>div{position:relative}._field_1c9br_49 input{box-sizing:border-box;color:#33261f;width:100%;height:33px;font:inherit;font-variant-numeric:tabular-nums;background:#fff;border:1px solid #ded3ca;border-radius:8px;outline-color:#81553d;padding:0 21px 0 7px;font-size:12px}._field_1c9br_49 i{color:#8a776b;pointer-events:none;font-size:10px;font-style:normal;position:absolute;top:9px;right:7px}._rotation_1c9br_12{margin-top:11px;display:block}._rotation_1c9br_12>span{color:#766257;text-transform:uppercase;gap:5px;font-size:10px;font-weight:750}._rotation_1c9br_12>span svg{width:12px;height:12px}._rotation_1c9br_12>span strong{color:#47372e;font-variant-numeric:tabular-nums;margin-left:auto}._rotation_1c9br_12 input{accent-color:#81553d;cursor:ew-resize;width:100%;height:14px;margin-top:5px}._shadowReadout_1c9br_13{border-top:1px solid #e5ddd6;justify-content:space-between;gap:10px;margin-top:9px;padding-top:9px}._shadowReadout_1c9br_13 span{color:#837064;letter-spacing:.05em;text-transform:uppercase;font-size:9px;font-weight:750;display:block}._shadowReadout_1c9br_13 strong{color:#263a4c;margin-top:2px;font-size:13px;display:block}._shadowReadout_1c9br_13 button{color:#9d4f3c;cursor:pointer;background:#fff8f5;border:1px solid #e0d1ca;border-radius:8px;place-items:center;width:29px;height:29px;padding:0;display:grid}._shadowReadout_1c9br_13 button svg{width:14px;height:14px}._planner_1c9br_1{border-color:var(--color-border)}._heading_1c9br_7>div>span{color:var(--color-fg-muted)}._heading_1c9br_7 small,._field_1c9br_49>span,._field_1c9br_49 i,._shadowReadout_1c9br_13 span{color:var(--color-fg-faint)}._heading_1c9br_7>button,._objectTabs_1c9br_35 ._selectedTab_1c9br_38{border-color:var(--color-primary);background:var(--color-primary);color:#fff}._heading_1c9br_7>button:hover,._objectTabs_1c9br_35 ._selectedTab_1c9br_38:hover{background:var(--color-primary-700)}._placementNotice_1c9br_25{border-color:color-mix(in srgb, var(--color-warning) 38%, var(--color-border));background:var(--color-warning-soft);color:var(--color-warning)}._emptyState_1c9br_29{border-color:var(--color-border-strong);background:var(--color-surface);color:var(--color-fg-muted)}._emptyState_1c9br_29>svg{color:var(--color-primary)}._emptyState_1c9br_29 strong,._rotation_1c9br_12>span strong{color:var(--color-fg)}._objectTabs_1c9br_35 button,._editor_1c9br_41,._nameRow_1c9br_10>input,._field_1c9br_49 input{border-color:var(--color-border);background:var(--color-surface);color:var(--color-fg)}._nameRow_1c9br_10>button{border-color:var(--color-border);background:var(--color-primary-50);color:var(--color-fg-muted)}._nameRow_1c9br_10>input,._field_1c9br_49 input{outline-color:var(--color-primary)}._rotation_1c9br_12>span{color:var(--color-fg-muted)}._rotation_1c9br_12 input{accent-color:var(--color-primary)}._shadowReadout_1c9br_13{border-color:var(--color-border)}._shadowReadout_1c9br_13 button{border-color:var(--color-primary-200);background:var(--color-danger-soft);color:var(--color-danger)}._planner_b25l8_1{border-top:1px solid var(--color-border);margin-top:18px;padding-top:17px}._heading_b25l8_2,._heading_b25l8_2>div>span,._heading_b25l8_2>button,._direction_b25l8_2>span,._window_b25l8_2{align-items:center;display:flex}._heading_b25l8_2{justify-content:space-between;gap:10px}._heading_b25l8_2>div>span{color:var(--color-fg-muted);letter-spacing:.08em;text-transform:uppercase;gap:6px;font-size:11px;font-weight:800}._heading_b25l8_2 svg{width:14px;height:14px}._heading_b25l8_2 small{color:var(--color-fg-faint);margin-top:4px;font-size:10px;display:block}._heading_b25l8_2>button{background:var(--color-secondary);color:#fff;cursor:pointer;border:0;border-radius:8px;gap:4px;height:31px;padding:0 9px;font-size:11px;font-weight:750}._heading_b25l8_2>button:hover{background:var(--color-secondary-700)}._empty_b25l8_9{border:1px dashed var(--color-secondary-300);background:var(--color-secondary-50);width:100%;color:var(--color-secondary-800);cursor:pointer;border-radius:11px;place-items:center;margin-top:11px;padding:13px 12px;display:grid}._empty_b25l8_9>svg{width:20px;height:20px;margin-bottom:5px}._empty_b25l8_9 span{font-size:11px;font-weight:800}._empty_b25l8_9 small{color:var(--color-fg-muted);margin-top:3px;font-size:10px}._editor_b25l8_13{border:1px solid var(--color-secondary-200);background:var(--color-secondary-50);border-radius:11px;margin-top:10px;padding:10px}._name_b25l8_14>span{color:var(--color-fg-faint);text-transform:uppercase;margin:0 0 4px 1px;font-size:9px;font-weight:750;display:block}._name_b25l8_14 input{box-sizing:border-box;border:1px solid var(--color-border);outline-color:var(--color-secondary);width:100%;height:32px;color:var(--color-fg);background:var(--color-surface);font:inherit;border-radius:8px;padding:0 9px;font-size:12px;font-weight:750}._direction_b25l8_2{margin-top:10px;display:block}._direction_b25l8_2>span{color:var(--color-fg-muted);text-transform:uppercase;gap:5px;font-size:10px;font-weight:750}._direction_b25l8_2 svg{width:12px;height:12px}._direction_b25l8_2 strong{color:var(--color-fg);font-variant-numeric:tabular-nums;margin-left:auto}._direction_b25l8_2 input{width:100%;height:14px;accent-color:var(--color-secondary);cursor:ew-resize;margin-top:5px}._window_b25l8_2{border-top:1px solid var(--color-secondary-200);justify-content:space-between;gap:10px;margin-top:10px;padding-top:10px}._window_b25l8_2 span{color:var(--color-fg-faint);letter-spacing:.05em;text-transform:uppercase;font-size:9px;font-weight:750;display:block}._window_b25l8_2 strong{color:var(--color-secondary-900);margin-top:2px;font-size:12px;display:block}._window_b25l8_2 button{border:1px solid var(--color-border);width:29px;height:29px;color:var(--color-danger);background:var(--color-surface);cursor:pointer;border-radius:8px;flex:none;place-items:center;padding:0;display:grid}._window_b25l8_2 button svg{width:14px;height:14px}._editor_b25l8_13 p{color:var(--color-fg-muted);margin:9px 0 0;font-size:9.5px;line-height:1.42}.app-shell{background:#e8e4de;min-height:100vh}.app-header{z-index:60;color:#fff;background:var(--brand-deep);border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;gap:14px;height:56px;padding:0 16px;display:flex;position:relative}.brand-lockup,.header-actions,.app-title-row{align-items:center;display:flex}.brand-lockup{gap:11px;min-width:0}.brand-mark{background:#fffaf6;border-radius:9px;flex:none;place-items:center;width:46px;height:34px;display:grid;box-shadow:inset 0 0 0 1px #ffffffb3,0 5px 20px #0003}.brand-mark img{object-fit:contain;width:38px;height:26px}.brand-kicker{color:#d8c8b5;letter-spacing:.13em;text-transform:uppercase;margin:0 0 1px;font-size:9px;font-weight:750}.app-title-row{gap:8px}.app-title{letter-spacing:-.015em;white-space:nowrap;margin:0;font-family:Georgia,Times New Roman,serif;font-size:19px;font-weight:600}.beta-chip{color:#ecdcc9;letter-spacing:.08em;text-transform:uppercase;border:1px solid #fff3;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:800}.header-actions{gap:9px}.header-button,.mobile-menu-button{color:#f8f1e8;cursor:pointer;background:#ffffff12;border:1px solid #ffffff29;border-radius:9px;justify-content:center;align-items:center;gap:7px;height:34px;padding:0 11px;transition:all .18s;display:inline-flex}.header-button:hover,.mobile-menu-button:hover{background:#ffffff21;border-color:#ffffff47}.header-button svg,.mobile-menu-button svg{width:15px;height:15px}.mobile-menu-button{width:34px;padding:0;display:none}.dashboard{grid-template-columns:300px minmax(0,1fr);height:calc(100vh - 56px);min-height:560px;display:grid;position:relative;overflow:hidden}.dashboard-sidebar{z-index:42;background:#f7f4ef;border-right:1px solid #d9d1c7;grid-template-rows:auto auto minmax(0,1fr) auto;min-width:0;display:grid;position:relative;overflow:hidden;box-shadow:8px 0 28px #2b201714}.sidebar-context{background:#fffdfa;border-bottom:1px solid #e2dbd2;justify-content:space-between;align-items:flex-start;gap:10px;padding:15px 16px 13px;display:flex}.sidebar-context>div{min-width:0}.sidebar-context span{color:#8a7668;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;font-size:9px;font-weight:800;display:block}.sidebar-context strong{color:#34271f;text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.sidebar-context small{color:#8a776b;font-variant-numeric:tabular-nums;margin-top:4px;font-size:10px;display:block}.sidebar-context button{color:#675348;cursor:pointer;background:#fff;border:1px solid #ded5cc;border-radius:8px;flex:none;place-items:center;width:30px;height:30px;padding:0;display:none}.sidebar-context button svg{width:15px;height:15px}.sidebar-tabs{background:#f1ece6;border-bottom:1px solid #e2dbd2;grid-template-columns:1fr 1fr;gap:4px;padding:8px;display:grid}.sidebar-tabs button{color:#786458;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;height:34px;font-size:11px;font-weight:750;display:flex}.sidebar-tabs svg{width:14px;height:14px}.sidebar-time-control{border-bottom:1px solid var(--color-border);background:linear-gradient(110deg, color-mix(in srgb, var(--color-primary-50) 72%, transparent), color-mix(in srgb, var(--color-secondary-50) 45%, transparent));padding:8px 10px}.sidebar-scroll{scrollbar-width:thin;min-height:0;padding:15px 16px 20px;overflow:auto}.sidebar-footer{background:#eee9e2;border-top:1px solid #e2dbd2;flex-wrap:wrap;gap:5px;padding:10px 14px 11px;display:flex}.sidebar-footer>span{color:#69564b;background:#ffffffb8;border:1px solid #d9d0c7;border-radius:6px;padding:4px 6px;font-size:9px;font-weight:700}.sidebar-footer p{color:#827064;width:100%;margin:2px 1px 0;font-size:9px;line-height:1.35}.sidebar-about{color:#756256;width:100%;margin-top:2px;font-size:9px}.sidebar-about summary{cursor:pointer;width:max-content;font-weight:800}.sidebar-about p{margin-top:5px}.advanced-controls{border-top:1px solid #dfd7ce;margin-top:14px;padding-top:12px}.advanced-controls summary{color:#735f53;cursor:pointer;align-items:center;gap:6px;font-size:10.5px;font-weight:750;list-style:none;display:flex}.advanced-controls summary::-webkit-details-marker{display:none}.advanced-controls summary:after{content:"+";color:#9a8679;margin-left:auto;font-size:16px;font-weight:500}.advanced-controls[open] summary:after{content:"−"}.month-summary{background:#fff;border:1px solid #ddd2c8;border-radius:11px;margin:-1px 0 9px;padding:9px 10px 9px 41px;position:relative;overflow:hidden}.month-summary:before{content:"";background:#edaf3d;border-radius:50%;width:18px;height:18px;position:absolute;top:10px;left:12px;box-shadow:0 0 0 5px #edaf3d26}.month-summary.winter:before{background:#e8c675;box-shadow:0 0 0 5px #6d9ab724}.month-summary.spring:before{background:#edb73f;box-shadow:0 0 0 5px #74a36024}.month-summary.summer:before{background:#f3992f;box-shadow:0 0 0 5px #ee912f2b}.month-summary.autumn:before{background:#dc8e3d;box-shadow:0 0 0 5px #b9703626}.month-summary>span{color:#907a6a;letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px;font-size:9px;font-weight:850;display:block}.month-summary strong{color:#3d2e26;font-size:12px;display:block}.month-summary p{color:#756156;margin:4px 0 0;font-size:10px;line-height:1.38}.month-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;display:grid}.month-card{color:#655247;cursor:pointer;background:#fff;border:1px solid #ded4cb;border-radius:8px;grid-template-rows:28px auto;min-width:0;height:49px;padding:4px 3px 5px;transition:transform .15s,border-color .15s,box-shadow .15s;display:grid}.month-card:hover{border-color:#bda99a;transform:translateY(-1px);box-shadow:0 4px 10px #442f2117}.month-card.selected{color:#fff;background:#704934;border-color:#704934;box-shadow:0 4px 12px #52332338}.month-card b{font-size:9px;line-height:1}.month-sky{background:linear-gradient(#dceaf1,#f7efe0);border-radius:5px;display:block;position:relative;overflow:hidden}.month-card.spring .month-sky{background:linear-gradient(#d9ebef,#eef2ce)}.month-card.summer .month-sky{background:linear-gradient(#bfe4f1,#fde3a8)}.month-card.autumn .month-sky{background:linear-gradient(#dbe7ec,#f3d4a5)}.month-sky:after{content:"";background:#56473d38;height:1px;position:absolute;bottom:2px;left:0;right:0}.month-sky i{background:#f1a62e;border-radius:50%;width:7px;height:7px;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 0 0 2px #ffcf5633}.month-card.selected .month-sky{box-shadow:inset 0 0 0 1px #ffffff73}.month-note{color:#8b786c;margin:7px 1px 0;font-size:9px;line-height:1.35}.sidebar-context,.sidebar-time-control,.sidebar-scroll,.sidebar-footer{width:100%;min-width:0;max-width:100%}.sidebar-sun-details{border-top:1px solid var(--color-border);margin:17px 0 0;padding-top:14px;display:block}.sidebar-sun-details summary{color:var(--color-fg-muted);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;align-items:center;gap:7px;font-size:11px;font-weight:800;list-style:none;display:flex}.sidebar-sun-details summary::-webkit-details-marker{display:none}.sidebar-sun-details summary:after{content:"+";color:var(--color-primary);margin-left:auto;font-size:17px;font-weight:500}.sidebar-sun-details[open] summary:after{content:"−"}.sidebar-sun-details summary svg{width:15px;height:15px}.sidebar-sun-details .solar-facts{margin-top:12px}.feedback-backdrop{z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1c140f9e;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.feedback-modal{color:#34271f;background:#fffdfa;border:1px solid #fff9;border-radius:18px;width:min(480px,100%);max-height:calc(100svh - 40px);padding:25px;position:relative;overflow:auto;box-shadow:0 28px 80px #1b120c57}.feedback-close{color:#705c50;cursor:pointer;background:#fff;border:1px solid #e2d8cf;border-radius:9px;place-items:center;width:34px;height:34px;padding:0;display:grid;position:absolute;top:12px;right:12px}.feedback-close svg{width:16px}.feedback-heading{align-items:flex-start;gap:12px;padding-right:35px;display:flex}.feedback-heading>span{color:#fff;background:#704934;border-radius:11px;flex:none;place-items:center;width:38px;height:38px;display:grid}.feedback-heading svg{width:19px}.feedback-heading h2,.feedback-success h2{margin:1px 0 4px;font-family:Georgia,Times New Roman,serif;font-size:21px}.feedback-heading p,.feedback-success p{color:#79675b;margin:0;font-size:12px;line-height:1.45}.feedback-form{gap:15px;margin-top:20px;display:grid}.feedback-form fieldset{border:0;margin:0;padding:0}.feedback-form legend,.feedback-form label>span{color:#5e4b40;margin-bottom:7px;font-size:11px;font-weight:800;display:block}.feedback-form label>span em{color:#927f72;font-size:10px;font-style:normal;font-weight:500}.feedback-options{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.feedback-options button{color:#665247;cursor:pointer;background:#fff;border:1px solid #ded3ca;border-radius:9px;height:37px;font-weight:750}.feedback-options button.selected{color:#fff;background:#704934;border-color:#704934}.feedback-form select,.feedback-form textarea,.feedback-form input{box-sizing:border-box;color:#34271f;width:100%;font:inherit;background:#fff;border:1px solid #ded3ca;border-radius:10px;outline-color:#81553d;font-size:13px}.feedback-form select,.feedback-form input{height:41px;padding:0 11px}.feedback-form textarea{resize:vertical;min-height:108px;padding:10px 11px;line-height:1.45}.feedback-form label{position:relative}.feedback-form label>small{color:#9a897e;background:#ffffffe0;padding:2px 4px;font-size:9px;position:absolute;bottom:6px;right:7px}.feedback-honeypot{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.feedback-error{color:#a33e2f;margin:-3px 0 0;font-size:11px;line-height:1.4}.feedback-actions{justify-content:flex-end;gap:8px;padding-top:2px;display:flex}.feedback-actions button,.feedback-success button{cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:7px;height:39px;padding:0 14px;font-weight:750;display:inline-flex}.feedback-actions svg{width:14px}.feedback-cancel{color:#705c50;background:#fff;border:1px solid #ded3ca}.feedback-submit,.feedback-success button{color:#fff;background:#704934;border:1px solid #704934}.feedback-submit:disabled{opacity:.65;cursor:wait}.feedback-success{text-align:center;padding:25px 8px 11px}.feedback-success>span{color:#fff;background:#64855a;border-radius:50%;place-items:center;width:48px;height:48px;margin:0 auto 12px;display:grid}.feedback-success>span svg{width:23px}.feedback-success button{margin-top:20px}.map-canvas{background:#d9d4cc;min-width:0;height:100%;position:relative;overflow:hidden}.map-tools{z-index:20;gap:7px;display:flex;position:absolute;top:12px;left:12px}.map-tool{color:#49382e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;background:#fffdf9eb;border:1px solid #3d2c1a29;border-radius:10px;align-items:center;gap:7px;height:36px;padding:0 11px;font-size:12px;font-weight:750;display:inline-flex;box-shadow:0 7px 22px #281f1626}.map-tool:hover,.map-tool.active{background:#fffaf3;border-color:#81553d73}.map-tool.active{color:#fff;background:#704934}.map-tool svg{width:15px;height:15px}.placement-tool{color:#fff;background:#704934}.placement-tool svg:last-child{opacity:.8;width:12px;margin-left:2px}.timeline-row{grid-template-columns:48px 112px minmax(0,1fr);align-items:center;gap:9px;display:grid}.timeline-clock{background:#fff;border:2px solid #6f594c;border-radius:50%;width:46px;height:46px;position:relative;box-shadow:inset 0 1px 4px #3223191f}.timeline-clock>i{transform-origin:50% 18px;background:#8b776b;border-radius:1px;width:1px;height:4px;position:absolute;top:3px;left:50%}.timeline-clock>span{transform-origin:50% 100%;background:#4a382e;border-radius:2px;width:2px;position:absolute;bottom:50%;left:50%}.timeline-clock .clock-hour{height:12px}.timeline-clock .clock-minute{background:#b86f27;height:17px}.timeline-clock>b{background:#4a382e;border-radius:50%;width:5px;height:5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.timeline-time{min-width:0}.timeline-time-controls{align-items:center;gap:3px;display:flex}.clock-time-input{color:#2f241e;font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:5px;outline-color:#81553d;width:110px;padding:1px 2px;font-size:22px;font-weight:800;line-height:1;display:block}.timeline-time span{color:#756357;text-overflow:ellipsis;white-space:nowrap;max-width:94px;margin-top:3px;font-size:9px;display:block;overflow:hidden}.timeline-slider{min-width:0}.timeline-slider input{accent-color:#81553d;cursor:ew-resize;width:100%;height:15px;margin:2px 0 0}@media (width<=980px) and (width>=761px){.dashboard{grid-template-columns:276px minmax(0,1fr)}.sidebar-scroll{padding-left:13px;padding-right:13px}}@media (width<=760px){.app-header{justify-content:flex-start;height:54px;padding:0 10px}.mobile-menu-button{display:inline-flex}.brand-lockup{gap:8px}.brand-mark,.brand-kicker,.beta-chip,.header-button span{display:none}.app-title-row{min-width:0}.app-title{text-overflow:ellipsis;max-width:calc(100vw - 118px);font-size:18px;overflow:hidden}.app-title-by{display:none}.header-actions{margin-left:auto}.header-button{width:34px;padding:0}.dashboard{height:calc(100svh - 54px);min-height:520px;display:block;overflow:hidden}.dashboard-sidebar{z-index:55;width:min(340px,78vw);transition:transform .22s;position:absolute;top:0;bottom:0;left:0;transform:translate(-102%);box-shadow:16px 0 42px #1c140e47}.dashboard-sidebar.open{transform:translate(0)}.sidebar-scroll{padding:13px 14px 16px}.sidebar-footer,.location-search-submit{display:none}.location-search-form input{width:100%!important}.sidebar-context button{display:grid}.map-canvas{height:100%}.map-tools{top:9px;left:9px}.map-tool{justify-content:center;width:38px;padding:0}.map-tool span{display:none}.placement-tool{width:auto;padding:0 9px}.placement-tool span{display:inline}.sidebar-time-control{padding:7px 9px}.timeline-row{grid-template-columns:42px 106px minmax(0,1fr);gap:7px}.timeline-clock{width:40px;height:40px}.timeline-clock>i{transform-origin:50% 15px}.timeline-clock .clock-hour{height:10px}.timeline-clock .clock-minute{height:14px}.clock-time-input{width:104px;font-size:18px}.timeline-time span{max-width:80px}.feedback-backdrop{align-items:end;padding:10px}.feedback-modal{border-radius:17px 17px 12px 12px;max-height:calc(100svh - 20px);padding:21px 17px}}@media (prefers-reduced-motion:reduce){.dashboard-sidebar{transition:none}}.app-shell{background:var(--color-surface-alt);color:var(--color-fg)}.app-header{background:var(--color-primary-800)}.brand-kicker,.beta-chip{color:var(--color-primary-100)}.dashboard-sidebar{border-color:var(--color-border);background:var(--color-surface-alt)}.sidebar-context{border-color:var(--color-border);background:var(--color-surface)}.sidebar-context span,.sidebar-context small,.month-note{color:var(--color-fg-faint)}.sidebar-context strong{color:var(--color-fg)}.sidebar-context button{border-color:var(--color-border);color:var(--color-fg-muted);background:var(--color-surface)}.sidebar-tabs{border-color:var(--color-border);background:var(--color-primary-50)}.sidebar-tabs button{color:var(--color-fg-muted)}.sidebar-tabs button:hover{background:var(--color-surface)}.sidebar-tabs button.active{color:var(--color-primary-800);background:var(--color-surface);box-shadow:inset 0 -2px var(--color-primary), 0 2px 8px #44170a14}.sidebar-footer{border-color:var(--color-border);background:var(--color-primary-50)}.sidebar-footer>span{border-color:var(--color-border);color:var(--color-fg-muted);background:var(--color-surface)}.sidebar-footer p,.sidebar-about{color:var(--color-fg-faint)}.advanced-controls{border-color:var(--color-border)}.advanced-controls summary{color:var(--color-fg-muted)}.month-summary{border-color:var(--color-border);background:var(--color-surface)}.month-summary>span{color:var(--color-fg-faint)}.month-summary strong{color:var(--color-fg)}.month-summary p{color:var(--color-fg-muted)}.month-card{border-color:var(--color-border);color:var(--color-fg-muted);background:var(--color-surface)}.month-card:hover{border-color:var(--color-primary-300)}.month-card.selected{border-color:var(--color-primary);background:var(--color-primary);box-shadow:0 4px 12px color-mix(in srgb, var(--color-primary) 24%, transparent)}.feedback-modal{border-color:var(--color-border);color:var(--color-fg);background:var(--color-surface)}.feedback-close{border-color:var(--color-border);color:var(--color-fg-muted);background:var(--color-surface)}.feedback-heading>span{background:var(--color-primary)}.feedback-heading p,.feedback-success p,.feedback-form legend,.feedback-form label>span{color:var(--color-fg-muted)}.feedback-form label>span em{color:var(--color-fg-faint)}.feedback-options button,.feedback-form select,.feedback-form textarea,.feedback-form input{border-color:var(--color-border);color:var(--color-fg);background:var(--color-surface);outline-color:var(--color-primary)}.feedback-options button.selected,.feedback-submit,.feedback-success button{border-color:var(--color-primary);background:var(--color-primary)}.feedback-submit:hover,.feedback-success button:hover{background:var(--color-primary-700)}.feedback-cancel{border-color:var(--color-border);color:var(--color-fg-muted);background:var(--color-surface)}.feedback-error{color:var(--color-danger)}.feedback-success>span{background:var(--color-success)}.map-tool{border-color:var(--color-border);color:var(--color-fg-muted);background:color-mix(in srgb, var(--color-surface) 94%, transparent)}.map-tool:hover{border-color:var(--color-primary-300);background:var(--color-primary-50)}.map-tool.active,.placement-tool{border-color:var(--color-primary);color:#fff;background:var(--color-primary)}.clock-time-input{outline-color:var(--color-primary);color:var(--color-fg)}.timeline-slider input{accent-color:var(--color-primary)}.consent-banner{z-index:1200;border:1px solid var(--color-border-strong);width:min(520px,100vw - 36px);color:var(--color-fg);background:var(--color-surface);border-radius:14px;align-items:center;gap:18px;padding:15px 16px;display:flex;position:fixed;bottom:18px;right:18px;box-shadow:0 18px 55px #44170a33}.consent-banner>div:first-child{min-width:0}.consent-banner strong{font-size:13px}.consent-banner p{color:var(--color-fg-muted);margin:4px 0 0;font-size:10.5px;line-height:1.45}.consent-actions{flex:none;align-items:center;gap:7px;display:flex}.consent-actions a{color:var(--color-fg-muted);font-size:10px;font-weight:750}.consent-actions button{cursor:pointer;border-radius:8px;height:34px;padding:0 10px;font-size:10.5px;font-weight:800}.consent-decline{border:1px solid var(--color-border);color:var(--color-fg-muted);background:var(--color-surface)}.consent-accept{border:1px solid var(--color-primary);color:#fff;background:var(--color-primary)}.consent-accept:hover{background:var(--color-primary-700)}@media (width<=760px){.consent-banner{width:auto;padding:13px;display:block;bottom:10px;left:10px;right:10px}.consent-actions{justify-content:flex-end;margin-top:10px}}
