/* Third-round art direction, isolated to /neu/. Inputs and popover anchors stay native. */
.ota-ultra .showcase-hero { padding-bottom:43px; }
.ota-ultra .showcase-hero h1 { text-shadow:0 5px 35px color-mix(in srgb,var(--bg) 45%,transparent); }
.ota-ultra .showcase-hero h1 > span { background-image:linear-gradient(105deg,var(--accent) 5%,var(--accent-2) 66%,var(--ink) 98%); }
.ota-ultra .showcase-visual { perspective:1100px; }
.ota-ultra .showcase-halo { background:radial-gradient(ellipse,color-mix(in srgb,var(--accent) 23%,transparent),color-mix(in srgb,var(--accent-2) 8%,transparent) 48%,transparent 70%); }
.ota-ultra .showcase-orbit-a { border-top-color:var(--accent); border-right-color:color-mix(in srgb,var(--accent) 5%,transparent); box-shadow:0 -5px 28px -22px var(--accent); }
.ota-ultra .showcase-orbit-b { border-bottom-color:var(--accent-2); }
.ota-ultra .showcase-device-float { z-index:4; }
.ota-ultra .showcase-device { transition:transform 650ms cubic-bezier(.2,.75,.2,1),box-shadow 500ms ease; }
.ota-ultra .showcase-float-badge { z-index:5; }
.ota-ultra .showcase-float-badge-b { border-color:color-mix(in srgb,var(--accent-2) 35%,var(--line)); }
.ota-ultra .ultra-explore {
  position:absolute; right:calc(20% - 76px); bottom:9px; z-index:6; min-height:34px;
  padding:7px 13px; border:1px solid var(--preview-ring); border-radius:22px;
  background:color-mix(in srgb,var(--panel) 90%,transparent); color:var(--accent);
  font-size:10px; font-weight:650; cursor:pointer; overflow:hidden;
  box-shadow:0 0 20px color-mix(in srgb,var(--accent) 6%,transparent);
}
.ota-ultra .ultra-explore:hover,.ota-ultra .ultra-explore[aria-pressed="true"] { border-color:var(--accent); background:color-mix(in srgb,var(--accent) 11%,var(--panel)); }
.ota-ultra .ultra-layer {
  position:absolute; left:calc(50% - 76px); top:24px; width:152px; height:258px;
  border:1px solid var(--preview-ring); border-radius:23px; z-index:2;
  color:var(--accent); background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 10%,var(--panel)),color-mix(in srgb,var(--panel) 55%,transparent));
  opacity:.16; transform:rotateX(8deg) rotateY(-18deg) rotateZ(8deg);
  transition:transform 650ms cubic-bezier(.2,.75,.2,1),opacity 450ms ease,border-color 450ms ease;
  pointer-events:none;
}
.ota-ultra .ultra-layer::before { content:''; position:absolute; inset:20px 13px; border:1px dashed currentColor; border-radius:14px; opacity:.2; background:linear-gradient(90deg,transparent 49.5%,currentColor 50%,transparent 50.5%); }
.ota-ultra .ultra-layer-0 { transform:translate(-8px,8px) rotateX(8deg) rotateY(-18deg) rotateZ(8deg); }
.ota-ultra .ultra-layer-2 { transform:translate(-15px,15px) rotateX(8deg) rotateY(-18deg) rotateZ(8deg); color:var(--accent-2); }
.ota-ultra .ultra-layer-caption { position:absolute; left:14px; top:15px; font-size:7px; letter-spacing:.17em; }
.ota-ultra .ultra-layer-chip { position:absolute; inset:0; display:grid; place-items:center; font-size:35px; opacity:.5; }
.ota-ultra .ultra-layer-corner { position:absolute; right:14px; bottom:15px; width:18px; height:2px; background:currentColor; box-shadow:-24px 0 0 currentColor; opacity:.45; }
.ota-ultra [data-expanded="1"] .showcase-device { transform:translate(48px,-16px) rotateX(13deg) rotateY(-30deg) rotateZ(12deg); box-shadow:16px 22px 0 -9px color-mix(in srgb,var(--accent) 12%,var(--bg)),30px 35px 55px color-mix(in srgb,var(--bg) 65%,transparent),0 0 70px color-mix(in srgb,var(--accent) 17%,transparent); }
.ota-ultra [data-expanded="1"] .ultra-layer-0 { transform:translate(16px,8px) rotateX(15deg) rotateY(-29deg) rotateZ(10deg); opacity:.75; }
.ota-ultra [data-expanded="1"] .ultra-layer-1 { transform:translate(-22px,27px) rotateX(17deg) rotateY(-27deg) rotateZ(6deg); opacity:.65; }
.ota-ultra [data-expanded="1"] .ultra-layer-2 { transform:translate(-62px,45px) rotateX(19deg) rotateY(-25deg) rotateZ(2deg); opacity:.5; }
.ota-ultra [data-expanded="1"] .showcase-float-badge-a { opacity:0; pointer-events:none; }
.ota-ultra [data-expanded="1"] .showcase-float-badge-b { transform:translate(16px,24px) rotate(3deg); }
.ota-ultra .showcase-float-badge { transition:transform 500ms ease,opacity 250ms ease; }
.ota-ultra .ultra-circuit { position:absolute; left:calc(50% - 190px); top:0; width:380px; height:320px; pointer-events:none; overflow:visible; }
.ota-ultra .ultra-circuit path { stroke:var(--accent); stroke-width:1; stroke-linecap:round; stroke-linejoin:round; }
.ota-ultra .ultra-circuit .ultra-circuit-base { opacity:.14; }
.ota-ultra .ultra-circuit .ultra-circuit-signal { stroke-dasharray:14 160; opacity:.75; animation:ultra-signal 4s linear infinite; animation-play-state:var(--showcase-play); }
.ota-ultra .ultra-circuit .ultra-circuit-signal:nth-child(4) { stroke:var(--accent-2); animation-delay:-1.3s; }
.ota-ultra .ultra-circuit .ultra-circuit-signal:nth-child(6) { animation-delay:-2.6s; }
.ota-ultra .ultra-round { border:1px solid var(--preview-ring); padding:3px 6px; border-radius:4px; color:var(--accent); font:8px/1.3 monospace; letter-spacing:.08em; }

/* Floating openings: preserve original top/left/width/z-index/scroll calculations. */
.ota-ultra .ota-device-popover:not([hidden]),
.ota-ultra .ota-region-popover:not([hidden]),
.ota-ultra .ota-version-popover:not([hidden]),
.ota-ultra .ota-build-menu[open] .ota-build-menu-popover,
.ota-ultra [data-theme-switcher].is-open .theme-menu {
  --ultra-float-offset:9px;
  animation:ultra-popover-in 240ms cubic-bezier(.16,1,.3,1) both;
  transform-origin:50% 0;
  border-color:color-mix(in srgb,var(--accent) 36%,var(--line));
  box-shadow:0 20px 70px color-mix(in srgb,var(--bg) 65%,transparent),0 0 0 1px color-mix(in srgb,var(--accent) 6%,transparent),0 -6px 35px color-mix(in srgb,var(--accent) 7%,transparent);
}
.ota-ultra .ota-device-picker.is-above .ota-device-popover,
.ota-ultra .ota-region-picker.is-above .ota-region-popover,
.ota-ultra .ota-version-picker.is-above .ota-version-popover { --ultra-float-offset:-9px; transform-origin:50% 100%; }
.ota-ultra .ota-device-popover:not([hidden]) .ota-device-option,
.ota-ultra .ota-region-popover:not([hidden]) .ota-region-option,
.ota-ultra .ota-version-popover:not([hidden]) .ota-version-option { animation:ultra-option-in 240ms ease-out both; }
.ota-ultra .ota-device-option:nth-child(2),.ota-ultra .ota-region-option:nth-child(2),.ota-ultra .ota-version-option:nth-child(2) { animation-delay:16ms; }
.ota-ultra .ota-device-option:nth-child(3),.ota-ultra .ota-region-option:nth-child(3),.ota-ultra .ota-version-option:nth-child(3) { animation-delay:32ms; }
.ota-ultra .ota-device-option:nth-child(4),.ota-ultra .ota-region-option:nth-child(4),.ota-ultra .ota-version-option:nth-child(4) { animation-delay:48ms; }
.ota-ultra .ota-device-option:nth-child(n+5),.ota-ultra .ota-region-option:nth-child(n+5),.ota-ultra .ota-version-option:nth-child(n+5) { animation-delay:60ms; }
.ota-ultra .ota-region-option,.ota-ultra .ota-device-option,.ota-ultra .ota-version-option { transition:background-color 150ms ease,color 150ms ease,box-shadow 150ms ease; }
.ota-ultra .ota-region-option:hover,.ota-ultra .ota-device-option:hover,.ota-ultra .ota-version-option:hover { background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 16%,var(--panel)),color-mix(in srgb,var(--accent) 5%,var(--panel))); box-shadow:inset 2px 0 var(--accent); }
.ota-ultra .ota-region-option.is-selected,.ota-ultra .ota-device-option.is-selected,.ota-ultra .ota-version-option.is-selected { box-shadow:inset 2px 0 var(--accent),inset 0 0 20px color-mix(in srgb,var(--accent) 3%,transparent); }
.ota-ultra .ota-region-trigger-arrow,.ota-ultra .ota-device-trigger-arrow,.ota-ultra .ota-version-trigger-arrow { transition:transform 220ms ease; }
.ota-ultra [aria-expanded="true"] > .ota-region-trigger-arrow,.ota-ultra [aria-expanded="true"] > .ota-device-trigger-arrow,.ota-ultra [aria-expanded="true"] > .ota-version-trigger-arrow { transform:rotate(180deg); }
.ota-ultra .ota-device-trigger,.ota-ultra .ota-region-trigger,.ota-ultra .ota-version-trigger,.ota-ultra #otaResolveBtn { position:relative; overflow:hidden; }
.ota-ultra .ultra-ripple { position:absolute; width:180px; height:180px; margin:-90px; border-radius:50%; pointer-events:none; background:radial-gradient(circle,color-mix(in srgb,var(--accent) 28%,var(--ink)),transparent 66%); animation:ultra-ripple 550ms cubic-bezier(.2,.6,.3,1) both; }
.ota-ultra #downloadBtn::after { transition:transform 200ms ease; }
.ota-ultra #downloadBtn:hover::after { transform:translateY(3px); }
@keyframes ultra-popover-in { from { opacity:0; transform:translateY(var(--ultra-float-offset,9px)); filter:blur(1.5px); } to { opacity:1; transform:none; filter:none; } }
@keyframes ultra-option-in { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:none; } }
@keyframes ultra-signal { to { stroke-dashoffset:-174; } }
@keyframes ultra-ripple { from { opacity:.36; transform:scale(.05); } to { opacity:0; transform:scale(2); } }

@media (max-width:700px) {
  .ota-ultra .showcase-hero { padding-bottom:24px; }
  .ota-ultra .ultra-explore { position:relative; right:auto; bottom:auto; margin-top:13px; font-size:9px; min-height:32px; }
  .ota-ultra .ultra-round { font-size:7px; }
  .ota-ultra .ultra-circuit { display:none; }
  .ota-ultra.ultra-inspecting .showcase-visual { position:relative; top:auto; right:auto; width:100%; height:290px; margin:13px 0 0; opacity:1; transform:scale(.9); transform-origin:50% 0; pointer-events:auto; }
  .ota-ultra.ultra-inspecting .showcase-device-name,.ota-ultra.ultra-inspecting .showcase-device-build,.ota-ultra.ultra-inspecting .showcase-device-kicker { visibility:visible; }
}
.ota-ultra[data-showcase-effects="off"] .ultra-circuit-signal { animation:none; }
@media (prefers-reduced-motion:reduce) {
  .ota-ultra *, .ota-ultra *::before, .ota-ultra *::after { animation:none !important; transition:none !important; }
}
