:root { color-scheme: dark; }
html { scroll-behavior: smooth; }
body { font-family: Inter, ui-sans-serif, system-ui, sans-serif; }
.site-shell { display: flex; min-height: 100vh; flex-direction: column; }
.site-shell > main { width: 100%; flex: 1 0 auto; }
.site-footer { margin-top: auto; flex: 0 0 auto; }
.footer-brand { display: flex; align-items: center; gap: 1.25rem; }
.footer-logo { width: 7rem; height: 7rem; flex: 0 0 auto; border-radius: 9999px; filter: drop-shadow(0 5px 9px rgba(0,0,0,.58)); }
.font-serif, h1, h2, h3 { font-family: Georgia, 'Times New Roman', serif; }
.mod-logo { width: 4rem; height: 4rem; flex: 0 0 auto; border-radius: 9999px; filter: drop-shadow(0 3px 5px rgba(0,0,0,.55)); transition: transform .2s ease, filter .2s ease; }
a:hover > .mod-logo, a:focus-visible > .mod-logo { transform: rotate(-2deg) scale(1.035); filter: drop-shadow(0 4px 7px rgba(180,111,43,.3)); }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 100; background: #fcd34d; color: #1c1917; padding: .75rem 1rem; }
.skip-link:focus { top: 1rem; }
.eyebrow { color: #fcd34d; font-size: .75rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.eyebrow.text-red-900 { color: #7f1d1d; }
.btn-primary, .btn-secondary { display: inline-flex; align-items: center; min-height: 2.75rem; padding: .65rem 1.15rem; font-size: .875rem; font-weight: 700; transition: .2s ease; }
.btn-primary { background: #b91c1c; color: white; border: 1px solid #dc2626; }
.btn-primary:hover { background: #991b1b; }
.btn-secondary { border: 1px solid rgba(252,211,77,.45); color: #fde68a; background: transparent; }
.btn-secondary:hover { border-color: #fcd34d; background: rgba(252,211,77,.08); }
.field { display: block; width: 100%; margin-top: .4rem; border: 1px solid rgba(255,255,255,.18); background: #1c1917; color: white; padding: .75rem .85rem; outline: none; }
.field:focus { border-color: #fcd34d; box-shadow: 0 0 0 3px rgba(252,211,77,.12); }
.panel { border: 1px solid rgba(255,255,255,.12); background: #1c1917; padding: 1.75rem; }
.panel h2, .card h2 { font-size: 1.6rem; }
.card { border: 1px solid rgba(255,255,255,.12); background: #1c1917; padding: 1.75rem; transition: transform .2s ease, border-color .2s ease; }
.card:hover { transform: translateY(-3px); border-color: rgba(252,211,77,.55); }
.card small { color: #fcd34d; }
.card p { margin-top: .6rem; color: #a8a29e; }
.hero-image { object-position: 38% center; }
.hero-title { text-shadow: 0 1px 0 rgba(255,255,255,.75), 0 2px 8px rgba(255,255,255,.9); }
.hero-window { margin-top: 50px; }
.hero-ai-label { position: absolute; right: .65rem; bottom: .55rem; z-index: 20; border: 1px solid rgba(255,255,255,.18); background: rgba(12,10,9,.58); color: rgba(255,255,255,.82); padding: .15rem .38rem; font-size: .625rem; font-weight: 600; letter-spacing: .08em; line-height: 1.25; text-transform: uppercase; text-shadow: 0 1px 2px rgba(0,0,0,.8); backdrop-filter: blur(2px); }
.hall-card { transition: transform .2s ease, box-shadow .2s ease; }
.hall-card:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(28,25,23,.12); }
.hall-rank { display: grid; width: 3rem; height: 3rem; flex: 0 0 auto; place-items: center; border: 1px solid #d6d3d1; border-radius: 9999px; color: #78716c; font-family: Georgia, 'Times New Roman', serif; font-weight: 700; }
.hall-rank-top { border-color: #b45309; background: #fef3c7; color: #7f1d1d; box-shadow: inset 0 0 0 3px #fffbeb; }
.hall-points { color: #7f1d1d; font-weight: 700; }
.hall-losses { color: #b91c1c; }
.hof-switch { position: relative; display: inline-flex; cursor: pointer; align-items: center; gap: .65rem; white-space: nowrap; }
.hof-switch input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.hof-switch-track { display: inline-flex; width: 3.5rem; height: 1.9rem; align-items: center; border: 1px solid #a8a29e; border-radius: 9999px; background: #d6d3d1; padding: .18rem; transition: background .2s ease, border-color .2s ease, box-shadow .2s ease; }
.hof-switch-track > span { width: 1.4rem; height: 1.4rem; border-radius: 9999px; background: #fff; box-shadow: 0 1px 4px rgba(28,25,23,.35); transition: transform .2s ease; }
.hof-switch input:checked + .hof-switch-track { border-color: #7f1d1d; background: #991b1b; }
.hof-switch input:checked + .hof-switch-track > span { transform: translateX(1.55rem); }
.hof-switch input:focus-visible + .hof-switch-track { box-shadow: 0 0 0 3px rgba(127,29,29,.28); }
.hof-switch-state::before { content: 'Aus'; }
.hof-switch input:checked ~ .hof-switch-state::before { content: 'An'; }
@media (min-width: 1024px) { .hall-rank-score { margin-top: 2.25rem; } }
@media (max-width: 480px) { .footer-brand { align-items: flex-start; gap: .9rem; } .footer-logo { width: 5.5rem; height: 5.5rem; } }
.backend-theme { background: #f5f5f4; color: #1c1917; }
.backend-theme > header { color: #f5f5f4; }
.backend-theme > aside, .backend-theme > section { color: #1c1917; }
.backend-theme > .flash { background: #fff; color: #1c1917; box-shadow: 0 4px 14px rgba(28,25,23,.08); }
.backend-theme > .flash[class*="bg-emerald-950"] { border-color: #059669; background: #ecfdf5; color: #065f46; }
.backend-theme > .flash[class*="bg-amber-950"] { border-color: #d97706; background: #fffbeb; color: #78350f; }
.backend-theme main { color: #1c1917; }
.backend-theme main .eyebrow { color: #7f1d1d; }
.backend-theme main .panel, .backend-theme main .card { border-color: #d6d3d1; background: #fff; color: #1c1917; box-shadow: 0 2px 10px rgba(28,25,23,.06); }
.backend-theme main .card:hover { border-color: #7f1d1d; box-shadow: 0 12px 28px rgba(28,25,23,.1); }
.backend-theme main .card small { color: #7f1d1d; }
.backend-theme main .card p { color: #57534e; }
.backend-theme main .field { border-color: #a8a29e; background: #fff; color: #1c1917; }
.backend-theme main .field:focus { border-color: #7f1d1d; box-shadow: 0 0 0 3px rgba(127,29,29,.12); }
.backend-theme main .btn-secondary { border-color: rgba(127,29,29,.55); color: #7f1d1d; }
.backend-theme main .btn-secondary:hover { border-color: #7f1d1d; background: rgba(127,29,29,.06); }
.backend-theme main .text-stone-100, .backend-theme main .text-stone-200 { color: #292524; }
.backend-theme main .text-stone-300 { color: #44403c; }
.backend-theme main .text-stone-400 { color: #57534e; }
.backend-theme main .text-stone-500 { color: #78716c; }
.backend-theme main .text-amber-200, .backend-theme main .text-amber-300 { color: #7f1d1d; }
.backend-theme main [class*="bg-stone-9"] { background-color: #fff; }
.backend-theme main [class*="bg-amber-950"] { background-color: #fffbeb; color: #78350f; }
.backend-theme main [class*="bg-red-950"] { background-color: #fef2f2; color: #7f1d1d; }
.backend-theme main [class*="bg-blue-950"] { background-color: #eff6ff; color: #1e3a8a; }
.backend-theme main [class*="bg-emerald-950"] { background-color: #ecfdf5; color: #065f46; }
.backend-theme main [class*="border-white"] { border-color: #d6d3d1; }
.backend-theme > aside [class*="bg-amber-950"], .backend-theme > section [class*="bg-amber-950"] { background-color: #fffbeb; color: #78350f; }
.backend-theme > aside .panel, .backend-theme > section .panel { border-color: #d6d3d1; background: #fff; color: #1c1917; box-shadow: 0 2px 10px rgba(28,25,23,.06); }
.backend-theme main table { color: #292524; }
.backend-theme main table thead { color: #57534e; }
.backend-theme main table tbody tr { border-color: #e7e5e4; }
.backend-theme main code { color: #7f1d1d; }
.legal-page { background: #f5f5f4; color: #1c1917; }
.legal-page .eyebrow { color: #7f1d1d; }
.legal-updated { border: 1px solid #d6d3d1; border-left: 3px solid #b45309; background: #fffbeb; padding: .85rem 1rem; color: #78350f; font-size: .875rem; box-shadow: 0 2px 8px rgba(28,25,23,.05); }
.legal-copy section { scroll-margin-top: 6rem; border: 1px solid #d6d3d1; border-top: 2px solid #7f1d1d; background: #fff; padding: 1.5rem; box-shadow: 0 6px 18px rgba(28,25,23,.07); }
.legal-copy h2 { color: #1c1917; font-size: 1.45rem; line-height: 1.25; }
.legal-copy p, .legal-copy address { margin-top: .85rem; color: #57534e; font-style: normal; line-height: 1.75; }
.legal-copy a { color: #991b1b; font-weight: 600; text-decoration: underline; text-decoration-color: rgba(153,27,27,.35); text-underline-offset: .2em; }
.legal-copy a:hover, .legal-copy a:focus-visible { color: #7f1d1d; text-decoration-color: currentColor; }
.legal-copy code { color: #7f1d1d; }
.profile-rule-notice { border-left: 4px solid #991b1b !important; }
code { color: #fde68a; }
.manual-menu { position: relative; }
.manual-menu summary { list-style: none; }
.manual-menu summary::-webkit-details-marker { display: none; }
.manual-menu[open]::after { content: ''; position: absolute; z-index: 59; top: 100%; left: 50%; width: min(21rem, calc(100vw - 2rem)); height: 1rem; transform: translateX(-50%); }
.manual-menu[open] .manual-chevron { transform: rotate(180deg); }
.manual-chevron { transition: transform .2s ease; }
.manual-dropdown { position: absolute; z-index: 60; top: calc(100% + 1rem); left: 50%; width: min(21rem, calc(100vw - 2rem)); transform: translateX(-50%); border: 1px solid rgba(252,211,77,.3); background: #1c1917; box-shadow: 0 18px 45px rgba(0,0,0,.45); padding: .45rem; }
.manual-dropdown::before { content: ''; position: absolute; top: -.42rem; left: 50%; width: .75rem; height: .75rem; transform: translateX(-50%) rotate(45deg); border-left: 1px solid rgba(252,211,77,.3); border-top: 1px solid rgba(252,211,77,.3); background: #1c1917; }
.manual-dropdown a { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem; color: #f5f5f4; }
.manual-dropdown a:hover, .manual-dropdown a:focus-visible { background: rgba(252,211,77,.08); color: #fcd34d; outline: none; }
.manual-dropdown strong, .manual-dropdown small { display: block; }
.manual-dropdown small { margin-top: .2rem; color: #a8a29e; font-size: .72rem; }
.manual-pdf-badge { flex: 0 0 auto; border: 1px solid #57534e; padding: .15rem .4rem; color: #a8a29e; font-size: .6rem; letter-spacing: .08em; }
@media (max-width: 1023px) {
  #main-nav.mobile-open { position: absolute; display: flex; flex-direction: column; align-items: stretch; gap: 1rem; left: 0; right: 0; top: 100%; padding: 1.25rem; border-bottom: 1px solid rgba(252,211,77,.2); background: #0c0a09; }
  .manual-dropdown { position: static; width: 100%; margin-top: .75rem; transform: none; box-shadow: none; }
  .manual-dropdown::before { display: none; }
  .manual-menu[open]::after { display: none; }
}
@media (max-width: 640px) {
  .hero-image { object-position: 30% center; }
}
