.page-faq{position:relative;background:radial-gradient(circle at 82% 12%,rgba(123,47,247,.14),transparent 32%),var(--color-bg);color:var(--color-text);overflow-x:hidden;}
.page-faq .bg-grid{position:absolute;inset:0;background-image:linear-gradient(var(--color-line) 1px,transparent 1px),linear-gradient(90deg,var(--color-line) 1px,transparent 1px);background-size:48px 48px;opacity:.32;pointer-events:none;}
.page-faq .container{position:relative;z-index:1;}
.page-faq .faq-hero{position:relative;padding:52px 0 40px;border-bottom:1px solid var(--color-line);}
.page-faq .faq-hero::before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,var(--color-accent),var(--color-accent-bright) 62%,transparent);}
.page-faq .breadcrumb{display:flex;align-items:center;gap:8px;margin:0 0 30px;font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--color-text-secondary);}
.page-faq .breadcrumb a{color:var(--color-accent-bright);text-decoration-color:var(--color-accent);text-underline-offset:4px;}
.page-faq .breadcrumb-sep{color:var(--color-line);}
.page-faq .faq-hero-body{display:grid;grid-template-columns:1fr;gap:30px;align-items:start;}
.page-faq .faq-hero-copy{max-width:840px;}
.page-faq .section-index{margin:0 0 12px;font-family:var(--font-mono);font-size:var(--fs-mono);font-weight:700;letter-spacing:.14em;color:var(--color-accent);text-transform:uppercase;}
.page-faq .faq-hero h1{margin:0 0 18px;font-family:var(--font-heading);font-size:var(--fs-hero);line-height:1.18;letter-spacing:.02em;color:var(--color-white);}
.page-faq .faq-lead{margin:0 0 26px;font-size:1.0625rem;line-height:1.85;color:var(--color-text-secondary);}
.page-faq .faq-search{max-width:600px;}
.page-faq .faq-search .search-input{width:100%;box-sizing:border-box;background:var(--color-bg-deep);border:1px solid var(--color-line);border-left:3px solid var(--color-accent);color:var(--color-text);padding:14px 16px;font-family:var(--font-body);font-size:1rem;outline:none;transition:border-color .2s var(--ease),background .2s var(--ease);}
.page-faq .faq-search .search-input:focus{border-color:var(--color-accent-bright);background:rgba(198,255,0,.04);}
.page-faq .faq-search .search-input::placeholder{color:var(--color-text-secondary);}
.page-faq .faq-hero-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.page-faq .faq-meta-item{border-left:2px solid var(--color-line);padding:6px 0 6px 14px;}
.page-faq .faq-meta-num{display:block;font-family:var(--font-heading);font-weight:700;font-size:1.7rem;line-height:1;color:var(--color-accent-bright);}
.page-faq .faq-meta-label{display:block;margin-top:8px;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.08em;color:var(--color-text-secondary);}
.page-faq .faq-shell{display:grid;grid-template-columns:1fr;gap:34px;padding-top:42px;padding-bottom:80px;}
.page-faq .faq-index{position:relative;top:auto;align-self:auto;}
.page-faq .faq-index-title{margin:0 0 14px;font-size:.75rem;letter-spacing:.14em;color:var(--color-text-secondary);}
.page-faq .faq-index-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;}
.page-faq .faq-index-list li{margin:0;}
.page-faq .faq-index-list a{display:flex;align-items:center;gap:6px;border:1px solid var(--color-line);background:var(--color-bg-deep);color:var(--color-text-secondary);text-decoration:none;font-size:.85rem;line-height:1.2;padding:7px 10px;transition:border-color .2s var(--ease),color .2s var(--ease);}
.page-faq .faq-index-list a:hover{border-color:var(--color-accent);color:var(--color-accent-bright);}
.page-faq .faq-index-num{font-family:var(--font-mono);font-size:.78rem;color:var(--color-accent);}
.page-faq .faq-index-list a:hover .faq-index-num{color:var(--color-accent-bright);}
.page-faq .faq-index-foot{display:none;}
.page-faq .faq-content{display:grid;gap:56px;}
.page-faq .faq-section{scroll-margin-top:24px;min-width:0;}
.page-faq .faq-section-head{margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--color-line);position:relative;}
.page-faq .faq-section-head::before{content:"";position:absolute;left:0;bottom:-1px;width:56px;height:2px;background:linear-gradient(90deg,var(--color-accent),var(--color-accent-bright));}
.page-faq .faq-section h2{margin:8px 0 4px;font-family:var(--font-heading);font-size:1.4rem;line-height:1.3;color:var(--color-white);}
.page-faq .faq-section-desc{margin:0;font-size:.95rem;line-height:1.7;color:var(--color-text-secondary);}
.page-faq .accordion{border-left:3px solid var(--color-accent);}
.page-faq .accordion-panel{border-bottom:1px solid var(--color-line);}
.page-faq .accordion-panel:first-child{border-top:1px solid var(--color-line);}
.page-faq .accordion-toggle{width:100%;display:flex;align-items:center;gap:12px;background:var(--color-bg);color:var(--color-text);border:0;padding:14px 12px;cursor:pointer;text-align:left;font-family:var(--font-body);font-size:.95rem;line-height:1.45;transition:background .2s var(--ease);}
.page-faq .accordion-toggle:hover{background:rgba(123,47,247,.08);}
.page-faq .accordion-toggle[aria-expanded="true"]{background:var(--color-bg-deep);}
.page-faq .q-index{flex-shrink:0;width:2.2em;font-weight:700;color:var(--color-accent);}
.page-faq .q-text{flex:1;font-weight:500;}
.page-faq .q-badge{flex-shrink:0;background:var(--color-accent-bright);color:#0A0E27;font-family:var(--font-mono);font-size:.68rem;font-weight:700;padding:2px 8px;letter-spacing:.06em;}
.page-faq .q-badge-hot{box-shadow:0 0 0 1px rgba(198,255,0,.35);}
.page-faq .q-icon{flex-shrink:0;width:12px;height:12px;position:relative;}
.page-faq .q-icon::before,.page-faq .q-icon::after{content:"";position:absolute;background:var(--color-text-secondary);transition:transform .2s var(--ease);}
.page-faq .q-icon::before{top:50%;left:0;width:100%;height:2px;transform:translateY(-50%);}
.page-faq .q-icon::after{top:0;left:50%;width:2px;height:100%;transform:translateX(-50%);}
.page-faq .accordion-toggle[aria-expanded="true"] .q-icon::after{transform:translateX(-50%) scaleY(0);}
.page-faq .accordion-content{padding:4px 16px 18px 34px;background-image:linear-gradient(var(--color-line) 1px,transparent 1px),linear-gradient(90deg,var(--color-line) 1px,transparent 1px);background-size:24px 24px;background-color:rgba(10,14,39,.55);border-left:1px solid var(--color-accent);}
.page-faq .accordion-content p{margin:14px 0 0;font-size:.95rem;line-height:1.85;color:var(--color-text);max-width:68ch;}
.page-faq .accordion-content a{color:var(--color-accent-bright);text-decoration-color:var(--color-accent);text-underline-offset:4px;}
.page-faq .faq-figure{margin:28px 0 0;border-left:3px solid var(--color-teal);background:var(--color-bg-deep);}
.page-faq .faq-figure img{display:block;width:100%;max-width:100%;height:auto;object-fit:cover;}
.page-faq .faq-figure figcaption{padding:10px 14px;border-top:1px solid var(--color-line);font-family:var(--font-mono);font-size:.75rem;line-height:1.6;color:var(--color-text-secondary);}
.page-faq .faq-still{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:22px 0 0;border-top:1px solid var(--color-line);}
.page-faq .faq-still p{margin:0;font-size:.95rem;line-height:1.7;color:var(--color-text-secondary);}
.page-faq .btn-ghost{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;background:transparent;border:1px solid var(--color-accent);color:var(--color-accent-bright);text-decoration:none;font-family:var(--font-mono);font-size:.85rem;transition:border-color .2s var(--ease),color .2s var(--ease),background .2s var(--ease);}
.page-faq .btn-ghost:hover{border-color:var(--color-accent-bright);color:#0A0E27;background:var(--color-accent-bright);}
.page-faq .faq-support-visual{margin:32px 0 0;border:1px solid var(--color-line);}
.page-faq .faq-support-visual img{display:block;width:100%;height:auto;max-height:300px;object-fit:cover;}
.page-faq .faq-support-visual figcaption{padding:10px 14px;border-top:1px solid var(--color-line);font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-secondary);}
.page-faq .faq-backtop{position:fixed;right:16px;bottom:16px;z-index:40;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--color-accent);color:var(--color-white);font-family:var(--font-mono);font-size:1rem;text-decoration:none;box-shadow:0 6px 24px rgba(123,47,247,.35);}
.page-faq .faq-section#faq-legacy .faq-section-head::before{background:linear-gradient(90deg,var(--color-wine),var(--color-accent));}
.page-faq .faq-section#faq-legacy .accordion{border-left-color:var(--color-wine);}
.page-faq .faq-section#faq-legacy .accordion-content{border-left-color:var(--color-wine);}
.page-faq .faq-section#faq-support .faq-section-head::before{background:linear-gradient(90deg,var(--color-teal),var(--color-accent-bright));}
.page-faq .faq-section#faq-support .accordion{border-left-color:var(--color-teal);}
.page-faq .faq-section#faq-support .accordion-content{border-left-color:var(--color-teal);}

@media (min-width:768px){
  .page-faq .faq-hero{padding:72px 0 48px;}
  .page-faq .faq-hero-body{grid-template-columns:7fr 5fr;align-items:end;}
  .page-faq .faq-hero-meta{grid-template-columns:1fr;gap:16px;justify-items:start;align-self:end;}
  .page-faq .faq-meta-item{padding-left:16px;}
  .page-faq .faq-shell{gap:48px;padding-top:56px;}
  .page-faq .faq-section h2{font-size:1.6rem;}
  .page-faq .accordion-toggle{padding:16px 14px;font-size:1rem;}
  .page-faq .faq-support-visual img{max-height:360px;}
}

@media (min-width:1024px){
  .page-faq .faq-shell{grid-template-columns:220px minmax(0,1fr);gap:64px;}
  .page-faq .faq-index{display:block;position:sticky;top:96px;align-self:start;border-left:1px solid var(--color-line);padding-left:18px;}
  .page-faq .faq-index-list{flex-direction:column;gap:2px;}
  .page-faq .faq-index-list a{border:0;border-bottom:1px solid transparent;background:transparent;padding:10px 0;border-radius:0;}
  .page-faq .faq-index-list a:hover{border-bottom-color:var(--color-accent);}
  .page-faq .faq-index-foot{display:block;margin-top:20px;font-size:.8rem;line-height:1.7;color:var(--color-text-secondary);}
  .page-faq .faq-content{gap:72px;}
  .page-faq .faq-figure img{max-height:480px;object-fit:cover;}
}
