:root{--bg:#0b1120;--panel:#151f32;--line:#2b3850;--text:#f5f7fb;--muted:#99a8bf;--orange:#ffb45c;--blue:#66c7f2;--green:#70e0b2}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 8% 0%,#1a2943 0,transparent 38%),var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}.shell{max-width:1240px;margin:auto;padding:0 28px}header{height:86px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff12}.brand{display:flex;align-items:center;gap:13px;color:inherit;text-decoration:none}.brand-logo{display:block;width:62px;height:44px;object-fit:contain;object-position:center;background:#000;border-radius:5px}.brand b{font-size:22px;letter-spacing:-.8px}.brand em{color:var(--orange);font-style:normal}.brand small,.place small{display:block;color:var(--muted);font-size:9px;letter-spacing:1.7px}.pixel{display:grid;grid-template-columns:repeat(3,8px);gap:2px}.pixel i{height:8px;background:var(--orange)}.pixel i:nth-child(2),.pixel i:nth-child(4),.pixel i:nth-child(6){background:#ffe1a7}.pixel i:nth-child(1),.pixel i:nth-child(3),.pixel i:nth-child(7),.pixel i:nth-child(9){opacity:.4}.place{display:flex;gap:10px;align-items:center;font-size:12px}.place small{font-size:11px;letter-spacing:0;margin-top:3px}.dot{width:9px;height:9px;background:var(--green);border-radius:50%;box-shadow:0 0 12px #70e0b266}.hero{display:flex;justify-content:space-between;align-items:flex-end;padding:40px 0 25px}.eyebrow{font-size:10px;letter-spacing:1.8px;color:var(--orange);font-weight:800;margin:0 0 7px}.hero h1{font-size:clamp(30px,4vw,44px);letter-spacing:-1.8px;line-height:1.1;margin:0}.hero h1 span,footer b span{color:var(--orange)}.muted{color:var(--muted)}.hero .muted{font-size:14px;margin:12px 0 0}.clock{background:#ffffff08;border:1px solid var(--line);border-radius:15px;padding:12px 16px;min-width:155px}.clock small,.clock span{display:block;color:var(--muted);font-size:9px;letter-spacing:1.3px}.clock b{display:block;font-size:23px;font-variant-numeric:tabular-nums}.clock span{font-size:11px;letter-spacing:0}.current{display:grid;grid-template-columns:1fr 1fr .85fr;gap:15px}.weather,.station,.panel,.summary{border:1px solid var(--line);border-radius:21px;background:linear-gradient(145deg,#18243a,#121a2b);position:relative;overflow:hidden}.weather{min-height:195px;padding:21px}.temp{background:linear-gradient(140deg,#382b29,#1b2030 78%);border-color:#6d4a3c}.humidity{background:linear-gradient(140deg,#183344,#141e31 78%);border-color:#2d5368}.label{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:1.2px;color:#d1d8e5;font-weight:700}.bubble{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#ffb45c20;color:var(--orange);font-size:13px}.humidity .bubble{background:#66c7f220;color:var(--blue)}.big{font-size:clamp(48px,6vw,68px);font-weight:750;letter-spacing:-3px;line-height:1.15;margin:18px 0 10px;font-variant-numeric:tabular-nums}.big sup{font-size:22px;letter-spacing:0;vertical-align:top;margin-left:5px;color:var(--orange)}.humidity .big sup{color:var(--blue)}.weather p{font-size:12px;color:var(--muted);margin:0}.decoration{position:absolute;right:20px;bottom:-9px;font-size:76px;opacity:.08}.humidity .decoration{color:var(--blue)}.meter{height:5px;background:#ffffff14;border-radius:9px;width:65%;margin:-1px 0 11px;overflow:hidden}.meter span{display:block;height:100%;width:0;background:var(--blue);transition:width .3s}.station{padding:21px;display:flex;flex-direction:column;justify-content:center;min-height:195px}.station-state{display:flex;align-items:center;gap:9px;font-size:13px}.station-state i{width:9px;height:9px;border-radius:50%;background:#e5aa54}.station-state i.online{background:var(--green);box-shadow:0 0 12px #70e0b266}.station-state i.offline{background:#ff6b79;box-shadow:0 0 12px #ff6b7966}.station hr{width:100%;border:0;border-top:1px solid var(--line);margin:16px 0}.station .eyebrow{font-size:9px;margin-bottom:5px}.station> b{font-size:14px}.station .muted{font-size:11px;margin-top:3px}.pipeline{font-size:10px;color:var(--muted);margin:15px 0 0}.pipeline:first-letter{color:var(--green)}.section-title{display:flex;align-items:flex-end;justify-content:space-between;margin:38px 0 15px}.section-title h2{font-size:25px;letter-spacing:-.7px;margin:0}.periods,.metrics{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:12px;background:#ffffff08}.periods button,.metrics button{border:0;border-radius:9px;background:transparent;color:var(--muted);font:inherit;font-size:12px;padding:9px 14px;cursor:pointer;white-space:nowrap}.periods button.active{background:var(--orange);color:#23190e;font-weight:800}.range{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin-bottom:14px}.range label{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:10px}.range input{width:190px;background:#121b2c;border:1px solid var(--line);border-radius:9px;padding:8px;color:var(--text);font:inherit;font-size:11px;color-scheme:dark}.range button{border:1px solid #755f45;color:var(--orange);background:#ffb45c0b;border-radius:9px;padding:9px 12px;font:inherit;font-size:11px;cursor:pointer}.range>span{font-size:11px;color:var(--muted);margin:0 0 8px auto}.panel{padding:22px}.chart-panel{padding-bottom:15px}.chart-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px}.chart-head h3,.panel h3,.summary h3{font-size:16px;margin:0}.chart-head p,.panel-head p{font-size:11px;color:var(--muted);margin:4px 0 0}.metrics button.active{background:#66c7f21a;color:var(--blue);font-weight:800}.chart{height:290px;position:relative}.empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:13px;background:#121a2b99}.hidden{display:none!important}.columns{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:15px}.panel-head{display:flex;align-items:center;gap:12px;margin-bottom:17px}.panel-icon{width:37px;height:37px;display:grid;place-items:center;border-radius:11px;background:#ffffff0b;color:var(--blue);font-size:19px}.panel-icon.trophy{color:var(--orange);background:#ffb45c14}.stat{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid #ffffff0b;font-size:12px;color:#c0cada}.stat b{font-size:12px;text-align:right;color:var(--text);font-variant-numeric:tabular-nums;max-width:65%}.count{font-size:10px;color:var(--muted);margin:14px 0 0}.record{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #ffffff0b}.record:last-child{border-bottom:0}.record>span{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border-radius:10px;background:#ffffff09;font-size:18px}.record small{display:block;color:var(--muted);font-size:9px;letter-spacing:1px}.record b{display:block;font-size:19px;line-height:1.3}.record p{font-size:10px;color:var(--muted);margin:1px 0 0}.hot>span,.hot b{color:var(--orange)}.cold>span,.cold b{color:var(--blue)}.humid>span,.humid b{color:var(--green)}.dry>span,.dry b{color:#c3a4ff}.summary{display:flex;gap:16px;padding:22px;margin-top:15px;background:linear-gradient(110deg,#25273a,#151e30)}.spark{display:grid;place-items:center;flex-shrink:0;width:41px;height:41px;border-radius:12px;background:#ffb45c18;color:var(--orange);font-size:24px}.summary .eyebrow{margin-bottom:4px}.summary h3{font-size:17px}.summary p:not(.eyebrow){font-size:13px;line-height:1.7;color:#d3d9e4;margin:7px 0}.summary small{font-size:10px;color:var(--muted)}footer{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:26px 0 32px;color:var(--muted);font-size:10px}footer b{font-size:13px;color:var(--text)}@media(max-width:850px){.current{grid-template-columns:1fr 1fr}.station{grid-column:1/-1;min-height:auto}.columns{grid-template-columns:1fr}.section-title{align-items:flex-start;flex-direction:column;gap:14px}.chart{height:255px}}@media(max-width:560px){.shell{padding:0 14px}header{height:72px}.brand b{font-size:19px}.place{font-size:11px}.hero{padding:29px 0 20px;gap:10px;align-items:flex-start}.hero h1{font-size:29px}.hero .muted{font-size:12px}.clock{min-width:0;padding:9px 10px}.clock b{font-size:18px}.clock small{font-size:8px}.clock span{font-size:9px}.current{gap:9px}.weather{padding:14px;min-height:170px}.label{font-size:8px;letter-spacing:.7px;gap:7px}.bubble{width:27px;height:27px}.big{font-size:45px;margin:19px 0 11px}.big sup{font-size:16px}.weather p{font-size:10px}.station{padding:17px}.section-title{margin-top:30px}.section-title h2{font-size:22px}.periods{width:100%;justify-content:space-between}.periods button{padding:8px 7px;flex:1}.range label{flex:1;min-width:130px}.range input{width:100%;min-width:0}.range>span{width:100%;margin:0}.chart-head{align-items:flex-start;flex-direction:column}.metrics{width:100%}.metrics button{flex:1}.chart{height:225px}.panel{padding:17px}.summary{padding:16px;gap:12px}footer{flex-wrap:wrap}footer span:nth-child(2){order:3;width:100%}}

/* TYTR meteo v1.1 */
.flag{font-size:14px;letter-spacing:0;margin-right:3px}.sensor-info{display:flex;flex-direction:column;gap:4px;margin-top:10px;font-size:10px;color:var(--muted)}.sensor-info b{font-size:10px;color:#d1d8e5;margin-bottom:1px}.stat:nth-of-type(even){background:rgba(255,255,255,.035)}.stat{padding:11px 9px;border-radius:6px}.stat:last-of-type{border-bottom:0}@media(max-width:560px){.brand-logo{width:45px;height:34px}.brand{gap:8px}.brand small{font-size:7px;letter-spacing:1px}}
