/* Stellar-only scene: existing product shell and material, no global overrides. */
#stellar-configurator { background: transparent; color: #f7f9ff; scroll-margin-top: 90px; border: 0; }
#stellar-configurator::before, #stellar-configurator::after { display: none; }
#stellar-configurator-title { scroll-margin-top: 96px; }
#stellar-configurator .stellar-configurator__heading { display: block; max-width: 820px; margin-bottom: 32px; }
#stellar-configurator .stellar-configurator__heading h2 { width: auto; max-width: none; font-size: clamp(30px,4.2vw,54px); line-height: 1.1; margin: 0 0 20px; }
#stellar-configurator .stellar-configurator__heading p { color: #c5cad6; margin: 0; font-size: 16px; line-height: 1.6; }
#stellar-configurator .stellar-configurator__shell { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(260px,1fr); align-items: center; gap: 32px; padding: 24px 40px 24px 24px; border: 1px solid rgba(224,233,248,.24); border-radius: 28px; background: rgba(12,15,22,.7); }
#stellar-configurator .stellar-configurator__viewer { display: grid; grid-template-columns: 48px minmax(0,1fr); column-gap: 16px; min-width: 0; align-items: center; }
#stellar-configurator .stellar-configurator__stage { position: relative; isolation: isolate; height: 620px; min-width: 0; }
#stellar-configurator .stellar-configurator__sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
#stellar-configurator .stellar-configurator__canvas { display: block; width: 100%; height: 100%; position: relative; touch-action: pan-y pinch-zoom; user-select: none; -webkit-user-select: none; }
#stellar-configurator.is-ready .stellar-configurator__canvas { cursor: grab; }
#stellar-configurator.is-dragging .stellar-configurator__canvas { cursor: grabbing; }
#stellar-configurator .stellar-configurator__poster { position: absolute; inset: 5% 0; width: 100%; height: 90%; object-fit: contain; }
#stellar-configurator [hidden] { display: none; }
#stellar-configurator .stellar-configurator__light { --light-a: 77,117,255; --light-b: 110,56,231; position: absolute; inset: 8% -8% 0; pointer-events: none; opacity: 0; background: radial-gradient(ellipse at 48% 84%,rgba(var(--light-a),.35),transparent 37%),radial-gradient(ellipse at 65% 38%,rgba(var(--light-b),.22),transparent 57%); filter: blur(28px); transition: opacity var(--model-look-duration,1000ms) cubic-bezier(.333333,0,.666667,1); }
#stellar-configurator .stellar-configurator__light--pulse { --light-a: 241,100,73; --light-b: 202,44,127; }
#stellar-configurator .stellar-configurator__light--pearl { --light-a: 176,206,230; --light-b: 154,135,198; }
#stellar-configurator .stellar-configurator__light--ocean { --light-a: 20,190,205; --light-b: 35,90,200; }
#stellar-configurator .stellar-configurator__light--amber { --light-a: 255,165,45; --light-b: 185,70,25; }
#stellar-configurator .stellar-configurator__light--laser { --light-a: 70,195,255; --light-b: 220,45,185; }
#stellar-configurator.is-visible.is-ready .stellar-configurator__light.is-selected { opacity: 1; transition-delay: 500ms; }
#stellar-configurator.is-mixing .stellar-configurator__light { transition-delay: 0ms; }
#stellar-configurator .stellar-configurator__status { position: absolute; bottom: 4px; left: 0; right: 0; text-align: center; color: #c5cad6; font-size: 13px; margin: 0; }
#stellar-configurator .stellar-configurator__retry { position: absolute; bottom: 34px; left: 50%; transform: translateX(-50%); width: max-content; max-width: 100%; }
#stellar-configurator fieldset { border: 0; padding: 0; margin: 0 0 28px; min-width: 0; }
#stellar-configurator legend { font-size: 16px; font-weight: 600; margin-bottom: 14px; padding: 0; }
#stellar-configurator button { appearance: none; font: inherit; font-size: 14px; line-height: 1.3; color: #f7f9ff; background: #171b24; border: 1px solid #555c6c; border-radius: 999px; padding: 12px 14px; min-height: 44px; cursor: pointer; transition: background-color 160ms,border-color 160ms; }
#stellar-configurator button[aria-pressed="true"] { background: #343949; border-color: #e7eafa; }
#stellar-configurator :is(button,input):focus-visible { outline: 3px solid #dbe7ff; outline-offset: 4px; }
#stellar-configurator button:active { background: #41495d; }
#stellar-configurator fieldset:disabled { opacity: .55; }
#stellar-configurator fieldset:disabled button { cursor: default; }
#stellar-configurator .stellar-configurator__view-controls { margin: 0; position: relative; z-index: 1; }
#stellar-configurator .stellar-configurator__views { display: grid; gap: 12px; }
#stellar-configurator .stellar-configurator__views button { position: relative; display: grid; place-items: center; width: 48px; height: 48px; padding: 10px; border-radius: 16px; }
#stellar-configurator .stellar-configurator__views svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
#stellar-configurator .stellar-configurator__view-hint { display: none; position: absolute; left: calc(100% + 8px); background: #171b24; border: 1px solid #555c6c; padding: 8px 12px; border-radius: 10px; pointer-events: none; white-space: nowrap; }
#stellar-configurator .stellar-configurator__views button:is(:hover,:focus-visible) .stellar-configurator__view-hint { display: block; }
#stellar-configurator .stellar-configurator__rotation-controls { grid-column: 2; margin: 8px 0 0; }
#stellar-configurator input[type="range"] { display: block; appearance: none; width: 100%; height: 44px; margin: 4px 0 0; padding: 0; background: transparent; cursor: pointer; }
#stellar-configurator .stellar-configurator__rotation { position: relative; }
#stellar-configurator .stellar-configurator__rotation::before { content: ''; position: absolute; left: 50%; top: 16px; height: 12px; width: 1px; background: #c5cad6; pointer-events: none; }
#stellar-configurator input[type="range"]::-webkit-slider-runnable-track { height: 4px; background: #697182; border-radius: 999px; }
#stellar-configurator input[type="range"]::-moz-range-track { height: 4px; background: #697182; border-radius: 999px; }
#stellar-configurator input[type="range"]::-webkit-slider-thumb { appearance: none; width: 26px; height: 26px; margin-top: -11px; border: 3px solid #f7f9ff; border-radius: 50%; background: #c8cee2; }
#stellar-configurator input[type="range"]::-moz-range-thumb { width: 22px; height: 22px; border: 3px solid #f7f9ff; border-radius: 50%; background: #c8cee2; }
#stellar-configurator .stellar-configurator__looks { display: grid; gap: 10px; }
#stellar-configurator .stellar-configurator__looks button { display: flex; align-items: center; gap: 12px; border-radius: 16px; padding: 10px 14px; text-align: left; min-height: 64px; }
#stellar-configurator .stellar-configurator__swatch { flex: 0 0 38px; height: 38px; border-radius: 10px; }
#stellar-configurator .stellar-configurator__swatch--aurora { background: linear-gradient(135deg,#102254,#387fe0 40%,#8df2ec 55%,#5139aa 78%,#1c133b); }
#stellar-configurator .stellar-configurator__swatch--pulse { background: repeating-linear-gradient(125deg,#401b43 0 9px,#fc9971 12px,#de457c 18px,#401b43 24px); }
#stellar-configurator .stellar-configurator__swatch--pearl { background: linear-gradient(145deg,#454872,#b7d3e8 40%,#fff0dd 55%,#8c97bc 80%,#383354); }
#stellar-configurator .stellar-configurator__swatch--ocean { background: repeating-radial-gradient(ellipse at 0 0,#04223f 0 8px,#10aabf 12px,#04223f 20px); }
#stellar-configurator .stellar-configurator__swatch--amber { background: linear-gradient(120deg,#361006,#ffab30 40%,#71300a 65%,#ffc567); }
#stellar-configurator .stellar-configurator__swatch--laser { background: repeating-linear-gradient(145deg,#09051b 0 10px,#65d4ff 11px,#d825bc 13px,#09051b 15px); }
#stellar-configurator .stellar-configurator__check { margin-left: auto; visibility: hidden; font-size: 19px; }
#stellar-configurator [aria-pressed="true"] .stellar-configurator__check { visibility: visible; }
#stellar-configurator .stellar-configurator__note { margin: 0; color: #c5cad6; font-size: 14px; line-height: 1.6; max-width: 34ch; }
#stellar-configurator .stellar-configurator__caption { margin: 16px 0 0; color: #c5cad6; font-size: 13px; line-height: 1.6; }
@media (hover:hover) and (pointer:fine) { #stellar-configurator button:not(:disabled):hover { background: #303746; border-color: #b5bfd1; } }
@media (max-width:940px) {
  #stellar-configurator .stellar-configurator__shell { grid-template-columns: minmax(0,1fr) minmax(240px,1fr); padding: 20px; gap: 24px; }
  #stellar-configurator .stellar-configurator__stage { height: 540px; }
  #stellar-configurator .stellar-configurator__viewer { column-gap: 8px; }
}
@media (max-width:640px) {
  #stellar-configurator .stellar-configurator__shell { grid-template-columns: minmax(0,1fr); gap: 16px; padding: 12px 20px 24px; border-radius: 24px; }
  #stellar-configurator .stellar-configurator__stage { height: 460px; }
  #stellar-configurator .stellar-configurator__rotation-controls { grid-column: 1 / -1; margin-bottom: 12px; }
  #stellar-configurator .stellar-configurator__heading { margin-bottom: 24px; }
  #stellar-configurator .stellar-configurator__note { max-width: none; }
}
@media (prefers-reduced-motion:reduce) { #stellar-configurator .stellar-configurator__light { transition: none; } }
@media (prefers-contrast:more), (forced-colors:active) {
  #stellar-configurator .stellar-configurator__light { display: none; }
  #stellar-configurator .stellar-configurator__shell { background: Canvas; color: CanvasText; border-color: CanvasText; }
  #stellar-configurator :is(button,legend,label,output,p) { color: CanvasText; }
  #stellar-configurator button { background: Canvas; border-color: ButtonText; }
  #stellar-configurator button[aria-pressed="true"] { border: 2px solid Highlight; }
  #stellar-configurator :is(button,input):focus-visible { outline-color: Highlight; }
}
