:root{color-scheme:dark;--bg:#080a10;--panel:#11141e;--edge:#282d3b;--cyan:#00cde9;--blue:#509cf0;--text:#f6f8fc;--muted:#9da6b8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 85% 5%,#122036 0,transparent 36%),radial-gradient(ellipse at 8% 45%,#1a112c 0,transparent 38%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}.stars{position:fixed;inset:0;pointer-events:none;opacity:.16;background-image:radial-gradient(#cce7ff 1px,transparent 1px);background-size:79px 91px;mask-image:linear-gradient(#000,transparent 85%)}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.shell{max-width:1220px;margin:auto;padding:0 28px}.header{position:relative;z-index:5;background:rgba(8,10,16,.82);backdrop-filter:blur(22px);border-bottom:1px solid #252a35}.nav{display:flex;align-items:center;justify-content:space-between;min-height:92px;gap:14px}.brand{display:flex;align-items:center;gap:12px;font-size:23px;font-weight:900;letter-spacing:-1.1px}.brand img{width:51px;height:51px;object-fit:contain}.brand b{color:var(--cyan)}.brand small,.footer-brand small{display:block;font-size:9px;font-weight:800;letter-spacing:2.4px;color:#a0aec3;margin-top:3px}.nav-right{display:flex;align-items:center;gap:24px}.live,.sync{display:flex;align-items:center;gap:9px;font-size:12px;color:#b6c1d0}.live i,.glow-dot{display:block;width:8px;height:8px;background:#6e829c;border-radius:50%}.live.good i,.glow-dot.good{background:#22e7a1;box-shadow:0 0 14px #22e7a188}.join{background:var(--cyan);color:#051017;border-radius:15px;padding:15px 23px;font-weight:800;transition:transform .2s,box-shadow .2s}.join:hover{transform:translateY(-2px);box-shadow:0 8px 32px #00cde933}.hero{display:grid;grid-template-columns:1.13fr .87fr;align-items:center;min-height:420px;gap:30px;padding:58px 0 45px}.eyebrow{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:2.6px;font-weight:850;color:#79cfff}.eyebrow>span{width:28px;height:2px;background:var(--cyan)}h1{font-size:clamp(44px,5.8vw,80px);line-height:1.06;letter-spacing:-4px;margin:25px 0 20px;max-width:730px}h1 em{font-style:normal;color:var(--cyan);text-shadow:0 0 44px #00d6ed35}.hero-copy>p{color:#b1bbcb;line-height:1.75;font-size:17px;max-width:560px}.hero-status{display:flex;gap:11px;align-items:center;color:#aeb8c8;font-size:13px;margin-top:26px;flex-wrap:wrap}.sep{color:#546074}.hero-visual{position:relative;width:min(100%,350px);aspect-ratio:1;margin:auto;display:grid;place-items:center}.hero-visual:before{content:"";position:absolute;inset:9%;background:radial-gradient(circle,#1c3460,transparent 70%);filter:blur(20px)}.hero-visual img{position:relative;width:64%;filter:drop-shadow(0 0 26px #459bf04a);animation:float 6s ease-in-out infinite}.orbit-ring{position:absolute;border:1px solid #39618c75;border-radius:50%;inset:4%;animation:orbit 30s linear infinite}.r2{inset:14%;border-style:dashed;border-color:#5c678c7a;animation-direction:reverse}.r3{inset:0;border-color:#38425b4a}.orbit-particle{position:absolute;width:13px;height:13px;background:#00d8ed;border-radius:50%;box-shadow:0 0 24px #00d8ed;top:13%;right:14%;animation:float 4s ease-in-out infinite}.p2{width:8px;height:8px;top:auto;right:auto;left:12%;bottom:18%;background:#b69cfb}.section-head,.panel-heading{display:flex;justify-content:space-between;align-items:end;gap:18px}.section-head{margin:8px 0 20px}h2{font-size:26px;letter-spacing:-.8px;margin:8px 0 0}.mini{font-size:10px;letter-spacing:2px}.sync{font-size:12px}.sync #syncIcon{font-size:19px;color:var(--cyan)}.sync.busy #syncIcon{animation:spin 1.2s linear infinite}.metrics{display:grid;grid-template-columns:1.45fr repeat(3,1fr);gap:15px}.metric,.panel{background:linear-gradient(135deg,#171c2a,#10131c);border:1px solid #30384a;border-radius:23px;box-shadow:0 16px 48px #0002}.metric{padding:24px;min-height:185px;position:relative;overflow:hidden}.metric:before{content:"";position:absolute;top:0;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,#66bfff40,transparent)}.primary{background:radial-gradient(ellipse at 20% 0,#17436966,transparent 68%),linear-gradient(135deg,#172238,#111521)}.metric-title{display:flex;justify-content:space-between;gap:8px;font-size:10px;letter-spacing:1.25px;color:#b6c3d6;font-weight:800}.metric-title span{font-size:22px;color:#7dbbff}.metric-value{font-size:clamp(38px,4vw,58px);font-weight:850;letter-spacing:-2px;margin:25px 0 12px;font-variant-numeric:tabular-nums}.main-value{display:flex;align-items:baseline;gap:10px;margin:12px 0}.main-value strong{font-size:clamp(54px,5vw,80px);letter-spacing:-4px;line-height:1;font-variant-numeric:tabular-nums}.main-value>span{color:#b8c5d9}.metric-foot{display:flex;justify-content:space-between;gap:8px;color:#a6b0c1;font-size:12px;margin-top:15px}.metric-foot b{color:#dcefff}.progress{height:7px;border-radius:10px;background:#2b3b50;overflow:hidden;margin-top:18px}.progress>div{height:100%;width:0;background:linear-gradient(90deg,#378cff,var(--cyan));border-radius:10px;transition:width 1s cubic-bezier(.2,.8,.2,1)}.panel{padding:27px}.chart-panel{margin-top:22px}.panel-heading p{color:#9eaabc;margin:9px 0 0;font-size:14px}.periods{display:flex;flex-wrap:wrap;gap:5px;padding:5px;border:1px solid #303849;background:#0c101a;border-radius:13px}.periods button{border:0;background:none;color:#aab6c8;padding:10px 13px;border-radius:9px;font-size:12px;font-weight:750}.periods button.active{background:var(--cyan);color:#05151b;box-shadow:0 3px 15px #00cde92c}.periods button:focus-visible,.round-btn:focus-visible,.join:focus-visible{outline:2px solid white;outline-offset:3px}.chart-meta,.chart-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#a6b1c3;font-size:12px}.chart-meta{margin:26px 0 6px}.chart-meta>div{display:flex;align-items:center;gap:14px}.legend{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--cyan);margin-right:8px;box-shadow:0 0 10px #00cde988}.round-btn{width:34px;height:34px;background:#1e293b;border:1px solid #38465b;border-radius:9px;color:#bfeeff;font-size:23px}.chart-box{height:335px;position:relative}.chart-box canvas{display:block;width:100%;height:100%;touch-action:pan-y}.chart-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:#9daabc;pointer-events:none}.chart-placeholder[hidden]{display:none}.tooltip{position:absolute;pointer-events:none;z-index:3;background:#121b2b;border:1px solid #4b6b8e;padding:10px 13px;border-radius:10px;font-size:12px;box-shadow:0 10px 28px #0008;white-space:nowrap}.chart-bottom{border-top:1px solid #2b3342;padding-top:18px;margin-top:7px}.chart-bottom a{color:#6ce4f5;font-weight:750}.bottom-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;margin-top:22px}.hours{height:185px;display:grid;grid-template-columns:repeat(24,minmax(0,1fr));gap:5px;align-items:end;margin-top:36px}.hour{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:8px;min-width:0}.hour .bar-slot{flex:1;width:100%;display:flex;align-items:end}.hour .bar{width:100%;min-height:3px;border-radius:5px 5px 2px 2px;background:linear-gradient(0deg,#2771d4,var(--cyan));opacity:.78;transition:height .6s}.hour:hover .bar{opacity:1;box-shadow:0 0 18px #00cde944}.hour label{font-size:9px;color:#8896a9}.hint{font-size:12px;color:#8c9aae}.detail{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #2b3342;padding:16px 0;font-size:13px}.detail span{color:#a8b4c6}.detail strong{font-variant-numeric:tabular-nums}.capacity-widget{display:flex;align-items:center;gap:20px;margin-top:22px;padding:17px;background:#0c1321;border:1px solid #26384c;border-radius:18px}.capacity-widget p{font-size:12px;line-height:1.6;color:#98a8bd;margin-bottom:0}.ring{--pct:0%;width:112px;height:112px;flex:none;border-radius:50%;background:conic-gradient(var(--cyan) var(--pct),#28364a 0);display:grid;place-items:center;transition:background .5s}.ring>div{width:88px;height:88px;border-radius:50%;background:#101827;display:flex;flex-direction:column;align-items:center;justify-content:center}.ring strong{font-size:25px}.ring small{font-size:8px;letter-spacing:1px;color:#94a8c2}.notice{border:1px solid #9a5466;background:#2b1723;color:#ffd4de;padding:17px 20px;border-radius:14px;margin:0 0 20px}.notice[hidden]{display:none}.notice button{border:0;background:none;color:#fff;text-decoration:underline;font-weight:700}.foot-note{font-size:12px;line-height:1.7;color:#8592a8;margin:27px 0 40px}footer{border-top:1px solid #2b3240;padding:28px 0 36px;display:flex;justify-content:space-between;align-items:center;gap:16px;color:#8e9aab;font-size:12px}.footer-brand{display:flex;align-items:center;gap:9px;color:#fff;font-size:15px;font-weight:850}.footer-brand img{width:39px}.footer-brand small{font-size:8px}.footer-brand+span{margin-left:auto}footer a{color:#70dcec}@keyframes float{50%{transform:translateY(-11px)}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1000px){.metrics{grid-template-columns:repeat(2,1fr)}.primary{grid-column:span 2}.bottom-grid{grid-template-columns:1fr}.hero{min-height:340px}.hero-visual{width:270px}}@media(max-width:650px){.shell{padding:0 18px}.nav{min-height:75px}.brand{font-size:19px}.brand img{width:42px;height:42px}.brand small{font-size:7px;letter-spacing:1.7px}.nav-right{gap:8px}.nav-right .live{display:none}.join{padding:12px 13px;border-radius:12px;font-size:12px}.hero{grid-template-columns:1fr;padding:40px 0 25px;gap:0}.hero-visual{width:210px;grid-row:1;margin-bottom:8px}h1{font-size:48px;letter-spacing:-2.5px;margin:16px 0}.hero-copy>p{font-size:15px}.hero-status{font-size:11px}.section-head{align-items:center}.sync{font-size:10px}.metrics{gap:10px}.metric{padding:17px;min-height:145px;border-radius:17px}.metric-title{font-size:9px}.metric-value{font-size:40px;margin:18px 0}.main-value strong{font-size:62px}.panel{padding:18px;border-radius:18px}.panel-heading{display:block}.periods{margin-top:20px;justify-content:space-between}.periods button{padding:10px 9px;font-size:11px}.chart-box{height:265px}.chart-bottom{align-items:start;line-height:1.5}.hours{gap:2px}.hour label{font-size:7px}.capacity-widget{gap:13px}.ring{width:95px;height:95px}.ring>div{width:74px;height:74px}footer{flex-wrap:wrap}.footer-brand+span{margin-left:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* GalaxyRP v8 refinement */
body{background-color:#08090e}.nav-right .live{display:flex}.hero{min-height:360px}.hero-copy>p{max-width:420px}.metric,.panel{transition:border-color .25s,transform .25s,box-shadow .25s}.metric:hover,.panel:hover{border-color:#3b6172;box-shadow:0 20px 65px #0005}.metric:hover{transform:translateY(-3px)}.periods button{transition:background .2s,color .2s,transform .2s}.periods button:active{transform:scale(.95)}.panel-heading p:empty{display:none}.hero-visual img{will-change:transform}.chart-box{contain:layout paint}.foot-note{display:none}.nav-right{min-width:0}.nav{min-height:76px}.hero{padding-top:32px}.brand:focus-visible,.periods button:focus-visible,#retry:focus-visible,#refresh:focus-visible{outline:2px solid #00cde9;outline-offset:4px}@media(max-width:650px){.hero{padding-top:20px}.hero-visual{width:175px}.hero-copy>p{font-size:14px}.nav-right .live{display:flex;font-size:10px}.metric:hover{transform:none}.chart-panel{margin-top:14px}.chart-box{height:260px}}

/* v8.2 — mobile-first fluid design system */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:280px;overflow-x:clip}
.shell{width:100%;min-width:0}
.hero-copy,.metric,.panel,.panel-heading,.panel-heading>div,.section-head>div,.bottom-grid>*{min-width:0}
h1,h2,.metric-title,.detail span{overflow-wrap:break-word}
h1{font-size:clamp(2.35rem,5.3vw,4.75rem);letter-spacing:-.045em;line-height:1.08}
h2{font-size:clamp(1.35rem,2.3vw,1.8rem);letter-spacing:-.035em;line-height:1.2}
.metric{container-type:inline-size}
.metric-title{font-size:clamp(.63rem,1vw,.75rem);letter-spacing:.09em;line-height:1.45;align-items:flex-start}
.metric-title span{flex:none;line-height:1}
.metric-value{font-size:clamp(2rem,17cqi,3.75rem);letter-spacing:-.055em;line-height:1.1}
.main-value strong{font-size:clamp(3.1rem,21cqi,5.3rem);letter-spacing:-.06em}
.metric-foot{font-size:clamp(.69rem,2.9cqi,.81rem);line-height:1.4}
.panel-heading{align-items:start;flex-wrap:wrap}
.periods{max-width:100%;min-width:0}
.periods button{white-space:nowrap}
.detail strong{flex:none;text-align:right}
.chart-box{min-width:0}
.chart-placeholder{text-align:center;padding:1rem;line-height:1.5}
@media(max-width:800px){
 .panel-heading{display:flex;flex-direction:column;align-items:stretch;gap:14px}
 .periods{margin-top:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;gap:2px;padding:4px}
 .periods button{min-width:0;padding:12px 2px;font-size:clamp(.65rem,1.8vw,.81rem)}
 .metric{padding:clamp(14px,2.6vw,21px)}
}
@media(max-width:650px){
 .shell{padding-inline:clamp(12px,4vw,20px)}
 .nav{min-height:68px}
 .hero{padding-block:24px 24px}
 .hero-visual{width:clamp(128px,38vw,180px)}
 h1{font-size:clamp(2.1rem,8.3vw,3.1rem);margin:14px 0 10px}
 h2{font-size:clamp(1.22rem,5vw,1.55rem);letter-spacing:-.035em}
 .section-head{gap:8px;align-items:flex-end}
 .section-head .sync{max-width:40%;text-align:right;line-height:1.35}
 .metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .metric{min-height:unset;padding:clamp(13px,3.4vw,19px);border-radius:17px}
 .metric.primary{grid-column:1/-1;padding:19px}
 .metric:not(.primary){min-height:152px;display:flex;flex-direction:column}
 .metric:not(.primary) .metric-value{margin:16px 0 12px;font-size:clamp(2.1rem,14cqi,3.3rem)}
 .metric:not(.primary) .metric-foot{margin-top:auto;font-size:clamp(.65rem,2.8cqi,.78rem)}
 .metric-title{font-size:clamp(.61rem,2.6cqi,.72rem);letter-spacing:.075em}
 .metric-title span{font-size:18px}
 .main-value strong{font-size:clamp(3.25rem,18cqi,4.6rem)}
 .panel{padding:clamp(15px,4vw,22px)}
 .chart-panel{margin-top:16px}
 .panel-heading{gap:13px}
 .periods{border-radius:12px}
 .periods button{font-size:clamp(.64rem,2.65vw,.83rem);padding:11px 0}
 .chart-meta{margin-top:17px;flex-wrap:wrap}
 .chart-box{height:clamp(225px,60vw,310px)}
 .bottom-grid{gap:16px;margin-top:16px}
 .hours{margin-top:22px;height:160px}
 .detail{font-size:clamp(.76rem,3vw,.88rem)}
 .eyebrow.mini{font-size:.65rem;letter-spacing:.13em}
 .chart-bottom a{font-size:.77rem}
}
@media(max-width:360px){
 .shell{padding-inline:12px}
 .metric:not(.primary){min-height:142px}
 .metric-title{font-size:.59rem}
 .metric-title span{font-size:15px}
 .metric:not(.primary) .metric-value{font-size:clamp(1.85rem,16cqi,2.6rem)}
 .periods button{font-size:.64rem}
 .brand{font-size:17px}
 .brand img{width:37px;height:37px}
 .brand small{letter-spacing:.08em}
 .chart-box{height:220px}
}
@media(hover:none){.metric:hover{transform:none}.panel:hover,.metric:hover{box-shadow:0 16px 48px #0002}}

/* GalaxyRP v9 — compact, fluid analysis experience */
.analysis-section{margin-top:clamp(24px,5vw,54px)}
.analysis-range{color:#91d8e7;font-weight:750;font-size:.83rem;white-space:nowrap}
.insight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:17px 0}
.insight-card{min-width:0;container-type:inline-size;background:linear-gradient(145deg,#191f2d,#10131e);border:1px solid #343c50;border-radius:20px;padding:clamp(14px,2vw,23px);display:flex;flex-direction:column;gap:10px}
.insight-card>span{font-size:clamp(.62rem,2.8cqi,.76rem);letter-spacing:.1em;color:#9bb8cb;font-weight:850;line-height:1.4;overflow-wrap:anywhere}
.insight-card strong{font-size:clamp(1.65rem,15cqi,3.15rem);font-weight:850;line-height:1.1;letter-spacing:-.045em;min-width:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.insight-card small{font-size:clamp(.69rem,3.6cqi,.83rem);color:#a4afc3;line-height:1.4}
.positive{color:#36e0a3}.negative{color:#ff8c9e}
.analysis-panels{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.forecast-panel,.quality-panel{min-width:0}
.forecast-chip{background:#123644;color:#83ecf8;padding:7px 11px;border:1px solid #1f6475;border-radius:100px;font-size:.76rem;font-weight:750;white-space:nowrap}
.forecast-value{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;margin-top:22px}
.forecast-value strong{font-size:clamp(2.3rem,6vw,4rem);line-height:1.1;font-weight:850;font-variant-numeric:tabular-nums}
.forecast-value span,.quality-figure span{color:#9eacc0;font-size:.85rem}
.forecast-band{margin-top:12px;color:#a7e8f1;font-size:.82rem;min-height:1em}
.analysis-note{margin-top:18px;color:#8997aa;font-size:.77rem;line-height:1.65;max-width:54ch}
.quality-figure{display:flex;align-items:baseline;gap:10px;margin:24px 0 14px;flex-wrap:wrap}
.quality-figure strong{font-size:clamp(2.3rem,6vw,4rem);line-height:1;font-variant-numeric:tabular-nums}
.quality-track{height:8px;border-radius:20px;background:#273144;overflow:hidden}.quality-track>div{height:100%;width:0;background:linear-gradient(90deg,#008ac4,#05e1e5);border-radius:20px;transition:width .7s ease}
.quality-facts{display:flex;gap:18px;flex-wrap:wrap;margin-top:17px;color:#a7b5c8;font-size:.8rem}.quality-facts b{color:white}
@media(max-width:800px){.insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-panels{grid-template-columns:1fr}}
@media(max-width:420px){.insight-grid{gap:10px}.insight-card{padding:13px;border-radius:16px;gap:8px}.insight-card strong{font-size:clamp(1.55rem,16cqi,2.5rem)}.analysis-section{margin-top:24px}.forecast-panel .panel-heading,.quality-panel .panel-heading{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.quality-track>div{transition:none}}

/* v9.4 mobile chart UX: stable scroll position, legible axes, larger touch targets */
.chart-panel,.chart-panel .panel-heading,.chart-panel .chart-box{overflow-anchor:none}
.periods button{touch-action:manipulation;min-height:44px}
.chart-panel{scroll-margin-top:16px}
@media(max-width:650px){
 .chart-panel{padding:clamp(14px,4vw,20px)}
 .chart-panel h2{font-size:clamp(1.25rem,5.2vw,1.65rem);line-height:1.16;overflow-wrap:anywhere}
 .chart-meta{margin-top:16px;gap:8px;flex-wrap:wrap;font-size:clamp(.7rem,2.8vw,.85rem)}
 .chart-meta>div{gap:8px}
 .chart-box{height:clamp(230px,70vw,300px)}
 .periods{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:3px}
 .periods button{min-width:0;padding:10px 1px;font-size:clamp(.64rem,2.65vw,.78rem);white-space:nowrap}
 .chart-bottom{font-size:clamp(.7rem,2.8vw,.85rem)}
}
@media(max-width:360px){.periods button{font-size:.62rem}.chart-box{height:230px}}

/* Chart.js responsive time-axis and stable touch interactions */
.chart-box{position:relative;min-height:250px;overflow:hidden}
.chart-box canvas{display:block;width:100%!important;height:100%!important;touch-action:pan-y}
.periods button{touch-action:manipulation}
@media(max-width:650px){.chart-box{height:clamp(260px,76vw,340px)}.chart-meta{gap:10px}.periods{width:100%}}
@media(max-width:360px){.chart-box{height:265px}}

/* v10 — refined chart and mobile server profile */
.coverage-caption{font-size:clamp(.72rem,2.6vw,.88rem);line-height:1.45;color:#a1b3c8;max-width:70%;overflow-wrap:anywhere}
.profile-tags{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 4px}
.profile-tag{font-size:12px;font-weight:650;color:#9be8f4;border:1px solid rgba(0,207,235,.23);background:rgba(0,207,235,.07);border-radius:999px;padding:6px 10px}
.chart-box{min-height:260px}
@media(max-width:650px){.chart-box{height:300px;min-height:300px}.chart-bottom{gap:10px;align-items:flex-start}.coverage-caption{max-width:62%;font-size:11px}.chart-bottom a{font-size:12px;white-space:nowrap}.panel-heading h2{font-size:clamp(1.35rem,5.2vw,2rem)}.metric-value{font-size:clamp(2.1rem,10vw,3.7rem)}.periods button{font-size:clamp(11px,3vw,14px)}}
@media(prefers-reduced-motion:reduce){.orbit-ring,.orbit-particle,.stars{animation:none!important}}

/* v12: adaptive copy, readable insight cards, mobile ergonomics */
.insight-summary{margin-top:24px;padding:clamp(20px,4vw,34px)}
.insight-summary h2{font-size:clamp(1.25rem,4vw,1.8rem);line-height:1.2;overflow-wrap:anywhere}
.insight-summary p{font-size:clamp(.96rem,2.5vw,1.13rem);line-height:1.7;color:#d8e2f3;max-width:72ch}
.summary-facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.summary-facts span{border:1px solid #344258;border-radius:12px;padding:10px 14px;color:#a9d7e8;font-size:clamp(.78rem,2vw,.9rem)}
.insight-card span{font-size:clamp(.66rem,2.1vw,.85rem);line-height:1.4;overflow-wrap:break-word}
.insight-card small{line-height:1.5;overflow-wrap:break-word}
.forecast-panel h2,.quality-panel h2{font-size:clamp(1.22rem,3.7vw,1.75rem);line-height:1.25;overflow-wrap:break-word}
.periods button{touch-action:manipulation}
@media(max-width:520px){.insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.insight-card{min-width:0;padding:17px 14px}.insight-card strong{font-size:clamp(1.5rem,7vw,2.5rem)}.summary-facts{flex-direction:column}.chart-box{height:clamp(255px,68vw,340px)}.periods button{min-width:0;font-size:clamp(.72rem,3vw,.91rem);padding:12px 5px}.quality-facts{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.stars,.orbit-ring,.orbit-particle{animation:none!important}*,*:before,*:after{scroll-behavior:auto!important}}

/* v14 community analytics: responsive, touch friendly and reduced-motion aware */
.community-section{margin:44px 0 32px}.community-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:18px}.community-grid .panel{min-width:0;padding:clamp(17px,3vw,28px)}.community-grid h3{font-size:clamp(1.04rem,2.4vw,1.35rem);line-height:1.3;overflow-wrap:anywhere;margin:0}.community-grid .panel-heading p{font-size:clamp(.77rem,1.5vw,.9rem);line-height:1.5;color:#98a8bc}.heatmap-scroll{overflow-x:auto;overscroll-behavior-x:contain;padding:10px 0}.activity-heatmap{min-width:550px;height:250px;position:relative}.activity-heatmap.css-heat{height:auto;display:grid;grid-template-columns:44px repeat(24,minmax(15px,1fr));gap:4px;align-items:center}.heat-day{font-size:11px;color:#aab7c9}.heat-hour{font-size:9px;text-align:center;color:#91a2ba}.heat-cell{aspect-ratio:1/1;min-height:14px;border-radius:4px;background:#172538;outline-offset:2px}.heat-cell[data-known="true"]{background:color-mix(in srgb,#00d9ed calc(var(--heat)*90%),#13243c)}.heatmap-key{display:flex;align-items:center;gap:12px;justify-content:flex-end;color:#9fb0c3;font-size:11px}.heat-gradient{display:block;width:95px;height:9px;border-radius:12px;background:linear-gradient(90deg,#14243b,#00d9ed)}.data-explain{font-size:12px;color:#8e9db3;line-height:1.6;margin-top:18px}.compare-bars{display:grid;gap:22px;margin-top:28px}.compare-row{display:grid;grid-template-columns:1fr auto;gap:9px;font-size:13px;color:#bdc9d9}.compare-row strong{font-size:clamp(17px,3vw,23px);color:#f3f8ff}.compare-track{grid-column:1/-1;height:11px;border-radius:15px;background:#1b2a3e;overflow:hidden}.compare-track div{width:0;height:100%;background:linear-gradient(90deg,#3157e9,#00d8ef);border-radius:inherit;transition:width .8s ease}.compare-result{font-size:clamp(15px,2vw,18px);font-weight:700;line-height:1.45;margin-top:24px;color:#eaf7ff}.heatmap-wait{padding:70px 16px;text-align:center;color:#a8b6c9;font-size:14px}@media(max-width:850px){.community-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:480px){.community-section{margin:28px 0}.activity-heatmap{min-width:500px}.heatmap-key{justify-content:flex-start;font-size:10px}.community-grid{gap:14px}.community-grid .panel{padding:16px}}@media(prefers-reduced-motion:reduce){.compare-track div{transition:none}}
/* v15 responsive insights */
.v15-section{margin:30px 0;padding:clamp(18px,4vw,34px);overflow:hidden}.v15-top{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap}.v15-top h2{font-size:clamp(1.45rem,5vw,2.1rem);line-height:1.16;overflow-wrap:anywhere;margin:9px 0}.v15-top p,.v15-chart-panel p,.v15-foot{color:#9aaabd;font-size:clamp(.8rem,2.5vw,.95rem)}.v15-tabs{display:flex;gap:5px;padding:5px;border:1px solid #334153;border-radius:15px;background:#0c1220;max-width:100%;overflow-x:auto}.v15-tabs button{border:0;border-radius:10px;background:transparent;color:#c5d4e5;white-space:nowrap;padding:11px 13px;font-weight:750;cursor:pointer;min-height:44px}.v15-tabs button.selected{background:#00c6de;color:#06101a}.v15-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0}.v15-cards article{min-width:0;padding:clamp(13px,2vw,21px);border:1px solid #303c50;border-radius:18px;background:linear-gradient(145deg,#19263b,#111521);display:flex;flex-direction:column;gap:9px}.v15-cards span{font-size:.78rem;color:#afc5d8;font-weight:750;letter-spacing:.045em}.v15-cards strong{font-size:clamp(1.35rem,3vw,2.15rem);line-height:1.1;color:#fff;overflow-wrap:anywhere}.v15-cards small{font-size:.76rem;color:#91a6ba;line-height:1.5}.v15-charts{display:grid;grid-template-columns:1fr 1fr;gap:15px}.v15-chart-panel{min-width:0;padding:clamp(12px,2vw,22px);background:#101727;border:1px solid #2b394c;border-radius:18px}.v15-chart-panel h3{font-size:clamp(1.05rem,3vw,1.3rem);margin:0}.v15-chart-panel p{margin:6px 0}.v15-graph{width:100%;height:clamp(230px,34vw,340px)}.v15-fallback{font-size:.85rem;line-height:1.8;color:#c4d5e6}.v15-foot{margin-top:17px}.v15-error{color:#ffc1cb}.v15-vue-mount{margin:-16px 0 24px;text-align:right}.v15-vue-status{font-size:.78rem;color:#a3b5c8}.v15-vue-status.connected{color:#4ad6cb}@media(max-width:850px){.v15-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.v15-charts{grid-template-columns:1fr}}@media(max-width:420px){.v15-section{margin:20px 0}.v15-tabs{width:100%;justify-content:space-between}.v15-tabs button{padding:10px 9px;font-size:.8rem;flex:1}.v15-cards{gap:9px}.v15-cards article{padding:12px}.v15-cards strong{font-size:clamp(1.18rem,6vw,1.6rem)}.v15-graph{height:260px}}@media(prefers-reduced-motion:reduce){.v15-section *{animation:none!important;transition:none!important}}

/* v15.1 clean responsive polish */
html{overflow-x:clip}body{overflow-x:clip}
.panel,.insight-card,.metric{min-width:0}
.panel h2,.panel h3,.section-head h2,.insight-card strong{overflow-wrap:break-word;word-break:normal}
.chart-panel .chart-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.chart-panel .coverage-caption{font-size:clamp(.72rem,2.6vw,.86rem);line-height:1.45;max-width:100%}
.insight-card small{font-size:clamp(.7rem,2.4vw,.82rem);line-height:1.45}
@media(max-width:680px){
 .panel{padding:clamp(17px,4.5vw,25px)}
 .analysis-panels,.community-grid,.bottom-grid{grid-template-columns:minmax(0,1fr)!important}
 .insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
 .insight-card{padding:clamp(13px,3.6vw,19px)}
 .insight-card strong{font-size:clamp(1.55rem,7vw,2.35rem)}
 .insight-card span{font-size:clamp(.66rem,2.5vw,.8rem);letter-spacing:.05em}
 .section-head h2,.panel h2{font-size:clamp(1.38rem,6vw,1.9rem);line-height:1.15}
 .chart-box{min-width:0}
 .periods{max-width:100%;overflow-x:auto;scrollbar-width:none}
 .periods::-webkit-scrollbar{display:none}
 .periods button{min-width:0;white-space:nowrap;font-size:clamp(.72rem,3.1vw,.94rem)}
 .chart-panel .chart-bottom a{white-space:nowrap}
}
@media(max-width:360px){.insight-grid{grid-template-columns:minmax(0,1fr)!important}}

/* v17: readable forecast interval, robust mobile typography */
.forecast-confidence{margin-top:12px;color:#91e9f6;font-size:clamp(.82rem,2.4vw,.96rem);line-height:1.5}
.forecast-band{overflow-wrap:anywhere;line-height:1.5}
@media(max-width:640px){.forecast-panel h2{font-size:clamp(1.15rem,5.2vw,1.55rem);line-height:1.2}.insight-card strong{font-size:clamp(1.8rem,8vw,3rem)}.panel{min-width:0}.analysis-note{font-size:.9rem;line-height:1.55}}

/* Premium responsive analytics panels */
.v18-section{margin:32px 0}.v18-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.v18-card{min-width:0;overflow:hidden;padding:clamp(18px,3vw,28px)}.v18-card h3{font-size:clamp(1.2rem,2.4vw,1.65rem);line-height:1.25;margin:0 0 8px}.v18-sub{font-size:clamp(.83rem,2vw,.95rem);color:#aebbd0;line-height:1.5;margin:0 0 18px}.v18-graph{position:relative;height:270px;min-width:0}.v18-empty{color:#b1bfd1;font-size:.9rem}.weekday-summary{font-size:.88rem;font-weight:750;color:#d7faff;line-height:1.55;margin:14px 0 5px}.weekday-method{font-size:.76rem;color:#899bb2;line-height:1.6;margin:5px 0 0}.chart-box{touch-action:pan-y}.insight-card,.metric,.panel{overflow-wrap:break-word;min-width:0}@media(max-width:800px){.v18-grid{grid-template-columns:minmax(0,1fr)}.v18-graph{height:240px}}@media(max-width:420px){.v18-card{padding:17px}.v18-graph{height:225px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* v20.1: stable mobile chart axes and period controls */
@media(max-width:680px){
 .chart-panel .periods{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;max-width:100%;overflow:visible;gap:2px;padding:4px}
 .chart-panel .periods button{width:100%;min-width:0;padding-inline:0;font-size:clamp(10px,2.8vw,13px);letter-spacing:-.01em}
 .chart-panel .chart-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}
}
@media(max-width:520px){
 .chart-panel .chart-bottom{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:11px}
 .chart-panel .coverage-caption{max-width:none}
 .chart-panel .chart-bottom a{justify-self:start}
}

/* v21: statistical context, health and accessible data */
.context-panel{margin-top:18px;display:grid;grid-template-columns:minmax(220px,.85fr) minmax(0,1.65fr);gap:20px;align-items:center}.context-panel h2{font-size:clamp(1.25rem,3vw,1.75rem)}.context-panel>div>p,.context-note{color:#9caec3;line-height:1.55}.context-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.context-facts span{background:#0d1624;border:1px solid #2d3c51;border-radius:15px;padding:15px;min-width:0}.context-facts small{display:block;color:#91a4bb;font-size:.7rem;line-height:1.35;min-height:2.7em}.context-facts strong{display:block;margin-top:8px;font-size:clamp(1.15rem,3vw,1.8rem);font-variant-numeric:tabular-nums}.context-note{grid-column:1/-1;font-size:.76rem;margin:0}.context-panel.is-high{border-color:#287b6b}.context-panel.is-low{border-color:#73556f}.data-table-details{border-top:1px solid #293548;margin-top:16px;padding-top:14px}.data-table-details summary{cursor:pointer;color:#9debf5;font-weight:750;font-size:.82rem}.data-table-scroll{overflow-x:auto;margin-top:13px}.data-table-details table{width:100%;border-collapse:collapse;min-width:650px;font-size:.78rem}.data-table-details th,.data-table-details td{text-align:left;padding:10px;border-bottom:1px solid #283448}.data-table-details th{color:#9badc3;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}.data-table-details td{color:#dce7f5}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.quality-facts-grid b[data-state="healthy"]{color:#45e0aa}.quality-facts-grid b[data-state="delayed"]{color:#ffd76b}.quality-facts-grid b[data-state="stale"],.quality-facts-grid b[data-state="source_error"]{color:#ff91a7}@media(max-width:850px){.context-panel{grid-template-columns:1fr}.context-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:430px){.context-facts{grid-template-columns:1fr 1fr}.context-facts span{padding:12px}.context-facts strong{font-size:1.1rem}}

/* v19: audited forecast and data-quality presentation */
.professional-panels{grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);align-items:stretch}
.forecast-panel{background:radial-gradient(circle at 90% 0,rgba(0,205,233,.10),transparent 34%),linear-gradient(135deg,#171c2a,#10131c)}
.forecast-graph{position:relative;height:245px;margin:18px 0 8px;padding-top:4px}
.forecast-graph canvas{width:100%!important;height:100%!important}
.forecast-empty{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:#a8b6c9;margin:0;padding:24px;line-height:1.6}
.forecast-empty[hidden]{display:none}
.forecast-timeline{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:14px 0}
.forecast-timeline article{min-width:0;display:flex;flex-direction:column;gap:5px;padding:11px 9px;border:1px solid #2d4258;border-radius:13px;background:rgba(8,16,28,.72);text-align:center}
.forecast-timeline span{color:#9fb1c7;font-size:.72rem}.forecast-timeline strong{font-size:1.25rem;color:#f2fdff;font-variant-numeric:tabular-nums}.forecast-timeline small{font-size:.68rem;color:#78dce9;white-space:nowrap}
.forecast-audit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px;color:#9fb0c4;font-size:.72rem}
.forecast-audit[hidden]{display:none}.forecast-audit span{display:flex;flex-direction:column;gap:5px;padding:10px 12px;border-radius:12px;background:#0d1726;border:1px solid #28384c}.forecast-audit b{color:#dffbff;font-size:.82rem;font-variant-numeric:tabular-nums}
.quality-facts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:20px}
.quality-facts-grid span{display:flex;flex-direction:column;gap:5px;padding:11px;border:1px solid #2b394c;border-radius:12px;background:#0d1522}.quality-facts-grid small{color:#91a4bc;font-size:.68rem}.quality-facts-grid b{font-size:.9rem;font-variant-numeric:tabular-nums}
.heatmap-scroll{scrollbar-width:thin;scrollbar-color:#2d6b83 #101824}.heatmap-scroll::-webkit-scrollbar{height:8px}.heatmap-scroll::-webkit-scrollbar-track{background:#101824;border-radius:8px}.heatmap-scroll::-webkit-scrollbar-thumb{background:#2d6b83;border-radius:8px}
.analysis-note{color:#9eacc0;line-height:1.6}.profile-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}.profile-tag{padding:6px 9px;border-radius:999px;background:#122b3c;border:1px solid #275069;color:#99e9f3;font-size:.72rem}
@media(max-width:940px){.professional-panels{grid-template-columns:minmax(0,1fr)}.quality-facts-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.forecast-graph{height:220px}.forecast-timeline{grid-template-columns:repeat(3,minmax(0,1fr))}.forecast-audit{grid-template-columns:minmax(0,1fr)}.quality-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:380px){.forecast-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}.quality-facts-grid{grid-template-columns:minmax(0,1fr)}}

/* v24.4 — GalaxyRP live atmosphere; compositor-only motion where possible */
:root{--server-load:0;--server-glow-opacity:.55;--server-glow-x:18%}
body{isolation:isolate}
body::before{content:"";position:fixed;z-index:-1;inset:-18%;pointer-events:none;background:radial-gradient(circle at 72% 18%,rgba(0,205,233,.12),transparent 22%),radial-gradient(circle at 18% 70%,rgba(108,72,214,.10),transparent 25%);opacity:var(--server-glow-opacity);animation:galaxyNebula 24s ease-in-out infinite alternate;will-change:transform}
.stars{overflow:hidden;will-change:transform}
.stars::before,.stars::after{content:"";position:absolute;inset:-12%;background-repeat:repeat;will-change:transform}
.stars::before{opacity:.55;background-image:radial-gradient(circle,#67e9ff 0 1px,transparent 1.5px),radial-gradient(circle,#806dff 0 1px,transparent 1.4px);background-size:137px 151px,191px 173px;animation:starDrift 38s linear infinite}
.stars::after{opacity:.32;background-image:radial-gradient(circle,#fff 0 .7px,transparent 1.2px);background-size:61px 67px;animation:starDriftReverse 52s linear infinite}
.header{overflow:hidden}.header::after{content:"";position:absolute;left:-35%;bottom:0;width:32%;height:1px;background:linear-gradient(90deg,transparent,#68edff,transparent);box-shadow:0 0 14px #00d7f0;animation:headerSignal 8s linear infinite;will-change:transform}
.server-online .live.good i{animation:livePulse 1.9s ease-out infinite}.server-online .brand img{animation:logoSignal 4.8s ease-in-out infinite}
.server-online .main-value strong{color:#fff;text-shadow:0 0 12px rgba(0,205,233,.22),0 0 34px rgba(0,205,233,.2)}
.metric.primary::after{content:"";position:absolute;inset:-60% auto -60% -20%;width:28%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(95,229,255,.09),transparent);transform:skewX(-18deg);animation:cardScan 7.5s ease-in-out infinite;will-change:transform}
.chart-panel{position:relative;isolation:isolate;overflow:hidden;border-color:#31516a;box-shadow:0 18px 54px rgba(0,0,0,.28),0 0 38px rgba(0,205,233,.045)}
.chart-panel>*{position:relative;z-index:1}.chart-panel::before{content:"";position:absolute;z-index:2;pointer-events:none;top:0;left:-45%;width:38%;height:1px;background:linear-gradient(90deg,transparent,#71ecff,transparent);box-shadow:0 0 13px rgba(0,213,238,.75);animation:panelSignal 9s linear infinite;will-change:transform}
.chart-panel::after{content:"";position:absolute;z-index:0;pointer-events:none;inset:0;background:radial-gradient(circle at var(--server-glow-x) 12%,rgba(0,205,233,.09),transparent 31%),radial-gradient(circle at 90% 75%,rgba(91,76,208,.055),transparent 28%)}
.chart-box::after{content:"";position:absolute;z-index:2;pointer-events:none;top:7%;bottom:11%;left:-8%;width:7%;opacity:.22;background:linear-gradient(90deg,transparent,rgba(86,232,255,.25),transparent);animation:telemetrySweep 11s ease-in-out infinite;will-change:transform}
.periods button.active{animation:activeSignal 3s ease-in-out infinite}.legend{animation:legendPulse 2.2s ease-in-out infinite}
@media(hover:hover) and (pointer:fine){.panel,.metric,.insight-card{transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}.panel:hover,.metric:hover,.insight-card:hover{border-color:#3b6078;box-shadow:0 18px 55px rgba(0,0,0,.3),0 0 25px rgba(0,205,233,.055);transform:translateY(-2px)}}
@keyframes galaxyNebula{to{transform:translate3d(3%,-2%,0) scale(1.04)}}
@keyframes starDrift{to{transform:translate3d(80px,110px,0)}}
@keyframes starDriftReverse{to{transform:translate3d(-70px,85px,0)}}
@keyframes headerSignal{to{transform:translate3d(440%,0,0)}}
@keyframes livePulse{0%,100%{transform:scale(1);box-shadow:0 0 10px rgba(34,231,161,.55)}45%{transform:scale(1.42);box-shadow:0 0 21px rgba(34,231,161,.9)}}
@keyframes logoSignal{0%,100%{filter:drop-shadow(0 0 0 rgba(0,205,233,0))}50%{filter:drop-shadow(0 0 10px rgba(0,205,233,.42))}}
@keyframes cardScan{0%,16%{transform:translate3d(-160%,0,0) skewX(-18deg)}58%,100%{transform:translate3d(520%,0,0) skewX(-18deg)}}
@keyframes panelSignal{to{transform:translate3d(390%,0,0)}}
@keyframes telemetrySweep{0%,12%{transform:translate3d(-180%,0,0)}65%,100%{transform:translate3d(1650%,0,0)}}
@keyframes activeSignal{0%,100%{box-shadow:0 3px 14px rgba(0,205,233,.20)}50%{box-shadow:0 3px 24px rgba(0,205,233,.42)}}
@keyframes legendPulse{0%,100%{opacity:.78;transform:scale(.9)}50%{opacity:1;transform:scale(1.16)}}
@media(max-width:650px){body::before{opacity:.48}.stars::before{opacity:.38}.stars::after{opacity:.22}.chart-panel::after{opacity:.7}.chart-box::after{opacity:.14}}
@media(prefers-reduced-motion:reduce){body::before,.stars::before,.stars::after,.header::after,.live.good i,.brand img,.metric.primary::after,.chart-panel::before,.chart-box::after,.periods button.active,.legend{animation:none!important}.panel:hover,.metric:hover,.insight-card:hover{transform:none}}

/* v24.5 — adaptive financial-style chart navigation */
.chart-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 2px;padding:9px 10px 9px 13px;border:1px solid rgba(60,103,130,.72);border-radius:12px;background:linear-gradient(135deg,rgba(12,25,40,.92),rgba(9,16,29,.78));color:#91a8bf;font-size:.72rem;line-height:1.35}
.chart-navigation[hidden]{display:none}
.chart-navigation>span{min-width:0}
.chart-zoom-buttons{display:flex;align-items:center;gap:6px;flex:none}
.chart-zoom-buttons button{min-width:36px;min-height:34px;padding:6px 10px;border:1px solid #315875;border-radius:9px;background:#102238;color:#91eff8;font:inherit;font-weight:800;cursor:pointer;transition:background .16s ease,border-color .16s ease,opacity .16s ease}
.chart-zoom-buttons button:hover:not(:disabled),.chart-zoom-buttons button:focus-visible{background:#173a50;border-color:#48a3be;outline:none}
.chart-zoom-buttons button:last-child{min-width:auto}
.chart-zoom-buttons button:disabled{cursor:default;opacity:.38}
.chart-box{overscroll-behavior:contain}
@media(max-width:650px){.chart-navigation{align-items:flex-start;flex-direction:column}.chart-zoom-buttons{width:100%}.chart-zoom-buttons button{min-height:40px;min-width:42px}.chart-zoom-buttons button:last-child{margin-left:auto}}
@media(prefers-reduced-motion:reduce){.chart-zoom-buttons button{transition:none}}

/* v24.7 — explicit zoom state and local ML explanation */
.chart-navigation.is-ready{border-color:rgba(62,152,180,.78);box-shadow:inset 0 0 22px rgba(0,205,233,.035)}
.forecast-model{margin-top:16px;padding:14px;border:1px solid #29455b;border-radius:15px;background:linear-gradient(135deg,rgba(12,31,47,.9),rgba(10,18,31,.82))}
.forecast-model[hidden]{display:none}
.forecast-model>div:first-child{display:flex;justify-content:space-between;align-items:start;gap:12px;color:#dffbff;font-size:.78rem}
.forecast-model>div:first-child span{color:#88a2ba;font-size:.68rem;text-align:right;max-width:46%}
.forecast-model-components{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px}
.forecast-model-components span{display:flex;flex-direction:column;gap:5px;min-width:0;padding:9px 10px;border:1px solid #27435a;border-radius:11px;background:#0c1828}
.forecast-model-components small{color:#93a8bd;font-size:.62rem;line-height:1.3;overflow-wrap:anywhere}
.forecast-model-components b{color:#70e7f4;font-size:.9rem;font-variant-numeric:tabular-nums}
.forecast-model>p{margin:11px 0 0;color:#8095ab;font-size:.67rem;line-height:1.5}
@media(max-width:520px){.forecast-model>div:first-child{display:block}.forecast-model>div:first-child span{display:block;max-width:none;text-align:left;margin-top:5px}.forecast-model-components{grid-template-columns:1fr}.forecast-model-components span{flex-direction:row;align-items:center;justify-content:space-between}.forecast-model-components small{font-size:.68rem}}

/* v22: comparison, events, export and methodology */
.chart-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.chart-actions a,.chart-actions button{border:1px solid #31506a;background:#101c2c;color:#80eaf5;border-radius:9px;padding:7px 10px;font:inherit;font-weight:750;font-size:.73rem;cursor:pointer}.chart-actions button:hover,.chart-actions a:hover{background:#163148}.event-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.event-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid #3b4960;background:#111a29;border-radius:999px;padding:7px 10px;color:#b8c8db;font-size:.72rem}.event-chip i{width:7px;height:7px;border-radius:50%;background:#c08cff}.event-chip[data-type="maintenance"] i{background:#ffca69}.event-chip[data-type="outage"] i{background:#ff718f}.event-chip[data-type="update"] i{background:#65a7ff}.period-comparison{margin-top:22px}.comparison-change{font-size:clamp(1.5rem,4vw,2.5rem);color:#d8faff}.comparison-change.positive{color:#45e0aa}.comparison-change.negative{color:#ff91a7}.period-comparison-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-top:21px}.period-comparison-grid>span{display:flex;flex-direction:column;gap:7px;padding:15px;background:#0d1624;border:1px solid #2d3b4f;border-radius:15px}.period-comparison-grid small{color:#91a4bb;font-size:.7rem}.period-comparison-grid b{font-size:clamp(1.15rem,3vw,1.8rem)}.period-comparison-grid em{font-style:normal;color:#7f91a8;font-size:.7rem}.method-page{padding-block:clamp(40px,8vw,90px)}.method-page h1{font-size:clamp(2.3rem,6vw,4.8rem);max-width:900px}.method-lead{max-width:780px;color:#b6c5d8;font-size:clamp(1rem,2.2vw,1.2rem);line-height:1.75}.method-back{display:inline-block;margin-bottom:35px;color:#72e4f2;font-weight:750}.method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:35px}.method-grid .panel h2{font-size:1.3rem}.method-grid .panel p{color:#aab9cc;line-height:1.7}@media(max-width:760px){.period-comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.method-grid{grid-template-columns:1fr}}@media(max-width:520px){.chart-actions{justify-content:flex-start}.period-comparison-grid{grid-template-columns:1fr 1fr}.period-comparison-grid>span{padding:12px}}
