.weather-instrument{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#edf8ff;background:#03080c;--cyan:#36cfff;--green:#67e86a;--amber:#ffb340;--red:#ff5a4f;--line:#263a47}*{box-sizing:border-box}.weather-instrument{margin:0;min-height:100%;background:radial-gradient(circle at 50% -10%,#132835 0,#071118 38%,#020609 100%);color:#edf8ff}.weather-instrument{min-height:100vh;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.weather-shell{width:min(1480px,100%);margin:auto;border:1px solid #203743;background:linear-gradient(180deg,#071116,#040a0e);border-radius:14px;box-shadow:0 22px 75px #000b,inset 0 1px #fff1;padding:10px}.station-header{min-height:42px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;border-bottom:1px solid #233944;padding:0 5px 9px;font-size:12px;letter-spacing:.03em}.station-header>div:first-child{display:flex;align-items:center;gap:8px;min-width:0}.station-header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signal-dot{width:8px;height:8px;border-radius:50%;background:#777;box-shadow:0 0 10px #777}.signal-dot.on{background:#55df82;box-shadow:0 0 12px #55df82}.live-pill{font-size:9px;color:#79e8a4;border:1px solid #29744b;border-radius:10px;padding:2px 7px;background:#0a2b1a}.live-pill.stale{color:#ffb972;border-color:#7d5127;background:#2a1909}.updated{display:flex;gap:8px;align-items:center;color:#8fa4b0}.updated b{color:#dcecf4}.instrument-grid{display:grid;grid-template-columns:1.05fr 1.12fr .78fr .78fr;grid-template-rows:minmax(245px,auto) minmax(170px,auto) minmax(250px,auto);gap:10px;margin-top:10px}.card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:11px;background:linear-gradient(155deg,#0b151c,#050b0f);box-shadow:inset 0 1px #ffffff08,inset 0 -18px 50px #0005;min-width:0}.temp-card{grid-column:1;grid-row:1/3;min-height:420px;padding:8px}.compass-card{grid-column:2;grid-row:1/3;display:flex;flex-direction:column;align-items:center;justify-content:center}.wind-card:nth-of-type(3){grid-column:3;grid-row:1}.wind-card:nth-of-type(4){grid-column:4;grid-row:1}.humidity-card{grid-column:3;grid-row:2;text-align:center}.barometer-card{grid-column:4;grid-row:2}.rain-card{grid-column:1/4;grid-row:3}.environment-card{grid-column:4;grid-row:3}.card-title{padding:11px 13px 0;font-size:10px;letter-spacing:.12em;color:#7fdaff;font-weight:800}.gauge-label{text-align:center;color:#87dcff;font-size:10px;font-weight:800;letter-spacing:.11em;margin-top:-3px}.gauge-svg{display:block;width:100%;height:auto;max-height:310px}.wind-card .gauge-svg{max-height:190px}.compass-card .gauge-svg{max-width:330px}.dial-face{fill:#071016;stroke:#435966;stroke-width:5}.dial-inner{fill:#071016;stroke:#182b35;stroke-width:2}.tick{stroke:#647984;stroke-width:1}.tick.major{stroke:#dbe9ef;stroke-width:2}.dial-number{fill:#aabcc5;font-size:10px;text-anchor:middle}.needle{transition:transform 1.25s cubic-bezier(.16,.8,.25,1);will-change:transform}.needle-path{filter:drop-shadow(0 0 6px currentColor)}.hub{fill:#d1dce2;stroke:#263944;stroke-width:4}.digital-value{fill:#f4fbff;text-anchor:middle;font-size:28px;font-weight:650}.digital-sub{fill:#88d7f5;text-anchor:middle;font-size:10px}.marker-triangle{filter:drop-shadow(0 0 3px #000)}.temp-card .gauge-svg{margin:23px auto 0;max-width:370px}.trend-top{position:absolute;top:10px;left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:.09em;color:#8fc6da;white-space:nowrap}.outside-note{position:absolute;top:92px;display:grid;gap:2px;z-index:3}.outside-note span{font-size:8px;letter-spacing:.08em;color:#8ca1ae}.outside-note b{font-size:17px}.outside-note small{font-size:9px;color:#718794}.low-note{left:10px;text-align:left}.low-note b{color:#48bfff}.high-note{right:10px;text-align:right}.high-note b{color:#ff9e4d}.temp-card .gauge-label{position:absolute;bottom:12px;left:0;right:0}.marker-row{display:flex;gap:5px;justify-content:center;align-items:center;flex-wrap:wrap;color:#899ba5;font-size:8px;padding:0 4px 8px}.marker-row i,.marker-row span[class$="dot"]{width:7px;height:7px;border-radius:50%}.green-dot{background:var(--green)}.gray-dot{background:#8b9aa3}.red-dot{background:var(--red)}.humidity-ring{width:88px;height:88px;border-radius:50%;margin:17px auto 5px;background:conic-gradient(var(--green) 0 var(--humidity-angle,180deg),#17242b var(--humidity-angle,180deg) 360deg);display:grid;place-items:center;padding:9px}.humidity-ring>div{width:100%;height:100%;border:1px solid #32454e;border-radius:50%;background:#071016;display:grid;place-items:center;align-content:center}.humidity-ring b{font-size:24px}.humidity-ring small{font-size:8px;color:#6eda6b;margin-top:2px}.big-value{font-size:30px;padding:15px 13px 0}.big-value small{font-size:10px;color:#8fa3ae;margin-left:3px}.trend-pill{position:absolute;right:12px;top:45px;font-size:9px;color:#8fb1c0}.trend-pill.rising{color:#6ade68}.trend-pill.falling{color:#ff7d68}.pressure-chart{position:absolute;left:12px;bottom:13px;width:calc(100% - 24px);height:54px;overflow:visible}.pressure-grid{stroke:#20343d;stroke-width:1;vector-effect:non-scaling-stroke}.pressure-series{fill:none;stroke:#61d75b;stroke-width:2.2;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px #56e54a88)}.rain-tubes{height:210px;display:grid;grid-template-columns:repeat(5,1fr);gap:7px;padding:8px 15px 10px}.rain-item{display:grid;grid-template-rows:30px 135px 28px;justify-items:center;min-width:0}.rain-item label{text-align:center;font-size:8px;letter-spacing:.08em;color:#c4d5dd}.rain-item label small{display:block;color:#748a96;margin-top:2px}.tube-wrap{height:135px;width:43px;position:relative}.tube{position:absolute;inset:0;border:2px solid #677984;border-radius:5px;background:linear-gradient(90deg,#02070a,#0c1418 55%,#152229);overflow:hidden;box-shadow:inset 0 0 10px #000}.liquid{position:absolute;left:3px;right:3px;bottom:3px;min-height:2px;background:linear-gradient(90deg,#0672b3,#24bfff 58%,#0b5e95);box-shadow:0 -4px 12px #17baff77;transition:height .9s cubic-bezier(.16,.8,.25,1)}.liquid:before{content:"";position:absolute;left:0;right:0;top:-2px;height:4px;border-radius:50%;background:#82e7ff}.tube-scale{position:absolute;right:49px;top:0;height:135px;display:flex;flex-direction:column;justify-content:space-between;color:#768995;font-size:7px;text-align:right}.rain-item strong{font-size:15px;color:#6bd2ff;padding-top:5px}.environment-card{display:grid;grid-template-rows:repeat(3,1fr);padding:4px 12px}.environment-card>div{display:grid;grid-template-columns:25px 1fr auto;grid-template-rows:1fr 1fr;align-items:center;border-bottom:1px solid #20313a}.environment-card>div:last-child{border:0}.environment-card>div>span{grid-row:1/3;color:#ffbf36;font-size:18px}.environment-card small{font-size:8px;color:#93a5af;letter-spacing:.07em}.environment-card b{grid-column:3;grid-row:1/3;font-size:25px;color:#ffc43f}.environment-card em{font-style:normal;font-size:8px;color:#7f919d}.station-footer{height:29px;margin-top:10px;border-top:1px solid #253944;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;color:#667b86;font-size:8px;letter-spacing:.04em}.station-footer span:nth-child(2){text-align:center}.station-footer span:last-child{text-align:right}.stale-warning{color:#ff9c67!important}.error-box{padding:30px;color:#ff9b8d;text-align:center;font-size:14px}
@media(max-width:900px){.weather-instrument{padding:4px}.weather-shell{border-radius:9px;padding:7px}.station-header{grid-template-columns:1fr;font-size:11px}.updated{justify-content:space-between}.instrument-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:7px}.temp-card{grid-column:1/3;grid-row:auto;min-height:390px}.compass-card{grid-column:1/3;grid-row:auto;min-height:330px}.wind-card:nth-of-type(3),.wind-card:nth-of-type(4){grid-column:auto;grid-row:auto;min-height:215px}.humidity-card,.barometer-card{grid-column:auto;grid-row:auto;min-height:160px}.rain-card{grid-column:1/3;grid-row:auto}.environment-card{grid-column:1/3;grid-row:auto;min-height:200px}.station-footer{height:auto;min-height:28px;grid-template-columns:1fr 1fr 1fr;gap:10px}.rain-tubes{padding-left:8px;padding-right:8px}.tube-wrap{width:34px}.tube-scale{right:38px}.temp-card .gauge-svg{max-width:340px}}
@media(max-width:480px){.weather-shell{border:0}.station-header{padding-left:2px;padding-right:2px}.instrument-grid{grid-template-columns:1fr 1fr}.temp-card{min-height:350px}.temp-card .gauge-svg{max-width:300px;margin-top:30px}.outside-note{top:82px}.outside-note b{font-size:15px}.compass-card{min-height:300px}.wind-card{min-height:198px}.wind-card .gauge-svg{max-height:160px}.gauge-label{font-size:9px}.rain-card{overflow-x:hidden}.rain-tubes{height:198px;gap:2px;padding:5px 2px 7px}.rain-item{grid-template-rows:30px 122px 27px}.tube-wrap{height:122px;width:25px}.tube-scale{height:122px;right:28px;font-size:6px}.rain-item label{font-size:7px}.rain-item strong{font-size:12px}.environment-card b{font-size:22px}.station-footer{grid-template-columns:1fr 1fr}.station-footer span:nth-child(2){display:block;text-align:right}.station-footer span:last-child{grid-column:1/3;text-align:center;padding-top:2px}}
.weather-history-tab{position:fixed;z-index:42;right:0;top:44%;transform:translateY(-50%);width:46px;min-height:118px;border:1px solid #356276;border-right:0;border-radius:12px 0 0 12px;background:linear-gradient(180deg,#173542,#0a1b23);color:#9ce7ff;box-shadow:-7px 7px 25px #0008,inset 1px 0 #ffffff12;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;writing-mode:vertical-rl;letter-spacing:.12em}.weather-history-tab span{font-size:8px;color:#7ca4b5}.weather-history-tab b{font-size:10px}.weather-history-tab:hover,.weather-history-tab[aria-expanded="true"]{right:0;background:linear-gradient(180deg,#215065,#0c2733);color:#fff;border-color:#52cfff}.weather-history-shade{position:fixed;z-index:43;inset:0;background:#0000;transition:background .28s}.weather-history-shade.open{background:#0008}.weather-history-drawer{position:fixed;z-index:44;right:0;top:0;height:100dvh;width:min(680px,calc(100vw - 58px));transform:translate3d(102%,0,0);transition:transform .42s cubic-bezier(.18,.76,.2,1);background:linear-gradient(150deg,#0c1c24,#050c11 60%);border-left:1px solid #34505e;box-shadow:-22px 0 70px #000c;color:#eaf7fd;display:grid;grid-template-rows:auto minmax(0,1fr)}.weather-history-drawer.open{transform:translate3d(0,0,0)}.weather-history-drawer>header{min-height:92px;padding:20px 22px;border-bottom:1px solid #29404c;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#0c1a21}.weather-history-drawer header span{color:#4ccfff;font-size:9px;letter-spacing:.15em}.weather-history-drawer h2{font:500 30px Georgia,serif;margin:4px 0}.weather-history-drawer header small{color:#78909b;font-size:10px}.weather-history-drawer header button{width:40px;height:40px;border:1px solid #36515e;border-radius:50%;background:#09141a;color:#dbeaf0;font-size:25px;cursor:pointer}.history-drawer-body{overflow:auto;padding:18px 20px 35px;overscroll-behavior:contain}.history-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.history-summary article{min-height:92px;border:1px solid #29434f;border-radius:9px;padding:13px;background:linear-gradient(145deg,#112630,#09151c);display:grid;align-content:center;gap:4px}.history-summary article:first-child{border-color:#70553a}.history-summary span,.history-summary small{font-size:9px;color:#8299a4}.history-summary b{font-size:22px;color:#f2fbff}.history-summary small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-months,.history-days{margin-top:22px}.history-months h3,.history-days h3{font:500 19px Georgia,serif;margin:0 0 10px}.history-months>div{display:grid;gap:7px}.history-months article{display:grid;grid-template-columns:1.4fr repeat(4,1fr);align-items:center;gap:8px;border-bottom:1px solid #213640;padding:10px 7px;font-size:11px}.history-months article>b{font:500 15px Georgia,serif}.history-months span{display:grid;gap:3px}.history-months em{font-style:normal;color:#5ebcda;font-size:7px;letter-spacing:.08em}.history-days-heading{display:flex;align-items:end;justify-content:space-between;gap:12px}.history-days-heading span{color:#758d98;font-size:9px}.history-table-wrap{border:1px solid #29404c;border-radius:9px;overflow:auto}.history-table-wrap table{width:100%;border-collapse:collapse;min-width:570px;font-size:10px}.history-table-wrap thead{position:sticky;top:0;background:#10242d;color:#72cae9;text-align:left}.history-table-wrap th,.history-table-wrap td{padding:10px;border-bottom:1px solid #1d323c;vertical-align:top}.history-table-wrap tbody th{color:#dcebf1}.history-table-wrap td b,.history-table-wrap th b{display:block;font-size:12px}.history-table-wrap td small,.history-table-wrap th small{display:block;color:#728892;margin-top:3px;font-weight:400}.history-empty{border:1px dashed #3a515c;border-radius:9px;padding:28px;margin-top:20px;color:#8da1aa;text-align:center;line-height:1.6}.weather-history-open{overflow:hidden}
@media(max-width:600px){.weather-history-tab{top:38%;width:38px;min-height:100px}.weather-history-drawer{width:calc(100vw - 22px)}.weather-history-drawer>header{padding:16px}.history-drawer-body{padding:14px}.history-summary{grid-template-columns:1fr 1fr}.history-summary article{min-height:82px}.history-summary b{font-size:19px}.history-months article{grid-template-columns:1.5fr 1fr 1fr}.history-months article span:nth-of-type(3),.history-months article span:nth-of-type(4){display:none}.history-days-heading{align-items:start;flex-direction:column}}
