/* =========================================================
   TOPlayer · 高阶玩家 — V8 features page
   Vercel-AI-Gateway-style sticky tab bar with sliding ink
   indicator + click-to-scroll + scroll-spy.
   Loads on top of home.css.
   ========================================================= */

/* ---- hero ---- */
.feat-hero { position: relative; padding: 116px 0 30px; text-align: center; overflow: hidden; }
.feat-hero .glow { position: absolute; top: -120px; left: 50%; transform: translateX(-50%); width: 820px; height: 420px; background: radial-gradient(closest-side, var(--grad-soft), transparent 72%); pointer-events: none; }
.feat-hero .container { position: relative; }
.feat-hero .kicker { display: inline-block; }
.feat-hero h1 { margin-top: 14px; font-size: clamp(34px, 5vw, 56px); font-weight: 800; letter-spacing: -0.035em; }
.feat-hero p { margin: 16px auto 0; max-width: 600px; color: var(--muted); font-size: 17px; }

/* ---- sticky tab bar (Vercel-style) ---- */
.feat-tabs { position: sticky; top: var(--nav-h); z-index: 40; background: rgba(0, 0, 0, 0.72); backdrop-filter: saturate(150%) blur(12px); -webkit-backdrop-filter: saturate(150%) blur(12px); border-bottom: 1px solid var(--border); }
.feat-tabs-inner { position: relative; max-width: var(--maxw); margin: 0 auto; padding: 0 24px; display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.feat-tabs-inner::-webkit-scrollbar { display: none; }
.feat-tab { position: relative; flex: 0 0 auto; appearance: none; border: none; background: none; font-family: inherit; cursor: pointer; padding: 16px 14px; font-size: 14.5px; font-weight: 600; color: var(--muted); white-space: nowrap; transition: color .18s ease; }
.feat-tab:hover { color: var(--text); }
.feat-tab.active { color: var(--text); }
.feat-ink { position: absolute; bottom: 0; left: 0; height: 2px; background: var(--grad); border-radius: 2px; transform: translateX(0); width: 0; transition: transform .28s cubic-bezier(.4, 0, .2, 1), width .28s cubic-bezier(.4, 0, .2, 1); pointer-events: none; }

/* ---- panels (only the active tab's content is shown) ---- */
.feat-sec { display: none; padding: 58px 0 86px; }
.feat-sec.active { display: block; animation: feat-fade .28s ease; }
@keyframes feat-fade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.feat-sec .sec-top { display: flex; align-items: flex-start; gap: 16px; max-width: 720px; }
.feat-sec .sec-ic { flex: 0 0 auto; width: 50px; height: 50px; border-radius: 14px; background: var(--grad); display: grid; place-items: center; color: #0a1400; font-size: 21px; }
.feat-sec .sec-kicker { font-family: var(--mono); font-size: 12.5px; letter-spacing: .14em; background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.feat-sec h2 { margin-top: 6px; font-size: clamp(26px, 3.2vw, 38px); font-weight: 800; letter-spacing: -0.03em; line-height: 1.12; }
.feat-sec .sec-sub { margin-top: 14px; max-width: 680px; color: var(--muted); font-size: 17px; line-height: 1.7; }
.feat-sec .feats { margin-top: 40px; }

/* showcase split (text + mock panel) */
.feat-show { margin-top: 40px; display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: center; }
.feat-show .fs-list { list-style: none; display: grid; gap: 14px; }
.feat-show .fs-list li { display: flex; gap: 11px; align-items: flex-start; font-size: 15px; color: var(--text); }
.feat-show .fs-list li i { margin-top: 3px; font-size: 12px; background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.feat-show .fs-mock { border: 1px solid var(--border); border-radius: var(--radius-lg); background: radial-gradient(460px 200px at 80% -10%, var(--grad-soft), transparent 70%), var(--panel); padding: 22px; min-height: 230px; }
.fs-mock .mock-row { display: flex; align-items: center; justify-content: space-between; padding: 11px 13px; border: 1px solid var(--border); border-radius: 10px; background: var(--bg-2); margin-bottom: 10px; font-size: 13px; color: var(--muted); }
.fs-mock .mock-row b { color: var(--text); font-weight: 600; }
.fs-mock .mock-row .g { font-family: var(--mono); background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; font-weight: 700; }
.fs-mock .mock-bar { height: 8px; border-radius: 999px; background: var(--bg-2); overflow: hidden; margin-top: 4px; }
.fs-mock .mock-bar > i { display: block; height: 100%; background: var(--grad); }

@media (max-width: 860px) {
    .feat-show { grid-template-columns: 1fr; }
}
