/* AI 入口 / 智能运维。所有颜色在头部 theme.css 的「AI 赋能」区域配置。 */
.ai_empower {
    position: absolute; z-index: 32; right: 3.2%; bottom: 4.2%;
    width: 9vh; width: 9svh; height: 9vh; height: 9svh; border: 0; border-radius: 50%;
    display: grid; place-items: center; padding: 0; cursor: pointer;
    color: var(--theme-text); background: var(--smart-button);
    box-shadow: inset 0 0 1.8vh var(--smart-halo), 0 0 2.8vh var(--smart-shadow);
    
    font: inherit; font-size: 1.65vh; font-size: 1.65svh; line-height: 1;
    transition: transform .4s ease, box-shadow .4s ease, background-color .4s ease;
    touch-action: manipulation; isolation: isolate;
}
@supports (height: 1svh) {
    .ai_empower { box-shadow: inset 0 0 1.8svh var(--smart-halo), 0 0 2.8svh var(--smart-shadow); }
}

.ai_empower[hidden] { display: none; }
.ai_empower:disabled { opacity: .4; cursor: wait; }
.ai_empower_text { display: flex; align-items: baseline; gap: .25em; position: relative; }
.ai_empower_text b { font-size: 1.12em; font-weight: 500; letter-spacing: -.07em; }
.ai_empower_ring, .ai_empower::before, .ai_empower::after {
    content: ''; position: absolute; top: -.7vh; right: -.7vh; bottom: -.7vh; left: -.7vh; inset: -.7vh; top: -.7vh; right: -.7vh; bottom: -.7vh; left: -.7vh; inset: -.7svh;
    border: .12vh solid var(--smart-stroke);  border-radius: 50%; pointer-events: none;
}
@supports (height: 1svh) {
    .ai_empower_ring, .ai_empower::before, .ai_empower::after { border: .12svh solid var(--smart-stroke); }
}

.ai_empower_ring { top: .4vh; right: .4vh; bottom: .4vh; left: .4vh; inset: .4vh; top: .4vh; right: .4vh; bottom: .4vh; left: .4vh; inset: .4svh; border-color: var(--smart-accent); opacity: .5; }
.ai_empower::before { border-top-color: var(--smart-accent); border-bottom-color: transparent; animation: ai-orbit 10s linear infinite; }
.ai_empower::after { animation: ai-breathe 3.6s ease-out infinite; }
.ai_empower_ring::after { content: ''; position: absolute; width: .45vh; width: .45svh; aspect-ratio: 1; background: var(--smart-light); border-radius: 50%; top: 13%; right: 12%; box-shadow: 0 0 1em var(--smart-accent); }
.ai_empower:focus-visible {
    outline: .2vh solid var(--smart-accent);  outline-offset: .5em;
}
@supports (height: 1svh) {
    .ai_empower:focus-visible { outline: .2svh solid var(--smart-accent); }
}

@media (hover: hover) and (pointer: fine) {
    .ai_empower:not(:disabled):hover { transform: translateY(-4%) scale(1.06); background: var(--smart-button-hover); box-shadow: inset 0 0 2em var(--smart-halo), 0 0 3em var(--smart-halo); }
    .ai_empower:hover::before { border-top-color: var(--smart-light); border-right-color: var(--smart-accent); }
    .ai_empower:hover .ai_empower_ring { opacity: 1; transform: rotate(40deg); transition: transform .5s ease, opacity .3s ease; }
}
.ai_empower:active { transform: scale(.96); }
@keyframes ai-orbit { to { transform: rotate(360deg); } }
@keyframes ai-breathe { 0% { opacity: .6; transform: scale(.96); } 85%,100% { opacity: 0; transform: scale(1.3); } }

/* 独立 CSS 背景层：不改变透明 WebGL / 泛光的 alpha，模型继续正常叠加。
   外框和场景内层分别覆盖，兼容原有圆角；退出一开始即反向淡出。 */
.main_container::before, .size_limit_container::before {
    content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; inset: 0;
    background: var(--smart-scene); opacity: 0; pointer-events: none;
    transition: opacity .65s ease;
}
html.smart-mode:not(.smart-closing) .main_container::before,
html.smart-mode:not(.smart-closing) .size_limit_container::before { opacity: 1; }

/* AI 模式只显示模型特效和同一个退出按钮。 */
html.smart-mode .nav_wrapper, html.smart-mode .variant_picker,
html.smart-mode .viewer_tools, html.smart-mode .part_inspector,
html.smart-mode .menu_btn, html.smart-mode .product_name_container,
html.smart-mode .bg_en_name { opacity: 0 !important; pointer-events: none !important; }
html.smart-mode .ai_empower_text { font-size: 1em; }
@media (max-width: 1100px), (pointer: coarse) and (max-width: 1400px) {
    .ai_empower { right: 6%; width: 7.4vh; width: 7.4svh; height: 7.4vh; height: 7.4svh; font-size: 1.5vh; font-size: 1.5svh; }
}
@media (prefers-reduced-motion: reduce) {
    .main_container::before, .size_limit_container::before { transition: none; }
    .ai_empower, .ai_empower *, .ai_empower::before, .ai_empower::after { animation: none !important; transition: none !important; }
}

/* 普通产品仅提供「前往数智款」入口：轻量文字按钮，箭头提示会切换产品。
   与数智款的圆形 AI 场景按钮区分；不使用旋转光环或呼吸动效。 */
.ai_empower.is-explore {
    width: auto;
    height: auto;
    min-height: 5vh;
    min-height: 5svh;
    padding: 1.3vh 2vh;
    padding: 1.3svh 2svh;
    border: .065rem solid rgba(var(--theme-ink-rgb), .22);
    border-radius: .65rem;
    color: var(--theme-text);
    background: rgba(var(--surface-rgb), .4);
    box-shadow: none;
    font-size: 1.6vh;
    font-size: 1.6svh;
    line-height: 1.35;
}
.ai_empower.is-explore::before, .ai_empower.is-explore::after,
.ai_empower.is-explore .ai_empower_ring { display: none; }
.ai_empower.is-explore .ai_empower_text { align-items: center; gap: .8em; white-space: nowrap; }
.ai_explore_arrow { width: 1.15em; height: 1.15em; fill: none; stroke: currentColor; stroke-width: 1.5; transition: transform 220ms ease; }
.ai_empower.is-explore:focus-visible { border-color: var(--theme-accent); }
@media (hover: hover) and (pointer: fine) {
    .ai_empower.is-explore:not(:disabled):hover { transform: translateY(-3%); background: rgba(var(--surface-rgb), .65); border-color: var(--theme-accent); box-shadow: none; }
    .ai_empower.is-explore:hover .ai_explore_arrow { transform: translateX(.2em); }
}
@media (prefers-reduced-motion: reduce) { .ai_explore_arrow { transition: none; } }
