.admin-container{min-height:100vh;padding:2rem;background:linear-gradient(135deg,#1a472a,#2d5f3f);color:#fff}.admin-header{max-width:1400px;margin:0 auto 2rem}.back-link{display:inline-block;color:#d4af37;text-decoration:none;margin-bottom:1rem;font-size:1rem;transition:color .2s}.back-link:hover{color:#daa520}.admin-header h1{font-size:2.5rem;margin-bottom:1rem;text-align:center}.admin-stats{display:flex;justify-content:center;gap:2rem;margin-top:1.5rem}.stat{display:flex;flex-direction:column;align-items:center;padding:1rem 2rem;background:#ffffff1a;border-radius:10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stat-value{font-size:2.5rem;font-weight:700;color:#d4af37}.stat-label{font-size:.9rem;opacity:.9;margin-top:.25rem}.loading{text-align:center;font-size:1.5rem;padding:3rem;color:#d4af37}.admin-content{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:2rem}.missing-posters-list{background:#ffffff0d;padding:2rem;border-radius:15px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.missing-posters-list h2{margin-bottom:1.5rem;color:#d4af37}.empty-state{text-align:center;font-size:1.2rem;padding:2rem;color:#d4af37}.poster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.poster-card{background:#ffffff1a;padding:1.5rem;border-radius:10px;cursor:pointer;transition:all .2s;border:2px solid transparent}.poster-card:hover{background:#ffffff26;transform:translateY(-2px)}.poster-card.selected{border-color:#d4af37;background:#d4af3733}.poster-title{font-weight:700;margin-bottom:.5rem;font-size:1.1rem}.poster-year{color:#d4af37;margin-bottom:.75rem;font-size:.9rem}.poster-meta{display:flex;flex-direction:column;gap:.5rem;font-size:.85rem;opacity:.8}.retry-count{color:orange}.failure-reason{color:#ff6b6b;font-size:.8rem;line-height:1.3}.manual-entry-panel{background:#ffffff0d;padding:2rem;border-radius:15px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:2rem}.manual-entry-panel h2{margin-bottom:1.5rem;color:#d4af37;font-size:1.5rem}.manual-entry-panel h3{margin-bottom:1rem;font-size:1.1rem;color:#daa520}.url-form,.upload-form{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.url-form input[type=url],.upload-form input[type=file]{padding:.75rem;border-radius:8px;border:2px solid rgba(255,255,255,.2);background:#ffffff1a;color:#fff;font-size:1rem}.url-form input[type=url]:focus,.upload-form input[type=file]:focus{outline:none;border-color:#d4af37}.url-form input[type=url]::placeholder{color:#ffffff80}.url-form button,.upload-form button{padding:.75rem 1.5rem;border-radius:8px;border:none;background:#c41e3a;color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s}.url-form button:hover:not(:disabled),.upload-form button:hover:not(:disabled){background:#a01828;transform:translateY(-2px);box-shadow:0 5px 15px #c41e3a66}.url-form button:disabled,.upload-form button:disabled{opacity:.5;cursor:not-allowed}.divider{text-align:center;margin:2rem 0;font-size:1.2rem;opacity:.6;position:relative}.divider:before,.divider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:#ffffff4d}.divider:before{left:0}.divider:after{right:0}.image-preview{display:flex;justify-content:center;padding:1rem;background:#0000004d;border-radius:8px}.image-preview img{max-width:200px;max-height:300px;border-radius:5px;box-shadow:0 4px 10px #00000080}@media(min-width:1024px){.admin-content{grid-template-columns:2fr 1fr}}@media(max-width:768px){.admin-container{padding:1rem}.admin-header h1{font-size:1.8rem}.stat-value{font-size:2rem}.poster-grid{grid-template-columns:1fr}.manual-entry-panel{position:static}}.candles-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);padding:2rem;overflow:hidden;position:relative}.candles-container:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 30%,rgba(255,182,193,.1) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(173,216,230,.1) 0%,transparent 50%);pointer-events:none}.birthday-scene{text-align:center;position:relative;z-index:1;animation:fadeIn 1s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.birthday-message{font-size:3.5rem;font-weight:700;background:linear-gradient(135deg,gold,#ffed4e,gold);background-size:200% 200%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:3rem;text-shadow:0 0 30px rgba(255,215,0,.3);animation:shimmer 3s ease-in-out infinite;font-family:Georgia,serif;letter-spacing:2px}@keyframes shimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.candles-wrapper{position:relative;width:600px;height:600px;margin:0 auto;filter:drop-shadow(0 10px 30px rgba(0,0,0,.3))}.candles-svg{position:absolute;top:0;left:0;width:100%;height:100%}.candle{transition:transform .3s ease}.candle:hover{transform:scale(1.02)}.flame-canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.instructions{margin-top:3rem;animation:fadeInUp .8s ease-in .3s both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.instructions p{font-size:1.5rem;color:#fff;margin:.5rem 0;font-family:Georgia,serif;text-shadow:0 2px 10px rgba(0,0,0,.5)}.hint{font-size:1.2rem!important;color:#ffffffb3;font-style:italic}.start-button{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff;border:none;padding:1.2rem 3rem;font-size:1.5rem;font-weight:600;border-radius:50px;cursor:pointer;box-shadow:0 10px 30px #ff6b6b66;transition:all .3s ease;font-family:Georgia,serif;letter-spacing:1px}.start-button:hover{transform:translateY(-2px);box-shadow:0 15px 40px #ff6b6b99;background:linear-gradient(135deg,#ff7b7b,#ff6a7f)}.start-button:active{transform:translateY(0);box-shadow:0 5px 20px #ff6b6b66}.error-message{margin-top:3rem;padding:2rem;background:#ff3b3026;border:2px solid rgba(255,59,48,.3);border-radius:15px;color:#f99;max-width:500px;margin-left:auto;margin-right:auto}.error-message p{margin:.5rem 0;font-size:1.1rem}.celebration{margin-top:3rem;animation:celebrationPop .6s cubic-bezier(.68,-.55,.265,1.55)}@keyframes celebrationPop{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.celebration-message{font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,#ff6b6b,#ffd93d,#6bcf7f,#4d96ff);background-size:300% 300%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:rainbowShift 3s ease infinite;margin-bottom:1.5rem;font-family:Georgia,serif}@keyframes rainbowShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.love-message{font-size:2rem;color:#ffb6c1;font-family:Georgia,serif;font-style:italic;text-shadow:0 2px 15px rgba(255,182,193,.5);animation:heartbeat 1.5s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}10%,30%{transform:scale(1.05)}20%,40%{transform:scale(1)}}@media(max-width:768px){.birthday-message{font-size:2rem}.candles-wrapper{width:100%;max-width:500px;height:500px}.instructions p{font-size:1.2rem}.start-button{padding:1rem 2rem;font-size:1.2rem}.celebration-message{font-size:1.8rem}.love-message{font-size:1.5rem}}@media(max-width:480px){.birthday-message{font-size:1.5rem}.candles-wrapper{height:400px}.celebration-message{font-size:1.5rem}}*{margin:0;padding:0;box-sizing:border-box}.app{font-family:Georgia,serif;background:linear-gradient(135deg,#1a472a,#2d5f3f);min-height:100vh;display:flex;justify-content:center;align-items:center;padding:1rem;color:#fff}.container{max-width:600px;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.header{display:flex;flex-direction:column;align-items:center;gap:.5rem}.emoji{font-size:clamp(3rem,8vw,4rem)}.title{font-size:clamp(1.5rem,5vw,2.5rem);font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.5);line-height:1.2}.subtitle{font-size:clamp(.9rem,3vw,1.1rem);opacity:.9;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.platform-toggle{display:flex;gap:.5rem;margin-top:1rem;padding:.25rem;background:#ffffff1a;border-radius:50px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.platform-button{padding:clamp(.5rem,2vw,.75rem) clamp(1rem,4vw,1.5rem);font-size:clamp(.9rem,2.5vw,1rem);font-weight:600;border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;font-family:Georgia,serif;background:transparent;color:#ffffffb3}.platform-button:hover:not(:disabled){color:#fff;background:#ffffff1a}.platform-button.active{background:linear-gradient(135deg,#c41e3a,#8b0000);color:#fff;box-shadow:0 2px 10px #c41e3a66}.platform-button:disabled{opacity:.5;cursor:not-allowed}.mode-toggle{display:flex;gap:.5rem;margin-top:1rem;padding:.25rem;background:#ffffff1a;border-radius:50px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mode-button{padding:clamp(.5rem,2vw,.75rem) clamp(1rem,4vw,1.5rem);font-size:clamp(.9rem,2.5vw,1rem);font-weight:600;border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;font-family:Georgia,serif;background:transparent;color:#ffffffb3}.mode-button:hover:not(:disabled){color:#fff;background:#ffffff1a}.mode-button.active{background:linear-gradient(135deg,#1a472a,#2d5f3f);color:#fff;box-shadow:0 2px 10px #1a472a66}.mode-button:disabled{opacity:.5;cursor:not-allowed}.app.horror-mode{background:linear-gradient(135deg,#1a0a0a,#2d0d0d,#1a0505)}.horror-mode .mode-button.active{background:linear-gradient(135deg,#ff6b00,#8b00ff);box-shadow:0 2px 10px #ff6b0066}.horror-mode .spin-button{background:linear-gradient(135deg,#ff6b00,red)}.horror-mode .spin-button:hover:not(:disabled){box-shadow:0 6px 20px #ff6b0066}.horror-mode .new-movies-button{background:linear-gradient(135deg,#8b00ff,indigo)}.horror-mode .new-movies-button:hover:not(:disabled){box-shadow:0 6px 20px #8b00ff66}.horror-mode .movie-result-title{background:#1a0a0af2}.horror-mode .movie-result-year{background:#ff6b00e6}.horror-mode .loading-state p{color:#ff6b00}.horror-mode .loading-spinner{border-top-color:#ff6b00}.wheel-container{position:relative;width:clamp(350px,80vw,500px);height:clamp(350px,80vw,500px);transition:opacity .3s ease,transform .3s ease}.wheel-container.dimmed{opacity:.3;transform:scale(.95)}#wheelCanvas{width:100%;height:100%}.wheel-pointer{position:absolute;top:-15px;left:50%;transform:translate(-50%);width:0;height:0;border-left:20px solid transparent;border-right:20px solid transparent;border-top:30px solid #c41e3a;z-index:10}.spin-button,.new-movies-button{padding:clamp(.75rem,3vw,1rem) clamp(1.5rem,6vw,2rem);font-size:clamp(1rem,3.5vw,1.25rem);font-weight:700;border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;font-family:Georgia,serif;box-shadow:0 4px 15px #0003}.spin-button{background:linear-gradient(135deg,#c41e3a,#8b0000);color:#fff}.spin-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #c41e3a66}.spin-button:disabled{opacity:.5;cursor:not-allowed}.new-movies-button{background:linear-gradient(135deg,#2d5f3f,#1a472a);color:#fff;font-size:clamp(.9rem,3vw,1rem);padding:clamp(.6rem,2.5vw,.8rem) clamp(1.2rem,5vw,1.5rem)}.new-movies-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #2d5f3f66}.new-movies-button:disabled{opacity:.5;cursor:not-allowed}.buy-me-coffee{display:inline-block;padding:clamp(.6rem,2.5vw,.8rem) clamp(1.2rem,5vw,1.5rem);font-size:clamp(.9rem,3vw,1rem);font-weight:600;text-decoration:none;color:#fff;background:linear-gradient(135deg,#fd0,#fbb034);border-radius:50px;box-shadow:0 4px 15px #0003;transition:all .3s ease;font-family:Georgia,serif;margin-top:.5rem}.buy-me-coffee:hover{transform:translateY(-2px);box-shadow:0 6px 20px #fbb03466;background:linear-gradient(135deg,#fbb034,#fd0)}.movie-result{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);display:none;flex-direction:column;align-items:center;justify-content:center;z-index:10;opacity:0;pointer-events:none}.movie-result.show{display:flex;animation:fadeIn .3s ease forwards;pointer-events:auto}.movie-result-poster{width:200px;height:300px;object-fit:cover;border-radius:8px;box-shadow:0 8px 25px #0000004d;transform-origin:center center;animation:unfoldFromWedge 2s ease-in-out forwards}.movie-result-title{font-size:clamp(1.4rem,4vw,1.8rem);color:#fff;margin-top:20px;font-weight:700;opacity:0;animation:fadeInUp .6s ease 1.6s forwards;background:#1a472af2;padding:12px 24px;border-radius:8px;box-shadow:0 4px 12px #0000004d;max-width:400px;text-align:center}.movie-result-year{font-size:clamp(1rem,3vw,1.2rem);color:#fff;margin-top:8px;opacity:0;animation:fadeInUp .6s ease 1.9s forwards;background:#c41e3ae6;padding:6px 16px;border-radius:6px;font-weight:600}@keyframes unfoldFromWedge{0%{clip-path:polygon(0% 0%,100% 0%,50% 100%);transform:translate(var(--start-x, 0px),var(--start-y, 0px)) scale(.4) rotateX(70deg);opacity:1}15%{clip-path:polygon(0% 0%,100% 0%,50% 100%);transform:translate(calc(var(--start-x, 0px) * .85),calc(var(--start-y, 0px) * .85)) scale(.5) rotateX(65deg);opacity:1}35%{clip-path:polygon(0% 0%,100% 0%,50% 100%,20% 100%);transform:translate(calc(var(--start-x, 0px) * .5),calc(var(--start-y, 0px) * .5)) scale(.65) rotateX(45deg);opacity:1}60%{clip-path:polygon(0% 0%,100% 0%,50% 100%,0% 100%);transform:translate(calc(var(--start-x, 0px) * .25),calc(var(--start-y, 0px) * .25)) scale(.85) rotateX(20deg);opacity:1}85%{clip-path:polygon(0% 0%,100% 0%,80% 100%,0% 100%);transform:translate(calc(var(--start-x, 0px) * .125),calc(var(--start-y, 0px) * .125)) scale(.925) rotateX(10deg);opacity:1}to{clip-path:polygon(0% 0%,100% 0%,100% 100%,0% 100%);transform:translate(0) scale(1) rotateX(0);opacity:1}}@keyframes fadeIn{to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.app{padding:.5rem}.container{gap:1rem}.wheel-container{width:clamp(300px,90vw,350px);height:clamp(300px,90vw,350px)}.movie-result-poster{width:160px;height:240px}.movie-result-title{font-size:1.4rem}}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;min-height:500px;padding:3rem}.loading-state p{font-size:1.2rem;color:#d4af37;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.loading-spinner{width:60px;height:60px;border:6px solid rgba(255,255,255,.2);border-top:6px solid #d4af37;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(hover:none)and (pointer:coarse){.spin-button:active:not(:disabled),.new-movies-button:active:not(:disabled){transform:scale(.95)}}body{margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
