@import url('./protein-tube.css');
/* Motion decorates instruments, not their data arc, numeric text or progress values. */
.today-hud-rotor,.today-frame{transform-origin:100px 100px;transform-box:view-box}
.today-hud-rotor{pointer-events:none}
.today-hud-orbit-a{stroke:var(--accent);stroke-width:1.4;opacity:.8}
.today-hud-orbit-b{stroke:#f296ac;stroke-width:1;opacity:.62}
.today-hud-marker{fill:#ff879d;stroke:#18161c;stroke-width:.7}
.today-hud-trace{position:absolute;top:0;left:14px;right:14px;height:1px;opacity:0;transform-origin:0 50%;background:linear-gradient(90deg,transparent,#ffabbc 65%,#ff536b);pointer-events:none}
.today-device .today-hud-trace{background:linear-gradient(90deg,transparent,#b6edfa 65%,#84d4e5)}
.today-protein{position:relative}.today-coverage{position:relative}
.today-hud-feedback{position:absolute;inset:-2px;border:1px solid #f78daa;border-radius:inherit;opacity:0;pointer-events:none}
.today-dial>.today-hud-feedback{border-radius:50%;inset:4px}
.today-device>.today-hud-feedback{border-color:#84d4e5}
html[data-motion=tech] .today-button,html[data-motion=minimal] .today-button{transition:background-color 140ms,border-color 140ms,transform 120ms}
html[data-motion=tech] .today-button:enabled:active,html[data-motion=minimal] .today-button:enabled:active{transform:translateY(1px)}
html[data-motion=tech] .today-button .today-icon,html[data-motion=minimal] .today-button .today-icon{transition:transform 140ms}
html[data-motion=tech] .today-button:enabled:active .today-icon,html[data-motion=minimal] .today-button:enabled:active .today-icon{transform:translateX(3px)}
@media(hover:hover){html[data-motion=tech] .today-button:enabled:hover .today-icon,html[data-motion=minimal] .today-button:enabled:hover .today-icon{transform:translateX(2px)}}
html[data-motion=off] .today-hud-trace,html[data-motion=off] .today-hud-feedback{display:none}
@media(prefers-reduced-motion:reduce){html:not([data-motion-explicit="true"]) .today-hud-trace,html:not([data-motion-explicit="true"]) .today-hud-feedback{display:none!important}html:not([data-motion-explicit="true"]) .today-button,html:not([data-motion-explicit="true"]) .today-button .today-icon{transition:none!important;transform:none!important}}
@media(forced-colors:active){.today-hud-rotor,.today-hud-trace,.today-hud-feedback{display:none!important}}

/* Edge Surge: the real progress/value stays static; these are optional overlays. */
.edge-success-protein-sweep{position:absolute;left:0;top:0;width:18px;height:100%;border-radius:3px;background:#fff;box-shadow:0 0 8px 2px #ff8ba3;opacity:0;pointer-events:none;transform:translateX(-110%)}
.edge-success-kcal-sweep{stroke:#fff;stroke-width:9;stroke-linecap:round;filter:drop-shadow(0 0 3px #ff7892);opacity:0;pointer-events:none;transform-box:view-box;transform-origin:100px 100px}
html[data-motion=off] .edge-success-protein-sweep,html[data-motion=off] .edge-success-kcal-sweep{display:none}
@media(prefers-reduced-motion:reduce){html:not([data-motion-explicit="true"]) .edge-success-protein-sweep,html:not([data-motion-explicit="true"]) .edge-success-kcal-sweep{display:none!important}}
@media(forced-colors:active){.edge-success-protein-sweep,.edge-success-kcal-sweep{display:none!important}}

/* Kcal electricity: separate overlay, never the numeric value or true progress. */
.kcal-electric-charge{transform-origin:100px 100px;transform-box:view-box}
.kcal-electric-charge,.kcal-electric-leak{opacity:0;pointer-events:none}
.kcal-charge-halo{stroke:#ff536b;stroke-width:9;opacity:.2}
.kcal-charge-core{stroke:#ffe1e8;stroke-width:2.2}
.kcal-leak-halo{stroke:#ff617f;stroke-width:3;opacity:.25;stroke-linejoin:round}
.kcal-leak-core{stroke:#ffc3d1;stroke-width:.85;stroke-linejoin:round}
html[data-motion=off] .kcal-electric-charge,html[data-motion=off] .kcal-electric-leak,
html[data-motion=minimal] .kcal-electric-leak{display:none}
@media(prefers-reduced-motion:reduce){html:not([data-motion-explicit="true"]) .kcal-electric-charge,html:not([data-motion-explicit="true"]) .kcal-electric-leak{display:none!important}}
@media(forced-colors:active){.kcal-electric-charge,.kcal-electric-leak{display:none!important}}
