/* Astryx-informed interaction polish. Existing Onelumes palette and type stay intact. */
:root{--ui-motion-fast:150ms;--ui-motion-base:200ms;--ui-radius:10px;--ui-focus:var(--ember-deep)}
.ui-icon{display:inline-block;width:20px;height:20px;flex:0 0 auto;vertical-align:-.2em;pointer-events:none}
.link-quiet .ui-icon,.footer a .ui-icon,.public-announcement .ui-icon,.launch-inline .ui-icon{width:17px;height:17px}
.btn .ui-icon{width:19px;height:19px}
.btn{transition:background-color var(--ui-motion-base) ease,color var(--ui-motion-base) ease,border-color var(--ui-motion-base) ease;letter-spacing:.06em}
.btn::after{content:none}
.btn:active,.icon-btn:active{filter:brightness(.94)}
.public-menu .ui-icon{width:23px;height:23px}
.public-menu .ui-menu-close{display:none}
.public-menu[aria-expanded=true] .ui-menu-open{display:none}
.public-menu[aria-expanded=true] .ui-menu-close{display:inline-block}
.public-mobile{border-top:1px solid var(--line)}
.public-mobile a{border-radius:8px;padding:13px 12px;font-size:16px}
.public-mobile a:hover{background:var(--paper-warm)}
.public-filters input,.public-filters select{border-radius:var(--ui-radius);background:var(--paper-lit);transition:border-color var(--ui-motion-fast) ease}
.public-filters input:hover,.public-filters select:hover{border-color:var(--ink-soft)}
.catalog-tabs a{border-radius:var(--ui-radius);font-weight:500;transition:background-color var(--ui-motion-fast) ease,color var(--ui-motion-fast) ease,border-color var(--ui-motion-fast) ease}
.card__media{border-radius:8px}
.card__media::before{content:none}
.catalog-grid .card__body{padding-top:16px;gap:7px}
.catalog-grid .card-launch{margin-top:4px;margin-bottom:4px}
.catalog-grid .link-quiet{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:7px 0;letter-spacing:.045em}
.carousel__arrow{transition:opacity var(--ui-motion-fast) ease,background-color var(--ui-motion-fast) ease}
.carousel__arrow .ui-icon{width:20px;height:20px}
.carousel__arrow::before{box-shadow:0 1px 4px #0001;inset:4px;background:var(--paper-lit);border:1px solid var(--line)}
.carousel__arrow:hover::before{background:var(--paper-warm)}
.carousel--gallery>.carousel__controls{height:44px}
.carousel--gallery>.carousel__controls>.carousel__arrow{top:calc((100% - 44px)/2)}
.carousel--gallery>.carousel__controls .carousel__dot{width:44px;min-width:44px;height:44px;min-height:44px}
.carousel__dot span{transition:background-color var(--ui-motion-fast) ease,transform var(--ui-motion-fast) ease}
.launch-status{border-radius:var(--ui-radius);padding:22px}
.product-identity>div,.product-specs dl>div{padding-top:15px;padding-bottom:15px}
.product-section-nav a{min-height:44px;display:inline-flex;align-items:center}
.product-questions summary{gap:20px;min-height:60px;line-height:1.5}
.product-questions summary::after,.product-questions details[open] summary::after{content:none}
.product-questions summary .ui-icon{width:22px;height:22px;transition:transform var(--ui-motion-base) ease}
.product-questions details[open] summary .ui-icon{transform:rotate(180deg)}
:where(a,button,input,select,summary,[tabindex]):focus-visible{outline:2px solid var(--ui-focus);outline-offset:4px}
.carousel__dot:focus-visible,.carousel__arrow:focus-visible{outline-offset:1px}
@media(hover:none){.carousel__arrow{display:none}.btn:active,.icon-btn:active{filter:none}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .btn,.icon-btn,.catalog-tabs a,.public-filters input,.public-filters select,.carousel__arrow,.carousel__dot span,.product-questions summary .ui-icon,.public-series>img{transition:none}
 .rise{animation:none;opacity:1;transform:none}
}
