.floating-window-scene-viewshed .floating-window-content { overflow: auto; }
body[data-mode="management"] .floating-window-scene-viewshed { visibility: hidden; pointer-events: none; }
.terrain-viewshed-panel { padding: 16px; color: #f4f7fa; font-size: 13px; }
.terrain-viewshed-panel button { border: 1px solid #ffffff38; border-radius: 6px; background: #ffffff10; color: inherit; padding: 7px 10px; cursor: pointer; }
.terrain-viewshed-panel label { display: block; margin-top: 12px; }
.terrain-viewshed-panel output { float: right; font-variant-numeric: tabular-nums; color: #bbdbe9; }
.terrain-viewshed-panel input[type="range"] { display: block; width: 100%; margin-top: 5px; accent-color: #65bff6; }
.terrain-viewshed-panel small, .terrain-viewshed-panel .viewshed-note { color: #b9c6ce; line-height: 1.45; font-size: 11px; }
.terrain-viewshed-panel [role="status"] { font-size: 12px; line-height: 1.5; }
.viewshed-legend { display: flex; flex-wrap: wrap; gap: 12px; margin: 12px 0; font-size: 11px; }
.viewshed-legend span::before { content: ""; display: inline-block; width: 10px; height: 10px; margin-right: 5px; border-radius: 2px; background: #a0a7ad; }
.viewshed-legend .is-visible::before { background: #3ddc84; }
.viewshed-legend .is-occluded::before { background: #ff5c5c; }
.viewshed-observer { width: 22px; height: 22px; cursor: grab; }
