.iskort-horizon-open { display:block; width:100%; margin-top:8px; padding:7px; border:1px solid #9bacbd; border-radius:4px; background:#eaf3fa; color:#143b63; font:12px Arial,sans-serif; cursor:pointer; }
.iskort-horizon-panel { position:fixed; top:70px; right:12px; z-index:1200; width:min(440px,calc(100vw - 24px)); max-height:calc(100dvh - 94px); overflow:auto; box-sizing:border-box; background:white; color:#172e43; padding:14px; border:1px solid #9bacbd; border-radius:8px; box-shadow:0 3px 12px #0004; font:13px/1.5 Arial,sans-serif; }
.iskort-horizon-head { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.iskort-horizon-controls { display:flex; flex-wrap:wrap; gap:8px; align-items:end; margin:8px 0; }
.iskort-horizon-controls label { flex:1 1 140px; }
.iskort-horizon-controls input, .iskort-horizon-controls select { display:block; box-sizing:border-box; width:100%; min-width:0; font:inherit; padding:4px; border:1px solid #9bacbd; border-radius:4px; color:inherit; background:white; }
.iskort-horizon-panel button { font:inherit; padding:5px 9px; border:1px solid #9bacbd; border-radius:4px; background:#eaf3fa; color:#143b63; cursor:pointer; }
.iskort-horizon-calculate { width:100%; }
.iskort-horizon-panel button:disabled { opacity:.6; cursor:wait; }
.iskort-horizon-panel :focus-visible { outline:2px solid #005a9c; outline-offset:2px; }
.iskort-horizon-note { font-size:11px; color:#425366; margin:7px 0; }
.iskort-horizon-verdict { font-weight:bold; margin:10px 0 4px; }
.iskort-horizon-chart svg, .iskort-horizon-day svg { display:block; width:100%; height:auto; }
.iskort-horizon-panel svg text { fill:#425366; font:18px Arial,sans-serif; }
.horizon-missing { fill:#ebedef; }
.horizon-grid { stroke:#dce5eb; stroke-width:1; }
.horizon-line { stroke:#176a93; stroke-width:2; }
.horizon-gap { stroke:#8d9297; stroke-width:2; stroke-dasharray:3 3; }
.horizon-sun-line { stroke:#d47c00; stroke-width:1; stroke-dasharray:4 3; }
.horizon-sun { fill:#ef9d13; stroke:#8a4c00; }
.hs-clear { fill:#edc847; }.hs-shadow { fill:#805426; }.hs-night { fill:#25344d; }.hs-unknown { fill:#c0c3c7; }.hs-edge { fill:#b684bc; }

.iskort-horizon-names-list {max-height:240px;overflow:auto;}
.iskort-horizon-names table {width:100%;border-collapse:collapse;font-size:13px;}
.iskort-horizon-names th,.iskort-horizon-names td {padding:5px;text-align:left;border-bottom:1px solid #ddd;}
.iskort-horizon-names h3 {font-size:15px;margin:12px 0 4px;}
.iskort-horizon-chart .horizon-name-tick {stroke:#692f92;stroke-width:2;}
.iskort-horizon-chart .horizon-name-label {fill:#692f92;font-size:11px;}
.iskort-horizon-panel button.horizon-name-select {border:0;background:none;color:#125c99;text-decoration:underline;padding:4px 0;text-align:left;cursor:pointer;} .horizon-name-action {cursor:pointer;} .horizon-name-action:focus .horizon-name-tick {stroke:#111;stroke-width:5;}
.iskort-horizon-point-controls {display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;} .iskort-horizon-point-controls p {flex-basis:100%;margin:0;}
.iskort-horizon-names .visibility-likely {color:#176227;font-weight:bold;} .iskort-horizon-names .visibility-hidden {color:#8b3026;font-weight:bold;} .iskort-horizon-names .visibility-unknown {color:#685316;} .iskort-visibility-calculate {margin-top:8px;}
.iskort-viewshed {border-top:1px solid #ddd;border-bottom:1px solid #ddd;margin:10px 0;padding:8px 0;} .iskort-viewshed h3 {font-size:15px;margin:0 0 6px;} .iskort-viewshed p {font-size:12px;margin:6px 0;} .viewshed-legend {display:flex;flex-wrap:wrap;gap:8px;font-size:12px;} .viewshed-key::before {content:"";display:inline-block;width:12px;height:12px;margin-right:4px;vertical-align:middle;border:1px solid #555;} .viewshed-key-1::before {background:#199b41;} .viewshed-key-2::before {background:#af2d37;} .viewshed-key-3::before {background:#6e6e6e;}
.leaflet-image-layer.iskort-viewshed-image {image-rendering:pixelated;}
