:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-synthesis:none;-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}html,body{margin:0;min-height:100%}html{scroll-behavior:smooth}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #83cfff;outline-offset:4px}body{background:var(--body);color:var(--text);transition:background .45s ease,color .35s ease}body[data-theme=noir]{--body:#070d18;--surface:#101a2a;--surface-strong:#0e1725;--raised:#162336;--line:rgba(178,201,227,.19);--lineStrong:rgba(220,182,110,.35);--text:#f5f6f8;--text2:#b5c3d5;--muted:#8398af;--gold:#f4c872;--gold2:#ac7939;--goldText:#ffdc97;--blue:#6bc9ff;--shade:rgba(9,18,31,.91);--softGold:rgba(228,164,69,.11);--off:#27364a;--on:linear-gradient(145deg,#fff1c2 0%,#d6a252 18%,#a67133 61%,#f3ca83 100%);--panelEdge:rgba(243,184,85,.29);--shadow:0 26px 100px rgba(0,0,0,.32)}body[data-theme=platinum]{--body:#e8edf4;--surface:#fff;--surface-strong:#f4f7fb;--raised:#f0f3f9;--line:rgba(71,91,119,.18);--lineStrong:rgba(168,131,67,.38);--text:#172639;--text2:#53657d;--muted:#73869c;--gold:#9b702f;--gold2:#cea35c;--goldText:#8e6322;--blue:#227fb6;--shade:rgba(255,255,255,.92);--softGold:rgba(200,160,96,.11);--off:#c4d0dd;--on:linear-gradient(145deg,#f2dbae,#b98f4f 48%,#8d652d 70%,#e6c890 100%);--panelEdge:rgba(165,128,67,.32);--shadow:0 22px 85px rgba(42,66,92,.11)}a{color:var(--blue)}svg{display:block}.ambient{pointer-events:none;position:fixed;width:650px;height:650px;z-index:-1;filter:blur(95px);border-radius:50%;opacity:.24}.ambient-a{background:#15466e;top:-460px;left:3%}.ambient-b{background:#b27829;top:80px;right:-580px;opacity:.13}body[data-theme=platinum] .ambient{opacity:.07}.app-shell{max-width:1080px;margin:0 auto;padding:26px 32px 120px}.main-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px;min-height:78px}.brand-wrap{display:flex;align-items:center;gap:15px;min-width:0}.brand-icon{width:67px;height:75px;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(13,142,227,.27))}.brand-copy{min-width:0}.brand-word{font-size:clamp(29px,4vw,48px);line-height:1;letter-spacing:-1.6px;font-weight:900;white-space:nowrap}.gold-word{background:linear-gradient(112deg,#a56b1e 0%,#ffe5ab 22%,#c58930 44%,#ffecbb 64%,#be8029 90%);background-size:230% auto;color:transparent;background-clip:text;-webkit-background-clip:text}.blue-word{background:linear-gradient(110deg,#0d71b1,#a6e9ff 28%,#329be9 58%,#d2f8ff 76%,#1d81d6);background-size:220% auto;color:transparent;background-clip:text;-webkit-background-clip:text}body.motion .gold-word,body.motion .blue-word{animation:wordShine 10s ease-in-out infinite alternate}@keyframes wordShine{to{background-position:100% 0}}.brand-line{font-size:12px;margin-top:9px;color:var(--text2);white-space:normal;line-height:1.35}.head-actions{display:flex;align-items:center;gap:12px}.live-clock{border:1px solid var(--lineStrong);border-radius:17px;background:var(--surface);min-width:117px;min-height:77px;padding:12px 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:3px}.live-clock strong{font-size:25px;font-variant-numeric:tabular-nums;color:var(--goldText);letter-spacing:-.6px}.live-clock span{font-size:10px;color:var(--text2);text-transform:uppercase;letter-spacing:.8px;font-weight:700}.small-icon{border:1px solid var(--line);background:var(--surface);border-radius:16px;width:49px;height:49px;color:var(--text);display:grid;place-items:center}.small-icon svg{width:25px}.demo-banner,.network-banner{margin:0 0 14px;padding:10px 15px;border-radius:13px;border:1px solid #b58b45;color:var(--goldText);background:var(--softGold);font-size:12px;line-height:1.6;font-weight:700;letter-spacing:.15px}.network-banner{border-color:var(--line);color:var(--text2)}.page{display:none}.page.active{display:block}.intro-strip{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:0 0 19px}.eyebrow,.page-label{font-size:11px;letter-spacing:1.9px;font-weight:850;color:var(--goldText)}.intro-title{font-size:clamp(22px,3vw,29px);font-weight:780;display:flex;align-items:center;gap:12px;margin:7px 0}.intro-sub{font-size:13px;color:var(--text2);margin:0}.queue-pill{font-size:13px;padding:6px 10px;border:1px solid var(--lineStrong);background:var(--softGold);border-radius:9px;color:var(--goldText);white-space:nowrap}.today-select{display:flex;padding:4px;border:1px solid var(--line);background:var(--surface);border-radius:15px;flex-shrink:0}.date-btn{border:0;background:transparent;color:var(--text2);padding:11px 14px;border-radius:11px;font-size:13px;font-weight:700}.date-btn.selected{background:var(--raised);color:var(--goldText);box-shadow:inset 0 0 0 1px var(--lineStrong)}.power-panel{position:relative;isolation:isolate;background:linear-gradient(135deg,var(--softGold) -70%,transparent 37%),var(--surface-strong);border:1px solid var(--panelEdge);border-radius:30px;padding:28px 31px 21px;box-shadow:var(--shadow);overflow:hidden}.panel-halo{pointer-events:none;position:absolute;z-index:-1;right:-130px;top:-210px;width:440px;height:400px;background:radial-gradient(ellipse,rgba(224,164,73,.15),transparent 70%);border-radius:50%}body[data-theme=platinum] .power-panel{background:linear-gradient(132deg,#fffbf1,#fff 35%,#f8faff 100%)}.power-head,.timeline-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.has-icon{display:flex;align-items:center;gap:7px}.has-icon svg{width:20px;color:var(--gold)}.mode-pill{border:1px solid var(--lineStrong);border-radius:100px;color:var(--goldText);font-size:12px;font-weight:700;background:var(--softGold);padding:9px 12px;white-space:nowrap}.power-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:194px;padding:12px 0 14px}.hero-copy{z-index:2;min-width:0}.event-caption{font-size:clamp(17px,2.6vw,23px);line-height:1.25;color:var(--text2);font-weight:600;max-width:470px}.countdown{font-size:clamp(40px,5vw,69px);font-weight:850;letter-spacing:-2.8px;line-height:1.08;margin:12px 0;color:var(--goldText);font-variant-numeric:tabular-nums;text-shadow:0 0 29px rgba(238,175,80,.08)}.event-detail{font-size:clamp(14px,2vw,18px);color:var(--text);font-weight:600;line-height:1.5}.explore-chip{display:inline-block;margin-top:10px;padding:6px 9px;border-radius:9px;background:var(--raised);border:1px solid var(--line);color:var(--text2);font-size:11px}.hero-logo{width:clamp(95px,18vw,186px);max-width:31%;max-height:183px;object-fit:contain;filter:drop-shadow(0 16px 40px rgba(0,139,226,.22));flex-shrink:0}body.motion .hero-logo{animation:breath 8s ease-in-out infinite}@keyframes breath{50%{filter:drop-shadow(0 8px 37px rgba(11,138,249,.4)) brightness(1.11)}}.statusline{display:flex;align-items:center;gap:8px;color:var(--text2);font-size:12px;line-height:1.5;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.status-dot{height:7px;width:7px;border-radius:50%;background:var(--blue);box-shadow:0 0 10px var(--blue);flex-shrink:0}.statusline.unavailable .status-dot{background:var(--muted);box-shadow:none}.statusline.warning .status-dot{background:#e59e5a;box-shadow:0 0 12px #e59e5a}.timeline-header{margin:24px 0 8px;align-items:flex-start}.timeline-title{font-size:19px;font-weight:750}.timeline-header p{font-size:12px;color:var(--muted);margin:5px 0 0}.view-switch{background:var(--raised);border:1px solid var(--line);border-radius:12px;padding:3px;display:flex;flex-shrink:0}.view-switch button{border:0;background:none;color:var(--text2);font-size:12px;padding:8px 12px;border-radius:9px;font-weight:750}.view-switch button.active{color:var(--goldText);background:var(--surface);box-shadow:0 2px 10px rgba(0,0,0,.12)}.arc-view{position:relative;max-width:675px;margin:-15px auto 0;touch-action:pan-y;user-select:none}.arc-chart{width:100%;height:auto;overflow:visible;touch-action:pan-y}.arc-track-bg{fill:none;stroke:var(--raised);stroke-width:57;stroke-linecap:round}.arc-track-stroke{fill:none;stroke-width:51;stroke-linecap:butt}.arc-sheen{fill:none;stroke:rgba(255,255,255,.19);stroke-width:2}.arc-cutline{stroke:var(--surface-strong);stroke-width:5}.arc-tick{stroke:var(--muted);stroke-width:2;opacity:.4}.arc-bmark{fill:var(--surface-strong);stroke:var(--gold);stroke-width:4}.arc-label{fill:var(--text2);font-size:18px;letter-spacing:.2px;font-weight:760}.arc-end{fill:var(--muted);font-size:15px}.arc-needle{stroke:var(--goldText);stroke-width:5;stroke-linecap:round}.arc-needle-glow{stroke:var(--gold);stroke-width:13;opacity:.2;filter:url(#arcGlow)}.arc-knob{fill:var(--goldText);stroke:var(--surface-strong);stroke-width:7;filter:url(#arcGlow)}.arc-center-text{position:absolute;left:50%;top:70%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;display:flex;flex-direction:column;gap:3px;white-space:nowrap}.arc-center-text span{font-size:13px;color:var(--text2)}.arc-center-text strong{font-size:clamp(24px,4vw,32px);color:var(--text);font-variant-numeric:tabular-nums}.line-view{padding:45px 5px 29px}.linear-wrap{height:78px;position:relative;touch-action:pan-y}.linear-track{position:absolute;inset:12px 0 auto;height:43px;border-radius:15px;border:2px solid var(--panelEdge);box-shadow:inset 0 5px 11px rgba(0,0,0,.18),0 8px 25px rgba(206,148,53,.13);overflow:hidden;background:var(--off)}.linear-segment{position:absolute;top:0;bottom:0;box-shadow:inset 0 4px 6px rgba(255,255,255,.17),inset 0 -9px 12px rgba(0,0,0,.12)}.linear-segment.on{background:var(--on)}.linear-segment.off{background:linear-gradient(150deg,#435470,#122238 70%,#34435b)}body[data-theme=platinum] .linear-segment.off{background:linear-gradient(145deg,#cad5e0,#9dacc1)}.linear-boundaries{position:absolute;inset:0;pointer-events:none}.linear-boundary{position:absolute;top:8px;height:55px;border-left:2px solid var(--goldText)}.linear-boundary b{position:absolute;top:61px;left:50%;transform:translateX(-50%);font-size:11px;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}.linear-pointer{position:absolute;left:50%;top:0;height:67px;border-left:3px solid var(--goldText);pointer-events:none;filter:drop-shadow(0 0 5px rgba(224,175,81,.6))}.linear-pointer:before{content:'';position:absolute;left:-7px;top:0;width:11px;height:11px;background:var(--goldText);border-radius:50%}.line-time-float{text-align:center;font-weight:750;color:var(--goldText);font-size:14px;margin-bottom:-9px}.linear-wrap input[type=range]{position:absolute;inset:0;width:100%;height:65px;margin:0;opacity:.002;cursor:ew-resize;z-index:3}.line-ends{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:17px}.period-guide{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 28px;margin:5px 0 21px;font-size:12px;color:var(--text2)}.period-guide>span{display:inline-flex;align-items:center;gap:8px}.period-guide i{width:12px;height:12px;border-radius:50%;display:inline-block}.guide-on{background:var(--gold);box-shadow:0 0 12px rgba(238,187,95,.4)}.guide-off{background:#344c6d;border:1px solid #5f7799}.period-insight{border:1px solid var(--line);background:var(--raised);padding:16px 19px;border-radius:17px;display:flex;align-items:center;gap:13px}.insight-icon{font-size:29px;width:38px;text-align:center;color:var(--goldText)}#insightHeadline{font-size:15px;font-weight:750}#insightSub{font-size:12px;color:var(--text2);margin-top:5px;line-height:1.5}.power-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 17px}.action-btn{padding:14px 16px;min-height:51px;border-radius:14px;font-size:14px;font-weight:760;display:flex;gap:9px;align-items:center;justify-content:center}.action-btn.secondary{border:1px solid var(--line);background:var(--raised);color:var(--text)}.action-btn.primary{border:1px solid var(--lineStrong);background:var(--softGold);color:var(--goldText)}.source-footer{padding-top:13px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;color:var(--muted);font-size:11px;line-height:1.5}.source-footer button{background:transparent;border:0;color:var(--blue);font-size:12px;font-weight:700;white-space:nowrap}.safety-notice{padding:14px 17px;margin-top:13px;background:var(--surface);border-radius:14px;border:1px solid #b9864b;font-size:13px;line-height:1.55;color:var(--text2)}.water-card{position:relative;display:flex;align-items:center;gap:20px;overflow:hidden;margin-top:21px;padding:20px 25px;border:1px solid rgba(50,150,220,.45);border-radius:26px;background:linear-gradient(115deg,rgba(24,122,180,.12),transparent 60%),var(--surface-strong);box-shadow:0 10px 40px rgba(3,58,100,.11);min-height:161px}.water-visual{width:98px;flex-shrink:0;padding:15px 20px;background:linear-gradient(135deg,rgba(90,197,250,.23),rgba(5,83,147,.08));border:1px solid rgba(95,195,247,.35);border-radius:21px}.water-visual svg{width:100%;filter:drop-shadow(0 5px 10px rgba(43,169,241,.4))}.water-content{position:relative;z-index:2}.water-overline{letter-spacing:1.6px;font-size:11px;font-weight:800;color:var(--blue)}.water-content h2{font-size:20px;margin:8px 0}.water-content p{font-size:13px;margin:0 0 12px;color:var(--text2);max-width:650px;line-height:1.5}.water-link{border:0;background:transparent;color:var(--blue);font-weight:750;font-size:12px;padding:0}.water-wave{position:absolute;right:-90px;bottom:-155px;width:400px;height:300px;background:radial-gradient(ellipse,rgba(22,164,241,.2),transparent 70%);pointer-events:none}.changes-card{margin-top:23px;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:20px 24px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.section-head h2{font-size:17px;margin:0}.section-head button{border:0;background:transparent;color:var(--blue);font-size:12px;font-weight:750}.changes-body{margin-top:14px;color:var(--text2);font-size:13px;line-height:1.65}.page h1{margin:10px 0;font-size:clamp(30px,5vw,43px);letter-spacing:-1.5px}.page-desc{color:var(--text2);font-size:15px;line-height:1.6;margin:6px 0 25px}.calendar-content{display:grid;grid-template-columns:1fr 1fr;gap:17px}.day-card,.setting-group,.news-card{border:1px solid var(--line);background:var(--surface);border-radius:23px;padding:22px}.day-card h2{font-size:22px;margin:5px 0 12px}.day-card small{color:var(--muted)}.day-card .hours{display:flex;gap:9px;flex-wrap:wrap;margin:15px 0}.hour-chip{padding:8px 10px;color:var(--goldText);border:1px solid var(--lineStrong);background:var(--softGold);border-radius:9px;font-weight:740}.day-card p{color:var(--text2);line-height:1.65;font-size:13px}.hint-card{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:13px;color:var(--text2);font-size:13px}.news-tabs{display:flex;gap:7px;margin-bottom:14px}.news-tabs button{border:1px solid var(--line);border-radius:12px;padding:10px 15px;background:var(--surface);color:var(--text2);font-weight:750}.news-tabs button.active{color:var(--goldText);border-color:var(--lineStrong);background:var(--softGold)}.news-feed{display:grid;gap:12px}.news-card{padding:17px 19px}.news-card small{color:var(--muted);font-size:11px}.news-card p{color:var(--text2);line-height:1.6;font-size:13px;overflow-wrap:anywhere}.news-card a{font-size:12px}.sources-inline{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.sources-inline a{font-size:12px;padding:10px 12px;border:1px solid var(--line);background:var(--surface);border-radius:12px;text-decoration:none}.setting-group{margin-bottom:18px;padding:23px}.setting-title{font-size:18px;font-weight:780;margin-bottom:18px}.setting-sub{margin:20px 0 12px;font-weight:750;font-size:14px}.theme-grid,.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.theme-swatch,.choice{border-radius:17px;background:var(--raised);border:1px solid var(--line);color:var(--text);display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:12px;text-align:left}.theme-swatch.active,.choice.active{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--lineStrong)}.theme-swatch strong,.choice strong{font-size:13px}.theme-swatch small,.choice small{font-size:11px;color:var(--muted)}.theme-preview{height:84px;width:100%;border-radius:12px;display:flex;flex-direction:column;gap:7px;padding:16px;overflow:hidden}.theme-preview i{width:33%;height:12px;border-radius:6px}.theme-preview b{width:80%;height:15px;border-radius:6px}.theme-preview em{width:65%;height:7px;border-radius:6px}.preview-noir{background:linear-gradient(150deg,#0a1222,#1b2b40)}.preview-noir i{background:linear-gradient(90deg,#9a6422,#f9d291)}.preview-noir b{background:#2c3951}.preview-noir em{background:#4a6482}.preview-platinum{background:linear-gradient(150deg,#fdfdfd,#d6e1ed)}.preview-platinum i{background:linear-gradient(90deg,#936a34,#edce99)}.preview-platinum b{background:#b7c5d4}.preview-platinum em{background:#9eacc0}.choice-icon{font-size:29px;color:var(--goldText);font-family:Georgia,serif}.setting-help,.notice-foot{color:var(--text2);font-size:12px;line-height:1.65}.notice-foot{margin:11px 0 0}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-top:1px solid var(--line);font-size:13px;color:var(--text2)}.setting-row strong{color:var(--text)}.radio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.radio-grid label{display:flex;gap:9px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:12px 10px;font-size:13px;background:var(--raised);cursor:pointer}.radio-grid input{accent-color:#d9ad66}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:17px;cursor:pointer;padding-top:16px;border-top:1px solid var(--line)}.toggle-row span:first-child{display:flex;flex-direction:column;gap:4px}.toggle-row strong{font-size:13px}.toggle-row small{font-size:11px;color:var(--muted)}.toggle-row input{position:absolute;opacity:0}.switch-ui{position:relative;flex-shrink:0;background:#6d7885;width:44px;height:26px;border-radius:20px;transition:background .2s}.switch-ui:after{position:absolute;left:3px;top:3px;content:'';width:20px;height:20px;border-radius:50%;background:white;transition:transform .2s}.toggle-row input:checked+.switch-ui{background:#b58b43}.toggle-row input:checked+.switch-ui:after{transform:translateX(18px)}.toggle-row input:focus-visible+.switch-ui{outline:3px solid var(--blue);outline-offset:3px}.full-action{margin-top:18px;width:100%;border:1px solid var(--lineStrong);border-radius:13px;background:var(--softGold);color:var(--goldText);font-size:14px;font-weight:800;padding:14px;display:flex;justify-content:space-between}.bottom-nav{position:fixed;z-index:10;bottom:0;left:0;right:0;display:flex;justify-content:center;background:var(--shade);backdrop-filter:blur(22px);border-top:1px solid var(--line);padding:8px max(10px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom))}.nav-item{flex:1;max-width:170px;border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--muted);font-size:11px;padding:7px 4px;font-weight:700}.nav-item.active{color:var(--goldText)}.nav-glyph{font-size:25px;line-height:1}.toast{position:fixed;left:50%;bottom:110px;transform:translate(-50%,30px);border-radius:14px;padding:13px 20px;max-width:min(90vw,440px);background:#253346;color:white;text-align:center;box-shadow:0 12px 35px #0006;opacity:0;pointer-events:none;z-index:20;font-size:13px;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}body:not(.motion) *,body:not(.motion) *:before,body:not(.motion) *:after{animation:none!important;transition:none!important} @media (max-width:700px){.app-shell{padding:16px 14px 110px}.main-head{gap:8px;margin-bottom:22px}.brand-icon{width:49px;height:59px}.brand-wrap{gap:7px}.brand-word{font-size:clamp(22px,6vw,33px);letter-spacing:-.9px}.brand-line{font-size:10px;line-height:1.4;margin-top:5px;max-width:245px}.live-clock{min-width:76px;min-height:61px;padding:7px 6px;border-radius:12px}.live-clock strong{font-size:19px}.live-clock span{font-size:8px;letter-spacing:.3px}.small-icon{width:37px;height:37px;border-radius:10px}.small-icon svg{width:20px}.head-actions{gap:7px}.intro-strip{align-items:flex-start;flex-direction:column;gap:14px}.intro-title{font-size:23px}.today-select{width:100%}.date-btn{flex:1}.power-panel{border-radius:23px;padding:19px 17px 19px}.eyebrow{font-size:10px;letter-spacing:1.3px}.mode-pill{font-size:10px;padding:7px 9px}.power-hero{min-height:163px;gap:7px;padding:13px 0}.hero-logo{width:84px;max-width:27%;max-height:120px}.event-caption{font-size:15px}.countdown{font-size:clamp(34px,8.3vw,50px);letter-spacing:-1.8px;margin:10px 0}.event-detail{font-size:13px}.timeline-header{margin-top:22px}.timeline-title{font-size:17px}.timeline-header p{font-size:10px;max-width:210px}.view-switch button{font-size:11px;padding:8px 10px}.arc-view{margin:-3px -9px -17px}.arc-center-text{top:69%}.arc-center-text span{font-size:11px}.arc-center-text strong{font-size:24px}.arc-label{font-size:19px}.period-guide{font-size:11px;gap:8px 13px}.period-insight{padding:13px}.insight-icon{width:27px;font-size:24px}.power-actions{gap:9px}.action-btn{font-size:12px;padding:12px 7px;min-height:47px}.source-footer{font-size:10px}.water-card{padding:16px 13px;border-radius:22px;min-height:130px;gap:13px}.water-visual{width:70px;padding:9px 14px;border-radius:15px}.water-content h2{font-size:16px}.water-content p{font-size:12px}.changes-card{padding:17px}.calendar-content{grid-template-columns:1fr}.page h1{font-size:32px}.setting-group{padding:17px}.radio-grid{grid-template-columns:1fr}.nav-item{font-size:10px}}@media (max-width:370px){.app-shell{padding-left:10px;padding-right:10px}.brand-icon{width:42px;height:52px}.brand-word{font-size:21px}.brand-line{font-size:9px;max-width:178px}.head-actions{gap:4px}.live-clock{min-width:66px}.live-clock strong{font-size:17px}.small-icon{display:none}.hero-logo{max-width:21%;width:67px}.event-caption{font-size:14px}.countdown{font-size:33px}.power-panel{padding-left:12px;padding-right:12px}.arc-view{margin-left:-14px;margin-right:-14px}.water-visual{width:61px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* SVITLOVOD Premium – refined visual system; logo branding never switches off */
.brand-symbol{position:relative;display:block;flex:0 0 67px;width:67px;height:75px;isolation:isolate}
.brand-symbol .brand-icon{width:100%;height:100%;display:block;object-fit:contain}
.brand-symbol .bolt-liquid,.hero-symbol .bolt-liquid{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;mix-blend-mode:screen;opacity:.56;filter:drop-shadow(0 0 5px rgba(255,187,70,.6))}
.bolt-liquid path{fill:none;stroke-width:13;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:35 19 80 15;stroke-dashoffset:0}
body.motion .brand-symbol .bolt-liquid path{animation:brandLightning 4.7s ease-in-out infinite alternate}
body.motion .brand-symbol::before{content:"";position:absolute;z-index:1;inset:5px 8px 3px;border-radius:50% 50% 43% 43%;background:linear-gradient(110deg,transparent 30%,rgba(250,185,75,.16) 42%,rgba(255,250,215,.44) 48%,transparent 60%);background-size:260% 100%;mix-blend-mode:screen;pointer-events:none;animation:logoShimmer 7.5s linear infinite}
@keyframes brandLightning{0%{stroke-dashoffset:115;opacity:.27;filter:drop-shadow(0 0 2px #ffb22b)}48%{stroke-dashoffset:38;opacity:.75;filter:drop-shadow(0 0 9px #ffd78b)}100%{stroke-dashoffset:-130;opacity:.41;filter:drop-shadow(0 0 4px #fbc45d)}}
@keyframes logoShimmer{0%{background-position:220% 0}100%{background-position:-80% 0}}
.hero-symbol{position:relative;display:block;width:clamp(95px,18vw,186px);height:183px;max-width:31%;max-height:183px;flex-shrink:0;transition:filter .7s ease,opacity .7s ease;filter:drop-shadow(0 7px 32px rgba(238,179,61,.38))}
.hero-symbol .hero-logo{width:100%;height:100%;max-height:100%;max-width:100%;display:block;object-fit:contain;filter:none}
body.motion .hero-symbol .hero-logo{animation:none}
.hero-symbol .bolt-liquid{opacity:.46}
body.motion .power-panel[data-power="on"] .hero-symbol .bolt-liquid path,
body.motion .power-panel[data-power="unknown"] .hero-symbol .bolt-liquid path{animation:brandLightning 4s ease-in-out infinite alternate}
body.motion .power-panel[data-power="on"] .hero-symbol,
body.motion .power-panel[data-power="unknown"] .hero-symbol{animation:heroEnergy 6s ease-in-out infinite alternate}
.power-panel[data-power="off"] .hero-symbol{opacity:.57;filter:saturate(.52) brightness(.52) drop-shadow(0 4px 8px rgba(0,10,25,.4))}
.power-panel[data-power="emergency"] .hero-symbol{opacity:.75;filter:saturate(.75) brightness(.74)}
.power-panel[data-power="off"] .hero-symbol .bolt-liquid,
.power-panel[data-power="emergency"] .hero-symbol .bolt-liquid{opacity:0}
@keyframes heroEnergy{0%{filter:drop-shadow(0 6px 24px rgba(228,163,47,.21))}50%{filter:drop-shadow(0 7px 42px rgba(255,202,105,.62))}100%{filter:drop-shadow(0 5px 21px rgba(239,182,65,.29))}}
/* Molten-glass energy is visible in both timeline types, only during schedule-ON parts. */
.linear-segment.on{background:linear-gradient(122deg,#986018 0%,#f8c56b 14%,#c88f2e 26%,#ffebb5 42%,#b77720 58%,#f3c375 72%,#ab752b 100%);overflow:hidden}
.linear-segment.on::before{position:absolute;content:"";inset:-75% -40%;background:radial-gradient(ellipse at 12% 20%,rgba(255,245,196,.9),transparent 22%),radial-gradient(ellipse at 62% 58%,rgba(255,156,32,.72),transparent 24%),radial-gradient(ellipse at 84% 34%,rgba(255,241,171,.75),transparent 22%);filter:blur(8px);opacity:.75;mix-blend-mode:screen;pointer-events:none}
.linear-segment.on::after{position:absolute;content:"";inset:-45% -60%;background:repeating-radial-gradient(ellipse at 20% 60%,transparent 0 16px,rgba(255,250,208,.36) 22px,transparent 34px);opacity:.55;mix-blend-mode:screen;filter:blur(5px);pointer-events:none}
body.motion .linear-segment.on::before{animation:moltenField 7s ease-in-out infinite alternate}
body.motion .linear-segment.on::after{animation:moltenField 13s linear infinite reverse}
@keyframes moltenField{0%{transform:translate(-11%,-6%) scale(.95) rotate(-3deg)}50%{transform:translate(11%,7%) scale(1.14) rotate(9deg)}100%{transform:translate(-4%,9%) scale(1.04) rotate(-7deg)}}
.arc-flow{fill:none;stroke-width:7;stroke-linecap:round;stroke-dasharray:4 43 28 71;stroke-dashoffset:0;filter:drop-shadow(0 0 9px rgba(255,177,50,.78));pointer-events:none;opacity:.65}
body.motion .arc-flow{animation:arcPlasma 14s linear infinite}
@keyframes arcPlasma{to{stroke-dashoffset:-650}}
.power-panel[data-power="off"] .panel-halo{opacity:.2}
.power-panel[data-power="unknown"] .panel-halo{opacity:.75}
body.motion .gold-word{animation:wordShine 7.5s ease-in-out infinite alternate}
body.motion .blue-word{animation:wordShine 9s ease-in-out infinite alternate-reverse}
@media(max-width:700px){.brand-symbol{flex-basis:49px;width:49px;height:59px}.hero-symbol{width:84px;height:120px;max-height:120px;max-width:27%}}
@media(max-width:370px){.brand-symbol{flex-basis:42px;width:42px;height:52px}.hero-symbol{width:67px;max-width:21%;height:104px}}
@media(prefers-reduced-motion:reduce){.arc-flow,.bolt-liquid path,.brand-symbol::before,.linear-segment.on::before,.linear-segment.on::after{animation:none!important}}


/* ===== SVITLOVOD FINAL POLISH · 20.10.2026 ===== */
/* Viewport safe areas: translucency of iOS standalone status-bar must never cover header. */
html{background:var(--body,#070d18)}
body{min-height:100dvh;overscroll-behavior-y:none}
.app-shell{padding-top:calc(26px + env(safe-area-inset-top,0px));padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
@media (max-width:700px){.app-shell{padding-top:calc(17px + env(safe-area-inset-top,0px));padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}}
@media (display-mode:standalone){
 .app-shell{padding-top:calc(25px + env(safe-area-inset-top,0px))}
}
@supports (-webkit-touch-callout:none){
 .main-head{isolation:isolate}
 .app-shell{padding-top:calc(22px + env(safe-area-inset-top,0px))}
 /* iOS standalone sometimes reports a zero safe-area inset during first launch. */
 @media (display-mode:standalone) and (max-width:700px){
  .app-shell{padding-top:calc(12px + max(env(safe-area-inset-top,0px), 50px))}
 }
}
/* Compact bottom dock while keeping >=44px interactive tap targets and the iPhone home-indicator region. */
.bottom-nav{
 padding:3px max(9px,env(safe-area-inset-right,0px)) calc(3px + env(safe-area-inset-bottom,0px)) max(9px,env(safe-area-inset-left,0px));
 box-shadow:0 -7px 28px rgba(5,9,20,.13);gap:0;
}
.nav-item{min-height:46px;max-width:172px;gap:2px;padding:3px 4px;font-size:10px;line-height:1.15}
.nav-glyph{font-size:21px;line-height:22px;min-height:22px}
.toast{bottom:calc(76px + env(safe-area-inset-bottom,0px))}
@media(max-width:700px){.nav-item{font-size:10px;padding:2px 2px;gap:2px}.nav-glyph{font-size:20px;line-height:22px}}
/* Arc only grabs gestures that begin on the visible ring, never outside its arc. */
.arc-view,.arc-chart{touch-action:pan-y;user-select:none}
.arc-chart{cursor:default}
.arc-hit-ring{fill:none;stroke:transparent;stroke-width:77;pointer-events:stroke;cursor:grab;touch-action:pan-y}
.arc-hit-ring:active{cursor:grabbing}
.arc-bmark,.arc-knob{touch-action:pan-y;cursor:grab}
.arc-track-stroke,.arc-molten-deep,.arc-molten-crest,.arc-flow,.arc-sheen,.arc-tick,.arc-needle,.arc-needle-glow{pointer-events:none}
/* Linear mode: a substantial glass energy capsule, not a plain progress bar. */
.line-view{padding:39px 5px 25px}
.linear-wrap{height:101px;touch-action:pan-y}
.linear-track{inset:15px 0 auto;height:58px;border-radius:20px;border:2px solid rgba(251,201,115,.45);box-shadow:inset 0 3px 8px rgba(255,255,255,.12),inset 0 -10px 15px rgba(0,0,0,.23),0 12px 27px rgba(229,169,71,.17),0 0 20px rgba(221,161,71,.1)}
.linear-track::before{content:"";position:absolute;inset:2px 3px auto;height:14px;border-radius:40px;background:linear-gradient(180deg,rgba(255,255,255,.46),rgba(255,255,255,0));z-index:2;pointer-events:none;opacity:.85}
.linear-track::after{content:"";position:absolute;inset:auto 3px 2px;height:9px;border-radius:50px;background:linear-gradient(0deg,rgba(18,10,1,.26),transparent);z-index:2;pointer-events:none}
.linear-segment.on{background:linear-gradient(118deg,#a46718 0%,#f3bd57 17%,#ffe5a0 32%,#ae6b20 46%,#ffd982 64%,#b1741e 81%,#ffdf88 100%);box-shadow:inset 0 2px 12px rgba(255,244,183,.75),inset 0 -12px 15px rgba(124,57,9,.38),0 0 24px rgba(255,184,74,.39);isolation:isolate}
.linear-segment.on::before{inset:-50% -72%;background:radial-gradient(ellipse at 14% 65%,rgba(255,246,189,.95) 0 7%,transparent 24%),radial-gradient(ellipse at 54% 17%,rgba(255,164,34,.89) 0 8%,transparent 25%),radial-gradient(ellipse at 79% 70%,rgba(255,245,187,.95) 0 6%,transparent 24%);filter:blur(5px);opacity:.96;mix-blend-mode:screen}
.linear-segment.on::after{inset:-70% -46%;background:repeating-radial-gradient(ellipse at 24% 58%,rgba(255,255,205,.72) 0 2px,transparent 12px 31px,rgba(255,175,56,.55) 38px,transparent 53px);filter:blur(4px);opacity:.8;mix-blend-mode:screen}
.linear-segment.off{background:linear-gradient(145deg,#30445e,#111c2d 56%,#273750);box-shadow:inset 0 9px 18px rgba(0,0,0,.23),inset 0 2px 1px rgba(186,211,235,.19)}
body[data-theme=platinum] .linear-segment.off{background:linear-gradient(145deg,#c2cedc,#8597ad 56%,#b4c5d7)}
body.motion .linear-segment.on::before{animation:moltenFlowOne 4.4s ease-in-out infinite alternate}
body.motion .linear-segment.on::after{animation:moltenFlowTwo 8.2s linear infinite}
@keyframes moltenFlowOne{0%{transform:translate(-21%,-11%) scale(1.0) rotate(-6deg)}50%{transform:translate(9%,9%) scale(1.23) rotate(9deg)}100%{transform:translate(24%,-7%) scale(1.1) rotate(-6deg)}}
@keyframes moltenFlowTwo{from{transform:translate(-13%,-10%) rotate(0deg)}to{transform:translate(20%,11%) rotate(65deg)}}
.linear-boundary{top:11px;height:68px;z-index:4}
.linear-boundary b{top:73px;font-size:11px}
.linear-pointer{top:7px;height:78px;z-index:5;border-left:3px solid var(--goldText)}
.linear-pointer::before{width:15px;height:15px;left:-9px;top:-2px;box-shadow:0 0 13px rgba(255,225,137,.9),0 0 23px rgba(255,197,86,.6)}
.linear-wrap input[type=range]{height:81px;touch-action:pan-y}
.line-ends{margin-top:8px}
/* Bright logo, always on; high-contrast gold and blue with a real passing specular highlight. */
.brand-word{isolation:isolate;filter:drop-shadow(0 1px 1px rgba(0,0,0,.13))}
.gold-word{background-image:linear-gradient(105deg,#9e641b 0%,#f0b354 13%,#ffe8ad 22%,#9b5c0e 36%,#f8d18a 48%,#fff8dc 52%,#ac6e20 58%,#f3c16d 72%,#a96c17 87%,#ffe4a3 100%);background-size:300% 100%;-webkit-text-stroke:.35px rgba(137,78,15,.33)}
.blue-word{background-image:linear-gradient(105deg,#075384 0%,#5aaff6 16%,#d9faff 27%,#0062ab 43%,#5cbdff 49%,#ffffff 53%,#007eb9 63%,#7cd8ff 81%,#1267a8 100%);background-size:300% 100%;-webkit-text-stroke:.3px rgba(10,76,130,.35)}
body.motion .gold-word{animation:wordShimmerStrong 4.9s ease-in-out infinite}
body.motion .blue-word{animation:wordShimmerStrong 6.1s ease-in-out infinite reverse}
@keyframes wordShimmerStrong{0%{background-position:0% 50%}55%{background-position:95% 50%}100%{background-position:0% 50%}}
body[data-theme=platinum] .gold-word{background-image:linear-gradient(110deg,#6f430f 0%,#ac711e 18%,#e1b257 30%,#6a3e09 44%,#ba8027 50%,#f6d687 54%,#85520e 66%,#bb812f 78%,#754510 100%);-webkit-text-stroke:.5px rgba(71,42,6,.42);filter:drop-shadow(0 1px 0 rgba(255,255,255,.45))}
body[data-theme=platinum] .blue-word{background-image:linear-gradient(110deg,#074f86 0%,#1b7ec0 20%,#79ceee 31%,#045583 44%,#4098c8 50%,#b1ecff 54%,#07659b 69%,#136aa2 82%,#094a7a 100%);-webkit-text-stroke:.42px rgba(7,52,93,.46)}
/* Hero electricity symbol: visibly glowing when ON, gracefully dimmed when OFF. */
.hero-symbol{isolation:isolate;overflow:visible}
.hero-symbol::before{content:"";position:absolute;inset:4% 2%;z-index:-1;border-radius:50%;background:radial-gradient(ellipse,rgba(255,200,106,.45) 0%,rgba(85,177,255,.2) 35%,transparent 72%);filter:blur(20px);opacity:1}
.hero-symbol .hero-logo{filter:brightness(1.1) saturate(1.12) drop-shadow(0 0 18px rgba(255,185,72,.22));transition:filter .55s,opacity .55s}
.hero-symbol .bolt-liquid{opacity:.83;filter:drop-shadow(0 0 11px rgba(255,202,88,.9));mix-blend-mode:screen}
body.motion .power-panel[data-power="on"] .hero-symbol .bolt-liquid path,
body.motion .power-panel[data-power="unknown"] .hero-symbol .bolt-liquid path{animation:heroLightning 2.6s ease-in-out infinite}
@keyframes heroLightning{0%,100%{stroke-dashoffset:124;stroke-width:10;opacity:.38}35%{stroke-dashoffset:17;stroke-width:22;opacity:.95}65%{stroke-dashoffset:-110;stroke-width:15;opacity:.67}}
body.motion .power-panel[data-power="on"] .hero-symbol,
body.motion .power-panel[data-power="unknown"] .hero-symbol{animation:heroPulseVisible 4.8s ease-in-out infinite}
@keyframes heroPulseVisible{0%,100%{filter:drop-shadow(0 0 16px rgba(255,189,71,.45))}50%{filter:drop-shadow(0 0 37px rgba(251,195,93,.82))}}
.power-panel[data-power="off"] .hero-symbol{opacity:.76;filter:grayscale(.3) saturate(.62) brightness(.69) drop-shadow(0 5px 9px rgba(0,10,25,.3));animation:none!important}
.power-panel[data-power="off"] .hero-symbol .hero-logo{filter:brightness(.82) saturate(.66)}
.power-panel[data-power="off"] .hero-symbol::before{opacity:.06}
.power-panel[data-power="emergency"] .hero-symbol{opacity:.78;filter:saturate(.6) brightness(.82)}
/* Honest scope: plan vs measured electrical state for a particular residence. */
.actual-status-link{display:flex;justify-content:space-between;align-items:center;gap:10px 14px;flex-wrap:wrap;padding:10px 0 1px;color:var(--muted);font-size:11px;line-height:1.5}
.actual-status-link a{color:var(--blue);text-decoration:none;font-weight:760;white-space:nowrap}
.actual-status-link a:hover{text-decoration:underline}
@media (max-width:700px){.actual-status-link{font-size:10px;gap:4px}.line-view{padding-top:32px}.linear-boundary b{font-size:10px}}
@media(prefers-reduced-motion:reduce){.arc-molten-deep,.arc-molten-crest,.linear-segment.on::before,.linear-segment.on::after{animation:none!important}}

/* === SVITLOVOD Fluid Arc refinement === */
.arc-liquid-layer{pointer-events:none;isolation:isolate;mix-blend-mode:screen}
.arc-liquid-field{pointer-events:none;transform-box:view-box;transform-origin:360px 215px}
.arc-liquid-field-a{opacity:.82;filter:blur(8px)}
.arc-liquid-field-b{opacity:.64;filter:blur(12px)}
body.motion .arc-liquid-field-a{animation:arcFluidOne 4.4s ease-in-out infinite alternate}
body.motion .arc-liquid-field-b{animation:arcFluidTwo 8.2s linear infinite}
@keyframes arcFluidOne{0%{transform:translate(-34px,11px) scale(1) rotate(-3deg)}50%{transform:translate(17px,-11px) scale(1.11) rotate(5deg)}100%{transform:translate(44px,7px) scale(1.03) rotate(-2deg)}}
@keyframes arcFluidTwo{0%{transform:translate(-24px,-4px) rotate(-5deg)}50%{transform:translate(16px,12px) rotate(5deg)}100%{transform:translate(36px,-5px) rotate(14deg)}}
/* Slow the lightning passing through the large indicator; upper brand retains its own motion. */
body.motion .power-panel[data-power="on"] .hero-symbol .bolt-liquid path,
body.motion .power-panel[data-power="unknown"] .hero-symbol .bolt-liquid path{animation:heroLightning 4.8s ease-in-out infinite}
.source-footer{flex-wrap:wrap}
.source-footer .local-status-shortcut{font-weight:750;color:var(--blue);text-decoration:none;white-space:nowrap}
.source-footer .local-status-shortcut:hover{text-decoration:underline}
@media(max-width:700px){.source-footer{gap:8px 12px}}
@media(prefers-reduced-motion:reduce){.arc-liquid-field-a,.arc-liquid-field-b{animation:none!important}}

/* Prevent orphan pills or empty areas when user-facing detail is not shown. */
[hidden]{display:none!important}

/* Final Plasma Electric — shared physically-inspired layer for both selectable timelines */
.arc-view{isolation:isolate}
.arc-chart{position:relative;z-index:1}
.plasma-canvas{position:absolute;display:block;pointer-events:none!important;touch-action:none;user-select:none;mix-blend-mode:screen}
.plasma-arc{inset:0;width:100%;height:100%;z-index:2;opacity:1;filter:saturate(1.19)}
.arc-center-text{z-index:3}
.linear-track{isolation:isolate}
.plasma-line{inset:0;width:100%;height:100%;z-index:3;opacity:.96}
/* No rectangle or native tap highlight around the interactive SVG on pointer focus. */
#arcSvg,#arcSvg:focus,#arcSvg:focus:not(:focus-visible){outline:none!important;-webkit-tap-highlight-color:transparent}
#arcSvg:focus-visible{outline:none!important}
#arcSvg:focus-visible .arc-knob{stroke:var(--blue);stroke-width:9}
/* Remove no-longer-used moving SVG blobs completely. */
.arc-liquid-layer,.arc-liquid-field{display:none!important}
/* Pages should reflow naturally when optional explanation sections are absent. */
.timeline-header{margin-top:clamp(15px,2.4vw,23px)}
.statusline[hidden],.network-banner[hidden],.demo-banner[hidden],.safety-notice[hidden]{display:none!important}
body[data-theme=platinum] .plasma-canvas{filter:saturate(1.12) contrast(1.15)}
@media(prefers-reduced-motion:reduce){.plasma-canvas{opacity:.65}}

@media(max-width:700px){.timeline-header{margin-top:18px}.arc-view{margin-top:-12px}}

/* SVITLOVOD 2026.10 · UNIVERSAL PREMIUM / device adaptive timeline system */
:root { -webkit-tap-highlight-color: transparent; }
html { -webkit-text-size-adjust: 100%; }
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
button, input { font: inherit; }
button { cursor: pointer; -webkit-tap-highlight-color:transparent; }
button:focus-visible, a:focus-visible, input:focus-visible { outline: 2px solid var(--blue, #89cef8); outline-offset: 3px; }
[hidden]{ display:none!important; }
/* Glossy live rail — clean frame, clipped currents, deliberate end caps. */
.line-view { --rail-top:15px; --rail-height:58px; padding-bottom:27px; }
.linear-track {
 top:var(--rail-top); height:var(--rail-height); overflow:hidden; isolation:isolate;
 border-radius:24px; border:2px solid rgba(255,215,148,.42);
 background:linear-gradient(155deg,#1c2b41 0%,#0d1625 51%,#23334b 100%);
 box-shadow:inset 0 1px 1px rgba(255,255,255,.28),inset 0 -9px 16px rgba(0,0,0,.2),0 0 0 1px rgba(255,211,120,.1),0 13px 30px rgba(0,0,0,.14);
}
.linear-track::before{inset:2px 4px auto;height:13px;border-radius:24px 24px 8px 8px;z-index:6;opacity:.55;}
.linear-track::after{inset:auto 3px 3px;height:7px;z-index:6;}
.linear-segment { top:0;bottom:0; box-shadow:none; }
.linear-segment:first-child { border-radius:22px 0 0 22px; }
.linear-segment:last-of-type { border-radius:0 22px 22px 0; }
.linear-segment.on {
 box-shadow:inset 0 2px 8px rgba(255,240,172,.38),inset 0 -8px 17px rgba(136,63,13,.35);
}
/* Canvas clipped on all four sides, even with iOS webkit blending/glow */
.plasma-line { inset:0;width:100%;height:100%;pointer-events:none!important;clip-path:inset(3px 3px round 20px);-webkit-clip-path:inset(3px 3px round 20px);filter:saturate(1.17) contrast(1.12); }
.linear-boundary { top:11px;height:68px;border-left:2px solid rgba(255,223,154,.78);filter:drop-shadow(0 0 5px rgba(247,186,71,.28));z-index:7; }
.linear-boundary b { top:73px;letter-spacing:-.12px;font-weight:750; }
.linear-energy-node {
 position:absolute;top:33px;left:0;transform:translate(-50%,-50%);
 display:block;width:22px;height:22px;border:3px solid #efb960;
 border-radius:50%;background:radial-gradient(circle at 40% 32%,#25384e 0%,#111a2a 62%,#090f19 100%);
 box-shadow:0 0 0 2px rgba(5,11,20,.8),0 0 9px rgba(255,191,78,.48),inset 0 0 5px rgba(255,222,153,.4);
 pointer-events:none;
}
.linear-energy-node::before{content:"";position:absolute;inset:3px;border-radius:50%;border:1px solid rgba(255,229,171,.22);}
.linear-energy-node::after{content:"";position:absolute;inset:7px;border-radius:50%;background:rgba(255,211,135,.24);box-shadow:0 0 4px rgba(255,210,105,.4);}
/* Current glances off the boundary contacts without spinning or adding decorative blobs. */
body.motion .linear-energy-node::after {animation:contactSpark 4.4s ease-in-out infinite;animation-delay:var(--node-delay,0s);}
@keyframes contactSpark {0%,21%,100%{opacity:.23;transform:scale(.75)}28%{opacity:.96;transform:scale(1.2);box-shadow:0 0 7px #fff2b3,0 0 13px rgba(255,185,69,.8)}43%{opacity:.28;transform:scale(.76)}}

.linear-pointer{z-index:8;}
/* Arc's glass shell: rings sit above the flowing energy via understated detail. */
.arc-track-bg { stroke-linecap:butt; }
.arc-track-stroke { stroke-linecap:butt; }
.arc-bmark { fill:var(--surface-strong); stroke:var(--gold); stroke-width:5;filter:drop-shadow(0 0 4px rgba(239,183,68,.32)); }
.arc-label { font-weight:790;font-variant-numeric:tabular-nums;paint-order:stroke;stroke:var(--body,#070d18);stroke-width:1.4;stroke-linejoin:round; }
.arc-end { font-variant-numeric:tabular-nums; }
/* Circular handle halo avoids the native SVG filter's rectangular dark bounds on iOS. */
.arc-knob,.arc-needle-glow {filter:none!important;}
.arc-knob {stroke:var(--surface-strong);stroke-width:5;}
.arc-pointer-halo {pointer-events:none;fill:url(#premiumHandleHalo);stroke:none;filter:none!important;}
.arc-pointer-rim {pointer-events:none;fill:none;stroke:#ffe1a0;stroke-width:1.25;opacity:.67;filter:none!important;}
.arc-needle-glow {stroke:#eebc65;opacity:.29;stroke-width:11;}
#arcSvg:focus-visible .arc-knob {stroke:var(--blue);stroke-width:6;}

.arc-view { overflow:visible; }
.plasma-arc { filter:saturate(1.34) contrast(1.18); }
/* Whole-app fit and finish — no gratuitous ornament; preserve brand vocabulary. */
.power-panel,.water-card,.day-card,.news-card,.setting-group,.period-insight,.changes-card {
 box-shadow:0 10px 32px rgba(0,0,0,.11),inset 0 1px 0 rgba(255,255,255,.035);
}
.nav-item { transition:color .18s ease,transform .18s ease; }
/* UI can shrink instead of widening the layout viewport on compact phones. */
.intro-strip > div:first-child {min-width:0;}
.intro-title {min-width:0;}
.bottom-nav .nav-item {min-width:0;}

.nav-item:active { transform:translateY(1px); }
.view-switch button { transition:color .22s ease,background .22s ease,box-shadow .22s ease; }
.action-btn { transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }
.action-btn:active { transform:scale(.985); }
body[data-theme=platinum] .linear-energy-node { background:radial-gradient(circle at 35% 27%,#fff 0%,#b9c8d9 57%,#63758e 100%);box-shadow:0 0 0 2px rgba(232,239,246,.72),0 0 9px rgba(185,133,36,.33),inset 0 0 6px rgba(255,255,255,.68); }
body[data-theme=platinum] .arc-label {stroke:#e8edf4;}
@media (min-width:701px){
 .linear-boundary b {font-size:12px;}
 .linear-track {border-radius:22px;}
 .line-view {margin-inline:auto;}
}
@media (max-width:700px){
 /* iPhone/Samsung: natural intrinsic SVG width, but thicker drawn glass */
 .power-panel {padding:20px clamp(11px,3.8vw,19px) 20px;border-radius:24px;}
 .arc-view {margin:-3px -7px -12px;}
 .arc-track-bg {stroke-width:74!important;}
 .arc-track-stroke {stroke-width:67!important;}
 .arc-sheen {stroke-width:2.5;stroke:rgba(255,251,229,.27);}
 .arc-bmark {stroke-width:6;filter:drop-shadow(0 0 5px rgba(243,173,57,.62));}
 .arc-label {font-size:19.5px;font-weight:790;}
 .arc-end {font-size:16px;}
 .arc-center-text{top:69.8%;}
 .arc-center-text strong{font-size:clamp(24px,6.7vw,29px);letter-spacing:-.25px;}
 .plasma-arc {opacity:1;filter:saturate(1.48) contrast(1.27) brightness(1.12);}
 .line-view{--rail-top:16px;--rail-height:55px;padding:36px 6px 22px;}
 .linear-wrap{height:100px;}
 .linear-track{border-radius:23px;}
 .linear-segment:first-child { border-radius:22px 0 0 22px; }
 .linear-segment:last-of-type { border-radius:0 22px 22px 0; }
 .linear-boundary{top:11px;height:65px;}
 .linear-energy-node{top:32px;width:20px;height:20px;border-width:3px;}
 .linear-boundary b{top:71px;font-size:10.5px;letter-spacing:-.3px;}
 .linear-pointer{top:8px;height:75px;}
 .linear-pointer::before{top:1px;}
 .plasma-line{filter:saturate(1.48) contrast(1.19) brightness(1.08);}
 .line-time-float{font-size:14px;margin-bottom:-7px;}
 .line-ends{margin-top:3px;font-size:11px;}
 .nav-item{min-height:50px;}
 .nav-glyph{font-size:21px;}
 .period-insight{border-radius:17px;}
 .today-select,.view-switch {touch-action:manipulation;}
}
@media (max-width:385px){
 .arc-view {margin-left:-11px;margin-right:-11px;}
 .arc-label{font-size:20px;}
 .power-panel{padding-left:11px;padding-right:11px;}
 .intro-strip > div:first-child {min-width:0;max-width:100%;}
 .intro-title {font-size:clamp(19px,6.2vw,23px);gap:7px;flex-wrap:wrap;line-height:1.15;}
 .intro-title .queue-pill {font-size:10px;padding:4px 7px;}
 .intro-sub {overflow-wrap:anywhere;}
 .nav-item {min-width:0;font-size:9.4px;letter-spacing:-.16px;overflow-wrap:anywhere;}

 .linear-boundary b{font-size:9.5px;}
 .linear-energy-node{width:18px;height:18px;}
 .line-view{padding-left:5px;padding-right:5px;}
 .countdown{letter-spacing:-1.7px;}
 .water-visual{flex-shrink:0;}
}
@media (max-width:340px){
 .arc-view{margin-left:-13px;margin-right:-13px;}
 .view-switch button{padding:8px 7px;}
 .timeline-title{font-size:16px;}
 .power-head .eyebrow{letter-spacing:.7px;font-size:9px;}
 .nav-item{min-width:0;}
 .linear-boundary b{font-size:9px;}
}
@media (prefers-reduced-motion:reduce){
 body.motion .linear-energy-node::after{animation:none!important;}
 .plasma-canvas{opacity:.75;}
 .nav-item,.view-switch button,.action-btn{transition:none!important;}
}



/* SVITLOVOD 1.9.0 — release finish: clean clipped glass rail, consistent component chrome */
/* One clipping surface contains every luminous segment and its canvas, even when
   Mobile Safari composites the canvas and CSS-filtered pseudo-elements separately. */
.linear-track{
 border:0!important;border-radius:999px!important;
 overflow:hidden!important;clip-path:inset(0 round 999px);
 -webkit-clip-path:inset(0 round 999px);
 background:linear-gradient(180deg,#2c405a 0%,#101b2d 48%,#17263b 100%);
 box-shadow:none!important;
 contain:paint;
}
.linear-track::before,.linear-track::after{display:none!important;}
.linear-segment{inset-block:0!important;overflow:hidden!important;box-shadow:none!important;}
.linear-segment:first-child{border-radius:999px 0 0 999px!important;}
.linear-segment:last-of-type{border-radius:0 999px 999px 0!important;}
.linear-segment.on{box-shadow:inset 0 2px 8px rgba(255,237,175,.3),inset 0 -6px 9px rgba(70,42,5,.2)!important;}
.plasma-line{
 inset:0!important;width:100%!important;height:100%!important;
 border-radius:inherit!important;clip-path:inset(0 round 999px)!important;
 -webkit-clip-path:inset(0 round 999px)!important;
 mix-blend-mode:screen;
}
/* The outer shape is a single SVG-like optical edge painted ABOVE all currents,
   not several half-transparent borders painted under a canvas. */
.rail-shell{
 position:absolute;inset:0;z-index:8;pointer-events:none;border-radius:999px;
 box-shadow:inset 0 0 0 1.5px rgba(245,205,135,.58),
            inset 0 2px 1px rgba(255,250,213,.25),
            inset 0 -3px 5px rgba(14,23,39,.28);
 background:linear-gradient(180deg,rgba(255,249,210,.18),transparent 22%,transparent 76%,rgba(9,15,24,.10));
}
body[data-theme=platinum] .rail-shell{
 box-shadow:inset 0 0 0 1.5px rgba(155,117,49,.52),inset 0 2px 1px rgba(255,255,255,.55);
 background:linear-gradient(180deg,rgba(255,255,255,.13),transparent 28%);
}
/* Borders stay crisp; only backgrounds may glow softly inside the panel. */
.power-panel,.water-card,.period-insight,.day-card,.news-card,.setting-group,.changes-card{
 background-clip:padding-box;
}
.power-panel{box-shadow:0 12px 34px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.035);}
/* Source and local bot now form one information group; refresh is the sole far-right action. */
.source-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 18px;align-items:start;}
.source-origin{min-width:0;display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 14px;}
.source-origin #powerSource{min-width:0;overflow-wrap:anywhere;}
.source-origin .local-status-shortcut{white-space:nowrap;flex:none;}
.source-footer #refreshButton{min-width:88px;justify-self:end;white-space:nowrap;}
/* Native touch and accessibility; don't erase visible keyboard focus. */
.linear-track,.rail-shell{-webkit-tap-highlight-color:transparent;}
@media(max-width:700px){
 .linear-track{border-radius:999px!important;}
 .linear-segment:first-child{border-radius:999px 0 0 999px!important;}
 .linear-segment:last-of-type{border-radius:0 999px 999px 0!important;}
 .rail-shell{box-shadow:inset 0 0 0 1.25px rgba(252,209,134,.6),inset 0 1px 1px rgba(255,245,205,.3),inset 0 -3px 4px rgba(8,16,28,.25);}
 .source-footer{gap:8px 12px;}
 .source-footer #refreshButton{min-width:70px;}
 .power-panel{border:1px solid var(--panelEdge);box-shadow:0 10px 26px rgba(0,0,0,.16);}
 .panel-halo{pointer-events:none;}
 .line-view{overflow:visible;}
}
@media(max-width:350px){
 .source-footer{grid-template-columns:minmax(0,1fr) auto;gap:7px;}
 .source-footer #refreshButton{min-width:64px;font-size:10px;}
}
@media(prefers-reduced-motion:reduce){
 .linear-energy-node::after{animation:none!important;}
}


/* SVITLOVOD 2.0 RELEASE — single coherent energy hardware for arc and linear. */
/* SVG contact layer above the same procedural plasma canvas. */
.arc-view{position:relative;isolation:isolate;}
.arc-chart{position:relative;z-index:1;}
.plasma-arc{position:absolute;z-index:2;pointer-events:none;}
.arc-contact-overlay{position:absolute;z-index:4;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;filter:none!important;}
.arc-center-text{z-index:5;}
.arc-contact-outer{fill:#0e1929;stroke:#edc67e;stroke-width:3.2;paint-order:stroke;}
.arc-contact-inner{fill:#20324a;stroke:#07101e;stroke-width:2.6;}
.arc-contact-spark{fill:#e7b863;opacity:calc(.36 + var(--contact-energy,0)*.64);}
.arc-contact {filter:none!important;}
.arc-contact-outer,.arc-contact-inner {vector-effect:non-scaling-stroke;}
.arc-contact-spark {transform-box:fill-box;transform-origin:center;}
/* Contacts remain distinguishable from bright fluid at every phase. */
body[data-theme=platinum] .arc-contact-outer{fill:#eef2f8;stroke:#89642f;}
body[data-theme=platinum] .arc-contact-inner{fill:#8495ad;stroke:#dae4f0;}
/* The LINE is deliberately thinner than the arc; the electricity logic remains identical. */
.line-view{--rail-top:18px;--rail-height:50px;padding:35px 4px 10px;}
.linear-wrap{height:125px;position:relative;}
.linear-track{height:var(--rail-height)!important;top:var(--rail-top)!important;border-radius:999px!important;overflow:hidden!important;contain:paint;}
.linear-segment.on{box-shadow:inset 0 2px 4px rgba(255,241,186,.22),inset 0 -4px 6px rgba(104,63,11,.14)!important;}
/* No overlong marker bars: contacts sit exactly at the central current axis. */
.linear-boundary {position:absolute;top:var(--rail-top)!important;height:var(--rail-height)!important;width:0;border:0!important;filter:none!important;z-index:8;pointer-events:none;}
.linear-energy-node{position:absolute;left:0;top:50%!important;width:17px;height:17px;transform:translate(-50%,-50%);box-sizing:border-box;border:2.5px solid #efc780;border-radius:50%;background:#0e1929;box-shadow:0 0 0 2px rgba(6,12,22,.87),0 0 7px rgba(236,171,60,.2);display:grid;place-items:center;pointer-events:none;}
.linear-energy-node::before,.linear-energy-node::after {display:none!important;animation:none!important;}
.linear-energy-core{display:block;width:6px;height:6px;border-radius:50%;background:#d8ae65;box-shadow:0 0 calc(2px + var(--contact-energy,0)*8px) rgba(255,224,154,.7);opacity:calc(.45 + var(--contact-energy,0)*.55);}
.linear-boundary b{position:absolute;top:calc(var(--rail-height) + 13px)!important;left:0;display:block;transform:translateX(-50%);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px!important;line-height:16px;letter-spacing:0!important;color:var(--text2);font-weight:750;text-shadow:none;}
.linear-boundary.staggered b{top:calc(var(--rail-height) + 35px)!important;}
.linear-pointer{top:calc(var(--rail-top) - 6px)!important;height:calc(var(--rail-height) + 12px)!important;border-left:2px solid var(--goldText)!important;z-index:9;pointer-events:none;}
.linear-pointer::before{top:0!important;left:-8px!important;width:13px!important;height:13px!important;box-shadow:0 0 12px rgba(251,199,99,.58)!important;}
.rail-shell{z-index:5;box-shadow:inset 0 0 0 1.25px rgba(248,208,137,.49),inset 0 2px 1px rgba(250,249,216,.2),inset 0 -2px 4px rgba(5,11,20,.2)!important;}
.line-ends{margin-top:0!important;}
body[data-theme=platinum] .linear-energy-node{background:#edf3fb;border-color:#986e30;box-shadow:0 0 0 2px #cad6e4;}
body[data-theme=platinum] .linear-energy-core{background:#966525;}
/* Keep animated core restricted to its metal viewport; remove distracting div glows. */
.linear-segment.on::before{filter:blur(5px)!important;opacity:.62!important;}
.linear-segment.on::after{filter:blur(4px)!important;opacity:.44!important;}
/* Smart typography and tap affordances across the app. */
body:not(.motion) .plasma-canvas{opacity:.9;}
@media(max-width:700px){
 .line-view{--rail-top:18px;--rail-height:40px;padding:39px 2px 10px;}
 .linear-wrap{height:110px;}
 .linear-energy-node{width:15px;height:15px;border-width:2.2px;}
 .linear-energy-core{width:5px;height:5px;}
 .linear-boundary b{font-size:10.5px!important;top:calc(var(--rail-height) + 12px)!important;}
 .linear-boundary.staggered b{top:calc(var(--rail-height) + 34px)!important;}
 .line-time-float{margin-bottom:2px;font-size:13px;}
 .arc-contact-outer{stroke-width:3.6;}
 .arc-contact-inner{stroke-width:2.7;}
 .plasma-arc{filter:saturate(1.3) contrast(1.1);}
 .power-panel{isolation:isolate;}
 .power-panel .panel-halo{opacity:.35;}
}
@media(max-width:365px){
 .linear-boundary b{font-size:10px!important;}
 .line-view{padding-inline:1px;}
 .linear-energy-node{width:14px;height:14px;}
}
@media(prefers-reduced-motion:reduce){.linear-energy-core,.arc-contact-spark{transition:none!important;}}

/* Source attribution belongs to a stable grid, not wrap-based accidental placement. */
.source-footer{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;align-items:center!important;column-gap:clamp(12px,2vw,23px)!important;row-gap:6px!important;}
.source-origin{display:contents!important;}
.source-origin #powerSource{grid-column:1;grid-row:1;min-width:0;line-height:1.55;}
.source-origin .local-status-shortcut{grid-column:2;grid-row:1;white-space:nowrap;justify-self:center;}
.source-footer #refreshButton{grid-column:3;grid-row:1;justify-self:end;}
@media(max-width:700px){
 .source-footer{grid-template-columns:minmax(0,1fr) auto!important;column-gap:12px!important;row-gap:9px!important;align-items:center!important;}
 .source-origin #powerSource{grid-column:1/-1;grid-row:1;}
 .source-origin .local-status-shortcut{grid-column:1;grid-row:2;justify-self:start;}
 .source-footer #refreshButton{grid-column:2;grid-row:2;}
}

/* === SVITLOVOD 2.1 | finishing touches, responsive calm interactions === */
/* The pointer is drawn above liquid effects and is readable against both lit/off segments. */
.arc-contact-overlay{z-index:5!important;}
.arc-contact{transition:opacity .16s ease-in-out;}
.arc-contact.contact-near-pointer{opacity:0!important;}
.arc-needle-outline{stroke:#071323;stroke-width:11;stroke-linecap:round;pointer-events:none;}
.arc-needle{stroke:#f8d78f!important;stroke-width:6!important;stroke-linecap:round;pointer-events:none;}
.arc-needle-highlight{stroke:#fff9e5;stroke-width:1.85;stroke-linecap:round;opacity:.88;pointer-events:none;}
.arc-pointer-halo{fill:rgba(255,203,100,.12)!important;stroke:none!important;filter:none!important;pointer-events:none;}
.arc-pointer-rim{fill:#0b1829!important;stroke:#fff0bf!important;stroke-width:3!important;opacity:1!important;filter:none!important;pointer-events:none;}
.arc-knob{fill:#ffe2a0!important;stroke:#0b1829!important;stroke-width:1.6!important;filter:none!important;pointer-events:none;}
body[data-theme=platinum] .arc-needle-outline{stroke:#263d59;}
body[data-theme=platinum] .arc-pointer-rim{fill:#1c3450!important;stroke:#ffedbc!important;}
/* A small glass needle is much easier to distinguish than a gold pole over gold plasma. */
.linear-pointer{top:calc(var(--rail-top) + 4px)!important;height:calc(var(--rail-height) - 8px)!important;width:5px!important;border:1.5px solid #071525!important;border-left:1.5px solid #071525!important;background:linear-gradient(90deg,#ffecb9,#fffdf3 54%,#edb963)!important;border-radius:7px!important;box-shadow:0 0 0 1px rgba(255,255,255,.13),0 0 13px rgba(255,239,179,.38)!important;transform:translateX(-50%);filter:none!important;z-index:12!important;transition:left .18s ease;}
.linear-pointer::before{content:''!important;position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:14px!important;height:14px!important;border-radius:50%!important;border:2px solid #fff2ce!important;background:#111e30!important;box-shadow:0 0 0 2px #172437,0 0 12px rgba(255,209,115,.45)!important;}
.linear-pointer::after{content:none!important;}
.linear-boundary.contact-near-pointer .linear-energy-node{opacity:0!important;}
.linear-energy-node{transition:opacity .15s;}
/* Single baseline for every boundary time; never shuffle labels onto a second line. */
.linear-boundary b,.linear-boundary.staggered b{top:calc(var(--rail-height) + 12px)!important;transform:translateX(-50%)!important;}
.linear-wrap input#linearSlider{pointer-events:none!important;visibility:hidden!important;}
.linear-wrap{cursor:pointer;touch-action:pan-y;}
.linear-track,.linear-boundaries{pointer-events:none;}
#linearTapRegion:focus-visible{outline:2px solid #93caff;outline-offset:4px;border-radius:16px;}
#arcSvg:focus-visible{outline:2px solid #93caff!important;outline-offset:0;border-radius:16px;}
.arc-hit-ring,.arc-bmark,.arc-knob{cursor:pointer!important;touch-action:pan-y!important;}
.arc-chart,.arc-view{touch-action:pan-y!important;}
@media(max-width:700px){
 .linear-pointer{width:5px!important;}
 .linear-boundary b,.linear-boundary.staggered b{font-size:10px!important;letter-spacing:-.3px!important;}
}
@media(prefers-reduced-motion:reduce){.linear-pointer,.arc-contact,.linear-energy-node{transition:none!important;}}
/* Extra optical spacing for the closest schedule times on compact devices. */
@media (max-width:360px){
 .linear-boundary b,.linear-boundary.staggered b{font-size:9.4px!important;letter-spacing:-.35px!important;}
}

/* === SVITLOVOD 2.2: agreed scoped fixes ONLY === */
/* Actual report is separate from the yellow planned timetable. */
.factual-power{position:relative;display:flex;align-items:center;gap:12px;min-width:0;padding:12px 14px;margin:2px 0 9px;border:1px solid rgba(126,146,175,.30);border-radius:17px;background:linear-gradient(110deg,rgba(30,43,61,.66),rgba(20,32,50,.65));isolation:isolate;overflow:hidden;transition:background .9s ease,border-color .9s ease;}
.factual-power[hidden],.factual-schedule[hidden]{display:none!important;}
.factual-bulb{position:relative;flex:0 0 48px;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:rgba(118,134,159,.16);border:1px solid rgba(146,163,184,.4);color:#9eabc0;transition:filter .8s,color .8s,border-color .8s;}
.factual-bulb svg{width:28px;height:28px;}
.factual-content{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1;}
.factual-content strong{font-size:clamp(12.5px,1.65vw,16px);font-weight:800;line-height:1.32;color:var(--text);}
.factual-content small{font-size:11px;color:var(--text2);line-height:1.4;}
.factual-schedule{font-size:11px;font-weight:760;line-height:1.32;flex:0 1 190px;max-width:190px;padding:9px 12px;text-align:center;color:var(--goldText);border:1px solid var(--lineStrong);border-radius:12px;background:var(--softGold);}
.factual-power[data-actual=off]{background:linear-gradient(114deg,rgba(95,27,43,.29),rgba(23,25,38,.74));border-color:rgba(243,91,111,.5);}
.factual-power[data-actual=off] .factual-bulb{color:#ff7486;background:radial-gradient(circle,rgba(255,75,106,.23),rgba(85,27,47,.56));border-color:rgba(255,105,132,.75);box-shadow:0 0 16px rgba(243,66,99,.19);}
.factual-power[data-actual=on]{background:linear-gradient(114deg,rgba(110,82,33,.24),rgba(20,32,46,.62));border-color:rgba(244,197,108,.44);}
.factual-power[data-actual=on] .factual-bulb{color:#ffdc94;border-color:rgba(246,205,128,.72);box-shadow:0 0 14px rgba(240,176,78,.18);}
.factual-power[data-actual=on] .bulb-slash{opacity:0;}
body.motion .factual-power[data-actual=off] .factual-bulb{animation:statusSubtlePulse 8s ease-in-out infinite;}
@keyframes statusSubtlePulse{0%,100%{box-shadow:0 0 9px rgba(245,65,97,.13)}52%{box-shadow:0 0 18px rgba(245,65,97,.27)}}
/* Shimmer on open and actual state changes, not each clock tick. */
.factual-power.status-attention::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.07) 47%,transparent 66%);transform:translateX(-120%);animation:factualGreet 2.8s ease-out 1;}
.factual-power[data-actual=off].status-attention::after{background:linear-gradient(105deg,transparent 0%,rgba(255,81,107,.19) 48%,transparent 70%);}
.factual-power[data-actual=on].status-attention::after{background:linear-gradient(105deg,transparent 0%,rgba(255,217,144,.2) 48%,transparent 70%);}
@keyframes factualGreet{0%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
/* Hero decorative drop belongs to bot events ONLY; in outages it glows like a candle. */
.power-panel[data-power=off] .hero-symbol{opacity:.87;filter:brightness(.47) saturate(.60) sepia(.13) drop-shadow(0 0 9px rgba(242,160,82,.13));} body.motion .power-panel[data-power=off] .hero-symbol{animation:candleFlicker 8.3s ease-in-out infinite!important;}
.power-panel[data-power=off] .hero-symbol .hero-logo{filter:brightness(.79) saturate(.54)!important;}
.power-panel[data-power=off] .hero-symbol::before{opacity:.16;background:radial-gradient(ellipse,rgba(255,158,73,.23),transparent 74%);}
.power-panel[data-power=off] .hero-symbol .bolt-liquid{opacity:.21!important;filter:drop-shadow(0 0 8px rgba(255,170,80,.16));}
.power-panel[data-power=off] .hero-symbol .bolt-liquid path{animation:none!important;}
@keyframes candleFlicker{0%,100%{filter:brightness(.50) saturate(.59) sepia(.17) drop-shadow(0 0 9px rgba(235,148,71,.12))}22%{filter:brightness(.58) saturate(.58) sepia(.15) drop-shadow(0 0 13px rgba(235,148,71,.21))}43%{filter:brightness(.52) saturate(.59) sepia(.15) drop-shadow(0 0 11px rgba(235,148,71,.15))}71%{filter:brightness(.61) saturate(.64) sepia(.19) drop-shadow(0 0 14px rgba(235,148,71,.19))}}
.power-panel[data-power=unknown] .hero-symbol{opacity:.73!important;filter:brightness(.68) saturate(.54)!important;animation:none!important;}
.power-panel[data-power=unknown] .hero-symbol .bolt-liquid{opacity:0!important;}
.power-panel[data-power=unknown] .hero-symbol::before{opacity:.035!important;}
body.motion .power-panel[data-power=unknown] .hero-symbol .bolt-liquid path{animation:none!important;}
body.motion .power-panel[data-power=unknown] .hero-symbol{animation:none!important;}
/* External progress in both views; labels appear ONLY in arc center or above line. */
.external-progress-track,.external-progress-fill{fill:none;stroke-width:4.2;stroke-linecap:round;pointer-events:none;}
.external-progress-track{stroke:rgba(157,177,201,.32);}
.external-progress-fill{stroke:var(--goldText);filter:drop-shadow(0 0 4px rgba(245,188,91,.24));}
.external-progress-halo{fill:rgba(250,193,99,.2);pointer-events:none;}
.external-progress-dot{fill:#ffe0a2;stroke:#192840;stroke-width:1.2;pointer-events:none;}
.linear-pointer{display:none!important;}
.linear-boundary.contact-near-pointer .linear-energy-node,.arc-contact.contact-near-pointer{opacity:1!important;}
.line-progress-rail{position:relative;height:3px;background:rgba(139,163,194,.32);border-radius:8px;margin:19px 12px 0;}
.line-progress-rail i{position:absolute;left:0;top:0;height:100%;width:0;border-radius:8px;background:linear-gradient(90deg,#b98c47,#ffe3a1);box-shadow:0 0 6px rgba(252,209,127,.36);}
.line-progress-rail b{position:absolute;top:50%;left:0;transform:translate(-50%,-50%);height:12px;width:12px;border-radius:50%;background:#ffe1a1;border:2px solid #182437;box-shadow:0 0 10px rgba(252,210,130,.48);}
/* Keep time markers visible on LINE with the same strong concentric style as ARC. */
.linear-energy-node{width:21px!important;height:21px!important;border:3px solid #edc67e!important;background:#0e1929!important;box-shadow:0 0 0 3px rgba(7,15,27,.90),0 0 7px rgba(255,191,102,.26)!important;}
.linear-energy-core{width:8px!important;height:8px!important;background:#20324a!important;border:2px solid #07101e!important;box-shadow:inset 0 0 0 1px rgba(242,187,101,.28),0 0 calc(1px + var(--contact-energy,0)*6px) rgba(255,215,141,.55)!important;}
body[data-theme=platinum] .linear-energy-node{background:#eef2f8!important;border-color:#89642f!important;}
body[data-theme=platinum] .linear-energy-core{background:#8495ad!important;border-color:#dae4f0!important;}
/* Optical centering of persistent bottom dock: account for safe-area without pushing labels to its top. */
.bottom-nav{min-height:calc(78px + env(safe-area-inset-bottom,0px));padding:10px max(9px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(9px,env(safe-area-inset-left,0px))!important;align-items:center!important;}
.bottom-nav .nav-item{min-height:55px!important;align-self:center;justify-content:center;}
@media(max-width:700px){.factual-power{padding:10px 11px;gap:9px}.factual-bulb{flex-basis:42px;width:42px;height:42px}.factual-bulb svg{width:25px;height:25px}.factual-content strong{font-size:12.5px}.factual-content small{font-size:10px}.factual-schedule{font-size:9px;flex-basis:94px;padding:6px;max-width:94px}.external-progress-track,.external-progress-fill{stroke-width:4.7}.line-progress-rail{margin-top:17px}}
@media(max-width:360px){.factual-schedule{max-width:86px;font-size:8.6px}.factual-content strong{font-size:11.8px}.linear-energy-node{width:18px!important;height:18px!important;}}
@media(prefers-reduced-motion:reduce){.factual-power.status-attention::after,.factual-power[data-actual=off] .factual-bulb,.power-panel[data-power=off] .hero-symbol{animation:none!important;}}

/* Final optical correction: LINE ring physical size matches ARC on iPhone. */
.linear-energy-node{width:16px!important;height:16px!important;border-width:2.7px!important;box-shadow:0 0 0 1.8px rgba(7,15,27,.9),0 0 calc(3px + var(--contact-energy,0)*8px) rgba(255,201,119,.32)!important;}
.linear-energy-core{width:5.8px!important;height:5.8px!important;border-width:1.25px!important;}
@media(max-width:360px){.linear-energy-node{width:15px!important;height:15px!important;}}
/* When there is no further event today, don't reserve space for a non-existent timer. */
.power-panel.no-future-event .power-hero{min-height:143px;}
@media(max-width:700px){.power-panel.no-future-event .power-hero{min-height:132px;}}
/* A barely breathing warm halo mimics candlelight rather than electrical pulses. */
body.motion .power-panel[data-power=off] .hero-symbol::before{animation:candleHalo 9.5s ease-in-out infinite;}
@keyframes candleHalo{0%,100%{opacity:.10}35%{opacity:.21}67%{opacity:.15}81%{opacity:.24}}
@media(prefers-reduced-motion:reduce){body.motion .power-panel[data-power=off] .hero-symbol::before{animation:none!important;}}

/* Emphasize the confirmed part of the message without animating the text. */
.factual-content em{font-style:normal;}
.factual-power[data-actual=off] .factual-content em{color:#ff7486;}
.factual-power[data-actual=on] .factual-content em{color:var(--goldText);}

/* 2.2.1 · One electrode component for both chart geometries. The line
   uses the exact three SVG circles, same rendering tokens and live energy. */
.linear-boundary .linear-energy-node{
 width:clamp(16px,4.6vw,31px)!important;
 height:clamp(16px,4.6vw,31px)!important;
 position:absolute;left:0;top:50%!important;
 display:block;overflow:visible;
 transform:translate(-50%,-50%);
 border:0!important;border-radius:0!important;
 background:transparent!important;
 box-shadow:none!important;
 filter:drop-shadow(0 0 calc(1px + var(--contact-energy,0)*5px) rgba(255,206,135,.34));
 opacity:1;
}
.linear-boundary .linear-energy-node .arc-contact-outer,
.linear-boundary .linear-energy-node .arc-contact-inner,
.linear-boundary .linear-energy-node .arc-contact-spark{
 vector-effect:non-scaling-stroke;
}
@media(max-width:360px){.linear-boundary .linear-energy-node{width:16px!important;height:16px!important;}}
@media(prefers-reduced-motion:reduce){.linear-boundary .linear-energy-node{filter:none!important;}}


/* === SVITLOVOD 2.3 | only agreed corrections, original design preserved === */
/* Move progress ABOVE the line, leaving the animated gold plasma and its rings unobstructed. */
.line-view{padding-top:19px!important;}
.line-time-float{
 display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
 margin:0 0 0!important;padding:0;text-align:center;color:var(--text);
 line-height:1.23;font-variant-numeric:tabular-nums;
}
.line-time-float span{font-size:13px;font-weight:500;color:var(--text2);}
.line-time-float strong{font-size:clamp(24px,4vw,32px);font-weight:800;color:var(--text);letter-spacing:-.25px;}
.line-progress-rail{
 margin:20px 8px 11px!important;height:3px!important;
 position:relative!important;z-index:2;pointer-events:none;
}
.line-progress-rail b{height:13px!important;width:13px!important;}
.line-progress-rail i{box-shadow:0 0 5px rgba(252,209,127,.33)!important;}
/* Keep the original line geometry and the four transition rings. */
.arc-label{stroke-width:1.6px;paint-order:stroke;}
/* Gentle continuous red informational pulse (not blinking text) while light is off.
   The opening shimmer still runs separately on open/return and on real status transitions. */
body.motion .factual-power[data-actual=off]{
 animation:factualCardBreathe 8.6s ease-in-out infinite;
}
body.motion .factual-power[data-actual=off]::before{
 content:'';position:absolute;inset:1px;border-radius:inherit;z-index:-1;pointer-events:none;
 background:radial-gradient(ellipse at 15% 50%,rgba(231,60,78,.16),transparent 69%);
 transform-origin:20% 50%;animation:factualAuraBreathe 9.2s ease-in-out infinite;
}
@keyframes factualCardBreathe{
 0%,100%{border-color:rgba(243,91,111,.33);box-shadow:0 0 3px rgba(244,69,91,.05),inset 0 0 10px rgba(244,69,91,.025)}
 48%{border-color:rgba(255,116,134,.59);box-shadow:0 0 22px rgba(244,69,91,.13),inset 0 0 22px rgba(244,69,91,.055)}
 78%{border-color:rgba(243,91,111,.41);box-shadow:0 0 9px rgba(244,69,91,.075),inset 0 0 12px rgba(244,69,91,.038)}
}
@keyframes factualAuraBreathe{0%,100%{opacity:.32;transform:scale(.97)}45%{opacity:.70;transform:scale(1.03)}75%{opacity:.39;transform:scale(1)}}
/* Premium amber outline on an active 'light is on' notification, without ongoing warnings. */
body.motion .factual-power[data-actual=on].status-attention{box-shadow:0 0 13px rgba(249,206,123,.14);}
/* Use a clear visual warning when preview states are forced, to never misrepresent reality. */
.factual-power[data-preview=true] .factual-content small{font-weight:750;letter-spacing:.16px;}
@media(max-width:700px){
 .line-view{padding-top:15px!important;}
 .line-time-float span{font-size:11px;}
 .line-time-float strong{font-size:clamp(24px,6.7vw,29px);}
 .line-progress-rail{margin:18px 8px 9px!important;}
}
@media(prefers-reduced-motion:reduce){
 .factual-power[data-actual=off],.factual-power[data-actual=off]::before{animation:none!important;}
}

body:not(.motion) .power-panel[data-power=off] .hero-symbol,
body:not(.motion) .power-panel[data-power=off] .hero-symbol::before{animation:none!important;}


/* === SVITLOVOD 2.4: factual status animation & tab state corrective patch === */
/* Continuous, readable state-dependent halo. Separate from one-time opening sweep. */
.factual-power[data-actual="off"]{--status-rgb:244,88,111;}
.factual-power[data-actual="on"]{--status-rgb:248,198,108;}
.factual-power[data-actual="unknown"]{--status-rgb:137,167,202;}
.factual-power::before{
 content:"";position:absolute;inset:1px;border-radius:inherit;pointer-events:none;z-index:0;
 background:radial-gradient(ellipse at 23% 55%,rgba(var(--status-rgb),.13),transparent 69%);
 opacity:.30;transform:translateZ(0);
}
.factual-power > .factual-bulb,.factual-power > .factual-content,.factual-power > .factual-schedule{position:relative;z-index:1;}
.factual-power.status-attention::after{z-index:2;}
body.motion .factual-power[data-actual="off"],
body.motion .factual-power[data-actual="on"],
body.motion .factual-power[data-actual="unknown"]{
 animation:svStatusBreath 7.4s ease-in-out infinite;
}
body.motion .factual-power[data-actual="on"]{animation-duration:7s;}
body.motion .factual-power[data-actual="unknown"]{animation-duration:10.5s;}
body.motion .factual-power[data-actual="off"]::before,
body.motion .factual-power[data-actual="on"]::before,
body.motion .factual-power[data-actual="unknown"]::before{
 animation:svStatusInner 8.4s ease-in-out infinite;
}
body.motion .factual-power[data-actual="unknown"]::before{animation-duration:11s;}
@keyframes svStatusBreath{
 0%,100%{border-color:rgba(var(--status-rgb),.27);box-shadow:0 0 3px rgba(var(--status-rgb),.035),inset 0 0 6px rgba(var(--status-rgb),.02)}
 48%{border-color:rgba(var(--status-rgb),.72);box-shadow:0 0 20px rgba(var(--status-rgb),.20),inset 0 0 22px rgba(var(--status-rgb),.085)}
 76%{border-color:rgba(var(--status-rgb),.39);box-shadow:0 0 8px rgba(var(--status-rgb),.075),inset 0 0 11px rgba(var(--status-rgb),.04)}
}
@keyframes svStatusInner{0%,100%{opacity:.23}45%{opacity:.85}75%{opacity:.41}}
/* No bright electrical stroke during an outage: animate subdued warm glass brightness instead. */
@keyframes candleFlicker{
 0%,100%{filter:brightness(.39) saturate(.48) sepia(.18) drop-shadow(0 0 7px rgba(233,158,81,.10))}
 19%{filter:brightness(.45) saturate(.52) sepia(.21) drop-shadow(0 0 10px rgba(233,158,81,.17))}
 38%{filter:brightness(.40) saturate(.49) sepia(.18) drop-shadow(0 0 8px rgba(233,158,81,.12))}
 61%{filter:brightness(.51) saturate(.56) sepia(.23) drop-shadow(0 0 14px rgba(233,158,81,.23))}
 79%{filter:brightness(.43) saturate(.49) sepia(.19) drop-shadow(0 0 9px rgba(233,158,81,.13))}
}
/* A modest candle glow on the inner bolt, not a lightning strike. */
.power-panel[data-power=off] .hero-symbol .bolt-liquid{opacity:.16!important;filter:drop-shadow(0 0 6px rgba(255,171,89,.13))!important;}
/* Honor user-facing motion toggle and OS accessibility setting. */
body:not(.motion) .factual-power,body:not(.motion) .factual-power::before{animation:none!important;}
@media(prefers-reduced-motion:reduce){
 .factual-power,.factual-power::before{animation:none!important;}
 .power-panel[data-power=off] .hero-symbol,
 .power-panel[data-power=off] .hero-symbol::before{animation:none!important;}
}
/* Make active day unmistakable in both mobile and desktop even after JavaScript re-render. */
.today-select .date-btn.selected,
.today-select .date-btn[aria-pressed="true"]{
 background:var(--raised);color:var(--goldText);
 box-shadow:inset 0 0 0 1.5px var(--lineStrong),0 0 0 1px rgba(251,201,116,.12);
}

/* A tiny amber ember remains alive within the otherwise dimmed droplet.
   It oscillates softly in place (no electric stroke travelling through it). */
body.motion .power-panel[data-power="off"] .hero-symbol .bolt-liquid{
 opacity:.43!important;
 filter:drop-shadow(0 0 6px rgba(232,141,62,.24))!important;
}
body.motion .power-panel[data-power="off"] .hero-symbol .bolt-liquid path{
 animation:svCandleEmber 10.6s ease-in-out infinite!important;
 stroke:#f1aa62;stroke-width:11px;stroke-dasharray:70 19 39 700;
}
@keyframes svCandleEmber{
 0%,100%{opacity:.16;filter:drop-shadow(0 0 2px rgba(244,153,66,.25))}
 22%{opacity:.28;filter:drop-shadow(0 0 4px rgba(244,153,66,.45))}
 43%{opacity:.19;filter:drop-shadow(0 0 2px rgba(244,153,66,.26))}
 68%{opacity:.39;filter:drop-shadow(0 0 7px rgba(244,153,66,.53))}
 82%{opacity:.22;filter:drop-shadow(0 0 3px rgba(244,153,66,.34))}
}
body:not(.motion) .power-panel[data-power="off"] .hero-symbol .bolt-liquid path{animation:none!important;}
@media(prefers-reduced-motion:reduce){
 body.motion .power-panel[data-power="off"] .hero-symbol .bolt-liquid path{animation:none!important;opacity:.23;}
}

/* === SVITLOVOD 2.4.3: brighter CONFIRMED-on logo, no icon or other state changes === */
/* The installed iPhone icon remains a separate static PNG. No changes to the droplet drawing. */
.power-panel[data-power="on"] .hero-symbol{opacity:1}
.power-panel[data-power="on"] .hero-symbol .hero-logo{
  filter:brightness(1.24) saturate(1.19)
    drop-shadow(0 0 13px rgba(48,166,255,.36))
    drop-shadow(0 0 24px rgba(255,186,69,.35));
}
.power-panel[data-power="on"] .hero-symbol::before{
  opacity:1;
  background:radial-gradient(ellipse at 50% 52%,rgba(255,205,112,.45) 0%,rgba(85,177,255,.32) 31%,rgba(240,174,69,.19) 51%,transparent 78%);
  filter:blur(18px);
}
.power-panel[data-power="on"] .hero-symbol .bolt-liquid{
  opacity:.94;
  filter:drop-shadow(0 0 12px rgba(255,215,126,.94)) drop-shadow(0 0 21px rgba(255,171,48,.36));
}
body.motion .power-panel[data-power="on"] .hero-symbol{
  animation:svitlovodConfirmedOnGlow 5.6s ease-in-out infinite;
}
@keyframes svitlovodConfirmedOnGlow{
  0%,100%{filter:drop-shadow(0 0 20px rgba(255,187,83,.40)) drop-shadow(0 0 18px rgba(73,164,251,.19))}
  50%{filter:drop-shadow(0 0 32px rgba(255,203,118,.71)) drop-shadow(0 0 30px rgba(51,164,255,.36))}
}
