:root{--bg-dark: #090c10;--bg-card: rgba(18, 24, 38, .75);--bg-card-hover: rgba(26, 35, 54, .9);--border-glass: rgba(255, 255, 255, .08);--border-glow: rgba(0, 255, 136, .35);--accent-green: #00ff88;--accent-green-glow: 0 0 20px rgba(0, 255, 136, .4);--accent-cyan: #00e5ff;--accent-gold: #ffb800;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--danger: #ef4444;--radius-lg: 16px;--radius-md: 10px;--radius-sm: 6px;--transition: all .25s cubic-bezier(.16, 1, .3, 1)}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--bg-dark);color:var(--text-primary);font-family:Outfit,-apple-system,BlinkMacSystemFont,sans-serif;overflow-x:hidden;background-image:radial-gradient(circle at 10% 10%,rgba(0,229,255,.05) 0%,transparent 40%),radial-gradient(circle at 90% 90%,rgba(0,255,136,.05) 0%,transparent 40%);background-attachment:fixed;min-height:100vh}.otobonus-app{max-width:1080px;margin:0 auto;padding:16px 20px 40px}.app-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:var(--bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-glass);border-radius:var(--radius-lg);margin-bottom:24px;box-shadow:0 8px 32px #0000005e}.brand-section{display:flex;align-items:center;gap:12px}.brand-icon{font-size:28px;filter:drop-shadow(0 0 10px rgba(0,255,136,.5))}.brand-title{font-size:20px;font-weight:800;letter-spacing:-.5px;background:linear-gradient(135deg,#fff,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.brand-subtitle{font-size:11px;color:var(--accent-green);text-transform:uppercase;letter-spacing:1.5px;font-weight:700}.user-badge{display:flex;align-items:center;gap:8px;padding:6px 14px;background:#00ff8814;border:1px solid rgba(0,255,136,.2);border-radius:999px;font-size:13px;font-weight:600;color:var(--accent-green)}.pulse-dot{width:8px;height:8px;background:var(--accent-green);border-radius:50%;box-shadow:var(--accent-green-glow);animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(.95);opacity:.8}50%{transform:scale(1.3);opacity:1}to{transform:scale(.95);opacity:.8}}.category-tabs{display:flex;gap:8px;margin-bottom:24px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.category-tabs::-webkit-scrollbar{display:none}.tab-btn{padding:10px 18px;border-radius:var(--radius-md);border:1px solid var(--border-glass);background:#12182680;color:var(--text-secondary);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:var(--transition);display:flex;align-items:center;gap:8px}.tab-btn:hover{background:var(--bg-card-hover);color:#fff;border-color:#ffffff26}.tab-btn.active{background:linear-gradient(135deg,#00ff8826,#00e5ff26);border-color:var(--accent-green);color:#fff;box-shadow:0 0 15px #0f83}.bonuses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.bonus-card{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-glass);border-radius:var(--radius-lg);padding:20px;display:flex;flex-direction:column;justify-content:space-between;transition:var(--transition);position:relative;overflow:hidden}.bonus-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent-green),transparent);opacity:0;transition:var(--transition)}.bonus-card:hover{transform:translateY(-4px);background:var(--bg-card-hover);border-color:#00ff884d;box-shadow:0 12px 30px #00000080,0 0 20px #00ff881a}.bonus-card:hover:before{opacity:1}.card-badge-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.badge{padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.badge-loss{background:#ef44441f;color:#f87171;border:1px solid rgba(239,68,68,.3)}.badge-deposit{background:#00e5ff1f;color:var(--accent-cyan);border:1px solid rgba(0,229,255,.3)}.badge-freespin{background:#00ff881f;color:var(--accent-green);border:1px solid rgba(0,255,136,.3)}.badge-freebet{background:#ffb8001f;color:var(--accent-gold);border:1px solid rgba(255,184,0,.3)}.card-title{font-size:17px;font-weight:700;line-height:1.35;margin-bottom:8px;color:#fff}.card-desc{font-size:13px;color:var(--text-secondary);line-height:1.5;margin-bottom:20px}.card-action{margin-top:auto}.claim-btn{width:100%;padding:12px;border-radius:var(--radius-md);border:none;background:linear-gradient(135deg,#0f8,#00bd68);color:#051a0e;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 15px #00ff884d}.claim-btn:hover{filter:brightness(1.1);transform:scale(1.02);box-shadow:0 6px 20px #00ff8880}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:16px;animation:fadeIn .2s ease-out}.modal-content{background:#111827;border:1px solid var(--border-glow);border-radius:var(--radius-lg);max-width:440px;width:100%;padding:30px 24px;text-align:center;position:relative;box-shadow:0 20px 50px #000c,0 0 30px #0f83;animation:scaleUp .3s cubic-bezier(.16,1,.3,1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.modal-icon{font-size:48px;margin-bottom:16px}.modal-title{font-size:20px;font-weight:800;margin-bottom:10px;color:#fff}.modal-text{font-size:14px;color:var(--text-secondary);line-height:1.6;margin-bottom:24px}.modal-close-btn{width:100%;padding:12px;border-radius:var(--radius-md);border:1px solid var(--border-glass);background:#ffffff14;color:#fff;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:var(--transition)}.modal-close-btn:hover{background:#ffffff26}.spinner{width:44px;height:44px;border:3px solid rgba(0,255,136,.15);border-top-color:var(--accent-green);border-radius:50%;margin:0 auto 18px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
