*{margin:0;padding:0;box-sizing:border-box}body{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#1a0a2e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color:#fff;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.bg-video{position:fixed;top:0;left:0;width:100vw;height:100vh;object-fit:cover;z-index:0;opacity:.45}.bg-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(135deg,#667eea66,#764ba280,#f093fb4d);z-index:1}.container{text-align:center;padding:2rem 2rem 4rem;max-width:500px;width:100%;position:relative;z-index:2}h1{font-size:3rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;text-shadow:3px 3px 0 rgba(0,0,0,.2);margin-bottom:.5rem}.subtitle{font-size:1.1rem;opacity:.85;margin-bottom:2.5rem}.btn{display:block;width:100%;max-width:320px;margin:.75rem auto;padding:16px 32px;font-size:1.1rem;font-weight:700;border:none;border-radius:50px;cursor:pointer;text-decoration:none;text-align:center;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 15px #0003}.btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.btn-display{background:#ffffff26;color:#fff;border:2px solid rgba(255,255,255,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-player{background:#fff;color:#764ba2}.btn-go{display:inline-block;margin-left:8px;padding:12px 24px;font-size:1.1rem;font-weight:700;background:#fff;color:#764ba2;border:none;border-radius:12px;cursor:pointer}.btn-small{padding:8px 16px;font-size:.9rem;font-weight:700;background:#fff;color:#764ba2;border:none;border-radius:8px;cursor:pointer}.btn-logout{background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.4);padding:8px 20px;font-size:.9rem;border-radius:50px;cursor:pointer;margin-top:1rem}.btn-share-room{background:linear-gradient(135deg,#f093fb,#667eea);color:#fff;border:none;padding:6px 12px;font-size:.75rem;font-weight:700;border-radius:8px;cursor:pointer}.hidden{display:none}.user-info{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:1rem;margin-bottom:1.5rem;font-size:.95rem}.room-list{margin-top:1rem;text-align:left}.room-item{background:#ffffff1a;border-radius:8px;padding:10px 16px;margin:6px 0;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .15s}.room-item:hover{background:#fff3}.room-code{font-weight:700;font-size:1.2rem;letter-spacing:.1em}input[type=text]{width:180px;padding:12px 16px;font-size:1.5rem;font-weight:700;text-align:center;text-transform:uppercase;letter-spacing:.3em;border:2px solid rgba(255,255,255,.5);border-radius:12px;background:#ffffff26;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);outline:none}input[type=text]::placeholder{color:#ffffff80;letter-spacing:.2em}.btn-new-room{background:linear-gradient(135deg,#f093fb,#667eea);color:#fff;font-size:1.2rem}.toggle-group{display:flex;gap:0;border-radius:50px;overflow:hidden;max-width:320px;margin:0 auto;border:2px solid rgba(255,255,255,.3)}.toggle-group .toggle-btn{flex:1;padding:14px 20px;font-size:1rem;font-weight:700;border:none;cursor:pointer;background:#ffffff1a;color:#ffffffb3;transition:all .2s}.toggle-group .toggle-btn.active{background:#fff;color:#764ba2}.form-group{margin:1.2rem auto;max-width:320px;text-align:left}.form-group label{display:block;font-size:.85rem;opacity:.7;margin-bottom:.4rem;text-align:center}.form-group input[type=number]{width:100%;padding:12px 16px;font-size:1.2rem;font-weight:700;text-align:center;border:2px solid rgba(255,255,255,.5);border-radius:12px;background:#ffffff26;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);outline:none}.campaign-notice{background:#ffffff1a;border-radius:12px;padding:1.5rem;margin:1.5rem auto;max-width:320px;text-align:center}.campaign-notice p{opacity:.7;margin-top:.5rem;font-size:.95rem}.btn-campaign{display:block;width:100%;max-width:320px;margin:.5rem auto;padding:14px 24px;font-size:1rem;font-weight:700;border:2px solid rgba(255,255,255,.3);border-radius:50px;cursor:pointer;background:#ffffff1a;color:#fff;transition:all .15s}.btn-campaign:hover{background:#fff3}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}
