/* Front-end scene labels (see SceneWebLabels.js).
 * Styling mirrors the project's in-engine label widgets: dark navy translucent cards, cyan frame and
 * stem, amber water levels, and an expanded three-pump table for the pressure pump station. */
#scene-web-labels{position:fixed;inset:0;pointer-events:none;z-index:79000;overflow:hidden;font:13px/1.4 'Microsoft YaHei','Segoe UI',sans-serif}
#scene-web-labels .scene-web-label{position:absolute;left:0;top:0;min-width:var(--swl-w,142px);min-height:var(--swl-h,44px);padding:6px 8px 7px;border:1px solid #1fbff2;border-radius:7px;background:rgba(3,15,36,.94);box-shadow:0 6px 20px rgba(0,0,0,.45),inset 0 0 0 1px rgba(31,191,242,.18);color:#e6f4ff;pointer-events:none}
#scene-web-labels .scene-web-label[hidden]{display:none}
#scene-web-labels .swl-head{display:flex;align-items:center;gap:6px;padding-bottom:4px}
#scene-web-labels .swl-title{font-size:16px;letter-spacing:.5px}
#scene-web-labels .swl-icon{position:relative;width:16px;height:16px;border:1px solid #1fbff2;border-radius:50%;flex:none}
#scene-web-labels .swl-icon:after{content:'';position:absolute;left:5px;top:3px;width:5px;height:5px;border-radius:50%;background:#1fbff2}
#scene-web-labels .swl-wave{font-style:normal;font-size:20px;line-height:1;color:#1fbff2}
#scene-web-labels .swl-rows{display:flex;flex-direction:column;gap:2px}
#scene-web-labels .swl-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:#9fc4d8}
#scene-web-labels .swl-row b{font-weight:500;color:#eaf6ff}
#scene-web-labels .swl-status{margin-top:3px;font-size:11px;color:#66a3bf}
#scene-web-labels .swl-water{display:flex;align-items:baseline;gap:4px}
#scene-web-labels .swl-value{font-size:24px;font-weight:500;color:#ffc914}
#scene-web-labels .scene-web-label[data-label=OuterWater] .swl-value{color:#1fbff2}
#scene-web-labels .swl-unit{font-size:12px;color:#9fc4d8}
#scene-web-labels .swl-pumps{display:flex;gap:8px}
#scene-web-labels .swl-pump{flex:1;min-width:0}
#scene-web-labels .swl-pump-name{font-size:12px;color:#eaf6ff;margin-bottom:4px}
#scene-web-labels .swl-pump-state{font-size:12px;color:#1fbff2;margin-bottom:4px}
#scene-web-labels .swl-pump .swl-row{font-size:11px;color:#8fb6cc}
#scene-web-labels .swl-updated{margin-top:5px;font-size:10px;color:#66a3bf}
#scene-web-labels .swl-stem{position:absolute;left:50%;top:100%;height:32px;border-left:1px solid #1fbff2}
#scene-web-labels .swl-dot{position:absolute;left:50%;top:calc(100% + 31px);width:18px;height:18px;margin-left:-9px;border:1px solid #1fbff2;border-radius:50%;background:rgba(3,28,44,.9)}
#scene-web-labels .swl-dot:after{content:'';position:absolute;left:4px;top:4px;width:8px;height:8px;border-radius:50%;background:#1fbff2}
#scene-web-label-views{position:fixed;left:16px;bottom:16px;z-index:79500;display:flex;gap:6px;padding:5px;border:1px solid #2c3a4a;border-radius:20px;background:rgba(8,14,22,.82);backdrop-filter:blur(3px)}
#scene-web-label-views[hidden]{display:none}
#scene-web-label-views button{border:0;border-radius:16px;background:transparent;color:#9fc4d8;font:12px/1 'Microsoft YaHei',sans-serif;padding:8px 14px;cursor:pointer}
#scene-web-label-views button:hover{background:rgba(31,191,242,.12);color:#d8efff}
#scene-web-label-views button[aria-pressed=true]{background:#1fbff2;color:#04121d}
@media (max-width:900px){#scene-web-labels .scene-web-label{transform-origin:bottom center;zoom:.86}#scene-web-label-views{left:8px;bottom:8px}}
