*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg0:#080810;--bg1:#0f0f1a;--bg2:#1a1a2e;--text1:#f0ece0;--text2:#9a9490;--accent:#e8c45a;--accent2:#c0392b;--radius:12px}body{background:var(--bg0);color:var(--text1);min-height:100vh;font-family:Inter,system-ui,sans-serif}button{font-family:inherit}.btn-primary,.btn-secondary,.btn-ghost{transition:filter .15s,transform .1s,background .15s}.btn-primary:active:not(:disabled),.btn-secondary:active:not(:disabled),.btn-ghost:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:#111;cursor:pointer;border:none;border-radius:8px;padding:12px 28px;font-size:1rem;font-weight:600}.btn-primary:hover:not(:disabled){filter:brightness(1.1)}.btn-primary:disabled{opacity:.45;cursor:not-allowed;filter:none}.btn-secondary{color:var(--accent);border:1.5px solid var(--accent);cursor:pointer;background:0 0;border-radius:8px;padding:12px 28px;font-size:1rem;font-weight:600}.btn-secondary:hover:not(:disabled){background:#e8c45a1a}.btn-secondary:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{color:var(--text2);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 14px;font-size:.9rem}.btn-ghost:hover{color:var(--text1);background:#ffffff0d}.modal-overlay{z-index:100;background:#000000d9;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--bg1);border:1px solid #222;border-radius:16px;width:100%;max-width:420px;padding:32px;animation:.25s ease-out modalIn}.modal h2{margin-bottom:20px;font-size:1.3rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:none}}.input{background:var(--bg2);width:100%;color:var(--text1);border:1px solid #333;border-radius:8px;outline:none;padding:12px;font-family:inherit;font-size:1rem;transition:border-color .15s}.input:focus{border-color:var(--accent)}.input::placeholder{color:var(--text2)}.card-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px;display:grid}.movie-card-wrapper{perspective:900px;flex-direction:column;flex-shrink:0;align-items:center;width:130px;height:195px;display:flex}.movie-card{width:130px;height:195px;transform-style:preserve-3d;will-change:transform;position:relative}.movie-card-front,.movie-card-back{backface-visibility:hidden;border-radius:8px;position:absolute;inset:0;overflow:hidden}.movie-card-back{background:var(--bg2);border:1px solid #333;justify-content:center;align-items:center;font-size:2.2rem;display:flex;transform:rotateY(180deg)}.movie-card-label{color:var(--text2);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:130px;margin-top:6px;font-size:.62rem;overflow:hidden}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-20px)rotate(0)scale(1)}80%{opacity:1}to{opacity:0;transform:translateY(100vh)rotate(720deg)scale(.5)}}.confetti-piece{pointer-events:none;z-index:50;animation:linear forwards confetti-fall;position:fixed}[data-card-id]{transition:opacity .5s}@keyframes countdown-pop{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.3)}70%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes countdown-ring{0%{opacity:.8;transform:scale(.5)}to{opacity:0;transform:scale(2.5)}}@keyframes countdown-glow{0%,to{box-shadow:0 0 30px #e8c45a4d}50%{box-shadow:0 0 60px #e8c45a99,0 0 100px #e8c45a33}}@keyframes roundReveal{0%{opacity:0;letter-spacing:.3em;transform:translateY(-10px)scale(.9)}to{opacity:1;letter-spacing:.08em;transform:none}}.round-label{color:var(--text2);text-transform:uppercase;font-size:.85rem;animation:.5s ease-out roundReveal}@keyframes winnerFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes winnerGlow{0%,to{filter:drop-shadow(0 0 14px #e8c45a80)drop-shadow(0 8px 20px #000000bf)}50%{filter:drop-shadow(0 0 24px #e8c45ab3)drop-shadow(0 8px 20px #000000bf)}}@keyframes resultPosterIn{0%{opacity:0;filter:blur(8px);transform:scale(.7)}to{opacity:1;filter:blur();transform:scale(1)}}@keyframes resultTitleIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes resultSubIn{0%{opacity:0}to{opacity:1}}@keyframes pageIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.page-enter{animation:.3s ease-out pageIn}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)scale(.95)}to{opacity:1;transform:none}}@keyframes toastOut{0%{opacity:1}to{opacity:0;transform:translateY(-5px)}}.toast{background:var(--bg2);color:var(--text1);z-index:200;pointer-events:none;border:1px solid #333;border-radius:8px;padding:10px 20px;font-size:.85rem;font-weight:500;animation:.2s ease-out toastIn,.3s ease-in 1.5s forwards toastOut;position:fixed;bottom:32px;left:50%;transform:translate(-50%)}@keyframes graveIn{0%{opacity:0;transform:translateY(-8px)scale(.9)}to{opacity:.5;transform:none}}@keyframes tvFlicker{0%,to{opacity:.25}50%{opacity:.4}73%{opacity:.35}}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:3px solid #333;border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;margin:40px auto;animation:.8s linear infinite spin}
