@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&family=Inter:wght@400;500;600;700&display=swap";:root{--rv-navy-deep: #050c18;--rv-navy-base: #0a192f;--rv-navy-card: #112240;--rv-navy-light: #1d2d44;--rv-accent-cyan: #00d2ff;--rv-accent-blue: #3b82f6;--rv-accent-gold: #ffc107;--rv-text-bright: #e6f1ff;--rv-text-main: #ccd6f6;--rv-text-dim: #8892b0;--header-height: 100px;--controls-height: 80px;--card-min-width: 150px;--transition-smooth: all .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,sans-serif;background-color:var(--rv-navy-deep);color:var(--rv-text-main);line-height:1.5;-webkit-font-smoothing:antialiased;overflow:hidden}.app-wrapper{display:flex;flex-direction:column;height:100vh;width:100vw;background:radial-gradient(circle at center,var(--rv-navy-base) 0%,var(--rv-navy-deep) 100%)}.rv-header{height:var(--header-height);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;z-index:10}.rv-logo{font-family:Montserrat,sans-serif;font-weight:900;font-style:italic;font-size:3rem;letter-spacing:-2px;color:#fff;text-transform:lowercase}.rv-logo span{color:var(--rv-accent-cyan);vertical-align:super;font-size:1.2rem;margin-left:2px}.rv-subtitle{display:flex;align-items:center;gap:12px;text-transform:uppercase;font-size:.75rem;font-weight:700;letter-spacing:2px;color:var(--rv-text-dim)}.badge-winners{background:var(--rv-navy-light);padding:2px 8px;border-radius:4px;color:var(--rv-accent-gold)}.rv-controls-bar{background:#112240b3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.05);padding:1rem 2rem;display:flex;justify-content:center;gap:1rem;z-index:10;box-shadow:0 4px 20px #0000004d}.rv-btn-winners{position:relative;background:#fbbf241a;color:var(--rv-accent-gold);border:1px solid rgba(251,191,36,.3)}.rv-btn-winners:hover{background:#fbbf2433;border-color:var(--rv-accent-gold)}.rv-content{flex:1;overflow:hidden;padding:1.5rem;display:flex;justify-content:center}.rv-grid-container{width:100%;max-width:1200px;height:100%;overflow-y:auto;padding-right:8px}.rv-grid-container::-webkit-scrollbar{width:6px}.rv-grid-container::-webkit-scrollbar-track{background:transparent}.rv-grid-container::-webkit-scrollbar-thumb{background:var(--rv-navy-light);border-radius:10px}.rv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--card-min-width),1fr));gap:12px}.rv-card{background:var(--rv-navy-card);border:1px solid rgba(255,255,255,.05);border-radius:8px;padding:1rem;text-align:center;transition:var(--transition-smooth);display:flex;flex-direction:column;justify-content:center;min-height:90px;cursor:default}.rv-card h3{font-size:.85rem;color:var(--rv-text-bright);font-weight:600;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rv-card p{font-size:.65rem;color:var(--rv-text-dim);text-transform:uppercase;letter-spacing:.5px}.rv-card.active{background:var(--rv-accent-blue);border:3px solid var(--rv-accent-gold);transform:scale(1.05);box-shadow:0 0 25px #3b82f680;z-index:5}.rv-card.active h3{color:#fff}.rv-card.active p{color:#fffc}.rv-btn{padding:.75rem 1.5rem;border-radius:8px;font-weight:700;font-size:.9rem;text-transform:uppercase;letter-spacing:1px;border:none;cursor:pointer;transition:var(--transition-smooth);display:flex;align-items:center;justify-content:center;gap:8px}.rv-btn:disabled{opacity:.5;cursor:not-allowed}.rv-btn-primary{background:linear-gradient(135deg,var(--rv-accent-blue),#1e40af);color:#fff;box-shadow:0 4px 15px #3b82f64d}.rv-btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}.rv-btn-secondary{background:var(--rv-navy-light);color:var(--rv-text-main);border:1px solid rgba(255,255,255,.1)}.rv-btn-secondary:hover:not(:disabled){background:var(--rv-navy-card);border-color:var(--rv-text-dim)}.rv-btn-outline{background:transparent;color:var(--rv-text-main);border:2px solid var(--rv-navy-light)}.rv-btn-outline:hover:not(:disabled){border-color:var(--rv-accent-blue);color:#fff}.modal-overlay{position:fixed;inset:0;z-index:1000;background:#050c18f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:2rem;display:flex;align-items:center;justify-content:center}.winner-modal{background:var(--rv-navy-card);width:100%;max-width:550px;padding:3rem;border-radius:20px;text-align:center;border:2px solid rgba(59,130,246,.3);box-shadow:0 0 60px #00000080,0 0 30px #3b82f633;position:relative}.winner-icon{width:80px;height:80px;background:#00d2ff1a;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 2rem;color:var(--rv-accent-cyan)}.winner-label{color:var(--rv-accent-cyan);font-weight:800;font-size:1.25rem;letter-spacing:6px;margin-bottom:1rem}.winner-name{color:#fff;font-size:3rem;font-weight:900;line-height:1.1;margin-bottom:3rem;font-family:Montserrat,sans-serif}.winner-actions{display:flex;gap:1rem}.winner-actions button{flex:1;padding:1.25rem;font-size:1.1rem}.btn-confirm{background:var(--rv-accent-blue);color:#fff}.btn-absent{background:transparent;color:#ef4444;border:1px solid #ef4444}.btn-absent:hover{background:#ef44441a}.history-modal{background:var(--rv-navy-card);width:100%;max-width:500px;max-height:80vh;border-radius:20px;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 50px #00000080}.history-header{padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.05);display:flex;justify-content:space-between;align-items:center;background:#ffffff05}.history-header h2{font-size:1.25rem;color:var(--rv-accent-gold);font-weight:800;text-transform:uppercase;letter-spacing:1px}.history-content{flex:1;overflow-y:auto;padding:1rem}.history-item{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:12px;background:#ffffff08;margin-bottom:.5rem;border:1px solid transparent;transition:var(--transition-smooth)}.history-item:hover{background:#ffffff0d;border-color:#3b82f64d}.item-position{width:32px;height:32px;background:var(--rv-accent-blue);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.8rem;flex-shrink:0}.item-info{flex:1;text-align:left}.item-info h4{font-size:.9rem;color:#fff;font-weight:700;margin-bottom:2px}.item-info p{font-size:.7rem;color:var(--rv-text-dim)}.history-empty{padding:3rem 1rem;text-align:center;color:var(--rv-text-dim);font-style:italic}.btn-close-history{background:transparent;border:none;color:var(--rv-text-dim);cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:var(--transition-smooth)}.btn-close-history:hover{background:#ffffff1a;color:#fff}.splash-wrapper{position:fixed;inset:0;z-index:2000;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at center,var(--rv-navy-base) 0%,var(--rv-navy-deep) 100%);overflow:hidden}.splash-content{position:relative;z-index:10;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2rem;background:#0a192f66;padding:4rem;border-radius:40px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.05);box-shadow:0 30px 60px #00000080}.splash-logo{font-family:Montserrat,sans-serif;font-weight:900;font-style:italic;font-size:5rem;letter-spacing:-4px;color:#fff;text-shadow:0 0 30px rgba(0,210,255,.3)}.splash-logo span{color:var(--rv-accent-cyan);vertical-align:super;font-size:2rem}.splash-title{font-family:Montserrat,sans-serif;font-weight:800;font-size:2.5rem;text-transform:uppercase;letter-spacing:10px;background:linear-gradient(to right,#fff,#8892b0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:2rem}.btn-start-raffle{padding:1.5rem 4rem;font-size:1.5rem;border-radius:20px;background:linear-gradient(135deg,var(--rv-accent-blue),var(--rv-accent-cyan));color:#fff;font-weight:900;box-shadow:0 10px 40px #3b82f666;border:none;cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.btn-start-raffle:hover{transform:scale(1.1) translateY(-5px);box-shadow:0 20px 60px #00d2ff99}.hearts-container{position:absolute;inset:0;pointer-events:none}.heart{position:absolute;color:#ff69b4;opacity:.6;filter:drop-shadow(0 0 10px rgba(255,105,180,.4));animation:float-heart linear infinite}@keyframes float-heart{0%{transform:translateY(110vh) translate(0) rotate(0) scale(1);opacity:0}10%{opacity:.6}90%{opacity:.6}to{transform:translateY(-10vh) translate(var(--drift)) rotate(var(--rotation)) scale(var(--scale));opacity:0}}
