:root{--color-purple: #7c3aed;--color-purple-dark: #5b21b6;--color-pink: #ec4899;--color-orange: #fb923c;--color-yellow: #fbbf24;--color-teal: #14b8a6;--color-success: #22c55e;--color-danger: #f43f5e;--gradient-bg: linear-gradient(135deg, #4c1d95 0%, #7c3aed 35%, #db2777 75%, #f97316 100%);--gradient-accent: linear-gradient(135deg, var(--color-pink), var(--color-orange));--gradient-success: linear-gradient(135deg, #16a34a, #22c55e);--color-surface: #ffffff;--color-surface-muted: #faf5ff;--color-text: #1e1b2e;--color-text-muted: #6b7280;--radius-lg: 20px;--radius-md: 14px;--radius-sm: 10px;--radius-pill: 999px;--shadow-card: 0 10px 30px rgba(76, 29, 149, .25);--shadow-card-hover: 0 16px 40px rgba(76, 29, 149, .35);color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Segoe UI,system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;background:var(--gradient-bg);background-attachment:fixed;color:var(--color-text);min-height:100vh}h1,h2,h3,p{margin:0}button{font-family:inherit}a{color:inherit}.app-shell{min-height:100vh;display:flex;flex-direction:column}.navbar{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;gap:12px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:800;color:#fff;text-decoration:none;letter-spacing:.3px}.brand-emoji{font-size:28px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.25))}.nav-links{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.nav-pill{color:#fff;background:#ffffff29;border:1px solid rgba(255,255,255,.35);padding:8px 16px;border-radius:var(--radius-pill);font-weight:600;font-size:14px;text-decoration:none;cursor:pointer;transition:transform .15s ease,background .15s ease}.nav-pill:hover{background:#ffffff47;transform:translateY(-1px)}.page{flex:1;display:flex;flex-direction:column;align-items:center;padding:24px 16px 60px}.page-inner{width:100%;max-width:480px;display:flex;flex-direction:column;gap:18px}.page-inner.wide{max-width:860px}.card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:28px 24px;animation:pop-in .35s cubic-bezier(.2,.9,.3,1.2)}.card-header{display:flex;flex-direction:column;gap:6px;margin-bottom:18px;text-align:center}.card-title{font-size:24px;font-weight:800;background:var(--gradient-accent);-webkit-background-clip:text;background-clip:text;color:transparent}.card-subtitle{color:var(--color-text-muted);font-size:14px}.hero{text-align:center;color:#fff;display:flex;flex-direction:column;align-items:center;gap:14px;padding:30px 10px 10px}.hero-emoji{font-size:64px;animation:bounce 2.2s ease-in-out infinite}.hero h1{font-size:clamp(32px,6vw,48px);font-weight:900;letter-spacing:-.5px}.hero p{font-size:16px;opacity:.9;max-width:480px}.field{display:flex;flex-direction:column;gap:6px}label{font-size:13px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.4px}input[type=email],input[type=password],input[type=text],input[type=number],textarea,select{border:2px solid #e9e4f5;border-radius:var(--radius-md);padding:12px 14px;font-size:16px;outline:none;transition:border-color .15s ease,box-shadow .15s ease;background:#fff;color:var(--color-text);width:100%}input:focus,textarea:focus,select:focus{border-color:var(--color-purple);box-shadow:0 0 0 4px #7c3aed26}.btn{border:none;border-radius:var(--radius-pill);padding:13px 22px;font-size:15px;font-weight:700;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:not(:disabled):active{transform:scale(.97)}.btn-block{width:100%}.btn-primary{background:var(--gradient-accent);color:#fff;box-shadow:0 8px 20px #ec489966}.btn-primary:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 12px 26px #ec489980}.btn-secondary{background:var(--color-surface-muted);color:var(--color-purple-dark);border:2px solid #ede4fb}.btn-secondary:not(:disabled):hover{background:#f1e8fd}.btn-success{background:var(--gradient-success);color:#fff;box-shadow:0 8px 20px #22c55e66}.btn-danger{background:linear-gradient(135deg,#e11d48,#f43f5e);color:#fff}.btn-sm{padding:8px 14px;font-size:13px}.option-grid{display:grid;gap:12px;grid-template-columns:1fr}.option-btn{border:2px solid #ede4fb;background:#fff;border-radius:var(--radius-md);padding:14px 16px;font-size:15px;font-weight:600;text-align:left;cursor:pointer;transition:all .15s ease;color:var(--color-text)}.option-btn:not(:disabled):hover{border-color:var(--color-purple);background:var(--color-surface-muted);transform:translateY(-1px)}.option-btn:disabled{cursor:not-allowed;opacity:.6}.bingo-row{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.bingo-ball{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;font-weight:800;font-size:18px;color:#fff;background:var(--gradient-accent);box-shadow:0 6px 14px #7c3aed59;animation:pop-in .4s cubic-bezier(.2,.9,.3,1.2)}.bingo-ball.win{background:var(--gradient-success);animation:bounce 1s ease-in-out infinite}.bingo-input{text-align:center;font-weight:700;font-size:18px}.range-hint{font-size:11px;color:var(--color-text-muted);text-align:center}.badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--radius-pill);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}.badge-draft{background:#e5e7eb;color:#374151}.badge-open{background:#dcfce7;color:#15803d}.badge-closed{background:#fee2e2;color:#b91c1c}.alert{border-radius:var(--radius-md);padding:14px 16px;font-size:14px;font-weight:600}.alert-success{background:#dcfce7;color:#166534}.alert-danger{background:#fee2e2;color:#991b1b}.alert-info{background:#ede9fe;color:#5b21b6}.table-wrap{overflow-x:auto;border-radius:var(--radius-md);border:1px solid #ede4fb}table{width:100%;border-collapse:collapse;min-width:480px}th,td{padding:10px 12px;text-align:left;font-size:13px;white-space:nowrap}thead th{background:var(--color-surface-muted);color:var(--color-purple-dark);text-transform:uppercase;font-size:11px;letter-spacing:.4px}tbody tr:nth-child(odd){background:#fcfaff}tbody tr.top-match{background:#fef3c7}.center-text{text-align:center}.stack{display:flex;flex-direction:column;gap:14px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.muted{color:var(--color-text-muted);font-size:13px}.divider{height:1px;background:#ede4fb;border:none;margin:4px 0}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spin .8s linear infinite;margin:40px auto}@keyframes pop-in{0%{opacity:0;transform:scale(.9) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:640px){.navbar{padding:20px 32px}.page{padding:40px 24px 80px}.card{padding:36px 40px}.option-grid{grid-template-columns:1fr 1fr}}@media(min-width:960px){.page-inner.wide{max-width:980px}}
