/* 線上水平儀頁專用樣式；共用元件沿用 site.css */
.sl-panel[hidden] { display: none; }
.sl-panel { margin: 10px 0; }
.sl-view[hidden] { display: none; }
.sl-view { margin: 8px auto; }
#sl-flat { width: min(80vw, 320px); aspect-ratio: 1; }
#sl-bar { width: min(100%, 420px); }
.sl-view svg { display: block; width: 100%; height: 100%; }
.sl-mode { text-align: center; font-weight: 600; margin: 4px 0; }
.sl-readout { text-align: center; margin: 6px 0; }
.sl-deg { display: block; font-variant-numeric: tabular-nums; font-size: clamp(2.4rem, 12vw, 3.6rem); font-weight: 800; line-height: 1.15; color: var(--brand-dark); }
.sl-state { display: block; font-size: 1.2rem; font-weight: 700; min-height: 1.5em; }
.sl-axes { display: block; font-size: 1rem; color: var(--muted); font-variant-numeric: tabular-nums; }
#sl-live.level .sl-deg, #sl-live.level .sl-state { color: #15803d; }
#sl-live.level #sl-ring { stroke: #15803d; }
#sl-live.level #sl-bubble, #sl-live.level #sl-bbubble { fill: #4ade80; stroke: #15803d; }
#sl-live.level #sl-bl, #sl-live.level #sl-br { stroke: #15803d; }
.sl-ctl { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; max-width: 420px; margin: 10px auto; }
.sl-ctl .btn { min-height: 50px; }
.sl-box { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 12px 16px; }
.sl-box.warn { border-color: var(--bad); background: #fef2f2; }
.sl-url { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0; }
.sl-url input { flex: 1 1 200px; min-width: 0; }
.sl-box ol { margin: .4rem 0 .4rem 1.2rem; padding: 0; }
.sl-disclaimer { background: #fffbeb; border-left: 4px solid #f59e0b; padding: 10px 14px; border-radius: 6px; font-size: 1rem; margin: 10px 0; }
