:root{color-scheme:dark;--color-bg:#0c0c0c;--color-surface:#141414;--color-surface-alt:#1d1d1d;--color-heading:#f5f5f5;--color-text:#cfcfcf;--color-muted:#9a9a9a;--color-border:#1f1f1f;--color-accent:#b20000;--shadow-sm:0 8px 24px rgba(0,0,0,0.25);--shadow-md:0 16px 40px rgba(0,0,0,0.35);--radius-md:16px;--radius-lg:24px;--max-width:1200px;--transition:180ms ease}*{box-sizing:border-box}html{font-size:16px}body{margin:0;background-color:var(--color-bg);color:var(--color-text);font-family:'Inter','Segoe UI',system-ui,-apple-system,sans-serif;line-height:1.6;min-height:100vh}body.loading *{transition-duration:0ms !important}img{max-width:100%;display:block;border-radius:inherit}a{color:var(--color-heading);text-decoration:none}a:hover,a:focus-visible{text-decoration:underline}:focus-visible{outline:3px solid var(--color-accent);outline-offset:4px}h1,h2,h3,h4,h5,h6{font-family:'Bebas Neue','Arial Narrow',sans-serif;letter-spacing:0;color:var(--color-heading);margin:0 0 .6em}h1{font-size:clamp(3rem,5vw+1rem,4.5rem);letter-spacing:-.02em}h2{font-size:clamp(2.1rem,3vw+0.5rem,3rem)}h3{font-size:clamp(1.6rem,2vw+0.3rem,2.3rem)}p{margin:0 0 1.1em}ul,ol{margin:0;padding:0;list-style:none}.skip-link{position:absolute;top:-100px;left:16px;background:var(--color-heading);color:var(--color-bg);padding:.75rem 1.25rem;border-radius:999px;font-weight:600;z-index:1000;transition:transform var(--transition)}.skip-link:focus{top:16px;transform:translateY(0)}header{background:linear-gradient(180deg,rgba(20,20,20,0.95),rgba(20,20,20,0.7));backdrop-filter:blur(16px);position:sticky;top:0;z-index:900}.top-nav{max-width:var(--max-width);margin:0 auto;padding:1.2rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.brand{display:flex;align-items:center;gap:.75rem;font-family:'Bebas Neue',sans-serif;font-size:1.8rem;letter-spacing:.12em}.brand__marker{width:16px;height:16px;background:var(--color-accent);border-radius:50%;box-shadow:0 0 18px rgba(178,0,0,0.5)}.nav{display:flex;align-items:center;gap:2.5rem}.nav__list{display:flex;align-items:center;gap:1.5rem;margin:0}.nav__link{position:relative;font-weight:600;color:var(--color-text);transition:color var(--transition)}.nav__link:hover,.nav__link:focus-visible{color:var(--color-heading)}.nav__link--active::after{content:'';position:absolute;left:0;bottom:-6px;width:100%;height:2px;background:var(--color-accent)}.nav__toggle{display:none;background:transparent;border:1px solid var(--color-border);color:var(--color-heading);border-radius:999px;padding:.35rem .85rem;font-size:1rem}.main{max-width:var(--max-width);margin:0 auto;padding:2.5rem 1.5rem 4rem}.hero{position:relative;padding:6rem 1.5rem 5rem;background:radial-gradient(circle at top,rgba(178,0,0,0.18),rgba(12,12,12,0.9));overflow:hidden}.hero--compact{padding:4rem 1.5rem 3.5rem}.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at center,transparent 40%,rgba(12,12,12,0.9) 100%);pointer-events:none}.hero__inner{max-width:var(--max-width);margin:0 auto;position:relative;z-index:2;display:grid;gap:2rem}.hero__copy{max-width:680px}.hero__subtitle{font-size:1.1rem;color:var(--color-muted);letter-spacing:.14em;text-transform:uppercase}.hero__description{font-size:1.1rem;max-width:520px}.hero__cta-group{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}.hero__splatter{position:absolute;top:4rem;right:min(10vw,4rem);width:clamp(160px,22vw,280px);opacity:.6;filter:drop-shadow(0 0 18px rgba(178,0,0,0.35));z-index:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:999px;border:1px solid transparent;padding:.75rem 1.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.16em;transition:transform var(--transition),box-shadow var(--transition),background var(--transition),border-color var(--transition)}.btn--primary{background:var(--color-accent);color:var(--color-heading);box-shadow:var(--shadow-sm)}.btn--primary:hover,.btn--primary:focus-visible{transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn--ghost{background:transparent;color:var(--color-heading);border-color:var(--color-border)}.section{margin-top:4.5rem}.section__header{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:2.5rem}.section__title{margin:0}.section__description{max-width:520px;color:var(--color-muted)}.featured{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.feature-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.75rem;display:grid;gap:1.5rem;position:relative;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.feature-card:hover,.feature-card:focus-within{transform:translateY(-4px);border-color:rgba(178,0,0,0.4);box-shadow:var(--shadow-sm)}.feature-card__img{border-radius:var(--radius-md);overflow:hidden;position:relative}.feature-card__badge{position:absolute;top:1rem;left:1rem;background:rgba(12,12,12,0.75);padding:.35rem .75rem;border-radius:999px;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase}.feature-card__summary{color:var(--color-muted);font-size:.95rem}.filters{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:1.5rem;display:grid;gap:1.5rem;margin-bottom:2rem}.filters__group{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.filters__label{font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted)}.filters__search{flex:1;min-width:220px;padding:.8rem 1rem;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-heading)}.filters__search::placeholder{color:rgba(207,207,207,0.5)}.season-checkbox{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .9rem;background:var(--color-surface-alt);border-radius:999px;border:1px solid var(--color-border);font-size:.85rem;cursor:pointer;transition:border-color var(--transition),background var(--transition)}.season-checkbox input{accent-color:var(--color-accent)}.season-checkbox input:focus-visible+span{text-decoration:underline}.card-grid{display:grid;gap:1.75rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.empty-state{background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:2.25rem;text-align:center;color:var(--color-muted)}.card{background:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border);display:flex;flex-direction:column;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.card:hover,.card:focus-within{transform:translateY(-4px);box-shadow:var(--shadow-sm);border-color:rgba(178,0,0,0.45)}.card__media{aspect-ratio:4 / 3;overflow:hidden}.card__body{padding:1.5rem;display:grid;gap:1rem}.card__title{margin:0;font-size:1.5rem}.card__summary{color:var(--color-muted);font-size:.95rem}.badge-group{display:flex;flex-wrap:wrap;gap:.5rem}.badge{background:rgba(207,207,207,0.12);color:var(--color-heading);border-radius:999px;padding:.3rem .85rem;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase}.badge--villain{background:rgba(178,0,0,0.2);color:#ff8787}.card__footer{margin-top:auto;display:flex;justify-content:space-between;align-items:center}.card__button{border-radius:999px;background:transparent;border:1px solid var(--color-border);color:var(--color-heading);padding:.6rem 1.2rem;text-transform:uppercase;letter-spacing:.16em;font-weight:600;cursor:pointer;transition:background var(--transition),transform var(--transition)}.card__button:hover,.card__button:focus-visible{background:rgba(178,0,0,0.2);transform:translateY(-2px)}.card--spoiler-hidden{position:relative}.card--spoiler-hidden .card__summary{color:rgba(207,207,207,0.35);filter:blur(3px)}.card--spoiler-hidden::after{content:'Spoiler hidden - toggle to view.';position:absolute;inset:auto 1.2rem 4rem 1.2rem;background:rgba(12,12,12,0.85);padding:.75rem 1rem;border-radius:var(--radius-md);color:var(--color-heading);text-align:center;letter-spacing:.08em}.spoiler-toggle{display:inline-flex;align-items:center;gap:.6rem;background:var(--color-surface-alt);border-radius:999px;padding:.5rem 1rem;border:1px solid var(--color-border)}.spoiler-toggle__label{font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted)}.switch{position:relative;width:44px;height:24px}.switch input{opacity:0;width:0;height:0}.switch__slider{position:absolute;cursor:pointer;inset:0;background-color:rgba(255,255,255,0.15);border-radius:999px;transition:background var(--transition)}.switch__slider::before{content:'';position:absolute;height:18px;width:18px;left:3px;top:3px;background-color:var(--color-heading);border-radius:50%;transition:transform var(--transition)}.switch input:checked+.switch__slider{background-color:rgba(178,0,0,0.6)}.switch input:checked+.switch__slider::before{transform:translateX(20px)}.modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:rgba(12,12,12,0.75);backdrop-filter:blur(10px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--transition),visibility var(--transition);z-index:950}.modal.is-open{opacity:1;visibility:visible;pointer-events:auto}.modal__content{max-width:720px;width:100%;background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-md);padding:clamp(1.5rem,2vw+1rem,3rem);display:grid;gap:1.5rem}.modal__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.modal__close{background:transparent;border:1px solid var(--color-border);border-radius:999px;color:var(--color-heading);padding:.4rem .8rem;cursor:pointer}.modal__meta{display:grid;gap:.4rem;color:var(--color-muted);font-size:.95rem}.modal__list{display:flex;flex-wrap:wrap;gap:.5rem}.modal__list li{background:rgba(207,207,207,0.12);border-radius:999px;padding:.35rem .8rem;letter-spacing:.12em;text-transform:uppercase;font-size:.75rem}.timeline{position:relative;padding-left:2rem;border-left:2px solid rgba(178,0,0,0.35)}.timeline__season{margin-bottom:2.75rem;position:relative}.timeline__season::before{content:'';position:absolute;left:-2.5rem;top:.5rem;width:12px;height:12px;border-radius:50%;background:var(--color-accent);box-shadow:0 0 18px rgba(178,0,0,0.4)}.timeline__header{margin-bottom:1.4rem;text-transform:uppercase;letter-spacing:.24em;color:var(--color-muted)}.timeline__list{display:grid;gap:1rem}.timeline__item details{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem 1.25rem;transition:border-color var(--transition),transform var(--transition)}.timeline__item details[open]{border-color:rgba(178,0,0,0.4);transform:translateY(-2px)}.timeline__item summary{cursor:pointer;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.timeline__item p{color:var(--color-muted);margin:.75rem 0}.timeline__item a{color:var(--color-accent)}.spoiler-banner{background:rgba(178,0,0,0.18);border:1px solid rgba(178,0,0,0.35);border-radius:var(--radius-md);padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.spoiler-banner__message{font-weight:600;letter-spacing:.12em;text-transform:uppercase}.spoiler-banner__dismiss{border:1px solid var(--color-border);background:transparent;color:var(--color-heading);border-radius:999px;padding:.4rem .9rem;cursor:pointer}footer{background:#101010;border-top:1px solid var(--color-border);margin-top:4rem}.footer__inner{max-width:var(--max-width);margin:0 auto;padding:3rem 1.5rem 2rem;display:grid;gap:2.5rem}.footer__top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2rem}.footer__nav{display:flex;flex-wrap:wrap;gap:1.25rem;color:var(--color-muted)}.footer__social{display:flex;gap:1rem}.footer__social a{width:40px;height:40px;border-radius:50%;background:rgba(178,0,0,0.25);display:grid;place-items:center;transition:transform var(--transition),background var(--transition)}.footer__social a:hover,.footer__social a:focus-visible{transform:translateY(-3px);background:rgba(178,0,0,0.4)}.footer__disclaimer{font-size:.85rem;color:var(--color-muted)}.quote{border-left:3px solid rgba(178,0,0,0.5);padding-left:1.25rem;margin:2rem 0 0;font-style:italic;color:var(--color-muted)}.quote__cite{display:block;margin-top:.75rem;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(207,207,207,0.65)}.about-section{display:grid;gap:2rem;margin-bottom:3rem;background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:2rem}.about-section p{color:var(--color-muted)}.not-found{text-align:center;padding:6rem 1.5rem 7rem}.not-found__title{font-size:clamp(4rem,10vw,6rem)}.not-found__subtitle{font-size:1.1rem;color:var(--color-muted);margin-bottom:2.5rem}.not-found__btn{display:inline-flex}.sr-only{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:900px){.nav{position:fixed;inset:0 0 auto 0;top:72px;background:rgba(12,12,12,0.98);padding:1.5rem;flex-direction:column;align-items:flex-start;gap:1.25rem;transform:translateY(-100%);transition:transform var(--transition)}.nav.is-open{transform:translateY(0)}.nav__list{flex-direction:column;align-items:flex-start}.nav__toggle{display:inline-flex}header{position:sticky}}@media(max-width:560px){.section__header{flex-direction:column;align-items:flex-start}.filters{padding:1.25rem}.spoiler-banner{flex-direction:column;align-items:flex-start}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}