:root{--bg-color: #050505;--card-bg: #0a0a0f;--text-primary: #e0e0e0;--text-secondary: #a0a0a0;--accent-blue: #00f3ff;--accent-red: #ff003c;--glow-blue: 0 0 10px rgba(0, 243, 255, .5);--glow-red: 0 0 10px rgba(255, 0, 60, .5);--font-header: "Orbitron", sans-serif;--font-body: "Inter", sans-serif;--christmas-red: #ff4444;--christmas-green: #44ff88;--christmas-gold: #ffd700;--glow-christmas-red: 0 0 15px rgba(255, 68, 68, .6);--glow-christmas-green: 0 0 15px rgba(68, 255, 136, .6)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}.app-container{max-width:1400px;margin:0 auto;padding:2rem;position:relative;min-height:100vh;overflow:hidden}.christmas-corner{position:absolute;top:0;width:30vw;max-width:450px;aspect-ratio:1/1;background-size:contain;background-repeat:no-repeat;pointer-events:none;z-index:5;mix-blend-mode:screen;filter:contrast(1.4) brightness(.85) saturate(1.2);opacity:.9}@media (max-width: 768px){.christmas-corner{width:40vw}}.christmas-corner-left{left:0;background-image:url(/christmas-corner-left.png);background-position:top left;mask-image:radial-gradient(circle at top left,black 20%,transparent 85%);-webkit-mask-image:radial-gradient(circle at top left,black 20%,transparent 85%)}.christmas-corner-right{right:0;background-image:url(/christmas-corner-right.png);background-position:top right;mask-image:radial-gradient(circle at top right,black 20%,transparent 85%);-webkit-mask-image:radial-gradient(circle at top right,black 20%,transparent 85%)}.main-header{text-align:center;margin-bottom:3rem;padding-top:2rem}h1{font-family:var(--font-header);font-size:3.5rem;letter-spacing:2px;margin-bottom:.5rem;text-transform:uppercase}.highlight{color:var(--accent-blue);text-shadow:var(--glow-blue)}.subtitle{color:var(--text-secondary);font-size:1.2rem;letter-spacing:1px;text-transform:uppercase}.site-description{max-width:600px;margin:1.5rem auto 0;color:var(--text-secondary);line-height:1.6;font-size:.95rem;opacity:.9}.btn-suggest-trigger{background:transparent;border:1px solid var(--accent-red);color:var(--accent-red);padding:.8rem 2rem;border-radius:30px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:2rem;font-family:var(--font-header);text-transform:uppercase;letter-spacing:1px}.btn-suggest-trigger:hover{background:var(--accent-red);color:#fff;box-shadow:var(--glow-red);transform:translateY(-2px)}.control-bar{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:3rem;padding:1.5rem;background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.control-group{flex:1;min-width:200px}.control-input,.control-select{width:100%;padding:.9rem 1.2rem;background:#0006;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-family:var(--font-body);font-size:.95rem;transition:all .3s ease;cursor:pointer}.control-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23ffffff%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E);background-repeat:no-repeat;background-position:right 1.2rem top 50%;background-size:.65rem auto;padding-right:2.5rem}.control-input{cursor:text}.control-input:focus,.control-select:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 10px #00f3ff33;background:#0009}.movie-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;padding:1rem 0}.movie-card{background:var(--card-bg);border-radius:12px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;border:1px solid rgba(255,255,255,.05);position:relative;display:flex;flex-direction:column;height:100%}.movie-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px #00000080;border-color:#ffffff1a}.glow-red{border-color:#ff003c4d}.glow-red:hover{box-shadow:var(--glow-red)}.glow-blue{border-color:#00f3ff4d}.glow-blue:hover{box-shadow:var(--glow-blue)}.poster-wrapper{position:relative;width:100%;padding-top:150%;background-color:#111;overflow:hidden}.poster-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.movie-card:hover .poster-image{transform:scale(1.05)}.poster-fallback{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:1rem;text-align:center;background:linear-gradient(45deg,#1a1a2e,#16213e);color:var(--text-secondary);font-family:var(--font-header)}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.movie-card:hover .overlay{opacity:1}.imdb-link{color:#fff;text-decoration:none;border:1px solid #fff;padding:.5rem 1.5rem;border-radius:20px;font-weight:600;transition:all .2s ease}.imdb-link:hover{background-color:#fff;color:#000}.card-content{padding:1rem;flex-grow:1;display:flex;flex-direction:column}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.movie-title{font-family:var(--font-header);font-size:1.1rem;font-weight:700;margin-right:.5rem;line-height:1.2;letter-spacing:.5px;color:#fff;text-shadow:0 0 5px rgba(0,243,255,.3)}.rating{color:#f5c518;font-weight:700;font-size:.8rem;white-space:nowrap}.movie-meta{font-size:.8rem;color:var(--text-secondary);margin-bottom:.8rem}.badges{display:flex;gap:.5rem;margin-bottom:1rem;margin-top:.5rem}.badge{font-size:.65rem;padding:.2rem .5rem;border-radius:4px;font-weight:700;text-transform:uppercase}.badge-red{background-color:#ff003c33;color:var(--accent-red);border:1px solid rgba(255,0,60,.5)}.badge-blue{background-color:#00f3ff33;color:var(--accent-blue);border:1px solid rgba(0,243,255,.5)}.description{font-size:.85rem;color:var(--text-secondary);line-height:1.5;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;line-clamp:3;overflow:hidden}.actors{font-size:.8rem;color:#888;margin-top:auto;border-top:1px solid rgba(255,255,255,.05);padding-top:.8rem}.actors strong{color:#aaa}.pagination{display:flex;justify-content:center;align-items:center;gap:1.5rem;margin-top:2rem}.page-btn{background:transparent;border:1px solid var(--accent-blue);color:var(--accent-blue);padding:.5rem 1.5rem;border-radius:20px;cursor:pointer;font-family:var(--font-header);transition:all .3s ease}.page-btn:hover:not(:disabled){background:var(--accent-blue);color:#000;box-shadow:var(--glow-blue)}.page-btn:disabled{opacity:.5;cursor:not-allowed;border-color:#555;color:#555}.page-info{font-family:var(--font-header);color:var(--text-secondary)}.loading-more{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--accent-blue);font-family:var(--font-header);gap:1rem}.loading-spinner{width:50px;height:50px;border:4px solid rgba(0,243,255,.1);border-top-color:var(--accent-blue);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading,.no-results{height:50vh;display:flex;align-items:center;justify-content:center;font-family:var(--font-header);font-size:1.5rem;color:var(--text-secondary)}.loading{color:var(--accent-blue);animation:pulse 2s infinite}@keyframes pulse{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.main-footer{text-align:center;margin-top:4rem;padding:3rem 1rem;border-top:1px solid rgba(255,255,255,.1);background:linear-gradient(to top,rgba(0,243,255,.05),transparent);transition:all .2s ease}.back-to-top{position:fixed;bottom:2rem;right:2rem;background:#00f3ff33;color:var(--accent-blue);border:1px solid var(--accent-blue);width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;cursor:pointer;opacity:0;visibility:hidden;transition:all .3s ease;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.back-to-top.visible{opacity:1;visibility:visible}.back-to-top:hover{background:var(--accent-blue);color:#000;box-shadow:0 0 20px #00f3ff80;transform:translateY(-5px)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .3s ease}.modal-content{background:#1a1a2e;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:2rem;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 50px #00000080;animation:slideUp .3s ease}.modal-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:var(--text-secondary);font-size:2rem;line-height:1;cursor:pointer;transition:color .2s ease;z-index:10}.modal-close:hover{color:#fff}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.suggestion-header{text-align:center;margin-bottom:2rem;margin-top:1rem}.suggestion-header h2{font-size:2rem;margin-bottom:.5rem;color:var(--text-primary)}.suggestion-header p{color:var(--text-secondary);font-size:.95rem}.suggestion-form{display:flex;flex-direction:column;gap:1.5rem}.suggestion-item{background:#0003;border-radius:12px;padding:1.5rem;margin-bottom:1rem;border:1px solid rgba(255,255,255,.05);animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.btn-remove{background:transparent;border:none;color:var(--text-secondary);font-size:1.5rem;line-height:1;cursor:pointer;padding:0 .5rem;transition:color .2s ease}.btn-remove:hover{color:var(--accent-red)}.form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.form-group:last-child{margin-bottom:0}.form-group label{color:var(--text-primary);font-size:.9rem;font-weight:500;margin-left:.2rem}.form-group input,.form-group textarea{background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:.8rem 1rem;color:var(--text-primary);font-family:inherit;font-size:1rem;transition:all .2s ease;width:100%}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-red);background:#00000080;box-shadow:0 0 0 2px #e5091433}.form-group textarea{resize:vertical;min-height:80px}.input-error{border-color:var(--accent-red)!important;background:#ff003c0d!important}.input-success{border-color:#00ff80!important;background:#00ff800d!important}.validation-error{color:var(--accent-red);font-size:.85rem;margin-left:.5rem;animation:shake .4s ease}.loading-indicator{color:var(--text-secondary);font-size:.8rem;margin-left:.5rem;font-style:italic;animation:pulse 1s infinite}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.btn-add{background:transparent;border:1px dashed rgba(255,255,255,.2);color:var(--text-secondary);padding:1rem;border-radius:10px;cursor:pointer;transition:all .2s ease;font-family:inherit}.btn-add:hover{border-color:var(--accent-blue);color:var(--accent-blue);background:#00f3ff0d}.form-divider{height:1px;background:#ffffff1a;margin:.5rem 0}.btn-submit{background:linear-gradient(135deg,var(--accent-red),#b20710);color:#fff;border:none;padding:1rem;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:.5rem;text-transform:uppercase;letter-spacing:.5px}.btn-submit:hover{transform:translateY(-2px);box-shadow:0 4px 15px #e5091466}.btn-submit:disabled{opacity:.7;cursor:not-allowed;transform:none;background:#333}.success-message{text-align:center;padding:2rem 0;animation:fadeIn .5s ease}.success-message h3{font-size:1.5rem;color:var(--text-primary);margin-bottom:.5rem}.success-message p{color:var(--text-secondary);margin-bottom:1.5rem}.btn-reset{background:transparent;border:1px solid rgba(255,255,255,.2);color:var(--text-primary);padding:.6rem 1.2rem;border-radius:8px;cursor:pointer;transition:all .2s ease}.btn-reset:hover{background:#ffffff1a;border-color:var(--text-primary)}.error-message{color:#ff4d4d;text-align:center;font-size:.9rem;margin-top:.5rem}.badge-green{background-color:#00ff8033;color:#00ff80;border:1px solid rgba(0,255,128,.5);text-decoration:none;transition:all .2s ease;display:inline-flex;align-items:center}.badge-green:hover{background-color:#00ff8066;box-shadow:0 0 10px #00ff804d;color:#fff}@media (max-width: 768px){.movie-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.suggestion-container{padding:2rem}h1{font-size:2.5rem}}.snowflakes{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1000;overflow:hidden}.snowflake{position:absolute;top:-10px;color:#fff;font-size:1em;font-family:Arial,sans-serif;text-shadow:0 0 5px rgba(255,255,255,.8);animation:fall linear infinite;opacity:.8}@keyframes fall{0%{transform:translateY(0) rotate(0)}to{transform:translateY(100vh) rotate(360deg)}}.snowflake:nth-child(1){left:10%;animation-duration:10s;animation-delay:0s}.snowflake:nth-child(2){left:20%;animation-duration:12s;animation-delay:1s;font-size:.8em}.snowflake:nth-child(3){left:30%;animation-duration:8s;animation-delay:2s;font-size:1.2em}.snowflake:nth-child(4){left:40%;animation-duration:14s;animation-delay:.5s}.snowflake:nth-child(5){left:50%;animation-duration:11s;animation-delay:1.5s;font-size:.9em}.snowflake:nth-child(6){left:60%;animation-duration:9s;animation-delay:3s}.snowflake:nth-child(7){left:70%;animation-duration:13s;animation-delay:.8s;font-size:1.1em}.snowflake:nth-child(8){left:80%;animation-duration:10s;animation-delay:2.5s}.snowflake:nth-child(9){left:90%;animation-duration:12s;animation-delay:1.2s;font-size:.85em}.snowflake:nth-child(10){left:15%;animation-duration:11s;animation-delay:3.5s}.movie-card:hover{box-shadow:0 8px 32px #0000004d,0 0 20px var(--glow-christmas-red),0 0 30px var(--glow-christmas-green)}.btn-suggest-trigger:hover{box-shadow:0 0 20px var(--glow-christmas-gold)}
