:root {
    --gameapi-bg: #050711;
    --gameapi-bg-secondary: #080C17;
    --gameapi-surface: #0D1321;
    --gameapi-surface-secondary: #111827;
    --gameapi-primary: #635BFF;
    --gameapi-blue: #2563EB;
    --gameapi-cyan: #00C2FF;
    --gameapi-violet: #8B5CF6;
    --gameapi-gold: #C9A227;
    --gameapi-text: #F5F7FA;
    --gameapi-muted: #929BAD;
    --gameapi-border: rgba(255,255,255,.09);
    --gameapi-ease: cubic-bezier(.22,.61,.36,1);
}
.gameapi-faq {
    overflow: hidden;
    background: radial-gradient(circle at 75% 7%, rgba(99,91,255,.11), transparent 26rem), var(--gameapi-bg);
    color: var(--gameapi-text);
}
.faq-hero {
    position: relative;
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--gameapi-border);
    padding: 40px 10px;
}
.faq-hero::before {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background: linear-gradient(90deg, rgba(5,7,17,.96) 0%, rgba(5,7,17,.78) 42%, rgba(5,7,17,.2) 100%), linear-gradient(180deg, transparent 65%, var(--gameapi-bg) 100%);
}
.faq-hero__grid {
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);
    align-items:center;
    gap:50px;
}
.faq-section-label {
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:var(--gameapi-cyan);
    font-size:11px;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
}
.faq-hero__meta { display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; }
.faq-hero__meta span {
    padding:9px 12px;
    border:1px solid var(--gameapi-border);
    background:rgba(13,19,33,.62);
    color:#c8ceda;
    font-size:10px;
    letter-spacing:.12em;
}

.faq-hero__visual { 
    position:relative; 
    width:min(100%, 400px); 
    aspect-ratio:1; 
    margin-left:auto; 
}
.faq-orbit {
    position:absolute; inset:12%;
    border:1px solid rgba(99,91,255,.25);
    border-radius:50%;
    transform:rotate(-18deg) skewX(-8deg);
}
.faq-orbit--two { inset:23%; border-color:rgba(0,194,255,.22); transform:rotate(42deg) skewX(8deg); }
.faq-core {
    position:absolute; top:50%; left:50%;
    width:145px; height:145px;
    display:grid; place-items:center;
    transform:translate(-50%,-50%);
    border:1px solid rgba(255,255,255,.15);
    background:linear-gradient(145deg,rgba(17,24,39,.92),rgba(8,12,23,.82));
    box-shadow:0 30px 80px rgba(0,0,0,.45), inset 0 0 35px rgba(99,91,255,.1);
    border-radius:50%;
}
.faq-core span { position:absolute; top:34px; color:var(--gameapi-muted); font-size:9px; font-weight:700; letter-spacing:.2em; }
.faq-core strong { font-size:62px; font-weight:500; line-height:1; }
.faq-node {
    position:absolute;
    padding:8px 11px;
    border:1px solid var(--gameapi-border);
    background:rgba(8,12,23,.86);
    box-shadow:0 15px 35px rgba(0,0,0,.25);
    color:#d8dce6;
    font-size:9px;
    font-weight:700;
    letter-spacing:.14em;
}
.faq-node--one { top:13%; right:14%; }
.faq-node--two { top:52%; right:2%; }
.faq-node--three { bottom:11%; left:16%; }
.faq-node--four { top:23%; left:5%; }

.faq-list-section { 
    padding: 40px 10px; 
    background:var(--gameapi-bg-secondary); 
}
.faq-section-heading {
    gap: 70px; 
    align-items:end;
    border-bottom:1px solid var(--gameapi-border);
}
.faq-section-heading h2 {
	max-width: 500px;
	margin: 10px 0 20px;
}
.faq-groups { 
    display:grid; 
    gap:0; 
}
.faq-group {
    padding: 40px 10px; 
    border-bottom: 1px solid var(--gameapi-border);
}
.faq-group__heading { 
    margin-bottom: 20px;
}
.faq-group__heading h3 { 
    margin: 0; 
    font-size: 20px; 
    line-height: 1.25; 
}
.faq-items { 
    display:grid; 
    gap:10px; 
}
.faq-item {
    border:1px solid var(--gameapi-border);
    background:rgba(13,19,33,.5);
    transition:border-color .25s ease, background .25s ease;
}
.faq-item:hover,.faq-item.is-open { 
    border-color:rgba(99,91,255,.3); 
    background:rgba(17,24,39,.76); 
}
.faq-question {
    width:100%; 
    display:flex; 
    align-items:center; 
    justify-content:space-between; 
    gap:25px;
    min-height: 50px;
    padding: 10px 20px; 
    border:0; 
    background:transparent;
    color:var(--gameapi-text); 
    cursor:pointer; 
    text-align:left; 
    font:inherit; 
    font-size:14px;
}
.faq-icon {
    flex: 0 0 26px; 
    width: 26px; 
    height:26px; 
    display:grid; 
    place-items:center;
    border:1px solid var(--gameapi-border); 
    color:var(--gameapi-muted);
    font-size: 15px; 
    line-height: 1; 
    transition: .25s ease;
}
.faq-item.is-open .faq-icon { 
    transform: (45deg); 
    border-color: rgba(99,91,255,.55); 
    color: var(--gameapi-cyan); 
}
.faq-answer { 
    display: grid; 
    grid-template-rows: 0fr; 
    transition: grid-template-rows .3s var(--gameapi-ease); 
}
.faq-answer > p {
    min-height:0; overflow:hidden; margin:0; padding:0 20px;
    color:var(--gameapi-muted); font-size:13px; line-height:1.85;
    transition:padding .3s var(--gameapi-ease);
}
.faq-item.is-open .faq-answer { grid-template-rows:1fr; }
.faq-item.is-open .faq-answer > p { padding:0 20px 20px; }
.faq-empty { padding:70px 20px; text-align:center; border-bottom:1px solid var(--gameapi-border); }
.faq-empty span { color:var(--gameapi-cyan); font-size:10px; font-weight:700; letter-spacing:.18em; }
.faq-empty h3 { margin:12px 0 8px; font-size:28px; }
.faq-empty p { margin:0; color:var(--gameapi-muted); }

@media (max-width:1100px) {
    .faq-hero { 
        min-height:500px; 
    }
    .faq-hero__grid { 
        grid-template-columns:1fr .75fr; gap:25px; 
    }
    .faq-hero__visual { 
        width:min(100%,380px); 
    }
}
@media (max-width:760px) {
    .faq-shell { 
        width:min(100% - 28px,680px); 
    }
    .faq-hero { 
        min-height:auto;
    }
    .faq-hero::before { 
        background:linear-gradient(180deg,rgba(5,7,17,.88),rgba(5,7,17,.98)); 
    }
    .faq-hero__grid { 
        grid-template-columns:1fr; 
    }
    .faq-hero__visual { 
        width:min(100%,330px); 
        margin:25px auto 0; 
    }
    .faq-hero h1 { 
        font-size:clamp( 44px, 14vw, 66px ); 
    }
    .faq-hero__content > p { 
        font-size:15px; 
    }
    .faq-section-heading { 
        grid-template-columns:1fr; gap:20px;
    }
}
@media (max-width:480px) {
    .faq-shell { 
        width:min(100% - 22px,680px); 
    }
    .faq-search { 
        min-height:56px; 
        padding:0 13px; 
    }
    .faq-search__count { 
        display:none; 
    }
    .faq-question { 
        min-height:62px; 
        padding:16px 14px; 
        font-size:13px; 
    }
    .faq-answer > p { 
        padding-left:14px; 
        padding-right:14px; 
        font-size:12.5px; 
    }
    .faq-item.is-open .faq-answer > p { 
        padding:0 14px 17px; 
    }
    .faq-hero__meta span { 
        font-size:9px; 
    }
}
@media (prefers-reduced-motion:reduce) {
    .reveal,.faq-answer,.faq-icon,.faq-category,.faq-item,.faq-cta__button { 
        transition:none !important; 
    }
    .reveal { 
        opacity:1; 
        transform:none; 
    }
}