.apl-psybook {
  --apl-white: #fff;
  --apl-accent: #0092e1;
  --apl-accent-open: #0061a7;
  --apl-h2-border: #21539e;
  --apl-grad-btn: linear-gradient(to bottom, #003060 0, #002f5f 24%, #031534 100%);
  --apl-btn-hover: #182b73;
  --apl-faq-bg: #010e20;
  --apl-faq-divider: #1e3a8a;
}

.entry-content .apl-psybook [id] { scroll-margin-top: 80px; }
.apl-psybook .apl-mini-toc { background: rgb(0 0 0 / .18); border-radius: 10px; border: 2px solid rgb(255 255 255 / .18); padding: 20px 20px 16px; margin: 15px 0 0; letter-spacing: .01em; }
.apl-psybook .apl-mini-toc-title { margin: 0 0 15px; font-size: 19px; font-weight: 500; line-height: 1.6; }
.apl-psybook .apl-mini-toc ul { margin: 0; padding-left: 26px; }
.apl-psybook .apl-mini-toc li { margin-bottom: 10px; }
.apl-psybook .apl-mini-toc a { border-bottom: 1px dotted; }
.apl-psybook .apl-mini-toc a:hover { border-bottom-color: var(--apl-accent); }
.apl-psybook .apl-titlesh2 { margin: 75px auto 30px; font-size: 26px; font-weight: 500; color: var(--apl-white); padding-bottom: 10px; border-bottom: 2px solid var(--apl-h2-border); }
.apl-psybook .apl-titlesh3 { margin: 0; font-size: 22px; font-weight: 500; }
.apl-psybook .book_list { margin: 0 0 0 30px !important; padding: 0; }
.apl-psybook .book_list li { margin: 0 0 25px; }
.apl-psybook .book_list li::marker { color: #0092E1; font-weight: 500; }
.apl-psybook .psi-faq { margin-top: 35px; }
.apl-psybook .psi-faq details { margin: 20px 0; border-radius: 10px; background: var(--apl-faq-bg); overflow: hidden; border: 1px solid #fff0; transition: border-color 0.2s, box-shadow 0.2s; }
.apl-psybook .psi-faq details[open] { box-shadow: 0 2px 8px rgb(0 0 0 / .12); }
.apl-psybook .psi-faq summary { list-style: none; cursor: pointer; position: relative; padding: 14px 48px 14px 44px; font-weight: 600; color: var(--apl-white); background: var(--apl-grad-btn); user-select: none; transition: background 0.2s, color 0.2s; font-family: "Segoe UI", Tahoma, sans-serif !important; }
@media (min-width: 721px) { .apl-psybook .psi-faq summary { font-size: 19px; } }
.apl-psybook .psi-faq summary::-webkit-details-marker, .apl-psybook .psi-faq summary::marker { display: none; }
.apl-psybook .psi-faq summary::before { content: "➤"; position: absolute; left: 16px; top: 50%; transform: translateY(-50%) rotate(0); color: var(--apl-accent); transition: transform 0.25s, color 0.2s; }
.apl-psybook .psi-faq details[open] summary::before { transform: translateY(-50%) rotate(90deg); color: var(--apl-accent-open); }
.apl-psybook .psi-faq summary:hover { background: var(--apl-btn-hover); }
.apl-psybook .psi-faq summary:focus-visible { outline: 2px solid var(--apl-accent); outline-offset: 2px; }
@media (max-width: 720px) { .apl-psybook .psi-faq summary { font-size: 18px; } }
@media (prefers-reduced-motion: reduce) { .apl-psybook .psi-faq summary, .apl-psybook .psi-faq summary::before { transition: none !important; transform: none !important; } }
.apl-psybook .psi-faq details > :not(summary) { padding: 14px 16px 16px; border-top: 1px solid var(--apl-faq-divider); background: var(--apl-faq-bg); color: var(--apl-white); line-height: 1.6; }
.apl-psybook .psi-faq p { margin: 0; color: var(--apl-white); }
.apl-psybook .pdf-disclaimer { font-size: 13px; color: #eee; font-style: italic; background: #000219; padding: 20px; border-radius: 4px; line-height: 23px; box-sizing: border-box; }
.apl-psybook .pdf-disclaimer a { font-size: 13px; font-weight: 600; }
