/* Anime Central: responsive dark/purple theme, with M07 keyboard improvements */
:root { color-scheme: dark; --bg:#0c1020; --surface:#171c30; --surface2:#222a42; --text:#f5f5ff; --muted:#c2c9df; --border:#424b69; --pink:#ff73ca; --gold:#ffe28e; }
html { scroll-behavior:smooth; }
body { background:radial-gradient(circle at 80% 0%,#221b43 0%,transparent 38%), var(--bg); color:var(--text); font-family:system-ui,-apple-system,'Segoe UI',sans-serif; line-height:1.65; }
a { color:#ffc1e9; }
a:hover { color:#fff; }
.site-header { background:linear-gradient(115deg,#251743,#171d38 70%,#202b47); border-bottom:1px solid var(--border); }
.eyebrow { color:var(--gold); font-size:.78rem; font-weight:750; letter-spacing:.16em; }
.header-subtitle { color:#d9d7ee; }
.site-nav { background:#11162a; border-bottom:1px solid var(--border); }
.brand-symbol { color:var(--pink); }
.navbar-nav .nav-link { color:#dbe0f4; padding:.75rem .8rem; border-radius:8px; }
.navbar-nav .nav-link:hover,.navbar-nav .nav-link.active { color:#fff; background:#323755; }
.hero-card { background:linear-gradient(125deg,#462a68 0%,#27254e 52%,#192e4d 100%); border:1px solid #67558a; border-radius:22px; box-shadow:0 14px 45px #0003; }
.tagline-badge,.category-tag { display:inline-block; color:#ffe5f5; background:#6d3266; border:1px solid #a55c9d; border-radius:999px; padding:.25rem .75rem; font-weight:700; font-size:.76rem; letter-spacing:.05em; }
.anime-hero-icon { font-size:4rem; font-weight:800; letter-spacing:-.15em; color:#fbd0ee; text-shadow:0 0 35px #d561dd; }
.anime-hero-icon span { color:var(--gold); font-size:2.5rem; vertical-align:top; }
.btn-accent { background:var(--pink); color:#211328; border:2px solid var(--pink); font-weight:750; }
.btn-accent:hover { background:#ff9ddd; border-color:#ff9ddd; color:#170b21; }
.btn-outline-light { border-width:2px; }
.content-panel,.feature-card { background:var(--surface); color:var(--text); border:1px solid var(--border); border-radius:16px; }
.feature-card { transition:transform .15s ease,border-color .15s ease; }
.feature-card:hover { transform:translateY(-2px); border-color:#aa6fad; }
.feature-card p { color:#e0e2f0; }
.feature-card a { font-weight:700; }
.feature-icon { width:45px; height:45px; display:grid; place-items:center; background:#47335f; color:var(--gold); border-radius:12px; font-weight:850; margin-bottom:1rem; }
.muted { color:var(--muted); }
.table-frame { overflow:hidden; border:1px solid var(--border); border-radius:15px; }
.table-dark { --bs-table-bg:var(--surface); --bs-table-striped-bg:#222945; --bs-table-hover-bg:#303b5a; }
.anime-result { border:1px solid #695b82; background:#282b49; border-radius:12px; padding:1rem 1.25rem; min-height:60px; }
.form-label { font-weight:700; color:var(--text); }
.form-control { background:#f9f8fe; color:#17152b; border:2px solid #b5afcc; min-height:48px; }
.form-control:focus { border-color:#ff7acc; box-shadow:0 0 0 4px #ff73ca45; }
textarea.form-control { min-height:140px; }
.required-star { color:#ffc5b5; }
.invalid-feedback { color:#ffcabd; }
.was-validated .form-control:invalid { border-color:#c9534f; }
.thanks-panel { max-width:850px; }
.success-icon { width:62px; height:62px; border-radius:50%; display:grid; place-items:center; margin-bottom:1rem; font-size:2rem; font-weight:bold; background:#225b53; border:2px solid #70d2af; }
.submission-summary { background:#101729; border:1px solid var(--border); border-radius:14px; padding:1.25rem; }
.summary-row { display:grid; grid-template-columns:minmax(140px,1fr) 2fr; gap:1rem; padding:.9rem 0; border-bottom:1px solid #3a435f; }
.summary-row:last-child { border-bottom:0; }
.summary-row dt { color:#e9c3ee; }
.summary-row dd { margin:0; overflow-wrap:anywhere; }
.submitted-message { white-space:pre-wrap; }
.course-list li { margin-bottom:.65rem; }
#main-footer { background:#111529; border-top:1px solid var(--border); color:#ccd3e8; font-size:.92rem; }
.skip-link { position:fixed; z-index:999; top:12px; left:12px; transform:translateY(-180%); padding:.7rem 1rem; background:#10182c; color:#fff; border:2px solid #fff; border-radius:8px; }
.skip-link:focus { transform:translateY(0); }
:where(a,button,input,textarea,select,[tabindex]):focus-visible { outline:3px solid var(--gold); outline-offset:3px; }
@media(max-width:600px) { .summary-row { grid-template-columns:1fr; gap:.25rem; } .anime-hero-icon { font-size:3rem; } }
