:root{--bg:#0f0f0f;--surface:#1a1a1a;--surface-elevated:#242424;--primary:#c5001e;--text:#fff;--text-secondary:#aaa;--border:#2a2a2a}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:14px}::-webkit-scrollbar-track{background:#0f0f0f}::-webkit-scrollbar-thumb{background:#666;border-radius:6px;border:2px solid #0f0f0f}::-webkit-scrollbar-thumb:hover{background:#888}::-webkit-scrollbar-button{background:#333;height:12px}*{scrollbar-width:auto;scrollbar-color:#666 #0f0f0f}a{text-decoration:none}a,button{color:inherit}button{cursor:pointer;border:none;background:none}button,input,select,textarea{font-family:inherit}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:1}}.skeleton{background-color:#1a1a1a;animation:skeleton-pulse 1.4s ease-in-out infinite}@keyframes spin{to{transform:rotate(1turn)}}.spinner{width:36px;height:36px;border:3px solid var(--surface-elevated);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.nav-desktop{display:none}.nav-mobile{display:block}@media (min-width:1024px){.nav-desktop{display:flex}.nav-mobile{display:none}}.insight-bar{display:none}@media (min-width:1024px){.insight-bar{display:block}}.detail-poster{display:none}@media (min-width:640px){.detail-poster{display:block}}.scroll-arrow{display:none}@media (min-width:768px){.scroll-arrow{display:flex}}.type-filter{border-bottom:1px solid #2a2a2a}.type-filter-btn{flex:1 1;text-align:center}.genre-filter{border-bottom:1px solid #2a2a2a;flex:1 1;min-width:0}@media (min-width:1024px){.filter-bar{display:flex;align-items:stretch;border-bottom:1px solid #2a2a2a}.type-filter{border-bottom:none;border-right:1px solid #2a2a2a;flex-shrink:0}.type-filter-btn{flex:none}.genre-filter{border-bottom:none}}.hover-card{background-color:transparent;transition:background-color .16s}.hover-card:hover{background-color:#1a1a1a}.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:14px;gap:14px}@media (max-width:640px){.grid-cards{grid-template-columns:repeat(2,1fr);gap:10px}}@media (min-width:1024px){.grid-cards{grid-template-columns:repeat(5,1fr)}}