/* Static reference: native details work without JavaScript. */
.faq-theme { background:#0c1118; color:#e1e5ec; }
.faq-intro { padding:150px 0 65px; background:radial-gradient(ellipse at 85% 0%,#293b4d,transparent 65%),linear-gradient(135deg,#111a25,#0c1118); border-bottom:1px solid #b8984f55; }
.faq-intro h1 { font-size:clamp(2.2rem,6vw,4.5rem); letter-spacing:.1em; margin:24px 0 12px; }
.faq-kicker { font:.8rem var(--font-en); letter-spacing:.15em; color:#c1b18d; }
.faq-english { font:1.1rem var(--font-en); color:var(--color-gold); letter-spacing:.18em; margin-bottom:25px; }
.faq-notice { margin:24px 0 12px; padding:18px 22px; border-left:2px solid var(--color-gold); background:#b8984f0c; }
.faq-date { font-size:.85rem; color:#adbbcb; }
.faq-index { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:32px; }
.faq-index a { padding:15px; border:1px solid #536071; background:#14202c; }
.faq-related { display:flex; flex-wrap:wrap; gap:24px; margin-top:25px; }
.faq-theme main a { color:#dfc68f; text-underline-offset:4px; }
.faq-related a { text-decoration:underline; }
.faq-tools { padding-top:45px; padding-bottom:20px; }
.faq-tools label { display:block; margin-bottom:12px; }
.faq-search-row { display:flex; gap:12px; }
.faq-search-row input { flex:1; min-width:0; background:#15202d; border:1px solid #7e8c9c; color:#fff; padding:14px 16px; font:inherit; font-size:16px; border-radius:0; }
.faq-search-row input::placeholder { color:#adb8c7; }
.faq-tools button { background:#293241; border:1px solid #b8984f99; color:#f0e1c3; font:inherit; padding:12px 18px; cursor:pointer; }
.faq-actions { display:flex; flex-wrap:wrap; gap:12px; margin:16px 0; }
.faq-actions button { font-size:.85rem; }
#faq-count { color:#bdc8d7; }
.faq-category { padding:60px 0; scroll-margin-top:90px; }
.faq-category:nth-child(even) { background:#111b26; }
.faq-category h2 { font-size:clamp(1.45rem,3vw,2.2rem); color:#dfc68f; margin-bottom:36px; overflow-wrap:anywhere; }
.faq-category-count { display:inline-block; font-size:.85rem; color:#a9b9ca; margin-left:18px; }
.faq-topic { margin-top:35px; }
.faq-topic h3 { color:#bdcfe1; margin-bottom:18px; font-size:1.1rem; }
.faq-item { border:1px solid #394656; margin-top:12px; background:#101923; scroll-margin-top:100px; }
.faq-item summary { padding:22px 24px; cursor:pointer; line-height:1.7; font-size:1rem; overflow-wrap:anywhere; }
.faq-item summary::marker { color:#dfc68f; }
.faq-item[open] { border-color:#9c865b; }
.faq-item[open] summary { color:#dfc68f; border-bottom:1px solid #394656; }
.faq-answer { padding:24px; }
.faq-answer p { line-height:2; overflow-wrap:anywhere; }
.faq-permalink { display:inline-block; margin-top:18px; font-size:.8rem; text-decoration:underline; }
.faq-item:target { border-color:#eed49e; }
.faq-empty { padding-block:60px; }
.faq-theme [hidden] { display:none!important; }
.faq-theme a:focus-visible,.faq-theme button:focus-visible,.faq-theme input:focus-visible,.faq-theme summary:focus-visible { outline:2px solid #e1c483; outline-offset:4px; }
.faq-theme .mobile-nav { overflow-y:auto; height:100dvh; padding:90px 20px 35px; align-items:safe center; }
.faq-theme .mobile-nav li { margin:10px 0; }
@media(max-width:768px) { .faq-intro { padding:115px 0 45px; } .faq-index { grid-template-columns:1fr; } .faq-category { padding:45px 0; } .faq-search-row { flex-direction:column; } .faq-item summary,.faq-answer { padding:20px 18px; } }
