/* The full tier keeps the existing visual system. Lower tiers reduce rendering work,
   not content, brand colours, typography, or interactive functionality. */
html[data-main-quality]:not([data-main-quality="full"]) :is(.assembly-item,.assembly-char) {
  will-change: auto;
  filter: none !important;
}
html[data-main-quality]:not([data-main-quality="full"]) :is(.site-header,.system-node,.manifesto-satellite,.stream-source,.confidence-output-card),
html[data-main-quality]:not([data-main-quality="full"]) .module-window::after {
  backdrop-filter: none;
}
html[data-main-quality]:not([data-main-quality="full"]) :is(.noise,.water-ripple,.water-sheen) { display: none; }
html[data-main-quality]:not([data-main-quality="full"]) :is(.water-formula>i,.neural-formulas span,.confidence-core-chip) { animation: none !important; }
html[data-main-quality]:not([data-main-quality="full"]) .luca-visual::after { filter: none; }
html[data-main-quality]:not([data-main-quality="full"]) :is(.info-stream .stream-line i,.confidence-path i,.confidence-output-path i):nth-child(n+2) { display: none; }
html[data-main-quality]:not([data-main-quality="full"]) .luca-axon:nth-of-type(n+7) { display: none; }
html[data-main-quality="lite"] :is(.water-formula,.signal,.luca-seed.seed-three) { display: none; }
html[data-main-quality="lite"] :is(.marquee div,.luca-origin-core,.luca-axon,.luca-axon>i) { animation-play-state: paused !important; }
html[data-main-quality="lite"] .luca-axon { background-size: 100% 100%; opacity: .35; }
html[data-main-quality="lite"] .luca-axon>i { opacity: .75; }
html[data-main-quality="lite"] .luca-origin-core { border-radius: 50%; }
html[data-main-quality="lite"] .confidence-meter>i::after { animation: none; }
html[data-main-quality="lite"] :is(.system-orbit,.manifesto-orbit,.ring-a,.core-rings) { animation-duration: 38s; }

/* Apply the phone's paint/compositing budget to touch tablets at ANY width.
   These are effects only: tablet typography, columns and navigation stay intact. */
html[data-main-motion-profile="compact"] :is(.water-formula>i,.system-orbit,.signal,.neural-formulas span,.manifesto-orbit,.ring-b,.module-status i,.confidence-core-chip,.marquee div,.mobile-hero-dashboard>header small i),
html[data-main-motion-profile="compact"] .confidence-meter>i::after { animation: none !important; }
html[data-main-motion-profile="compact"] :is(.assembly-item,.assembly-char) { transform-style: flat; will-change: auto; }
html[data-main-motion-profile="compact"] :is(.site-header,.system-node,.manifesto-satellite,.stream-source,.confidence-output-card,.mobile-hero-dashboard,.mobile-menu-backdrop),
html[data-main-motion-profile="compact"] .module-window::after { -webkit-backdrop-filter: none; backdrop-filter: none; }
html[data-main-motion-profile="compact"] :is(.ring-a,.core-rings) { animation-duration: 38s; }
html[data-main-motion-profile="compact"] .info-stream.is-active .stream-line i { animation-duration: 2.2s; }
html[data-main-motion-profile="compact"] .info-stream.is-complete .stream-line i { animation-duration: 4s; }
html[data-main-motion-profile="compact"] :is(.confidence-path i,.confidence-output-path i) { animation-duration: 2.8s; }
html[data-main-motion-profile="compact"] .luca-visual::after { filter: none; opacity: .48; }
html[data-main-quality="lite"] .formula-water-field { display: none; }

/* Use the existing phone flow layout when a tablet cannot fit both minimum-width
   columns. Scoped to compact devices so the PC layout stays untouched. */
@media (max-width: 1200px) {
  html[data-main-motion-profile="compact"] .measure-flow-layout { grid-template-columns: minmax(0, 1fr); }
  html[data-main-motion-profile="compact"] .measure-visual-sticky { position: relative; top: auto; min-height: auto; }
  html[data-main-motion-profile="compact"] .measure-step { min-height: auto; }
}

/* Nothing runs offscreen or in a hidden tab; resume the same animation on return. */
[data-effects-offscreen] *, [data-effects-offscreen] *::before, [data-effects-offscreen] *::after,
html[data-main-visibility="hidden"] *, html[data-main-visibility="hidden"] *::before, html[data-main-visibility="hidden"] *::after {
  animation-play-state: paused !important;
}
