:root{color-scheme:dark;font-family:system-ui,sans-serif;color:#dce8e5;background:#101b1a}*{box-sizing:border-box}body{margin:0}header,main{max-width:1120px;margin:auto;padding:26px}header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #314340}.brand{font-size:27px;font-weight:750;text-decoration:none;color:#eef8f4}.brand span{color:#7cddba}nav{display:flex;gap:28px}a{color:#93e5c7;text-underline-offset:4px}h1{font-size:clamp(38px,6vw,66px);letter-spacing:-2px;line-height:1.08;margin:18px 0 24px;font-weight:650}h2{font-size:30px;margin:0}h3{font-size:20px}.eyebrow{letter-spacing:2px;color:#84c6b1;font-size:12px;margin-top:38px}.intro{max-width:none;font-size:19px;line-height:1.6;color:#a9beb7}p{line-height:1.65;color:#afc2bc}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:40px 0 55px}.cards article{padding:22px;border:1px solid #334941;border-radius:12px;background:#172722}.cards span{font-size:13px;color:#a3bcb1}.cards strong{display:block;font-size:25px;margin-top:12px;font-weight:550}section{scroll-margin-top:24px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:15px}#updated{font-size:12px;color:#9db3aa}.tabs{display:flex;gap:8px;margin-top:22px}button,.button{border:1px solid #486456;border-radius:7px;padding:11px 16px;font:inherit;cursor:pointer;text-decoration:none}button{background:transparent;color:#c5d9d0}button.selected,.button{background:#8cdcb6;color:#102c20}.stream{border-top:1px solid #354a40;padding:20px 0;overflow:auto}.stream h3{font-size:15px;overflow-wrap:anywhere}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;border-bottom:1px solid #293d34;padding:10px 8px;white-space:nowrap}th{color:#9ebbae;font-weight:500}.empty{padding:28px;background:#172722;border-radius:12px;color:#a9c0b4}#composer{margin-top:70px;padding-top:30px;border-top:1px solid #354a40}.download{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;background:#172722;padding:26px;border-radius:12px}.download p{font-size:14px}.button{display:inline-block;margin:10px 12px 10px 0}pre{white-space:pre-wrap;overflow-wrap:anywhere;align-self:center;font-size:13px;line-height:1.9;background:#102019;padding:20px;border-radius:8px}footer{border-top:1px solid #354a40;margin-top:55px;padding:22px 0;font-size:12px;color:#91aa9e;line-height:1.7}@media(max-width:720px){header,main{padding:20px}.cards{grid-template-columns:1fr 1fr}.cards article{padding:15px}.cards strong{font-size:21px}.download{grid-template-columns:1fr}.section-title{align-items:start;flex-direction:column}nav{font-size:14px;gap:15px}}

.sensor-readings{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.sensor-readings .stream{margin:0 0 1rem;min-width:0}.sensor-readings small{color:var(--muted,#9eb8ae)}

.graphs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}.graph{min-width:0;padding:18px;background:#172722;border:1px solid #334941;border-radius:12px}.graph h4{margin:0;color:#b7d0c5;font-size:15px;font-weight:500}.graph-value{font-size:18px;color:#dcefe5;min-height:3em;line-height:1.45;margin:12px 0 0}.graph svg{display:block;width:100%;overflow:visible}.graph-grid{stroke:#324d40;stroke-width:1}.graph-axis{fill:#9ab6a8;font:11px system-ui}.graph-line{fill:none;stroke:#8cdcb6;stroke-width:2}.graph-line-diagnostic{stroke-dasharray:1 5;stroke-linecap:round}.graph-point{fill:#8cdcb6;stroke:transparent;stroke-width:6;cursor:pointer}.graph-point:focus,.graph-point:hover{fill:#fff;stroke:transparent;stroke-width:6;r:3;outline:none}.graph-empty{min-height:100px;display:flex;align-items:center}.sensor-heading{display:flex;align-items:center;gap:16px}.sensor-heading h3{font-size:23px;margin:0}.rename{padding:6px 12px;font-size:13px}.sensor-id{font-size:12px;overflow-wrap:anywhere}.table-scroll{overflow:auto}summary{cursor:pointer;color:#c5d9d0;margin:18px 0}.stream{overflow:visible}@media(max-width:640px){.graphs{grid-template-columns:1fr}.graph{padding:14px}}

@media(max-width:640px){.graph-axis{font-size:15px}}

.sensor-tabs{display:flex;flex-wrap:wrap;gap:8px;max-width:100%;padding:6px 2px 12px;margin-top:18px}.sensor-tabs button{flex:0 1 auto;min-width:0;max-width:100%;overflow-wrap:anywhere;text-align:left;border:1px solid #456256;background:#172722;color:#b7d0c5;border-radius:10px;padding:10px 16px}.sensor-tabs button[aria-selected="true"]{background:#a5e7bf;color:#10231b;border-color:#a5e7bf}.sensor-tabs button:focus-visible{outline:2px solid #dcefe5;outline-offset:2px}

.hive-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:20px}.hive-card{display:block;padding:24px;border:1px solid #456256;border-radius:12px;background:#172722;text-decoration:none;overflow-wrap:anywhere}.hive-card h3{margin:0;color:#dce8e5}.hive-card span{font-size:14px}.hive-card:focus-visible{outline:2px solid #dcefe5;outline-offset:2px}.connection-note{margin-top:40px}nav [aria-current="page"]{font-weight:700;text-decoration-thickness:2px}

.brand{display:inline-block;font-size:27px;line-height:1;font-weight:650;letter-spacing:-.6px}.brand span{display:block;margin-top:5px;font-size:13px;font-weight:500;letter-spacing:1.8px}.site-domain{font-size:14px;color:#93e5c7;margin:0 0 14px}

.brand img{display:block;width:auto;height:54px;max-width:100%;object-fit:contain;filter:brightness(0) invert(1)}@media(max-width:720px){.brand img{height:44px}}

/* Constrain flexible children; only the reading table owns horizontal scrolling. */
header{gap:16px}.brand{min-width:0;flex-shrink:1}nav{flex-shrink:0}nav a{display:inline-flex;align-items:center;min-height:44px}.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.cards article,.stream,#streams{min-width:0}.cards strong{overflow-wrap:anywhere}.reading-help{margin-top:14px}.reading-help summary{font-size:14px;margin:0;padding:10px 0}.reading-help p{max-width:none}#note{font-size:13px;color:#9db3aa;margin:10px 0 14px}.hive-picker{display:none}.sensor-heading{justify-content:space-between}.sensor-heading h3{min-width:0}.rename{flex-shrink:0;min-height:44px}.table-scroll{max-width:100%;overscroll-behavior-x:contain}.hive-grid{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}.graph-legend{display:flex;flex-wrap:wrap;gap:8px}.graph-value{overflow-wrap:anywhere}
@media(max-width:720px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
 header,main{padding:16px}header{gap:12px;padding-top:10px;padding-bottom:10px}.brand img{height:auto;width:145px;max-width:100%}nav{gap:12px}nav a{padding:8px 0}.eyebrow{margin:12px 0 8px;font-size:10px;letter-spacing:1.5px}h1{font-size:32px;letter-spacing:-1px;margin:10px 0 12px}h2{font-size:25px}.intro{font-size:16px;line-height:1.5;margin:0 0 12px}.cards{gap:8px;margin:20px 0 24px}.cards article{padding:12px}.cards span{font-size:11px}.cards strong{font-size:19px;line-height:1.25;margin-top:5px}.section-title{gap:6px}.sensor-tabs{display:none}.hive-picker{display:grid;gap:6px;font-size:13px;color:#b7d0c5;margin:16px 0}.hive-picker select{display:block;min-width:0;width:100%;min-height:48px;padding:10px 34px 10px 12px;border:1px solid #638774;border-radius:9px;background:#172722;color:#dcefe5;font:inherit;font-size:16px;text-overflow:ellipsis}.hive-picker select:focus-visible{outline:2px solid #a5e7bf;outline-offset:2px}.stream{padding-top:16px}.sensor-heading{gap:10px}.sensor-heading h3{font-size:20px}.sensor-id{margin:8px 0}.record-count{font-size:13px}.graphs{margin:16px 0;gap:12px}.graph{padding:12px}.graph-empty{min-height:60px}.hive-card{padding:18px}.hive-card p{font-size:14px}.hive-card h3{font-size:19px}.connection-note{margin-top:28px}footer{margin-top:32px}#streams>p{overflow-wrap:anywhere}
}

.component-list{margin:16px 0;border:1px solid #344b40;border-radius:10px;padding:0 14px}.component-list summary{min-height:44px;padding:12px 0;cursor:pointer}.component-note{font-size:13px;color:#9db3aa}.component-list dl{margin:12px 0}.component-list dl>div{display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,2fr);gap:12px;padding:10px 0;border-top:1px solid #344b40}.component-list dt{font-weight:600}.component-list dd{margin:0;color:#b7d0c5}.component-list dt,.component-list dd{overflow-wrap:anywhere}@media(max-width:600px){.component-list dl>div{grid-template-columns:1fr;gap:4px}.component-list dd{font-size:14px}}

.hive-details{margin:16px 0;padding:18px;border:1px solid #344b40;border-radius:10px;background:#172722}.hive-details h3{margin:0 0 16px}.hive-details dl{margin:0}.hive-details dl>div{display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,2fr);gap:12px;padding:8px 0}.hive-details dt{color:#a9beb7}.hive-details dd{margin:0;overflow-wrap:anywhere}.hive-identity{font-family:ui-monospace,monospace}.identity-note{font-size:12px;margin:4px 0 12px}.firmware-list small{display:block;font-size:12px;color:#a9beb7;line-height:1.5;margin-top:5px}.component-links{display:flex;flex-wrap:wrap;gap:4px 16px}.component-links a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}.hive-card-identity{font-size:12px;font-family:ui-monospace,monospace}@media(max-width:600px){.hive-details{padding:14px}.hive-details dl>div{grid-template-columns:1fr;gap:4px}.hive-details dt{font-size:13px}}

.ensemble-list{margin:16px 0;padding:0 14px;border:1px solid #344b40;border-radius:10px}.ensemble-list summary{min-height:44px;padding:12px 0}.ensemble-note{font-size:13px}.ensemble-items article{border-top:1px solid #344b40;padding:16px 0}.ensemble-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.ensemble-heading h4{margin:0;font-size:17px}.ensemble-status{font-size:12px;color:#a5e7bf}.ensemble-items p{font-size:13px;margin:8px 0}.ensemble-items dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:16px}.ensemble-items dt{font-size:12px;color:#9db3aa;margin-bottom:6px}.ensemble-items dd{margin:0;min-width:0}.ensemble-items dd>div{margin-bottom:8px;overflow-wrap:anywhere}.ensemble-items code,.ensemble-items small{display:block;font-size:11px;line-height:1.5;color:#afc2bc}.ensemble-items dd span{font-size:14px}@media(max-width:600px){.ensemble-items dl{grid-template-columns:1fr;gap:8px}}

@media(max-width:600px){header{flex-wrap:wrap}header nav{width:100%;justify-content:space-between}}

.graph-time,.reading-freshness-note{font-size:12px;line-height:1.5;color:#b7d0c5;overflow-wrap:anywhere}.reading-freshness{padding:12px;border-left:3px solid #8cdcb6;background:#172722;font-size:15px;line-height:1.5}.reading-freshness-note{margin-top:0}

/* Calm discovery: observations first, technical details on request. */
[hidden]{display:none!important}
:focus-visible{outline:3px solid #eafaf2;outline-offset:4px}
.skip-link{position:absolute;left:16px;top:-100px;z-index:20;background:#101b1a;padding:14px;border:2px solid #eafaf2}
.skip-link:focus{top:12px}

#breadcrumb{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:10px;font-size:14px;margin:12px 0}#breadcrumb-hive{min-width:0;overflow-wrap:anywhere}
#page-heading{outline-offset:8px}#overview-summary{margin:24px 0 0;font-size:16px}
.observation-card{border-left:5px solid #94afa4;padding:22px;transition:background-color 140ms ease,border-color 140ms ease}
.observation-card h2{font-size:23px;letter-spacing:-.4px;overflow-wrap:anywhere}
.observation-card:hover{background:#20372e}.open-hive{display:inline-block;text-decoration:underline;text-underline-offset:4px}
.observation-card .last-received{font-size:13px;line-height:1.6}.card-values{font-size:14px;color:#cee0d7}.observation-card .freshness-badge{font-size:14px}
.freshness-badge{--state:#c2cfc9;display:flex;align-items:center;gap:10px;color:var(--state);font-weight:600;line-height:1.5}
.freshness-badge>span:first-child{font-size:23px;line-height:1;flex:none}
.freshness-badge.recent{--state:#a5e7bf}.freshness-badge.grade-3{--state:#f5d98b}.freshness-badge.grade-5{--state:#ffc189}.freshness-badge.grade-7{--state:#ffaaa1}.freshness-badge.grade-9{--state:#ffabc9}
.observation-card[data-state="recent"]{border-left-color:#a5e7bf}.observation-card[data-state="grade-3"]{border-left-color:#f5d98b}.observation-card[data-state="grade-5"]{border-left-color:#ffc189;border-left-width:6px}.observation-card[data-state="grade-7"]{border-left-color:#ffaaa1;border-left-width:7px}.observation-card[data-state="grade-9"]{border-left-color:#ffabc9;border-left-width:8px}
.hive-navigation{display:flex;flex-wrap:wrap;gap:20px;align-items:end;justify-content:space-between;margin:18px 0}.hive-navigation>a{display:inline-flex;align-items:center;min-height:48px;flex-shrink:0}
.hive-navigation .hive-picker{display:grid;gap:6px;width:min(100%,420px);min-width:0;margin:0;font-size:14px}.hive-picker select{min-width:0;width:100%;min-height:48px;padding:10px 12px;border:1px solid #90b7a3;border-radius:8px;background:#172722;color:#dcefe5;font:inherit;font-size:16px}
.stream>details+details{border-top:1px solid #456256}
.secondary-section{margin:22px 0;border-top:1px solid #456256;padding:4px 0}.secondary-section>summary{min-height:48px;margin:0;padding:12px 0;font-size:16px;font-weight:550}.secondary-section>summary:hover{text-decoration:underline;text-underline-offset:4px}
#data .stream{border-top:0;padding-top:0}#data .stream>.sensor-heading{display:none}#data .stream>details:first-of-type{margin-top:12px}.station-facts{display:flex;flex-wrap:wrap;gap:18px 40px}.station-facts dd{margin:6px 0}.station-facts dt{font-size:13px;color:#afc2bc}
#station-warning{padding:14px;border:2px solid #f5d98b;border-radius:8px;color:#f5d98b}#hive-last-received{font-size:14px}.table-scroll:focus-visible{outline-offset:2px}caption{text-align:left;padding:10px;color:#dce8e5}
.graph-point:focus-visible{stroke:#fff;stroke-width:4;r:7}.table-jump{display:inline-flex;min-height:44px;align-items:center}.reading-help p,.network-help{max-width:none}
@media(max-width:600px){.hive-navigation{align-items:stretch;flex-direction:column;gap:6px}.hive-navigation .hive-picker{width:100%}.observation-card h2{font-size:22px}.hive-grid{gap:14px}.nav-manage>a{right:0}#breadcrumb{width:auto;justify-content:flex-start}.observation-card{padding:18px}}
@media(prefers-reduced-motion:no-preference) and (hover:hover){.open-hive{transition:transform 140ms ease}.observation-card:hover .open-hive{transform:translateX(3px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){.observation-card,.graph,.hive-details{border:1px solid CanvasText}.freshness-badge{color:CanvasText}.graph-line{stroke:CanvasText!important}.graph-point{fill:CanvasText!important;stroke:transparent!important}.graph-point:focus-visible{outline:2px solid Highlight;outline-offset:3px}.graph-axis{fill:CanvasText}.network-node rect,.network-edge path{stroke:LinkText!important}.network-node text,.network-edge text{fill:CanvasText!important}.network-node rect{fill:Canvas!important}.network-node:focus-visible rect{stroke:Highlight!important;stroke-width:4}.legend-line{border-color:CanvasText!important}.brand img{filter:none}:focus-visible{outline-color:Highlight}}

.reading-freshness.unknown{border-left-color:#c2cfc9}.reading-freshness.grade-3{border-left-color:#f5d98b}.reading-freshness.grade-5{border-left-color:#ffc189}.reading-freshness.grade-7{border-left-color:#ffaaa1}.reading-freshness.grade-9{border-left-color:#ffabc9}

.graph h2{margin:0;color:#b7d0c5;font-size:15px;font-weight:500;letter-spacing:normal}#breadcrumb:not([hidden])~h1{font-size:clamp(32px,5vw,48px);overflow-wrap:anywhere}#main>.eyebrow{margin-top:18px}.network-node.is-highlighted rect{stroke:#fff;stroke-width:4}

/* Header disclosures share one aligned trigger row and one panel per menu. */
header nav{align-items:center;flex-wrap:wrap;gap:8px 16px}
.nav-manage,.nav-account{position:relative;max-width:180px;min-width:0}
.nav-manage[hidden]{display:none}
header nav>details>summary{display:flex;align-items:center;gap:8px;min-height:44px;margin:0;padding:0;line-height:1.4;list-style:none;overflow-wrap:anywhere}
header nav>details>summary::-webkit-details-marker{display:none}
header nav>details>summary::after{content:"";flex:none;width:6px;height:6px;margin:0 3px 3px 0;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
header nav>details[open]>summary::after{transform:rotate(225deg);margin-top:5px}
header nav>.nav-manage>summary,header nav>.nav-account>summary,header nav>a{line-height:1.4}
.nav-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:20;display:grid;gap:4px;min-width:180px;max-width:calc(100vw - 32px);padding:6px;background:#203a2e;border:1px solid #88bba6;border-radius:10px;box-shadow:0 8px 24px #0006}
.nav-panel a,.nav-panel button{display:flex;align-items:center;min-height:44px;width:100%;margin:0;padding:10px 12px;border-radius:6px;white-space:nowrap}
.nav-panel a:hover,.nav-panel a:focus-visible{background:#2d4c3e}
.nav-panel span{display:block;padding:8px 12px;font-size:13px;color:#b3d1c1}

/* Explanations have an information marker; actions and data retain their own disclosures. */
details.help-disclosure{margin:24px 0;padding:0 16px;border:1px solid #354d4c;border-left:3px solid #668987;border-radius:8px;background:#142322}
details.help-disclosure>summary{display:flex;align-items:center;gap:10px;min-height:48px;margin:0;padding:12px 0;list-style:none;font-size:14px;font-weight:500;color:#bad2ce}
details.help-disclosure>summary::-webkit-details-marker{display:none}
.help-mark{display:inline-flex;align-items:center;justify-content:center;flex:none;width:20px;height:20px;border:1px solid currentColor;border-radius:50%;font:700 14px Georgia,serif;color:#a6cac4}
details.help-disclosure>summary::after{content:"";flex:none;width:6px;height:6px;margin:0 3px 3px auto;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
details.help-disclosure[open]>summary::after{transform:rotate(225deg);margin-top:5px}
details.help-disclosure>summary:hover{text-decoration:underline;text-underline-offset:4px}
details.help-disclosure>p,details.help-disclosure>dl{font-size:14px;color:#afc5be}
details.help-disclosure>:last-child:not(summary){margin-bottom:16px}
@media(forced-colors:active){details.help-disclosure{background:Canvas;border-color:CanvasText}details.help-disclosure>summary,details.help-disclosure>p,details.help-disclosure>dl,.help-mark{color:CanvasText}}

.schedule-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:1rem;align-items:end}.schedule-form label{display:grid;gap:.4rem}.schedule-form input,.details-form input,.details-form select,.details-form textarea{background:#172722;color:#dce8e5;border:1px solid #486456;border-radius:7px;box-sizing:border-box;width:100%;min-width:0;font:inherit;padding:.6rem}.schedule-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin:1rem 0}#sensor-schedule form[hidden]{display:none}

.schedule-form label[hidden]{display:none}

.details-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px;margin-top:16px}.details-form label{display:grid;gap:6px;min-width:0}.details-form input,.details-form select,.details-form textarea{box-sizing:border-box;width:100%;min-width:0}.details-document,.details-form .schedule-actions{grid-column:1/-1}.details-document{margin:16px 0}.details-document pre{white-space:pre-wrap;overflow-wrap:anywhere}.details-form textarea{resize:vertical;font:inherit;font-family:monospace}#hive-location{overflow-wrap:anywhere}

.hive-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px 20px;margin:16px 0}.hive-facts[hidden]{display:none}.hive-facts>div{min-width:0}.hive-facts dt{font-size:12px;color:#a9beb7;text-transform:none}.hive-facts dd{margin:3px 0 0;font-size:15px;color:#e3eee8;overflow-wrap:anywhere}.hive-card .hive-facts{grid-template-columns:repeat(2,minmax(0,1fr))}

.retired-hive-list{list-style:none;padding:0;margin:8px 0}.retired-hive-list a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;overflow-wrap:anywhere}
.graph-axis-note{font-size:12px;line-height:1.5;color:#b7d0c5;overflow-wrap:anywhere}
.graph-window{margin:20px 0}.graph-window label{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.graph-window select{min-height:44px;padding:8px 12px;border:1px solid #90b7a3;border-radius:8px;background:#172722;color:#dcefe5;font:inherit}.graph-window p{font-size:13px;overflow-wrap:anywhere}
