/* FANSFLEX v9.8 Academy — accessible local-only guide flow + metal surfaces. */
.ffm-body .ff80-academy { --ff98-ink: #112a3e; --ff98-muted: #536f83; --ff98-card: #fff; --ff98-card-edge: #cddbe6; --ff98-raised: #f3f8fc; --ff98-guide-border: #dbe5ed; --ff98-shade: #eaf1f7; --ff98-shadow: 0 18px 48px rgba(10,40,65,.085); background: linear-gradient(170deg,#f4f8fc,#f0f4f8 60%,#eaf2f8); color: var(--ff98-ink); }
html[data-bs-theme="dark"] body.ffm-body .ff80-academy { --ff98-ink: #f2f7fb; --ff98-muted: #b4cad9; --ff98-card: #102b3e; --ff98-card-edge: #31516a; --ff98-raised: #17374c; --ff98-guide-border: #29495e; --ff98-shade: #0b2436; --ff98-shadow: 0 20px 48px rgba(0,0,0,.32); background: linear-gradient(155deg,#091e2d,#0d293e 58%,#071824); }
.ffm-body .ff80-academy-hero { border-bottom: 1px solid rgba(230,191,118,.31); }
.ffm-body .ff80-academy-hero-art { border-radius: 20px; border: 1px solid rgba(248,215,160,.40); box-shadow: 0 25px 64px rgba(0,0,0,.35), inset 0 1px 1px rgba(255,255,255,.26); }
.ffm-body .ff80-academy-guide-header h2,
.ffm-body .ff80-academy-card h3,
.ffm-body .ff80-academy-step strong { color: var(--ff98-ink); }
.ffm-body .ff80-academy-guide-header p,
.ffm-body .ff80-academy-card-copy > p,
.ffm-body .ff80-academy-step small,
.ffm-body .ff80-academy-progress small { color: var(--ff98-muted); }
.ffm-body .ff80-academy-progress { color: var(--ff98-ink); }
.ffm-body .ff80-academy-progress-track { background: var(--ff98-shade); border: 1px solid var(--ff98-guide-border); }
.ffm-body .ff80-academy-card { color: var(--ff98-ink); background: linear-gradient(155deg,var(--ff98-card),var(--ff98-raised)); border: 1px solid var(--ff98-card-edge); border-radius: 18px; box-shadow: var(--ff98-shadow); overflow: clip; }
.ffm-body .ff80-academy-card[open] { border-color: #bc995e; }
.ffm-body .ff80-academy-card > summary:hover,
.ffm-body .ff80-academy-step:hover { background: color-mix(in srgb,var(--ff98-raised) 80%,transparent); }
.ffm-body .ff80-academy-card > summary > img { border: 1px solid rgba(213,180,117,.33); box-shadow: 0 6px 18px rgba(0,0,0,.15); }
.ffm-body .ff80-academy-expand { color: var(--ff98-ink); background: var(--ff98-card); border-color: var(--ff98-card-edge); }
.ffm-body .ff80-academy-step { border-color: var(--ff98-guide-border); }
.ffm-body .ff80-academy-step input { accent-color: #bd914d; }
.ffm-body .ff80-academy-step input:checked + span strong { color: var(--ff98-muted); }
.ffm-body .ff80-academy-action { border: 1px solid #d8ad60; background: linear-gradient(135deg,#fff1c6,#dbaf5c 57%,#bb843e); box-shadow: inset 0 1px 0 #fff7dd,0 9px 22px #8c5e2d23; }
.ffm-body .ff80-academy .ff80-academy-progress [role="progressbar"] { display: block; }
.ffm-body .ff98-academy-jumps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin: 0 0 16px; }
.ffm-body .ff98-academy-jumps a { display: flex; gap: 9px; align-items: center; min-width: 0; padding: 12px 11px; color: var(--ff98-ink); background: linear-gradient(148deg,var(--ff98-card),var(--ff98-raised)); border: 1px solid var(--ff98-card-edge); border-radius: 12px; font-size: 11px; line-height: 1.3; font-weight: 750; box-shadow: 0 6px 18px #081c2910; }
.ffm-body .ff98-academy-jumps a:hover { border-color: #bb9458; }
.ffm-body .ff98-academy-jumps .ff98-jump-index { flex: none; color: #aa7a32; font-size: 11px; font-weight: 900; }
.ffm-body .ff98-academy-tools { display: flex; flex-wrap: wrap; gap: 9px; justify-content: flex-end; margin-bottom: 18px; }
.ffm-body .ff98-academy-tools button { min-height: 41px; padding: 10px 15px; border-radius: 11px; font-weight: 800; font-size: 12px; border: 1px solid var(--ff98-card-edge); background: var(--ff98-card); color: var(--ff98-ink); }
.ffm-body .ff98-academy-tools button[data-ff98-academy-next] { background: linear-gradient(135deg,#f6dd9e,#c3934c); color: #12263a; border-color: #c49a52; }
.ffm-body .ff98-academy-tools button:hover { border-color: #c99b52; filter: brightness(1.04); }
.ffm-body .ff98-academy-tools button:focus-visible,
.ffm-body .ff98-academy-jumps a:focus-visible { outline: 3px solid #dfaa54; outline-offset: 3px; }
.ffm-body .ff80-academy-card { scroll-margin-top: 90px; }
.ffm-body .ff80-academy-footer { border-top: 1px solid rgba(207,166,97,.3); }
@media (max-width: 950px) { .ffm-body .ff98-academy-jumps { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 600px) {
  .ffm-body .ff98-academy-jumps { grid-template-columns: 1fr 1fr; gap: 7px; }
  .ffm-body .ff98-academy-jumps a { font-size: 10px; padding: 10px 8px; }
  .ffm-body .ff98-academy-tools { justify-content: stretch; }
  .ffm-body .ff98-academy-tools button { flex: 1 1 auto; }
  .ffm-body .ff80-academy-hero-art { height: 230px; }
}
@media (max-width: 359.98px) {
  .ffm-body .ff98-academy-jumps { grid-template-columns: 1fr; }
  .ffm-body .ff80-academy-card > summary { grid-template-columns: 65px minmax(0,1fr) 24px; }
  .ffm-body .ff80-academy-card > summary > img { width: 65px; height: 72px; }
  .ffm-body .ff80-academy-card h3 { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) { .ffm-body .ff80-academy *, .ffm-body .ff98-academy-tools * { transition: none !important; } }
