:root{--bg-color: #030303;--text-primary: #f0fdf4;--text-secondary: #86efac;--primary: #22c55e;--primary-glow: #4ade80;--secondary: #16a34a;--accent: #15803d;--glass: rgba(10, 10, 10, .9);--glass-border: rgba(34, 197, 94, .2);--card-bg: #0a0a0a}body{margin:0;font-family:Outfit,Inter,system-ui,-apple-system,sans-serif;background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;background-image:radial-gradient(circle at 50% 0%,rgba(34,197,94,.1) 0%,transparent 50%),linear-gradient(#000000f2,#000000f2),repeating-linear-gradient(0deg,transparent,transparent 1px,rgba(34,197,94,.05) 1px,rgba(34,197,94,.05) 2px);background-attachment:fixed}.app-root{display:flex;flex-direction:column;min-height:100vh}.container{max-width:1280px;margin:0 auto;padding:4rem 2rem;width:100%;box-sizing:border-box;flex:1;display:flex;flex-direction:column}.top-nav{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1.5rem 3rem;background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);position:fixed;top:0;left:0;z-index:1000;box-sizing:border-box;margin:0;border-bottom:1px solid var(--glass-border)}.logo{font-size:1.5rem;font-weight:700;color:#fff;display:flex;align-items:center;gap:.5rem;letter-spacing:-.03em;cursor:pointer;transition:transform .3s cubic-bezier(.34,1.56,.64,1),color .3s ease}.logo:hover{transform:scale(1.05);color:var(--primary)}.logo-icon{background:#22c55e1a;padding:4px;border-radius:6px;stroke:var(--primary)}.nav-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-secondary);padding:.6rem 1.2rem;border-radius:12px;font-size:.9rem;font-weight:500;letter-spacing:1px;display:flex;align-items:center;gap:.5rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-btn:hover{background:#22c55e26;border-color:var(--primary);color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #22c55e33}.nav-btn:active{transform:translateY(0)}.hero{text-align:center;margin-top:8rem;margin-bottom:4rem;display:flex;flex-direction:column;align-items:center}.ai-badge{color:var(--primary);border:1px solid rgba(34,197,94,.3);background:#22c55e0d;padding:.4rem 1rem;border-radius:20px;font-size:.7rem;font-weight:700;letter-spacing:2px;margin-bottom:2rem;text-transform:uppercase;box-shadow:0 0 15px #22c55e1a}.hero h1{font-size:5.5rem;font-weight:900;margin:0 0 1.5rem;line-height:.95;text-transform:uppercase;color:#fff;letter-spacing:-2px}.hero p{color:#666;font-size:1.1rem;max-width:600px;margin:0 auto;line-height:1.6}.search-box{display:flex;justify-content:space-between;align-items:center;max-width:750px;width:100%;margin:0 auto 5rem;background:#0a0a0a;padding:.5rem;border-radius:8px;border:1px solid #222;box-shadow:none;transition:border-color .3s}.search-box:focus-within{border-color:#333;box-shadow:none}.search-box input{flex:1;background:transparent;border:none;padding:1rem 1.5rem;font-size:1rem;color:#fff;outline:none}.search-box input::placeholder{color:#333;opacity:1}.generate-btn{background:#1a1a1a;color:#666;padding:.8rem 1.5rem;border-radius:6px;font-weight:600;font-size:.8rem;transition:all .2s;border:1px solid #333;text-transform:uppercase;letter-spacing:1px}.generate-btn:hover:not(:disabled){background:#fff;color:#000;transform:none;box-shadow:none}.movie-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}@media(max-width:1024px){.movie-grid{grid-template-columns:repeat(2,1fr)}}.movie-card{background:var(--card-bg);border-radius:20px;padding:2.5rem;border:1px solid var(--glass-border);position:relative;transition:all .4s cubic-bezier(.175,.885,.32,1.275);animation:slideUp .6s cubic-bezier(.2,.8,.2,1) forwards;opacity:0;display:flex;flex-direction:column;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.movie-content{display:flex;flex-direction:column;height:100%}.movie-card:hover{border-color:var(--primary);transform:translateY(-8px) scale(1.02);box-shadow:0 20px 50px -12px #22c55e40;z-index:10}.movie-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1rem}.movie-header h2{margin:0;font-size:1.8rem;line-height:1.1;font-weight:700;color:#fff}.year{background:#22c55e1a;color:var(--primary);padding:.3rem .8rem;border-radius:6px;font-size:.85rem;font-weight:600;border:1px solid rgba(34,197,94,.2)}.description{color:#a3a3a3;line-height:1.7;font-size:1rem;margin-bottom:2rem;flex-grow:1}.card-footer{border-top:1px solid #222;padding-top:1.5rem;margin-top:auto}.watch-btn{background:transparent;color:#fff;border:none;padding:0;font-size:.9rem;font-weight:500;transition:all .2s;display:flex;align-items:center;gap:.5rem;opacity:.6;text-transform:uppercase;letter-spacing:1px}.watch-btn:hover{opacity:1;color:var(--primary)}.watch-btn:after{content:"→";transition:transform .2s}.watch-btn:hover:after{transform:translate(4px)}.loader{width:20px;height:20px;border:2px solid rgba(0,0,0,.1);border-bottom-color:#000;border-radius:50%;display:inline-block;animation:rotation 1s linear infinite}.shimmer-loading{position:relative;overflow:hidden;background-color:#1a1a1a;border-radius:8px}.shimmer-loading:after{position:absolute;inset:0;transform:translate(-100%);background-image:linear-gradient(90deg,#fff0 0,#ffffff0d 20%,#ffffff1a 60%,#fff0);animation:shimmer 1.5s infinite;content:""}@keyframes shimmer{to{transform:translate(100%)}}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.save-btn{background:transparent;border:none;font-size:1.5rem;color:#444;cursor:pointer;transition:all .2s;padding:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%}.save-btn:hover{background:#ffffff0d;color:#fff;transform:scale(1.1)}.save-btn.saved{color:#ef4444}.nav-btn.active{background:#22c55e26;color:var(--primary);border-color:var(--primary)}.empty-state{text-align:center;padding:4rem;border:1px dashed #333;border-radius:20px;grid-column:1 / -1;color:#444}.error-msg{background:#dc26261a;color:#ef4444;padding:1rem;border-radius:8px;text-align:center;margin-bottom:2rem;border:1px solid rgba(220,38,38,.2)}.back-btn{background:transparent;border:1px solid rgba(255,255,255,.1);color:#bbb;padding:.8rem 1.5rem;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex;align-items:center;margin-top:2rem;text-transform:uppercase;letter-spacing:1px}.back-btn:hover{background:#ffffff0d;color:#fff;border-color:#fff3;transform:translate(-4px)}.main-footer{width:100%;background:#000;border-top:1px solid #222;padding:4rem 2rem 1rem;margin-top:auto}.footer-content{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:4rem;margin-bottom:3rem;padding:0 1rem}.footer-section h4{color:#fff;font-size:.9rem;margin-bottom:1.5rem;font-weight:700;text-transform:uppercase;letter-spacing:2px}.footer-section p{line-height:1.8;max-width:300px;color:var(--text-secondary)}.footer-section a{display:block;color:var(--text-secondary);text-decoration:none;margin-bottom:1rem;transition:all .2s;font-size:.95rem}.footer-bottom{max-width:1280px;margin:0 auto;padding-top:2rem;border-top:1px solid #222;text-align:center;font-size:.85rem;color:#666}.footer-section p,.footer-section a{color:#999}.footer-section a:hover{color:var(--primary)}@media(max-width:768px){.top-nav{padding:1rem 1.5rem}.container{padding:6rem 1rem 2rem}.hero{margin-top:2rem;margin-bottom:3rem}.hero h1{font-size:2.8rem;line-height:1}.footer-content{grid-template-columns:1fr;gap:2.5rem}.search-box{flex-direction:column;width:100%;background:transparent;border:none;padding:0;margin-bottom:3rem}.search-box input{width:100%;background:#0a0a0a;border:1px solid #333;border-radius:12px;margin-bottom:1rem;box-sizing:border-box}.generate-btn{width:100%;border-radius:12px;height:3rem}.movie-grid{grid-template-columns:1fr;gap:1.5rem}.movie-card{padding:1.5rem}.modal-content{width:95%;padding:1.5rem;margin:1rem;max-height:90vh;overflow-y:auto}}@media(max-width:480px){.hero h1{font-size:2.2rem}}.meta-tags{display:flex;gap:.8rem;align-items:center;margin-bottom:1rem}.rating{color:gold;font-weight:700;font-size:.9rem;display:flex;align-items:center;gap:4px}.line-clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.modal-overlay{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:2000;padding:1rem;animation:fadeIn .3s ease-out forwards}.modal-content{background:#050505;width:100%;max-width:600px;padding:2.5rem;border-radius:20px;border:1px solid var(--primary);box-shadow:0 0 50px #22c55e26;position:relative;animation:modalPop .5s cubic-bezier(.34,1.56,.64,1) forwards;opacity:0;transform:scale(.8)}@keyframes modalPop{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.close-modal{position:absolute;top:1rem;right:1.5rem;background:transparent;border:none;color:#666;font-size:2rem;cursor:pointer;line-height:1;transition:color .2s}.close-modal:hover{color:#fff}.modal-header h2{font-size:2.5rem;margin:0 0 1rem;line-height:1.1;color:#fff;text-shadow:0 0 20px rgba(34,197,94,.3)}.meta-row{display:flex;gap:1rem;margin-bottom:2rem}.year-badge,.rating-badge{background:#ffffff0d;padding:.4rem 1rem;border-radius:6px;font-size:.9rem;font-weight:600;color:#ddd;border:1px solid rgba(255,255,255,.1)}.rating-badge{color:gold;border-color:#ffd70033;background:#ffd7000d}.modal-description{font-size:1.1rem;line-height:1.8;color:#ccc;margin-bottom:2rem}.cast-section h3{margin:0 0 .5rem;font-size:1rem;text-transform:uppercase;color:var(--primary);letter-spacing:1px}.cast-section p{color:#999;line-height:1.6;font-size:1rem}.modal-actions{margin-top:2.5rem;display:flex;justify-content:flex-end}.primary-action-btn{background:var(--primary);color:#000;border:none;padding:1rem 2rem;border-radius:8px;font-weight:700;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:all .2s}.primary-action-btn:hover{background:#4ade80;transform:translateY(-2px);box-shadow:0 10px 20px -5px #22c55e66}.primary-action-btn.saved{background:#ef4444;color:#fff}.primary-action-btn.saved:hover{background:#dc2626;box-shadow:0 10px 20px -5px #ef444466}
