.page{padding:16px;flex:1;}
.page-title{font-size:22px;font-weight:800;margin-bottom:16px;display:flex;align-items:center;gap:10px;}
.section-title{font-size:16px;font-weight:800;margin:20px 0 12px;display:flex;align-items:center;gap:8px;}
.tournament-card{background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);margin-bottom:12px;transition:transform .2s;}
.tournament-card:active{transform:scale(.98);}
.t-card-banner{height:120px;background:var(--gradient);display:flex;align-items:center;justify-content:center;position:relative;}
.t-card-body{padding:14px;}
.t-card-title{font-weight:700;font-size:14px;line-height:1.3;}
.t-card-meta{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:12px;}
.t-prize{color:var(--success);font-weight:800;font-size:15px;}
.t-fee{color:var(--primary);font-weight:700;}
.t-players{color:var(--text-muted);font-weight:600;}
.balance-card{border-radius:var(--radius);padding:20px;color:#fff;margin-bottom:12px;box-shadow:var(--shadow-3d);position:relative;overflow:hidden;}
.balance-card::after{content:'';position:absolute;top:-30px;right:-30px;width:100px;height:100px;background:rgba(255,255,255,.15);border-radius:50%;}
.b-wallet{background:linear-gradient(135deg,#FF69B4,#FF1493);}
.b-winning{background:linear-gradient(135deg,#00C853,#009624);}
.b-bonus{background:linear-gradient(135deg,#FFB300,#FF8F00);}
.b-label{font-size:12px;opacity:.85;font-weight:600;}
.b-amount{font-size:28px;font-weight:800;margin:4px 0;}
.quick-amounts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px;}
.quick-amt{padding:12px;border:2px solid var(--border);border-radius:var(--radius-sm);text-align:center;font-weight:700;font-size:14px;cursor:pointer;background:var(--card);transition:all .15s;}
.quick-amt.selected,.quick-amt:active{border-color:var(--primary);background:rgba(255,105,180,.08);color:var(--primary);}
.tabs{display:flex;gap:8px;margin-bottom:16px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch;}
.tab{padding:10px 18px;border-radius:20px;font-weight:700;font-size:13px;white-space:nowrap;background:var(--card);color:var(--text-secondary);border:2px solid var(--border);cursor:pointer;transition:all .2s;}
.tab.active{background:var(--gradient);color:#fff;border-color:transparent;box-shadow:var(--shadow);}
.txn-item{display:flex;align-items:center;gap:12px;padding:14px;background:var(--card);border-radius:var(--radius);margin-bottom:8px;box-shadow:0 2px 8px rgba(0,0,0,.04);}
.txn-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.txn-info{flex:1;min-width:0;}
.txn-title{font-weight:700;font-size:13px;}
.txn-date{font-size:11px;color:var(--text-muted);margin-top:2px;}
.txn-amount{font-weight:800;font-size:14px;text-align:right;}
.txn-amount.credit{color:var(--success);}
.txn-amount.debit{color:var(--danger);}
.leaderboard-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--card);border-radius:var(--radius);margin-bottom:6px;box-shadow:0 2px 8px rgba(0,0,0,.04);}
.lb-rank{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;flex-shrink:0;background:var(--background);color:var(--text-secondary);}
.lb-rank.gold{background:linear-gradient(135deg,#FFD700,#FFA000);color:#fff;}
.lb-rank.silver{background:linear-gradient(135deg,#C0C0C0,#9E9E9E);color:#fff;}
.lb-rank.bronze{background:linear-gradient(135deg,#CD7F32,#A0522D);color:#fff;}
.avatar-sm{width:40px;height:40px;border-radius:50%;background:var(--gradient);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:14px;flex-shrink:0;border:2px solid var(--border);}
.avatar-lg{width:80px;height:80px;border-radius:50%;background:var(--gradient);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:28px;border:4px solid #fff;box-shadow:var(--shadow);}
.plan-card{background:var(--card);border-radius:var(--radius-lg);padding:20px;text-align:center;box-shadow:var(--shadow);margin-bottom:12px;border:2px solid transparent;position:relative;}
.plan-card.popular{border-color:var(--primary);}
.plan-popular{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--gradient);color:#fff;padding:4px 16px;border-radius:20px;font-size:11px;font-weight:700;}
.chat-message{margin-bottom:12px;display:flex;gap:8px;}
.chat-message.me{flex-direction:row-reverse;}
.chat-bubble{max-width:75%;padding:10px 14px;border-radius:16px;font-size:13px;line-height:1.4;}
.chat-message:not(.me) .chat-bubble{background:var(--card);border-bottom-left-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.04);}
.chat-message.me .chat-bubble{background:var(--gradient);color:#fff;border-bottom-right-radius:4px;}
.chat-input-bar{position:sticky;bottom:calc(72px + env(safe-area-inset-bottom));background:var(--surface);padding:10px 16px;display:flex;gap:8px;align-items:center;border-top:1px solid var(--border);}
.chat-input{flex:1;padding:12px 16px;border:2px solid var(--border);border-radius:24px;font-size:14px;outline:none;background:var(--background);}
.chat-input:focus{border-color:var(--primary);}
.send-btn{width:44px;height:44px;border-radius:50%;background:var(--gradient);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:var(--shadow);flex-shrink:0;}
.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted);}
.empty-state-icon{font-size:64px;margin-bottom:16px;opacity:.5;}
.spin-wheel-container{position:relative;width:300px;height:300px;margin:20px auto;}
.spin-wheel{width:100%;height:100%;border-radius:50%;border:8px solid var(--primary);box-shadow:var(--shadow-3d);transition:transform 4s cubic-bezier(0.17,0.67,0.12,0.99);position:relative;overflow:hidden;}
.spin-pointer{position:absolute;top:-10px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-top:24px solid var(--danger);z-index:10;}
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1000;display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s;}
.modal-overlay.active{opacity:1;pointer-events:auto;}
.modal-sheet{background:var(--surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:500px;max-height:85vh;overflow-y:auto;padding:24px;transform:translateY(100%);transition:transform .3s cubic-bezier(0.175,0.885,0.32,1.275);}
.modal-overlay.active .modal-sheet{transform:translateY(0);}
.switch-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--border);}
.switch-row:last-child{border-bottom:none;}
.switch-row .sw-label{flex:1;}
.switch-row .sw-title{font-weight:700;font-size:13px;}
.switch-row .sw-desc{font-size:11px;color:var(--text-muted);margin-top:2px;}
.switch{position:relative;width:46px;height:26px;flex-shrink:0;}
.switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:2;}
.switch .slider{position:absolute;inset:0;background:var(--border);border-radius:20px;transition:.2s;}
.switch .slider::before{content:'';position:absolute;width:20px;height:20px;border-radius:50%;background:#fff;top:3px;left:3px;transition:.2s;box-shadow:0 2px 6px rgba(0,0,0,.2);}
.switch input:checked + .slider{background:var(--gradient);}
.switch input:checked + .slider::before{transform:translateX(20px);}
