@import"https://fonts.googleapis.com/css2?family=Luckiest+Guy&family=Righteous:wght@400;700&display=swap";*{box-sizing:border-box;margin:0;padding:0}:root{--simpson-yellow: #FFD90F;--simpson-blue: #00A2E8;--simpson-sky: #87CEEB;--simpson-cream: #FFFDE7;--simpson-outline: #151515;--simpson-stroke: 3px;--simpson-card-radius: 16px;--ink-shadow: 0 6px 0 rgba(0, 0, 0, .35);--ink-shadow-lg: 0 10px 0 rgba(0, 0, 0, .35);--cloud: radial-gradient(ellipse at 30% 30%, #fff 55%, transparent 58%), radial-gradient(ellipse at 55% 40%, #fff 45%, transparent 48%), radial-gradient(ellipse at 75% 60%, #fff 40%, transparent 45%);--header-h: clamp(110px, 16vw, 160px);--topbar-h: 0px;--top-stack: calc(var(--header-h) + var(--topbar-h));--z-header: 300;--z-modal-overlay: 1200;--z-modal: 1210;--z-toast: 1300;--modal-max-w: 800px;--modal-max-h: 90vh;--header-h: 88px;--topnav-h: 56px;--fz-h1: 2rem;--fz-h2: 1.2rem;--gap: 12px}html{scroll-padding-top:var(--header-h)}body,html,#root{font-family:Righteous,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6,.title,.heading{font-family:Luckiest Guy,cursive}.MuiTypography-root{font-family:Righteous,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif!important}.MuiTypography-h1,.MuiTypography-h2,.MuiTypography-h3,.MuiTypography-h4,.MuiTypography-h5,.MuiTypography-h6{font-family:Luckiest Guy,cursive!important}.app-shell{min-height:100dvh}.app-overlay{position:fixed;inset:0;background:#0006;opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:39}.app-overlay.show{opacity:1;pointer-events:auto}#container-body{display:grid;grid-template-columns:1fr;gap:0;width:100%;max-width:none;margin:0;padding:0}.app-main{background:transparent;border:none;border-radius:0;box-shadow:none;padding:0;min-height:calc(100dvh - var(--header-h) - 40px)}@media (min-width:768px){:root{--header-h: 110px;--topnav-h: 60px;--fz-h1: 2.4rem;--fz-h2: 1.35rem;--gap: 14px}}@media (min-width:992px){:root{--header-h: 140px;--topnav-h: 64px;--fz-h1: 3rem;--fz-h2: 1.6rem;--gap: 16px}}.site-header{position:sticky;top:0;z-index:1000;height:var(--header-h);display:flex;align-items:center;justify-content:center;padding:6px 10px;background:#7fcef0;border:2px solid var(--simpson-outline);border-radius:18px;box-shadow:var(--ink-shadow);background-clip:padding-box;overflow:hidden}.header-inner{position:relative;z-index:1;width:100%;max-width:1280px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px}.hamburger{display:inline-grid;gap:4px;width:44px;height:38px;padding:6px;border:var(--simpson-stroke) solid var(--simpson-outline);border-radius:10px;background:var(--simpson-yellow);box-shadow:var(--ink-shadow);cursor:pointer}.hamburger span{display:block;height:3px;background:#000;border-radius:3px}@media (min-width: 992px){.hamburger{display:none}}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-title{height:70px;width:auto;filter:drop-shadow(0 4px 0 rgba(0,0,0,.25))}.brand-family{display:none;height:auto;width:auto;filter:drop-shadow(0 6px 0 rgba(0,0,0,.25))}.brand-tag{font-family:Righteous,sans-serif;font-weight:900;color:#000;background:#fff;border:var(--simpson-stroke) solid var(--simpson-outline);border-radius:999px;padding:4px 10px;box-shadow:var(--ink-shadow)}@media (min-width:768px){.brand-family{display:block;height:160px}}@media (min-width:992px){.brand-family{padding:20px;height:170px}}@media (max-width: 767px){.brand-family{display:block;height:64px;width:auto}}.quick-tabs{flex-grow:1;display:flex;justify-content:center;gap:20px;margin-top:16px}@media (min-width: 992px){.quick-tabs{display:flex;justify-content:center}}.qt-link{border:var(--simpson-stroke) solid var(--simpson-outline);border-radius:999px;padding:8px 14px;font-family:Righteous,sans-serif;font-weight:900;color:#000;background:#fff;text-decoration:none;box-shadow:var(--ink-shadow);transition:transform .12s ease,background .12s ease}.qt-link:hover,.qt-link.active{transform:translateY(-2px);background:var(--simpson-yellow)}.header-wave{position:absolute;left:0;right:0;bottom:-10px;height:20px;background:radial-gradient(40px 10px at 20px 10px,transparent 70%,#000 71%) repeat-x;background-size:40px 20px;opacity:.22;pointer-events:none}.site-header{overflow:hidden}.header-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;width:100%}.header-sky{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.cloud-header{position:absolute;opacity:.95;filter:drop-shadow(0 4px 0 rgba(0,0,0,.25));animation:headerClouds 70s linear infinite;-webkit-user-select:none;user-select:none;pointer-events:none}.cloud1{width:180px;top:12%;left:-30%;animation-duration:80s}.cloud2{width:170px;top:24%;left:-38%;animation-duration:92s;animation-delay:10s;opacity:.9}.cloud3,.cloud4{display:none}@media (min-width:768px){.cloud1{width:240px;top:10%;left:-25%}.cloud2{width:220px;top:20%;left:-35%}.cloud3{display:block;width:220px;top:14%;left:-20%;animation-duration:85s;animation-delay:5s}}@media (min-width:992px){.cloud1{width:300px}.cloud2{width:280px}.cloud3{width:260px}.cloud4{display:block;width:240px;top:22%;left:-30%;animation-duration:100s;animation-delay:18s}}@keyframes headerClouds{0%{transform:translate(0) scale(1)}to{transform:translate(160vw) scale(1.05)}}.top-nav{width:100%;background:transparent}.nav-toggle{display:inline-grid;place-items:center;gap:4px;width:44px;height:38px;padding:6px;border:var(--simpson-stroke) solid var(--simpson-outline);border-radius:10px;background:var(--simpson-yellow);box-shadow:var(--ink-shadow);cursor:pointer}.nav-toggle .bar{width:22px;height:3px;background:#000;border-radius:3px}.top-nav-list{margin:6px 0 0;padding:6px 8px 10px;list-style:none;display:flex;gap:10px;overflow-x:auto;scrollbar-width:thin;scroll-snap-type:x proximity;justify-content:flex-start}@media (max-width: 767px){.top-nav{position:relative}.top-nav-list{position:fixed;top:var(--header-h, 80px);right:0;bottom:0;width:min(80vw,320px);padding:16px;background:linear-gradient(180deg,#8dd9ff,#b8ecff 80%);border-left:var(--simpson-stroke) solid var(--simpson-outline);box-shadow:var(--ink-shadow);display:flex;flex-direction:column;align-items:stretch;gap:12px;overflow-y:auto;transform:translate(100%);transition:transform .2s ease;z-index:1100}.top-nav.is-open .top-nav-list{transform:translate(0)}.nav-overlay{position:fixed;inset:0;background:#00000059;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:1090}.top-nav.is-open .nav-overlay{opacity:1;pointer-events:auto}}.top-nav-list::-webkit-scrollbar{height:8px}.top-nav-list::-webkit-scrollbar-thumb{background:#0003;border-radius:999px}.top-link{scroll-snap-align:start;display:inline-flex;align-items:center;justify-content:center;min-width:120px;padding:8px 14px;background:#fff;color:#000;text-decoration:none;font-family:Righteous,sans-serif;font-weight:900;font-size:.95rem;border:var(--simpson-stroke) solid var(--simpson-outline);border-radius:999px;box-shadow:0 6px #00000059;transition:transform .12s ease,background .12s ease;filter:url(#cartoon-outline)}.top-link:hover{transform:translateY(-2px);background:var(--simpson-yellow)}.top-link.active{background:var(--simpson-yellow)}.nav-cloud-rail{height:12px;margin-top:2px;background:url(https://thesimpsonsapi.com/clouds-bg.jpg) center/800px 100% repeat-x;opacity:.28;filter:drop-shadow(0 3px 0 rgba(0,0,0,.25));pointer-events:none}@media (min-width:768px){.top-nav-list{justify-content:center;gap:14px;overflow:visible}.nav-toggle,.nav-overlay{display:none}.top-link{min-width:140px;padding:10px 18px;font-size:1rem}}@media (min-width:992px){.top-link{min-width:160px;padding:12px 22px;font-size:1.06rem}}.modal-overlay{position:fixed;inset:0;background:#0000008c;display:flex;justify-content:center;align-items:flex-start;padding:clamp(14px,4vh,44px) clamp(14px,4vw,44px);overflow-y:auto;z-index:var(--z-modal-overlay, 1200);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.power-modal{position:relative;width:100%;max-width:var(--modal-max-w, 800px);max-height:var(--modal-max-h, 90vh);background:var(--simpson-cream, #fffde7);border:var(--simpson-stroke, 4px) solid var(--simpson-outline, #151515);border-radius:30px;box-shadow:var(--ink-shadow-lg, 0 10px 0 rgba(0, 0, 0, .35));display:flex;flex-direction:column;overflow:hidden;padding:clamp(18px,2.2vw,30px);animation:fadeIn .3s ease-out;filter:url(#cartoon-outline);z-index:var(--z-modal, 1210)}.close-button{position:absolute;top:-20px;right:-20px;width:50px;height:50px;border-radius:50%;border:var(--simpson-stroke, 4px) solid var(--simpson-outline, #151515);background:var(--simpson-blue, #00A2E8);color:#fff;font-size:1.2rem;font-weight:700;cursor:pointer;box-shadow:0 8px #0006;transition:transform .2s ease,background .2s ease}.close-button{position:absolute;top:10px;right:10px;width:44px;height:44px;border-radius:50%;border:var(--simpson-stroke, 4px) solid var(--simpson-outline, #151515);background:var(--simpson-blue, #00A2E8);color:#fff;font-size:1.15rem;font-weight:900;cursor:pointer;box-shadow:var(--ink-shadow, 0 6px 0 rgba(0, 0, 0, .35));transition:transform .18s ease,background .18s ease,color .18s ease;display:inline-flex;align-items:center;justify-content:center}.close-button:hover{transform:translateY(-2px);background:var(--simpson-yellow, #FFD90F);color:#000}.return-button:hover{transform:translateY(-2px);background:var(--simpson-hover-yellow, #FFD633)}.modal-header{background:url(https://thesimpsonsapi.com/clouds-bg.jpg) center/cover no-repeat;padding:2px;border-radius:20px;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:16px;height:auto}.character-avatar{display:flex;place-items:center;width:200px;height:200px;border-radius:14px;border:var(--simpson-stroke, 3px) solid var(--simpson-outline, #151515);background:linear-gradient(135deg,#fff59d,#fbc02d);overflow:hidden;box-shadow:var(--ink-shadow, 0 6px 0 rgba(0, 0, 0, .35));filter:url(#cartoon-outline)}.image-fallback{display:grid;place-items:center;width:100%;height:100%;font-weight:900;font-family:Righteous,sans-serif;color:#1a1a1a}.character-title{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:10px;margin-left:30px;font-family:Luckiest Guy,cursive;color:#000;flex-wrap:wrap}.character-title .title{font-size:1.8rem;font-weight:700;margin:0}.character-title .character-occupation{font-size:1em;color:#111010;margin-top:4px}.character-occupation{margin:4px 0 0;font-size:.98rem;color:#222;font-family:Righteous,sans-serif;-webkit-box-orient:vertical;overflow:hidden}.desc-wrapper{display:inline-flex;align-items:flex-start;gap:8px;flex-wrap:wrap;max-width:min(100%,560px)}.truncate-ellipsis{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;max-width:100%}.expanded{display:block;overflow:visible}.toggle-desc-btn{appearance:none;border:var(--simpson-stroke, 3px) solid var(--simpson-outline, #151515);background:var(--simpson-yellow, #FFD90F);color:#000;border-radius:999px;padding:6px 10px;font-weight:900;font-family:Righteous,sans-serif;cursor:pointer;box-shadow:var(--ink-shadow, 0 4px 0 rgba(0, 0, 0, .35));transition:transform .12s ease,background .12s ease,color .12s ease}.toggle-desc-btn:hover{transform:translateY(-1px);background:var(--simpson-hover-yellow, #FFD633)}@media (max-width: 560px){.desc-wrapper{max-width:100%}}.modal-body{padding:16px 18px;overflow-y:auto;display:block;background:#fff;border:var(--simpson-stroke, 3px) solid var(--simpson-outline, #151515);border-radius:20px;box-shadow:var(--ink-shadow, 0 6px 0 rgba(0, 0, 0, .35));flex-grow:1;margin-top:18px}.skeleton{display:grid;gap:12px}.sk-row{height:20px;width:70%;background:linear-gradient(90deg,#eee 25%,#f5f5f5 37%,#eee 63%);background-size:400% 100%;animation:shimmer 1.2s infinite;border:2px solid #000;border-radius:999px;box-shadow:0 4px #0003}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.error-card{border:var(--simpson-stroke, 3px) solid var(--simpson-outline, #151515);border-radius:16px;padding:14px;background:#fff3f3;box-shadow:0 4px #0003}.content-grid{display:grid;gap:16px}.card-section{background:#fff;border:var(--simpson-stroke, 3px) solid var(--simpson-outline, #151515);border-radius:18px;padding:14px 16px;box-shadow:var(--ink-shadow, 0 6px 0 rgba(0, 0, 0, .35));filter:url(#cartoon-outline)}.section-title{margin:0 0 10px;font-family:Luckiest Guy,cursive;font-size:1.2rem;text-shadow:2px 2px var(--simpson-yellow, #FFD90F)}.phrases-list{margin:0;padding-left:0;list-style:none;display:grid;gap:10px}.phrases-empty{margin:6px 0 0;padding:10px 12px;background:#fffde7;border:2px solid #000;border-radius:12px;box-shadow:0 4px #0003;font-family:Righteous,sans-serif;color:#333}.phrase{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:6px;padding:10px 12px;background:#fffde7;border:2px solid #000;border-radius:12px;box-shadow:0 4px #0003}.quote-mark{font-weight:900;font-size:1.1rem;color:#000}.phrase-text{font-family:Righteous,sans-serif;color:#222;line-height:1.45;word-break:break-word}.appear-grid{display:grid;grid-template-columns:fr;gap:12px}.appear-card{position:relative;display:grid;grid-template-columns:1fr;gap:10px;background:#fffde7;border:2px solid #000;border-radius:14px;box-shadow:0 4px #0003;padding:10px}.appear-thumb{display:grid;place-items:center;overflow:hidden;border-radius:10px;border:2px solid #000;background:#fff;aspect-ratio:16 / 9}.appear-thumb img{width:100%;height:100%;object-fit:cover;display:block}.appear-info{min-width:0}.appear-title{margin:0 0 6px;font-family:Luckiest Guy,cursive;font-size:clamp(1rem,2.8vw,1.1rem);line-height:1.1;text-shadow:2px 2px var(--simpson-yellow, #FFD90F)}.appear-desc{margin:0;font-family:Righteous,sans-serif;color:#222;line-height:1.45;overflow:hidden;font-size:clamp(.9rem,2.6vw,1rem)}.appear-empty{margin:6px 0 0;padding:10px 12px;background:#fffde7;border:2px solid #000;border-radius:12px;box-shadow:0 4px #0003;font-family:Righteous,sans-serif;color:#333}.appear-badge{position:absolute;top:8px;left:8px;transform:rotate(-3deg);background:var(--simpson-yellow, #FFD90F);border:2px solid #000;border-radius:8px;padding:3px 8px;font-weight:900;font-family:Righteous,sans-serif;color:#000;box-shadow:0 4px #00000040;z-index:1}@media (min-width: 520px){.appear-card{grid-template-columns:120px 1fr;align-items:stretch}.appear-thumb{aspect-ratio:auto}.appear-badge{top:-10px;left:-8px;transform:rotate(-6deg)}}@media (min-width: 700px){.appear-grid{grid-template-columns:repeat(1,1fr)}}.modal-footer{padding:12px 18px;border-top:var(--simpson-stroke, 3px) solid var(--simpson-outline, #151515);background:#fff;display:flex;justify-content:flex-end}.back-button{appearance:none;border:var(--simpson-stroke, 3px) solid var(--simpson-outline, #151515);background:var(--simpson-blue, #00A2E8);color:#fff;border-radius:999px;padding:10px 16px;font-weight:900;font-family:Righteous,sans-serif;cursor:pointer;box-shadow:var(--ink-shadow, 0 6px 0 rgba(0, 0, 0, .35));transition:transform .12s ease,background .12s ease;filter:url(#cartoon-outline)}.back-button:hover{transform:translateY(-2px);background:var(--simpson-yellow, #FFD90F);color:#000}.modal-overlay{position:fixed;inset:0;background:#00000080;display:grid;place-items:center;padding:16px;z-index:999}.power-modal{position:relative;width:min(680px,96vw);background:#fffde7;border:var(--simpson-stroke) solid var(--simpson-outline);border-radius:26px;box-shadow:var(--ink-shadow-lg);padding:20px;display:flex;flex-direction:column;filter:url(#cartoon-outline);max-height:none;overflow-y:visible}.power-modal:after{content:"";position:absolute;bottom:-28px;left:72px;width:0;height:0;border-style:solid;border-width:28px 28px 0 28px;border-color:#fffde7 transparent transparent transparent;filter:url(#cartoon-outline)}.close-button{position:absolute;top:-16px;right:-16px;width:44px;height:44px;border-radius:50%;border:var(--simpson-stroke) solid var(--simpson-outline);background:var(--simpson-blue);color:#fff;font-size:1.1rem;font-weight:900;cursor:pointer;box-shadow:var(--ink-shadow);filter:url(#cartoon-outline);transition:transform .15s ease,background .15s ease}.modal-header{display:grid;grid-template-columns:110px 1fr;gap:16px;align-items:center;margin-bottom:16px;flex-shrink:0}.character-avatar{width:110px;height:110px;background:#fff59d;border-radius:16px;border:var(--simpson-stroke) solid var(--simpson-outline);box-shadow:var(--ink-shadow);overflow:hidden;display:grid;place-items:center;filter:url(#cartoon-outline)}.character-avatar img{width:100%;height:100%;object-fit:cover}.character-title{display:flex;flex-direction:column;justify-content:center}.character-title h2{margin:0;font-size:2rem;line-height:1.05;text-shadow:3px 3px var(--simpson-yellow);font-family:Luckiest Guy,cursive;filter:url(#cartoon-outline)}.power-level{display:inline-block;padding:6px 10px;background:#fff;border:var(--simpson-stroke) solid var(--simpson-outline);border-radius:12px;box-shadow:var(--ink-shadow);font-family:Righteous,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.modal-content{background:#fff;border:var(--simpson-stroke) solid var(--simpson-outline);border-radius:20px;padding:14px;box-shadow:var(--ink-shadow);filter:url(#cartoon-outline);flex-grow:1;overflow-y:auto;margin-bottom:16px}.power-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin-bottom:12px}.stat-item{background:#fffde7;border:4px solid var(--simpson-outline);border-radius:14px;padding:10px 12px;box-shadow:var(--ink-shadow)}.stat-label{font-weight:900;font-family:Righteous,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.stat-value{margin-left:6px}.power-description h3{margin:6px 0 8px;font-family:Righteous,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.power-description p{margin:0;line-height:1.45}.modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:14px;flex-shrink:0}.wiki-button{appearance:none;border:var(--simpson-stroke) solid var(--simpson-outline);background:var(--simpson-blue);color:#fff;border-radius:999px;padding:10px 16px;font-weight:900;text-transform:uppercase;letter-spacing:.6px;box-shadow:var(--ink-shadow);cursor:pointer;filter:url(#cartoon-outline);transition:transform .15s ease,background .15s ease,color .15s ease}.wiki-button:hover{transform:translateY(-3px);background:var(--simpson-yellow);color:#000}@media (max-width: 560px){.modal-header{grid-template-columns:1fr;text-align:center}.character-avatar{margin:0 auto}.power-stats{grid-template-columns:1fr}}.character-card{background:radial-gradient(120% 90% at 50% -20%,rgba(255,255,255,.7),transparent 60%) no-repeat,var(--cloud, none),linear-gradient(180deg,var(--simpson-sky, #87CEEB) 0%,#cbeeff 85%) no-repeat;border:var(--simpson-stroke, 3px) solid var(--simpson-outline, #151515);border-radius:var(--simpson-card-radius, 16px);overflow:hidden;box-shadow:var(--ink-shadow, 0 6px 0 rgba(0, 0, 0, .35));filter:url(#cartoon-outline);transition:transform .16s ease,box-shadow .16s ease;display:grid;grid-template-rows:auto 1fr;position:relative;cursor:default;width:100%}.character-card:hover{transform:translateY(-6px) rotate(-.3deg)}.character-image{position:relative;margin:0;border-bottom:var(--simpson-stroke, 3px) solid var(--simpson-outline, #151515);background:linear-gradient(135deg,#fff59d,#fbc02d);min-height:130px;display:grid;place-items:center;height:150px;overflow:hidden}.character-image img{width:100%;height:100%;object-fit:contain;object-position:center 42%;max-width:78%;max-height:78%;display:block;animation:character-alive 2s ease-in-out infinite}@keyframes character-alive{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.image-fallback{display:grid;place-items:center;width:100%;height:220px;background:linear-gradient(135deg,#fff59d,#fbc02d);font-weight:900;font-family:Righteous,sans-serif;color:#000}.character-body{background:var(--simpson-cream, #FFFDE7);padding:10px 12px}.character-title{margin:8px 0 10px;font-size:1.2rem;text-align:center;color:#000;text-shadow:2px 2px var(--simpson-yellow, #FFD90F);font-family:Luckiest Guy,cursive;line-height:1.05;filter:url(#cartoon-outline);word-break:break-word;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.character-card:hover .character-image img{animation-play-state:paused;transform:scale(1.01);transition:transform .2s ease}.char-overlay-btn{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;background:#00000040;opacity:0;pointer-events:none;transition:opacity .22s ease}.character-card:hover .char-overlay-btn{opacity:1;pointer-events:auto}.char-overlay-cta{border:var(--simpson-stroke, 3px) solid var(--simpson-outline, #151515);border-radius:999px;background:var(--simpson-yellow, #FFD90F);color:#000;font-family:Luckiest Guy,cursive;font-size:1.15rem;padding:10px 20px;box-shadow:var(--ink-shadow, 0 6px 0 rgba(0, 0, 0, .35));filter:url(#cartoon-outline);cursor:pointer;transform:scale(.92);animation:ctaPop .22s ease-out both;transition:transform .16s ease,background .16s ease,color .16s ease}@keyframes ctaPop{0%{transform:scale(.86);opacity:0}60%{transform:scale(1.06);opacity:1}to{transform:scale(.92)}}.char-overlay-cta:hover{transform:scale(1.05) translateY(-1px);background:var(--simpson-blue, #00A2E8);color:#fff}.char-overlay-cta:focus-visible{outline:none;box-shadow:0 0 0 3px #fff,0 0 0 6px var(--simpson-blue, #00A2E8),var(--ink-shadow, 0 6px 0 rgba(0, 0, 0, .35))}.character-meta{display:flex;grid-template-columns:1fr 1fr;gap:8px;margin:6px 0 12px;justify-content:center;align-items:center}.chip{background:#fff;border:var(--simpson-stroke, 3px) solid var(--simpson-outline, #151515);border-radius:999px;padding:8px 12px;font-family:Righteous,sans-serif;text-align:center;box-shadow:var(--ink-shadow, 0 6px 0 rgba(0, 0, 0, .35));filter:url(#cartoon-outline);white-space:normal;overflow:visible;text-overflow:clip;display:inline-flex;align-items:center;justify-content:center;gap:6px}.character-card:focus{outline:none;box-shadow:0 0 0 3px #fff,0 0 0 6px var(--simpson-blue, #00A2E8);transform:translateY(-2px)}.character-card.MuiPaper-root{background:linear-gradient(180deg,#fffde7,var(--simpson-yellow-soft));border:var(--simpson-stroke) solid var(--simpson-outline);border-radius:var(--simpson-card-radius);box-shadow:var(--ink-shadow);overflow:hidden;position:relative;transform:translateZ(0);transition:transform .25s ease,box-shadow .25s ease;filter:url(#cartoon-outline)}.character-card.MuiPaper-root:hover{transform:translateY(-10px);box-shadow:var(--ink-shadow-lg)}.character-image{position:relative;margin:0;border-bottom:var(--simpson-stroke, 3px) solid var(--simpson-outline, #151515);background:linear-gradient(135deg,#fff59d,#fbc02d);min-height:130px;display:grid;place-items:center;height:200px;overflow:hidden}.character-image img{display:block;width:100%;height:100%;object-fit:contain;object-position:center 72%;max-width:78%;max-height:78%;image-rendering:-webkit-optimize-contrast;filter:drop-shadow(6px 8px 0 rgba(0,0,0,.35));animation:character-alive 2s ease-in-out infinite}.no-image{font-weight:800;font-size:1.1rem;color:#000}.character-content.MuiCardContent-root{padding:14px 16px 5px}.character-name{font-size:1.5rem!important;text-align:center;margin:6px 0 8px;color:#000;text-shadow:3px 3px var(--simpson-yellow);line-height:1.05;filter:url(#cartoon-outline);font-family:Luckiest Guy,cursive!important;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.character-info{font-family:Righteous,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif!important;color:#000;line-height:1.4;margin-bottom:6px}.character-info strong{display:inline-block;min-width:40px}.character-actions.MuiCardActions-root{display:flex!important;justify-content:center}.epic-button.MuiButton-root{background:var(--simpson-blue)!important;color:#131212!important;border:var(--simpson-stroke) solid var(--simpson-outline)!important;border-radius:999px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.8px!important;box-shadow:var(--ink-shadow)!important;padding:10px 18px!important;transition:transform .15s ease,background .15s ease!important;filter:url(#cartoon-outline)}.epic-button.MuiButton-root:hover{transform:translateY(-3px);background:var(--simpson-yellow)!important;color:#000!important}.character-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;width:100%;max-width:1200px;margin-bottom:20px;padding:10px;background:#fff;border-radius:12px;box-shadow:0 10px #00000059}@media (max-width: 768px){.character-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.character-grid{grid-template-columns:1fr}}@media (min-width: 560px){.character-image{height:170px}.character-title{font-size:1.3rem}.character-name{font-size:1.7rem!important}}@media (min-width: 768px){.character-image{height:190px}.character-title{font-size:1.45rem}.character-name{font-size:1.9rem!important}}.character-status{position:absolute;top:10px;left:5px;transform:rotate(-15deg);background:#ffd90f;color:#000;font-weight:700;font-family:Luckiest Guy,cursive;padding:5px 10px;border:2px solid #151515;border-radius:12px;box-shadow:0 4px #00000059;filter:url(#cartoon-outline);text-transform:uppercase}.character-birth{display:flex;align-items:center;justify-content:center;gap:8px;margin:6px auto 10px;width:fit-content;padding:6px 12px;background:#68b2ee;color:#000;font-weight:700;font-family:Luckiest Guy,cursive;border:2px solid #151515;border-radius:12px;box-shadow:0 4px #00000059;filter:url(#cartoon-outline);text-transform:uppercase;text-align:center;word-break:break-word}.character-status.red{background:#ff4c4c;color:#fff}.character-gender{position:absolute;top:10px;right:5px;transform:rotate(15deg);font-weight:700;font-family:Luckiest Guy,cursive;padding:5px 10px;border:2px solid #151515;border-radius:12px;box-shadow:0 4px #00000059;filter:url(#cartoon-outline);text-transform:uppercase}.character-gender.male{background:#0d38b1;color:#fff}.character-gender.female{background:pink;color:#000}.character-age{position:absolute;bottom:6px;left:6px;transform:rotate(-15deg);font-weight:700;font-family:Luckiest Guy,cursive;padding:5px 10px;border:2px solid #151515;border-radius:12px;box-shadow:0 4px #00000059;filter:url(#cartoon-outline);text-transform:uppercase;z-index:4}.character-age.red{background:#ff4c4c;color:#fff}.character-age.green{background:#4caf50;color:#fff}.character-age.orange{background:#ff9800;color:#fff}.character-age.blue{background:#2196f3;color:#fff}.character-age.purple{background:#9c27b0;color:#fff}.chip-birth{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;background:#fff;border:var(--simpson-stroke, 3px) solid var(--simpson-outline, #151515);border-radius:999px;box-shadow:var(--ink-shadow, 0 6px 0 rgba(0, 0, 0, .35));filter:url(#cartoon-outline);font-family:Righteous,sans-serif;color:#000;line-height:1;white-space:nowrap;max-width:100%}.chip-birth .chip-emoji{font-size:1.1rem}.chip-birth .chip-label{font-weight:900;margin-right:2px}.chip-birth .chip-value{font-weight:600;max-width:60%;overflow:hidden;text-overflow:ellipsis}.chip-birth{background:radial-gradient(120% 90% at 50% -20%,rgba(255,255,255,.7),transparent 60%) no-repeat,linear-gradient(180deg,#fffde7,#ffe27a)}.character-card:hover .chip-birth{transform:translateY(-1px)}@media (max-width: 420px){.chip-birth .chip-value{max-width:50%}}.loader-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;background:url(https://thesimpsonsapi.com/clouds-bg.jpg) center/cover no-repeat}.spinner{width:50px;height:50px;border:5px solid rgba(0,0,0,.1);border-top:5px solid var(--simpson-yellow, #fbc02d);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loader-message{margin-top:10px;font-family:Righteous,sans-serif;font-size:1.2rem;color:var(--simpson-outline, #fbc02d)}.characters-page{min-height:calc(100vh - var(--header-h));padding:16px 0 28px;border-radius:var(--simpson-card-radius, 16px);overflow:hidden;background:radial-gradient(120% 90% at 50% -20%,rgba(255,255,255,.7),transparent 60%) no-repeat,url(https://thesimpsonsapi.com/clouds-bg.jpg) center/cover no-repeat,linear-gradient(180deg,var(--simpson-sky, #87CEEB) 0%,#cbeeff 85%) no-repeat;box-shadow:inset 0 0 0 var(--simpson-stroke, 3px) var(--simpson-outline, #151515)}:root{--simpson-yellow: #fdd835;--simpson-blue: #1976d2;--simpson-outline: #000;--simpson-stroke: 4px;--simpson-card-radius: 12px}.character-container{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;background:linear-gradient(180deg,#fffde7,#ffeb3b 90%);border:var(--simpson-stroke, 3px) solid var(--simpson-outline, #151515);border-radius:20px;padding:30px}#charactersPage{display:flex;flex-direction:column;align-items:center;padding:5px;background:linear-gradient(180deg,#fff3b8);min-height:100vh;font-family:Luckiest Guy,cursive}.character-grid{display:grid;grid-template-columns:1fr;gap:16px;width:100%;max-width:1200px;margin:0 auto 20px;padding:10px;background:#b4ecf3;border-radius:var(--simpson-card-radius);box-shadow:0 10px #00000059}.characters-page .character-grid{counter-reset:page var(--page-counter, 0)}.character-search{width:100%;max-width:900px;margin:12px auto 18px;display:grid;grid-template-columns:1fr;gap:8px;padding:10px 12px;background:linear-gradient(180deg,#fff59d,#fbc02d);border:var(--simpson-stroke) solid var(--simpson-outline);border-radius:16px;box-shadow:var(--ink-shadow)}.character-search label{font-family:Luckiest Guy,cursive;font-size:clamp(1rem,3.8vw,1.1rem);color:#000;text-shadow:2px 2px var(--simpson-yellow)}.character-search input[type=text],.character-search input[type=search]{appearance:none;width:100%;padding:10px 12px;border:var(--simpson-stroke) solid var(--simpson-outline);border-radius:999px;background:#fff;color:#000;font-family:Righteous,sans-serif;font-size:1rem;font-weight:600;box-shadow:0 4px #00000040}.character-search input::placeholder{color:#666}@media (min-width: 600px){.character-search{grid-template-columns:auto 1fr;align-items:center}.character-search label{margin-right:10px}}@media (min-width: 480px){.character-grid{grid-template-columns:repeat(2,1fr);gap:20px}}@media (min-width: 1200px){.character-grid{grid-template-columns:repeat(4,1fr);gap:24px}}.pagination-controls{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:20px}.pagination-controls button{background-color:var(--simpson-blue);border:none;border-radius:50%;padding:0;font-size:16px;font-weight:700;color:#fff;cursor:pointer;transition:background-color .3s ease,transform .2s ease}.pagination-controls button:hover{background-color:var(--simpson-yellow);transform:scale(1.1)}.pagination-controls span{font-size:18px;font-weight:700;color:#333}.character-grid>.character-card{opacity:0;animation:simpsonsCardIn 1.32s cubic-bezier(.22,1,.36,1) both;will-change:transform,opacity,filter;backface-visibility:hidden}.character-grid>.character-card:nth-child(1){animation-delay:80ms}.character-grid>.character-card:nth-child(2){animation-delay:.16s}.character-grid>.character-card:nth-child(3){animation-delay:.24s}.character-grid>.character-card:nth-child(4){animation-delay:.32s}.character-grid>.character-card:nth-child(5){animation-delay:.4s}.character-grid>.character-card:nth-child(6){animation-delay:.48s}.character-grid>.character-card:nth-child(7){animation-delay:.56s}.character-grid>.character-card:nth-child(8){animation-delay:.64s}.character-grid>.character-card:nth-child(9){animation-delay:.72s}.character-grid>.character-card:nth-child(10){animation-delay:.8s}.character-grid>.character-card:nth-child(11){animation-delay:.88s}.character-grid>.character-card:nth-child(12){animation-delay:.96s}@media (prefers-reduced-motion: reduce){.character-grid>.character-card{animation:none!important;opacity:1}}.modal-content{position:relative;background:#fff;padding:clamp(16px,2vw,24px);border-radius:20px;box-shadow:var(--ink-shadow, 0 8px 0 rgba(0, 0, 0, .35));max-width:500px;width:100%;max-height:var(--modal-max-h, 90vh);display:flex;flex-direction:column;overflow:hidden;animation:fadeIn .3s ease-in-out;border:var(--simpson-stroke, 3px) solid var(--simpson-outline, #151515);filter:url(#cartoon-outline)}.modal-close,.close-button{position:absolute;top:8px;right:8px;width:40px;height:40px;border-radius:50%;border:var(--simpson-stroke, 3px) solid var(--simpson-outline, #151515);background:var(--simpson-blue, #00A2E8);color:#fff;font-size:1.1rem;font-weight:900;cursor:pointer;box-shadow:var(--ink-shadow, 0 6px 0 rgba(0, 0, 0, .35));display:inline-flex;align-items:center;justify-content:center;transition:transform .15s ease,background .15s ease,color .15s ease;filter:url(#cartoon-outline)}.modal-close:hover,.close-button:hover{transform:translateY(-2px);background:var(--simpson-yellow, #FFD90F);color:#000}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:10px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.location-card{background:radial-gradient(120% 90% at 50% -20%,rgba(255,255,255,.7),transparent 60%) no-repeat,var(--cloud, none),linear-gradient(180deg,var(--simpson-sky, #87CEEB) 0%,#cbeeff 85%) no-repeat;border:var(--simpson-stroke, 3px) solid var(--simpson-outline, #151515);border-radius:var(--simpson-card-radius, 16px);overflow:hidden;box-shadow:var(--ink-shadow, 0 6px 0 rgba(0, 0, 0, .35));filter:url(#cartoon-outline);transition:transform .16s ease,box-shadow .16s ease;display:grid;grid-template-rows:auto 1fr;position:relative;cursor:default}.location-card:hover{transform:translateY(-6px) rotate(-.3deg)}.loc-ribbon{position:absolute;top:12px;left:5px;transform:rotate(-6deg);background:var(--simpson-yellow, #FFD90F);border:var(--simpson-stroke, 3px) solid var(--simpson-outline, #151515);border-radius:10px;padding:6px 12px;box-shadow:var(--ink-shadow, 0 6px 0 rgba(0, 0, 0, .35));font-family:Righteous,sans-serif;z-index:2}.loc-ribbon span{color:#000;font-weight:900}.loc-badge{position:absolute;top:12px;right:12px;background:#fff;color:#000;font-weight:900;font-family:Righteous,sans-serif;padding:6px 10px;border-radius:999px;border:var(--simpson-stroke, 3px) solid var(--simpson-outline, #151515);box-shadow:var(--ink-shadow, 0 6px 0 rgba(0, 0, 0, .35));z-index:2;max-width:60%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loc-badge .pin{margin-right:6px}.location-figure{margin:0;border-bottom:var(--simpson-stroke, 3px) solid var(--simpson-outline, #151515);background:linear-gradient(135deg,#fff59d,#fbc02d);min-height:130px;display:grid;place-items:center}.location-image{width:100%;height:140px;object-fit:cover;display:block;animation:location-zoom 4s ease-in-out infinite}.image-fallback{display:grid;place-items:center;width:100%;height:140px;background:linear-gradient(135deg,#fff59d,#fbc02d);font-weight:900;font-family:Righteous,sans-serif;color:#000}.location-body{background:var(--simpson-cream, #FFFDE7);padding:10px 12px}.location-title{margin:6px 0 8px;font-size:1.15rem;text-align:center;color:#000;text-shadow:2px 2px var(--simpson-yellow, #FFD90F);font-family:Luckiest Guy,cursive;line-height:1.05;filter:url(#cartoon-outline);word-break:break-word;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.location-meta{display:flex;grid-template-columns:1fr 1fr;gap:8px;margin:6px 0 12px;justify-content:center;align-items:center}.location-card:hover .location-image{animation-play-state:paused;transform:scale(1.05);transition:transform .25s ease}.loc-overlay-btn{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;background:#00000040;opacity:0;pointer-events:none;transition:opacity .25s ease}.location-card:hover .loc-overlay-btn{opacity:1;pointer-events:auto}.loc-overlay-cta{border:var(--simpson-stroke, 3px) solid var(--simpson-outline, #151515);border-radius:999px;background:var(--simpson-yellow, #FFD90F);color:#000;font-family:Luckiest Guy,cursive;font-size:1rem;padding:8px 16px;box-shadow:var(--ink-shadow, 0 6px 0 rgba(0, 0, 0, .35));filter:url(#cartoon-outline);cursor:pointer;transform:scale(.9);animation:ctaPop .25s ease-out both;transition:transform .15s ease,background .15s ease,color .15s ease}@keyframes ctaPop{0%{transform:scale(.85);opacity:0}60%{transform:scale(1.08);opacity:1}to{transform:scale(.9)}}.loc-overlay-cta:hover{transform:scale(1.05) translateY(-2px);background:var(--simpson-blue, #00A2E8);color:#fff}.loc-overlay-cta:focus-visible{outline:none;box-shadow:0 0 0 3px #fff,0 0 0 6px var(--simpson-blue, #00A2E8),var(--ink-shadow, 0 6px 0 rgba(0, 0, 0, .35))}.chip{background:#fff;border:var(--simpson-stroke, 3px) solid var(--simpson-outline, #151515);border-radius:999px;padding:8px 12px;font-family:Righteous,sans-serif;text-align:center;box-shadow:var(--ink-shadow, 0 6px 0 rgba(0, 0, 0, .35));filter:url(#cartoon-outline);white-space:normal;overflow:visible;text-overflow:clip;display:inline-flex;align-items:center;justify-content:center;gap:6px}.location-card:focus{outline:none;box-shadow:0 0 0 3px #fff,0 0 0 6px var(--simpson-blue, #00A2E8);transform:translateY(-2px)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;padding:20px;border-radius:8px;max-width:500px;width:90%;text-align:center;position:relative}.modal-close{position:absolute;top:10px;right:10px;background:none;border:none;font-size:1.5rem;cursor:pointer}.modal-image{max-width:100%;height:auto;margin-bottom:15px;border-radius:8px}.modal-description{font-size:1rem;color:#333}@keyframes location-zoom{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@media (min-width: 560px){.location-figure{min-height:150px}.location-image,.image-fallback{height:160px}.location-title{font-size:1.3rem}.loc-badge{max-width:70%}}@media (min-width: 768px){.location-figure{min-height:170px}.location-image,.image-fallback{height:180px}.location-title{font-size:1.5rem}.loc-overlay-cta{font-size:1.15rem;padding:10px 22px}}.locations-page{min-height:calc(100vh - var(--header-h));padding:16px 0 28px;border-radius:var(--simpson-card-radius, 16px);overflow:hidden;background:radial-gradient(120% 90% at 50% -20%,rgba(255,255,255,.7),transparent 60%) no-repeat,url(https://thesimpsonsapi.com/clouds-bg.jpg) center/cover no-repeat,linear-gradient(180deg,var(--simpson-sky, #87CEEB) 0%,#cbeeff 85%) no-repeat;box-shadow:inset 0 0 0 var(--simpson-stroke, 3px) var(--simpson-outline, #151515)}.location-search{width:100%;max-width:900px;margin:12px auto 18px;display:grid;grid-template-columns:1fr;gap:8px;padding:10px 12px;background:linear-gradient(180deg,#fff59d,#fbc02d);border:var(--simpson-stroke) solid var(--simpson-outline);border-radius:16px;box-shadow:var(--ink-shadow, 0 6px 0 rgba(0, 0, 0, .35))}.location-search label{font-family:Luckiest Guy,cursive;font-size:clamp(1rem,3.8vw,1.1rem);color:#000;text-shadow:2px 2px var(--simpson-yellow)}.location-search input[type=text],.location-search input[type=search],.location-search select{appearance:none;width:100%;padding:10px 12px;border:var(--simpson-stroke) solid var(--simpson-outline);border-radius:999px;background:#fff;color:#000;font-family:Righteous,sans-serif;font-size:1rem;font-weight:600;box-shadow:0 4px #00000040}#townFilter{background-color:#fbc02d}.location-search input::placeholder{color:#666}@media (min-width: 600px){.location-search{grid-template-columns:auto 1fr auto 220px;align-items:center}.location-search label{margin-right:10px}}.locations-container{display:grid;grid-template-columns:1fr;gap:16px;padding:8px;width:100%;max-width:1200px;margin:0 auto 20px;background:#b4ecf3;border-radius:12px;box-shadow:none}.no-results{text-align:center;font-family:Righteous,sans-serif;font-weight:700;color:#222;padding:12px}.locations-container>.location-card{opacity:0;animation:simpsonsCardIn .82s cubic-bezier(.22,1,.36,1) both;will-change:transform,opacity,filter;backface-visibility:hidden}.locations-container>.location-card:nth-child(1){animation-delay:80ms}.locations-container>.location-card:nth-child(2){animation-delay:.16s}.locations-container>.location-card:nth-child(3){animation-delay:.24s}.locations-container>.location-card:nth-child(4){animation-delay:.32s}.locations-container>.location-card:nth-child(5){animation-delay:.4s}.locations-container>.location-card:nth-child(6){animation-delay:.48s}.locations-container>.location-card:nth-child(7){animation-delay:.56s}.locations-container>.location-card:nth-child(8){animation-delay:.64s}.locations-container>.location-card:nth-child(9){animation-delay:.72s}.locations-container>.location-card:nth-child(10){animation-delay:.8s}.locations-container>.location-card:nth-child(11){animation-delay:.88s}.locations-container>.location-card:nth-child(12){animation-delay:.96s}@media (prefers-reduced-motion: reduce){.locations-container>.location-card{animation:none!important;opacity:1}}@media (min-width: 480px){.locations-container{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}@media (min-width: 992px){.locations-container{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}}.loading-container{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.5rem;font-weight:700;color:#555;background-color:#f9f9f9}.error-container{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.2rem;font-weight:700;color:#d9534f;background-color:#f9f9f9}.modal-overlay{position:fixed;inset:0;background:#0000008c;display:flex;justify-content:center;align-items:flex-start;padding:clamp(12px,4vh,40px) clamp(12px,4vw,40px);overflow-y:auto;z-index:var(--z-modal-overlay, 1200);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content{position:relative;width:100%;max-width:560px;max-height:var(--modal-max-h, 90vh);background:#fffde7;border:var(--simpson-stroke) solid var(--simpson-outline);border-radius:22px;box-shadow:var(--ink-shadow);padding:clamp(14px,2vw,24px);padding-top:clamp(40px,6vh,56px);display:flex;flex-direction:column;filter:url(#cartoon-outline);overflow:visible}.modal-content:after{content:"";position:absolute;bottom:-28px;left:72px;width:0;height:0;border-style:solid;border-width:28px 28px 0 28px;border-color:#fffde7 transparent transparent transparent;filter:url(#cartoon-outline)}.close-button{position:absolute;top:8px;right:8px;width:40px;height:40px;border-radius:50%;border:var(--simpson-stroke) solid var(--simpson-outline);background:var(--simpson-blue);color:#fff;font-size:1.1rem;font-weight:900;cursor:pointer;box-shadow:var(--ink-shadow);filter:url(#cartoon-outline);transition:transform .15s ease,background .15s ease;display:inline-flex;align-items:center;justify-content:center;z-index:5}.close-button:hover{transform:translateY(-2px);background:var(--simpson-yellow);color:#000}.modal-header{display:grid;grid-template-columns:1fr;gap:16px;align-items:center;margin-bottom:16px;flex-shrink:0;text-align:center}.modal-header h2{margin:0 0 6px;font-size:2rem;line-height:1.05;text-shadow:3px 3px var(--simpson-yellow);font-family:Luckiest Guy,cursive;filter:url(#cartoon-outline)}.modal-body{background:#fff;border:var(--simpson-stroke) solid var(--simpson-outline);border-radius:20px;padding:14px;box-shadow:var(--ink-shadow);filter:url(#cartoon-outline);flex-grow:1;overflow-y:auto;margin-bottom:16px;min-height:180px}.modal-image{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:14px;margin-bottom:16px;box-shadow:var(--ink-shadow)}.modal-synopsis{font-family:Righteous,sans-serif;color:#222;line-height:1.5;text-align:justify;font-size:.95rem}.episode-card{background:radial-gradient(120% 90% at 50% -20%,rgba(255,255,255,.7),transparent 60%) no-repeat,var(--cloud, none),linear-gradient(180deg,var(--simpson-sky, #87CEEB) 0%,#cbeeff 85%) no-repeat;border:var(--simpson-stroke, 3px) solid var(--simpson-outline, #151515);border-radius:18px;overflow:hidden;box-shadow:var(--ink-shadow, 0 6px 0 rgba(0, 0, 0, .35));cursor:pointer;filter:url(#cartoon-outline);transition:transform .16s ease,box-shadow .16s ease;display:flex;flex-direction:column}.episode-card:hover{transform:translateY(-6px) rotate(-.3deg)}.ep-top{position:relative;border-bottom:var(--simpson-stroke, 3px) solid var(--simpson-outline, #151515);background:linear-gradient(135deg,#fff59d,#fbc02d);display:grid;place-items:center;min-height:120px}.ep-code{position:absolute;top:10px;right:10px;background:#fff;color:#000;font-weight:900;font-family:Righteous,sans-serif;padding:6px 10px;border-radius:999px;border:var(--simpson-stroke, 3px) solid var(--simpson-outline, #151515);box-shadow:var(--ink-shadow, 0 6px 0 rgba(0, 0, 0, .35));z-index:2}.season-ribbon{position:absolute;top:12px;left:-6px;transform:rotate(-6deg);background:var(--simpson-yellow, #FFD90F);border:var(--simpson-stroke, 3px) solid var(--simpson-outline, #151515);border-radius:10px;padding:6px 12px;box-shadow:var(--ink-shadow, 0 6px 0 rgba(0, 0, 0, .35));font-family:Righteous,sans-serif;z-index:2}.season-ribbon span{color:#000;font-weight:900}.episode-image{position:relative;z-index:1;width:100%;height:130px;display:grid;place-items:center;overflow:hidden;background:#000}.episode-image img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block;z-index:1;filter:brightness(1.05) contrast(1.1) saturate(1.1);animation:videoPulse 4s ease-in-out infinite alternate,tvFlicker .25s infinite,slightPan 12s linear infinite;transition:transform .3s ease}.episode-card:hover .episode-image img{animation-play-state:paused;transform:scale(1.05)}.episode-image:after{content:"";position:absolute;inset:0;z-index:2;background:repeating-linear-gradient(#ffffff0d 0px 2px,#0000000d 3px);opacity:.25;animation:noiseMove .35s infinite linear;pointer-events:none}@keyframes noiseMove{0%{transform:translateY(0)}to{transform:translateY(4px)}}@keyframes tvFlicker{0%,to{opacity:1}98%{opacity:.9}50%{opacity:.95}}@keyframes slightPan{0%{transform:scale(1.05) translate(0)}25%{transform:scale(1.06) translate(-2%,1%)}50%{transform:scale(1.07) translate(2%,-1%)}75%{transform:scale(1.06) translate(1%,2%)}to{transform:scale(1.05) translate(0)}}@keyframes videoPulse{0%{filter:brightness(1) contrast(1) saturate(1.05)}50%{filter:brightness(1.05) contrast(1.15) saturate(1.15)}to{filter:brightness(1.1) contrast(1.1) saturate(1.2)}}.episode-image:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(255,255,255,.05) 0%,transparent 80%);z-index:1;pointer-events:none}.image-fallback{display:grid;place-items:center;height:100%;width:100%;font-weight:900;font-family:Righteous,sans-serif;background:linear-gradient(135deg,#fff59d,#fbc02d);color:#000}.video-overlay-btn{position:absolute;inset:0;z-index:3;display:flex;justify-content:center;align-items:center;background:#00000040;opacity:0;transition:opacity .25s ease}.video-overlay-btn button{border:var(--simpson-stroke, 3px) solid var(--simpson-outline, #151515);border-radius:999px;background:var(--simpson-yellow, #FFD90F);color:#000;font-family:Luckiest Guy,cursive;font-size:.95rem;padding:8px 14px;box-shadow:var(--ink-shadow, 0 6px 0 rgba(0, 0, 0, .35));filter:url(#cartoon-outline);cursor:pointer;transform:scale(.9);transition:transform .2s ease,background .2s ease,color .2s ease}.video-overlay-btn button:hover{transform:scale(1.05);background:var(--simpson-blue, #00A2E8);color:#fff}.episode-card:hover .video-overlay-btn{opacity:1}.ep-body{background:var(--simpson-cream, #FFFDE7);padding:10px 12px!important}.episode-title{margin:10px 0 6px;font-size:1.15rem;text-align:center;color:#000;text-shadow:2px 2px var(--simpson-yellow, #FFD90F);font-family:Luckiest Guy,cursive;line-height:1.05;filter:url(#cartoon-outline);word-break:break-word;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ep-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:6px 0 12px}.chip{background:#fff;border:var(--simpson-stroke, 3px) solid var(--simpson-outline, #151515);border-radius:999px;padding:6px 10px;font-family:Righteous,sans-serif;text-align:center;box-shadow:var(--ink-shadow, 0 6px 0 rgba(0, 0, 0, .35));filter:url(#cartoon-outline);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip-emoji{margin-right:6px}.ep-cta{display:flex;justify-content:center;padding-bottom:10px}.details-button{border:var(--simpson-stroke, 3px) solid var(--simpson-outline, #151515)!important;border-radius:999px!important;padding:10px 18px!important;font-weight:900!important;font-family:Righteous,sans-serif!important;box-shadow:var(--ink-shadow, 0 6px 0 rgba(0, 0, 0, .35))!important;filter:url(#cartoon-outline);background:var(--simpson-blue, #00A2E8)!important;color:#fff!important;text-transform:none!important;transition:transform .12s ease,background .12s ease!important}.details-button:hover{transform:translateY(-2px)!important;background:var(--simpson-yellow, #FFD90F)!important;color:#000!important}.date{text-align:center;font-family:Righteous,sans-serif;font-size:.95rem;color:#000;padding:10px 0}.chip-label{display:flex;width:fit-content;margin:8px auto 0;align-items:center;gap:6px;padding:2px 6px;background:#fff;border:var(--simpson-stroke, 3px) solid var(--simpson-outline, #151515);border-radius:999px;box-shadow:var(--ink-shadow, 0 6px 0 rgba(0, 0, 0, .35));filter:url(#cartoon-outline);font-family:Righteous,sans-serif;color:#000;line-height:1;white-space:nowrap;max-width:100%;font-size:.9rem}.chip-label strong{font-weight:900;margin-right:2px}@media (min-width: 560px){.ep-top{min-height:150px}.episode-image{height:160px}.episode-title{font-size:1.3rem}.ep-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.video-overlay-btn button{font-size:1.05rem;padding:10px 18px}}@media (min-width: 768px){.ep-top{min-height:170px}.episode-image{height:180px}.episode-title{font-size:1.5rem}.video-overlay-btn button{font-size:1.15rem;padding:12px 22px}}.episodes-page{min-height:calc(100vh - var(--header-h));padding:16px 0 28px;border-radius:var(--simpson-card-radius, 16px);overflow:hidden;background:radial-gradient(120% 90% at 50% -20%,rgba(255,255,255,.7),transparent 60%) no-repeat,url(https://thesimpsonsapi.com/clouds-bg.jpg) center/cover no-repeat,linear-gradient(180deg,var(--simpson-sky, #87CEEB) 0%,#cbeeff 85%) no-repeat;box-shadow:inset 0 0 0 var(--simpson-stroke, 3px) var(--simpson-outline, #151515)}.episodes-container{background:transparent;border:none;border-radius:0;padding:16px}@keyframes popIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.episodes-container h1{font-family:Luckiest Guy,cursive;color:var(--simpson-blue);text-shadow:3px 3px var(--simpson-yellow);text-align:center;margin-bottom:25px;font-size:2.4rem;letter-spacing:1px}.filter-container{display:grid;grid-template-columns:auto 1fr auto 220px;align-items:center;gap:12px;margin:10px auto 20px;background:linear-gradient(180deg,#fff59d,#fbc02d);padding:10px 16px;border:var(--simpson-stroke) solid var(--simpson-outline);border-radius:16px;box-shadow:var(--ink-shadow);font-family:Righteous,sans-serif;width:100%;max-width:900px}.filter-container label{font-size:1.1rem;font-weight:600;color:var(--simpson-outline);text-shadow:1px 1px #fff}.filter-container input[type=search],.filter-container select{appearance:none;padding:8px 12px;border:var(--simpson-stroke) solid var(--simpson-outline);border-radius:999px;background:#fff;color:var(--simpson-outline);font-family:Righteous,sans-serif;font-size:.95rem;font-weight:600;box-shadow:0 4px #00000040;cursor:pointer;transition:all .2s ease}.filter-container input[type=search]:hover,.filter-container select:hover{color:#0f0d0d;transform:translateY(-2px)}.filter-container select::-ms-expand{display:none}.filter-container select:after{content:"▼";font-size:1rem;color:var(--simpson-outline)}#season-select{background-color:#fbc02d}.episodes-grid{display:grid;grid-template-columns:1fr;gap:16px;padding:8px;width:100%;max-width:1200px;margin:0 auto 20px;background:#b4ecf3;border-radius:12px;box-shadow:0 10px #00000059}.episodes-grid>.episode-card{opacity:0;animation:simpsonsCardIn .82s cubic-bezier(.22,1,.36,1) both;will-change:transform,opacity,filter;backface-visibility:hidden}.episodes-grid>.episode-card:nth-child(1){animation-delay:80ms}.episodes-grid>.episode-card:nth-child(2){animation-delay:.16s}.episodes-grid>.episode-card:nth-child(3){animation-delay:.24s}.episodes-grid>.episode-card:nth-child(4){animation-delay:.32s}.episodes-grid>.episode-card:nth-child(5){animation-delay:.4s}.episodes-grid>.episode-card:nth-child(6){animation-delay:.48s}.episodes-grid>.episode-card:nth-child(7){animation-delay:.56s}.episodes-grid>.episode-card:nth-child(8){animation-delay:.64s}.episodes-grid>.episode-card:nth-child(9){animation-delay:.72s}.episodes-grid>.episode-card:nth-child(10){animation-delay:.8s}.episodes-grid>.episode-card:nth-child(11){animation-delay:.88s}.episodes-grid>.episode-card:nth-child(12){animation-delay:.96s}@media (prefers-reduced-motion: reduce){.episodes-grid>.episode-card{animation:none!important;opacity:1}}@media (min-width: 480px){.episodes-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}@media (min-width: 992px){.episodes-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}}@media (max-width: 480px){.filter-container{grid-template-columns:1fr;align-items:stretch;border-radius:16px;padding:10px;gap:8px}.filter-container label{width:100%;text-align:left;font-size:1rem;margin-bottom:4px}.filter-container input[type=search],.filter-container select{width:100%}}.pagination-controls{display:flex;justify-content:center;align-items:center;margin-top:30px;gap:12px}.pagination-controls button{padding:10px 18px;border:var(--simpson-stroke) solid var(--simpson-outline);border-radius:999px;background-color:var(--simpson-yellow);color:var(--simpson-outline);font-family:Luckiest Guy,cursive;font-size:1rem;letter-spacing:.5px;cursor:pointer;box-shadow:var(--ink-shadow);transition:all .2s ease}.pagination-controls button:hover:not(:disabled){background:var(--simpson-blue);color:#fff;transform:translateY(-2px)}.pagination-controls button:disabled{background-color:#ccc;color:#666;cursor:not-allowed;box-shadow:none}.pagination-controls span{font-family:Righteous,sans-serif;font-size:1.2rem;color:var(--simpson-outline)}.loading-message,.error-message{text-align:center;font-family:Righteous,sans-serif;font-size:1.2rem;color:#ce1610;background:var(--simpson-cream, #FFFDE7);padding:20px;border:var(--simpson-stroke, 3px) solid var(--simpson-outline, #151515);border-radius:12px;box-shadow:var(--ink-shadow, 0 6px 0 rgba(0, 0, 0, .35));margin:20px auto;max-width:600px}.home-container{min-height:calc(100vh - var(--header-h));padding:16px 0 28px;display:flex;flex-direction:column;align-items:center;text-align:center;border-radius:var(--simpson-card-radius, 16px);overflow:hidden;background:radial-gradient(120% 90% at 50% -20%,rgba(255,255,255,.7),transparent 60%) no-repeat,url(https://thesimpsonsapi.com/clouds-bg.jpg) center/cover no-repeat,linear-gradient(180deg,var(--simpson-sky, #87CEEB) 0%,#cbeeff 85%) no-repeat;box-shadow:inset 0 0 0 var(--simpson-stroke, 3px) var(--simpson-outline, #151515)}.home-hero{width:100%;max-width:980px;margin:8px auto 16px}.home-title{font-family:Luckiest Guy,cursive;font-size:var(--fz-h1);color:#000;text-shadow:3px 3px var(--simpson-yellow);line-height:1.1;margin:4px 0 10px;animation:bounce 2s ease-in-out infinite}.home-subtitle{font-family:Righteous,sans-serif;font-size:.95rem;color:#111;line-height:1.5;max-width:680px;padding:10px 12px;margin:0 auto;background:#ffffffbf;border:var(--simpson-stroke) solid var(--simpson-outline);border-radius:12px;box-shadow:var(--ink-shadow)}.home-grid{width:100%;max-width:1000px;display:grid;grid-template-columns:1fr;gap:var(--gap);margin-top:20px}.home-card{text-decoration:none;color:#000;background:radial-gradient(110% 90% at 50% -30%,rgba(255,255,255,.85),transparent 60%) no-repeat,linear-gradient(180deg,#fffde7,#00a2e8 92%);border:var(--simpson-stroke, 3px) solid var(--simpson-outline, #151515);border-radius:var(--simpson-card-radius, 16px);padding:18px 16px;box-shadow:var(--ink-shadow, 0 6px 0 rgba(0, 0, 0, .35));filter:url(#cartoon-outline);transition:transform .2s ease,box-shadow .2s ease;position:relative;overflow:hidden;will-change:transform,opacity,filter}.home-card:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(110% 90% at 50% -30%,rgba(255,255,255,.9),transparent 60%) no-repeat,var(--simpson-yellow);opacity:0;transition:opacity .22s ease;z-index:0;pointer-events:none}.home-card>*{position:relative;z-index:1}.home-card h2{font-family:Luckiest Guy,cursive;font-size:var(--fz-h2);margin:4px 0 8px;text-shadow:2px 2px var(--simpson-yellow)}.home-card p{font-family:Righteous,sans-serif;font-size:.95rem;line-height:1.45}.home-card:hover{transform:translateY(-4px) rotate(-1deg)}.home-card:hover:after{opacity:1}.home-card:focus-visible{outline:none;box-shadow:0 0 0 3px #fff,0 0 0 6px var(--simpson-blue, #00A2E8),var(--ink-shadow, 0 6px 0 rgba(0, 0, 0, .35));transform:translateY(-2px)}@keyframes simpsonsCardIn{0%{opacity:0;transform:translateY(14px) scale(.96) rotate(-.6deg);filter:blur(1px)}60%{opacity:1;transform:translateY(-2px) scale(1.02) rotate(.25deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0);filter:blur(0)}}.home-grid>.home-card{opacity:0;animation:simpsonsCardIn 1.32s cubic-bezier(.22,1,.36,1) both}.home-grid>.home-card:nth-child(1){animation-delay:80ms}.home-grid>.home-card:nth-child(2){animation-delay:.16s}.home-grid>.home-card:nth-child(3){animation-delay:.24s}@media (prefers-reduced-motion: reduce){.home-grid>.home-card{animation:none!important;opacity:1}}.home-grid>.home-card h2{display:inline-flex;align-items:center;gap:8px}.home-footer{margin-top:36px;font-family:Righteous,sans-serif;font-size:.95rem;color:#000;text-shadow:1px 1px var(--simpson-yellow)}@media (min-width:600px){.home-subtitle{font-size:1rem;padding:12px 16px}}@media (min-width:768px){.home-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}@media (min-width:992px){.home-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.cloud-reveal{position:fixed;inset:0;z-index:9999;overflow:hidden;background:linear-gradient(180deg,var(--simpson-sky, #87CEEB),#b8e9ff 70%);display:flex;align-items:center;justify-content:center;pointer-events:none}.cloud-img{position:absolute;top:50%;width:90vw;height:auto;filter:drop-shadow(0 8px 0 rgba(0,0,0,.35));transform:translateY(-50%) scale(1.1);opacity:1;z-index:2}.cloud-left{left:50%;animation:moveLeft 3.5s cubic-bezier(.4,0,.2,1) forwards}.cloud-right{right:50%;animation:moveRight 3.5s cubic-bezier(.4,0,.2,1) forwards}.sun-glow{position:absolute;width:70vmin;height:auto;opacity:0;transform:scale(.9);filter:blur(12px) brightness(.8);animation:glowUp 2.8s ease-out 1.2s forwards;z-index:1}@keyframes moveLeft{0%{transform:translate(-60%,-50%) scale(1.05);opacity:1}70%{transform:translate(-150%,-50%) scale(1)}to{transform:translate(-180%,-50%) scale(1);opacity:0;filter:blur(20px)}}@keyframes moveRight{0%{transform:translate(60%,-50%) scale(1.05);opacity:1}70%{transform:translate(150%,-50%) scale(1)}to{transform:translate(180%,-50%) scale(1);opacity:0;filter:blur(20px)}}@keyframes glowUp{0%{opacity:0;transform:scale(.9);filter:blur(12px) brightness(.8)}40%{opacity:.6;filter:blur(5px) brightness(1)}70%{opacity:.85;filter:blur(0px) brightness(1.05)}to{opacity:1;transform:scale(1.05);filter:blur(0) brightness(1.1)}}@media (prefers-reduced-motion: reduce){.cloud-reveal{display:none}}.cloud-reveal-lite{position:fixed;inset:0;z-index:9998;overflow:hidden;background:linear-gradient(180deg,var(--simpson-sky, #87CEEB),#b8e9ff 70%);display:flex;align-items:center;justify-content:center;pointer-events:none}.cloud-lite-img{position:absolute;top:50%;width:90vw;height:auto;filter:drop-shadow(0 8px 0 rgba(0,0,0,.35));transform:translateY(-50%) scale(1.06);opacity:1;z-index:2}.cloud-lite-left{left:50%;animation:moveLiteLeft var(--cloud-lite-duration, 1.4s) cubic-bezier(.4,0,.2,1) forwards}.cloud-lite-right{right:50%;animation:moveLiteRight var(--cloud-lite-duration, 1.4s) cubic-bezier(.4,0,.2,1) forwards}@keyframes moveLiteLeft{0%{transform:translate(-55%,-50%) scale(1.02);opacity:1}70%{transform:translate(-140%,-50%) scale(1)}to{transform:translate(-170%,-50%) scale(1);opacity:0;filter:blur(12px)}}@keyframes moveLiteRight{0%{transform:translate(55%,-50%) scale(1.02);opacity:1}70%{transform:translate(140%,-50%) scale(1)}to{transform:translate(170%,-50%) scale(1);opacity:0;filter:blur(12px)}}@media (prefers-reduced-motion: reduce){.cloud-reveal-lite{display:none}}.site-footer{margin-top:24px;padding:clamp(12px,3vw,18px) clamp(10px,3vw,14px) clamp(18px,4vw,26px);background:radial-gradient(120% 90% at 50% -20%,rgba(255,255,255,.7),transparent 60%) no-repeat,url(https://thesimpsonsapi.com/clouds-bg.jpg) center/cover no-repeat,linear-gradient(180deg,var(--simpson-sky, #87CEEB) 0%,#cbeeff 85%) no-repeat;box-shadow:inset 0 0 0 var(--simpson-stroke, 3px) var(--simpson-outline, #151515)}.footer-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:16px;background:#b4ecf3;border:var(--simpson-stroke, 3px) solid var(--simpson-outline, #151515);border-radius:18px;box-shadow:var(--ink-shadow, 0 6px 0 rgba(0, 0, 0, .35));padding:clamp(12px,2.5vw,16px);justify-items:center}.author-figure{width:120px;height:120px;border-radius:16px;border:var(--simpson-stroke, 3px) solid var(--simpson-outline, #151515);background:linear-gradient(135deg,#fff59d,#fbc02d);overflow:hidden;box-shadow:var(--ink-shadow, 0 6px 0 rgba(0, 0, 0, .35));margin:4px auto 0}.author-figure img{width:100%;height:100%;object-fit:cover;display:block}.author-fallback{display:grid;place-items:center;width:120px;height:120px;font-family:Luckiest Guy,cursive;color:#000}.author-meta{display:grid;gap:8px;text-align:center}.author-title{margin:0;font-size:clamp(1.1rem,2.8vw,1.4rem);text-shadow:2px 2px var(--simpson-yellow, #FFD90F)}.author-note{margin:0;font-family:Righteous,sans-serif;color:#222}.author-links{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0;justify-content:center}.author-links a{display:inline-block;padding:8px 12px;border:var(--simpson-stroke, 3px) solid var(--simpson-outline, #151515);border-radius:999px;background:var(--simpson-yellow, #FFD90F);color:#000;font-family:Righteous,sans-serif;font-weight:800;text-decoration:none;box-shadow:var(--ink-shadow, 0 6px 0 rgba(0, 0, 0, .35));transition:transform .12s ease,background .12s ease}.author-links a:hover{transform:translateY(-2px);background:var(--simpson-blue, #00A2E8);color:#fff}@media (min-width: 680px){.footer-inner{grid-template-columns:auto 1fr auto;align-items:center;justify-items:stretch}.author-figure,.author-fallback{width:160px;height:160px;margin:0}.author-meta{text-align:left}.author-links{justify-content:flex-start}}
