*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root,[data-theme=dark]{--color-bg: #0d0d0d;--color-surface: #1a1a1a;--color-surface-raised: #242424;--color-border: rgba(255, 255, 255, .08);--color-text-primary: #f0f0f0;--color-text-secondary: #a0a0a0;--color-text-muted: #606060;--color-accent: #01b4e4;--color-accent-hover: #0898c2;--color-accent-text: #000000;--color-error: #e85d4a;--color-error-bg: rgba(232, 93, 74, .12);--nav-logo-font: 700 1.2rem/1 system-ui, sans-serif;--login-logo-size: 1.75rem;color-scheme:dark}[data-theme=taytay]{--color-bg: #fdf6ee;--color-surface: #ffffff;--color-surface-raised: #fff8f0;--color-border: rgba(210, 140, 60, .18);--color-text-primary: #2a1a0e;--color-text-secondary: #7a4e2a;--color-text-muted: #b89070;--color-accent: #e8621a;--color-accent-hover: #c94f10;--color-accent-text: #ffffff;--color-error: #c0392b;--color-error-bg: rgba(192, 57, 43, .1);--color-mint: #3db88a;--color-mint-light: #e6f8f2;--color-gold: #c8972a;--color-gold-light: #fff3d6;--color-shimmer: #b8a9c9;--color-champagne: #f5e6c8;--nav-logo-font: 700 1.2rem/1 Georgia, serif;--login-logo-size: 2rem;color-scheme:light}html,body,#root{height:100%;background:var(--color-bg);color:var(--color-text-primary);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5;transition:background .25s,color .25s}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}img{display:block;max-width:100%}h1,h2,h3{line-height:1.2}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.app-layout{display:flex;flex-direction:column;min-height:100vh}.app-nav{height:60px;display:flex;align-items:center;gap:1.25rem;padding:0 1.25rem;background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100;transition:background .25s,border-color .25s}[data-theme=taytay] .app-nav{border-bottom-color:#c8972a40;background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-nav-logo{font:var(--nav-logo-font);color:var(--color-accent);letter-spacing:-.3px;flex-shrink:0}[data-theme=taytay] .app-nav-logo{background:linear-gradient(135deg,#e8621a,#c8972a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-nav-links{display:flex;gap:1.25rem;flex-shrink:0}.app-nav-links a{font-size:.9rem;color:var(--color-text-secondary);transition:color .15s;white-space:nowrap}.app-nav-links a:hover,.app-nav-links a.active{color:var(--color-text-primary)}[data-theme=taytay] .app-nav-links a:hover,[data-theme=taytay] .app-nav-links a.active{color:var(--color-accent)}.app-nav-search-wrap{flex:1;min-width:0}.app-nav-user{display:flex;align-items:center;gap:.6rem;flex-shrink:0}.app-nav-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}[data-theme=taytay] .app-nav-avatar{border:2px solid var(--color-gold)}.app-nav-avatar-placeholder{width:32px;height:32px;border-radius:50%;background:var(--color-surface-raised);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;color:var(--color-text-secondary);flex-shrink:0}[data-theme=taytay] .app-nav-avatar-placeholder{background:var(--color-gold-light);border-color:var(--color-gold);color:var(--color-gold)}.app-nav-username{font-size:.875rem;color:var(--color-text-secondary);white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}.app-nav-logout{font-size:.8rem;color:var(--color-text-muted);padding:4px 10px;border:1px solid var(--color-border);border-radius:6px;white-space:nowrap;transition:color .15s,border-color .15s}.app-nav-logout:hover{color:var(--color-text-primary);border-color:#fff3}[data-theme=taytay] .app-nav-logout:hover{color:var(--color-accent);border-color:var(--color-accent)}.app-nav-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;padding:6px;border-radius:6px;margin-left:auto;flex-shrink:0}.app-nav-hamburger span{display:block;height:2px;width:100%;background:var(--color-text-primary);border-radius:2px;transition:transform .2s,opacity .2s}.app-nav-hamburger--open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.app-nav-hamburger--open span:nth-child(2){opacity:0}.app-nav-hamburger--open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-drawer{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.mobile-drawer-panel{position:absolute;top:60px;right:0;bottom:0;width:min(320px,100vw);background:var(--color-surface);border-left:1px solid var(--color-border);display:flex;flex-direction:column;overflow-y:auto;animation:slideIn .2s ease}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.mobile-drawer-user{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1.25rem 1rem;border-bottom:1px solid var(--color-border)}.mobile-drawer-username{font-size:.95rem;font-weight:600;color:var(--color-text-primary)}.mobile-drawer-handle{font-size:.8rem;color:var(--color-text-muted);margin-top:2px}.mobile-drawer-search{padding:1rem 1.25rem;border-bottom:1px solid var(--color-border)}.mobile-drawer-links{display:flex;flex-direction:column;padding:.5rem 0;flex:1}.mobile-drawer-link{padding:.875rem 1.25rem;font-size:.95rem;color:var(--color-text-secondary);transition:background .1s,color .1s;border-left:3px solid transparent}.mobile-drawer-link:hover{background:var(--color-surface-raised);color:var(--color-text-primary)}.mobile-drawer-link.active{color:var(--color-accent);border-left-color:var(--color-accent);background:var(--color-surface-raised)}.mobile-drawer-footer{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-top:1px solid var(--color-border)}.app-main{flex:1;padding:2rem 1.5rem;max-width:1280px;width:100%;margin:0 auto}.auth-layout{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:var(--color-bg);transition:background .25s}[data-theme=taytay] .auth-layout{background-image:radial-gradient(circle at 20% 30%,rgba(232,98,26,.06) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(61,184,138,.07) 0%,transparent 50%)}.login-page{width:100%;display:flex;justify-content:center}.login-card{width:100%;max-width:400px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:2.5rem 2rem;display:flex;flex-direction:column;gap:1.25rem;transition:background .25s,border-color .25s}[data-theme=taytay] .login-card{border-color:#c8972a4d;box-shadow:0 4px 32px #e8621a14}.login-logo{display:flex;flex-direction:column;gap:4px}.login-logo-text{font-size:var(--login-logo-size, 1.75rem);font-weight:700;color:var(--color-accent);letter-spacing:-.5px}[data-theme=taytay] .login-logo-text{font-family:Georgia,serif;background:linear-gradient(135deg,#e8621a,#c8972a,#e8621a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-logo-sub{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em}[data-theme=taytay] .login-logo-sub{color:var(--color-mint);letter-spacing:.12em}.login-description{font-size:.9rem;color:var(--color-text-secondary);line-height:1.6}.login-error{background:var(--color-error-bg);color:var(--color-error);border:1px solid rgba(232,93,74,.25);border-radius:6px;padding:.75rem 1rem;font-size:.875rem}.login-button{width:100%;padding:.8rem 1.5rem;background:var(--color-accent);color:var(--color-accent-text);font-size:.95rem;font-weight:600;border-radius:10px;transition:background .15s,opacity .15s,transform .1s}.login-button:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-1px)}.login-button:disabled{opacity:.5;cursor:not-allowed}[data-theme=taytay] .login-button{background:linear-gradient(135deg,#e8621a,#c8972a);font-family:Georgia,serif}[data-theme=taytay] .login-button:hover:not(:disabled){background:linear-gradient(135deg,#c94f10,#b08020)}.login-disclaimer{font-size:.78rem;color:var(--color-text-muted);line-height:1.5;text-align:center}.theme-toggle{display:flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--color-border);border-radius:20px;font-size:.8rem;color:var(--color-text-secondary);background:var(--color-surface-raised);transition:all .15s;white-space:nowrap}.theme-toggle:hover{color:var(--color-text-primary);border-color:var(--color-accent)}[data-theme=taytay] .theme-toggle{border-color:var(--color-gold);color:var(--color-gold);background:var(--color-gold-light)}[data-theme=taytay] .theme-toggle:hover{background:var(--color-champagne)}.theme-toggle-icon{font-size:14px;line-height:1;width:20px;height:20px;object-fit:cover;border-radius:50%;vertical-align:middle}.spinner-wrap{display:flex;align-items:center;justify-content:center;padding:2rem;color:var(--color-text-muted)}.spinner{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.rating-badge{font-size:.7rem;font-weight:700;padding:2px 6px;border-radius:4px;letter-spacing:.02em}.rating-badge--good{background:#1db954;color:#000}.rating-badge--ok{background:#f5a623;color:#000}.rating-badge--poor{background:#e85d4a;color:#fff}.media-card{display:flex;flex-direction:column;flex-shrink:0;width:140px;text-decoration:none;transition:transform .18s,opacity .18s}.media-card:hover{transform:translateY(-4px);opacity:.92}.media-card-poster{position:relative;width:140px;height:210px;border-radius:8px;overflow:hidden;background:var(--color-surface-raised)}[data-theme=taytay] .media-card-poster{border:1px solid rgba(200,151,42,.2)}.media-card-img{width:100%;height:100%;object-fit:cover;display:block}.media-card-rating{position:absolute;bottom:6px;left:6px}.media-card-info{padding:6px 2px 0}.media-card-title{font-size:.82rem;font-weight:500;color:var(--color-text-primary);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.media-card-subtitle{font-size:.75rem;color:var(--color-text-muted);margin-top:2px}.shelf{margin-bottom:2.5rem}.shelf-title{font-size:1.1rem;font-weight:600;color:var(--color-text-primary);margin-bottom:1rem}[data-theme=taytay] .shelf-title{font-family:Georgia,serif;color:var(--color-accent)}.shelf-track{display:flex;gap:12px;overflow-x:auto;padding-bottom:12px;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;margin:0 -4px;padding-left:4px;padding-right:4px}.shelf-track::-webkit-scrollbar{height:4px}.shelf-track::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.shelf-state{display:flex;align-items:center;justify-content:center;height:120px;color:var(--color-text-muted);font-size:.875rem}.shelf-state--error{color:var(--color-error)}.hero{position:relative;width:100%;height:480px;background-image:var(--hero-bg);background-size:cover;background-position:center 20%;background-color:var(--color-surface);overflow:hidden}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to right,rgba(0,0,0,.85) 0%,rgba(0,0,0,.5) 50%,transparent 100%)}[data-theme=taytay] .hero-overlay{background:linear-gradient(to right,rgba(42,26,14,.82) 0%,rgba(42,26,14,.45) 55%,transparent 100%)}.hero-content{position:absolute;bottom:2.5rem;left:2rem;max-width:520px;z-index:1}.hero-label{font-size:.78rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);margin-bottom:.5rem}.hero-title{font-size:clamp(1.4rem,4vw,2.8rem);font-weight:700;color:#fff;line-height:1.1;margin-bottom:.75rem;text-shadow:0 2px 8px rgba(0,0,0,.5)}[data-theme=taytay] .hero-title{font-family:Georgia,serif}.hero-overview{font-size:.9rem;color:#fffc;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.home .hero{margin:-2rem -1.5rem 0;width:calc(100% + 3rem);max-width:none}.home-content{padding-top:2rem}.home-greeting{font-size:1.4rem;font-weight:600;color:var(--color-text-primary);margin-bottom:1.75rem}[data-theme=taytay] .home-greeting{font-family:Georgia,serif;color:var(--color-accent)}.detail-loading,.detail-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1rem;color:var(--color-text-secondary)}.detail-back{color:var(--color-accent);font-size:.9rem}.detail-hero{margin:-2rem -1.5rem 0;width:calc(100% + 3rem);background-image:var(--detail-backdrop);background-size:cover;background-position:center 15%;background-color:var(--color-surface);position:relative;min-height:460px;display:flex;align-items:flex-end}.detail-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,var(--color-bg) 0%,rgba(0,0,0,.7) 40%,rgba(0,0,0,.3) 100%)}[data-theme=taytay] .detail-hero-overlay{background:linear-gradient(to top,var(--color-bg) 0%,rgba(42,26,14,.75) 40%,rgba(42,26,14,.2) 100%)}.detail-hero-content{position:relative;z-index:1;display:flex;gap:2rem;padding:2rem 2rem 2.5rem;align-items:flex-end;width:100%;max-width:1280px;margin:0 auto}.detail-poster{flex-shrink:0;width:160px;border-radius:10px;box-shadow:0 8px 32px #00000080;display:none}[data-theme=taytay] .detail-poster{border:2px solid rgba(200,151,42,.4)}.detail-meta{flex:1;min-width:0}.detail-genres{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:.75rem}.genre-pill{font-size:.72rem;font-weight:500;padding:3px 10px;border-radius:20px;background:#ffffff1f;color:#ffffffd9;border:1px solid rgba(255,255,255,.15);text-transform:uppercase;letter-spacing:.06em}[data-theme=taytay] .genre-pill{background:#e8621a26;color:var(--color-accent);border-color:#e8621a4d}.detail-title{font-size:clamp(1.4rem,4vw,2.6rem);font-weight:700;color:#fff;line-height:1.1;margin-bottom:.4rem;text-shadow:0 2px 8px rgba(0,0,0,.4)}[data-theme=taytay] .detail-title{font-family:Georgia,serif}.detail-tagline{font-size:.95rem;color:#fff9;font-style:italic;margin-bottom:.6rem}.detail-facts{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:.85rem;color:#ffffffb3;margin-bottom:.75rem}.detail-facts>span:not(:last-child):after{content:"·";margin-left:10px;opacity:.4}.detail-votes{font-size:.78rem;opacity:.6}.detail-overview{font-size:.92rem;color:#ffffffd1;line-height:1.7;max-width:640px;margin-bottom:1.25rem;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.detail-actions{display:flex;gap:.75rem;flex-wrap:wrap}.detail-body{padding-top:2.5rem}.section-heading{font-size:1.1rem;font-weight:600;color:var(--color-text-primary);margin-bottom:1rem}[data-theme=taytay] .section-heading{font-family:Georgia,serif;color:var(--color-accent)}.trailer-button{display:inline-flex;align-items:center;gap:8px;padding:.6rem 1.25rem;background:var(--color-accent);color:var(--color-accent-text);border-radius:8px;font-size:.9rem;font-weight:600;transition:background .15s,transform .1s}.trailer-button:hover{background:var(--color-accent-hover);transform:translateY(-1px)}[data-theme=taytay] .trailer-button{background:linear-gradient(135deg,#e8621a,#c8972a)}[data-theme=taytay] .trailer-button:hover{background:linear-gradient(135deg,#c94f10,#b08020)}.trailer-button-icon{font-size:.75rem}.cast-scroller{margin-bottom:2.5rem}.cast-track{display:flex;gap:12px;overflow-x:auto;padding-bottom:10px;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.cast-track::-webkit-scrollbar{height:4px}.cast-track::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.cast-card{flex-shrink:0;width:90px;text-decoration:none;transition:transform .15s,opacity .15s}.cast-card:hover{transform:translateY(-3px);opacity:.85}.cast-card-img-wrap{width:90px;height:90px;border-radius:50%;overflow:hidden;background:var(--color-surface-raised);margin-bottom:6px}[data-theme=taytay] .cast-card-img-wrap{border:2px solid rgba(200,151,42,.25)}.cast-card-img{width:100%;height:100%;object-fit:cover;object-position:top}.cast-card-name{font-size:.75rem;font-weight:500;color:var(--color-text-primary);text-align:center;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cast-card-role{font-size:.68rem;color:var(--color-text-muted);text-align:center;margin-top:2px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.provider-grid{margin-bottom:2.5rem}.provider-tmdb-link{display:inline-block;font-size:.78rem;color:var(--color-accent);margin-bottom:.75rem}.provider-rows{display:flex;flex-direction:column;gap:10px}.provider-row{display:flex;align-items:center;gap:12px}.provider-row-label{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;width:44px;flex-shrink:0}.provider-logos{display:flex;flex-wrap:wrap;gap:8px}.provider-logo{width:36px;height:36px;border-radius:8px;object-fit:cover}[data-theme=taytay] .provider-logo{border:1px solid rgba(200,151,42,.2)}.searchbar{position:relative;flex:1;max-width:380px}.searchbar-form{display:flex;align-items:center;gap:6px;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:8px;padding:0 10px;transition:border-color .15s,box-shadow .15s}.searchbar-form:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 2px #01b4e41f}[data-theme=taytay] .searchbar-form:focus-within{box-shadow:0 0 0 2px #e8621a1f}.searchbar-icon{color:var(--color-text-muted);display:flex;align-items:center;flex-shrink:0}.searchbar-input{flex:1;background:none;border:none;outline:none;font-size:.875rem;color:var(--color-text-primary);padding:8px 0;min-width:0}.searchbar-input::placeholder{color:var(--color-text-muted)}.searchbar-input::-webkit-search-cancel-button{display:none}.searchbar-clear{color:var(--color-text-muted);font-size:1.1rem;line-height:1;padding:2px 4px;border-radius:4px;transition:color .1s;flex-shrink:0}.searchbar-clear:hover{color:var(--color-text-primary)}.searchbar-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;box-shadow:0 8px 32px #00000040;overflow:hidden;z-index:200}[data-theme=taytay] .searchbar-dropdown{border-color:#c8972a40;box-shadow:0 8px 32px #e8621a1a}.searchbar-dropdown-state{padding:1rem;font-size:.85rem;color:var(--color-text-muted);text-align:center}.searchbar-result-row{width:100%;display:flex;align-items:center;gap:10px;padding:8px 12px;text-align:left;transition:background .1s;border-bottom:1px solid var(--color-border)}.searchbar-result-row:last-of-type{border-bottom:none}.searchbar-result-row:hover{background:var(--color-surface-raised)}.searchbar-result-img{width:36px;height:54px;object-fit:cover;border-radius:4px;flex-shrink:0;background:var(--color-surface-raised)}.searchbar-result-img--round{width:36px;height:36px;border-radius:50%;object-position:top}.searchbar-result-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.searchbar-result-title{font-size:.85rem;font-weight:500;color:var(--color-text-primary);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.searchbar-result-sub{font-size:.75rem;color:var(--color-text-muted)}.searchbar-result-type{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-accent);flex-shrink:0}.searchbar-see-all{width:100%;padding:10px 12px;font-size:.82rem;color:var(--color-accent);text-align:center;background:var(--color-surface-raised);border-top:1px solid var(--color-border);transition:background .1s}.searchbar-see-all:hover{background:var(--color-surface)}.search-page{padding-top:.5rem}.search-header{margin-bottom:1.25rem}.search-title{font-size:1.4rem;font-weight:600;color:var(--color-text-primary)}[data-theme=taytay] .search-title{font-family:Georgia,serif}.search-title em{font-style:italic;color:var(--color-accent)}.search-count{font-size:.85rem;color:var(--color-text-muted);margin-top:4px}.search-tabs{display:flex;gap:4px;border-bottom:1px solid var(--color-border);margin-bottom:1.5rem;overflow-x:auto}.search-tab{padding:8px 16px;font-size:.875rem;font-weight:500;color:var(--color-text-secondary);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s;border-radius:4px 4px 0 0;white-space:nowrap}.search-tab:hover{color:var(--color-text-primary)}.search-tab--active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.search-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:16px 12px}.search-state{display:flex;align-items:center;justify-content:center;min-height:240px;color:var(--color-text-muted);font-size:.9rem}.search-state--error{color:var(--color-error)}.search-empty{display:flex;align-items:center;justify-content:center;min-height:40vh;color:var(--color-text-muted);font-size:.95rem;text-align:center;padding:2rem}.search-pagination{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-top:3rem;padding-bottom:2rem}.search-page-btn{padding:8px 20px;border:1px solid var(--color-border);border-radius:8px;font-size:.875rem;color:var(--color-text-primary);background:var(--color-surface);transition:background .15s,border-color .15s}.search-page-btn:hover:not(:disabled){background:var(--color-surface-raised);border-color:var(--color-accent)}.search-page-btn:disabled{opacity:.35;cursor:not-allowed}[data-theme=taytay] .search-page-btn:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.search-page-info{font-size:.85rem;color:var(--color-text-muted)}@media (max-width: 768px){.app-nav-links,.app-nav-search-wrap,.app-nav-user{display:none}.app-nav-hamburger{display:flex}.app-main{padding:1.25rem 1rem}.hero{height:360px}.hero-content{left:1.25rem;bottom:1.5rem;max-width:80%}.home .hero{margin:-1.25rem -1rem 0;width:calc(100% + 2rem)}.home-greeting{font-size:1.2rem;margin-bottom:1.25rem}.detail-hero{min-height:360px}.detail-hero-content{padding:1.5rem 1.25rem 2rem;gap:1.25rem}.detail-hero{margin:-1.25rem -1rem 0;width:calc(100% + 2rem)}.search-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px 8px}.media-card{width:120px}.media-card-poster{width:120px;height:180px}.shelf-title{font-size:1rem}}@media (max-width: 480px){.app-main{padding:1rem .875rem}.hero{height:280px}.hero-content{left:1rem;bottom:1rem;right:1rem;max-width:100%}.hero-overview{display:none}.home .hero{margin:-1rem -.875rem 0;width:calc(100% + 1.75rem)}.home-greeting{font-size:1.1rem;margin-bottom:1rem}.detail-hero{min-height:auto}.detail-hero-content{flex-direction:column;align-items:flex-start;padding:1rem .875rem 1.5rem;gap:1rem}.detail-hero{margin:-1rem -.875rem 0;width:calc(100% + 1.75rem)}.detail-poster{display:block;width:100px}.detail-overview{-webkit-line-clamp:3}.detail-body{padding-top:1.5rem}.media-card{width:105px}.media-card-poster{width:105px;height:158px}.search-grid{grid-template-columns:repeat(auto-fill,minmax(95px,1fr));gap:10px 6px}.shelf{margin-bottom:1.75rem}.shelf-track{gap:8px}.cast-card{width:72px}.cast-card-img-wrap{width:72px;height:72px}.search-title{font-size:1.1rem}.search-pagination{gap:.75rem}.search-page-btn{padding:7px 14px;font-size:.8rem}.login-card{padding:2rem 1.25rem}.mobile-drawer-panel{width:100vw;border-left:none}}@media (min-width: 600px){.detail-poster{display:block}}.watchlist-btn--sm{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#000000a6;border:1.5px solid rgba(255,255,255,.25);color:#fff;font-size:1rem;line-height:1;transition:background .15s,border-color .15s,transform .1s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.watchlist-btn--sm:hover:not(:disabled){background:#000000d9;border-color:var(--color-accent);transform:scale(1.1)}.watchlist-btn--sm.watchlist-btn--active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-text)}[data-theme=taytay] .watchlist-btn--sm.watchlist-btn--active{background:linear-gradient(135deg,#e8621a,#c8972a);border-color:#e8621a}.watchlist-btn--md{display:inline-flex;align-items:center;gap:7px;padding:.55rem 1.1rem;border:1.5px solid var(--color-border);border-radius:8px;font-size:.875rem;font-weight:500;color:var(--color-text-secondary);background:var(--color-surface);transition:all .15s}.watchlist-btn--md:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.watchlist-btn--md.watchlist-btn--active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-text)}.watchlist-btn--lg{display:inline-flex;align-items:center;gap:8px;padding:.6rem 1.25rem;border:2px solid rgba(255,255,255,.4);border-radius:8px;font-size:.9rem;font-weight:600;color:#fff;background:#ffffff1f;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:all .15s}.watchlist-btn--lg:hover:not(:disabled){background:#fff3;border-color:#ffffffb3;transform:translateY(-1px)}.watchlist-btn--lg.watchlist-btn--active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-text)}[data-theme=taytay] .watchlist-btn--lg.watchlist-btn--active{background:linear-gradient(135deg,#e8621a,#c8972a);border-color:#e8621a}.watchlist-btn--pending{opacity:.7;cursor:not-allowed}.watchlist-btn-icon--spin{display:inline-block;animation:spin .6s linear infinite}.watchlist-btn-icon{font-style:normal;line-height:1}.watchlist-btn-label{line-height:1}.media-card-watchlist{position:absolute;top:6px;right:6px;opacity:0;transition:opacity .15s}.media-card:hover .media-card-watchlist,.media-card:focus-within .media-card-watchlist{opacity:1}@media (hover: none){.media-card-watchlist{opacity:1}}.wl-page{padding-top:.5rem}.wl-header{margin-bottom:1.5rem}.wl-title{font-size:1.6rem;font-weight:700;color:var(--color-text-primary)}[data-theme=taytay] .wl-title{font-family:Georgia,serif;color:var(--color-accent)}.wl-count{font-size:.875rem;color:var(--color-text-muted);margin-top:4px}.wl-tabs{display:flex;gap:4px;border-bottom:1px solid var(--color-border);margin-bottom:1.75rem}.wl-tab{display:flex;align-items:center;gap:8px;padding:8px 18px;font-size:.9rem;font-weight:500;color:var(--color-text-secondary);border-bottom:2px solid transparent;margin-bottom:-1px;border-radius:4px 4px 0 0;transition:color .15s,border-color .15s}.wl-tab:hover{color:var(--color-text-primary)}.wl-tab--active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.wl-tab-count{font-size:.72rem;font-weight:700;padding:1px 7px;border-radius:10px;background:var(--color-surface-raised);color:var(--color-text-muted);border:1px solid var(--color-border)}.wl-tab--active .wl-tab-count{background:var(--color-accent);color:var(--color-accent-text);border-color:var(--color-accent)}.wl-list{display:flex;flex-direction:column;gap:12px}.wl-card{display:flex;align-items:stretch;gap:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;overflow:hidden;position:relative;transition:border-color .15s,box-shadow .15s}.wl-card:hover{border-color:var(--color-accent);box-shadow:0 4px 16px #00000026}[data-theme=taytay] .wl-card:hover{border-color:var(--color-gold);box-shadow:0 4px 16px #c8972a1f}.wl-card-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;opacity:.08;pointer-events:none}.wl-card-backdrop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-surface);opacity:.85}.wl-card-poster-wrap{flex-shrink:0;position:relative;z-index:1;display:block}.wl-card-poster{width:80px;height:120px;object-fit:cover;display:block}.wl-card-info{flex:1;min-width:0;padding:.875rem 1rem;position:relative;z-index:1;display:flex;flex-direction:column;gap:4px;justify-content:center}.wl-card-meta{display:flex;align-items:center;gap:8px;margin-bottom:2px}.wl-card-year{font-size:.78rem;color:var(--color-text-muted)}.wl-card-title{font-size:1rem;font-weight:600;color:var(--color-text-primary);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .15s}.wl-card-title:hover{color:var(--color-accent)}[data-theme=taytay] .wl-card-title{font-family:Georgia,serif}.wl-card-overview{font-size:.82rem;color:var(--color-text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:2px}.wl-card-actions{flex-shrink:0;display:flex;align-items:center;padding:0 1rem;position:relative;z-index:1}.wl-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 2rem;gap:.75rem}.wl-empty-title{font-size:1.1rem;font-weight:600;color:var(--color-text-primary)}[data-theme=taytay] .wl-empty-title{font-family:Georgia,serif}.wl-empty-sub{font-size:.9rem;color:var(--color-text-muted)}.wl-empty-cta{margin-top:.5rem;display:inline-flex;align-items:center;padding:.6rem 1.25rem;background:var(--color-accent);color:var(--color-accent-text);border-radius:8px;font-size:.9rem;font-weight:600;transition:background .15s}.wl-empty-cta:hover{background:var(--color-accent-hover)}[data-theme=taytay] .wl-empty-cta{background:linear-gradient(135deg,#e8621a,#c8972a)}.wl-error{padding:1.5rem;color:var(--color-error);background:var(--color-error-bg);border-radius:8px;font-size:.9rem}@media (max-width: 480px){.wl-card-overview{display:none}.wl-card-poster{width:64px;height:96px}.wl-card-info{padding:.75rem}.wl-card-actions{padding:0 .75rem}.wl-card-title{font-size:.9rem}}.status-badge{font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.05em;background:#ffffff26;color:#ffffffd9}.status-badge--returning{background:#1db9544d;color:#1db954}.status-badge--ended{background:#a0a0a033;color:#a0a0a0}.status-badge--canceled{background:#e85d4a40;color:#e85d4a}.detail-networks{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:.6rem}.detail-network{font-size:.75rem;font-weight:500;padding:2px 10px;border-radius:4px;background:#ffffff14;color:#fff9;border:1px solid rgba(255,255,255,.1)}.season-accordion{margin-bottom:2.5rem}.season-item{border:1px solid var(--color-border);border-radius:10px;overflow:hidden;margin-bottom:8px;transition:border-color .15s}.season-item--open{border-color:var(--color-accent)}[data-theme=taytay] .season-item--open{border-color:var(--color-gold)}.season-header{width:100%;display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--color-surface);text-align:left;transition:background .15s}.season-header:hover{background:var(--color-surface-raised)}.season-poster{width:40px;height:60px;border-radius:4px;object-fit:cover;flex-shrink:0;background:var(--color-surface-raised)}.season-header-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.season-name{font-size:.9rem;font-weight:600;color:var(--color-text-primary)}.season-meta{font-size:.78rem;color:var(--color-text-muted)}.season-chevron{font-size:1.1rem;color:var(--color-text-muted);transition:transform .2s;flex-shrink:0;display:inline-block}.season-chevron--open{transform:rotate(180deg)}.season-panel{border-top:1px solid var(--color-border)}.season-panel-state{display:flex;align-items:center;justify-content:center;padding:1.5rem;color:var(--color-text-muted);font-size:.85rem}.season-panel-state--error{color:var(--color-error)}.episode-row{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-bottom:1px solid var(--color-border);transition:background .1s}.episode-row:last-child{border-bottom:none}.episode-row:hover{background:var(--color-surface-raised)}.episode-still-wrap{position:relative;flex-shrink:0}.episode-still{width:120px;height:68px;object-fit:cover;border-radius:6px;background:var(--color-surface-raised);display:block}.episode-num{position:absolute;bottom:4px;left:4px;font-size:.65rem;font-weight:700;background:#000000b3;color:#fff;padding:1px 5px;border-radius:3px}.episode-info{flex:1;min-width:0}.episode-name{font-size:.875rem;font-weight:600;color:var(--color-text-primary);line-height:1.3;margin-bottom:3px}.episode-meta{display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--color-text-muted);margin-bottom:4px}.episode-meta>span:not(:last-child):after{content:"·";margin-left:8px;opacity:.4}.episode-rating{font-weight:700;color:#f5a623}.episode-overview{font-size:.8rem;color:var(--color-text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media (max-width: 480px){.episode-still{width:88px;height:50px}.episode-name{font-size:.82rem}.episode-overview{display:none}}.person-page{padding-top:1rem}.person-hero{display:flex;gap:2rem;align-items:flex-start;margin-bottom:2.5rem}.person-photo-wrap{flex-shrink:0}.person-photo{width:200px;border-radius:12px;object-fit:cover;object-position:top;display:block;background:var(--color-surface-raised)}[data-theme=taytay] .person-photo{border:2px solid rgba(200,151,42,.3)}.person-info{flex:1;min-width:0}.person-name{font-size:clamp(1.6rem,4vw,2.4rem);font-weight:700;color:var(--color-text-primary);line-height:1.1;margin-bottom:.35rem}[data-theme=taytay] .person-name{font-family:Georgia,serif}.person-department{font-size:.9rem;color:var(--color-accent);font-weight:500;margin-bottom:1.25rem;text-transform:uppercase;letter-spacing:.06em}.person-facts{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin-bottom:1.25rem}.person-facts dt{font-size:.78rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;padding-top:1px}.person-facts dd{font-size:.875rem;color:var(--color-text-secondary)}.person-links{display:flex;gap:8px;flex-wrap:wrap}.person-ext-link{font-size:.78rem;font-weight:600;padding:4px 12px;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;transition:border-color .15s,color .15s}.person-ext-link:hover{border-color:var(--color-accent);color:var(--color-accent)}.person-bio{margin-bottom:2.5rem}.person-bio-text{font-size:.9rem;color:var(--color-text-secondary);line-height:1.8;white-space:pre-line}.person-bio-toggle{margin-top:.5rem;font-size:.85rem;color:var(--color-accent);font-weight:500;transition:opacity .15s}.person-bio-toggle:hover{opacity:.75}.person-known-for,.filmography{margin-bottom:2.5rem}.filmography-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem}.filmography-tabs{display:flex;gap:4px}.filmography-tab{display:flex;align-items:center;gap:6px;padding:5px 14px;border:1px solid var(--color-border);border-radius:20px;font-size:.825rem;font-weight:500;color:var(--color-text-secondary);transition:all .15s}.filmography-tab:hover{border-color:var(--color-accent);color:var(--color-accent)}.filmography-tab--active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-text)}.filmography-tab-count{font-size:.7rem;font-weight:700;background:#00000026;border-radius:10px;padding:0 5px;line-height:1.6}.filmography-tab--active .filmography-tab-count{background:#0003}.filmography-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:16px 12px}.credit-card{display:flex;flex-direction:column;text-decoration:none;transition:transform .18s,opacity .18s}.credit-card:hover{transform:translateY(-4px);opacity:.9}.credit-card-poster-wrap{position:relative;width:100%;padding-top:150%;border-radius:8px;overflow:hidden;background:var(--color-surface-raised)}[data-theme=taytay] .credit-card-poster-wrap{border:1px solid rgba(200,151,42,.2)}.credit-card-poster{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.credit-card-rating{position:absolute;bottom:6px;left:6px}.credit-card-info{padding:6px 2px 0}.credit-card-title{font-size:.82rem;font-weight:500;color:var(--color-text-primary);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.credit-card-year{font-size:.72rem;color:var(--color-text-muted);margin-top:2px}.credit-card-role{font-size:.72rem;color:var(--color-text-secondary);margin-top:1px;font-style:italic;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}@media (max-width: 600px){.person-hero{flex-direction:column;align-items:center;text-align:center;gap:1.25rem}.person-photo{width:150px}.person-facts{justify-items:center}.person-links{justify-content:center}.filmography-header{flex-direction:column;align-items:flex-start}.filmography-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px 8px}}@media (max-width: 480px){.person-photo{width:120px}.person-name{font-size:1.5rem}}.browse-page{padding-top:.5rem}.browse-header{margin-bottom:1.25rem}.browse-title{font-size:1.6rem;font-weight:700;color:var(--color-text-primary)}[data-theme=taytay] .browse-title{font-family:Georgia,serif;color:var(--color-accent)}.browse-count{font-size:.85rem;color:var(--color-text-muted);margin-top:4px}.browse-filters{display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.browse-filter-group{display:flex;flex-direction:column;gap:4px}.browse-filter-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-muted)}.browse-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:7px 32px 7px 12px;font-size:.875rem;color:var(--color-text-primary);font-family:inherit;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;transition:border-color .15s;min-width:160px}.browse-select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px #01b4e41f}[data-theme=taytay] .browse-select:focus{box-shadow:0 0 0 2px #e8621a1f}.browse-clear{font-size:.8rem;color:var(--color-text-muted);padding:7px 12px;border:1px solid var(--color-border);border-radius:8px;transition:color .15s,border-color .15s;align-self:flex-end}.browse-clear:hover{color:var(--color-error);border-color:var(--color-error)}.browse-genre-pills{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:1.5rem}.browse-genre-pill{font-size:.78rem;font-weight:500;padding:4px 12px;border-radius:20px;border:1px solid var(--color-border);color:var(--color-text-secondary);background:var(--color-surface);transition:all .15s;white-space:nowrap}.browse-genre-pill:hover{border-color:var(--color-accent);color:var(--color-accent)}.browse-genre-pill--active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-text)}[data-theme=taytay] .browse-genre-pill--active{background:linear-gradient(135deg,#e8621a,#c8972a);border-color:#e8621a}.browse-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:20px 12px}.browse-state{display:flex;align-items:center;justify-content:center;min-height:300px;color:var(--color-text-muted);font-size:.9rem}.browse-state--error{color:var(--color-error)}@media (max-width: 768px){.browse-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:16px 10px}.browse-select{min-width:130px}}@media (max-width: 480px){.browse-filters{gap:.75rem}.browse-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px 8px}.browse-genre-pills{gap:4px}.browse-genre-pill{font-size:.72rem;padding:3px 10px}}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.skeleton{background:linear-gradient(90deg,var(--color-surface-raised) 25%,var(--color-border) 50%,var(--color-surface-raised) 75%);background-size:600px 100%;animation:shimmer 1.4s ease-in-out infinite;display:block}.skeleton-text{display:flex;flex-direction:column;gap:8px}.skeleton-card{display:flex;flex-direction:column}.skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:20px 12px}.skeleton-shelf{margin-bottom:2.5rem}.skeleton-detail{margin:-2rem -1.5rem 0;width:calc(100% + 3rem)}.breadcrumbs{margin-bottom:1.25rem}.breadcrumbs-list{display:flex;align-items:center;flex-wrap:wrap;gap:4px;list-style:none}.breadcrumbs-item{display:flex;align-items:center;gap:4px}.breadcrumbs-link{font-size:.8rem;color:var(--color-text-muted);transition:color .15s}.breadcrumbs-link:hover{color:var(--color-accent)}.breadcrumbs-current{font-size:.8rem;color:var(--color-text-secondary);max-width:200px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.breadcrumbs-sep{font-size:.75rem;color:var(--color-text-muted);line-height:1;opacity:.5}.browse-sentinel{display:flex;align-items:center;justify-content:center;padding:2rem 0;min-height:80px}.browse-end{text-align:center;padding:2rem 0;font-size:.85rem;color:var(--color-text-muted)}@media (max-width: 768px){.skeleton-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.skeleton-detail{margin:-1.25rem -1rem 0;width:calc(100% + 2rem)}}@media (max-width: 480px){.skeleton-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.skeleton-detail{margin:-1rem -.875rem 0;width:calc(100% + 1.75rem)}}.hero--skeleton{background:none}.hero--skeleton .skeleton{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;border-radius:0}.page-transition{opacity:0;transform:translateY(8px);transition:opacity .3s ease,transform .3s ease}.page-transition.page-visible{opacity:1;transform:translateY(0)}.hero--cinematic{position:relative;width:100%;height:560px;overflow:hidden;background-color:#000}.hero-zoom-layer{position:absolute;top:-5%;right:-5%;bottom:-5%;left:-5%;background-image:var(--hero-bg);background-size:cover;background-position:center 20%;animation:kenBurns 20s ease-in-out infinite alternate;will-change:transform}@keyframes kenBurns{0%{transform:scale(1)}to{transform:scale(1.08)}}.hero--cinematic .hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.95) 0%,rgba(0,0,0,.4) 40%,transparent 70%),linear-gradient(to right,rgba(0,0,0,.7) 0%,transparent 60%);z-index:1}[data-theme=taytay] .hero--cinematic .hero-overlay{background:linear-gradient(to top,rgba(42,26,14,.97) 0%,rgba(42,26,14,.5) 40%,transparent 70%),linear-gradient(to right,rgba(42,26,14,.75) 0%,transparent 60%)}.hero-content--animated{position:relative;z-index:2;animation:heroFadeUp .8s ease forwards}@keyframes heroFadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.25rem}.hero-btn{display:inline-flex;align-items:center;gap:8px;padding:.7rem 1.5rem;border-radius:6px;font-size:.9rem;font-weight:700;letter-spacing:.02em;transition:all .15s;cursor:pointer;border:none}.hero-btn--primary{background:#fff;color:#000}.hero-btn--primary:hover{background:#ffffffd9;transform:scale(1.03)}.hero-btn--trailer{background:#ffffff2e;color:#fff;border:1.5px solid rgba(255,255,255,.4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hero-btn--trailer:hover{background:#ffffff47;border-color:#ffffffb3;transform:scale(1.03)}[data-theme=taytay] .hero-btn--primary{background:linear-gradient(135deg,#e8621a,#c8972a);color:#fff}[data-theme=taytay] .hero-btn--trailer{border-color:#c8972a99;color:#fff}.hero-scroll-hint{position:absolute;bottom:1.5rem;right:2rem;z-index:2;animation:bounce 2s ease-in-out infinite}.hero-scroll-arrow{font-size:1.25rem;color:#fff6}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@media (max-width: 768px){.hero--cinematic{height:420px}}@media (max-width: 480px){.hero--cinematic{height:320px}.hero-actions{gap:.5rem}.hero-btn{padding:.6rem 1rem;font-size:.82rem}}.trailer-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000eb;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.trailer-modal-container{width:100%;max-width:960px;animation:scaleIn .25s ease}@keyframes scaleIn{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.trailer-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;padding:0 2px}.trailer-modal-title{font-size:1rem;font-weight:600;color:#fffc}.trailer-modal-close{width:36px;height:36px;border-radius:50%;background:#ffffff1a;color:#fff;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:background .15s,transform .15s;border:1px solid rgba(255,255,255,.15)}.trailer-modal-close:hover{background:#fff3;transform:scale(1.1)}.trailer-modal-frame-wrap{position:relative;width:100%;padding-top:56.25%;border-radius:10px;overflow:hidden;background:#000;box-shadow:0 24px 64px #000c}.trailer-modal-frame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:none}.media-card{position:relative;display:flex;flex-direction:column;flex-shrink:0;width:140px;cursor:pointer;transition:transform .25s cubic-bezier(.34,1.56,.64,1),z-index 0s .25s;z-index:1}.media-card--hovered{transform:scale(1.05);z-index:10;transition:transform .25s cubic-bezier(.34,1.56,.64,1),z-index 0s}.media-card-link{display:flex;flex-direction:column;text-decoration:none;color:inherit}.media-card-play-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0000;border-radius:8px 8px 0 0;transition:background .2s;pointer-events:none}.media-card:hover .media-card-play-overlay{background:#00000059}.media-card-play-icon{font-size:1.8rem;color:#fff;opacity:0;transform:scale(.7);transition:opacity .2s,transform .2s;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5));pointer-events:none}.media-card:hover .media-card-play-icon{opacity:1;transform:scale(1)}.shelf-scroll-wrap{position:relative}.shelf-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:40px;height:80px;display:flex;align-items:center;justify-content:center;background:#000000b3;color:#fff;font-size:2rem;line-height:1;border-radius:4px;opacity:0;transition:opacity .2s,background .15s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.08)}.shelf-scroll-wrap:hover .shelf-arrow{opacity:1}.shelf-arrow:hover{background:#000000e6}.shelf-arrow--left{left:0;border-radius:0 6px 6px 0}.shelf-arrow--right{right:0;border-radius:6px 0 0 6px}[data-theme=taytay] .shelf-arrow{background:#fdf6eed9;color:var(--color-accent);border-color:#c8972a33}[data-theme=taytay] .shelf-arrow:hover{background:#fdf6eef2}@media (hover: none){.shelf-arrow{display:none}}.hover-card{border-radius:10px;overflow:hidden;background:var(--color-surface);border:1px solid rgba(255,255,255,.1);box-shadow:0 16px 48px #000000b3,0 4px 12px #00000080;animation:hoverCardIn .2s cubic-bezier(.34,1.56,.64,1);pointer-events:none}@keyframes hoverCardIn{0%{opacity:0;transform:scale(.92) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}[data-theme=taytay] .hover-card{border-color:#c8972a40;box-shadow:0 16px 48px #2a1a0e66,0 4px 12px #c8972a26}.hover-card-backdrop-wrap{position:relative;width:100%;height:170px;overflow:hidden;background:#111}.hover-card-backdrop{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.hover-card-backdrop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.7) 0%,transparent 60%)}.hover-card-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;background:#ffffffe6;color:#000;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:transform .15s,background .15s;pointer-events:all;padding-left:3px}.hover-card-play:hover{transform:translate(-50%,-50%) scale(1.1);background:#fff}.hover-card-body{padding:.875rem}.hover-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:6px}.hover-card-title{font-size:.9rem;font-weight:700;color:var(--color-text-primary);line-height:1.3;flex:1}[data-theme=taytay] .hover-card-title{font-family:Georgia,serif}.hover-card-actions{flex-shrink:0;pointer-events:all}.hover-card-meta{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.hover-card-year{font-size:.78rem;color:var(--color-text-muted)}.hover-card-rating-label{font-size:.68rem;font-weight:700;padding:1px 5px;border:1px solid rgba(255,255,255,.3);border-radius:3px;color:#fff9;text-transform:uppercase}.hover-card-overview{font-size:.78rem;color:var(--color-text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}@media (hover: none),(max-width: 768px){.hover-card{display:none!important}}.hover-card-trailer-icon{font-size:.9rem;line-height:1}.media-card-hover-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000;border-radius:8px 8px 0 0;transition:background .2s;pointer-events:none}.media-card--hovered .media-card-hover-overlay{background:#00000073}.media-card-trailer-btn{position:absolute;bottom:8px;left:50%;transform:translate(-50%) translateY(8px);opacity:0;display:flex;align-items:center;gap:5px;padding:5px 12px;background:#ffffffeb;color:#000;border-radius:20px;font-size:.72rem;font-weight:700;letter-spacing:.03em;white-space:nowrap;transition:opacity .2s,transform .2s,background .15s;pointer-events:none;border:none;cursor:pointer;box-shadow:0 2px 8px #0006}.media-card--hovered .media-card-trailer-btn{opacity:1;transform:translate(-50%) translateY(0);pointer-events:all}.media-card-trailer-btn:hover{background:#fff;transform:translate(-50%) translateY(0) scale(1.05)}[data-theme=taytay] .media-card-trailer-btn{background:linear-gradient(135deg,#e8621a,#c8972a);color:#fff}[data-theme=taytay] .media-card-trailer-btn:hover{background:linear-gradient(135deg,#c94f10,#b08020)}.media-card-trailer-icon{font-size:.65rem;line-height:1}.media-card--hovered .media-card-watchlist{opacity:1}.media-card-play-overlay,.media-card-play-icon{display:none}@media (hover: none){.media-card-trailer-btn,.media-card-hover-overlay{display:none}}.hero-carousel{position:relative;overflow:hidden}.hero-slide{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .7s ease;pointer-events:none}.hero-slide--active{opacity:1;pointer-events:all;position:relative;height:100%}.hero-slide .hero-zoom-layer{position:absolute;top:-5%;right:-5%;bottom:-5%;left:-5%;background-image:var(--hero-bg);background-size:cover;background-position:center 20%;animation:kenBurns 20s ease-in-out infinite alternate;will-change:transform}.hero-slide .hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.95) 0%,rgba(0,0,0,.4) 40%,transparent 70%),linear-gradient(to right,rgba(0,0,0,.7) 0%,transparent 60%);z-index:1}[data-theme=taytay] .hero-slide .hero-overlay{background:linear-gradient(to top,rgba(42,26,14,.97) 0%,rgba(42,26,14,.5) 40%,transparent 70%),linear-gradient(to right,rgba(42,26,14,.75) 0%,transparent 60%)}.hero-slide .hero-content{position:relative;z-index:2;bottom:2.5rem;left:2rem;max-width:520px;position:absolute;bottom:5rem}.hero-nav-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:48px;height:72px;display:flex;align-items:center;justify-content:center;font-size:2.5rem;line-height:1;color:#fff;background:#0006;border:1px solid rgba(255,255,255,.15);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:6px;opacity:0;transition:opacity .2s,background .15s,transform .15s;cursor:pointer}.hero-carousel:hover .hero-nav-btn{opacity:1}.hero-nav-btn:hover{background:#000000b3;transform:translateY(-50%) scale(1.05)}.hero-nav-btn--left{left:1rem}.hero-nav-btn--right{right:1rem}[data-theme=taytay] .hero-nav-btn{background:#fdf6ee80;color:var(--color-accent);border-color:#c8972a4d}[data-theme=taytay] .hero-nav-btn:hover{background:#fdf6eecc}.hero-dots{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:10}.hero-dot{width:8px;height:8px;border-radius:50%;background:#ffffff59;border:none;cursor:pointer;transition:background .2s,transform .2s,width .25s}.hero-dot--active{background:#fff;width:24px;border-radius:4px;transform:none}[data-theme=taytay] .hero-dot--active{background:var(--color-accent)}.hero-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#ffffff26;z-index:10}.hero-progress-bar{height:100%;background:#fff;width:0%;animation:heroProgress var(--duration, 8s) linear forwards}@keyframes heroProgress{0%{width:0%}to{width:100%}}[data-theme=taytay] .hero-progress-bar{background:linear-gradient(to right,#e8621a,#c8972a)}.hero-scroll-hint{display:none}@media (max-width: 768px){.hero-nav-btn{width:36px;height:56px;font-size:1.8rem;opacity:1}.hero-nav-btn--left{left:.5rem}.hero-nav-btn--right{right:.5rem}.hero-slide .hero-content{left:1.25rem;bottom:4rem}}@media (max-width: 480px){.hero-nav-btn{width:30px;height:44px;font-size:1.5rem}.hero-slide .hero-content{left:1rem;bottom:3.5rem;right:1rem;max-width:100%}.hero-dots{bottom:1rem}}
