/* IDA Studio V30 — final targeted corrections after iPhone review.
   Scoped to their intended sections; theme Navy's approved treatment is preserved. */

/* 1. Original V12 Penrose geometry stays untouched; eliminate the later
   non-scaling SVG strokes which made it look like a thick filled plate. */
.ida-penrose-assistant .penrose-mark svg path{vector-effect:none!important}
.ida-penrose-assistant .penrose-mark svg{overflow:visible;shape-rendering:geometricPrecision}
.ida-penrose-assistant .penrose-mark{filter:drop-shadow(0 2px 3px rgba(25,60,99,.24))}
html[data-theme] .ida-penrose-assistant svg{color:#91bfdf!important}
.ida-penrose-assistant .ida-v29-original{filter:drop-shadow(0 1px 2px rgba(16,51,90,.25))!important}

/* 2. Remove V29's layered, overflowing blurred divs. Use only SVG paths,
   individually clipped to a strict INSIDE-sphere circle. Retina-vector crisp,
   translucent white wavefronts; never a box around the orb. */
.hero-orb .orb-core{overflow:hidden!important;isolation:isolate;border-radius:50%!important;
  -webkit-clip-path:circle(49.75% at 50% 50%);clip-path:circle(49.75% at 50% 50%)}
.hero-orb .orb-core::after{background:radial-gradient(circle at 22% 16%,rgba(255,255,255,.29),transparent 52%)!important}
.hero-orb .ida-v29-ocean-cloud{display:none!important}
.hero-orb .ida-v30-ocean{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;
  z-index:3;pointer-events:none;overflow:hidden;opacity:.42;mix-blend-mode:screen}
.hero-orb .ida-v30-ocean .ida-v30-wave{transform-origin:50% 50%;
  animation:ida-v30-wave-flow 11s ease-in-out infinite alternate}
.hero-orb .ida-v30-ocean .ida-v30-wave:nth-child(2){animation-duration:14s;animation-delay:-3.5s;opacity:.71}
.hero-orb .ida-v30-ocean .ida-v30-wave:nth-child(3){animation-duration:17s;animation-delay:-7s;opacity:.6}
html[data-theme="ivory"] .hero-orb .ida-v30-ocean{opacity:.3;mix-blend-mode:multiply}
@keyframes ida-v30-wave-flow{
  0%{transform:translate(-22px,-5px) rotate(-8deg) scale(1);opacity:.48}
  50%{opacity:1}
  100%{transform:translate(24px,7px) rotate(9deg) scale(1.07);opacity:.85}
}

/* 3. ONLY IDA PRO: no stretched equal-height mega cards. */
.pro-grid{align-items:start!important;grid-auto-rows:min-content!important}
.pro-grid .pro-card{box-sizing:border-box;align-self:start!important;height:auto!important;
  min-height:0!important;max-height:none!important;display:block!important;
  padding:clamp(18px,2.1vw,24px)!important}
.pro-grid .pro-card h3{margin:13px 0 9px!important;line-height:1.25}
.pro-grid .pro-card p{margin:0 0 12px!important;line-height:1.64}
.pro-grid .pro-card .dev-status{display:block;margin:13px 0 0!important;line-height:1.5}
.pro-grid .pro-card .text-link{margin:8px 0 0!important}
@media(max-width:740px){.pro-grid{gap:13px!important}.pro-grid .pro-card{padding:20px!important}}

/* 4+5. Radio controls top-right, accentuated independent icons on the left.
   WebKit iOS needs explicit left:auto and position:absolute to defeat base
   form styles; 44px+ effective hit area is provided by the whole label. */
.ida-configurator .ida-choice{position:relative!important;overflow:hidden}
.ida-configurator .ida-choice input[type="radio"],
.ida-configurator .ida-choice input[type="checkbox"]{
  position:absolute!important;top:13px!important;right:13px!important;left:auto!important;
  bottom:auto!important;width:23px!important;height:23px!important;min-width:23px!important;
  min-height:23px!important;margin:0!important;transform:none!important;
  flex:0 0 23px!important;z-index:6;cursor:pointer;accent-color:var(--accent);
  opacity:1!important;pointer-events:auto
}
.ida-configurator .ida-choice .ida-choice-glyph{
  width:47px!important;height:47px!important;font-size:35px!important;
  margin:2px 0 7px!important;line-height:1;display:grid;place-items:center}
.ida-configurator .ida-choice .ida-choice-glyph svg{
  width:38px!important;height:38px!important;stroke-width:1.45}
.ida-configurator .ida-choice strong{padding-right:4px;line-height:1.32}
@media(max-width:740px){
 .ida-configurator .ida-choice{padding:15px 13px!important;min-height:126px!important}
 .ida-configurator .ida-choice .ida-choice-glyph{width:44px!important;height:44px!important;font-size:33px!important}
 .ida-configurator .ida-choice input[type="radio"]{top:12px!important;right:12px!important}
}

/* Keep wizard CTA hit targets stationary even when their content animates.
   Transform-on-hover caused intermittent missed clicks in simulated client journeys. */
.ida-config-footer #ida-config-next,
.ida-config-footer #ida-config-submit{
  animation:none!important;transform:none!important;
  transition:background-color .25s,border-color .25s,box-shadow .25s,filter .25s!important;
}
/* 6+7. Every editorial heading is observed — smooth visible arrival,
   slower than V28's ~850ms, retaining no-motion access. */
.ida-v28-reveal{transition-duration:1.65s,1.65s,1.5s!important;
  transition-timing-function:cubic-bezier(.23,.81,.25,1)!important}
.ida-v30-heading{opacity:0;translate:0 19px;filter:blur(2.5px);
  transition:opacity 1.6s cubic-bezier(.24,.78,.23,1),
             translate 1.6s cubic-bezier(.24,.78,.23,1),
             filter 1.65s ease;
  transition-delay:var(--v30-delay,0ms)}
.ida-v30-heading.ida-v30-visible{opacity:1;translate:0 0;filter:blur(0)}
.ida-v28-reveal.ida-v30-heading{transition-duration:1.6s!important}
.ida-v30-heading em{transition:color 2s ease,text-shadow 2.4s ease}
.ida-v30-heading.ida-v30-visible em{text-shadow:0 0 20px rgba(var(--accent-rgb),.08)}

/* 8. Classic: warm orange / ochre / gold stars ABOVE opaque ivory card
   backgrounds, but not text-blocking. Already-generated stable dots are
   recolored in JS without extra layout or GPU canvases. */
html[data-theme="ivory"] .ida-v27-stardust{
  display:block!important;position:fixed;inset:0;z-index:3!important;
  pointer-events:none;mix-blend-mode:multiply;opacity:.72}
html[data-theme="ivory"] .ida-v27-star{
  opacity:var(--o,.75)!important;background:var(--c,#c68a4b)!important;
  box-shadow:0 0 5px 1px var(--c,#c68a4b),0 0 11px var(--c,#c68a4b)!important;
  animation:ida-v30-classic-twinkle var(--dur,8s) ease-in-out infinite alternate!important}
@keyframes ida-v30-classic-twinkle{
  0%,100%{opacity:.12;transform:translate3d(-3px,3px,0) scale(.8)}
  50%{opacity:var(--o,.75);transform:translate3d(3px,-4px,0) scale(1.12)}
}
html[data-theme="ivory"] .topbar,
html[data-theme="ivory"] .ida-guide-panel,
html[data-theme="ivory"] .ida-v26-panel{z-index:100!important}
/* Never let starlight visually overlay form labels and buttons. */
html[data-theme="ivory"] input,
html[data-theme="ivory"] button,
html[data-theme="ivory"] .ida-choice strong{isolation:isolate}

/* 9. Chat-like dialogue, not a fake remote LLM. */
.ida-guide-panel{width:min(440px,calc(100vw - 24px));padding:17px!important;
  max-height:min(640px,calc(100dvh - 112px));overflow-y:auto;overscroll-behavior:contain}
.ida-guide-panel .ida-guide-panel-head{margin-bottom:8px}
.ida-guide-panel h2{font-size:21px!important;margin-bottom:5px!important}
.ida-guide-panel .ida-guide-panel-head p:not(.ida-guide-eyebrow){margin:3px 0 8px!important}
.ida-v30-conversation{display:flex;flex-direction:column;gap:10px;
  max-height:235px;overflow-y:auto;border:1px solid var(--line);
  border-radius:15px;padding:12px;background:rgba(var(--accent-rgb),.028);
  scroll-behavior:smooth}
.ida-v30-message{max-width:92%;display:flex;align-items:flex-start;gap:8px;
  animation:ida-v30-msg-pop .5s ease both}
.ida-v30-message.user{align-self:flex-end;flex-direction:row-reverse}
.ida-v30-avatar{flex:none;width:31px;height:31px;border-radius:11px;
  display:grid;place-items:center;color:#b7dfff;
  background:radial-gradient(circle at 28% 17%,#4a78a9,#112941 78%);
  box-shadow:inset 0 1px rgba(255,255,255,.23),0 3px 10px rgba(0,0,0,.13)}
.ida-v30-avatar svg{width:25px;height:25px;overflow:visible}
.ida-v30-avatar svg path{vector-effect:none!important}
.ida-v30-bubble{margin:0!important;border:1px solid var(--line);
  border-radius:5px 13px 13px 13px;background:var(--panel2);
  padding:9px 11px!important;color:var(--text)!important;
  font-size:12px!important;line-height:1.6!important;overflow-wrap:anywhere}
.ida-v30-message.user .ida-v30-bubble{background:rgba(var(--accent-rgb),.18);
  border-radius:13px 5px 13px 13px}
.ida-v30-message.user .ida-v30-avatar{background:var(--glass);color:var(--accent)}
@keyframes ida-v30-msg-pop{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.ida-guide-panel .ida-guide-output{position:absolute!important;width:1px!important;
  height:1px!important;padding:0!important;overflow:hidden!important;
  clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;border:0!important;
  margin:-1px!important;min-height:0!important}
.ida-guide-panel .ida-guide-options{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0!important}
.ida-guide-panel .ida-guide-options button{width:auto;flex:1 1 auto;font-size:10.5px;padding:8px 9px}
.ida-guide-panel .ida-v29-chat{margin:8px 0;gap:7px}
.ida-guide-panel .ida-v29-chat textarea{min-height:65px}
.ida-guide-panel .ida-guide-fineprint{font-size:10px!important;line-height:1.55!important}
@media(max-width:650px){.ida-guide-panel{left:12px;right:12px;width:calc(100vw - 24px);
  top:calc(72px + env(safe-area-inset-top));bottom:auto;
  max-height:min(650px,calc(100dvh - 88px));}
 .ida-v30-conversation{max-height:205px}}

/* 10. Accessibility and motion controls */
@media(prefers-reduced-motion:reduce){
  .ida-v30-heading{opacity:1!important;translate:none!important;filter:none!important;transition:none!important}
  .ida-v30-ocean .ida-v30-wave,html[data-theme="ivory"] .ida-v27-star{animation:none!important}
  .ida-v30-message{animation:none!important}
}
html[data-ida-motion-off="true"] .ida-v30-ocean .ida-v30-wave,
html[data-ida-motion-off="true"] .ida-v27-star{animation-play-state:paused!important}
