.admin-container{max-width:1400px;margin:0 auto;padding:1.5rem}.admin-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.admin-title{color:var(--text-primary);align-items:center;gap:.5rem;font-size:1.75rem;font-weight:700;display:flex}.admin-actions{flex-wrap:wrap;gap:.75rem;display:flex}.admin-btn{cursor:pointer;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s}.admin-btn-primary{background:var(--accent-primary,#3b82f6);color:#fff}.admin-btn-primary:hover{background:var(--accent-primary-hover,#2563eb)}.admin-btn-danger{color:#fff;background:#ef4444}.admin-btn-danger:hover{background:#dc2626}.admin-btn-success{color:#fff;background:#22c55e}.admin-btn-success:hover{background:#16a34a}.admin-btn-warning{color:#fff;background:#f59e0b}.admin-btn-warning:hover{background:#d97706}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.admin-stat-card{background:var(--bg-secondary,#1a1a2e);border:1px solid var(--border-color,#2a2a4a);text-align:center;border-radius:12px;padding:1.25rem}.admin-stat-value{color:var(--text-primary);font-size:2rem;font-weight:700;line-height:1.2}.admin-stat-value.danger{color:#ef4444}.admin-stat-value.warning{color:#f59e0b}.admin-stat-value.success{color:#22c55e}.admin-stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem;font-size:.75rem}.admin-tabs{border-bottom:1px solid var(--border-color,#2a2a4a);gap:.25rem;margin-bottom:1.5rem;display:flex;overflow-x:auto}.admin-tab{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:.75rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .2s}.admin-tab:hover{color:var(--text-primary)}.admin-tab.active{color:var(--accent-primary,#3b82f6);border-bottom-color:var(--accent-primary,#3b82f6)}.admin-table-wrapper{background:var(--bg-secondary,#1a1a2e);border:1px solid var(--border-color,#2a2a4a);border-radius:12px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.875rem}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--border-color,#2a2a4a);padding:.875rem 1rem}.admin-table th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;background:var(--bg-tertiary,#0f0f1a);font-size:.75rem;font-weight:600}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:var(--bg-tertiary,#0f0f1a)}.trust-badge{border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:700;display:inline-block}.trust-badge.clean{color:#22c55e;background:#22c55e20}.trust-badge.watched{color:#f59e0b;background:#f59e0b20}.trust-badge.suspicious{color:#ef4444;background:#ef444420}.trust-badge.shadow{color:#a855f7;background:#a855f720}.trust-badge.banned{color:#dc2626;background:#dc262620}.user-detail-section{margin-bottom:1.5rem}.user-detail-section h3{color:var(--text-primary);align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:1rem;font-weight:600;display:flex}.user-detail-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;display:grid}.user-detail-item{background:var(--bg-tertiary,#0f0f1a);border-radius:8px;padding:.75rem}.user-detail-item label{color:var(--text-secondary);text-transform:uppercase;margin-bottom:.25rem;font-size:.7rem;display:block}.user-detail-item span{color:var(--text-primary);font-size:.875rem;font-weight:600}.linked-accounts-list{flex-wrap:wrap;gap:.5rem;display:flex}.linked-account-tag{color:#ef4444;background:#ef444420;border-radius:4px;padding:.25rem .5rem;font-family:monospace;font-size:.75rem}.violations-mini{max-height:200px;overflow-y:auto}.admin-empty{text-align:center;color:var(--text-secondary);padding:3rem 1rem}.admin-empty-icon{margin-bottom:1rem;font-size:3rem}.admin-loading{justify-content:center;align-items:center;padding:4rem;display:flex}.admin-spinner{border:3px solid var(--border-color,#2a2a4a);border-top-color:var(--accent-primary,#3b82f6);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:768px){.admin-container{padding:1rem}.admin-header{flex-direction:column;align-items:flex-start}.admin-stats-grid{grid-template-columns:repeat(2,1fr)}.admin-table th,.admin-table td{padding:.625rem .5rem}}.forbidden-page{justify-content:center;align-items:center;min-height:60vh;padding:40px 20px;display:flex}.forbidden-card{background:var(--bg-secondary);border:1px solid var(--border);text-align:center;border-radius:14px;width:100%;max-width:520px;padding:48px 36px;box-shadow:0 20px 50px #0006}.forbidden-code{letter-spacing:4px;background:linear-gradient(135deg,#dc1f2e 0%,#ff4757 100%);-webkit-text-fill-color:transparent;text-shadow:0 0 30px #dc1f2e66;-webkit-background-clip:text;background-clip:text;margin-bottom:8px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:88px;font-weight:900;line-height:1}.forbidden-title{letter-spacing:3px;color:var(--text-primary);margin:0 0 16px;font-size:24px;font-weight:900}.forbidden-message{color:var(--text-secondary);margin:0 0 28px;font-size:14px;line-height:1.7}.forbidden-link{background:var(--accent);color:#fff;letter-spacing:1.5px;border-radius:6px;padding:12px 28px;font-size:14px;font-weight:700;text-decoration:none;transition:background .2s,transform .2s;display:inline-block}.forbidden-link:hover{background:var(--accent-hover);transform:translateY(-2px)}.about-page{max-width:800px;color:var(--text-primary);margin:0 auto;padding:3rem 1.5rem}.about-header{text-align:center;margin-bottom:3rem}.about-back{color:var(--text-muted);transition:color var(--transition-fast);margin-bottom:1rem;font-size:14px;display:inline-block}.about-back:hover{color:var(--accent)}.about-title{letter-spacing:2px;color:var(--text-primary);margin:0 0 .75rem;font-size:2.5rem;font-weight:900}.about-subtitle{color:var(--text-secondary);max-width:520px;margin:0 auto;font-size:1.05rem;line-height:1.6}.about-section{margin-bottom:3rem}.about-section h2{color:var(--text-primary);align-items:center;gap:.5rem;margin:0 0 1rem;font-size:1.35rem;font-weight:700;display:flex}.about-section p{color:var(--text-secondary);margin:0;font-size:15px;line-height:1.7}.about-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-top:1rem;display:grid}.about-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--transition-fast), transform var(--transition-fast);padding:1.25rem}.about-card:hover{border-color:var(--accent);transform:translateY(-2px)}.about-card h3{color:var(--text-primary);margin:.75rem 0 .5rem;font-size:14px;font-weight:700}.about-card p{color:var(--text-muted);font-size:13px;line-height:1.5}.about-footer{text-align:center;border-top:1px solid var(--border);margin-top:3rem;padding-top:2rem}.about-btn{background:var(--accent);color:#fff;border-radius:var(--radius-md);letter-spacing:1px;transition:background var(--transition-fast), transform var(--transition-fast);align-items:center;padding:12px 32px;font-size:14px;font-weight:700;display:inline-flex}.about-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.attack-container{max-width:640px;padding:var(--space-lg);margin:0 auto}.attack-header{margin-bottom:var(--space-lg)}.attack-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);align-items:center;gap:var(--space-sm);display:flex}.attack-tabs{gap:var(--space-xs);margin-bottom:var(--space-lg);border-bottom:1px solid var(--border);display:flex}.attack-tab{padding:var(--space-sm) var(--space-md);color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000}.attack-tab:hover{color:var(--text-primary)}.attack-tab.active{color:var(--error);border-bottom-color:var(--error)}.attack-search-area{gap:var(--space-lg);flex-direction:column;display:flex}.attack-search-btn{padding:var(--space-md);background:var(--error);color:var(--bg-primary);border-radius:var(--radius-md);font-size:var(--text-lg);font-weight:var(--font-bold);cursor:pointer;border:none}.attack-search-btn:disabled{opacity:.5;cursor:not-allowed}.attack-search-btn:hover:not(:disabled){opacity:.9}.attack-error-msg{color:var(--error);text-align:center}.attack-target-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.attack-target-info{align-items:center;gap:var(--space-md);display:flex}.attack-target-name{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary);display:block}.attack-target-level{font-size:var(--text-sm);color:var(--text-muted)}.attack-fight-btn{padding:var(--space-sm) var(--space-xl);background:var(--error);color:var(--bg-primary);border-radius:var(--radius-sm);font-size:var(--text-base);font-weight:var(--font-bold);cursor:pointer;border:none}.attack-fight-btn:disabled{opacity:.5;cursor:not-allowed}.attack-result{background:var(--bg-secondary);border-radius:var(--radius-md);padding:var(--space-lg);text-align:center;gap:var(--space-md);border:2px solid;flex-direction:column;display:flex}.attack-result-title{font-size:var(--text-xl);font-weight:var(--font-bold)}.attack-result-stats{gap:var(--space-xs);flex-direction:column;display:flex}.attack-result-stats>div{font-size:var(--text-sm);color:var(--text-primary);justify-content:space-between;display:flex}.attack-money{color:var(--success);font-weight:var(--font-bold)}.attack-close-btn{padding:var(--space-sm) var(--space-lg);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);cursor:pointer;border:none}.attack-empty{text-align:center;color:var(--text-muted);padding:var(--space-xl)}.attack-log-list{flex-direction:column;gap:2px;display:flex}.attack-log-row{gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-sm);grid-template-columns:120px 1fr 100px 120px;align-items:center;display:grid}.attack-log-result{font-weight:var(--font-bold)}.attack-log-mugged{color:var(--success)}.attack-log-hospitalized{color:var(--warning)}.attack-log-attacker_win{color:var(--success)}.attack-log-target_win{color:var(--error)}.attack-log-stalemate{color:var(--text-muted)}.attack-log-target{color:var(--text-primary)}.attack-log-money{color:var(--accent);text-align:right}.attack-log-date{color:var(--text-muted);text-align:right;font-size:var(--text-xs)}.bank-container{max-width:720px;padding:var(--space-lg);margin:0 auto}.bank-header{margin-bottom:var(--space-lg)}.bank-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);align-items:center;gap:var(--space-sm);display:flex}.bank-balance-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-lg);margin-bottom:var(--space-lg)}.bank-balance-row{justify-content:space-between;align-items:center;display:flex}.bank-balance-label{font-size:var(--text-sm);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.bank-balance-value{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--accent)}.bank-tabs{gap:var(--space-xs);margin-bottom:var(--space-lg);border-bottom:1px solid var(--border);padding-bottom:0;display:flex;overflow-x:auto}.bank-tab{align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;white-space:nowrap;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;display:flex}.bank-tab:hover{color:var(--text-primary)}.bank-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.bank-content{min-height:300px}.bank-form{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-lg)}.bank-form-desc{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-lg)}.bank-input-group{margin-bottom:var(--space-md)}.bank-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:var(--space-xs);display:block}.bank-input{width:100%;padding:var(--space-sm) var(--space-md);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-base)}.bank-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-transparent);outline:none}.bank-submit-btn{width:100%;padding:var(--space-sm) var(--space-md);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);font-size:var(--text-base);font-weight:var(--font-bold);cursor:pointer;transition:opacity var(--transition-fast);border:none}.bank-submit-btn:disabled{opacity:.5;cursor:not-allowed}.bank-submit-btn:not(:disabled):hover{opacity:.9}.bank-error{text-align:center;padding:var(--space-xl);color:var(--error)}.bank-retry-btn{margin-top:var(--space-md);padding:var(--space-sm) var(--space-lg);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);cursor:pointer;border:none}.bank-history{margin-top:0}.bank-history-title{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-md)}.bank-history-skeleton{padding:var(--space-lg)}.bank-empty{text-align:center;color:var(--text-muted);padding:var(--space-xl)}.bank-history-list{gap:var(--space-xs);flex-direction:column;display:flex}.bank-history-row{padding:var(--space-sm) var(--space-md);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:flex-start;display:flex}.bank-history-left{flex-direction:column;gap:2px;display:flex}.bank-history-type{font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.05em}.bank-history-type-deposit{color:var(--success)}.bank-history-type-withdraw{color:var(--error)}.bank-history-type-transfer_in{color:var(--success)}.bank-history-type-transfer_out{color:var(--warning)}.bank-history-type-crime_reward{color:var(--success)}.bank-history-type-crime_penalty{color:var(--error)}.bank-history-type-market_sale{color:var(--success)}.bank-history-type-market_purchase{color:var(--error)}.bank-history-type-referral_bonus{color:var(--success)}.bank-history-type-admin_adjust{color:var(--warning)}.bank-history-type-item_use{color:var(--info)}.bank-history-type-tax{color:var(--text-muted)}.bank-history-date{font-size:var(--text-xs);color:var(--text-muted)}.bank-history-desc{font-size:var(--text-xs);color:var(--text-muted);font-style:italic}.bank-history-amount{font-size:var(--text-sm);font-weight:var(--font-bold);white-space:nowrap}.bank-amount-positive{color:var(--success)}.bank-amount-negative{color:var(--error)}.bank-pagination{justify-content:center;align-items:center;gap:var(--space-md);margin-top:var(--space-lg);display:flex}.bank-page-btn{padding:var(--space-xs) var(--space-md);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer}.bank-page-btn:disabled{opacity:.5;cursor:not-allowed}.bank-page-info{font-size:var(--text-sm);color:var(--text-muted)}.bank-info{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.bank-info-card{align-items:center;gap:var(--space-md);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-lg);display:flex}.bank-info-text{flex-direction:column;display:flex}.bank-info-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.bank-info-value{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary)}.bank-confirm{text-align:center}.bank-confirm-text{font-size:var(--text-lg);margin-bottom:var(--space-lg);color:var(--text-primary)}.bank-confirm-actions{gap:var(--space-md);justify-content:center;display:flex}.bank-confirm-btn{padding:var(--space-sm) var(--space-xl);border-radius:var(--radius-sm);font-size:var(--text-base);font-weight:var(--font-bold);cursor:pointer;border:none}.bank-confirm-yes{background:var(--accent);color:var(--bg-primary)}.bank-confirm-no{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border)}.bank-confirm-yes:disabled{opacity:.5;cursor:not-allowed}.bm-container{max-width:860px;padding:var(--space-lg);margin:0 auto}.bm-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.bm-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);align-items:center;gap:var(--space-sm);display:flex}.bm-list-btn{align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--font-bold);cursor:pointer;transition:opacity var(--transition-fast);border:none;display:flex}.bm-list-btn:hover{opacity:.9}.bm-tabs{gap:var(--space-xs);margin-bottom:var(--space-lg);border-bottom:1px solid var(--border);padding-bottom:0;display:flex}.bm-tab{align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;display:flex}.bm-tab:hover{color:var(--text-primary)}.bm-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.bm-filters{gap:var(--space-md);margin-bottom:var(--space-lg);display:flex}.bm-search{padding:var(--space-sm) var(--space-md);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-sm);flex:1}.bm-search:focus{border-color:var(--accent);outline:none}.bm-category-select{padding:var(--space-sm) var(--space-md);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-sm);min-width:140px}.bm-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.bm-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--transition-fast);overflow:hidden}.bm-card:hover{border-color:var(--accent)}.bm-card-own{border-color:var(--warning)}.bm-card-top{padding:var(--space-md);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.bm-item-name{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--text-primary)}.bm-item-category{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-primary);border-radius:var(--radius-sm);padding:2px 8px}.bm-card-body{padding:var(--space-md);gap:var(--space-xs);flex-direction:column;display:flex}.bm-card-row{justify-content:space-between;align-items:center;display:flex}.bm-card-label{font-size:var(--text-xs);color:var(--text-muted)}.bm-card-value{font-size:var(--text-sm);color:var(--text-primary)}.bm-price{color:var(--accent);font-weight:var(--font-bold)}.bm-buy-btn,.bm-cancel-btn{width:100%;padding:var(--space-sm);font-size:var(--text-sm);font-weight:var(--font-bold);cursor:pointer;transition:opacity var(--transition-fast);border:none}.bm-buy-btn{background:var(--accent);color:var(--bg-primary)}.bm-cancel-btn{background:var(--error);color:var(--bg-primary)}.bm-buy-btn:disabled,.bm-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.bm-buy-btn:hover:not(:disabled),.bm-cancel-btn:hover:not(:disabled){opacity:.9}.bm-skeleton{padding:var(--space-xl)}.bm-error{text-align:center;padding:var(--space-xl);color:var(--error)}.bm-retry-btn{margin-top:var(--space-md);padding:var(--space-sm) var(--space-lg);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);cursor:pointer;border:none}.bm-empty{text-align:center;color:var(--text-muted);padding:var(--space-xl)}.bm-pagination{justify-content:center;align-items:center;gap:var(--space-md);margin-top:var(--space-lg);display:flex}.bm-page-btn{padding:var(--space-xs) var(--space-md);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer}.bm-page-btn:disabled{opacity:.5;cursor:not-allowed}.bm-page-info{font-size:var(--text-sm);color:var(--text-muted)}.bm-list-form{gap:var(--space-md);flex-direction:column;display:flex}.bm-input-group{gap:var(--space-xs);flex-direction:column;display:flex}.bm-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.bm-input{padding:var(--space-sm) var(--space-md);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-base)}.bm-input:focus{border-color:var(--accent);outline:none}.bm-submit-btn{padding:var(--space-sm) var(--space-md);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);font-size:var(--text-base);font-weight:var(--font-bold);cursor:pointer;border:none}.bm-submit-btn:disabled{opacity:.5;cursor:not-allowed}.cal-container{max-width:800px;padding:var(--space-lg);margin:0 auto}.cal-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.cal-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);align-items:center;gap:var(--space-sm);display:flex}.cal-add-btn{padding:var(--space-sm) var(--space-md);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);font-weight:var(--font-bold);cursor:pointer;border:none}.cal-error{text-align:center;padding:var(--space-xl);color:var(--error)}.cal-retry-btn{margin-top:var(--space-md);padding:var(--space-sm) var(--space-lg);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);cursor:pointer;border:none}.cal-nav{justify-content:center;align-items:center;gap:var(--space-lg);margin-bottom:var(--space-lg);display:flex}.cal-nav-btn{padding:var(--space-xs) var(--space-md);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-lg);cursor:pointer}.cal-nav-label{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary)}.cal-grid{background:var(--border);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:var(--space-lg);grid-template-columns:repeat(7,1fr);gap:1px;display:grid;overflow:hidden}.cal-day-header{padding:var(--space-xs);background:var(--bg-secondary);text-align:center;font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--text-muted)}.cal-day{background:var(--bg-primary);min-height:80px;padding:var(--space-xs);flex-direction:column;gap:2px;display:flex}.cal-day-empty{background:var(--bg-secondary);opacity:.5}.cal-day-today .cal-day-num{background:var(--accent);color:var(--bg-primary);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.cal-day-num{font-size:var(--text-xs);color:var(--text-muted);font-weight:var(--font-bold)}.cal-day-has .cal-day-num{color:var(--accent)}.cal-day-events{flex-direction:column;gap:1px;display:flex}.cal-day-event{background:var(--bg-secondary);border-radius:2px;align-items:center;gap:2px;padding:1px 4px;font-size:10px;display:flex}.cal-day-event-text{text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);flex:1;overflow:hidden}.cal-day-event-del{color:var(--error);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;line-height:1}.cal-day-more{color:var(--text-muted);font-size:10px}.cal-list{gap:var(--space-sm);flex-direction:column;display:flex}.cal-list-title{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-sm)}.cal-empty{text-align:center;color:var(--text-muted);padding:var(--space-lg)}.cal-list-item{padding:var(--space-sm) var(--space-md);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;display:flex}.cal-list-info{flex-direction:column;display:flex}.cal-list-date{font-size:var(--text-xs);color:var(--text-muted)}.cal-list-title-text{font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--text-primary)}.cal-list-desc{font-size:var(--text-xs);color:var(--text-muted)}.cal-list-del{color:var(--error);cursor:pointer;font-size:var(--text-lg);background:0 0;border:none}.cal-add-form{gap:var(--space-md);flex-direction:column;display:flex}.cal-add-label{font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--text-muted)}.cal-add-input,.cal-add-textarea{padding:var(--space-sm);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary)}.cal-add-textarea{resize:vertical}.cal-add-submit{padding:var(--space-sm);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);font-weight:var(--font-bold);cursor:pointer;border:none}.cal-add-submit:disabled{opacity:.5;cursor:not-allowed}.casino-container{max-width:560px;padding:var(--space-lg);margin:0 auto}.casino-header{margin-bottom:var(--space-md)}.casino-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);align-items:center;gap:var(--space-sm);display:flex}.casino-game-select{gap:var(--space-xs);margin-bottom:var(--space-lg);border-bottom:1px solid var(--border);display:flex}.casino-game-btn{padding:var(--space-sm) var(--space-md);color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000}.casino-game-btn:hover{color:var(--text-primary)}.casino-game-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.casino-game-area{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-lg);gap:var(--space-lg);flex-direction:column;align-items:center;display:flex}.casino-game-inner{align-items:center;gap:var(--space-sm);text-align:center;flex-direction:column;display:flex}.casino-game-desc{font-size:var(--text-sm);color:var(--text-muted)}.casino-roulette-bets{gap:var(--space-sm);align-items:center;display:flex}.casino-rb-btn{padding:var(--space-xs) var(--space-md);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-size:var(--text-sm)}.casino-rb-btn.active{border-color:var(--accent);color:var(--accent)}.casino-rb-input{width:64px;padding:var(--space-xs);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);text-align:center;font-size:var(--text-sm)}.casino-bet-row{align-items:center;gap:var(--space-sm);display:flex}.casino-bet-label{font-size:var(--text-sm);color:var(--text-muted)}.casino-bet-input{width:120px;padding:var(--space-xs) var(--space-sm);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);text-align:center}.casino-play-btn{padding:var(--space-sm) var(--space-xl);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);font-weight:var(--font-bold);cursor:pointer;border:none}.casino-play-btn:disabled{opacity:.5;cursor:not-allowed}.casino-result{padding:var(--space-md);border-radius:var(--radius-md);text-align:center;width:100%}.casino-result-win{border:1px solid var(--success);background:#22c55e26}.casino-result-lose{border:1px solid var(--error);background:#ef444426}.casino-result-title{font-size:var(--text-lg);font-weight:var(--font-bold)}.casino-result-win .casino-result-title{color:var(--success)}.casino-result-lose .casino-result-title{color:var(--error)}.casino-result-msg{font-size:var(--text-sm);color:var(--text-muted)}.casino-result-payout{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--success);margin-top:var(--space-sm)}.church-container{max-width:860px;margin:0 auto;padding:2rem 1rem}.church-header{margin-bottom:2rem}.church-title{color:var(--text-primary);align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:1.5rem;font-weight:800;display:flex}.church-desc{color:var(--text-muted);margin:0;font-size:14px}.church-grid{grid-template-columns:1fr 280px;align-items:start;gap:1.5rem;display:grid}.church-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:1rem;padding:1.5rem}.church-card-title{color:var(--text-primary);margin:0 0 .75rem;font-size:14px;font-weight:700}.church-card-desc{color:var(--text-muted);margin:0 0 1rem;font-size:13px;line-height:1.6}.church-card-muted{text-align:center;border-color:#0000}.church-donations{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.church-donation-btn{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition-fast), background var(--transition-fast);text-align:left;grid-template-columns:120px 1fr 70px;align-items:center;padding:.75rem 1rem;display:grid}.church-donation-btn:hover,.church-donation-active{border-color:var(--accent);background:var(--accent-subtle)}.church-donation-amount{color:var(--text-primary);font-family:monospace;font-size:14px;font-weight:700}.church-donation-blessing{color:var(--text-secondary);font-size:13px}.church-donation-happiness{color:var(--color-success);justify-content:flex-end;align-items:center;gap:4px;font-size:12px;font-weight:600;display:flex}.church-donate-btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;width:100%;transition:background var(--transition-fast);border:none;padding:10px;font-size:14px;font-weight:700}.church-donate-btn:hover{background:var(--accent-hover)}.church-confirm{text-align:center}.church-confirm-text{color:var(--text-primary);margin:0 0 1rem;font-size:14px}.church-confirm-actions{justify-content:center;gap:.75rem;display:flex}.church-confirm-yes{background:var(--color-success);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:opacity var(--transition-fast);border:none;padding:8px 24px;font-size:13px;font-weight:700}.church-confirm-yes:hover{opacity:.85}.church-confirm-yes:disabled{opacity:.5;cursor:not-allowed}.church-confirm-no{color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition-fast);background:0 0;padding:8px 24px;font-size:13px}.church-confirm-no:hover{border-color:var(--text-muted)}.church-happiness-display{align-items:baseline;gap:4px;margin-bottom:.75rem;display:flex}.church-happiness-value{color:var(--text-primary);font-size:2rem;font-weight:900}.church-happiness-max{color:var(--text-muted);font-size:14px}.church-bar-track{background:var(--bg-primary);border-radius:var(--radius-full);height:8px;margin-bottom:.75rem;overflow:hidden}.church-bar-fill{background:linear-gradient(90deg, var(--color-success), var(--accent));border-radius:var(--radius-full);height:100%;transition:width .3s}.church-blessings{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.church-blessings li{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:13px;display:flex}.church-quote-author{color:var(--text-muted);font-size:12px;font-style:italic}@media (max-width:700px){.church-grid{grid-template-columns:1fr}.church-donation-btn{grid-template-columns:100px 1fr 60px}}.city-container{max-width:800px;padding:var(--space-lg);margin:0 auto}.city-header{margin-bottom:var(--space-md)}.city-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);align-items:center;gap:var(--space-sm);display:flex}.city-desc{font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--space-xs)}.city-filters{gap:var(--space-xs);margin-bottom:var(--space-lg);display:flex}.city-filter{padding:var(--space-xs) var(--space-md);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--text-sm);cursor:pointer}.city-filter:hover{border-color:var(--accent);color:var(--text-primary)}.city-filter.active{background:var(--accent);color:var(--bg-primary);border-color:var(--accent)}.city-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.city-card{gap:var(--space-sm);padding:var(--space-lg);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;text-decoration:none;transition:border-color .2s;display:flex}.city-card:hover{border-color:var(--accent)}.city-card-header{justify-content:space-between;align-items:center;display:flex}.city-card-name{font-size:var(--text-md);font-weight:var(--font-bold);color:var(--text-primary);margin:0}.city-card-desc{font-size:var(--text-xs);color:var(--text-muted);margin:0;line-height:1.5}.city-danger{font-size:var(--text-xs);font-weight:var(--font-bold);border-radius:var(--radius-full);text-transform:uppercase;padding:2px 8px}.city-danger-low{color:#22c55e;background:#22c55e26}.city-danger-medium{color:#f59e0b;background:#f59e0b26}.city-danger-high{color:#ef4444;background:#ef444426}.company-container{max-width:560px;padding:var(--space-xl);justify-content:center;align-items:center;min-height:70vh;margin:0 auto;display:flex}.company-card{text-align:center;align-items:center;gap:var(--space-lg);padding:var(--space-xl);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;max-width:440px;display:flex}.company-icon{font-size:48px;animation:3s ease-in-out infinite company-float}@keyframes company-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.company-badge{background:var(--accent-subtle,#8b5cf61a);border:1px solid var(--accent);border-radius:var(--radius-full);letter-spacing:4px;color:var(--accent);text-transform:uppercase;padding:4px 14px;font-size:11px;font-weight:800;display:inline-flex}.company-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0}.company-tagline{font-size:var(--text-sm);color:var(--text-muted);margin:0;line-height:1.6}.company-features{gap:var(--space-sm);text-align:left;flex-direction:column;width:100%;display:flex}.company-feature{align-items:center;gap:var(--space-sm);font-size:var(--text-sm);color:var(--text-primary);display:flex}.company-bar-wrapper{align-items:center;gap:var(--space-xs);flex-direction:column;width:100%;max-width:240px;display:flex}.company-bar-track{background:var(--bg-elevated,#1e1e2e);border-radius:var(--radius-full);border:1px solid var(--border);width:100%;height:4px;overflow:hidden}.company-bar-fill{background:linear-gradient(90deg, var(--accent), #ff6b6b);border-radius:var(--radius-full);width:35%;height:100%;animation:2s ease-in-out infinite company-pulse}@keyframes company-pulse{0%,to{opacity:1}50%{opacity:.5}}.company-bar-label{letter-spacing:3px;color:var(--text-muted);text-transform:uppercase;font-size:10px;font-weight:700}.events-container{max-width:720px;padding:var(--space-lg);margin:0 auto}.events-header{margin-bottom:var(--space-md)}.events-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);align-items:center;gap:var(--space-sm);display:flex}.events-desc{font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--space-xs)}.events-actions{margin-bottom:var(--space-lg)}.events-create-btn{padding:var(--space-sm) var(--space-md);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);font-weight:var(--font-bold);cursor:pointer;align-items:center;gap:var(--space-xs);border:none;display:inline-flex}.events-create-form{gap:var(--space-md);margin-bottom:var(--space-lg);padding:var(--space-lg);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;display:flex}.events-input,.events-textarea{padding:var(--space-sm);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary)}.events-textarea{resize:vertical;font-family:inherit}.events-submit-btn{padding:var(--space-sm);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);font-weight:var(--font-bold);cursor:pointer;border:none}.events-submit-btn:disabled{opacity:.5;cursor:not-allowed}.events-list{gap:var(--space-sm);flex-direction:column;display:flex}.events-loading{text-align:center;padding:var(--space-xl);color:var(--text-muted)}.events-empty{text-align:center;padding:var(--space-xl);color:var(--text-muted);align-items:center;gap:var(--space-md);flex-direction:column;display:flex}.events-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-lg)}.events-card:hover{border-color:var(--accent)}.events-card-header{justify-content:space-between;align-items:flex-start;display:flex}.events-card-title{font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--text-primary);margin:0}.events-card-desc{font-size:var(--text-xs);color:var(--text-muted);margin:var(--space-xs) 0}.events-card-date{font-size:var(--text-xs);color:var(--accent)}.events-delete-btn{cursor:pointer;padding:var(--space-xs);opacity:0;background:0 0;border:none}.events-card:hover .events-delete-btn{opacity:1}.forum-container{max-width:720px;padding:var(--space-lg);margin:0 auto}.forum-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.forum-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);align-items:center;gap:var(--space-sm);display:flex}.forum-create-btn{padding:var(--space-sm) var(--space-md);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);font-weight:var(--font-bold);cursor:pointer;border:none}.forum-create-btn:disabled{opacity:.5;cursor:not-allowed}.forum-error{text-align:center;padding:var(--space-xl);color:var(--error)}.forum-retry-btn{margin-top:var(--space-md);padding:var(--space-sm) var(--space-lg);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);cursor:pointer;border:none}.forum-cats{gap:var(--space-xs);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.forum-cat{padding:var(--space-xs) var(--space-md);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--text-sm);cursor:pointer}.forum-cat:hover{border-color:var(--accent);color:var(--text-primary)}.forum-cat.active{background:var(--accent);color:var(--bg-primary);border-color:var(--accent)}.forum-threads{flex-direction:column;gap:2px;display:flex}.forum-thread{padding:var(--space-sm) var(--space-md);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;text-decoration:none;display:flex}.forum-thread:hover{border-color:var(--accent)}.forum-thread-main{flex-direction:column;display:flex}.forum-thread-meta,.forum-thread-count{font-size:var(--text-xs);color:var(--text-muted)}.forum-empty{text-align:center;color:var(--text-muted);padding:var(--space-xl)}.forum-pages{justify-content:center;align-items:center;gap:var(--space-md);padding:var(--space-md);display:flex}.forum-pages button{padding:var(--space-xs) var(--space-md);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer}.forum-pages button:disabled{opacity:.5;cursor:not-allowed}.forum-create-form{gap:var(--space-md);flex-direction:column;display:flex}.forum-create-select,.forum-create-input,.forum-create-textarea{padding:var(--space-sm);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary)}.forum-create-textarea{resize:vertical}.forum-create-submit{padding:var(--space-sm);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);font-weight:var(--font-bold);cursor:pointer;border:none}.forum-create-submit:disabled{opacity:.5;cursor:not-allowed}.forum-back-btn{color:var(--accent);cursor:pointer;font-size:var(--text-sm);margin-bottom:var(--space-md);background:0 0;border:none;padding:0}.forum-thread-header{margin-bottom:var(--space-lg)}.forum-thread-title{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary)}.forum-posts{gap:var(--space-md);margin-bottom:var(--space-lg);flex-direction:column;display:flex}.forum-post{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-lg)}.forum-op{border-color:var(--accent)}.forum-post-author{font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--accent);margin-bottom:var(--space-sm)}.forum-post-content{font-size:var(--text-sm);color:var(--text-primary);white-space:pre-wrap;line-height:1.6}.forum-post-date{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-sm)}.forum-reply-area{gap:var(--space-sm);flex-direction:column;display:flex}.forum-reply-textarea{padding:var(--space-sm);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);resize:vertical}.forum-reply-btn{padding:var(--space-sm) var(--space-lg);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);font-weight:var(--font-bold);cursor:pointer;border:none;align-self:flex-start}.forum-reply-btn:disabled{opacity:.5;cursor:not-allowed}.forum-locked-msg{text-align:center;padding:var(--space-md);color:var(--warning)}.gang-container{max-width:640px;padding:var(--space-lg);margin:0 auto}.gang-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.gang-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);align-items:center;gap:var(--space-sm);display:flex}.gang-create-btn{padding:var(--space-sm) var(--space-md);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);cursor:pointer;font-weight:var(--font-bold);border:none}.gang-my{gap:var(--space-lg);flex-direction:column;display:flex}.gang-info{background:var(--bg-secondary);border:1px solid var(--accent);border-radius:var(--radius-md);padding:var(--space-lg)}.gang-info h2{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary)}.gang-info p{font-size:var(--text-sm);color:var(--text-muted)}.gang-members{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-lg)}.gang-members h3{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-sm)}.gang-member{padding:var(--space-xs) 0;font-size:var(--text-sm);color:var(--text-primary);justify-content:space-between;align-items:center;display:flex}.gang-member em{color:var(--text-muted);font-size:var(--text-xs)}.gang-kick-btn{color:var(--error);cursor:pointer;font-size:var(--text-xs);background:0 0;border:none}.gang-links{gap:var(--space-sm);display:flex}.gang-links button{padding:var(--space-sm) var(--space-md);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer}.gang-leave-btn{margin-left:auto;background:var(--error)!important;color:var(--bg-primary)!important}.gang-list{gap:var(--space-sm);flex-direction:column;display:flex}.gang-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-lg)}.gang-card-header{margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.gang-card-name{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--text-primary)}.gang-card-respect{font-size:var(--text-xs);color:var(--accent)}.gang-card-desc{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-sm)}.gang-card-footer{font-size:var(--text-xs);color:var(--text-muted);justify-content:space-between;align-items:center;display:flex}.gang-join-btn{padding:var(--space-xs) var(--space-md);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);border:none}.gang-create-form{gap:var(--space-md);flex-direction:column;display:flex}.gang-create-form input,.gang-create-form textarea{padding:var(--space-sm);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary)}.gang-create-form button{padding:var(--space-sm);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);cursor:pointer;font-weight:var(--font-bold);border:none}.gang-create-form button:disabled{opacity:.5;cursor:not-allowed}.gym-container{max-width:720px;padding:var(--space-lg);margin:0 auto}.gym-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.gym-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);align-items:center;gap:var(--space-sm);display:flex}.gym-energy{font-size:var(--text-sm);color:var(--accent);font-weight:var(--font-bold)}.gym-desc{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-lg)}.gym-error{text-align:center;padding:var(--space-xl);color:var(--error)}.gym-retry-btn{margin-top:var(--space-md);padding:var(--space-sm) var(--space-lg);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);cursor:pointer;border:none}.gym-grid{gap:var(--space-md);grid-template-columns:repeat(2,1fr);display:grid}.gym-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-lg);gap:var(--space-md);flex-direction:column;display:flex}.gym-stat-header{align-items:center;gap:var(--space-sm);display:flex}.gym-stat-label{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--text-primary);display:block}.gym-stat-desc{font-size:var(--text-xs);color:var(--text-muted);display:block}.gym-stat-value{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--accent)}.gym-train-btn{padding:var(--space-sm);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--font-bold);cursor:pointer;border:none}.gym-train-btn:disabled{opacity:.5;cursor:not-allowed}.gym-spinner{border:2px solid var(--bg-primary);border-top-color:#0000;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin;display:inline-block}.gym-low{font-size:var(--text-xs);color:var(--warning);text-align:center}.gym-allocate-section{margin-top:var(--space-xl);padding:var(--space-lg);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md)}.gym-allocate-header{align-items:center;gap:var(--space-sm);font-size:var(--text-base);color:var(--text-primary);margin-bottom:var(--space-xs);display:flex}.gym-allocate-header strong{color:var(--accent);font-size:var(--text-lg)}.gym-allocate-desc{font-size:var(--text-sm);color:var(--text-muted);margin:0 0 var(--space-md)}.gym-allocate-grid{gap:var(--space-sm);grid-template-columns:repeat(4,1fr);display:grid}.gym-allocate-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-md);align-items:center;gap:var(--space-xs);text-align:center;flex-direction:column;display:flex}.gym-allocate-label{font-size:var(--text-xs);color:var(--text-muted)}.gym-allocate-value{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary)}.gym-allocate-btn{padding:var(--space-xs) var(--space-md);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-bold);cursor:pointer;border:none}.gym-allocate-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width:640px){.gym-grid{grid-template-columns:1fr}.gym-allocate-grid{grid-template-columns:repeat(2,1fr)}}.inv-container{max-width:860px;padding:var(--space-lg);margin:0 auto}.inv-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.inv-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);align-items:center;gap:var(--space-sm);display:flex}.inv-count{font-size:var(--text-sm);color:var(--text-muted)}.inv-categories{gap:var(--space-xs);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.inv-cat-btn{padding:var(--space-xs) var(--space-md);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:all var(--transition-fast)}.inv-cat-btn:hover{color:var(--text-primary);border-color:var(--accent)}.inv-cat-btn.active{background:var(--accent);color:var(--bg-primary);border-color:var(--accent)}.inv-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.inv-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-md);gap:var(--space-sm);flex-direction:column;display:flex}.inv-card-header{justify-content:space-between;align-items:center;display:flex}.inv-item-name{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--text-primary)}.inv-item-category{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-sm);padding:2px 8px}.inv-cat-weapon{color:#e74c3c;background:#e74c3c22}.inv-cat-armor{color:#3498db;background:#3498db22}.inv-cat-medical{color:#2ecc71;background:#2ecc7122}.inv-cat-drug{color:#9b59b6;background:#9b59b622}.inv-cat-material{color:#f39c12;background:#f39c1222}.inv-cat-other{background:var(--bg-primary);color:var(--text-muted)}.inv-item-desc{font-size:var(--text-sm);color:var(--text-muted);line-height:1.4}.inv-card-footer{padding-top:var(--space-sm);border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:auto;display:flex}.inv-item-qty{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary)}.inv-actions{gap:var(--space-xs);display:flex}.inv-use-btn,.inv-drop-btn{padding:var(--space-xs) var(--space-md);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-bold);cursor:pointer;transition:opacity var(--transition-fast);border:none}.inv-use-btn{background:var(--success);color:var(--bg-primary)}.inv-drop-btn{background:var(--error);color:var(--bg-primary)}.inv-use-btn:hover,.inv-drop-btn:hover{opacity:.9}.inv-skeleton{padding:var(--space-xl)}.inv-error{text-align:center;padding:var(--space-xl);color:var(--error)}.inv-retry-btn{margin-top:var(--space-md);padding:var(--space-sm) var(--space-lg);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);cursor:pointer;border:none}.inv-empty{text-align:center;padding:var(--space-xl);color:var(--text-muted)}.inv-pagination{justify-content:center;align-items:center;gap:var(--space-md);margin-top:var(--space-lg);display:flex}.inv-page-btn{padding:var(--space-xs) var(--space-md);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer}.inv-page-btn:disabled{opacity:.5;cursor:not-allowed}.inv-page-info{font-size:var(--text-sm);color:var(--text-muted)}.inv-action-modal{gap:var(--space-md);flex-direction:column;display:flex}.inv-action-text{font-size:var(--text-base);color:var(--text-primary)}.inv-input-group{gap:var(--space-xs);flex-direction:column;display:flex}.inv-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.inv-input{padding:var(--space-sm) var(--space-md);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-base)}.inv-input:focus{border-color:var(--accent);outline:none}.inv-confirm-btn{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:var(--text-base);font-weight:var(--font-bold);cursor:pointer;border:none}.inv-confirm-use{background:var(--success);color:var(--bg-primary)}.inv-confirm-drop{background:var(--error);color:var(--bg-primary)}.inv-confirm-btn:disabled{opacity:.5;cursor:not-allowed}.job-container{max-width:640px;padding:var(--space-lg);margin:0 auto}.job-header{margin-bottom:var(--space-md)}.job-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);align-items:center;gap:var(--space-sm);display:flex}.job-desc{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-lg)}.job-error{text-align:center;padding:var(--space-xl);color:var(--error)}.job-retry-btn{margin-top:var(--space-md);padding:var(--space-sm) var(--space-lg);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);cursor:pointer;border:none}.job-current-card{background:var(--bg-secondary);border:1px solid var(--accent);border-radius:var(--radius-md);padding:var(--space-lg);margin-bottom:var(--space-lg);gap:var(--space-sm);flex-direction:column;display:flex}.job-current-title{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--accent)}.job-current-desc{font-size:var(--text-sm);color:var(--text-muted)}.job-current-actions{gap:var(--space-sm);margin-top:var(--space-sm);display:flex}.job-work-btn{padding:var(--space-sm) var(--space-lg);background:var(--success);color:var(--bg-primary);border-radius:var(--radius-sm);font-weight:var(--font-bold);cursor:pointer;border:none}.job-work-btn:disabled{opacity:.5;cursor:not-allowed}.job-quit-btn{padding:var(--space-sm) var(--space-lg);background:var(--error);color:var(--bg-primary);border-radius:var(--radius-sm);cursor:pointer;border:none}.job-list{gap:var(--space-sm);flex-direction:column;display:flex}.job-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-lg);gap:var(--space-sm);flex-direction:column;display:flex}.job-card-disabled{opacity:.6}.job-card-header{justify-content:space-between;align-items:center;display:flex}.job-name{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--text-primary)}.job-badge{font-size:var(--text-xs);color:var(--accent);font-weight:var(--font-bold)}.job-desc-text{font-size:var(--text-sm);color:var(--text-muted)}.job-details{gap:var(--space-md);font-size:var(--text-xs);color:var(--text-muted);display:flex}.job-apply-btn{padding:var(--space-sm);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);font-weight:var(--font-bold);cursor:pointer;border:none}.job-apply-btn:disabled{opacity:.5;cursor:not-allowed}.lb-container{max-width:720px;padding:var(--space-lg);margin:0 auto}.lb-header{margin-bottom:var(--space-lg)}.lb-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);align-items:center;gap:var(--space-sm);display:flex}.lb-tabs{gap:var(--space-xs);margin-bottom:var(--space-lg);border-bottom:1px solid var(--border);padding-bottom:0;display:flex}.lb-tab{align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;display:flex}.lb-tab:hover{color:var(--text-primary)}.lb-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.lb-skeleton{padding:var(--space-xl)}.lb-error{text-align:center;padding:var(--space-xl);color:var(--error)}.lb-retry-btn{margin-top:var(--space-md);padding:var(--space-sm) var(--space-lg);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);cursor:pointer;border:none}.lb-list{flex-direction:column;gap:2px;display:flex}.lb-list-header,.lb-row{gap:var(--space-sm);padding:var(--space-sm) var(--space-md);grid-template-columns:48px 1fr 80px 120px;align-items:center;display:grid}.lb-list-header{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border);padding-bottom:var(--space-sm);margin-bottom:var(--space-xs)}.lb-row{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color var(--transition-fast)}.lb-row:hover{border-color:var(--accent)}.lb-rank-gold{border-left:3px solid #f1c40f}.lb-rank-silver{border-left:3px solid #bdc3c7}.lb-rank-bronze{border-left:3px solid #e67e22}.lb-rank-num{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary);text-align:center}.lb-username{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--text-primary)}.lb-col-level,.lb-col-value{font-size:var(--text-sm);color:var(--text-muted);text-align:right}.lb-value{color:var(--accent);font-weight:var(--font-bold)}.lb-pagination{justify-content:center;align-items:center;gap:var(--space-md);margin-top:var(--space-lg);display:flex}.lb-page-btn{padding:var(--space-xs) var(--space-md);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer}.lb-page-btn:disabled{opacity:.5;cursor:not-allowed}.lb-page-info{font-size:var(--text-sm);color:var(--text-muted)}.msg-container{max-width:720px;padding:var(--space-lg);margin:0 auto}.msg-header{margin-bottom:var(--space-md)}.msg-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);align-items:center;gap:var(--space-sm);display:flex}.msg-desc{font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--space-xs)}.msg-tabs{gap:var(--space-xs);margin-bottom:var(--space-lg);display:flex}.msg-tab{padding:var(--space-xs) var(--space-md);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;align-items:center;gap:var(--space-xs);display:flex}.msg-tab:hover{border-color:var(--accent);color:var(--text-primary)}.msg-tab.active{background:var(--accent);color:var(--bg-primary);border-color:var(--accent)}.msg-content{min-height:300px}.msg-list{flex-direction:column;gap:2px;display:flex}.msg-row{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;display:flex}.msg-row:hover{border-color:var(--accent)}.msg-row.msg-unread{border-left:3px solid var(--accent)}.msg-row-icon{flex-shrink:0}.msg-row-content{flex-direction:column;flex:1;min-width:0;display:flex}.msg-row-sender{font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--text-primary)}.msg-row-subject{font-size:var(--text-xs);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.msg-row-date{font-size:var(--text-xs);color:var(--text-muted)}.msg-row-delete{cursor:pointer;padding:var(--space-xs);opacity:0;background:0 0;border:none}.msg-row:hover .msg-row-delete{opacity:1}.msg-loading{text-align:center;padding:var(--space-xl);color:var(--text-muted)}.msg-empty{text-align:center;color:var(--text-muted);padding:var(--space-xl);align-items:center;gap:var(--space-md);flex-direction:column;display:flex}.msg-pagination{justify-content:center;align-items:center;gap:var(--space-md);padding:var(--space-md);display:flex}.msg-pagination button{padding:var(--space-xs) var(--space-md);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer}.msg-pagination button:disabled{opacity:.5;cursor:not-allowed}.msg-compose{gap:var(--space-md);flex-direction:column;display:flex}.msg-compose-field{gap:var(--space-xs);flex-direction:column;display:flex}.msg-compose-label{font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--text-muted)}.msg-compose-input,.msg-compose-textarea{padding:var(--space-sm);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary)}.msg-compose-textarea{resize:vertical;font-family:inherit}.msg-compose-btn{padding:var(--space-sm);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);font-weight:var(--font-bold);cursor:pointer;border:none}.msg-compose-btn:disabled{opacity:.5;cursor:not-allowed}.msg-view-back{color:var(--accent);cursor:pointer;font-size:var(--text-sm);margin-bottom:var(--space-md);align-items:center;gap:var(--space-xs);background:0 0;border:none;padding:0;display:flex}.msg-view-header{margin-bottom:var(--space-lg)}.msg-view-header h2{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0 0 var(--space-sm)}.msg-view-meta{gap:var(--space-lg);font-size:var(--text-xs);color:var(--text-muted);display:flex}.msg-view-body{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-lg);font-size:var(--text-sm);color:var(--text-primary);white-space:pre-wrap;line-height:1.6}.ms-container{max-width:640px;padding:var(--space-lg);margin:0 auto}.ms-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg);display:flex}.ms-list{gap:var(--space-sm);flex-direction:column;display:flex}.ms-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-lg)}.ms-active{border-color:var(--accent)}.ms-done{opacity:.6}.ms-card-header{margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.ms-name{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--text-primary)}.ms-level{font-size:var(--text-xs);color:var(--text-muted)}.ms-desc{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-sm)}.ms-footer{justify-content:space-between;align-items:center;display:flex}.ms-reward{font-size:var(--text-xs);color:var(--accent)}.ms-start-btn{padding:var(--space-xs) var(--space-md);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);border:none}.ms-badge{font-size:var(--text-xs);color:var(--accent);font-weight:var(--font-bold)}.ms-badge-done{color:var(--success)}.np-container{max-width:640px;padding:var(--space-lg);margin:0 auto}.np-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);display:flex}.np-cats{gap:var(--space-xs);margin-bottom:var(--space-lg);display:flex}.np-cat{padding:var(--space-xs) var(--space-md);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:var(--text-sm)}.np-cat.active{background:var(--accent);color:var(--bg-primary);border-color:var(--accent)}.np-list{gap:var(--space-sm);flex-direction:column;display:flex}.np-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-lg)}.np-important{border-color:var(--accent)}.np-card-header{margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.np-card-title{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--text-primary)}.np-card-cat{font-size:var(--text-xs);color:var(--text-muted);text-transform:capitalize}.np-card-content{font-size:var(--text-sm);color:var(--text-muted);line-height:1.6}.np-card-date{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-sm);display:block}.nf-page{background:var(--bg-primary);min-height:100vh;padding:var(--space-xl);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.nf-glow{pointer-events:none;background:radial-gradient(circle,#dc1f2e0f 0%,#0000 70%);width:600px;height:600px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.nf-content{align-items:center;gap:var(--space-lg);text-align:center;z-index:1;flex-direction:column;width:100%;max-width:480px;display:flex;position:relative}.nf-icon{filter:drop-shadow(0 0 20px #dc1f2e4d);font-size:5rem;animation:3s ease-in-out infinite nf-float}@keyframes nf-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.nf-code-row{gap:var(--space-sm);align-items:center;display:flex}.nf-code{letter-spacing:-2px;color:var(--text-primary);text-shadow:0 0 40px #dc1f2e26;font-size:clamp(4rem,14vw,7rem);font-weight:900;line-height:1}.nf-code-accent{color:var(--accent);text-shadow:0 0 40px #dc1f2e66}.nf-divider{align-items:center;gap:var(--space-md);width:100%;display:flex}.nf-line{background:var(--border);flex:1;height:1px}.nf-diamond{color:var(--accent);font-size:var(--text-xs)}.nf-title{font-size:var(--text-2xl);color:var(--text-primary);letter-spacing:1px;margin:0;font-weight:800}.nf-desc{font-size:var(--text-md);color:var(--text-secondary);max-width:360px;margin:0;line-height:1.6}.nf-countdown{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:700}.nf-actions{gap:var(--space-md);flex-wrap:wrap;justify-content:center;display:flex}.nf-btn{border-radius:var(--radius-md);font-size:var(--text-sm);letter-spacing:1px;cursor:pointer;transition:all var(--transition-fast);border:none;min-height:44px;padding:.75rem 1.75rem;font-weight:700}.nf-btn-ghost{color:var(--text-primary);border:1px solid var(--border);background:0 0}.nf-btn-ghost:hover{background:var(--bg-elevated);border-color:var(--text-secondary)}.nf-btn-primary{background:var(--accent);color:#fff}.nf-btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 16px #dc1f2e4d}.nf-badge{letter-spacing:4px;color:var(--text-muted);text-transform:uppercase;padding:var(--space-xs) var(--space-md);border:1px solid var(--border);border-radius:var(--radius-full);font-size:10px;font-weight:700}@media (max-width:480px){.nf-code{font-size:4rem}.nf-title{font-size:var(--text-xl)}}.profile-container{max-width:680px;padding:var(--space-lg);margin:0 auto}.profile-skeleton{padding:var(--space-xl)}.profile-error{text-align:center;padding:var(--space-xl);color:var(--error)}.profile-retry-btn{margin-top:var(--space-md);padding:var(--space-sm) var(--space-lg);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);cursor:pointer;border:none}.profile-card{align-items:center;gap:var(--space-lg);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-xl);margin-bottom:var(--space-lg);display:flex}.profile-avatar{background:var(--bg-primary);border:2px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;display:flex}.profile-info{flex-direction:column;gap:2px;display:flex}.profile-username{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0}.profile-level{font-size:var(--text-sm);color:var(--accent);font-weight:var(--font-bold)}.profile-joined{font-size:var(--text-xs);color:var(--text-muted)}.profile-stats-grid{gap:var(--space-md);margin-bottom:var(--space-lg);grid-template-columns:repeat(4,1fr);display:grid}.profile-stat-card{align-items:center;gap:var(--space-xs);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-md);text-align:center;flex-direction:column;display:flex}.profile-stat-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.profile-stat-value{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary)}.profile-section{margin-bottom:var(--space-lg)}.profile-section-title{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border)}.profile-crime-stats,.profile-activity{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.profile-crime-row{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.profile-crime-row:last-child{border-bottom:none}.profile-crime-label{font-size:var(--text-sm);color:var(--text-muted)}.profile-crime-value{font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--text-primary)}.profile-crime-success{color:var(--success)}.profile-crime-fail{color:var(--error)}@media (max-width:640px){.profile-stats-grid{grid-template-columns:repeat(2,1fr)}}.props-container{max-width:720px;padding:var(--space-lg);margin:0 auto}.props-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.props-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);align-items:center;gap:var(--space-sm);display:flex}.props-collect-btn{padding:var(--space-sm) var(--space-lg);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);font-weight:var(--font-bold);cursor:pointer;border:none}.props-error{text-align:center;padding:var(--space-xl);color:var(--error)}.props-retry-btn{margin-top:var(--space-md);padding:var(--space-sm) var(--space-lg);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);cursor:pointer;border:none}.props-owned-info{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--bg-secondary);border:1px solid var(--accent);border-radius:var(--radius-sm);margin-bottom:var(--space-lg);font-size:var(--text-sm);color:var(--text-primary);display:flex}.props-grid{gap:var(--space-md);grid-template-columns:repeat(2,1fr);display:grid}.props-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-lg);gap:var(--space-sm);flex-direction:column;display:flex}.props-card-locked{opacity:.6}.props-card-owned{border-color:var(--accent)}.props-card-header{justify-content:space-between;align-items:center;display:flex}.props-name{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--text-primary)}.props-owned-badge{font-size:var(--text-xs);color:var(--accent);font-weight:var(--font-bold)}.props-desc-text{font-size:var(--text-sm);color:var(--text-muted)}.props-details{gap:var(--space-md);font-size:var(--text-xs);color:var(--text-muted);display:flex}.props-buy-btn{padding:var(--space-sm);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);font-weight:var(--font-bold);cursor:pointer;border:none;margin-top:auto}.props-buy-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width:640px){.props-grid{grid-template-columns:1fr}}.pr-container{max-width:860px;margin:0 auto;padding:2rem 1rem}.pr-header{margin-bottom:1.5rem}.pr-title{color:var(--text-primary);align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:1.5rem;font-weight:800;display:flex}.pr-desc{color:var(--text-muted);margin:0;font-size:14px}.pr-tabs{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);gap:.25rem;margin-bottom:1.5rem;padding:.25rem;display:flex;overflow-x:auto}.pr-tab{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:13px;font-weight:600;display:flex}.pr-tab:hover{color:var(--text-primary);background:var(--bg-primary)}.pr-tab.active{background:var(--bg-primary);color:var(--accent)}.pr-content{min-height:300px}.pr-section-title{color:var(--text-primary);align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:1.1rem;font-weight:700;display:flex}.pr-section-desc{color:var(--text-muted);margin:0 0 1.25rem;font-size:13px}.pr-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.75rem;display:grid}.pr-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);text-align:center;transition:border-color var(--transition-fast);flex-direction:column;align-items:center;gap:.4rem;padding:1.25rem 1rem;display:flex}.pr-card:hover{border-color:var(--accent)}.pr-card-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-size:11px;font-weight:700}.pr-card-value{color:var(--text-primary);font-family:monospace;font-size:1.25rem;font-weight:800}.pr-hof-list{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.pr-hof-header{background:var(--bg-elevated);color:var(--text-muted);text-transform:uppercase;letter-spacing:1.5px;border-bottom:1px solid var(--border);grid-template-columns:60px 1fr 80px 100px;padding:.75rem 1rem;font-size:11px;font-weight:700;display:grid}.pr-hof-row{border-bottom:1px solid var(--border);transition:background var(--transition-fast);grid-template-columns:60px 1fr 80px 100px;align-items:center;padding:.75rem 1rem;font-size:13px;display:grid}.pr-hof-row:last-child{border-bottom:none}.pr-hof-row:hover{background:var(--bg-elevated)}.pr-hof-rank{color:var(--accent);font-weight:700}.pr-hof-name{color:var(--text-primary);font-weight:600}.pr-hof-level{color:var(--text-secondary)}.pr-hof-respect{color:var(--color-success);font-family:monospace;font-weight:600}.pr-search-row{gap:.75rem;margin-bottom:1.5rem;display:flex}.pr-search-input{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);flex:1;padding:10px 14px;font-size:14px}.pr-search-input:focus{border-color:var(--accent);outline:none}.pr-search-btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast);border:none;padding:10px 20px;font-size:13px;font-weight:700}.pr-search-btn:hover{background:var(--accent-hover)}.pr-search-btn:disabled{opacity:.5;cursor:not-allowed}.pr-search-empty{text-align:center;color:var(--text-muted);padding:3rem 1rem}.pr-search-empty p{margin-top:1rem;font-size:14px}@media (max-width:600px){.pr-grid{grid-template-columns:repeat(2,1fr)}.pr-hof-header,.pr-hof-row{grid-template-columns:40px 1fr 60px 80px}}.ref-container{max-width:560px;padding:var(--space-lg);gap:var(--space-lg);flex-direction:column;margin:0 auto;display:flex}.ref-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);align-items:center;gap:var(--space-sm);display:flex}.ref-error{text-align:center;padding:var(--space-xl);color:var(--error)}.ref-retry-btn{margin-top:var(--space-md);padding:var(--space-sm) var(--space-lg);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);cursor:pointer;border:none}.ref-section-title{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-sm)}.ref-code-section{background:var(--bg-secondary);border:1px solid var(--accent);border-radius:var(--radius-md);padding:var(--space-lg)}.ref-code-box{gap:var(--space-sm);align-items:center;display:flex}.ref-code-value{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--accent);letter-spacing:2px;font-family:monospace}.ref-copy-btn{padding:var(--space-xs) var(--space-md);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);border:none}.ref-gen-btn{padding:var(--space-sm) var(--space-md);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);cursor:pointer;border:none}.ref-share{font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--space-sm);word-break:break-all}.ref-share-url{color:var(--accent)}.ref-stats-section{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-lg)}.ref-stats-grid{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.ref-stat-card{text-align:center;padding:var(--space-md);background:var(--bg-primary);border-radius:var(--radius-sm)}.ref-stat-value{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--accent);display:block}.ref-stat-label{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-xs);display:block}.ref-apply-section{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-lg)}.ref-apply-desc{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-md)}.ref-apply-row{gap:var(--space-sm);display:flex}.ref-apply-input{padding:var(--space-sm);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);text-transform:uppercase;flex:1;font-family:monospace}.ref-apply-btn{padding:var(--space-sm) var(--space-lg);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);font-weight:var(--font-bold);cursor:pointer;white-space:nowrap;border:none}.ref-apply-btn:disabled{opacity:.5;cursor:not-allowed}.stock-market-container{max-width:960px;margin:0 auto;padding:2rem 1rem}.stock-market-header{margin-bottom:2rem}.stock-market-title{color:var(--text-primary);align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:1.5rem;font-weight:800;display:flex}.stock-market-desc{color:var(--text-muted);margin:0;font-size:14px}.stock-market-grid{grid-template-columns:1fr 300px;align-items:start;gap:1.5rem;display:grid}.stock-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:2px;margin:0 0 1rem;font-size:13px;font-weight:700}.stock-table{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.stock-table-header{background:var(--bg-elevated);color:var(--text-muted);text-transform:uppercase;letter-spacing:1.5px;border-bottom:1px solid var(--border);grid-template-columns:80px 1fr 90px 80px 70px;padding:.75rem 1rem;font-size:11px;font-weight:700;display:grid}.stock-row{border-bottom:1px solid var(--border);transition:background var(--transition-fast);cursor:default;grid-template-columns:80px 1fr 90px 80px 70px;align-items:center;padding:.75rem 1rem;display:grid}.stock-row:last-child{border-bottom:none}.stock-row:hover{background:var(--bg-elevated)}.stock-row-selected{background:var(--accent-subtle)}.stock-col{font-size:13px}.stock-sym{color:var(--text-primary);font-family:monospace;font-weight:700}.stock-name{color:var(--text-secondary)}.stock-price{color:var(--text-primary);font-family:monospace;font-weight:600}.stock-chg-pos{color:var(--color-success);font-weight:600}.stock-chg-neg{color:var(--color-error);font-weight:600}.stock-trade-btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast);border:none;padding:4px 12px;font-size:12px;font-weight:600}.stock-trade-btn:hover{background:var(--accent-hover)}.stock-sidebar{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);padding:1.25rem}.stock-panel-title{color:var(--text-primary);margin:0 0 1rem;font-size:14px;font-weight:700}.stock-panel-info{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.stock-panel-row{color:var(--text-secondary);justify-content:space-between;font-size:13px;display:flex}.stock-buy-row{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.stock-buy-label{color:var(--text-secondary);font-size:13px;font-weight:600}.stock-buy-input{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);width:80px;color:var(--text-primary);padding:6px 8px;font-family:monospace;font-size:13px}.stock-buy-btn{background:var(--color-success);color:#fff;border-radius:var(--radius-sm);cursor:pointer;width:100%;transition:opacity var(--transition-fast);border:none;padding:8px;font-size:13px;font-weight:700}.stock-buy-btn:hover{opacity:.85}.stock-cancel-btn{width:100%;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition-fast);background:0 0;margin-top:.5rem;padding:8px;font-size:13px}.stock-cancel-btn:hover{border-color:var(--text-muted)}.stock-empty{color:var(--text-muted);text-align:center;padding:2rem 0;font-size:13px}.stock-portfolio-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.6rem 0;display:flex}.stock-portfolio-row:last-child{border-bottom:none}.stock-portfolio-left{flex-direction:column;gap:2px;display:flex}.stock-portfolio-shares{color:var(--text-muted);font-size:11px}.stock-portfolio-right{align-items:center;gap:.75rem;display:flex}.stock-sell-btn{background:var(--color-error);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:opacity var(--transition-fast);border:none;padding:3px 10px;font-size:11px;font-weight:600}.stock-sell-btn:hover{opacity:.85}.stock-portfolio-total{border-top:1px solid var(--border);color:var(--text-primary);justify-content:space-between;margin-top:.5rem;padding:.75rem 0 0;font-size:13px;font-weight:700;display:flex}@media (max-width:700px){.stock-market-grid{grid-template-columns:1fr}.stock-table-header,.stock-row{grid-template-columns:70px 1fr 70px 70px 60px}}.travel-container{max-width:720px;padding:var(--space-lg);margin:0 auto}.travel-header{margin-bottom:var(--space-md)}.travel-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);align-items:center;gap:var(--space-sm);display:flex}.travel-desc{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-lg)}.travel-error{text-align:center;padding:var(--space-xl);color:var(--error)}.travel-retry-btn{margin-top:var(--space-md);padding:var(--space-sm) var(--space-lg);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);cursor:pointer;border:none}.travel-flight-info{background:var(--bg-secondary);border:1px solid var(--accent);border-radius:var(--radius-md);padding:var(--space-lg);text-align:center}.travel-flight-title{color:var(--accent);font-size:var(--text-lg);margin-bottom:var(--space-sm)}.travel-flight-note{font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--space-sm)}.travel-away{text-align:center;padding:var(--space-lg);background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border)}.travel-away-text{font-size:var(--text-base);color:var(--text-primary);margin-bottom:var(--space-md)}.travel-return-btn{padding:var(--space-sm) var(--space-xl);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);font-weight:var(--font-bold);cursor:pointer;border:none}.travel-grid{gap:var(--space-md);grid-template-columns:repeat(2,1fr);display:grid}.travel-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-lg);gap:var(--space-sm);flex-direction:column;display:flex}.travel-card-locked{opacity:.6}.travel-card-header{justify-content:space-between;align-items:center;display:flex}.travel-city-name{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary)}.travel-country{font-size:var(--text-xs);color:var(--text-muted)}.travel-city-desc{font-size:var(--text-sm);color:var(--text-muted)}.travel-city-details{gap:var(--space-md);font-size:var(--text-xs);color:var(--text-muted);display:flex}.travel-city-details span{align-items:center;gap:4px;display:flex}.travel-fly-btn{padding:var(--space-sm);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-sm);font-weight:var(--font-bold);cursor:pointer;border:none;margin-top:auto}.travel-fly-btn:disabled{opacity:.5;cursor:not-allowed}.travel-locked-note{font-size:var(--text-xs);color:var(--warning);text-align:center}@media (max-width:640px){.travel-grid{grid-template-columns:1fr}}.upgrade-loading{justify-content:center;align-items:center;min-height:50vh;display:flex}.upgrade-spinner{border:3px solid var(--color-border);border-top-color:var(--accent-primary);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite upgrade-spin}@keyframes upgrade-spin{to{transform:rotate(360deg)}}.upgrade-container{max-width:800px;margin:0 auto;padding:2rem 1rem}.upgrade-header{text-align:center;margin-bottom:2rem}.upgrade-title{color:var(--color-text);justify-content:center;align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:1.5rem;display:flex}.upgrade-subtitle{color:var(--color-muted);margin:0;font-size:.9rem}.upgrade-current{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;justify-content:center;align-items:center;gap:.5rem;margin-bottom:2rem;padding:.75rem 1rem;display:flex}.upgrade-current-label{color:var(--color-muted);font-size:.85rem}.upgrade-current-value{text-transform:capitalize;color:var(--color-text);font-weight:600}.upgrade-tiers-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.upgrade-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;transition:border-color .2s,box-shadow .2s;display:flex;overflow:hidden}.upgrade-card:hover{border-color:var(--accent-primary);box-shadow:0 0 20px #8b5cf61a}.upgrade-card.owned{border-color:var(--color-success);box-shadow:0 0 20px #22c55e1a}.upgrade-card-header{text-align:center;border-bottom:1px solid var(--color-border);padding:1.5rem}.upgrade-card-title{color:var(--color-text);margin:.5rem 0;font-size:1.25rem}.upgrade-card-price{margin-top:.5rem}.upgrade-price-amount{color:var(--accent-primary);font-size:2rem;font-weight:700}.upgrade-price-period{color:var(--color-muted);font-size:.85rem}.upgrade-card-body{flex:1;padding:1.5rem}.upgrade-perks{border-bottom:1px solid var(--color-border);gap:1rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.upgrade-perk{color:var(--color-text);align-items:center;gap:.4rem;font-size:.85rem;display:flex}.upgrade-features{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.upgrade-feature-item{color:var(--color-text-secondary);align-items:center;gap:.5rem;font-size:.9rem;display:flex}.upgrade-card-footer{border-top:1px solid var(--color-border);text-align:center;padding:1rem 1.5rem}.upgrade-btn{background:var(--accent-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:opacity .2s}.upgrade-btn:hover{opacity:.9}.upgrade-btn:disabled{opacity:.6;cursor:not-allowed}.upgrade-owned-badge{color:var(--color-success);border:1px solid var(--color-success);background:#22c55e26;border-radius:8px;padding:.5rem 1.5rem;font-size:.9rem;font-weight:600;display:inline-block}.upgrade-note{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-muted);border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:1rem;font-size:.85rem;display:flex}
