:root{--color-bg-base: #F8FAFC;--color-bg-subtle: #F1F5F9;--color-surface-card: #FFFFFF;--color-surface-hover: #F8FAFC;--color-accent-amber: #2563EB;--color-accent-amber-hover: #1D4ED8;--color-accent-amber-light: #EFF6FF;--color-accent-amber-glow: rgba(37, 99, 235, .15);--color-text-primary: #0F172A;--color-text-secondary: #334155;--color-text-muted: #64748B;--color-text-dim: #94A3B8;--color-border-subtle: #E2E8F0;--color-border-hover: #CBD5E1;--color-border-amber: rgba(37, 99, 235, .4);--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--shadow-xs: 0 1px 2px 0 rgba(15, 23, 42, .04);--shadow-card: 0 1px 3px 0 rgba(15, 23, 42, .05), 0 1px 2px -1px rgba(15, 23, 42, .03);--shadow-card-hover: 0 16px 32px -6px rgba(37, 99, 235, .15), 0 6px 12px -2px rgba(15, 23, 42, .04);--shadow-modal: 0 24px 48px -12px rgba(15, 23, 42, .16), 0 8px 16px -4px rgba(15, 23, 42, .06);--font-sans: "Outfit", "Noto Sans SC", system-ui, -apple-system, sans-serif;--ease-silk: cubic-bezier(.16, 1, .3, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--transition-fast: .18s var(--ease-silk);--transition-normal: .3s var(--ease-silk);--transition-slow: .45s var(--ease-silk)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--color-bg-base);color:var(--color-text-primary);font-family:var(--font-sans);min-height:100vh;overflow-x:hidden;line-height:1.5;-webkit-font-smoothing:antialiased}.app-container{min-height:100vh;display:flex;flex-direction:column;background-color:var(--color-bg-base)}.main-content{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:5.5rem 1.5rem 2.5rem;animation:fadeIn var(--transition-normal)}.section-title{font-size:1.2rem;font-weight:800;color:#0f172a;margin-bottom:1.25rem;display:flex;align-items:center;gap:.5rem}.section-bar{width:4px;height:18px;background:#2563eb;border-radius:2px}.poster-grid-container{margin-bottom:3rem}.poster-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}@media(min-width:640px){.poster-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:768px){.poster-grid{grid-template-columns:repeat(4,1fr)}}@media(min-width:1024px){.poster-grid{grid-template-columns:repeat(5,1fr);gap:1.5rem}}.poster-card{position:relative;aspect-ratio:2 / 3;border-radius:12px;overflow:hidden;background:var(--color-surface-card);border:1px solid rgba(226,232,240,.9);box-shadow:0 4px 16px #0f172a0d;cursor:pointer;transition:transform .3s var(--ease-silk),box-shadow .3s var(--ease-silk),border-color .2s ease;will-change:transform}.poster-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 16px 36px #2563eb29,0 4px 12px #0f172a0f;border-color:#2563eb66}.poster-img,.poster-card .poster-img,.poster-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.25,1,.5,1);will-change:transform}.poster-card:hover .poster-img,.poster-card:hover .poster-img img,.poster-card:hover img{transform:scale(1.04)}.poster-rating{position:absolute;top:8px;right:8px;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.2rem .5rem;border-radius:var(--radius-xs);font-size:.7rem;font-weight:700;color:#2563eb;border:1px solid rgba(37,99,235,.2);display:flex;align-items:center;gap:.25rem;box-shadow:var(--shadow-xs);z-index:10}.poster-badge{position:absolute;top:8px;left:8px;background:#2563eb;color:#fff;padding:.2rem .5rem;border-radius:var(--radius-xs);font-size:.65rem;font-weight:700;text-transform:uppercase;z-index:10;box-shadow:0 2px 8px #2563eb4d}.poster-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0f172a00 30%,#0f172aeb);display:flex;flex-direction:column;justify-content:flex-end;padding:1rem;color:#fff;pointer-events:none;opacity:.95;transition:opacity var(--transition-fast),background var(--transition-fast)}.poster-card:hover .poster-overlay{opacity:1;background:linear-gradient(180deg,#0f172a1a 15%,#0f172af5)}.poster-title{font-size:.9rem;font-weight:700;line-height:1.25;margin-bottom:.25rem;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 4px rgba(0,0,0,.8)}.poster-sub{font-size:.7rem;color:#ffffffd9;display:flex;align-items:center;justify-content:space-between}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem;animation:fadeIn var(--transition-fast);perspective:1400px}.glass-modal{background:#fff;border:1px solid #E2E8F0;border-radius:var(--radius-md);box-shadow:var(--shadow-modal);width:100%;animation:modalEnter .32s var(--ease-bounce);overflow:hidden;will-change:transform,opacity}.btn-gold{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-weight:700;border:none;padding:.65rem 1.4rem;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;box-shadow:0 4px 16px #2563eb40;transition:transform var(--transition-fast),box-shadow var(--transition-fast);will-change:transform}.btn-gold:hover{transform:translateY(-2px);box-shadow:0 8px 24px #2563eb59}.btn-outline{background:#fff;color:var(--color-text-secondary);border:1px solid var(--color-border-subtle);padding:.65rem 1.4rem;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;transition:all var(--transition-fast)}.btn-outline:hover{border-color:#2563eb;color:#2563eb;background:#eff6ff;transform:translateY(-1px)}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-8px)}60%{transform:translateY(-4px)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalEnter{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width:767px){.hidden-mobile{display:none!important}}@media(min-width:768px){.hidden-desktop{display:none!important}}.footer-bar{border-top:1px solid var(--color-border-subtle);background:#fff;padding:1.5rem 1rem;color:var(--color-text-muted);font-size:.8rem}
