:root{--bg-gradient:linear-gradient(135deg, #0f2027, #203a43, #2c5364);--glass-bg:#ffffff1a;--glass-border:#fff3;--glass-shadow:0 8px 32px 0 #0000005e;--text-main:#fff;--text-muted:#ffffffb3;--accent:#4facfe;--accent-hover:#00f2fe;--danger:#ff416c;--danger-hover:#ff4b2b}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-gradient);color:var(--text-main);flex-direction:column;min-height:100vh;font-family:Outfit,sans-serif;display:flex}#root{flex-direction:column;flex:1;display:flex}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:16px}button{cursor:pointer;border:none;outline:none;font-family:Outfit,sans-serif;font-weight:600;transition:all .3s}.btn-primary{background:linear-gradient(to right, var(--accent), var(--accent-hover));color:#fff;border-radius:30px;padding:12px 24px;box-shadow:0 4px 15px #00f2fe66}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00f2fe99}.btn-danger{background:linear-gradient(to right, var(--danger), var(--danger-hover));color:#fff;border-radius:20px;padding:8px 16px;font-size:.9rem}.btn-danger:hover{transform:translateY(-2px)}.btn-large{padding:16px 40px;font-size:1.2rem}.room-info-toggle{width:40px;height:40px;color:var(--text-main);border-radius:12px;flex:0 0 40px;justify-content:center;align-items:center;display:inline-flex}.room-info-toggle:hover{color:var(--accent);transform:translateY(-1px)}input,select{border:1px solid var(--glass-border);color:#fff;background:#ffffff0d;border-radius:12px;width:100%;margin-bottom:16px;padding:12px 20px;font-family:Outfit,sans-serif;font-size:1rem;transition:border-color .3s}input:focus,select:focus{border-color:var(--accent);outline:none}input::placeholder{color:var(--text-muted)}select option{color:#fff;background:#203a43}@keyframes shake{0%{transform:translate(1px,1px)rotate(0)}10%{transform:translate(-1px,-2px)rotate(-1deg)}20%{transform:translate(-3px)rotate(1deg)}30%{transform:translate(3px,2px)rotate(0)}40%{transform:translate(1px,-1px)rotate(1deg)}50%{transform:translate(-1px,2px)rotate(-1deg)}60%{transform:translate(-3px,1px)rotate(0)}70%{transform:translate(3px,1px)rotate(-1deg)}80%{transform:translate(-1px,-1px)rotate(1deg)}90%{transform:translate(1px,2px)rotate(0)}to{transform:translate(1px,-2px)rotate(-1deg)}}.shaking{animation:.5s cubic-bezier(.36,.07,.19,.97) infinite both shake}@keyframes spinFast{0%{transform:rotate(0)scale(1)}50%{transform:rotate(180deg)scale(.9)}to{transform:rotate(360deg)scale(1)}}.spin-fast{animation:.2s linear infinite spinFast}
