/* Homepage-only stages. Every landing position owns real layout space. */
.home-v2 .hj-kicker { margin: 0; color: #9caeff; font: 500 10px/1.5 ui-monospace, monospace; letter-spacing: .15em; }
.home-v2 .hj-note { margin: 18px 0 0; color: #99a4b6; font-size: 11px; line-height: 1.7; word-break: keep-all; text-wrap: pretty; }
.home-v2 .hj-port { position: relative; flex: 0 0 auto; width: 220px; height: 220px; pointer-events: none; }
.home-v2 .hj-port::before, .home-v2 .hj-port::after {
    content: ''; position: absolute; inset: 8%; border: 1px solid currentColor;
    border-radius: 50%; opacity: .2; transform: rotateX(60deg) rotate(-20deg);
}
.home-v2 .hj-port::after { inset: 2%; border-style: dashed; transform: rotateY(57deg) rotate(20deg); }
.home-v2 .hj-port.is-landed::before { opacity: .65; }
.home-v2 .hj-fallback { position: absolute; inset: 27%; border: 12px solid #536fff; border-radius: 40% 60% 55% 45%; transform: rotate(-25deg); box-shadow: inset 4px 4px 12px #9aafff, 5px 5px 20px #2d43b51a; }
.home-v2.hj-gpu .hj-fallback { opacity: 0; }
.home-v2 .hj-hero { flex: 0 0 280px; align-self: flex-end; color: #acbaff; text-align: center; position: relative; z-index: 4; margin-bottom: 0; }
.home-v2 .hj-hero .hj-port { width: clamp(160px, 22svh, 240px); height: clamp(160px, 22svh, 240px); margin: 8px auto 38px; }
.home-v2 .hj-hero .hj-title { font-size: 18px; font-weight: 500; line-height: 1.4; color: #fff; margin: 0 0 14px; white-space: pre-line; letter-spacing: -.04em; }
.home-v2 .hj-hero .hj-kicker { color: #d8dfff; font-size: 9px; }
.home-v2 .hj-hero .hj-note { color: #d2d8e9; font-size: 11px; margin-top: 12px; }
.home-v2 .hx-mark { bottom: 18px; }
.home-v2 .hj-tabs { display: flex; gap: 6px; flex-wrap: wrap; }
.home-v2 .hj-tabs > button {
    box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    min-height: 40px; flex: 1; margin: 0; padding: 10px 12px; background: transparent;
    border: 1px solid #8292b64d; border-radius: 6px; color: inherit;
    font-size: 12px; line-height: 1.35; font-weight: 500; font-family: inherit; cursor: pointer;
    transition: background .2s, color .2s, border-color .2s; box-shadow: none;
}
.home-v2 .hj-tabs > button span { opacity: .65; font: 10px ui-monospace, monospace; }
.home-v2 .hj-tabs > button[aria-pressed="true"] { color: #fff; background: #3d54ee; border-color: #7188ff; }
.home-v2 .hj-tabs > button:hover { border-color: #7e95ff; }
.home-v2 .hj-tabs > button:focus-visible, .home-v2 .hj-work-focus:focus-visible,
.home-v2 .hj-search-select:focus-visible { outline: 2px solid #7188ff; outline-offset: 5px; }
.home-v2 .hj-hero .hj-tabs { width: 280px; margin-inline: auto; color: #e4e9fa; }
.home-v2 .hj-hero .hj-tabs > button { background: #080f2899; backdrop-filter: blur(12px); }
.home-v2 .hj-hero .hj-tabs > button[aria-pressed="true"] { background: #4b60f4; }
.home-v2 .hj-float { position: fixed; z-index: 18; top: 0; left: 0; width: 360px; height: 360px; pointer-events: none; transform-origin: 0 0; opacity: 0; will-change: transform; }
.home-v2 .hj-float canvas { width: 360px; height: 360px; display: block; pointer-events: none; }
.home-v2 .hj-float button, .home-v2 .hj-float .w2-sculpture-hint { display: none; }
.home-v2 .hj-pause { position: fixed; z-index: 19; top: 0; left: 0; display: grid; place-items: center; width: 32px; height: 32px; padding: 0; background: #f8faff; color: #33446f; border: 1px solid #8795b244; border-radius: 50%; cursor: pointer; font: 12px system-ui, sans-serif; box-shadow: none; }
.home-v2 .hj-pause[hidden] { display: none; }
.home-v2 .hj-pause:focus-visible { outline: 2px solid #7188ff; outline-offset: 4px; }
.home-v2 .hj-workstage { display: flex; align-items: center; gap: 12px; color: #425cce; min-width: 280px; }
.home-v2 .hj-workstage .hj-port { width: 120px; height: 120px; }
.home-v2 .hj-workstage-copy { width: 150px; }
.home-v2 .hj-workstage-copy strong { display: block; margin-top: 8px; color: #222b46; font-size: 14px; font-weight: 500; line-height: 1.45; text-wrap: pretty; }
.home-v2 .hj-workstage-copy small { display: block; margin-top: 6px; font: 10px ui-monospace, monospace; }
.home-v2 .wx-head-aside { gap: 22px; }
.home-v2 .wx-card.hj-work-focus { outline-offset: -2px; border-radius: 6px; }
.home-v2 .wx-card.hj-work-focus.is-highlighted figure { outline: 2px solid #566bfa; outline-offset: 3px; }
.home-v2 .hj-ai-panel { box-sizing: border-box; padding: 40px 36px 32px; background: radial-gradient(ellipse at 50% 42%, #223258 0%, #111e2b 42%, #0d1620 78%); color: #dce9ff; display: flex; flex-direction: column; justify-content: center; min-width: 0; }
.home-v2 .hj-ai-panel h3 { margin: 20px 0 0; font-size: clamp(25px, 2.5vw, 34px); font-weight: 600; line-height: 1.3; letter-spacing: -.04em; color: #f4f8ff; text-wrap: balance; }
.home-v2 .hj-ai-system { position: relative; display: flex; justify-content: center; align-items: center; min-height: 248px; margin: 10px 0 20px; color: #8fafff; }
.home-v2 .hj-ai-system::before { content: ''; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: linear-gradient(90deg, #6384ff22, #9ec8ff, #6384ff22); }
.home-v2 .hj-node { position: absolute; top: calc(50% - 18px); width: 38px; height: 36px; display: grid; place-items: center; border: 1px solid #587aa870; border-radius: 9px; background: #142339; color: #9cbdff; font: 9px ui-monospace, monospace; transition: color .2s, background .2s; }
.home-v2 .hj-node-a { left: 0; }.home-v2 .hj-node-b { right: 0; }
.home-v2 .hj-ai-panel[data-step="0"] .hj-node-a, .home-v2 .hj-ai-panel[data-step="2"] .hj-node-b { color: #11213f; background: #9ac9ff; }
.home-v2 .hj-ai-message { min-height: 78px; margin: 24px 0 0; color: #e0e8f5; font-size: 14px; line-height: 1.8; text-wrap: pretty; word-break: keep-all; }
.home-v2 .hj-ai-panel .hj-note { padding-top: 18px; border-top: 1px solid #8292b633; margin-top: 0; }
.home-v2 .hj-browser { border: 1px solid #ccd5d9; border-radius: 18px; padding: 14px; background: #f9fbfa; color: #1e2a39; box-shadow: 0 24px 50px -32px #11284055; }
.home-v2 .hj-browser-bar { display: flex; align-items: center; gap: 6px; padding: 0 4px 14px; }
.home-v2 .hj-browser-bar i { width: 7px; height: 7px; border-radius: 50%; background: #c5cdd5; }
.home-v2 .hj-browser-bar span { margin-left: auto; font: 9px ui-monospace, monospace; letter-spacing: .1em; color: #718094; }
.home-v2 .hj-web-screen { box-sizing: border-box; position: relative; width: 100%; min-height: 300px; padding: 24px 16px 20px; border: 1px solid #2c405e; border-radius: 8px; background: #111e37; color: #a1b4ff; display: grid; grid-template-columns: 1fr 190px; align-items: center; gap: 8px; margin: 0 auto 14px; }
.home-v2 .hj-web-screen .hj-port { width: 190px; height: 190px; }
.home-v2 .hj-web-screen strong { display: block; color: #fff; font-size: 22px; font-weight: 500; line-height: 1.3; letter-spacing: -.045em; text-wrap: balance; }
.home-v2 .hj-web-screen p { margin: 14px 0 0; color: #acbcd7; font-size: 11px; line-height: 1.65; text-wrap: pretty; }
.home-v2 .hj-web-blocks { display: flex; gap: 6px; margin-top: 20px; }
.home-v2 .hj-web-blocks i { display: block; width: 20px; height: 4px; background: #889cff; border-radius: 2px; }
.home-v2 .hj-browser[data-mode="1"] .hj-web-screen { background: #e6eaf2; border-color: #d4dbe8; grid-template-columns: 190px 1fr; }
.home-v2 .hj-browser[data-mode="1"] .hj-web-screen .hj-port { grid-column: 1; grid-row: 1; }
.home-v2 .hj-browser[data-mode="1"] .hj-web-screen strong { color: #192b50; }
.home-v2 .hj-browser[data-mode="1"] .hj-web-screen p { color: #556782; }
.home-v2 .hj-browser[data-mode="1"] .hj-web-blocks { flex-direction: column; }
.home-v2 .hj-browser[data-mode="1"] .hj-web-blocks i { width: 100%; height: 6px; background: #b6c5dd; }
.home-v2 .hj-browser[data-mode="2"] .hj-web-screen { width: 240px; min-height: 390px; border-radius: 26px; grid-template-columns: 1fr; padding: 24px 18px; text-align: center; }
.home-v2 .hj-browser[data-mode="2"] .hj-web-screen .hj-port { width: 160px; height: 160px; margin-inline: auto; }
.home-v2 .hj-browser[data-mode="2"] .hj-web-blocks { justify-content: center; }
.home-v2 .hj-web-scope { margin-top: 16px; }
.home-v2 .hj-web-scope > summary { cursor: pointer; font-size: 12px; padding: 10px 0; color: #3d5360; }
.home-v2 .hj-search-hint { margin: 28px 0 -24px; color: #becbc1; font-size: 12px; }
.home-v2 .hj-search-card { transition: box-shadow .25s; }
.home-v2 .hj-search-card.is-selected { box-shadow: inset 0 0 0 1px #a0bbff; }
.home-v2 .hj-search-card .hj-port { width: 144px; height: 144px; margin: 16px auto 32px; color: #93afff; }
.home-v2 .hj-search-select { appearance: none; padding: 8px 12px; background: transparent; color: #d8e4db; border: 1px solid #73827a80; border-radius: 20px; font: 600 11px/1 ui-monospace, monospace; cursor: pointer; box-shadow: none; }
.home-v2 .hj-search-select[aria-pressed="true"] { color: #142445; border-color: #b9d0ff; background: #b9d0ff; }
.home-v2 .hj-search-result { min-height: 24px; margin: 0 0 6px; color: #c4d7ff; font-size: 12px; }
.home-v2 .hj-workstage .hj-kicker, .home-v2 .hj-toolstage .hj-kicker { color: #5668bd; }
.home-v2 .hj-security { box-sizing: border-box; padding: 30px; border: 1px solid #6576b34d; border-radius: 18px; background: #101630; color: #c1ceff; }
.home-v2 .hj-security h3 { color: #fff; margin: 20px 0 0; font-size: 25px; line-height: 1.35; font-weight: 500; letter-spacing: -.03em; white-space: pre-line; }
.home-v2 .hj-security-field { position: relative; width: 210px; height: 210px; margin: 14px auto 34px; border-radius: 50%; background: repeating-radial-gradient(circle, transparent 0 34px, #798ef51c 35px 36px); }
.home-v2 .hj-security-field .hj-port { width: 210px; height: 210px; }
.home-v2 .hj-security-field::before { content: ''; position: absolute; inset: 0; border-radius: 50%; background: conic-gradient(from var(--hj-scan, 0deg), transparent 0 285deg, #779bff44 358deg, #adc5ff 360deg); }
.home-v2 .hj-security-message { min-height: 52px; margin: 20px 0 0; color: #d3dcf4; font-size: 13px; line-height: 1.75; }
.home-v2 .hj-security .hj-note { font-size: 10px; }
.home-v2 .hj-toolstage { display: flex; gap: 20px; align-items: center; color: #435cc8; padding: 12px 0 32px; }
.home-v2 .hj-toolstage .hj-port { width: 124px; height: 124px; }
.home-v2 .hj-toolstage strong { display: block; color: #273452; margin-top: 10px; font-size: 22px; line-height: 1.3; }
.home-v2 .hj-toolstage .hj-note { margin-top: 8px; color: #687895; }
.home-v2 .tool-card.is-hj-selected { outline: 2px solid #8094f1; outline-offset: 3px; }
@media (max-width: 1100px) {
    .home-v2 .hj-hero { flex-basis: 270px; }
    .home-v2 .hj-hero .hj-tabs { width: 250px; }
    .home-v2 .hj-web-screen { grid-template-columns: 1fr; text-align: center; }
    .home-v2 .hj-web-screen .hj-port { margin-inline: auto; }
    .home-v2 .hj-browser[data-mode="1"] .hj-web-screen { grid-template-columns: 1fr; }
    .home-v2 .hj-browser[data-mode="1"] .hj-web-screen .hj-port { grid-column: auto; grid-row: auto; }
    .home-v2 .hj-web-blocks { justify-content: center; }
    .home-v2 .hj-ai-panel { padding: 32px 24px; }
}
@media (max-width: 760px) {
    .home-v2 .hx-inner { flex-direction: column; padding-top: clamp(130px, 18svh, 180px); gap: 28px; }
    .home-v2 .hx-copy { flex: 1 0 auto; }
    .home-v2 .hj-hero { flex: none; align-self: flex-end; display: flex; align-items: center; gap: 16px; width: 100%; max-width: 340px; margin: 0; }
    .home-v2 .hj-hero .hj-port { width: 100px; height: 100px; margin: 0 0 38px; }
    .home-v2 .hj-hero .hj-kicker, .home-v2 .hj-hero .hj-title, .home-v2 .hj-hero .hj-note { display: none; }
    .home-v2 .hj-hero .hj-tabs { flex: 1; width: auto; gap: 4px; padding-bottom: 38px; }
    .home-v2 .hj-hero .hj-tabs > button { min-height: 34px; padding: 8px 5px; font-size: 11px; }
    .home-v2 .hj-workstage { min-width: 0; width: 100%; justify-content: space-between; }
    .home-v2 .wx-head-aside { width: 100%; }
    .home-v2 .hj-ai-panel h3 { font-size: 28px; }
    .home-v2 .hj-security { padding: 24px 20px; }
    .home-v2 .hj-tabs > button { font-size: 11px; padding-inline: 8px; }
    .home-v2 .hj-browser { padding: 12px; }
    .home-v2 .hj-search-hint { margin-bottom: 0; }
    .home-v2 .hj-search-card .hj-port { width: 150px; height: 150px; }
    .home-v2 .hj-toolstage { gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
    .home-v2 .hj-tabs > button, .home-v2 .hj-search-card, .home-v2 .hj-node { transition: none; }
    .home-v2.hj-gpu .hj-port:not([data-hj-port="hero"]) .hj-fallback { opacity: .55; }
}
@media (max-width: 400px) {
    .home-v2 .hj-ai-system { min-height: 220px; }
    .home-v2 .hj-ai-system .hj-port { width: 160px; height: 160px; }
}
