.tv-ripple-host{overflow:hidden}.tv-ripple{opacity:.9;pointer-events:none;z-index:0;background:radial-gradient(circle,#0071e359 0%,#0071e326 45%,#0000 70%);border-radius:50%;animation:.65s cubic-bezier(.2,.7,.2,1) forwards tv-ripple-out;position:absolute;transform:scale(0)}@keyframes tv-ripple-out{to{opacity:0;transform:scale(1)}}button.tv-pressed,a.tv-pressed,[role=button].tv-pressed,[role=tab].tv-pressed,.tx-pill.tv-pressed,.tv-clickable.tv-pressed{filter:brightness(.93);transition:transform 80ms,filter 80ms;transform:scale(.96)}button,[role=button],[role=tab],.tx-pill{transition:transform .15s,filter .15s,background-color .2s,box-shadow .2s}@media (prefers-reduced-motion:reduce){.tv-ripple{animation:none;display:none}button.tv-pressed,.tx-pill.tv-pressed{transform:none}}:root{--font-primary:"Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--color-bg-primary:#f5f5f7;--color-bg-secondary:#fff;--color-bg-tertiary:#f0f0f3;--color-bg-elevated:#fff;--glass-bg:#ffffffb8;--glass-border:#00000014;--color-text-primary:#1d1d1f;--color-text-secondary:#6e6e73;--color-text-tertiary:#86868b;--color-text-muted:#a1a1a6;--color-border:#0000001a;--color-border-strong:#00000029;--hairline:#00000014;--hairline-strong:#0000001f;--fill-subtle:#00000008;--fill-soft:#0000000d;--color-accent:#0071e3;--color-accent-hover:#0077ed;--color-accent-active:#006edb;--accent-soft:#0071e31a;--accent-soft-hover:#0071e329;--on-accent:#fff;--color-success:#34c759;--color-success-strong:#248a3d;--color-danger:#ff3b30;--color-danger-strong:#d70015;--color-warning:#ff9500;--color-warning-soft:#ff950059;--tour-dim:#0000008c;--switch-off:#7878803d;--scrollbar-thumb:#0000002e;--scrollbar-thumb-hover:#0000004d;--danger:var(--color-danger);--text-secondary:var(--color-text-secondary);--border:var(--color-border);--border-color:var(--color-border);--surface:var(--color-bg-secondary);--surface-solid:var(--color-bg-elevated);--surface-1:var(--color-bg-elevated);--surface-2:var(--color-bg-tertiary);--input-bg:var(--color-bg-tertiary);--card-bg:var(--color-bg-elevated);--text:var(--color-text-primary);--accent:var(--color-accent);--color-surface-2:var(--color-bg-tertiary);--color-text-dim:var(--color-text-tertiary);--z-sidebar:20;--z-dropdown:100;--z-overlay:1000;--z-modal:1100;--z-tour:1200;--z-tour-highlight:1250;--z-toast:2000;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:26px;--radius-pill:980px;--shadow-sm:0 1px 2px #0000000a, 0 1px 3px #0000000f;--shadow-md:0 4px 12px #0000000f, 0 2px 6px #0000000d;--shadow-lg:0 12px 32px #0000001a, 0 4px 12px #0000000f;--shadow-xl:0 24px 60px #00000024, 0 8px 20px #00000014;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--dur-fast:.18s;--dur-med:.28s}:root[data-theme=dark]{--color-bg-primary:#000;--color-bg-secondary:#1c1c1e;--color-bg-tertiary:#2c2c2e;--color-bg-elevated:#2c2c2e;--glass-bg:#1e1e20b8;--glass-border:#ffffff1a;--color-text-primary:#f5f5f7;--color-text-secondary:#aeaeb2;--color-text-tertiary:#8e8e93;--color-text-muted:#6e6e73;--color-border:#ffffff24;--color-border-strong:#ffffff38;--hairline:#ffffff1a;--hairline-strong:#ffffff29;--fill-subtle:#ffffff0d;--fill-soft:#ffffff14;--switch-off:#7878805c;--scrollbar-thumb:#ffffff38;--scrollbar-thumb-hover:#ffffff61;--color-accent:#0a84ff;--color-accent-hover:#409cff;--color-accent-active:#0071e3;--accent-soft:#0a84ff2e;--accent-soft-hover:#0a84ff42;--color-success:#30d158;--color-success-strong:#30d158;--color-danger:#ff453a;--color-danger-strong:#ff453a;--color-warning:#ff9f0a;--color-warning-soft:#ff9f0a59;--tour-dim:#000000b8;--shadow-sm:0 1px 2px #0006, 0 1px 3px #0000004d;--shadow-md:0 4px 14px #0000007a, 0 2px 6px #0000005c;--shadow-lg:0 14px 36px #00000094, 0 4px 12px #0006;--shadow-xl:0 26px 64px #000000a8, 0 8px 20px #0000007a}:root[data-theme=tradeverse]{--color-bg-primary:#0f1117;--color-bg-secondary:#1a1d26;--color-bg-tertiary:#242836;--color-bg-elevated:#1a1d26;--glass-bg:#1a1d26b8;--glass-border:#ffffff14;--color-text-primary:#f1f5f9;--color-text-secondary:#94a3b8;--color-text-tertiary:#64748b;--color-text-muted:#475569;--color-border:#ffffff1a;--color-border-strong:#ffffff2e;--hairline:#ffffff14;--hairline-strong:#ffffff24;--fill-subtle:#ffffff0a;--fill-soft:#ffffff12;--switch-off:#94a3b84d;--scrollbar-thumb:#fff3;--scrollbar-thumb-hover:#ffffff57;--color-accent:#6366f1;--color-accent-hover:#818cf8;--color-accent-active:#4f46e5;--accent-soft:#6366f129;--accent-soft-hover:#6366f13d;--color-success:#22c55e;--color-success-strong:#16a34a;--color-danger:#ef4444;--color-danger-strong:#dc2626;--color-warning:#f59e0b;--color-warning-soft:#f59e0b59;--tour-dim:#000000ad;--shadow-sm:0 1px 2px #0006, 0 1px 3px #0000004d;--shadow-md:0 4px 14px #00000075, 0 2px 6px #00000057;--shadow-lg:0 14px 36px #0000008c, 0 4px 12px #00000061;--shadow-xl:0 26px 64px #0000009e, 0 8px 20px #00000075}:root[data-theme] body,:root[data-theme] .sidebar,:root[data-theme] .header{transition:background-color var(--dur-med) var(--ease-out), color var(--dur-med) var(--ease-out)}*{box-sizing:border-box;font-family:var(--font-primary);margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-primary);background:var(--color-bg-primary);min-height:100vh;color:var(--color-text-primary);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}#root{min-height:100vh}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);background-clip:content-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);background-clip:content-box}::selection{background:var(--accent-soft-hover);color:var(--color-text-primary)}.header-balance{align-items:center;gap:var(--spacing-xs);border-radius:var(--radius-md);color:var(--color-success);white-space:nowrap;background:linear-gradient(135deg,#34c75924,#34c7590a);border:1px solid #34c75940;padding:8px 14px;font-size:14px;font-weight:700;display:flex}.header-balance-value{letter-spacing:.2px}.stat-sub{color:var(--color-text-secondary);margin-top:2px;font-size:11px;display:block}.bank-tabs{gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);display:flex}.bank-tab-btn{align-items:center;gap:var(--spacing-xs);background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;padding:10px 18px;font-size:14px;font-weight:600;transition:all .18s;display:inline-flex}.bank-tab-btn:hover{color:var(--color-text-primary);transform:translateY(-1px)}.bank-tab-btn.active{background:linear-gradient(135deg, var(--color-accent), var(--color-accent-hover));color:var(--on-accent);border-color:#0000;box-shadow:0 6px 18px #0071e34d}.transfer-layout{gap:var(--spacing-lg);grid-template-columns:280px 1fr;align-items:start;display:grid}.transfer-balance-card{gap:var(--spacing-xs);padding:var(--spacing-lg);border-radius:var(--radius-lg);background:linear-gradient(135deg,#0071e324,#0071e308);border:1px solid #0071e333;flex-direction:column;display:flex}.transfer-balance-label{color:var(--color-text-secondary);font-size:13px}.transfer-balance-value{color:var(--color-text-primary);font-size:28px;font-weight:800}.transfer-form{gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-lg);flex-direction:column;display:flex}.transfer-form-title{margin-bottom:var(--spacing-xs);font-size:18px;font-weight:700}.transfer-field{flex-direction:column;gap:6px;display:flex}.transfer-field>span{color:var(--color-text-secondary);align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.transfer-field input{background:var(--color-bg-tertiary);border:1px solid var(--hairline);border-radius:var(--radius-md);color:var(--color-text-primary);padding:12px 14px;font-size:15px;transition:border-color .18s,box-shadow .18s}.transfer-field select{background:var(--color-bg-tertiary);border:1px solid var(--hairline);border-radius:var(--radius-md);color:var(--color-text-primary);appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--color-text-secondary) 50%), linear-gradient(135deg, var(--color-text-secondary) 50%, transparent 50%);cursor:pointer;background-position:calc(100% - 18px),calc(100% - 13px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding:12px 14px;font-size:15px;transition:border-color .18s,box-shadow .18s}.transfer-field select:focus{border-color:var(--color-accent);outline:none}.transfer-field input:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #0071e326}.transfer-feedback{align-items:center;gap:var(--spacing-sm);border-radius:var(--radius-md);padding:12px 14px;font-size:14px;font-weight:500;display:flex}.transfer-feedback.success{color:#248a3d;background:#34c7591f;border:1px solid #34c7594d}.transfer-feedback.error{color:#ff8a80;background:#ff3b301f;border:1px solid #ff3b304d}.transfer-submit{justify-content:center;align-items:center;gap:var(--spacing-sm);background:linear-gradient(135deg, var(--color-accent), var(--color-accent-hover));border-radius:var(--radius-md);color:var(--on-accent);cursor:pointer;border:none;padding:13px 20px;font-size:15px;font-weight:700;transition:transform .15s,box-shadow .15s,opacity .15s;display:inline-flex}.transfer-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 22px #0071e359}.transfer-submit:disabled{opacity:.6;cursor:not-allowed}.tx-panel{gap:var(--spacing-md);flex-direction:column;display:flex}.tx-toolbar{gap:var(--spacing-sm);flex-wrap:wrap;align-items:center;display:flex}.tx-search{flex:1;min-width:180px;position:relative}.tx-search-icon{color:var(--color-text-secondary);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.tx-search input{background:var(--color-bg-tertiary);border:1px solid var(--hairline);border-radius:var(--radius-md);width:100%;color:var(--color-text-primary);padding:10px 12px 10px 36px;font-size:14px}.tx-search input:focus{border-color:var(--color-accent);outline:none}.tx-filters{gap:6px;display:flex}.tx-pill{background:var(--color-bg-secondary);border:1px solid var(--hairline);color:var(--color-text-secondary);cursor:pointer;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .16s}.tx-pill:hover{color:var(--color-text-primary)}.tx-pill.active{color:var(--color-accent-hover);background:#0071e32e;border-color:#0071e366}.tx-sort{background:var(--color-bg-tertiary);border:1px solid var(--hairline);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;padding:9px 12px;font-size:13px}.tx-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.tx-card{align-items:center;gap:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-md);padding:14px 16px;transition:transform .15s,border-color .15s;display:flex}.tx-card:hover{border-color:#a1a1a6;transform:translate(2px)}.tx-card-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.tx-card-icon.income{color:var(--color-success);background:#34c75924}.tx-card-icon.expense{color:var(--color-danger);background:#ff3b3024}.tx-card-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.tx-card-label{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.tx-card-meta{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.tx-card-cat{color:var(--color-text-secondary);background:var(--color-bg-tertiary);border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;display:inline-flex}.tx-card-date{color:var(--color-text-secondary);font-size:12px}.tx-card-amounts{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.tx-card-amount{font-size:15px;font-weight:700}.tx-card-amount.income{color:var(--color-success)}.tx-card-amount.expense{color:var(--color-danger)}.tx-card-balance{color:var(--color-text-secondary);font-size:11px}.tx-pagination{justify-content:space-between;align-items:center;gap:var(--spacing-md);padding-top:var(--spacing-sm);display:flex}.tx-page-btn{background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;align-items:center;gap:4px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.tx-page-btn:hover:not(:disabled){border-color:var(--color-accent)}.tx-page-btn:disabled{opacity:.4;cursor:not-allowed}.tx-page-info{color:var(--color-text-secondary);font-size:13px}.tx-card.skeleton{background:linear-gradient(90deg, var(--color-bg-secondary) 25%, var(--color-bg-tertiary) 50%, var(--color-bg-secondary) 75%);background-size:200% 100%;border:none;height:68px;animation:1.3s ease-in-out infinite tv-shimmer}.skeleton-chart{border-radius:var(--radius-md);background:linear-gradient(90deg, var(--color-bg-secondary) 25%, var(--color-bg-tertiary) 50%, var(--color-bg-secondary) 75%);background-size:200% 100%;height:200px;animation:1.3s ease-in-out infinite tv-shimmer}@keyframes tv-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (width<=720px){.transfer-layout{grid-template-columns:1fr}.tx-toolbar{flex-direction:column;align-items:stretch}.tx-sort{width:100%}.header-balance{gap:4px;min-width:0;padding:6px 9px;font-size:12px}.header-balance svg{flex-shrink:0;width:14px;height:14px}}.crypto-tab{gap:var(--spacing-lg);flex-direction:column;display:flex}.crypto-section{gap:var(--spacing-md);flex-direction:column;display:flex}.crypto-section h3{font-size:17px;font-weight:700}.crypto-onboard{align-items:center;gap:var(--spacing-md);text-align:center;padding:var(--spacing-2xl);border-radius:var(--radius-lg);background:linear-gradient(135deg,#0071e31a,#0071e305);border:1px solid #0071e333;flex-direction:column;display:flex}.crypto-onboard-icon{width:96px;height:96px;color:var(--color-accent-hover);background:#0071e326;border-radius:50%;justify-content:center;align-items:center;display:flex}.crypto-onboard h3{font-size:22px;font-weight:700}.crypto-onboard p{color:var(--color-text-secondary);max-width:420px}.crypto-open-btn{align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-sm);background:linear-gradient(135deg, var(--color-accent), var(--color-accent-hover));border-radius:var(--radius-md);color:var(--on-accent);cursor:pointer;border:none;padding:13px 24px;font-size:14px;font-weight:700;transition:transform .15s,box-shadow .15s;display:inline-flex}.crypto-open-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 22px #0071e359}.crypto-open-btn:disabled{opacity:.6;cursor:not-allowed}.crypto-summary{gap:var(--spacing-md);grid-template-columns:1.4fr 1fr 1fr;display:grid}.crypto-wallet-card,.crypto-stat-card{gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-lg);flex-direction:column;display:flex}.crypto-stat-card.accent{background:linear-gradient(135deg,#34c7591f,#34c75905);border-color:#34c75933}.crypto-card-label{color:var(--color-text-secondary);align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.crypto-stat-value{font-size:24px;font-weight:800}.crypto-wallet-row{align-items:center;gap:var(--spacing-sm);display:flex}.crypto-wallet-addr{letter-spacing:.5px;color:var(--color-accent-hover);text-overflow:ellipsis;flex:1;font-size:15px;font-weight:700;overflow:hidden}.crypto-copy-btn{background:var(--color-bg-tertiary);border:1px solid var(--hairline);border-radius:var(--radius-sm);width:34px;height:34px;color:var(--color-text-secondary);cursor:pointer;justify-content:center;align-items:center;transition:all .15s;display:flex}.crypto-copy-btn:hover{color:var(--color-accent-hover);border-color:var(--color-accent)}.crypto-coin-badge{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:13px;font-weight:800;display:flex}.crypto-holdings{gap:var(--spacing-sm);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.crypto-holding{align-items:center;gap:var(--spacing-sm);background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-md);padding:12px 14px;display:flex}.crypto-holding-info{flex-direction:column;flex:1 1 0;min-width:0;display:flex}.crypto-holding-info>span,.crypto-holding-values>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.crypto-holding-symbol{font-size:14px;font-weight:700}.crypto-holding-qty{color:var(--color-text-secondary);font-size:12px}.crypto-holding-values{flex-direction:column;flex:0 auto;align-items:flex-end;min-width:0;display:flex}.crypto-holding-value{font-size:14px;font-weight:700}.crypto-holding-pnl{font-size:12px}.crypto-holding-pnl.up{color:var(--color-success)}.crypto-holding-pnl.down{color:var(--color-danger)}.crypto-market{gap:var(--spacing-sm);flex-direction:column;display:flex}.crypto-coin{align-items:center;gap:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-md);padding:12px 16px;transition:border-color .15s,transform .15s;display:flex}.crypto-coin:hover{border-color:#a1a1a6;transform:translate(2px)}.crypto-coin-info{flex-direction:column;flex:1;min-width:0;display:flex}.crypto-coin-symbol{font-size:15px;font-weight:700}.crypto-coin-name{color:var(--color-text-secondary);font-size:12px}.crypto-coin-price{flex-direction:column;align-items:flex-end;min-width:110px;display:flex}.crypto-coin-value{font-size:15px;font-weight:700}.crypto-coin-change{align-items:center;gap:3px;font-size:12px;font-weight:600;display:inline-flex}.crypto-coin-change.up{color:var(--color-success)}.crypto-coin-change.down{color:var(--color-danger)}.crypto-coin-actions{gap:6px;display:flex}.crypto-buy,.crypto-sell{border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:4px;padding:7px 12px;font-size:13px;font-weight:700;transition:opacity .15s,transform .15s;display:inline-flex}.crypto-buy{color:var(--color-success);background:#34c75929}.crypto-sell{color:var(--color-danger);background:#ff3b3029}.crypto-buy:hover,.crypto-sell:hover:not(:disabled){transform:translateY(-1px)}.crypto-sell:disabled{opacity:.35;cursor:not-allowed}.crypto-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0006;justify-content:center;align-items:center;animation:.15s tv-fade;display:flex;position:fixed;inset:0}@keyframes tv-fade{0%{opacity:0}to{opacity:1}}.crypto-modal{gap:var(--spacing-md);width:360px;max-width:92vw;padding:var(--spacing-xl);background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-lg);flex-direction:column;animation:.18s tv-pop;display:flex;position:relative;box-shadow:0 24px 60px #00000024}@keyframes tv-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.crypto-modal h3{font-size:18px;font-weight:700}.crypto-modal-price{color:var(--color-text-secondary);margin-top:-8px;font-size:14px}.crypto-modal-close{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;position:absolute;top:14px;right:14px}.crypto-modal-close:hover{color:var(--color-text-primary)}.crypto-modal-total{color:var(--color-text-secondary);font-size:14px}.crypto-modal-total strong{color:var(--color-text-primary)}.crypto-modal-fee{color:var(--color-text-tertiary);margin-top:2px;font-size:12px}.crypto-confirm{border-radius:var(--radius-md);color:#fff;cursor:pointer;border:none;padding:12px;font-size:15px;font-weight:700;transition:transform .15s,opacity .15s}.crypto-confirm.buy{background:linear-gradient(135deg,#248a3d,#34c759)}.crypto-confirm.sell{background:linear-gradient(135deg,#d70015,#ff3b30)}.crypto-confirm:hover:not(:disabled){transform:translateY(-1px)}.crypto-confirm:disabled{opacity:.6;cursor:not-allowed}@media (width<=720px){.crypto-summary{grid-template-columns:1fr}.crypto-coin{flex-wrap:wrap}.crypto-coin-actions{width:100%}.crypto-buy,.crypto-sell{flex:1;justify-content:center}}.portfolio-panel{background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.portfolio-header{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-wrap:wrap;display:flex}.portfolio-header h3{color:var(--color-text-primary);font-size:16px;font-weight:600}.portfolio-header .icon{color:var(--color-accent-hover)}.portfolio-total{color:var(--color-text-secondary);align-items:baseline;gap:var(--spacing-xs);margin-left:auto;font-size:13px;display:flex}.portfolio-total strong{color:var(--color-text-primary);font-size:15px}.portfolio-total-pnl.up{color:var(--color-success)}.portfolio-total-pnl.down{color:var(--color-danger)}.portfolio-list{flex-direction:column;gap:2px;display:flex}.portfolio-item{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;transition:background .15s;display:flex}.portfolio-item:hover{background:var(--fill-subtle)}.portfolio-item-main{flex-direction:column;gap:2px;display:flex}.portfolio-symbol{color:var(--color-text-primary);font-size:14px;font-weight:700}.portfolio-qty{color:var(--color-text-secondary);font-size:12px}.portfolio-item-values{text-align:right;flex-direction:column;gap:2px;display:flex}.portfolio-value{color:var(--color-text-primary);font-size:14px;font-weight:600}.portfolio-pnl{font-size:12px}.portfolio-pnl.up{color:var(--color-success)}.portfolio-pnl.down{color:var(--color-danger)}.stocks-history{margin-top:var(--spacing-xl)}.stocks-history h3{margin-bottom:var(--spacing-md);font-size:16px;font-weight:600}.stock-card.skeleton{background:var(--color-bg-secondary);border-radius:var(--radius-lg)}.leaderboard-tab{width:100%}.leaderboard-title-row{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);display:flex}.leaderboard-title-row .icon{color:#ffb340}.leaderboard-title-row .tab-title{margin:0}.leaderboard-title-row .asset-interact-btn{flex-shrink:0;width:auto}.leaderboard-title-row .asset-interact-btn svg:last-child{margin-left:0}.source-panel-actions{gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);flex-wrap:wrap;display:flex}.source-panel-actions .asset-interact-btn{width:auto}.source-panel-title{align-items:flex-start;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);display:flex}.source-panel-title .icon{color:#ffb340;flex-shrink:0;margin-top:3px}.source-panel-title .tab-title{overflow-wrap:anywhere;min-width:0;margin:0}.source-debug-btn{opacity:.8;border-style:dashed}.source-kpi-grid{gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.source-kpi{padding:var(--spacing-md);border-radius:var(--radius-md);background:linear-gradient(145deg, #0071e329, var(--color-bg-secondary));border:1px solid #0071e347}.source-kpi span{color:var(--color-text-secondary);margin-bottom:5px;font-size:12px;display:block}.source-kpi strong{color:var(--color-text-primary);font-size:20px;line-height:1}.source-kpi small{color:var(--color-text-secondary);margin-left:2px;font-size:12px}.leaderboard-sorts{gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);flex-wrap:wrap;display:flex}.leaderboard-table{gap:var(--spacing-xs);flex-direction:column;display:flex}.leaderboard-row{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-md);grid-template-columns:56px 1fr auto auto;display:grid}.leaderboard-row.skeleton{display:block}.leaderboard-head{padding-top:0;padding-bottom:var(--spacing-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);background:0 0;border:none;font-size:12px}.leaderboard-head .lb-networth,.leaderboard-head .lb-profit{text-align:right}.leaderboard-top{border-color:#fbbf2438}.leaderboard-me{border-color:var(--color-accent);background:linear-gradient(135deg,#0071e324,#0071e308)}.lb-rank{justify-content:center;display:flex}.rank-badge{background:var(--color-bg-tertiary);width:32px;height:32px;color:var(--color-text-secondary);border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:inline-flex}.rank-gold{color:#fff;background:linear-gradient(135deg,#ffb340,#c76b00)}.rank-silver{color:#fff;background:linear-gradient(135deg,#e8e8ed,#86868b)}.rank-bronze{color:#fff;background:linear-gradient(135deg,#c76b00,#7a4200)}.lb-player{align-items:center;gap:var(--spacing-sm);min-width:0;display:flex}.lb-avatar{background:linear-gradient(135deg, var(--color-accent), var(--color-accent-hover));width:34px;height:34px;color:var(--on-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.lb-avatar-img{object-fit:cover}.lb-name{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.lb-you{margin-left:var(--spacing-xs);color:var(--color-accent-hover);text-transform:uppercase;font-size:11px;font-weight:600}.lb-networth{text-align:right;color:var(--color-text-primary);font-weight:600}.lb-profit{text-align:right;min-width:96px}.lb-profit.up{color:var(--color-success)}.lb-profit.down{color:var(--color-danger)}@media (width<=640px){.source-kpi-grid{grid-template-columns:1fr}.leaderboard-row{gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);grid-template-columns:44px 1fr auto}.leaderboard-row .lb-networth{display:none}}.market-toolbar{align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap;display:flex}.market-cats{gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.market-search{min-width:220px;margin-left:auto}.asset-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(250px,1fr));display:grid}.asset-card{background:var(--color-bg-secondary);border:1px solid var(--hairline);border-top:3px solid var(--color-accent);border-radius:var(--radius-lg);padding:var(--spacing-lg);gap:var(--spacing-sm);flex-direction:column;transition:transform .15s,box-shadow .15s;display:flex}.asset-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.asset-card.owned{border-top-color:var(--color-success)}.source-card{background:var(--color-bg-secondary)}.source-card:hover{border-color:var(--hairline)}.source-card .asset-card-head{padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--hairline)}.source-card .asset-stats{gap:var(--spacing-sm)}.source-banner{height:156px;padding:var(--spacing-md);box-sizing:border-box;justify-content:flex-start}.source-banner-mine{background:linear-gradient(135deg,#172554,#6d28d9)!important}.source-banner-sawmill{background:linear-gradient(135deg,#451a03,#b45309)!important}.source-banner-field{background:linear-gradient(135deg,#14532d,#a16207)!important}.source-banner-label{z-index:1;color:#fff;text-transform:uppercase;letter-spacing:.08em;text-shadow:0 1px 4px #00000080;font-size:12px;font-weight:700;position:absolute;bottom:12px;left:14px}.source-live-dot{color:var(--color-success);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:5px;font-size:11px;font-weight:700;display:inline-flex}.source-live-dot span{background:currentColor;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #34c75924}.source-live-dot.is-stopped{color:var(--color-text-secondary)}.source-live-dot.is-stopped span{box-shadow:0 0 0 4px #8e8e9324}.source-card-highlight{gap:var(--spacing-sm);padding:var(--spacing-sm);border-radius:var(--radius-md);background:#00000029;grid-template-columns:1fr 1fr;display:grid}.source-card-highlight span{color:var(--color-text-secondary);margin-bottom:3px;font-size:11px;display:block}.source-card-highlight strong{color:var(--color-text-primary);font-size:18px}.source-card-highlight strong:first-letter{color:var(--color-success)}.source-card-highlight small{color:var(--color-text-secondary);margin-left:2px;font-size:11px}.source-card-actions{flex-direction:column;gap:5px;display:flex}.source-primary-action{border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;background:#ffffff0f;border:1px solid #ffb3407a;justify-content:center;align-items:center;gap:7px;padding:10px 12px;font-weight:700;transition:transform .15s,border-color .15s,background .15s;display:inline-flex}.source-primary-action:hover{background:#ffffff1a;border-color:#ffffff52;transform:translateY(-1px)}.source-action-hint{color:var(--color-text-secondary);text-align:center;font-size:11px}.asset-card-head{justify-content:space-between;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.asset-name{color:var(--color-text-primary);font-size:15px;font-weight:700}.asset-rarity{text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-secondary);font-size:11px}.asset-level{color:var(--color-success);background:#34c75926;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.asset-stats{flex-direction:column;gap:4px;display:flex}.asset-stat{color:var(--color-text-secondary);justify-content:space-between;align-items:center;font-size:13px;display:flex}.asset-stat b{color:var(--color-text-primary);align-items:center;gap:4px;display:inline-flex}.asset-stat b.up{color:var(--color-success)}.asset-stat b.down{color:var(--color-danger)}.asset-price{color:var(--color-text-primary);align-items:center;gap:6px;margin-top:auto;font-size:18px;font-weight:700;display:inline-flex}.asset-buy-btn{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--color-accent), var(--color-accent-hover));color:var(--on-accent);cursor:pointer;border:none;padding:10px;font-weight:600;transition:opacity .15s}.asset-buy-btn:hover{opacity:.9}.asset-buy-btn:disabled{opacity:.45;cursor:not-allowed}.market-card{gap:10px}.market-card-name{color:var(--color-text-primary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;min-height:2.4em;font-size:17px;font-weight:700;line-height:1.2;display:-webkit-box;overflow:hidden}.market-card-meta{justify-content:space-between;align-items:center;gap:var(--spacing-sm);margin-top:-4px;display:flex}.market-card-rarity{text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:700}.market-card-cat{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary);font-size:12px;font-weight:600}.market-card-price{justify-content:space-between;align-items:center;gap:8px;margin-top:auto;display:flex}.market-card-price .mcp-value{color:var(--color-text-primary);align-items:center;gap:6px;font-size:20px;font-weight:800;display:inline-flex}.market-card-price .asset-trend{margin-left:0}.media-modal{width:min(560px,96vw);max-width:560px}.media-type-toggle{gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);display:flex}.media-chance{color:var(--color-accent);align-items:center;gap:6px;margin:6px 0 0;font-size:13px;font-weight:700;display:inline-flex}.media-warn{color:var(--color-text-tertiary);margin:6px 0 0;font-size:12px}.media-feed-list{gap:var(--spacing-xs);flex-direction:column;display:flex}.media-feed-item{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--color-bg-secondary);display:flex}.media-feed-item.success{border-left:3px solid var(--color-danger)}.media-feed-item.fail{border-left:3px solid var(--color-success)}.media-feed-item.pending{border-left:3px solid var(--color-text-tertiary);opacity:.85}.media-feed-icon{display:inline-flex}.media-feed-item.success .media-feed-icon{color:var(--color-danger)}.media-feed-item.fail .media-feed-icon{color:var(--color-success)}.media-feed-item.pending .media-feed-icon{color:var(--color-text-tertiary)}.media-feed-text{flex-direction:column;gap:2px;display:flex}.media-feed-title{color:var(--color-text-primary);font-size:13px;font-weight:600}.media-feed-date{color:var(--color-text-tertiary);font-size:11px}.asset-summary{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap;display:flex}.asset-summary-card{background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-lg);min-width:150px;padding:var(--spacing-md) var(--spacing-lg);flex-direction:column;flex:1;gap:4px;display:flex}.asset-summary-card span{color:var(--color-text-secondary);font-size:12px}.asset-summary-card b{color:var(--color-text-primary);font-size:20px}.asset-summary-card b.up{color:var(--color-success)}.asset-accrued{color:var(--color-text-secondary);border-radius:var(--radius-sm);background:#34c75914;align-items:center;gap:6px;padding:6px 10px;font-size:13px;display:inline-flex}.asset-accrued b{color:var(--color-success)}.asset-hint{color:var(--color-text-secondary);background:var(--color-bg-tertiary);border-radius:var(--radius-sm);cursor:help;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}.asset-actions{gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.asset-act{border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--color-bg-tertiary);min-width:110px;color:var(--color-text-primary);cursor:pointer;flex:1;justify-content:center;align-items:center;gap:6px;padding:9px 10px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.asset-act:hover:not(:disabled){transform:translateY(-1px)}.asset-act:disabled{opacity:.45;cursor:not-allowed}.asset-act.collect{color:var(--color-success);border-color:#34c7594d}.asset-act.upgrade{color:var(--color-accent-hover);border-color:#0071e34d}.asset-act.sell{color:var(--color-danger);border-color:#ff3b304d}.asset-interact{position:relative}.asset-card.menu-open{z-index:30;position:relative}.asset-interact-btn{border-radius:var(--radius-md);width:100%;color:var(--color-accent-hover);cursor:pointer;background:#0071e31a;border:1px solid #0071e34d;justify-content:center;align-items:center;gap:6px;padding:9px 10px;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex}.asset-interact-btn:hover:not(:disabled){transform:translateY(-1px)}.asset-interact-btn:disabled{opacity:.45;cursor:not-allowed}.asset-interact-btn svg:last-child{margin-left:auto}.asset-menu{z-index:20;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:tv-modal-in var(--dur-med) var(--ease-out);flex-direction:column;gap:4px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0;right:0}.asset-menu-item{border-radius:var(--radius-sm);color:var(--color-text-primary);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;font-size:13px;font-weight:600;transition:background .12s;display:flex}.asset-menu-item:hover:not(:disabled){background:var(--fill-soft)}.asset-menu-item:disabled{opacity:.45;cursor:not-allowed}.asset-menu-item.collect{color:var(--color-success)}.asset-menu-item.upgrade{color:var(--color-accent-hover)}.asset-menu-item.sell{color:var(--color-danger)}.company-name-input{width:100%;margin:var(--spacing-md) 0;background:var(--color-bg-tertiary);border:1px solid var(--hairline);border-radius:var(--radius-md);color:var(--color-text-primary);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;padding:12px 14px;font-size:15px}@media (prefers-color-scheme:dark){.company-name-input{--lightningcss-light: ;--lightningcss-dark:initial}}select.company-name-input option{background:var(--color-bg-secondary);color:var(--color-text-primary)}.company-actions{gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);flex-wrap:wrap;display:flex}.company-actions .asset-act{flex:0 auto;min-width:150px}.company-section{margin-top:var(--spacing-xl)}.company-section>h3{align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-md);font-size:16px;font-weight:600;display:flex}.company-staff-card{gap:var(--spacing-sm);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);background:linear-gradient(#50b4ff14,#50b4ff05);border:1px solid #50b4ff40;flex-direction:column;display:flex}.company-staff-card .csc-head{justify-content:space-between;align-items:center;gap:var(--spacing-sm);display:flex}.company-staff-card .csc-title{align-items:center;gap:var(--spacing-xs);font-size:15px;font-weight:600;display:inline-flex}.company-staff-card .csc-pct{color:var(--color-success);font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.company-staff-card .csc-bar{background:#ffffff14;border-radius:4px;height:8px;position:relative;overflow:hidden}.company-staff-card .csc-bar-fill{background:linear-gradient(90deg,#3da9ff,#4ade80);border-radius:4px;transition:width .4s;position:absolute;inset:0 auto 0 0}.company-staff-card .csc-meta{gap:var(--spacing-xs) var(--spacing-lg);opacity:.85;flex-wrap:wrap;font-size:13px;display:flex}.company-staff-card .csc-list{gap:var(--spacing-xs);margin-top:var(--spacing-xs);flex-wrap:wrap;display:flex}.company-staff-card .csc-pill{background:#ffffff0d;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:6px;padding:4px 8px;font-size:12px;display:inline-flex}.company-staff-card .csc-pill-name{font-weight:600}.company-staff-card .csc-pill-role{opacity:.6}.company-staff-card .csc-pill-bonus{color:var(--color-success);font-weight:600}.company-staff-card .csc-self{margin-top:var(--spacing-xs);opacity:.85;padding-top:var(--spacing-xs);border-top:1px dashed #ffffff1a;font-size:13px}.company-stock-card{gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-lg);flex-direction:column;display:flex}.company-stock-card .csc-row{justify-content:space-between;align-items:baseline;gap:var(--spacing-md);display:flex}.company-stock-card .csc-symbol{letter-spacing:.5px;color:var(--color-text-primary);font-size:20px;font-weight:700}.company-stock-card .csc-price{font-variant-numeric:tabular-nums;font-size:17px;font-weight:600}.company-stock-card .csc-price.up{color:var(--color-success)}.company-stock-card .csc-price.down{color:var(--color-danger)}.company-stock-card .csc-meta{gap:var(--spacing-xs) var(--spacing-lg);padding-top:var(--spacing-sm);border-top:1px solid var(--hairline);color:var(--color-text-secondary);flex-wrap:wrap;font-size:13px;display:flex}.company-stock-card .asset-act{align-self:flex-start}.company-stock-empty{align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--color-bg-secondary);border:1px dashed var(--hairline);border-radius:var(--radius-lg);flex-direction:column;display:flex}.company-stock-empty .company-note{margin:0}.company-hire{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-wrap:wrap;display:flex}.company-hire input,.company-hire select{background:var(--color-bg-tertiary);border:1px solid var(--hairline);border-radius:var(--radius-md);color:var(--color-text-primary);padding:10px 12px;font-size:14px}.company-hire input{flex:1;min-width:130px}.company-hire .asset-act{flex:none}.company-emp-list{gap:var(--spacing-xs);flex-direction:column;display:flex}.company-emp{justify-content:space-between;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.company-emp-info{align-items:center;gap:var(--spacing-sm);display:flex}.company-emp-text{flex-direction:column;gap:2px;display:flex}.company-emp-name{color:var(--color-text-primary);font-weight:600}.company-emp-role{color:var(--color-text-secondary);font-size:12px}.company-emp-avatar{background:linear-gradient(135deg, var(--color-accent), var(--color-accent-hover));width:30px;height:30px;color:var(--on-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.company-emp-avatar-img{object-fit:cover}.company-emp-actions,.company-emp-edit{align-items:center;gap:var(--spacing-xs);display:flex}.company-emp-salary{color:var(--color-success);margin-right:var(--spacing-xs);font-weight:600}.company-emp-edit input{background:var(--color-bg-tertiary);border:1px solid var(--hairline);border-radius:var(--radius-sm);width:100px;color:var(--color-text-primary);padding:6px 10px}.company-emp-actions .asset-act,.company-emp-edit .asset-act{min-width:auto;padding:7px 10px}.member-perms{gap:var(--spacing-xs);margin:var(--spacing-md) 0;flex-direction:column;display:flex}.member-perms-label{text-transform:uppercase;color:var(--color-text-tertiary,var(--color-text-secondary));font-size:12px;font-weight:600}.member-perm{align-items:center;gap:var(--spacing-sm);color:var(--color-text-primary);cursor:pointer;font-size:14px;display:flex}.member-perm input{width:16px;height:16px;accent-color:var(--color-accent);cursor:pointer}.cityroof-bar{align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-sm);flex-wrap:wrap;display:flex}.wc-chip{align-items:center;gap:var(--spacing-sm);border-radius:var(--radius-md);color:#ff9f0a;background:linear-gradient(135deg,#eab30824,#eab3080a);border:1px solid #eab3084d;padding:8px 14px;font-weight:700;display:inline-flex}.wc-balance{font-size:15px}.wc-league{color:var(--color-text-secondary);font-size:12px;font-weight:500}.wc-buy{border-radius:var(--radius-sm);color:#fff;cursor:pointer;background:#ff9f0a;border:none;align-items:center;gap:4px;margin-left:4px;padding:5px 10px;font-size:12px;font-weight:700;display:inline-flex}.cityroof-status{background:var(--fill-soft);color:var(--color-text-secondary);white-space:nowrap;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600}.cityroof-status.active{color:var(--color-success);background:#34c7591f}.cityroof-hint{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);font-size:13px}.cityroof-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.cityroof-rooms-btn,.cityroof-help-btn{border-radius:var(--radius-sm);border:1px solid var(--hairline);background:var(--fill-soft);min-height:36px;color:var(--color-text-primary);cursor:pointer;white-space:nowrap;padding:0 16px;font-size:12px;font-weight:700}.cityroof-rooms-btn:hover,.cityroof-help-btn:hover{background:var(--fill-medium,var(--fill-soft))}.cityroof-help-btn{color:var(--color-accent)}.cityroof-help-card{margin:0 0 var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);background:linear-gradient(135deg,#6366f11f,#6366f10a);border:1px solid #6366f159}.cityroof-help-card h3{margin:0 0 6px}.cityroof-help-card p{color:var(--color-text-secondary);margin:5px 0;font-size:13px}.cityroof-legend{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.cityroom-members{flex-wrap:wrap;gap:6px;display:flex}.cityroom-player{border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700;display:inline-flex}.cityroom-player.active{color:#86efac;background:#22c55e33;border:1px solid #22c55e73}.cityroom-player.former{color:#fde68a;background:#eab30824;border:1px solid #eab30859}.cityroof-business-bonuses{border-radius:var(--radius-md);background:var(--fill-soft);border:1px solid var(--hairline);flex-direction:column;gap:7px;margin:14px 0;padding:12px;display:flex}.cityroof-business-bonuses div{justify-content:space-between;gap:12px;font-size:13px;display:flex}.cityroof-business-bonuses span{color:var(--color-success);text-align:right;font-weight:700}.cityroof-rooms-btn:hover{background:var(--fill-medium,var(--fill-soft))}.cityroom-card{padding:var(--spacing-md);border-radius:var(--radius-lg);background:var(--color-bg-secondary);border:1px solid var(--hairline);cursor:pointer;text-align:left;transition:border-color .15s,transform .15s}.cityroom-card:hover,.cityroom-card:focus-visible{border-color:var(--color-accent);outline:none;transform:translateY(-2px)}.cityroof-back-btn{margin-bottom:var(--spacing-sm);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--fill-soft);color:var(--color-text-primary);cursor:pointer;padding:7px 12px}.cityroom-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.cityroom-code{color:var(--color-text-primary);font-size:14px;font-weight:700}.cityroom-league{color:var(--color-text-secondary);font-size:12px}.cityroom-meta{color:var(--color-text-secondary);margin-bottom:8px;font-size:12px}.cityroom-businesses{flex-direction:column;gap:3px;font-size:12px;display:flex}.cityroom-businesses span{color:var(--color-text-primary);justify-content:space-between;gap:8px;display:flex}.cityroom-businesses span b{color:var(--color-text-secondary);font-weight:600}.cityroof-modal-title{align-items:center;gap:8px;display:flex}.cityroof-modal-title h3{margin:0}.cityroof-modal-subtitle{color:var(--color-text-secondary);margin:4px 0 14px;font-size:13px}.cityroof-modal-room-list{flex-direction:column;gap:7px;max-height:55vh;display:flex;overflow-y:auto}.cityroof-room-option{border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--fill-soft);color:var(--color-text-primary);text-align:left;cursor:pointer;font-family:var(--font-primary);justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;display:flex}.cityroof-room-option:hover,.cityroof-room-option.active{border-color:var(--color-accent);background:#0071e31a}.cityroof-room-option span:first-child{flex-direction:column;gap:3px;display:flex}.cityroof-room-option small{color:var(--color-text-secondary)}.cityroof-room-online{color:var(--color-text-secondary);align-items:center;gap:5px;font-size:12px;display:flex}.cityroof-owner-popover{z-index:20;border:1px solid var(--color-accent);border-radius:var(--radius-md);background:var(--color-bg-secondary);max-width:320px;box-shadow:var(--shadow-lg);color:var(--color-text-primary);padding:12px 14px;font-size:12px;position:fixed;bottom:24px;right:24px}.cityroof-owner-popover b,.cityroof-owner-popover span{display:block}.cityroof-owner-popover span{color:var(--color-accent);margin-top:3px;font-weight:700}.cityroof-owner-popover div{color:var(--color-text-secondary);margin-top:6px;line-height:1.45}.city-tile.player-highlight{z-index:4;outline:3px solid var(--color-accent);filter:brightness(1.18);transform:scale(1.03)}.city-tile.player-dim{opacity:.35;filter:grayscale(.5)}.cityroof-rank-row.selected{border-color:var(--color-accent);background:#0071e329}.cityroof-layout{gap:var(--spacing-md);grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 280px;align-items:start;max-width:1900px;margin:0 auto;display:grid}@media (width<=1280px){.cityroof-layout{grid-template-columns:minmax(0,1fr)}}.cityroof-map{border-radius:var(--radius-lg);border:1px solid var(--hairline);box-shadow:var(--shadow-md);margin:0 auto;line-height:0;position:relative;overflow:hidden}.cityroof-ranks{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--fill-soft);top:var(--spacing-md);position:sticky;overflow:hidden}.cityroof-ranks-head{color:var(--color-text-primary);border-bottom:1px solid var(--hairline);align-items:center;gap:7px;padding:11px 13px;font-size:13px;font-weight:700;display:flex}.cityroof-ranks-league{color:var(--color-accent);text-transform:uppercase;letter-spacing:.04em;margin-left:auto;font-size:11px;font-weight:700}.cityroof-division{color:var(--color-text-secondary);background:var(--fill-strong,#ffffff0a);border-bottom:1px solid var(--hairline);flex-wrap:wrap;align-items:center;gap:4px;padding:8px 13px;font-size:11.5px;display:flex}.cityroof-division b{color:var(--color-text-primary);font-weight:700}.cityroof-ranks-list{flex-direction:column;gap:2px;max-height:520px;padding:6px;display:flex;overflow-y:auto}.cityroof-ranks-empty{text-align:center;color:var(--color-text-secondary);margin:0;padding:14px 8px;font-size:12px}.cityroof-rank-row{border-radius:var(--radius-sm);border:1px solid #0000;align-items:center;gap:8px;padding:8px 9px;display:flex}.cityroof-rank-row+.cityroof-rank-row{border-top:1px solid var(--hairline)}.cityroof-rank-row.active{background:#22c55e12}.cityroof-rank-row.me{border-color:var(--color-accent);background:#0071e31f}.cityroof-rank-name{min-width:0;font:inherit;color:var(--color-text-primary);text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;flex:1;padding:0;font-size:13px;font-weight:600;overflow:hidden}.cityroof-rank-name:hover{color:var(--color-accent);text-decoration:underline}.cityroof-rank-you{color:var(--color-accent);background:#0071e329;border-radius:999px;flex:none;padding:1px 6px;font-size:10px;font-weight:700}.cityroof-rank-stats{font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:9px;font-size:12px;font-weight:700;display:flex}.cityroof-rank-wc{color:#fcd34d;align-items:center;gap:3px;display:inline-flex}.cityroof-rank-biz{color:var(--color-text-secondary);align-items:center;gap:3px;display:inline-flex}.cityroof-rank-biz.has{color:#86efac}.cityroof-rank-activity{border-radius:999px;padding:1px 6px;font-weight:700}.cityroof-rank-activity.a0{color:#cbd5e1;background:#94a3b829}.cityroof-rank-activity.a1{color:#fde68a;background:#eab30824}.cityroof-rank-activity.a2{color:#93c5fd;background:#3b82f629}.cityroof-rank-activity.a3{color:#86efac;background:#22c55e2e}.cityroof-rank-activity.a4{color:#fdba74;background:#f973162e}.cityroof-dualshield{border-top:1px solid var(--hairline);flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding-top:10px;display:flex}.dualshield-btn{color:#d8b4fe!important;border-color:#a855f780!important}.dualshield-btn:hover:not(:disabled){background:#a855f724}.dualshield-active{border-radius:var(--radius-sm);color:#d8b4fe;background:#a855f71f;border:1px solid #a855f773;align-items:center;gap:7px;padding:7px 11px;font-size:12.5px;font-weight:700;display:flex}.dualshield-active small{color:var(--color-text-secondary);font-weight:400}.dualshield-locked{color:var(--color-text-secondary);opacity:.8;align-items:center;gap:5px;font-size:11.5px;display:inline-flex}.city-tile-dual{color:#d8b4fe;background:#581c87d1;border:1px solid #a855f799;border-radius:999px;align-items:center;gap:3px;padding:2px 6px;font-size:10px;font-weight:700;display:inline-flex;position:absolute;top:6px;right:6px}.cityroof-admin-rooms{gap:var(--spacing-md);margin-top:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.cityroof-admin-stat{color:var(--color-text-primary);align-items:center;gap:4px;font-weight:700;display:inline-flex}.cityroof-admin-free{color:var(--color-text-secondary);font-weight:400}.cityroof-admin-members{border-top:1px solid var(--hairline);flex-direction:column;gap:4px;margin-top:8px;padding-top:8px;display:flex}.cityroof-admin-row{font-variant-numeric:tabular-nums;color:var(--color-text-secondary);grid-template-columns:minmax(0,1fr) 64px 44px 64px 72px;align-items:center;gap:6px;font-size:11.5px;display:grid}.cityroof-admin-row.head{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);opacity:.7;font-size:10px}.cityroof-admin-name{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.cityroof-admin-note{margin-top:var(--spacing-md);color:var(--color-text-secondary);align-items:center;gap:5px;font-size:11.5px;display:flex}.cityroof-map-img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:auto;display:block}.cityroof-map-grid{line-height:normal;position:absolute;inset:0}.city-tile{cursor:pointer;width:25%;height:33.3333%;transition:background .18s var(--ease-out), border-color .18s var(--ease-out), box-shadow .18s var(--ease-out);background:0 0;border:2px solid #0000;border-radius:10px;justify-content:center;align-items:flex-end;padding:6px;display:flex;position:absolute}.city-tile:hover{border-color:var(--color-accent);background:#0071e329;box-shadow:inset 0 0 0 100vmax #0071e314}.city-tile.owned{border-color:var(--tile-color,var(--color-accent));box-shadow:inset 0 0 0 100vmax color-mix(in srgb, var(--tile-color,var(--color-accent)) 14%, transparent)}.city-tile.mine{border-color:var(--color-accent);box-shadow:inset 0 0 0 100vmax #0071e329}.city-tile-info{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;max-width:100%;transition:opacity .18s var(--ease-out), transform .18s var(--ease-out);pointer-events:none;background:#0000009e;border-radius:8px;flex-direction:column;align-items:center;gap:1px;padding:4px 8px;display:flex;transform:translateY(4px)}.city-tile:hover .city-tile-info,.city-tile.owned .city-tile-info,.city-tile.mine .city-tile-info{opacity:1;transform:translateY(0)}.city-tile-name{color:#fff;text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:12px;font-weight:700;line-height:1.15;overflow:hidden}.city-tile-reward{color:#ffd60a;align-items:center;gap:3px;font-size:11px;font-weight:700;display:inline-flex}.city-tile-owner{color:#fffc;font-size:10px;font-weight:600}.city-tile-shield{color:#fff;background:#0000008c;border-radius:999px;align-items:center;gap:2px;padding:2px 6px;font-size:11px;font-weight:700;display:inline-flex;position:absolute;top:8px;right:8px}.cityroof-modal{max-width:440px}.cityroof-protect h4,.cityroof-game-hint{align-items:center;gap:6px;display:flex}.cityroof-protect h4{margin:var(--spacing-md) 0 var(--spacing-sm);font-size:14px}.protect-levels{gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.protect-lvl{border-radius:var(--radius-md);background:var(--color-bg-tertiary);color:#ff9f0a;cursor:pointer;border:1px solid #eab3084d;flex-direction:column;align-items:center;gap:2px;padding:8px 12px;font-weight:700;display:flex}.protect-lvl small{color:var(--color-text-secondary);font-size:10px;font-weight:500}.protect-lvl.active{background:#eab3082e}.protect-lvl:disabled{opacity:.5;cursor:not-allowed}.cityroof-attack-btn{width:100%;margin-top:var(--spacing-md);border-radius:var(--radius-md);color:#fff;cursor:pointer;background:linear-gradient(135deg,#ff3b30,#b3000c);border:none;justify-content:center;align-items:center;gap:8px;padding:12px;font-weight:700;display:inline-flex}.cityroof-attack-btn:disabled{opacity:.55;cursor:not-allowed}.cityroof-game{margin-top:var(--spacing-md)}.cityroof-game-hint{color:var(--color-text-secondary);margin-bottom:var(--spacing-sm);font-size:12px}.peg-row{gap:var(--spacing-sm);flex-wrap:wrap;justify-content:center;display:flex}.peg{cursor:pointer;color:#fff;text-shadow:0 1px 2px #00000073;border:2px solid #0000003e;border-radius:50%;width:40px;height:40px;font-size:15px;font-weight:800;transition:transform .1s}.peg:hover{transform:scale(1.08)}.attempt-log{margin-top:var(--spacing-md);flex-direction:column;gap:6px;max-height:200px;display:flex;overflow-y:auto}.attempt-row{justify-content:space-between;align-items:center;gap:var(--spacing-md);background:var(--color-bg-tertiary);border-radius:var(--radius-sm);padding:6px 10px;display:flex}.attempt-pegs{gap:4px;display:flex}.peg-mini{color:#fff;background:#64748b;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:800;display:inline-flex}.peg-mini.exact{background:var(--color-success)}.peg-mini.present{background:#ff9f0a}.attempt-fb{color:var(--color-text-secondary);font-size:12px}.attempt-fb .exact{color:var(--color-success)}.attempt-fb .present{color:#ff9f0a}.stocks-titlebar{justify-content:space-between;align-items:center;gap:var(--spacing-md);flex-wrap:wrap;display:flex}.stocks-issue-btn{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--color-accent), var(--color-accent-hover));color:var(--on-accent);cursor:pointer;border:none;align-items:center;gap:6px;padding:9px 16px;font-size:14px;font-weight:600;transition:opacity .15s;display:inline-flex}.stocks-issue-btn:hover{opacity:.9}.stock-issued-badge{text-transform:uppercase;vertical-align:middle;color:var(--color-accent-hover);background:#0071e333;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:700}.stock-issuer{color:var(--color-text-secondary);font-size:12px}.stock-btn.dividend-btn{color:#ff9f0a;background:#eab30826;border:1px solid #eab3084d;flex:none;padding:0 12px}.issue-form{gap:var(--spacing-sm);margin:var(--spacing-md) 0;flex-direction:column;display:flex}.issue-form input{background:var(--color-bg-tertiary);border:1px solid var(--hairline);border-radius:var(--radius-md);color:var(--color-text-primary);padding:10px 12px;font-size:14px}.notification-empty{padding:var(--spacing-lg);text-align:center;color:var(--color-text-secondary);font-size:13px}.notification-item{position:relative}.notification-title{color:var(--color-text-primary);font-size:13px;font-weight:600}.notification-actions{gap:var(--spacing-xs);margin-top:6px;display:flex}.notif-accept,.notif-decline{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;align-items:center;gap:4px;padding:5px 12px;font-size:12px;font-weight:600;display:inline-flex}.notif-accept{background:var(--color-success);color:#e7f7ec}.notif-decline{color:var(--color-danger);background:0 0;border-color:#ff3b3066}.asset-banner{border-radius:var(--radius-md);height:140px;margin:calc(-1 * var(--spacing-sm)) 0 var(--spacing-sm);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.asset-banner-emoji{filter:drop-shadow(0 4px 8px #0000001a);font-size:52px;line-height:1}.asset-banner-img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.asset-banner:has(.asset-banner-img):after{content:"";pointer-events:none;background:linear-gradient(#00000059 0%,#0000 45%,#00000059 100%);position:absolute;inset:0}.asset-banner .asset-level{z-index:1;position:absolute;top:8px;right:8px}.car-card .asset-banner{height:160px}.car-card .asset-banner-emoji{font-size:72px}.myassets-tab .empty-state .placeholder-icon{font-size:56px}.collect-all-fab{right:var(--spacing-lg,24px);bottom:var(--spacing-lg,24px);z-index:40;background:var(--color-accent);color:#fff;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out);border:none;border-radius:999px;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:600;display:inline-flex;position:fixed;box-shadow:0 8px 24px #0071e34d}.collect-all-fab:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-2px);box-shadow:0 12px 30px #0071e361}.collect-all-fab:disabled{opacity:.5;cursor:not-allowed}@media (width<=640px){.collect-all-fab{padding:11px 16px;font-size:13px;bottom:12px;right:12px}}.asset-rental{border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:6px;padding:7px 10px;font-size:12px;display:flex}.asset-rental.listed{color:#ff9f0a;background:#eab3081f}.asset-rental.rented{color:var(--color-success);background:#34c7591f}.asset-rental-cancel{border:1px solid var(--hairline-strong);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;background:0 0;margin-left:auto;padding:3px 8px;font-size:11px}.company-note{color:var(--color-text-secondary);margin:calc(-1 * var(--spacing-sm)) 0 var(--spacing-lg);font-size:12px}.company-assets-card{align-items:center;gap:var(--spacing-md);text-align:left;cursor:pointer;background:var(--color-bg-elevated,#fff);border:1px solid var(--color-border,var(--hairline));border-radius:var(--radius-lg,14px);width:100%;padding:var(--spacing-md) var(--spacing-lg);margin:var(--spacing-lg) 0;transition:border-color .15s,transform .15s,background .15s;display:flex}.company-assets-card:hover{border-color:var(--color-accent,#0071e3);transform:translateY(-1px)}.company-assets-card .cac-icon{width:46px;height:46px;color:var(--color-accent,#0077ed);background:#0071e326;border-radius:12px;flex:none;place-items:center;display:grid}.company-assets-card .cac-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.company-assets-card .cac-title{color:var(--color-text-primary);font-weight:700}.company-assets-card .cac-meta{color:var(--color-success,#34c759);font-size:13px}.company-assets-card .cac-chevron{color:var(--color-text-secondary);flex:none}.company-assets-modal{width:min(1100px,96vw);max-width:120px;max-height:90vh;overflow-y:auto}.company-assets-modal h3{align-items:center;gap:8px;display:flex}.modal-content.user-property-modal{width:min(1100px,96vw);max-width:1100px;max-height:88vh;overflow-y:auto}.user-property-modal>h3{align-items:center;gap:8px;display:flex}.user-property-modal .admin-user-item{align-items:center}.user-property-modal .admin-user-meta{flex-wrap:wrap;row-gap:4px}.user-property-modal .uprop-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.user-property-modal .uprop-expand{margin-left:6px;padding:2px 4px}.user-property-modal .uprop-comps{margin-top:var(--spacing-sm);flex-wrap:wrap;gap:6px;display:flex}.user-property-modal .uprop-comp{border-radius:var(--radius-sm,6px);background:var(--fill-subtle,#ffffff0a);border:1px solid var(--color-border);color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:3px 8px;font-size:12px;line-height:1.4;overflow:hidden}.user-property-modal .uprop-comp b{color:var(--color-text-primary);font-weight:600}.user-property-modal .uprop-empty-comp{color:var(--color-text-secondary);font-size:12px}.user-property-modal .uprop-grant{gap:var(--spacing-md);flex-direction:column;max-width:480px;display:flex}.user-property-modal .uprop-grant .admin-btn{align-self:flex-start}.user-property-modal .uprop-members{margin-top:var(--spacing-md)}.user-property-modal .uprop-members h4{margin:0 0 var(--spacing-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.4px;font-size:13px}.user-property-modal .uprop-member-row{align-items:center;gap:var(--spacing-sm);border-bottom:1px solid var(--color-border);padding:6px 4px;display:flex}.user-property-modal .uprop-member-row:last-child{border-bottom:none}.user-property-modal .uprop-member-name{text-overflow:ellipsis;flex:auto;min-width:0;font-weight:600;overflow:hidden}.user-property-modal .user-actions{flex-direction:column;gap:4px}.user-property-modal .user-actions .admin-btn{padding:5px 7px}@media (width<=640px){.modal-content.user-property-modal{width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.user-property-modal .admin-user-meta{gap:var(--spacing-sm);flex-wrap:wrap}.user-property-modal .admin-user-edit-fields{grid-template-columns:1fr}.user-property-modal .admin-user-edit-form{min-width:0}}.admin-ip-groups{border:1px solid var(--hairline);border-radius:var(--radius-md);gap:6px;margin:8px 0;padding:8px;display:grid}.admin-ip-table{border-collapse:collapse;width:100%;font-size:12px}.admin-ip-table th,.admin-ip-table td{border-bottom:1px solid var(--hairline);text-align:left;vertical-align:top;padding:8px 10px}.admin-ip-table th{color:var(--color-text-secondary);font-weight:600}.admin-ip-table td code{color:var(--color-accent)}.admin-audit-changes{color:var(--color-text-secondary);gap:2px;font-size:12px;display:grid}.admin-audit-changes b{color:var(--color-text-primary);font-weight:600}.stock-card.clickable,.crypto-coin.clickable{cursor:pointer}.stock-card.clickable:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.crypto-coin.clickable:hover{background:var(--fill-subtle)}.asset-detail{width:100%}.mkd-header{align-items:center;gap:var(--spacing-md);margin:var(--spacing-md) 0 var(--spacing-lg);flex-wrap:wrap;display:flex}.mkd-logo{color:#fff;text-transform:uppercase;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:22px;font-weight:800;display:flex;box-shadow:0 8px 20px #0000001a}.mkd-title{flex:1;min-width:180px}.mkd-name-row{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.mkd-name-row h2{color:var(--color-text-primary);font-size:22px;font-weight:700}.mkd-ticker{color:var(--color-text-secondary);background:var(--color-bg-tertiary);border-radius:6px;padding:2px 8px;font-size:13px;font-weight:700}.mkd-fav{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;padding:2px}.mkd-fav.active{color:#ffb340}.mkd-sector{color:var(--color-text-secondary);margin-top:2px;font-size:13px}.mkd-price-block{text-align:right;flex-direction:column;align-items:flex-end;gap:4px;display:flex}.mkd-price{color:var(--color-text-primary);font-variant-numeric:tabular-nums;font-size:26px;font-weight:800}.mkd-change{align-items:center;gap:3px;font-size:13px;font-weight:600;display:inline-flex}.mkd-change.up{color:var(--color-success)}.mkd-change.down{color:var(--color-danger)}.mkd-change.flat{color:var(--color-text-secondary)}.mkd-stats-grid{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.mkd-stat{background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-md);flex-direction:column;gap:4px;padding:10px 12px;display:flex}.mkd-stat span{color:var(--color-text-secondary);font-size:11px}.mkd-stat b{color:var(--color-text-primary);font-variant-numeric:tabular-nums;font-size:15px}.mkd-stat b.up{color:var(--color-success)}.mkd-description{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);font-size:14px;line-height:1.6}.mkd-chart-card{background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.mkd-chart-toolbar{justify-content:space-between;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-sm);flex-wrap:wrap;display:flex}.mkd-intervals{flex-wrap:wrap;gap:4px;display:flex}.mkd-iv{border-radius:var(--radius-sm);background:var(--color-bg-tertiary);color:var(--color-text-secondary);cursor:pointer;border:1px solid #0000;padding:5px 11px;font-size:12px;font-weight:600}.mkd-iv.active{background:var(--color-accent);color:var(--on-accent)}.mkd-charttype{gap:4px;display:flex}.mkd-charttype button{border-radius:var(--radius-sm);border:1px solid var(--hairline);background:var(--color-bg-tertiary);color:var(--color-text-secondary);cursor:pointer;align-items:center;padding:6px 10px;display:inline-flex}.mkd-charttype button.active{background:var(--color-accent);color:var(--on-accent);border-color:#0000}.price-chart-wrap{width:100%}.mkd-chart{transition:opacity .2s}.mkd-chart.loading{opacity:.5}.mkd-chart-hint{color:var(--color-text-secondary);text-align:center;margin-top:6px;font-size:11px}.mkd-actions{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.mkd-buy,.mkd-sell,.mkd-fav-btn{border-radius:var(--radius-md);cursor:pointer;border:none;flex:1;justify-content:center;align-items:center;gap:8px;min-width:130px;padding:13px;font-size:15px;font-weight:700;display:inline-flex}.mkd-buy{color:#e7f7ec;background:linear-gradient(135deg,#34c759,#248a3d)}.mkd-sell{color:#fff;background:linear-gradient(135deg,#ff3b30,#b3000c)}.mkd-sell:disabled{opacity:.45;cursor:not-allowed}.mkd-fav-btn{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--hairline);flex:none}.mkd-fav-btn.active{color:#ffb340;border-color:#fbbf2466}.crypto-transfer-form{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.crypto-transfer-form input,.crypto-transfer-form select{background:var(--color-bg-tertiary);border:1px solid var(--hairline);border-radius:var(--radius-md);min-width:140px;color:var(--color-text-primary);flex:1;padding:11px 13px;font-size:14px}.crypto-transfer-form .crypto-open-btn{flex:none;margin:0}.crypto-transfer-fee{color:var(--color-text-secondary);margin-top:8px;font-size:12px}.crypto-transfer-history{margin-top:var(--spacing-md);flex-direction:column;gap:6px;display:flex}.crypto-transfer-row{align-items:center;gap:var(--spacing-sm);background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-md);padding:8px 12px;display:flex}.ctr-dir{display:inline-flex}.crypto-transfer-row.out .ctr-dir{color:var(--color-danger)}.crypto-transfer-row.in .ctr-dir{color:var(--color-success)}.ctr-main{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.ctr-main b{color:var(--color-text-primary)}.ctr-amount{font-variant-numeric:tabular-nums;font-weight:700}.ctr-amount.out{color:var(--color-danger)}.ctr-amount.in{color:var(--color-success)}.bank-page{gap:var(--spacing-lg);flex-direction:column;display:flex}.bank-section{margin-top:0}.bank-quick{gap:var(--spacing-md);grid-template-columns:repeat(5,1fr);display:grid}.bank-quick-btn{padding:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-lg);color:var(--color-text-primary);cursor:pointer;flex-direction:column;align-items:center;gap:8px;font-size:13px;font-weight:600;transition:transform .14s,border-color .16s,background .16s;display:flex}.bank-quick-btn:hover{border-color:var(--color-accent);transform:translateY(-1px)}.bank-quick-icon{background:var(--color-bg-tertiary);width:40px;height:40px;color:var(--color-accent);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.bank-section-head{justify-content:space-between;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md);display:flex}.bank-section-head h3{margin:0;font-size:15px}.bank-link-btn{color:var(--color-accent);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;font-size:13px;font-weight:600;display:inline-flex}.bank-link-btn:hover{text-decoration:underline}.bank-empty{color:var(--color-text-secondary);margin:0;font-size:13px}.bank-subtitle{margin:var(--spacing-lg) 0 var(--spacing-sm);font-size:14px;font-weight:700}.bank-debt-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.loans-page .bank-debt-card,.loans-page .bank-offer-form{border:1px solid var(--hairline);background:var(--color-bg-secondary,var(--color-bg-tertiary));box-shadow:var(--shadow-sm,0 2px 8px #00000014);border-radius:14px}.bank-debt-card{justify-content:space-between;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg-tertiary);border:1px solid var(--hairline);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.bank-debt-card.compact{background:var(--color-bg-primary,var(--color-bg-tertiary))}.bank-debt-info{flex-direction:column;gap:2px;min-width:0;display:flex}.bank-debt-info b{color:var(--color-text-primary);overflow-wrap:anywhere;font-size:15px}.bank-debt-meta{color:var(--color-text-secondary);overflow-wrap:anywhere;font-size:12px}.bank-debt-side{color:var(--color-accent);background:#006edb24;border-radius:999px;align-self:flex-start;padding:2px 8px;font-size:11px;font-weight:700}.bank-debt-side.borrow{color:#ff9f0a;background:#ff9f0a29}.bank-debt-card .transfer-submit{width:auto;padding:8px 14px}.bank-stat-row{gap:var(--spacing-md);margin-bottom:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}.bank-stat{padding:var(--spacing-md);background:var(--color-bg-tertiary);border:1px solid var(--hairline);border-radius:var(--radius-md);flex-direction:column;gap:4px;display:flex}.bank-stat span{color:var(--color-text-secondary);font-size:12px}.bank-stat b{color:var(--color-text-primary);overflow-wrap:anywhere;font-size:16px}.bank-two-col{gap:var(--spacing-lg);grid-template-columns:1fr 1fr;align-items:start;display:grid}.bank-two-col>.bank-section{min-width:0;margin:0}.bank-utility-card{gap:var(--spacing-md);flex-direction:column;display:flex}.bank-utility-card .transfer-balance-card{padding:var(--spacing-md)}.bank-utility-card .transfer-balance-value{font-size:22px}@media (width<=900px){.bank-two-col{grid-template-columns:1fr}}.bank-stack-form{flex-direction:column;gap:14px;max-width:560px;display:flex}.bank-stack-form .transfer-field input{padding:14px 16px;font-size:16px}.bank-stack-submit{justify-content:center;width:100%;padding:14px 18px;font-size:16px}.bank-inline-form{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.bank-inline-form>*{flex:1 1 0;min-width:0}.bank-inline-form>.transfer-submit{white-space:nowrap;flex:none;width:auto}.bank-inline-form .transfer-field>span{white-space:nowrap}.bank-inline-form .transfer-field input{box-sizing:border-box;width:100%}@media (width>=900px){.bank-inline-form{flex-wrap:nowrap}}.bank-modal-overlay{z-index:1000;padding:var(--spacing-md);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;justify-content:center;align-items:center;animation:.16s ease-out bankModalFade;display:flex;position:fixed;inset:0}.bank-modal{width:100%;max-width:460px;max-height:calc(100vh - 2 * var(--spacing-md));background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-lg);flex-direction:column;animation:.18s ease-out bankModalIn;display:flex;box-shadow:0 24px 60px #00000059}.bank-modal.wide{max-width:720px}.bank-modal-head{justify-content:space-between;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-md);border-bottom:1px solid var(--hairline);display:flex}.bank-modal-head h3{margin:0;font-size:17px;font-weight:700}.bank-modal-close{cursor:pointer;background:var(--color-bg-tertiary);width:32px;height:32px;color:var(--color-text-secondary);border:none;border-radius:50%;justify-content:center;align-items:center;transition:color .16s,background .16s;display:inline-flex}.bank-modal-close:hover{color:var(--color-text-primary);background:var(--hairline)}.bank-modal-body{padding:var(--spacing-lg);gap:var(--spacing-md);flex-direction:column;display:flex;overflow-y:auto}.bank-offer-form{margin-top:var(--spacing-md);padding-top:var(--spacing-lg);border-top:1px solid var(--hairline)}@keyframes bankModalFade{0%{opacity:0}to{opacity:1}}@keyframes bankModalIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}@media (width<=640px){.bank-quick{grid-template-columns:repeat(2,1fr)}.bank-debt-card .transfer-submit{width:100%}}.bank-overview{gap:var(--spacing-lg);flex-direction:column;display:flex}.bank-hero-card{border-radius:var(--radius-lg);padding:var(--spacing-xl);color:#fff;background:linear-gradient(135deg,#006edb,#5e5ce6 55%,#5e5ce6);position:relative;overflow:hidden;box-shadow:0 14px 40px #0071e359}.bank-hero-top{justify-content:space-between;align-items:center;gap:var(--spacing-md);flex-wrap:wrap;display:flex}.bank-hero-label{opacity:.85;align-items:center;gap:6px;font-size:13px;display:inline-flex}.bank-hero-net{background:#0000002e;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:13px;font-weight:700;display:inline-flex}.bank-hero-net.down{background:#0003}.bank-hero-balance{margin:var(--spacing-md) 0;letter-spacing:-.5px;font-size:40px;font-weight:800}.bank-hero-balance span{opacity:.8;font-size:22px}.bank-hero-bottom{align-items:flex-start;gap:var(--spacing-md);margin-top:var(--spacing-md);flex-direction:column;display:flex}.bank-hero-cardnum{color:#fff;letter-spacing:2.5px;cursor:pointer;background:#00000038;border:1px solid #ffffff38;border-radius:10px;align-items:center;gap:10px;padding:9px 14px;font-family:SF Mono,Cascadia Mono,Consolas,monospace;font-size:15px;font-weight:700;transition:background .15s;display:inline-flex}.bank-hero-cardnum:hover{background:#00000052}.bank-hero-cardnum svg{opacity:.75;flex-shrink:0}@media (width<=640px){.bank-hero-cardnum{box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;letter-spacing:1.5px;max-width:100%;font-size:14px;overflow:hidden}}.bank-hero-copyicon{margin-left:2px}.bank-hero-action{color:#004a9e;border-radius:var(--radius-md);cursor:pointer;background:#fffffff2;border:none;align-items:center;gap:8px;padding:11px 20px;font-weight:700;display:inline-flex}.bank-mini-stats{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.bank-mini{align-items:center;gap:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-lg);display:flex}.bank-mini svg{flex-shrink:0}.bank-mini.income svg{color:var(--color-success)}.bank-mini.expense svg{color:var(--color-danger)}.bank-mini.ops svg,.bank-mini.net svg{color:var(--color-accent-hover)}.bank-mini span{color:var(--color-text-secondary);font-size:12px;display:block}.bank-mini b{color:var(--color-text-primary);font-size:18px}.bank-mini b.up{color:var(--color-success)}.bank-mini b.down{color:var(--color-danger)}.bank-crypto-card{background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.bank-crypto-head{margin-bottom:var(--spacing-sm);align-items:center;gap:6px;font-weight:600;display:flex}.bank-crypto-head svg{color:#ff9f0a}.bank-crypto-body{justify-content:space-between;align-items:center;gap:var(--spacing-md);flex-wrap:wrap;display:flex}.bank-crypto-wallet{color:var(--color-text-secondary);background:var(--color-bg-tertiary);border-radius:var(--radius-sm);padding:5px 10px;font-family:monospace;font-size:13px}.bank-crypto-val{text-align:right}.bank-crypto-val span{color:var(--color-text-secondary);font-size:12px;display:block}.bank-crypto-val b{color:var(--color-text-primary);font-size:18px}.bank-crypto-closed{color:var(--color-text-secondary);align-items:center;gap:6px;font-size:13px;display:inline-flex}.bank-analytics{gap:var(--spacing-lg);flex-direction:column;display:flex}.bank-chart-card{background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.bank-chart-card h3{margin-bottom:var(--spacing-lg);font-size:15px}.bank-chart{justify-content:space-around;align-items:flex-end;gap:var(--spacing-sm);height:180px;display:flex}.bank-chart-col{flex-direction:column;flex:1;align-items:center;gap:8px;height:100%;display:flex}.bank-chart-bars{justify-content:center;align-items:flex-end;gap:3px;width:100%;height:100%;display:flex}.bank-bar{border-radius:3px 3px 0 0;width:12px;min-height:2px;transition:height .3s}.bank-bar.income{background:linear-gradient(#30b0a0,#248a3d)}.bank-bar.expense{background:linear-gradient(#ff6961,#d70015)}.bank-chart-label{color:var(--color-text-secondary);font-size:11px}.bank-chart-legend{gap:var(--spacing-lg);margin-top:var(--spacing-md);justify-content:center;font-size:12px;display:flex}.bank-chart-legend .legend-income{color:var(--color-success)}.bank-chart-legend .legend-expense{color:var(--color-danger)}.bank-chart-legend span:before{content:"●";margin-right:5px}.header-balance{max-width:280px}.asset-summary-card,.mkd-stat,.bank-mini,.bank-crypto-val,.portfolio-item-values,.stat-info,.profile-card{min-width:0}.asset-summary-card b,.mkd-stat b,.bank-mini b,.stat-value,.portfolio-value,.portfolio-total strong,.company-emp-salary,.mkd-price,.bank-crypto-val b,.bank-hero-balance,.profile-card-number{overflow-wrap:anywhere;word-break:break-word}.materials-boost-badge{color:var(--color-success);background:#34c75926;border-radius:999px;margin-left:4px;padding:1px 6px;font-size:10px;font-weight:700}.itstudio-btn{width:100%;margin-top:var(--spacing-sm);border-radius:var(--radius-md);color:var(--color-accent-hover);cursor:pointer;background:#0071e31f;border:1px solid #0071e366;justify-content:center;align-items:center;gap:8px;padding:11px;font-weight:700;display:inline-flex}.itstudio-btn:disabled{opacity:.55;cursor:not-allowed}.itstudio-pending{width:100%;margin-top:var(--spacing-sm);border-radius:var(--radius-md);color:#ff9f0a;background:#eab3081a;justify-content:center;align-items:center;gap:6px;padding:10px;font-size:13px;font-weight:600;display:inline-flex}.itstudio-progress{margin-top:var(--spacing-sm);border-radius:var(--radius-md);background:#0071e314;border:1px solid #0071e333;padding:10px}.itstudio-progress-head{color:var(--color-text-primary);justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;font-size:12px;font-weight:600;display:flex}.itstudio-progress-head svg{color:var(--color-accent-hover)}.itstudio-xp{color:var(--color-text-secondary);font-weight:500}.itstudio-xp-bar{background:#00000014;border-radius:999px;height:5px;margin-bottom:6px;overflow:hidden}.itstudio-xp-fill{background:var(--color-accent-hover);border-radius:999px;height:100%}.itstudio-material{color:var(--color-text-secondary);justify-content:space-between;align-items:center;font-size:12px;display:flex}.itstudio-material b{color:var(--color-text-primary)}.itstudio-preview{margin:var(--spacing-md) 0;border-radius:var(--radius-md);background:var(--color-bg-tertiary);flex-direction:column;gap:6px;padding:10px 12px;display:flex}.itstudio-preview>div{justify-content:space-between;align-items:center;font-size:13px;display:flex}.itstudio-preview span{color:var(--color-text-secondary)}.itstudio-preview b{color:var(--color-text-primary)}.itstudio-preview b.down{color:var(--color-danger,#ff3b30)}.itstudio-shield-warn{color:#ff9f0a;align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.itstudio-premium-note{color:var(--color-accent);border-radius:var(--radius-sm);background:var(--accent-soft);align-items:center;gap:6px;padding:6px 8px;font-size:12px;font-weight:700;display:inline-flex}.supplies-section{margin:var(--spacing-md) 0;padding:var(--spacing-md);border-radius:var(--radius-md);background:var(--color-bg-tertiary);border:1px solid var(--hairline)}.supplies-section+.supplies-section{margin-top:var(--spacing-sm)}.supplies-section-title{margin:0 0 var(--spacing-sm);color:var(--color-text-primary);font-size:13px;font-weight:600}.supplies-section .stock-btn{margin-top:var(--spacing-sm);width:100%}.rent-max-hint{color:var(--color-text-secondary);margin-top:4px;font-size:12px}.rent-duration-grid{margin-bottom:var(--spacing-md);flex-wrap:wrap;gap:8px;display:flex}.rent-duration-grid .tx-pill{padding:6px 12px;font-size:12px}.cityroof-bonuses{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-lg);margin-bottom:var(--spacing-lg);border:1px solid #eab30833}.cbonus-head{justify-content:space-between;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-sm);flex-wrap:wrap;display:flex}.cbonus-head>span{color:var(--color-text-primary);align-items:center;gap:6px;font-weight:600;display:inline-flex}.cbonus-head svg{color:#ff9f0a}.cbonus-auto{border-radius:var(--radius-md);color:#ff9f0a;background:#eab3081f;align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.cbonus-list{gap:var(--spacing-sm);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.cbonus-item{align-items:flex-start;gap:var(--spacing-sm);background:var(--color-bg-tertiary);border-radius:var(--radius-md);padding:8px 10px;display:flex}.cbonus-emoji{font-size:26px}.cbonus-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.cbonus-top{justify-content:space-between;align-items:baseline;gap:var(--spacing-sm);display:flex}.cbonus-name{color:var(--color-text-primary);font-size:13px;font-weight:600}.cbonus-effect{color:var(--color-text-secondary);white-space:normal;font-size:11px;line-height:1.4}.cbonus-daily{color:var(--color-success);white-space:nowrap;flex-shrink:0;font-size:13px;font-weight:700}.cbonus-timer{color:var(--color-text-secondary);white-space:nowrap;font-size:10px}.mkd-logo-img{object-fit:cover;background:var(--color-bg-tertiary);border-radius:16px;flex-shrink:0;width:56px;height:56px;box-shadow:0 8px 20px #0000001a}.crypto-coin-img{object-fit:cover;background:var(--color-bg-tertiary);border-radius:50%;flex-shrink:0;width:38px;height:38px}.mkd-live{color:var(--color-success);text-transform:uppercase;letter-spacing:.03em;background:#34c75924;border-radius:999px;align-items:center;gap:3px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.asset-trend{margin-left:auto;font-size:12px;font-weight:700}.asset-trend.up{color:var(--color-success)}.asset-trend.down{color:var(--color-danger)}.econ-title{margin:var(--spacing-md) 0;align-items:center;gap:7px;font-size:15px;font-weight:600;display:flex}.econ-grid{gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));display:grid}.econ-stat{align-items:center;gap:var(--spacing-sm);background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-md);min-width:0;padding:10px 12px;display:flex}.econ-stat svg{color:var(--color-accent-hover);flex-shrink:0}.econ-stat span{color:var(--color-text-secondary);font-size:11px;display:block}.econ-stat b{color:var(--color-text-primary);overflow-wrap:anywhere;font-size:16px}.econ-config{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.econ-field{flex-direction:column;gap:4px;display:flex}.econ-field span{color:var(--color-text-secondary);font-size:12px}.econ-field input{background:var(--color-bg-tertiary);border:1px solid var(--hairline);border-radius:var(--radius-md);color:var(--color-text-primary);padding:9px 12px;font-size:14px}.company-browse{margin-top:var(--spacing-xl)}.company-browse-head{justify-content:space-between;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md);flex-wrap:wrap;display:flex}.company-browse-head h3{align-items:center;gap:7px;font-size:15px;font-weight:600;display:flex}.company-browse-head .tx-search{min-width:200px}.company-browse-list{gap:var(--spacing-xs);flex-direction:column;display:flex}.company-browse-item{justify-content:space-between;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.cbi-info{flex-direction:column;gap:2px;min-width:0;display:flex}.cbi-name{color:var(--color-text-primary);font-weight:600}.cbi-meta{color:var(--color-text-secondary);font-size:12px}.company-browse-item .asset-act{flex:none;min-width:150px}.mining-create{gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);flex-wrap:wrap;display:flex}.mining-create input{background:var(--color-bg-tertiary);border:1px solid var(--hairline);border-radius:var(--radius-md);min-width:200px;color:var(--color-text-primary);flex:1;padding:11px 14px}.mining-farms{gap:var(--spacing-md);flex-direction:column;display:flex}.mining-farm{background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-lg);overflow:hidden}.mining-farm.mining{border-color:#34c75959}.mining-farm.off{border-color:#ff3b3059}.mining-farm-head{justify-content:space-between;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);cursor:pointer;flex-wrap:wrap;display:flex}.mfh-title{align-items:center;gap:var(--spacing-sm);display:flex}.mfh-title b{color:var(--color-text-primary)}.mining-status{background:var(--color-text-secondary);border-radius:50%;width:10px;height:10px}.mining-status.mining{background:var(--color-success);box-shadow:0 0 8px var(--color-success)}.mining-status.off{background:var(--color-danger)}.mining-coin{color:#ff9f0a;background:#eab30826;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.mfh-quick{gap:var(--spacing-md);flex-wrap:wrap;font-size:13px;display:flex}.mfh-quick span{color:var(--color-text-secondary);align-items:center;gap:4px;display:inline-flex}.mfh-quick .up{color:var(--color-success)}.mfh-quick .down{color:var(--color-danger)}.temp.ok{color:var(--color-success)}.temp.warn{color:#ff9f0a}.temp.crit{color:var(--color-danger)}b.ok{color:var(--color-success)}b.warn{color:#ff9f0a}b.crit{color:var(--color-danger)}.mining-farm-body{padding:0 var(--spacing-lg) var(--spacing-lg);border-top:1px solid var(--hairline)}.mining-stats{gap:var(--spacing-sm);margin:var(--spacing-md) 0;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.ms{background:var(--color-bg-tertiary);border-radius:var(--radius-md);align-items:center;gap:8px;min-width:0;padding:8px 10px;display:flex}.ms svg{color:var(--color-accent-hover);flex-shrink:0}.ms span{color:var(--color-text-secondary);font-size:11px;display:block}.ms b{color:var(--color-text-primary);overflow-wrap:anywhere;font-size:14px}.ms b.up{color:var(--color-success)}.ms b.down{color:var(--color-danger)}.mining-missing{color:var(--color-danger);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);background:#ff3b3014;align-items:center;gap:6px;padding:8px 12px;font-size:13px;display:flex}.mining-controls{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-wrap:wrap;display:flex}.mining-controls select{background:var(--color-bg-tertiary);border:1px solid var(--hairline);border-radius:var(--radius-md);color:var(--color-text-primary);padding:8px 12px}.mining-oc{color:var(--color-text-secondary);flex-direction:column;gap:4px;font-size:12px;display:flex}.mining-best{color:var(--color-text-secondary);font-size:12px}.mining-best b{color:#ff9f0a}.mining-manager{align-items:center;gap:var(--spacing-sm);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);background:#0071e314;flex-wrap:wrap;padding:10px 12px;font-size:13px;display:flex}.mining-manager svg{color:var(--color-accent-hover)}.mining-assembly h4{margin-bottom:var(--spacing-sm);font-size:14px}.mining-comps{gap:var(--spacing-sm);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));display:grid}.mining-comp{background:var(--color-bg-tertiary);border:1px solid var(--hairline);border-radius:var(--radius-md);padding:8px 10px}.mining-comp.req{border-color:#0071e340}.mc-head{color:var(--color-text-secondary);justify-content:space-between;align-items:center;font-size:12px;font-weight:600;display:flex}.mc-add{background:var(--color-accent);color:var(--on-accent);cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.mc-item{color:var(--color-text-primary);justify-content:space-between;align-items:center;gap:6px;margin-top:5px;font-size:12px;display:flex}.mc-rm{color:var(--color-danger);cursor:pointer;background:0 0;border:none}.mining-hint{color:var(--color-text-secondary);margin-top:var(--spacing-sm);font-size:12px}.admin-panel-modern .admin-header h2{align-items:center;gap:9px;display:flex}.admin-panel-modern .admin-body{flex:1;min-height:0;display:flex}.admin-sidebar{padding:var(--spacing-md);border-right:1px solid var(--hairline);flex-direction:column;flex:0 0 220px;gap:4px;display:flex;overflow-y:auto}.admin-nav-item{border-radius:var(--radius-md);cursor:pointer;width:100%;color:var(--color-text-secondary);font-size:14px;font-weight:600;font-family:var(--font-primary);text-align:left;background:0 0;border:none;align-items:center;gap:11px;padding:11px 14px;transition:background .15s,color .15s;display:flex}.admin-nav-item:hover{background:var(--fill-soft);color:var(--color-text-primary)}.admin-nav-item.active{color:var(--color-accent-hover);background:#0071e326}.admin-panel-modern{background:var(--color-bg-primary)}.admin-panel-modern .admin-header{background:var(--glass-bg);-webkit-backdrop-filter:saturate(180%)blur(24px);backdrop-filter:saturate(180%)blur(24px);border-bottom:1px solid var(--glass-border);padding:var(--spacing-sm) var(--spacing-xl)}.admin-panel-modern .admin-header h2{font-size:18px;font-weight:700}.admin-sidebar{background:var(--glass-bg);-webkit-backdrop-filter:saturate(180%)blur(24px);backdrop-filter:saturate(180%)blur(24px);border-right:1px solid var(--glass-border);padding:var(--spacing-lg) var(--spacing-md)}.admin-nav-item{border-radius:var(--radius-sm);transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);padding:10px 14px;font-size:14px;font-weight:500}.admin-nav-item:active{transform:scale(.98)}.admin-nav-item.active{background:var(--color-accent);color:var(--on-accent);font-weight:600;box-shadow:0 4px 12px #0071e347}.admin-nav-item.active:hover{background:var(--color-accent-hover);color:var(--on-accent)}.admin-panel-modern .admin-content{padding:var(--spacing-xl)}.admin-panel-modern .admin-add-form,.admin-panel-modern .admin-stock-item,.admin-panel-modern .admin-user-item,.admin-panel-modern .admin-tx-item,.admin-panel-modern .admin-config-item{background:var(--color-bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.admin-panel-modern .admin-btn{border-radius:var(--radius-sm);transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);font-weight:600}.admin-panel-modern .admin-btn:active{transform:scale(.98)}.admin-panel-modern .admin-btn-primary{background:var(--color-accent);color:var(--on-accent);box-shadow:0 4px 12px #0071e347}.admin-panel-modern .admin-btn-primary:hover{background:var(--color-accent-hover);color:var(--on-accent)}.admin-panel-modern .admin-input{border-radius:var(--radius-sm)}.admin-panel-modern .admin-section-divider h3{color:var(--color-text-primary);font-size:18px;font-weight:700}.admin-panel-modern .admin-content{flex:1;min-width:0}.admin-toolbar{justify-content:space-between;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md);flex-wrap:wrap;display:flex}.admin-toolbar .tx-search{flex:1;max-width:320px}.tx-preset-group{align-items:center;gap:4px;display:flex}.tx-preset-group .admin-input{width:auto;min-width:130px}.admin-count{color:var(--color-text-secondary);font-size:13px;font-weight:600}.admin-panel-modern .admin-user-item,.admin-panel-modern .admin-stock-item,.admin-panel-modern .admin-tx-item,.admin-panel-modern .admin-config-item{transition:border-color .15s,transform .12s,background .15s}.admin-panel-modern .admin-user-item:hover,.admin-panel-modern .admin-stock-item:hover,.admin-panel-modern .admin-tx-item:hover{border-color:#0071e347;transform:translate(2px)}.admin-panel-modern .admin-user-item .user-actions{flex-direction:column;gap:4px}.admin-panel-modern .admin-user-item .user-actions .admin-btn{padding:5px 7px}@media (width<=720px){.admin-panel-modern .admin-body{flex-direction:column}.admin-sidebar{border-right:none;border-bottom:1px solid var(--hairline);flex-direction:row;flex:none;overflow-x:auto}.admin-nav-item span{display:none}}@keyframes tvFadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes tvFadeIn{0%{opacity:0}to{opacity:1}}.company-tab .asset-summary{animation:.35s both tvFadeIn}.company-tab .asset-summary-card{transition:transform .15s,box-shadow .15s,border-color .15s;animation:.45s cubic-bezier(.22,1,.36,1) both tvFadeUp}.company-tab .asset-summary-card:nth-child(2){animation-delay:50ms}.company-tab .asset-summary-card:nth-child(3){animation-delay:.1s}.company-tab .asset-summary-card:nth-child(4){animation-delay:.15s}.company-tab .asset-summary-card:hover{box-shadow:var(--shadow-md);border-color:#0071e359;transform:translateY(-3px)}.company-tab .company-section{animation:.5s cubic-bezier(.22,1,.36,1) both tvFadeUp}.company-tab .company-actions .asset-act{transition:transform .12s,filter .12s}.company-tab .company-actions .asset-act:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.company-emp{transition:background .15s,transform .15s}.company-emp:hover{background:var(--fill-subtle);transform:translate(2px)}.company-browse-item{transition:border-color .15s,transform .15s}.company-browse-item:hover{transform:translateY(-1px)}.crypto-layout{gap:var(--spacing-lg);grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;display:grid}@media (width<=960px){.crypto-layout{flex-direction:column;display:flex}.crypto-col-side{display:contents}.crypto-wallet-card{order:-1}}.crypto-col-main,.crypto-col-side{gap:var(--spacing-lg);flex-direction:column;min-width:0;display:flex}.crypto-market-head{justify-content:space-between;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-sm);flex-wrap:wrap;display:flex}.crypto-market-head h3{margin:0}.crypto-market-tools{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.crypto-market-tools .tx-search input{min-width:130px}.crypto-sort{gap:4px;display:flex}.crypto-wallet-card{background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-lg)}.crypto-wallet-stats{gap:var(--spacing-md);margin-top:var(--spacing-md);display:flex}.crypto-wallet-stats>div{flex-direction:column;flex:1;gap:2px;display:flex}.crypto-wallet-stats span{color:var(--color-text-secondary);font-size:11px}.crypto-wallet-stats b{color:var(--color-text-primary);font-size:16px}.crypto-wallet-stats b.accent{color:var(--color-accent-hover)}.crypto-holding.clickable{cursor:pointer;transition:background .15s}.crypto-holding.clickable:hover{background:var(--fill-soft)}.crypto-holding-ch{flex-shrink:0;margin-left:8px;font-size:12px;font-weight:600}.crypto-forecast{gap:var(--spacing-sm);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.cf-card{background:var(--color-bg-tertiary);border:1px solid var(--hairline);border-radius:var(--radius-md);cursor:pointer;flex-direction:column;gap:6px;padding:11px 12px;transition:border-color .15s,transform .15s;display:flex}.cf-card:hover{border-color:var(--color-accent);transform:translateY(-1px)}.cf-head{align-items:center;gap:7px;font-weight:700;display:flex}.cf-head .crypto-coin-img,.cf-head .crypto-coin-badge{width:22px;height:22px;font-size:9px}.cf-row{color:var(--color-text-secondary);justify-content:space-between;align-items:center;font-size:12px;display:flex}.cf-row b{color:var(--color-text-primary);font-size:12px}.cf-prob{margin-top:4px}.cf-prob-bar{background:#ff3b3040;border-radius:3px;height:6px;overflow:hidden}.cf-prob-fill{background:linear-gradient(90deg,#34c759,#34c759);border-radius:3px;height:100%;transition:width .4s}.cf-prob-label{color:var(--color-text-secondary);margin-top:4px;font-size:11px;display:block}.mkd-layout{gap:var(--spacing-lg);grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:start;display:grid}@media (width<=980px){.mkd-layout{grid-template-columns:1fr}}.mkd-col-main,.mkd-col-side{gap:var(--spacing-md);flex-direction:column;min-width:0;display:flex}.mkd-col-main .mkd-stats-grid,.mkd-col-main .mkd-description,.mkd-col-main .mkd-chart-card{margin-bottom:0}.mkd-info-card{background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:var(--spacing-md);flex-direction:column;gap:8px;animation:.35s both adRise;display:flex}.mkd-info-card:nth-child(2){animation-delay:40ms}.mkd-info-card:nth-child(3){animation-delay:80ms}.mkd-info-card:nth-child(4){animation-delay:.12s}.mkd-info-card:nth-child(5){animation-delay:.16s}.mkd-info-card:nth-child(6){animation-delay:.2s}.mkd-info-card:nth-child(7){animation-delay:.24s}@keyframes adRise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.mkd-info-title{color:var(--color-text-primary);align-items:center;gap:7px;font-size:13px;font-weight:700;display:flex}.mkd-info-title svg{color:var(--color-accent-hover)}.mkd-info-empty{color:var(--color-text-secondary);font-size:12px}.mkd-metric-row{color:var(--color-text-secondary);justify-content:space-between;align-items:center;gap:8px;font-size:12.5px;display:flex}.mkd-metric-row span{align-items:center;gap:5px;display:inline-flex}.mkd-metric-row b{color:var(--color-text-primary);font-variant-numeric:tabular-nums;font-size:13px}.mkd-metric-row b.up,.mkd-metric-row .mkd-change.up{color:var(--color-success)}.mkd-metric-row b.down,.mkd-metric-row .mkd-change.down{color:var(--color-danger)}.mkd-metric-row b.accent{color:var(--color-accent-hover)}.mkd-rec-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.mkd-rec-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:3px 12px;font-size:12px;font-weight:800}.mkd-rec-badge.buy{color:#e7f7ec;background:linear-gradient(90deg,#34c759,#34c759)}.mkd-rec-badge.hold{color:#5c3200;background:linear-gradient(90deg,#ffb340,#ff9500)}.mkd-rec-badge.sell{color:#fdeceb;background:linear-gradient(90deg,#ff6961,#ff3b30)}.mkd-info-card.mkd-rec{border-color:#0071e340}.mkd-info-card.mkd-rec.buy{border-color:#34c75959}.mkd-info-card.mkd-rec.sell{border-color:#ff3b3059}.mkd-risk-badge{border-radius:999px;padding:2px 10px;font-size:11px;font-weight:700}.mkd-risk-badge.low{color:#d6f5dd;background:#34c7592e}.mkd-risk-badge.medium{color:#ffe9b0;background:#ff95002e}.mkd-risk-badge.high{color:#ffe0dd;background:#ff3b302e}.mkd-pop-bar{background:#00000014;border-radius:3px;height:6px;margin-top:2px;overflow:hidden}.mkd-pop-fill{background:linear-gradient(90deg,#0077ed,#0071e3);border-radius:3px;height:100%;transition:width .4s}.mkd-info-card .tx-list{max-height:240px;overflow-y:auto}.trade-breakdown{margin:var(--spacing-md) 0;background:var(--color-bg-tertiary);border-radius:var(--radius-md);flex-direction:column;gap:6px;padding:10px 12px;transition:opacity .2s;display:flex}.trade-breakdown.loading{opacity:.5}.tb-row{color:var(--color-text-secondary);justify-content:space-between;align-items:center;gap:10px;font-size:12.5px;display:flex}.tb-row b{color:var(--color-text-primary);font-variant-numeric:tabular-nums;font-size:13px}.tb-row b.up{color:var(--color-success)}.tb-row b.down{color:var(--color-danger)}.tb-total{border-top:1px solid var(--hairline);margin-top:1px;padding-top:7px}.tb-total span{color:var(--color-text-primary);font-weight:600}.tb-total strong{color:var(--color-accent-hover);font-variant-numeric:tabular-nums;font-size:17px;font-weight:800}.trade-warning{margin-bottom:var(--spacing-sm);border-radius:var(--radius-md);color:#ffd7d3;background:#ff3b3024;border:1px solid #ff3b304d;align-items:center;gap:7px;padding:8px 11px;font-size:12.5px;font-weight:600;display:flex}.trade-warning svg{color:#ff6961;flex-shrink:0}.trade-modal{max-width:460px}.tm-head{padding-bottom:var(--spacing-md);margin-bottom:var(--spacing-md);border-bottom:1px solid var(--hairline);align-items:center;gap:10px;display:flex}.tm-side{border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.05em;padding:5px 11px;font-size:11.5px;font-weight:800}.tm-side.buy{color:#7ee2a8;background:#30d15829}.tm-side.sell{color:#ffb0a8;background:#ff3b3029}.tm-asset{flex-direction:column;min-width:0;display:flex}.tm-asset b{font-size:16px;font-weight:700}.tm-asset span{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.tm-price{flex-direction:column;align-items:flex-end;margin-left:auto;display:flex}.tm-price b{font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.tm-price span{font-size:11.5px;font-weight:600}.tm-price span.up{color:var(--color-success)}.tm-price span.down{color:var(--color-danger)}.tm-field{flex-direction:column;gap:7px;display:flex}.tm-field-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.tm-field-head label{color:var(--color-text-secondary);font-size:12.5px;font-weight:600}.tm-avail{color:var(--color-text-secondary);font-size:11.5px}.tm-avail b{color:var(--color-text-primary);font-variant-numeric:tabular-nums}.tm-field input{font-variant-numeric:tabular-nums;width:100%;color:var(--color-text-primary);background:var(--color-bg-tertiary);border:1px solid var(--hairline);border-radius:var(--radius-md);padding:11px 13px;font-size:17px;font-weight:600;transition:border-color .15s}.tm-field input:focus{border-color:var(--color-accent);outline:none}.tm-presets{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.tm-preset{color:var(--color-text-secondary);background:var(--color-bg-tertiary);border:1px solid var(--hairline);border-radius:var(--radius-sm);cursor:pointer;padding:7px 4px;font-size:12px;font-weight:700;transition:all .15s}.tm-preset:hover:not(:disabled){color:var(--color-text-primary);border-color:var(--color-accent)}.tm-preset:disabled{opacity:.4;cursor:not-allowed}.mkd-why{border-top:1px solid var(--hairline);margin-top:2px;padding-top:8px}.mkd-why-title{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);font-size:11px;font-weight:700}.mkd-why-list{flex-direction:column;gap:3px;margin:5px 0 0;padding:0;list-style:none;display:flex}.mkd-why-list li{color:var(--color-text-secondary);padding-left:13px;font-size:11.5px;line-height:1.45;position:relative}.mkd-why-list li:before{content:"";background:var(--color-accent);border-radius:50%;width:4px;height:4px;position:absolute;top:7px;left:3px}.mkd-meter{background:#8080802e;border-radius:3px;height:6px;overflow:hidden}.mkd-meter-fill{border-radius:3px;height:100%;transition:width .4s}.mkd-meter-fill.up{background:linear-gradient(90deg,#34c759,#248a3d)}.mkd-meter-fill.down{background:linear-gradient(90deg,#ff6961,#ff3b30)}.mkd-info-hint{color:var(--color-text-secondary);font-size:11px;line-height:1.4}.mkd-info-hint b{color:var(--color-text-primary);font-variant-numeric:tabular-nums}.mkd-range{flex-direction:column;gap:5px;display:flex}.mkd-range-track{background:linear-gradient(90deg,#34c759,#ffb340,#ff3b30);border-radius:3px;height:6px;position:relative}.mkd-range-marker{background:var(--color-text-primary);width:3px;height:14px;box-shadow:0 0 0 2px var(--color-bg-secondary);border-radius:2px;transition:left .4s;position:absolute;top:50%;transform:translate(-50%,-50%)}.mkd-range-ends{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:11px;display:flex}.mkd-pnl{border-radius:var(--radius-md);background:var(--color-bg-tertiary);color:var(--color-text-secondary);justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:12.5px;display:flex}.mkd-pnl b{font-variant-numeric:tabular-nums;flex-direction:column;align-items:flex-end;font-size:15px;display:flex}.mkd-pnl b.up{color:var(--color-success)}.mkd-pnl b.down{color:var(--color-danger)}.mkd-pnl b em{opacity:.85;font-size:11px;font-style:normal}@media (width<=640px){.mkd-pnl{flex-direction:column;align-items:flex-start;gap:2px}.mkd-pnl b{flex-flow:wrap;align-items:baseline;gap:2px 8px}}.mkd-history-card{margin-top:var(--spacing-lg)}.mkd-history-card .tx-list{max-height:none;overflow-y:visible}.asset-actions.compact{gap:6px}.asset-actions.compact .asset-act{flex:auto;padding:7px 10px;font-size:12px}.car-card .asset-rental{padding:7px 10px;font-size:12px}.car-card .asset-rental.listed,.car-card .asset-rental.rented{gap:6px}.tune-modal{width:min(480px,94vw);max-width:480px}.tune-modal h3{align-items:center;gap:8px;display:flex}.tune-summary{gap:var(--spacing-md);margin:var(--spacing-md) 0;display:flex}.tune-summary>div{background:var(--color-bg-tertiary);border-radius:var(--radius-md);flex-direction:column;flex:1;gap:2px;padding:10px 12px;display:flex}.tune-summary span{color:var(--color-text-secondary);font-size:11px}.tune-summary b{color:var(--color-text-primary);font-size:17px}.tune-parts{flex-direction:column;gap:8px;display:flex}.tune-part{justify-content:space-between;align-items:center;gap:var(--spacing-md);background:var(--color-bg-tertiary);border:1px solid var(--hairline);border-radius:var(--radius-md);padding:10px 12px;display:flex}.tune-part-info{flex-direction:column;gap:6px;display:flex}.tune-part-name{color:var(--color-text-primary);font-size:14px;font-weight:600}.tune-levels{gap:4px;display:flex}.tune-pip{background:#0000001f;border-radius:3px;width:22px;height:6px;transition:background .2s}.tune-pip.on{background:linear-gradient(90deg,#0077ed,#0071e3)}.tune-part .asset-act{justify-content:center;min-width:120px}.analytics-chart{width:100%}.ac-plot{justify-content:space-between;align-items:flex-end;gap:var(--spacing-sm);height:200px;padding:var(--spacing-md) var(--spacing-sm) 0;display:flex}.ac-col{cursor:pointer;flex-direction:column;flex:1 1 0;align-items:center;gap:8px;min-width:0;height:100%;display:flex;position:relative}.ac-bars{justify-content:center;align-items:flex-end;gap:5px;width:100%;height:100%;display:flex}.ac-bar{transform-origin:bottom;border-radius:6px 6px 2px 2px;width:42%;max-width:22px;min-height:3px;transition:filter .15s,box-shadow .15s;animation:.5s cubic-bezier(.22,1,.36,1) both acGrow}.ac-bar.income{background:linear-gradient(#34c759,#34c759)}.ac-bar.expense{background:linear-gradient(#ff6961,#ff3b30)}.ac-col:hover .ac-bar{filter:brightness(1.12)}.ac-col.active .ac-bar.income{box-shadow:0 0 0 2px #34c75940}.ac-col.active .ac-bar.expense{box-shadow:0 0 0 2px #ff3b3040}@keyframes acGrow{0%{opacity:.4;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}.ac-label{color:var(--color-text-secondary);font-size:12px}.ac-col.active .ac-label{color:var(--color-text-primary)}.ac-tooltip{z-index:20;background:var(--color-bg-elevated,#fff);border:1px solid var(--hairline-strong);min-width:190px;box-shadow:var(--shadow-lg,0 12px 30px #0000001f);pointer-events:none;border-radius:12px;padding:10px 12px;animation:.16s both acTip;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)}.ac-tooltip:after{content:"";border:6px solid #0000;border-top-color:var(--color-bg-elevated,#fff);position:absolute;top:100%;left:50%;transform:translate(-50%)}@keyframes acTip{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%)}}.ac-tt-date{color:var(--color-text-primary);margin-bottom:6px;font-size:13px;font-weight:700}.ac-tt-row{color:var(--color-text-secondary);align-items:center;gap:7px;margin-top:3px;font-size:12px;display:flex}.ac-tt-row b{margin-left:auto;font-size:12px}.ac-tt-delta{border-top:1px solid var(--hairline);align-items:center;gap:5px;margin-top:7px;padding-top:6px;font-size:12px;display:flex}.ac-dot{border-radius:50%;flex:none;width:9px;height:9px}.ac-dot.income{background:#34c759}.ac-dot.expense{background:#ff3b30}.ac-dot.net{background:#0071e3}.up{color:var(--color-success,#34c759)}.down{color:var(--color-danger,#ff6961)}.ac-legend{justify-content:center;gap:var(--spacing-lg);margin-top:var(--spacing-md);display:flex}.ac-legend-item{color:var(--color-text-secondary);align-items:center;gap:6px;font-size:12px;display:flex}.shop-subtitle{color:var(--color-text-secondary);margin:calc(-1 * var(--spacing-sm)) 0 var(--spacing-lg);font-size:13px}.shop-toolbar-right{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.shop-tab .gpu-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))!important}.shop-tab .gpu-card{align-items:stretch;gap:8px;min-height:0;padding:12px}.shop-tab .gpu-card-head{align-items:center;gap:8px;min-width:0;display:flex}.shop-tab .gpu-card-headtext{flex-direction:column;gap:1px;min-width:0;display:flex}.shop-tab .gpu-card-icon{flex:0 0 36px;width:36px;height:36px}.shop-tab .gpu-card-name{flex:none;font-size:14px}.shop-tab .gpu-card-foot{justify-content:space-between;align-items:center;gap:8px;margin-top:auto;display:flex}.shop-tab .gpu-card-foot .gpu-card-specs{flex:1;min-width:0}.gpu-card-cat{letter-spacing:.4px;text-transform:uppercase;color:var(--color-text-secondary);font-size:10px;font-weight:700}.mining-houses h3,.mining-slots-view h3{margin:0 0 var(--spacing-xs) 0;color:var(--color-text-primary);align-items:center;gap:8px;font-size:18px;display:flex}.mining-hint{color:var(--color-text-secondary);margin:0 0 var(--spacing-md) 0;font-size:13px}.mining-houses-grid{gap:var(--spacing-sm);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.mining-house-card{text-align:left;background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-lg);cursor:pointer;color:inherit;flex-direction:column;gap:8px;min-width:0;padding:12px;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex}.mining-house-card:hover{border-color:var(--color-accent);transform:translateY(-2px);box-shadow:0 4px 16px #0071e32e}.mining-house-head{align-items:center;gap:10px;display:flex}.mining-house-head .icon{color:var(--color-accent);flex-shrink:0}.mining-house-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.mining-house-head .rarity-badge{flex-shrink:0}.mining-house-info{color:var(--color-text-secondary);background:var(--color-bg-tertiary);border-radius:var(--radius-md);flex-direction:column;gap:3px;padding:7px 9px;font-size:11px;display:flex}.mining-house-info-row{justify-content:space-between;align-items:center;gap:6px;min-width:0;display:flex}.mining-house-info-row>span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.mining-house-info-row b{color:var(--color-text-primary);flex-shrink:0}.mining-house-info-row b.up{color:#34c759}.mining-house-cta{color:var(--color-accent);justify-content:flex-end;align-items:center;gap:3px;margin-top:auto;font-size:11px;display:flex}.mining-house-cta svg{width:12px;height:12px}.mining-nav-row{margin-bottom:var(--spacing-md);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.mining-nav-row .asset-interact-btn{white-space:nowrap;flex-shrink:0;width:auto;min-width:0;padding:6px 12px}.mining-nav-row>.rarity-badge{flex-shrink:0}.mining-nav-title{white-space:nowrap;text-overflow:ellipsis;flex:1;align-items:center;gap:8px;min-width:0;margin:0;font-size:17px;display:flex;overflow:hidden}.mining-slots-grid{gap:var(--spacing-sm);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));display:grid}.mining-slot-card{background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-md);cursor:pointer;text-align:center;min-width:160px;min-height:160px;color:inherit;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:10px 6px;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex}.mining-slot-card svg.icon{width:30px;height:30px}.mining-slot-card .mining-slot-num{align-self:stretch;padding-left:4px;font-size:12px}.mining-slot-card .mining-slot-label{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:13px;font-weight:600;overflow:hidden}.mining-slot-card .mining-slot-status{padding:2px 8px;font-size:10px}.mining-slot-card .mining-slot-cta{font-size:11px}.mining-slot-card:hover{border-color:var(--color-accent);transform:translateY(-2px);box-shadow:0 4px 16px #0071e32e}.mining-slot-card.free .icon{color:var(--color-accent)}.mining-slot-card.occupied .icon{color:#34c759}.mining-slot-num{color:var(--color-text-tertiary);align-self:flex-start;font-size:12px;font-weight:700}.mining-slot-label{font-size:14px;font-weight:600}.mining-slot-status{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:2px 8px;font-size:11px}.mining-slot-status.status-mining{color:#34c759;background:#34c7592e}.mining-slot-status.status-idle{color:var(--color-text-secondary);background:#ffffff14}.mining-slot-status.status-off{color:#ff3b30;background:#ff3b302e}.mining-slot-cta{color:var(--color-accent);margin-top:auto;font-size:12px;font-weight:500}.mining-breadcrumbs{color:var(--color-text-secondary);margin-bottom:var(--spacing-md);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.mining-breadcrumbs .asset-interact-btn{white-space:nowrap;flex-shrink:0;width:auto;min-width:0;padding:5px 12px}.mining-breadcrumbs>span:not(.asset-interact-btn){color:var(--color-text-tertiary)}.mining-breadcrumb-current{color:var(--color-text-primary);background:var(--color-bg-tertiary);border:1px solid var(--hairline);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;flex-shrink:0;max-width:220px;padding:5px 10px;font-weight:600;overflow:hidden}.mining-new-farm{white-space:nowrap;flex-shrink:0;padding:6px 12px;font-size:13px}.new-farm-modal{max-width:380px}.new-farm-modal .new-farm-name{background:var(--color-bg-tertiary);border:1px solid var(--hairline);border-radius:var(--radius-md);width:100%;color:var(--color-text-primary);box-sizing:border-box;margin:6px 0 12px;padding:10px 12px;font-size:14px}.new-farm-modal .new-farm-name:focus{border-color:var(--color-accent);outline:none}.new-farm-modal .tv-confirm-message{margin:4px 0}.new-farm-modal h3{margin-bottom:6px}.mining-house-card .rarity-badge,.mining-slots-view .rarity-badge{text-transform:capitalize}.mining-onboard{text-align:center}.mining-onboard-form{gap:var(--spacing-sm);margin-top:var(--spacing-md);flex-wrap:wrap;justify-content:center;display:flex}.mining-onboard-form input{background:var(--color-bg-tertiary);border:1px solid var(--hairline);border-radius:var(--radius-md);color:var(--color-text-primary);min-width:220px;padding:11px 14px}.mining-farm-tabs{align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-md);flex-wrap:wrap;display:flex}.mining-farm-tabs .asset-act{white-space:nowrap;flex:none;min-width:0;padding:7px 12px}.mining-farm-tab{cursor:pointer;background:var(--color-bg-secondary);border:1px solid var(--hairline);color:var(--color-text-secondary);border-radius:999px;align-items:center;gap:7px;padding:8px 14px;font-size:13px;font-weight:600;transition:border-color .15s,color .15s;display:inline-flex}.mining-farm-tab.active{color:var(--color-text-primary);border-color:var(--color-accent)}.mining-add-farm{gap:6px;margin-left:auto;display:inline-flex}.mining-add-farm input{background:var(--color-bg-tertiary);border:1px solid var(--hairline);border-radius:var(--radius-md);color:var(--color-text-primary);width:150px;padding:7px 12px}.mining-panel{background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.mining-panel.mining{border-color:#34c75959}.mining-panel.off{border-color:#ff3b3059}.mining-panel-head{justify-content:space-between;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md);flex-wrap:wrap;display:flex}.mph-title{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.mph-title h3{margin:0;font-size:20px;font-weight:700}.mph-title{flex:1;min-width:0}.mph-actions{flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:6px;display:flex}.mining-state-badge{color:var(--color-text-secondary);background:#94a3b826;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700}.mph-title .mining-coin{color:var(--color-text-secondary);background:var(--color-bg-tertiary);border-radius:6px;padding:2px 8px;font-size:12px;font-weight:600}.mining-icon-btn{border:1px solid var(--hairline);background:var(--color-bg-tertiary);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,border-color .15s,color .15s,transform .1s;display:inline-flex}.mining-icon-btn:hover:not(:disabled){background:var(--color-bg-secondary);border-color:var(--color-accent);color:var(--color-text-primary)}.mining-icon-btn:active:not(:disabled){transform:scale(.96)}.mining-icon-btn:disabled{opacity:.4;cursor:not-allowed}.mining-icon-btn.primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.mining-icon-btn.primary:hover:not(:disabled){filter:brightness(1.1)}.mining-icon-btn.danger:hover:not(:disabled){color:#ff3b30;border-color:#ff3b3080}.mph-meta{align-items:center;gap:6px;display:inline-flex}.mining-coolant-pill{background:var(--color-bg-tertiary);color:var(--color-text-secondary);border:1px solid var(--hairline);border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.mining-coolant-pill.on{color:#00b4d8;background:#00b4d81a;border-color:#00b4d866}.mining-coolant-pill em{opacity:.8;font-size:10px;font-style:normal}.msc-coolant{position:relative}.msc-coolant.coolant-on b{color:#00b4d8}.msc .msc-btn{flex-basis:100%;margin-top:4px;padding:5px 8px;font-size:11px}.msc .msc-meta{color:var(--color-text-secondary);flex-basis:100%;margin-top:2px;font-size:10.5px}.mining-warn-temp{color:#ff9f0a;border-radius:var(--radius-md);background:#ff9f0a1f;border:1px solid #ff9f0a59;align-items:center;gap:8px;margin:8px 0 12px;padding:8px 12px;font-size:12.5px;display:flex}.mining-state-badge.mining{color:var(--color-success);background:#34c75929}.mining-state-badge.off{color:var(--color-danger);background:#ff3b3029}.mining-not-assembled{margin-bottom:var(--spacing-md);border-radius:var(--radius-md);color:var(--color-text-secondary);background:var(--color-bg-tertiary);border:1px dashed var(--hairline-strong);align-items:center;gap:8px;padding:14px 16px;font-size:13px;display:flex}.mining-stat-cards{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.msc{background:var(--color-bg-tertiary);border:1px solid var(--hairline);border-radius:var(--radius-md);flex-direction:column;gap:3px;padding:11px 13px;display:flex}.msc svg{color:var(--color-text-secondary)}.msc span{color:var(--color-text-secondary);font-size:11px}.msc b{color:var(--color-text-primary);font-size:17px}.msc b.up{color:var(--color-success)}.msc b.down{color:var(--color-danger)}.msc b.ok{color:var(--color-success)}.msc b.warn{color:#ff9f0a}.msc b.crit{color:var(--color-danger)}.mining-eff-row{margin:0 0 var(--spacing-md);flex-wrap:wrap;gap:6px;display:flex}.mining-eff-badge{background:var(--color-bg-tertiary);border:1px solid var(--hairline);color:var(--color-text-secondary);border-radius:999px;padding:4px 10px;font-size:11px}.mining-eff-badge.low{color:var(--color-danger);border-color:#ff3b3059}.mining-eff-badge.ok{color:var(--color-success);border-color:#34c75959}.mining-eff-badge.warn{color:#ff9f0a;border-color:#ff9f0a59}.mining-panel-controls{align-items:flex-end;gap:var(--spacing-md);margin-bottom:var(--spacing-md);flex-wrap:wrap;display:flex}.mpc-field{color:var(--color-text-secondary);flex-direction:column;gap:5px;font-size:12px;display:flex}.mpc-field select,.mpc-field input[type=range]{min-width:200px}.mpc-field select{background:var(--color-bg-tertiary);border:1px solid var(--hairline);border-radius:var(--radius-md);color:var(--color-text-primary);padding:8px 12px}.mining-manager-card{align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md);border-radius:var(--radius-md);background:#0071e314;border:1px solid #0071e333;padding:12px 14px;display:flex}.mmc-icon{width:40px;height:40px;color:var(--color-accent-hover);background:#0071e32e;border-radius:10px;flex:none;place-items:center;display:grid}.mmc-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.mmc-info b{color:var(--color-text-primary)}.mmc-info span{color:var(--color-text-secondary);font-size:12px}.mmc-actions{gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.mmc-toggles{flex-direction:column;flex:none;gap:5px;display:flex}.mmc-toggle{color:var(--color-text-secondary);cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.mmc-toggle input{accent-color:var(--color-accent-hover);cursor:pointer}.mining-slots{gap:var(--spacing-sm);grid-template-columns:repeat(auto-fill,minmax(170px,1fr));display:grid}.mining-slot{background:var(--color-bg-tertiary);border:1px solid var(--hairline);border-radius:var(--radius-md);padding:9px 11px}.mining-slot.req{border-color:#0071e338}.mining-slot.filled{border-color:#34c75938}.mslot-head{color:var(--color-text-secondary);justify-content:space-between;align-items:center;font-size:12px;font-weight:600;display:flex}.mslot-name em{color:var(--color-accent-hover);font-style:normal}.mslot-desc{color:var(--color-text-muted,#86868b);margin:3px 0 6px;font-size:10.5px;line-height:1.35;display:block}.mmc-desc{color:var(--color-text-muted,#86868b);margin-top:2px;font-size:11px}.mslot-count{color:var(--color-success);font-size:11px}.mslot-item-qty{color:var(--color-success);font-weight:700}.mslot-item{color:var(--color-text-primary);justify-content:space-between;align-items:center;gap:6px;margin-top:5px;font-size:12px;display:flex}.mslot-rm{color:var(--color-danger);cursor:pointer;background:0 0;border:none;padding:0}.mslot-pick{background:var(--color-bg-secondary);border:1px solid var(--hairline);width:100%;color:var(--color-text-primary);cursor:pointer;border-radius:6px;margin-top:6px;padding:6px 8px;font-size:12px}.mslot-empty{color:var(--color-text-secondary);margin-top:6px;font-size:11px;display:block}.mslot-add-badge{color:#fff;background:var(--color-success,#22c55e);cursor:pointer;border:none;border-radius:6px;align-items:center;gap:4px;margin-top:6px;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.mslot-add-badge:hover:not(:disabled){filter:brightness(1.08)}.mslot-add-badge:disabled{opacity:.5;cursor:not-allowed}@keyframes tvPopIn{0%{opacity:0;transform:translateY(14px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes tvSlideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes tvSuccessPulse{0%{box-shadow:0 0 #34c75973}70%{box-shadow:0 0 0 10px #34c75900}to{box-shadow:0 0 #34c75900}}.tv-popup-stack{z-index:400;flex-direction:column;gap:12px;max-width:360px;display:flex;position:fixed;bottom:20px;right:20px}.tv-popup-card{background:color-mix(in srgb, var(--color-bg-tertiary) 72%, transparent);-webkit-backdrop-filter:blur(20px)saturate(1.6);backdrop-filter:blur(20px)saturate(1.6);border-radius:var(--radius-lg);border:1px solid #ffffff2e;gap:12px;padding:16px 18px 16px 16px;animation:.32s cubic-bezier(.22,1,.36,1) both tvSlideInRight;display:flex;position:relative;box-shadow:0 12px 40px #0000002e,inset 0 1px #ffffff40}.tv-popup-close{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px;transition:all .18s;position:absolute;top:8px;right:8px}.tv-popup-event .tv-popup-icon{background:linear-gradient(135deg,#b45309,#f59e0b)}.tv-popup-event .tv-popup-actions{display:none}.tv-popup-close:hover{color:var(--color-text-primary);background:#00000014}.tv-popup-icon{color:#fff;background:linear-gradient(135deg,#0071e3,#005bbf);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:20px;display:flex}.tv-popup-body{flex-direction:column;gap:4px;padding-right:12px;display:flex}.tv-popup-title{color:var(--color-text-primary);font-size:14px;font-weight:700}.tv-popup-text{color:var(--color-text-secondary);font-size:12.5px;line-height:1.4}.tv-popup-meta{flex-wrap:wrap;gap:8px;margin-top:2px;display:flex}.tv-popup-meta span{color:#66aaf0;background:#0071e326;border-radius:20px;padding:2px 8px;font-size:11px}.tv-popup-actions{gap:8px;margin-top:8px;display:flex}.tv-popup-btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:5px;padding:7px 14px;font-size:12.5px;font-weight:600;transition:transform .12s,filter .18s;display:inline-flex}.tv-popup-btn:active{transform:scale(.95)}.world-events{gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);flex-direction:column;display:flex}.world-event{align-items:center;gap:var(--spacing-sm);border-radius:var(--radius-md);background:linear-gradient(135deg,#0071e31f,#0000);border:1px solid #0071e347;padding:12px 14px;display:flex}.world-event-icon{font-size:26px;line-height:1}.world-event-info{flex-direction:column;gap:2px;min-width:0;display:flex}.world-event-info b{color:var(--color-text-primary);font-size:14px}.world-event-info span{color:var(--color-text-secondary);font-size:12px}.tv-popup-btn:disabled{opacity:.6;cursor:default}.tv-popup-btn.accept{color:#fff;background:linear-gradient(135deg,#34c759,#248a3d)}.tv-popup-btn.accept:hover{filter:brightness(1.1)}.tv-popup-btn.decline{color:var(--color-text-primary);background:#00000014}.tv-popup-btn.decline:hover{color:#ff8a80;background:#ff3b302e}.tv-confirm-overlay{z-index:350}.tv-confirm{text-align:center;max-width:400px;animation:.24s cubic-bezier(.22,1,.36,1) both tvPopIn}.tv-confirm-icon{color:#66aaf0;background:#0071e326;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:4px auto 14px;display:flex}.tv-confirm-icon.danger{color:#ff8a80;background:#ff3b3026}.tv-confirm-title{color:var(--color-text-primary);margin-bottom:8px;font-size:18px;font-weight:700}.tv-confirm-message{color:var(--color-text-secondary);margin-bottom:20px;font-size:13.5px;line-height:1.5}.tv-confirm-buttons{gap:10px;display:flex}.tv-confirm-btn{border-radius:var(--radius-md);cursor:pointer;border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:11px 16px;font-size:14px;font-weight:600;transition:transform .12s,filter .18s;display:inline-flex}.tv-confirm-btn:active{transform:scale(.97)}.tv-confirm-btn:disabled{opacity:.6;cursor:default}.tv-confirm-btn.primary{color:#fff;background:linear-gradient(135deg,#0071e3,#005bbf)}.tv-confirm-btn.danger{color:#fff;background:linear-gradient(135deg,#ff3b30,#b3000c)}.tv-confirm-btn.primary:hover,.tv-confirm-btn.danger:hover{filter:brightness(1.1)}.tv-confirm-btn.cancel{color:var(--color-text-primary);background:#00000012}.tv-confirm-btn.cancel:hover{background:#00000021}.company-title-row{align-items:center;gap:10px;display:flex}.company-logo-badge{background:#0071e31f;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:22px;display:flex;overflow:hidden}.company-logo-img{object-fit:cover;width:100%;height:100%}.company-logo-emoji{line-height:1}.company-settings-btn{border:1px solid var(--hairline);color:var(--color-text-secondary);cursor:pointer;background:0 0;border-radius:10px;margin-left:auto;padding:8px;transition:all .18s}.company-settings-btn:hover{color:var(--color-text-primary);border-color:#0071e380}.company-role-badge{color:var(--color-accent-hover);white-space:nowrap;background:#0071e31f;border-radius:999px;margin-left:auto;padding:5px 12px;font-size:12px;font-weight:600}.company-description{color:var(--color-text-secondary);margin:-4px 0 12px;font-size:13.5px}.company-settings-modal{text-align:left;width:min(460px,100vw - 32px);max-height:min(760px,100vh - 32px);padding:22px;overflow-y:auto}.company-settings-modal h3{margin:0 0 18px}.company-settings-modal .settings-label{margin-top:12px}.company-settings-modal .company-logo-upload{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.company-settings-modal .company-logo-preview{object-fit:contain;background:var(--color-bg-secondary);border-radius:12px;flex-basis:100%;width:112px;height:112px;margin:2px auto 8px;display:block}.company-settings-modal .settings-toggles{gap:8px;margin:14px 0}.company-settings-modal .modal-buttons{margin-top:16px}.settings-label{color:var(--color-text-secondary);margin:14px 0 6px;font-size:12px;font-weight:600;display:block}.company-candidate-info{color:var(--color-text-secondary);flex-basis:100%;margin-top:-2px;font-size:12px}.company-desc-input{resize:vertical;background:var(--color-bg-secondary);border:1px solid var(--hairline-strong);width:100%;color:var(--color-text-primary);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:13.5px}.logo-emoji-row{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.logo-emoji-btn{cursor:pointer;background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:10px;width:38px;height:38px;font-size:20px;transition:all .15s}.logo-emoji-btn:hover{border-color:#0071e380;transform:translateY(-2px)}.logo-emoji-btn.active{background:#0071e333;border-color:#0071e3}.settings-toggles{flex-wrap:wrap;gap:10px;margin:16px 0;display:flex}.settings-toggle{cursor:pointer;background:var(--color-bg-secondary);border:1px solid var(--hairline);min-width:140px;color:var(--color-text-secondary);border-radius:10px;flex:1;justify-content:center;align-items:center;gap:7px;padding:11px 14px;font-size:13px;font-weight:600;transition:all .18s;display:inline-flex}.settings-toggle.on{color:#248a3d;background:#34c7591a;border-color:#34c75980}.company-disband-btn{cursor:pointer;color:#ff8a80;background:#ff3b301a;border:1px solid #ff3b3066;border-radius:10px;justify-content:center;align-items:center;gap:7px;width:100%;margin-top:18px;padding:11px 16px;font-size:13.5px;font-weight:600;transition:all .18s;display:inline-flex}.company-disband-btn:hover{background:#ff3b3033}.company-disband-btn:disabled{opacity:.5;cursor:default}.company-disband-btn.compact{width:auto;margin-top:0;margin-left:auto;padding:8px 14px}.transfer-feedback.success{animation:.9s ease-out tvSuccessPulse}.asset-act,.gpu-card-buy,.crypto-buy,.crypto-sell,.stock-btn{transition:transform .12s,filter .18s,background .18s}.asset-act:active:not(:disabled),.gpu-card-buy:active:not(:disabled),.crypto-buy:active:not(:disabled),.crypto-sell:active:not(:disabled),.stock-btn:active:not(:disabled){transform:scale(.96)}.asset-card,.gpu-card{transition:transform .2s,box-shadow .2s,border-color .2s}.asset-card:hover,.gpu-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px #0000001a}.tv-toast-stack{z-index:2000;pointer-events:none;flex-direction:column;align-items:center;gap:10px;width:max-content;max-width:min(92vw,440px);display:flex;position:fixed;top:18px;left:50%;transform:translate(-50%)}.tv-toast{pointer-events:auto;background:color-mix(in srgb, var(--color-bg-tertiary) 70%, transparent);-webkit-backdrop-filter:blur(22px)saturate(1.7);backdrop-filter:blur(22px)saturate(1.7);border:1px solid #fff3;border-radius:14px;align-items:center;gap:10px;min-width:240px;max-width:100%;padding:12px 14px;animation:.3s cubic-bezier(.22,1,.36,1) both tvToastIn;display:flex;box-shadow:0 14px 44px #00000038,inset 0 1px #ffffff4d}.tv-toast-icon{color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.tv-toast-success .tv-toast-icon{background:linear-gradient(135deg,#34c759,#248a3d)}.tv-toast-error .tv-toast-icon{background:linear-gradient(135deg,#ff3b30,#b3000c)}.tv-toast-info .tv-toast-icon{background:linear-gradient(135deg,#0071e3,#005bbf)}.tv-toast-text{color:var(--color-text-primary);flex:1;font-size:13.5px;font-weight:600;line-height:1.35}.tv-toast-close{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:2px;transition:all .15s}.tv-toast-close:hover{color:var(--color-text-primary);background:#00000014}@keyframes tvToastIn{0%{opacity:0;transform:translateY(-14px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=600px){.tv-toast-stack{max-width:94vw;top:12px}.tv-toast{width:94vw;min-width:0}.tv-popup-stack{max-width:none;bottom:12px;left:10px;right:10px}.tv-popup-card{padding:14px 14px 14px 12px}.company-emp-info{flex:100%;min-width:0}.company-emp-name,.company-emp-role{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.company-emp-actions,.company-emp-edit{flex-wrap:wrap;justify-content:flex-end;margin-left:auto}}.gpu-card-spec-row{color:var(--color-text-tertiary);align-items:center;gap:5px;font-size:11px;display:flex}.gpu-card-owned{color:var(--color-text-secondary);font-size:11px;font-weight:600}.gpu-card-qty{align-items:center;gap:6px;margin-top:auto;display:flex}.gpu-card-qty input{text-align:center;background:var(--color-bg-tertiary);border:1px solid var(--hairline);border-radius:var(--radius-sm);width:100%;min-width:0;color:var(--color-text-primary);font-size:12px;font-family:var(--font-primary);padding:5px 6px}.gpu-card-qty~.gpu-card-buy{margin-top:6px}.gpu-card .gpu-card-qty{margin-top:auto}.gpu-qty-btn{cursor:pointer;background:var(--fill-soft);border:1px solid var(--hairline);border-radius:var(--radius-sm);width:26px;height:26px;color:var(--color-text-primary);flex:0 0 26px;justify-content:center;align-items:center;display:inline-flex}.gpu-qty-btn:disabled{opacity:.4;cursor:default}.gpu-card-sell{border:1px solid var(--color-danger);border-radius:var(--radius-sm);width:100%;color:var(--color-danger);font-size:11px;font-weight:600;font-family:var(--font-primary);cursor:pointer;background:0 0;margin-top:6px;padding:7px 10px}.gpu-card-sell:disabled{opacity:.5;cursor:default}.mining-body{gap:var(--spacing-md);grid-template-columns:1fr;display:grid}@media (width>=960px){.mining-body{grid-template-columns:1fr 260px;align-items:start}}.mining-success{background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.mining-success h4{margin:0 0 var(--spacing-md);align-items:center;gap:7px;font-size:14px;display:flex}.mining-success-row{justify-content:space-between;align-items:center;gap:var(--spacing-sm);border-bottom:1px solid var(--hairline);padding:9px 0;display:flex}.mining-success-row:last-child{border-bottom:none}.mining-success-row span{color:var(--color-text-secondary);font-size:12px}.mining-success-row b{color:var(--color-text-primary);font-size:14px}.mslot-qty{align-items:center;gap:4px;margin-left:6px;display:inline-flex}.mslot-qty input{text-align:center;background:var(--color-bg-tertiary);border:1px solid var(--hairline);border-radius:var(--radius-sm);width:52px;color:var(--color-text-primary);padding:3px 4px;font-size:12px}.mslot-pick-row{align-items:center;gap:6px;display:flex}.mslot-pick-row .mslot-pick{flex:auto}.mslot-cart{flex-direction:column;gap:5px;margin-top:6px;display:flex}.mslot-cart-row{background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:6px;flex-wrap:wrap;align-items:center;gap:3px 5px;padding:5px 7px;display:flex}.mslot-cart-label{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:0 0 100%;font-size:11px;overflow:hidden}.mslot-cart-stock{color:var(--color-text-secondary);background:var(--color-bg-tertiary);text-align:center;border-radius:8px;flex-shrink:0;min-width:18px;padding:1px 6px;font-size:10px;font-weight:600}.mslot-cart-qty{text-align:center;background:var(--color-bg-tertiary);border:1px solid var(--hairline);min-width:32px;max-width:52px;color:var(--color-text-primary);border-radius:6px;flex:auto;padding:3px 5px;font-size:12px}.mslot-cart-btn{background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:6px;flex-shrink:0;padding:4px 10px;font-size:11px;font-weight:600}.mslot-cart-btn:hover:not(:disabled){background:var(--color-accent-hover)}.mslot-cart-btn:disabled{opacity:.5;cursor:not-allowed}.mslot-item-actions{align-items:center;gap:4px;display:inline-flex}.mslot-rm-all{align-items:center;gap:1px;font-size:10px;font-weight:700;display:inline-flex}.leaderboard-modes{gap:var(--spacing-xs);margin-bottom:var(--spacing-md);display:flex}.lb-breakdown{gap:var(--spacing-xs) var(--spacing-sm);flex-wrap:wrap;margin-top:4px;display:flex}.lb-chip{color:var(--color-text-tertiary);white-space:nowrap;align-items:baseline;gap:4px;font-size:11px;line-height:1.2;display:inline-flex}.lb-chip b{color:var(--color-text-secondary);font-weight:600}.lb-chip.active{color:var(--color-accent);background:var(--fill-soft);border-radius:var(--radius-sm,6px);padding:1px 6px}.lb-chip.active b{color:var(--color-accent)}.admin-user-capital{color:var(--color-text-primary);white-space:nowrap;text-align:right;align-self:center;min-width:90px;font-size:14px;font-weight:600}.admin-user-sorts{justify-content:flex-start}.admin-bans-block{gap:6px}.admin-audit-log{gap:8px;display:grid}.admin-audit-row{border:1px solid var(--hairline);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;display:flex}.admin-audit-row code{text-overflow:ellipsis;max-width:100%;color:var(--color-text-secondary);overflow:hidden}.admin-bans-block>label:first-child{color:var(--color-text-secondary);font-size:13px;font-weight:600}.admin-ban-group{box-sizing:border-box;width:100%;max-width:100%}.admin-ban-row{box-sizing:border-box;width:100%;max-width:100%;color:var(--color-text-primary);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-width:0;font-size:13px;display:grid}.admin-ban-row>span{min-width:0}.admin-ban-details{box-sizing:border-box;grid-template-columns:minmax(0,155px) minmax(0,1fr);gap:8px;width:100%;min-width:0;max-width:100%;display:grid}.admin-ban-row>.admin-ban-details{grid-column:1/-1}.admin-ban-group>.admin-ban-details{flex:0 0 100%;width:calc(100% - 26px);max-width:calc(100% - 26px);margin-left:26px}.admin-ban-details input,.admin-ban-row input[type=date],.admin-ban-row .admin-ban-reason{box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:4px 8px;font-size:12px}.admin-ban-category{align-items:center;gap:8px;display:flex}.admin-ban-toggle-spacer{flex:0 0 18px;width:18px}@media (width<=720px){.admin-ban-row{grid-template-columns:auto minmax(0,1fr)}.admin-ban-row input[type=date],.admin-ban-row .admin-ban-reason{grid-column:2}.admin-ban-details{flex-basis:100%;grid-template-columns:1fr}.admin-user-capital{min-width:0}}.lb-profit-sub{color:var(--color-text-tertiary);text-transform:none;letter-spacing:0;font-size:10px;display:block}.lb-avatar.lb-logo{background:var(--fill-soft)}.market-rental-note{align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-lg);background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:13px;display:flex}.market-rental-note svg{color:var(--color-accent);flex-shrink:0;margin-top:1px}@media (width<=640px){.leaderboard-row{grid-template-columns:44px 1fr auto}.leaderboard-row .lb-networth{display:block}.lb-profit-sub{display:none}.lb-profit{white-space:nowrap;min-width:0}.asset-summary{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.asset-summary-card{min-width:0}.asset-summary-card b{font-size:16px}.inventory-tab .asset-summary,.company-tab .asset-summary,.mining-tab .asset-summary,.mining-tab .mining-stats,.mining-tab .mining-stat-cards{grid-template-columns:1fr}.inventory-tab .asset-summary-card,.company-tab .asset-summary-card,.mining-tab .asset-summary-card,.mining-tab .msc{min-width:0}.inventory-tab .asset-summary-card b,.company-tab .asset-summary-card b,.mining-tab .asset-summary-card b,.mining-tab .msc b{overflow-wrap:normal;word-break:normal}.settings-page .settings-save-btn{padding:10px 14px;font-size:14px}.settings-page .settings-stats-grid{grid-template-columns:1fr}.asset-summary-card:last-child{grid-column:auto}.tx-card{flex-wrap:wrap;gap:10px;padding:12px}.tx-card-label,.tx-card-date{white-space:nowrap}.tx-card-amounts{flex-direction:row;flex:1 0 100%;justify-content:flex-end;align-items:baseline;gap:10px;max-width:none}.tx-card-amount{font-size:13px}.tx-filters{grid-template-columns:repeat(3,1fr);display:grid}.tx-filters .tx-pill{text-align:center;padding:8px 0}.mining-manager-card{flex-wrap:wrap}.mmc-actions,.mmc-toggles{width:100%}.mmc-actions .asset-act{flex:1}.mining-comps{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.mslot-cart-row{flex-wrap:wrap}.city-tile-name{white-space:normal;font-size:10px}.city-tile-reward{font-size:9px}.city-tile-owner{font-size:8px}.city-tile-info{padding:2px 4px}.wc-balance{white-space:nowrap}.mkd-header{gap:var(--spacing-sm)}.mkd-logo,.mkd-logo-img{width:44px;height:44px}.mkd-title{min-width:0}.mkd-name-row h2{font-size:17px}.mkd-price-block{flex-direction:row;flex:100%;justify-content:space-between;align-items:center}.mkd-price{font-size:20px}}.tx-input{color:var(--color-text-primary);background:var(--color-bg-tertiary,var(--color-bg-secondary));border:1px solid var(--hairline);border-radius:8px;outline:none;padding:8px 10px;font-size:13px;transition:border-color .15s,box-shadow .15s}.tx-input:focus{border-color:#0071e38c;box-shadow:0 0 0 3px #0071e326}.tx-input:disabled{opacity:.55;cursor:not-allowed}.tx-input::placeholder{color:var(--color-text-muted,#86868b)}.mining-bulk-toolbar{margin-bottom:var(--spacing-md);flex-direction:column;gap:10px;display:flex}.mbt-pair{flex-wrap:wrap;gap:10px;display:flex}.mbt-pair .mbt-section{flex:380px}.mbt-section{background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-md,12px);padding:10px 12px}.mbt-title{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted,#86868b);margin-bottom:8px;font-size:11px;font-weight:700;display:block}.mbt-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mbt-row .asset-act{flex:0 auto;min-width:0;padding:8px 12px}.mbt-divider{background:var(--hairline);align-self:stretch;width:1px;margin:0 4px}.mbt-nowrap{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:8px;display:inline-flex}.mbt-row .mslot-pick{align-self:center;width:auto;min-width:160px;margin-top:0;padding:8px 30px 8px 10px;font-size:12.5px}.mbt-row .mslot-pick:focus{border-color:#0071e38c;outline:none;box-shadow:0 0 0 3px #0071e326}.mbt-row .mslot-pick:disabled{opacity:.55;cursor:not-allowed}.mining-bulk-toggle{color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:12px;display:inline-flex}.mining-bulk-toggle input{appearance:none;border:1px solid var(--hairline);background:var(--color-bg-secondary);cursor:pointer;border-radius:5px;width:17px;height:17px;margin:0;transition:background .15s,border-color .15s,box-shadow .15s}.mining-bulk-toggle input:hover{border-color:var(--color-accent)}.mining-bulk-toggle input:checked{background:var(--color-accent,#0071e3);border-color:var(--color-accent,#0071e3);box-shadow:0 0 0 3px #0071e324}.mining-bulk-toggle input:checked:after{content:"✓";color:#fff;text-align:center;font-size:13px;font-weight:800;line-height:15px;display:block}.mining-bulk-listhead{align-items:center;gap:14px;padding:4px 4px 8px;display:flex}.mining-bulk-listhead .mining-bulk-selectall{margin-left:0}.mining-bulk-selected{color:var(--color-text-muted,#86868b);font-size:12px}.mbt-danger{color:var(--color-danger,#ff453a);border-color:#ff3b3059}.mbt-danger:hover{background:#ff3b301f}.mining-bulk-list{flex-direction:column;gap:8px;display:flex}.mining-bulk-label{color:var(--color-text-secondary);align-self:center;font-size:12px;font-weight:600}.mining-bulk-qty{width:72px}.market-cats .mslot-pick{align-self:center;width:auto;min-width:170px;max-width:260px;margin-top:0;padding:8px 30px 8px 10px;font-size:12.5px}.market-cats .mslot-pick:focus{border-color:#0071e38c;outline:none;box-shadow:0 0 0 3px #0071e326}.market-cats .mslot-pick:disabled{opacity:.55;cursor:not-allowed}.mining-bulk-selectall{color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-self:center;align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.mining-bulk-selectall input{appearance:none;border:1px solid var(--hairline);background:var(--color-bg-secondary);cursor:pointer;border-radius:5px;width:17px;height:17px;margin:0}.mining-bulk-selectall input:checked{background:var(--color-accent,#0071e3);border-color:var(--color-accent,#0071e3);box-shadow:0 0 0 3px #0071e324}.mining-bulk-selectall input:checked:after{content:"✓";color:#fff;text-align:center;font-size:13px;font-weight:800;line-height:15px;display:block}.mining-bulk-selectall input:disabled{cursor:not-allowed}.mining-bulk-create-row{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.mining-house-group{width:110px;padding:3px 8px;font-size:12px}.mining-bulk-row{border-radius:var(--radius-md);background:var(--color-surface,#ffffff0a);cursor:pointer;align-items:center;gap:10px;padding:10px 12px;display:flex}.mining-bulk-name{min-width:140px;font-weight:600}.mining-bulk-state{opacity:.85;font-size:12px}.mining-bulk-meta{opacity:.7;text-align:right;margin-left:auto;font-size:12px}.refresh-controls{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.refresh-label{opacity:.7;margin-right:2px;font-size:12px}@keyframes refresh-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mkd-chart-tools,.refresh-controls{align-items:center;gap:4px;display:flex}.refresh-controls .refresh-select,.refresh-controls .refresh-btn{border-radius:var(--radius-sm);border:1px solid var(--hairline);background:var(--color-bg-tertiary);color:var(--color-text-secondary);cursor:pointer;align-items:center;padding:6px 8px;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.refresh-controls .refresh-select{appearance:auto;padding-right:20px}.refresh-controls .refresh-btn:disabled{opacity:.6;cursor:default}.refresh-spin{animation:.8s linear infinite refresh-rotate}.inv-panel{gap:var(--spacing-md);flex-direction:column;display:flex}.inv-toolbar{justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);flex-wrap:wrap;display:flex}.inv-toolbar-right{align-items:center;gap:var(--spacing-sm);margin-left:auto;display:flex}.inv-toolbar-sep{background:var(--hairline);align-self:stretch;width:1px;margin:2px 4px}.inv-sort{background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--hairline);border-radius:var(--radius-md);padding:7px 10px;font-size:13px}.inv-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.inv-card{background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-lg);gap:var(--spacing-sm);flex-direction:column;transition:transform .15s,box-shadow .15s;display:flex}.inv-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.inv-card-head{align-items:center;gap:var(--spacing-sm);display:flex}.inv-icon{border-radius:var(--radius-md);width:34px;height:34px;color:var(--color-accent);background:#0a84ff1f;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.inv-name{color:var(--color-text-primary);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;flex:1;min-width:0;font-size:13.5px;font-weight:700;display:-webkit-box;overflow:hidden}.inv-badge{border-radius:999px;flex-shrink:0;padding:3px 8px;font-size:10.5px;font-weight:700}.inv-badge.free{color:var(--color-success);background:#34c75926}.inv-badge.installed{color:var(--color-accent);background:#0a84ff26}.inv-specs{flex-wrap:wrap;gap:6px;display:flex}.inv-chip{border-radius:var(--radius-sm);background:var(--color-bg-tertiary,#ffffff0d);color:var(--color-text-secondary);padding:3px 8px;font-size:11.5px}.inv-cond-row{align-items:center;gap:8px;display:flex}.inv-cond{background:#ffffff14;border-radius:999px;flex:1;height:6px;overflow:hidden}.inv-cond-fill{border-radius:999px;height:100%}.inv-cond-fill.ok{background:var(--color-success)}.inv-cond-fill.mid{background:var(--color-warning,#ffd60a)}.inv-cond-fill.low{background:var(--color-danger)}.inv-cond-pct{color:var(--color-text-secondary);text-align:right;min-width:34px;font-size:12px;font-weight:600}.inv-cond-pct.ok{color:var(--color-success)}.inv-cond-pct.low{color:var(--color-danger)}.inv-meta{justify-content:space-between;align-items:center;gap:var(--spacing-sm);color:var(--color-text-secondary);font-size:12.5px;display:flex}.inv-farm{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.inv-actions{justify-content:flex-end;margin-top:auto}.inv-links{gap:var(--spacing-sm);margin-top:var(--spacing-sm);flex-direction:column;display:flex}.inv-link{align-items:center;gap:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-lg);color:var(--color-text-primary);cursor:pointer;text-align:left;transition:transform .15s,box-shadow .15s;display:flex}.inv-link:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.inv-link-text{flex-direction:column;flex:1;gap:2px;display:flex}.inv-link-text b{font-size:14px}.inv-link-text small{color:var(--color-text-secondary);font-size:12px}@media (width<=720px){.inv-toolbar-right{width:100%;margin-left:0}.inv-toolbar-right .tx-search{flex:1}}.mining-bulk-progress{color:var(--color-warning,#facc15);margin-left:auto;font-size:14px}.mining-bulk-progress b{color:#fff}.mining-bulk-progressbar{margin:0 0 var(--spacing-md);border-radius:var(--radius-md,10px);background:#facc150f;border:1px solid #facc1573;align-items:center;gap:10px;padding:10px 14px;display:flex}.mining-bulk-progressbar-label{color:#facc15;white-space:nowrap;font-weight:600}.mining-bulk-progressbar-track{background:#ffffff14;border-radius:999px;flex:1;height:8px;overflow:hidden}.mining-bulk-progressbar-fill{background:linear-gradient(90deg,#22c55e,#84cc16);border-radius:999px;height:100%;transition:width .3s}.mining-bulk-progressbar-num{font-variant-numeric:tabular-nums;white-space:nowrap}.asm-modal{width:100%;max-width:760px;max-height:85vh;overflow-y:auto}.asm-grid{margin:var(--spacing-md,16px) 0;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:10px 14px;display:grid}.asm-row{border-radius:var(--radius-md,10px);background:#ffffff08;border:1px solid #ffffff14;flex-direction:column;align-items:stretch;gap:6px;padding:8px 10px;transition:border-color .15s,background .15s;display:flex}.asm-row.chosen{background:#22c55e12;border-color:#22c55e99}.asm-cat{min-width:92px;color:var(--color-text-dim,#9ca3af);font-size:13px}.asm-row .mslot-pick{flex:1;min-width:0}.asm-qty{text-align:center;width:64px!important}.asm-footer{margin-top:var(--spacing-md,16px);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.asm-summary{color:var(--color-text-dim,#9ca3af);font-size:14px}.asm-line{align-items:center;gap:8px;width:100%;min-width:0;display:flex}.asm-hint{opacity:.75;font-size:12px;line-height:1.35}.asm-hint.short{opacity:1;color:#f87171;font-weight:600}.asm-warn{margin:0 0 var(--spacing-md,16px);border-radius:var(--radius-md,10px);color:#facc15;background:#facc150f;border:1px solid #facc1573;align-items:center;gap:8px;padding:10px 14px;font-size:13px;display:flex}.mining-house-rename-btn{width:22px;height:22px;color:var(--color-text-dim,#9ca3af);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.mining-house-rename-btn:hover{color:var(--color-text,#fff);background:#ffffff14}.mining-house-rename{flex:1;min-width:0;height:26px;padding:2px 8px;font-size:14px}.gpu-shop-card{border:1px solid var(--hairline-strong);border-radius:var(--radius-md);background:var(--color-bg-secondary);margin-bottom:12px;padding:12px}.gpu-shop-head{color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.gpu-shop-head b{color:var(--color-text-primary)}.gpu-shop-own{border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--color-accent);padding:2px 8px;font-size:12px}.gpu-shop-table{border-collapse:collapse;width:100%;font-size:14px;display:block;overflow-x:auto}.gpu-shop-table thead,.gpu-shop-table tbody{width:100%;display:table}.gpu-shop-table th,.gpu-shop-table td{text-align:left;vertical-align:middle;color:var(--color-text-primary);white-space:nowrap;padding:6px 8px}.gpu-shop-table th{color:var(--color-text-tertiary);font-size:12px;font-weight:500}.gpu-shop-name{font-weight:600}.gpu-shop-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.gpu-shop-qty-input,.gpu-shop-price-input{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-tertiary);width:96px;height:28px;color:var(--color-text-primary);font:inherit;padding:2px 6px}.gpu-shop-open{color:var(--color-success)}.gpu-shop-closed{color:var(--color-danger)}.gpu-shop-status{color:var(--color-text-secondary);align-items:center;gap:8px;margin-bottom:8px;display:flex}.gpu-shop-hint{margin:8px 0}.gpu-shop-error{color:var(--color-danger)}.gpu-shop-violations{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-danger) 12%, transparent);border:1px solid color-mix(in srgb, var(--color-danger) 30%, transparent);color:var(--color-danger);margin-top:10px;padding:8px 10px;font-size:13px}.gpu-shop-violations ul{margin:6px 0 0 18px;padding:0}.gpu-shop-editor{width:100%;max-width:720px}.settings-country-select{position:relative}.settings-country-trigger{border-radius:var(--radius-sm);cursor:pointer;background:var(--color-bg-tertiary);width:100%;color:var(--color-text-primary);border:1px solid var(--color-border);font:inherit;align-items:center;gap:10px;padding:10px 12px;display:flex}.settings-country-trigger:hover{border-color:var(--color-border-strong)}.settings-country-trigger .settings-lang-label{text-align:left;flex:1}.settings-country-chevron{transition:transform .15s}.settings-country-chevron.open{transform:rotate(180deg)}.settings-card:has(.settings-country-select){z-index:30;position:relative}.settings-country-panel{z-index:9999;border-radius:var(--radius-sm);background:var(--color-bg-elevated);border:1px solid var(--color-border);max-height:480px;box-shadow:var(--shadow-lg);padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.settings-country-option{border-radius:var(--radius-sm);cursor:pointer;width:100%;color:var(--color-text-primary);text-align:left;font:inherit;background:0 0;border:0;align-items:center;gap:10px;padding:8px 10px;display:flex}.settings-country-option:hover{background:var(--fill-soft)}.settings-country-option.active{background:var(--accent-soft);color:var(--color-accent)}.settings-country-option .settings-lang-check{margin-left:auto}.settings-country-code{opacity:.8;min-width:28px;font-weight:600}.settings-country-name{flex:1}.settings-country-flag{object-fit:cover;border-radius:3px;flex-shrink:0;width:24px;height:16px}.lb-flag{object-fit:cover;vertical-align:-.05em;border-radius:2px;width:1.1em;height:.8em;margin-right:6px}.settings-page{gap:var(--spacing-lg);flex-direction:column;display:flex}.settings-title-row{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs);display:flex}.settings-title-row .icon{color:var(--color-accent-hover)}.settings-title-row .tab-title{margin:0}.settings-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;display:grid}.settings-card{background:var(--color-bg-secondary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:var(--spacing-lg);gap:var(--spacing-md);flex-direction:column;transition:border-color .2s,transform .2s,box-shadow .2s;animation:.3s both settingsCardIn;display:flex}.settings-card:hover{border-color:var(--accent-soft-hover);box-shadow:var(--shadow-md)}@keyframes settingsCardIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.settings-card-header{align-items:center;gap:var(--spacing-sm);display:flex}.promo-admin-form{background:linear-gradient(135deg, var(--color-bg-tertiary), var(--color-bg-secondary));border:1px solid var(--color-border);box-shadow:var(--shadow-md);border-radius:16px;padding:18px}.promo-admin-title{color:var(--color-accent-hover);align-items:center;gap:8px;display:flex}.promo-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.promo-admin-grid label{flex-direction:column;gap:6px;font-weight:600;display:flex}.promo-admin-form .admin-input{box-sizing:border-box;width:100%}.promo-admin-form .submit-btn{margin-top:14px}@media (width<=640px){.promo-admin-grid{grid-template-columns:1fr}}.settings-card-header h3{color:var(--color-text-primary);margin:0;font-size:16px;font-weight:700}.settings-card-icon{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--accent-soft-hover), var(--accent-soft));width:34px;height:34px;color:var(--color-accent-hover);flex-shrink:0;justify-content:center;align-items:center;display:flex}.settings-current-info{color:var(--color-text-secondary);padding:var(--spacing-sm) var(--spacing-md);background:var(--fill-subtle);border-radius:var(--radius-md);flex-direction:column;gap:4px;font-size:13px;display:flex}.settings-current-info b{color:var(--color-text-primary)}.settings-save-btn{justify-content:center;align-items:center;gap:8px;display:inline-flex}.settings-avatar-body{align-items:center;gap:var(--spacing-lg);flex-wrap:wrap;display:flex}.status-badges{vertical-align:middle;align-items:center;gap:4px;display:inline-flex}.status-badge{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.status-badge-admin{background:var(--color-accent,#0071e3)}.status-badge-beta{background:#f59e0b}.settings-banner-block{flex-direction:column;gap:10px;margin-top:12px;display:flex}.settings-banner-preview{aspect-ratio:4;background:var(--color-surface-2,#8080801f);width:100%;color:var(--color-text-secondary);border-radius:10px;justify-content:center;align-items:center;font-size:13px;display:flex;overflow:hidden}.settings-banner-preview img{object-fit:cover;width:100%;height:100%}.settings-avatar-preview{background:linear-gradient(135deg, var(--color-accent), var(--color-accent-hover));width:92px;height:92px;color:var(--on-accent);box-shadow:0 6px 20px var(--accent-soft-hover);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:30px;font-weight:700;display:flex;overflow:hidden}.settings-avatar-preview img{object-fit:cover;width:100%;height:100%}.settings-avatar-actions{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.settings-hint{color:var(--color-text-tertiary,#86868b);margin:0;font-size:12px}.settings-toggle-block{margin-top:var(--spacing-sm);padding-top:var(--spacing-md);border-top:1px solid var(--hairline)}.settings-appearance-block{border-top:none;margin-top:0;padding-top:0}.settings-toggle-row{justify-content:space-between;align-items:center;gap:var(--spacing-md);color:var(--color-text-primary);cursor:pointer;font-size:13px;display:flex}.settings-toggle-row.disabled{cursor:not-allowed;opacity:.6}.settings-toggle-text{line-height:1.35}.settings-switch{flex-shrink:0;align-items:center;display:inline-flex;position:relative}.settings-switch input{opacity:0;width:100%;height:100%;cursor:inherit;margin:0;position:absolute;inset:0}.settings-switch-track{background:var(--switch-off,#00000024);width:44px;height:26px;transition:background var(--dur-med) var(--ease-out);border-radius:999px;align-items:center;padding:2px;display:inline-flex}.settings-switch-thumb{width:22px;height:22px;transition:transform var(--dur-med) var(--ease-spring);background:#fff;border-radius:50%;box-shadow:0 3px 8px #00000026,0 1px 1px #00000014}.settings-switch input:checked+.settings-switch-track{background:var(--color-success)}.settings-switch input:checked+.settings-switch-track .settings-switch-thumb{transform:translate(18px)}.settings-switch input:disabled+.settings-switch-track{opacity:.5}.settings-lang-grid{gap:var(--spacing-sm);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.settings-lang-card{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--hairline);background:var(--fill-subtle);color:var(--color-text-secondary);font-family:var(--font-primary);cursor:pointer;font-size:14px;font-weight:600;transition:all .2s;display:flex;position:relative}.settings-lang-card:hover{color:var(--color-text-primary);border-color:#0071e359;transform:translateY(-1px)}.settings-lang-card.active{border-color:var(--color-accent);color:var(--color-text-primary);background:#0071e326}.settings-lang-flag{font-size:20px}.settings-lang-check{color:var(--color-accent-hover);margin-left:auto}.settings-bio-field{position:relative}.settings-bio-input{box-sizing:border-box;resize:vertical;width:100%;min-height:84px;padding:var(--spacing-md);background:var(--fill-soft);border:1px solid var(--hairline);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:15px;font-family:var(--font-primary);outline:none;padding-bottom:26px;line-height:1.5;transition:border-color .2s,background .2s,box-shadow .2s}.settings-bio-input::placeholder{color:#a1a1a6}.settings-bio-input:focus{border-color:var(--color-accent);background:#0071e30d;box-shadow:0 0 0 3px #0071e326}.settings-bio-count{font-variant-numeric:tabular-nums;color:var(--color-text-tertiary,#86868b);background:var(--fill-soft);pointer-events:none;border-radius:999px;padding:1px 6px;font-size:11px;position:absolute;bottom:10px;right:12px}.settings-stats-grid{gap:var(--spacing-sm);grid-template-columns:repeat(2,1fr);display:grid}.settings-stat{padding:var(--spacing-sm) var(--spacing-md);background:var(--fill-soft,#00000008);border-radius:var(--radius-md,10px);flex-direction:column;gap:2px;display:flex}.settings-stat-label{color:var(--color-text-tertiary,#86868b);font-size:11px}.settings-stat-value{color:var(--color-text-primary);font-size:15px;font-weight:600}.settings-stat-value.neg{color:var(--color-danger,#ff3b30)}.settings-achievements{gap:var(--spacing-sm);flex-direction:column;display:flex}.settings-achievement{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--hairline);border-radius:var(--radius-md,10px);color:var(--color-text-tertiary,#86868b);opacity:.6;font-size:13px;display:flex}.settings-achievement.reached{opacity:1;color:var(--color-text-primary);border-color:var(--color-accent);background:#0071e314}.settings-achievement-check{color:var(--color-accent);margin-left:auto}.player-profile-modal{width:100%;max-width:460px}.pp-loading,.pp-error{padding:var(--spacing-xl,32px) var(--spacing-md);text-align:center;color:var(--color-text-secondary)}.pp-error{color:var(--color-danger,#ff3b30)}.pp-head{text-align:center;padding:0 0 var(--spacing-lg,20px);border-bottom:1px solid var(--hairline);flex-direction:column;align-items:center;gap:6px;display:flex;position:relative}.pp-banner{height:120px;margin:0 calc(var(--spacing-md,16px) * -1) 0;background:linear-gradient(135deg, var(--color-accent), var(--color-accent-hover,#0071e3));background-position:50%;background-size:cover;border-radius:12px 12px 0 0;align-self:stretch}.pp-banner-empty{opacity:.6}.pp-head .pp-avatar{border:3px solid var(--color-surface,#fff);margin-top:-42px}.pp-avatar{background:linear-gradient(135deg, var(--color-accent), var(--color-accent-hover,#0071e3));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:84px;height:84px;font-size:30px;font-weight:600;display:flex;overflow:hidden}.pp-avatar img{object-fit:cover;width:100%;height:100%}.pp-name{color:var(--color-text-primary);margin:4px 0 0;font-size:20px;font-weight:700}.pp-bio{max-width:90%;color:var(--color-text-secondary);white-space:pre-wrap;word-break:break-word;margin:0;font-size:13px;line-height:1.5}.pp-section{padding:var(--spacing-md) 0 0}.pp-section-title{margin-bottom:var(--spacing-sm);color:var(--color-text-secondary);align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.pp-section-title svg{color:var(--color-accent)}.pp-stats-grid{gap:var(--spacing-sm);grid-template-columns:repeat(2,1fr);display:grid}.pp-stat{padding:var(--spacing-sm) var(--spacing-md);background:var(--fill-soft,#00000008);border-radius:var(--radius-md,10px);flex-direction:column;gap:2px;display:flex}.pp-stat-label{color:var(--color-text-tertiary,#86868b);font-size:11px}.pp-stat-value{color:var(--color-text-primary);font-size:15px;font-weight:600}.pp-stat-value.neg{color:var(--color-danger,#ff3b30)}.pp-achievements-progress{margin:-4px 0 var(--spacing-sm);color:var(--color-text-muted);font-size:.85rem}.pp-achievements{gap:var(--spacing-sm);flex-direction:column;max-height:260px;display:flex;overflow-y:auto}.pp-achievement{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--hairline);border-radius:var(--radius-md,10px);color:var(--color-text-tertiary,#86868b);opacity:.6;font-size:13px;display:flex}.pp-achievement.reached{opacity:1;color:var(--color-text-primary);border-color:var(--color-accent);background:#0071e314}.pp-achievement-status{color:var(--color-accent);margin-left:auto;font-size:.75rem}.player-flag{object-fit:cover;vertical-align:middle;border-radius:2px;width:24px;height:16px;margin-right:5px}.player-link{cursor:pointer;transition:color .15s}.player-link:hover{color:var(--color-accent);text-decoration:underline}.tutorial-open-btn{border-radius:var(--radius-md,8px);border:1px solid var(--hairline);background:var(--color-bg-secondary);color:var(--color-accent);cursor:pointer;align-items:center;gap:6px;margin-left:auto;padding:6px 12px;font-weight:600;display:inline-flex}.tutorial-open-btn:hover{border-color:var(--color-accent)}.support-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tutorial-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.tutorial-modal{background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-lg,12px);width:100%;max-width:560px;max-height:90vh;padding:var(--spacing-lg,20px);gap:var(--spacing-md,12px);flex-direction:column;display:flex;overflow-y:auto}.tutorial-head{justify-content:space-between;align-items:center;display:flex}.tutorial-title{align-items:center;gap:8px;margin:0;font-size:1.25rem;display:flex}.tutorial-subtitle{opacity:.8;margin:0}.tutorial-icon-btn{cursor:pointer;color:inherit;background:0 0;border:none;padding:4px}.tutorial-topics{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.tutorial-topic-card{text-align:left;border-radius:var(--radius-md,8px);border:1px solid var(--hairline);background:var(--color-bg-primary,transparent);color:inherit;cursor:pointer;flex-direction:column;gap:6px;padding:14px;display:flex}.tutorial-topic-card:hover{border-color:var(--color-accent)}.tutorial-topic-name{font-weight:700}.tutorial-topic-desc{opacity:.8;font-size:.875rem}.tutorial-topic-status{align-items:center;gap:4px;font-size:.8rem;display:inline-flex}.tutorial-progress{background:var(--hairline);border-radius:3px;height:6px;display:block;overflow:hidden}.tutorial-progress-bar{background:var(--color-accent);height:100%;transition:width .3s;display:block}.tutorial-back-link{color:var(--color-accent);cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:4px;padding:0;display:inline-flex}.tutorial-topic-heading{font-size:1.1rem;font-weight:700}.tutorial-steps-nav{flex-wrap:wrap;gap:8px;display:flex}.tutorial-step-dot{border:1px solid var(--hairline);width:30px;height:30px;color:inherit;cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.tutorial-step-dot.current{border-color:var(--color-accent);box-shadow:0 0 0 2px #0071e340}.tutorial-step-dot.done{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.tutorial-step-dot:disabled{opacity:.4;cursor:not-allowed}.tutorial-step{flex-direction:column;gap:8px;display:flex}.tutorial-step-counter{opacity:.7;font-size:.8rem}.tutorial-step-title,.tutorial-step-text{margin:0}.tutorial-task{border-radius:var(--radius-md,8px);border:1px dashed var(--hairline);flex-direction:column;gap:8px;padding:12px;display:flex}.tutorial-task.active{border:2px solid var(--color-accent)}.tutorial-task-label{color:var(--color-accent);font-size:.8rem;font-weight:700}.tutorial-task p{margin:0}.tutorial-task-done,.tutorial-task-locked{opacity:.8;align-items:center;gap:4px;font-size:.85rem;display:inline-flex}.tutorial-action-btn{align-self:flex-start;align-items:center;gap:6px;display:inline-flex}.tutorial-complete{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:16px 0;display:flex}.tutorial-complete h3{margin:0}.tutorial-complete p{opacity:.85;margin:0}.tutorial-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.tutorial-ghost-btn{border:1px solid var(--hairline);border-radius:var(--radius-md,8px);color:inherit;cursor:pointer;background:0 0;align-items:center;gap:4px;padding:6px 10px;display:inline-flex}.tutorial-ghost-btn:disabled{opacity:.4;cursor:not-allowed}@media (width<=640px){.settings-grid{grid-template-columns:minmax(0,1fr);gap:12px}.settings-card{min-width:0;padding:14px}.settings-country-panel{max-height:42vh}.settings-country-option{min-height:42px}.settings-card input,.settings-card textarea,.settings-card select{max-width:100%}}.farm-panel{gap:var(--spacing-lg);flex-direction:column;display:flex}.farm-summary{gap:var(--spacing-sm);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.farm-summary-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);flex-direction:column;gap:2px;display:flex}.farm-summary-card span{text-transform:uppercase;letter-spacing:.4px;color:var(--color-text-secondary);font-size:11px}.farm-summary-card b{color:var(--color-text-primary);font-size:15px}.farm-body{gap:var(--spacing-lg);grid-template-columns:320px 360px;align-items:start;display:grid}@media (width<=900px){.farm-body{grid-template-columns:1fr}}.farm-grid-wrap{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);gap:var(--spacing-sm);flex-direction:column;display:flex}.farm-grid{aspect-ratio:1;gap:2px;width:100%;max-width:520px;margin:0 auto;display:grid}.farm-cell{background:#84cc1614;border:1px solid #84cc162e;border-radius:2px;transition:background .2s;position:relative}.farm-cell.empty{background:#ffffff05;border-color:#ffffff0f}.farm-cell.growing{background:#22c55e47;border-color:#22c55e80}.farm-cell.ready{background:#facc1559;border-color:#facc15b3;animation:2.5s ease-in-out infinite farm-ready-pulse}.farm-cell-emoji{pointer-events:none;justify-content:center;align-items:center;font-size:9px;line-height:1;display:flex;position:absolute;inset:0}@keyframes farm-ready-pulse{0%,to{box-shadow:0 0 #facc1500}50%{box-shadow:0 0 4px #facc1580}}.farm-grid-legend{gap:var(--spacing-md);color:var(--color-text-secondary);flex-wrap:wrap;justify-content:center;font-size:12px;display:flex}.farm-grid-legend>span{align-items:center;gap:4px;display:inline-flex}.farm-legend-dot{border:1px solid #ffffff1f;border-radius:2px;width:10px;height:10px;display:inline-block}.farm-legend-dot.empty{background:#ffffff0f}.farm-legend-dot.growing{background:#22c55e66;border-color:#22c55eb3}.farm-legend-dot.ready{background:#facc1580;border-color:#facc15cc}.farm-side{gap:var(--spacing-md);flex-direction:column;display:flex}.farm-block{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);gap:var(--spacing-sm);flex-direction:column;display:flex}.farm-block h3{color:var(--color-text-primary);align-items:center;gap:6px;margin:0;font-size:14px;font-weight:700;display:flex}.farm-block h3 svg{color:var(--color-accent)}.farm-crop-picker{gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.farm-crop-chip{background:var(--fill-soft);border:1px solid var(--color-border);cursor:pointer;color:var(--color-text-primary);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;transition:background .15s,border-color .15s;display:inline-flex}.farm-crop-chip:hover{background:#ffffff14}.farm-crop-chip.active{border-color:var(--color-accent);background:#eab30826}.farm-btn{background:var(--fill-soft);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;padding:8px 12px;font-size:14px;font-weight:600;transition:background .15s,opacity .15s}.farm-btn:hover:not(:disabled){background:#ffffff1a}.farm-btn:disabled{opacity:.45;cursor:not-allowed}.farm-btn.primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--on-accent)}.farm-btn.primary:hover:not(:disabled){background:color-mix(in srgb, var(--color-accent) 88%, white)}.farm-hint{color:var(--color-text-secondary);align-items:center;gap:6px;margin:0;font-size:12px;display:flex}.farm-price{color:var(--color-text-secondary);margin:0;font-size:13px}.farm-price b{color:var(--color-text-primary)}.farm-price .up{color:var(--color-success,#22c55e)}.farm-input-row{align-items:center;gap:var(--spacing-sm);display:flex}.farm-input-row label{color:var(--color-text-secondary);font-size:13px}.farm-input-row input{background:var(--fill-soft);border:1px solid var(--color-border);border-radius:var(--radius-sm);max-width:120px;color:var(--color-text-primary);flex:1;padding:6px 8px;font-size:13px}.farm-input-row select{background:var(--fill-soft);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);cursor:pointer;max-width:100%;padding:7px 10px;font-size:13px}.farm-storage-list{gap:var(--spacing-xs);flex-direction:column;display:flex}.farm-storage-row{gap:var(--spacing-sm);grid-template-columns:1fr auto auto;align-items:center;font-size:13px;display:grid}.farm-storage-name{color:var(--color-text-primary);align-items:center;gap:6px;display:inline-flex}.farm-storage-qty{color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.farm-storage-actions{align-items:center;gap:4px;display:flex}.farm-storage-actions input{background:var(--fill-soft);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);padding:4px 6px;font-size:12px}@keyframes spin{to{transform:rotate(360deg)}}.farm-cell-progress{pointer-events:none;background:linear-gradient(90deg,#facc15f2,#22c55ef2);border-radius:0 2px 2px 0;height:3px;transition:width .4s linear;position:absolute;bottom:0;left:0;box-shadow:0 0 4px #facc1599}.farm-bar{background:#ffffff14;border-radius:2px;width:100%;height:4px;margin-top:4px;overflow:hidden}.farm-bar-fill{background:linear-gradient(90deg, var(--color-accent,#eab308), #22c55e);height:100%;transition:width .3s linear;animation:1.6s ease-in-out infinite farm-bar-pulse}@keyframes farm-bar-pulse{0%,to{opacity:.9}50%{opacity:1}}.farm-crops-progress .farm-summary-card span{text-transform:none;letter-spacing:0;color:var(--color-text-primary);font-size:12px}.farm-crops-progress .farm-summary-card b{font-variant-numeric:tabular-nums;color:var(--color-accent,#eab308);font-size:13px}.farm-text-summary{color:var(--color-text-primary);flex-direction:column;gap:8px;padding:8px 0;font-size:14px;display:flex}.farm-text-row{background:var(--fill-soft);border:1px solid var(--color-border);border-radius:var(--radius-sm);justify-content:space-between;align-items:baseline;padding:6px 10px;display:flex}.farm-text-label{color:var(--color-text-secondary);font-size:13px}.farm-text-val{font-variant-numeric:tabular-nums;color:var(--color-text-primary);font-size:15px}.farm-text-ready{color:var(--color-accent,#eab308)}.admin-nav-divider{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:8px;margin:14px 10px 6px;font-size:.72rem;font-weight:700;display:flex}.admin-nav-divider:after{content:"";background:var(--color-border);flex:1;height:1px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-primary);background:var(--color-bg-primary);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.auth-container{min-height:100vh;display:flex}.auth-left{padding:var(--spacing-2xl);border-right:1px solid var(--hairline);background:linear-gradient(135deg,#0071e314,#0071e305);flex-direction:column;flex:1;justify-content:center;display:flex;overflow-y:auto}.brand-logo{width:64px;height:64px;margin-bottom:var(--spacing-lg);justify-content:center;align-items:center;display:flex}.auth-left h2{color:var(--color-text-primary);margin-bottom:var(--spacing-sm);font-size:32px;font-weight:700}.brand-tagline{color:var(--color-text-secondary);margin-bottom:var(--spacing-2xl);font-size:16px}.features{gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl);flex-direction:column;display:flex}.feature{gap:var(--spacing-md);align-items:flex-start;display:flex}.feature-icon{border-radius:var(--radius-md);background:#0071e31a;border:1px solid #0071e333;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.feature h3{color:var(--color-text-primary);margin-bottom:var(--spacing-xs);font-size:15px;font-weight:600}.feature p{color:var(--color-text-secondary);font-size:13px;line-height:1.6}.brand-footer{color:#86868b;font-size:13px;font-style:italic}.auth-right{padding:var(--spacing-xl);flex:1;justify-content:center;align-items:center;display:flex}.auth-card{background:var(--color-bg-secondary);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:var(--spacing-xl);width:100%;max-width:420px;box-shadow:var(--shadow-lg)}.tab-switcher{background:var(--fill-soft);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);gap:2px;padding:3px;display:flex}.tab-btn{color:var(--color-text-secondary);font-size:13px;font-weight:590;font-family:var(--font-primary);cursor:pointer;transition:color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);background:0 0;border:none;border-radius:11px;flex:1;padding:8px 16px}.tab-btn.active{background:var(--color-bg-secondary);color:var(--color-text-primary);box-shadow:0 1px 3px #0000001a,0 1px 1px #0000000a}.tab-btn:hover:not(.active){color:var(--color-text-primary)}.auth-header{text-align:center;margin-bottom:var(--spacing-lg)}.auth-header h1{color:var(--color-text-primary);margin-bottom:var(--spacing-sm);font-size:26px;font-weight:700}.auth-header p{color:var(--color-text-secondary);font-size:14px}.error-message{color:var(--color-danger);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);text-align:center;background:#ff3b301a;border:1px solid #ff3b3040;font-size:14px}.auth-form{gap:var(--spacing-md);flex-direction:column;display:flex}.form-group{gap:var(--spacing-sm);flex-direction:column;display:flex}.form-group label{color:var(--color-text-secondary);padding-left:var(--spacing-xs);font-size:13px;font-weight:500}.form-group input{background:var(--fill-soft);border:1px solid var(--hairline);border-radius:var(--radius-md);padding:var(--spacing-md);color:var(--color-text-primary);font-size:15px;font-family:var(--font-primary);outline:none;transition:all .2s}.form-group input::placeholder{color:#a1a1a6}.form-group input:focus{border-color:var(--color-accent);background:#0071e30d;box-shadow:0 0 0 3px #0071e326}.submit-btn{background:var(--color-accent);color:var(--on-accent);border-radius:var(--radius-md);padding:var(--spacing-md);font-size:16px;font-weight:600;font-family:var(--font-primary);cursor:pointer;margin-top:var(--spacing-sm);border:none;transition:all .2s}.submit-btn:hover{background:var(--color-accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.submit-btn:active{transform:translateY(0)}.submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.success-card{text-align:center}.success-icon{background:linear-gradient(135deg, var(--color-success), #248a3d);color:#fff;width:72px;height:72px;margin:0 auto var(--spacing-lg);border-radius:50%;justify-content:center;align-items:center;font-size:36px;display:flex;box-shadow:0 10px 30px #34c75940}.success-card h1{color:var(--color-text-primary);margin-bottom:var(--spacing-md);font-size:26px}.success-card p{color:var(--color-text-secondary);font-size:15px}.dashboard{min-height:100vh;display:flex}.sidebar{background:var(--glass-bg);-webkit-backdrop-filter:saturate(180%)blur(24px);backdrop-filter:saturate(180%)blur(24px);border-right:1px solid var(--glass-border);width:260px;min-height:100vh;padding:var(--spacing-lg) 0;z-index:100;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.sidebar-logo{align-items:center;gap:var(--spacing-md);padding:0 var(--spacing-lg);margin-bottom:var(--spacing-xl);cursor:pointer;text-align:left;font-family:var(--font-primary);background:0 0;border:none;display:flex}.sidebar-logo-icon{justify-content:center;align-items:center;width:40px;height:40px;display:flex}.sidebar-logo-text{color:var(--color-text-primary);font-size:20px;font-weight:700}.sidebar-nav{gap:var(--spacing-xs);padding:0 var(--spacing-md);flex-direction:column;display:flex}.sidebar-group{flex-direction:column;display:flex}.sidebar-group+.sidebar-group{margin-top:var(--spacing-md)}.sidebar-group-title{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary,var(--color-text-secondary));padding:4px 14px;font-size:11px;font-weight:600}.sidebar-item{align-items:center;gap:var(--spacing-md);color:var(--color-text-secondary);font-size:14px;font-weight:500;font-family:var(--font-primary);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);text-align:left;background:0 0;border:none;width:100%;padding:10px 14px;display:flex}.sidebar-item:hover{background:var(--fill-soft);color:var(--color-text-primary)}.sidebar-item:active{transform:scale(.98)}.sidebar-item.active{background:var(--color-accent);color:var(--on-accent);font-weight:600;box-shadow:0 4px 12px #0071e347}.sidebar-item.active:hover{background:var(--color-accent-hover);color:var(--on-accent)}.sidebar-item-icon{flex-shrink:0;font-size:18px}.sidebar-item-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dashboard-main{flex-direction:column;flex:1;min-height:100vh;margin-left:260px;display:flex}.header{padding:var(--spacing-sm) var(--spacing-xl);background:var(--glass-bg);-webkit-backdrop-filter:saturate(180%)blur(24px);backdrop-filter:saturate(180%)blur(24px);border-bottom:1px solid var(--glass-border);z-index:50;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.header-left{align-items:center;display:flex}.header-logo{align-items:center;gap:var(--spacing-sm);display:flex}.header-logo-icon{justify-content:center;align-items:center;width:32px;height:32px;display:flex}.logo-glyph{object-fit:contain;width:100%;height:100%;display:block}.header-logo-text{color:var(--color-text-primary);font-size:18px;font-weight:700}.header-right{align-items:center;gap:var(--spacing-md);margin-left:auto;display:flex}.header-icon-btn{background:var(--fill-soft);border-radius:var(--radius-md);width:38px;height:38px;color:var(--color-text-secondary);cursor:pointer;border:none;justify-content:center;align-items:center;transition:all .2s;display:flex}.header-icon-btn:hover{color:var(--color-accent-hover);background:#0071e31f}.profile-card{border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);gap:var(--spacing-xs);cursor:pointer;background:linear-gradient(135deg,#0071e31f,#0071e30a);border:1px solid #0071e333;flex-direction:column;flex-shrink:1;max-width:260px;transition:all .2s;display:flex;position:relative}.profile-card:hover{background:linear-gradient(135deg,#0071e32e,#0071e30f);border-color:#0071e359}.profile-card-chip{color:var(--color-text-secondary);align-items:center;font-size:14px;display:flex}.profile-card-number{color:var(--color-text-primary);letter-spacing:2px;-webkit-user-select:none;user-select:none;font-family:Courier New,monospace;font-size:14px;font-weight:600}.profile-card-number.profile-card-empty{color:var(--color-text-secondary);-webkit-user-select:none;user-select:none;font-style:italic}.profile-card-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:1px;font-size:10px}.profile-card-visibility-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex;position:absolute;top:2px;right:8px}.profile-card-visibility-btn:hover{color:var(--color-accent-hover);background:#0071e333}.profile-card-visibility-btn svg{width:14px;height:14px}.header-level{white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:flex}.header-level-bar{background:#ffffff26;border-radius:2px;width:70px;height:4px;overflow:hidden}.header-level-bar>div{background:#0071e3;height:100%;transition:width .3s}.header-level-left{opacity:.7}.profile-card-copied{background:var(--color-success);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;animation:2s fadeInOut;display:flex;position:absolute;top:-8px;right:-8px;box-shadow:0 2px 8px #34c75966}.profile-card-copied svg{width:12px;height:12px}.header-user{align-items:center;gap:var(--spacing-md);display:flex}.header-username{color:var(--color-text-primary);font-size:14px;font-weight:600}.header-avatar{background:linear-gradient(135deg, var(--color-accent), var(--color-accent-hover));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:14px;font-weight:700;display:flex;box-shadow:0 4px 12px #0071e333}.dashboard-content{padding:var(--spacing-xl);flex:1;overflow-y:auto}.tab-title{letter-spacing:-.02em;margin-bottom:var(--spacing-lg);color:var(--color-text-primary);font-size:30px;font-weight:700}.account-period{gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);flex-wrap:wrap;display:flex}.account-stats{gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.stat-card{background:var(--color-bg-secondary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:var(--spacing-lg);align-items:center;gap:var(--spacing-md);transition:all .2s;display:flex}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-balance{background:linear-gradient(135deg,#0071e31a,#0071e308);border-color:#0071e340}.stat-income{background:linear-gradient(135deg,#34c75914,#34c75908);border-color:#34c75940}.stat-expense{background:linear-gradient(135deg,#ff3b3014,#ff3b3008);border-color:#ff3b3040}.stat-invest{background:linear-gradient(135deg,#3b82f614,#3b82f608);border-color:#3b82f640}.stat-icon{font-size:28px}.stat-info{gap:var(--spacing-xs);flex-direction:column;display:flex}.stat-label{color:var(--color-text-secondary);font-size:13px;font-weight:500}.stat-value{font-size:18px;font-weight:700}.stat-balance .stat-value{color:var(--color-accent-hover)}.stat-income .stat-value{color:var(--color-success)}.stat-expense .stat-value{color:var(--color-danger)}.stat-invest .stat-value{color:#66aaf0}.account-chart{background:var(--color-bg-secondary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.account-chart h3{color:var(--color-text-primary);margin-bottom:var(--spacing-lg);font-size:16px;font-weight:600}.chart-container{align-items:flex-end;gap:var(--spacing-md);height:180px;padding:0 var(--spacing-sm);display:flex}.chart-bar-group{flex-direction:column;flex:1;align-items:center;height:100%;display:flex}.chart-bars{gap:var(--spacing-xs);flex:1;align-items:flex-end;width:100%;display:flex}.chart-bar{border-radius:var(--radius-sm) var(--radius-sm) 0 0;flex:1;min-height:4px;transition:height .5s}.bar-income{background:linear-gradient(180deg, var(--color-success), #248a3d);opacity:.85}.bar-expense{background:linear-gradient(180deg, var(--color-danger), #d70015);opacity:.85}.chart-label{color:var(--color-text-secondary);margin-top:var(--spacing-sm);font-size:12px}.chart-legend{gap:var(--spacing-lg);margin-top:var(--spacing-md);justify-content:center;display:flex}.legend-item{color:var(--color-text-secondary);align-items:center;gap:var(--spacing-sm);font-size:13px;display:flex}.legend-item:before{content:"";border-radius:var(--radius-sm);width:12px;height:12px}.legend-income:before{background:linear-gradient(135deg, var(--color-success), #248a3d)}.legend-expense:before{background:linear-gradient(135deg, var(--color-danger), #d70015)}.account-transactions{background:var(--color-bg-secondary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.account-transactions h3{color:var(--color-text-primary);margin-bottom:var(--spacing-md);font-size:16px;font-weight:600}.transaction-row{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) 0;border-bottom:1px solid var(--hairline);transition:background .2s;display:flex}.transaction-row:last-child{border-bottom:none}.transaction-row:hover{background:var(--fill-subtle);margin:0 calc(-1 * var(--spacing-md));padding-left:var(--spacing-md);padding-right:var(--spacing-md);border-radius:var(--radius-sm)}.transaction-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;font-weight:700;display:flex}.transaction-row.income .transaction-icon{color:var(--color-success);background:#34c7591f}.transaction-row.expense .transaction-icon{color:var(--color-danger);background:#ff3b301f}.transaction-info{gap:var(--spacing-xs);flex-direction:column;flex:1;display:flex}.transaction-label{color:var(--color-text-primary);font-size:14px;font-weight:500}.transaction-date{color:var(--color-text-secondary);font-size:12px}.transaction-amount{font-size:15px;font-weight:600}.transaction-amount.income{color:var(--color-success)}.transaction-amount.expense{color:var(--color-danger)}.stocks-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.stock-card{background:var(--color-bg-secondary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:var(--spacing-lg);gap:var(--spacing-md);flex-direction:column;transition:all .2s;display:flex}.stock-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.stock-up{border-color:#34c75933}.stock-down{border-color:#ff3b3033}.stock-header{justify-content:space-between;align-items:flex-start;display:flex}.stock-company-info{gap:var(--spacing-xs);flex-direction:column;display:flex}.stock-ticker{color:var(--color-text-primary);font-size:18px;font-weight:700}.stock-company-name{color:var(--color-text-secondary);font-size:12px}.stock-change{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:13px;font-weight:600}.stock-change.up{color:var(--color-success);background:#34c7591f}.stock-change.down{color:var(--color-danger);background:#ff3b301f}.stock-chart-area{border-radius:var(--radius-sm);background:var(--fill-subtle);border:1px solid var(--hairline);width:100%;height:80px;position:relative;overflow:hidden}.mini-chart{width:100%;height:100%}.stock-chart-area:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 0% 95%,#1a1d26cc 100%);position:absolute;inset:0}.stock-details{justify-content:space-between;display:flex}.stock-price-row,.stock-shares-row{gap:var(--spacing-xs);flex-direction:column;display:flex}.stock-price-label,.stock-shares-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.stock-price-value{color:var(--color-text-primary);font-size:16px;font-weight:700}.stock-shares-value{color:var(--color-text-secondary);font-size:14px;font-weight:500}.stock-btn{padding:var(--spacing-md);border-radius:var(--radius-md);font-size:14px;font-weight:600;font-family:var(--font-primary);cursor:pointer;border:none;flex:1;transition:all .2s}.buy-btn{background:var(--color-success);color:#fff}.buy-btn:hover{background:#248a3d;transform:translateY(-1px);box-shadow:0 4px 16px #34c7594d}.sell-btn{background:var(--color-danger);color:#fff}.sell-btn:hover{background:#d70015;transform:translateY(-1px);box-shadow:0 4px 16px #ff3b304d}.cancel-btn{color:var(--color-text-secondary);background:#00000014}.cancel-btn:hover{background:#0000001f}.modal-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:200;padding:var(--spacing-lg);animation:tv-overlay-in var(--dur-med) var(--ease-out);background:#00000047;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);width:100%;max-width:420px;box-shadow:var(--shadow-xl);animation:tv-modal-in var(--dur-med) var(--ease-out);position:relative}@keyframes tv-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes tv-modal-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-content h3{margin-bottom:var(--spacing-sm);color:var(--color-text-primary);font-size:20px;font-weight:700}.modal-company{color:var(--color-text-secondary);margin-bottom:var(--spacing-md);font-size:14px}.modal-price{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);font-size:14px}.modal-quantity{align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md);display:flex}.modal-quantity label{color:var(--color-text-secondary);font-size:14px}.modal-quantity input{background:var(--fill-soft);border:1px solid var(--hairline);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-primary);font-size:15px;font-family:var(--font-primary);outline:none;width:100px;transition:all .2s}.modal-quantity input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #0071e326}.modal-quantity--col{flex-direction:column;align-items:stretch;gap:6px}.modal-quantity--col input{box-sizing:border-box;width:100%}.modal-total{color:var(--color-text-primary);margin-bottom:var(--spacing-xs);font-size:16px}.modal-total strong{color:var(--color-accent-hover)}.modal-account-row{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);display:flex}.modal-account-item{padding:var(--spacing-sm) var(--spacing-md);background:var(--fill-soft);border:1px solid var(--hairline);border-radius:var(--radius-md);flex-direction:column;flex:1;gap:2px;display:flex}.modal-account-item span{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em;font-size:11px}.modal-account-item b{color:var(--color-text-primary);font-size:15px}.modal-buttons{gap:var(--spacing-sm);margin-top:var(--spacing-lg);display:flex}.modal-content .crypto-modal-fee{margin-bottom:var(--spacing-md)}.bank-cards{gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);flex-wrap:wrap;display:flex}.bank-card{border:1px solid var(--hairline);width:320px;height:180px;padding:var(--spacing-lg);background:linear-gradient(135deg,#f0f0f3 0%,#f5f5f7 100%);border-radius:16px;flex-direction:column;justify-content:space-between;display:flex;position:relative;overflow:hidden}.bank-card:before{content:"";pointer-events:none;background:radial-gradient(circle,#0071e314 0%,#0000 70%);width:100%;height:100%;position:absolute;top:-50%;right:-50%}.bank-card-top{gap:var(--spacing-sm);flex-direction:column;display:flex}.bank-card-icon{color:#1d1d1f}.bank-card-number{color:var(--color-text-primary);letter-spacing:3px;-webkit-user-select:none;user-select:none;font-family:Courier New,monospace;font-size:17px;font-weight:600}.bank-card-crypto{background:linear-gradient(135deg,#9a7000 0%,#c79200 50%,#9a7000 100%);border:1px solid #ffd7004d;position:relative}.bank-card-crypto:before{background:radial-gradient(circle,#00000026 0%,#0000 70%)}.bank-card-crypto .bank-card-body{gap:var(--spacing-md);filter:blur(6px);flex-direction:column;transition:filter .5s;display:flex}.bank-card-crypto.unlocked .bank-card-body{filter:blur()}.bank-card-crypto-icon{color:#000000b3;align-items:center;display:flex}.bank-card-crypto .bank-card-number{color:#000000d9}.bank-card-crypto-overlay{z-index:2;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000059;border-radius:16px;justify-content:center;align-items:center;transition:opacity .4s;display:flex;position:absolute;inset:0}.bank-card-crypto.unlocked .bank-card-crypto-overlay{opacity:0;pointer-events:none}.bank-card-unlock-btn{color:#000;font-size:14px;font-weight:700;font-family:var(--font-primary);cursor:pointer;background:linear-gradient(135deg,#c79200,#ff9500);border:none;border-radius:10px;padding:12px 24px;transition:all .2s;box-shadow:0 4px 14px #daa52066}.bank-card-unlock-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #daa5208c}.bank-card-unlock-btn:active{transform:translateY(0)}.bank-transfer-btn{width:100%;max-width:320px;color:var(--color-accent-hover);font-size:14px;font-weight:600;font-family:var(--font-primary);cursor:pointer;margin-top:var(--spacing-md);background:linear-gradient(135deg,#0071e326,#0071e314);border:1px solid #0071e34d;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:12px 20px;transition:all .2s;display:flex}.bank-transfer-btn:hover{background:linear-gradient(135deg,#0071e340,#0071e31f);border-color:#0071e380;transform:translateY(-2px);box-shadow:0 4px 12px #0071e333}.bank-transfer-btn:active{transform:translateY(0)}.transfer-modal{background:var(--color-bg-tertiary);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:var(--spacing-xl);width:100%;max-width:420px;box-shadow:var(--shadow-lg)}.transfer-modal-header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.transfer-modal-header h3{color:var(--color-text-primary);font-size:18px;font-weight:700}.transfer-modal-close{background:var(--fill-soft);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;border:none;justify-content:center;align-items:center;transition:all .2s;display:flex}.transfer-modal-close:hover{color:var(--color-text-primary);background:#0000001a}.transfer-select{gap:var(--spacing-md);flex-direction:column;display:flex}.transfer-option{align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--fill-soft);border:1px solid var(--hairline);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:16px;font-weight:600;font-family:var(--font-primary);cursor:pointer;transition:all .2s;display:flex}.transfer-option:hover{background:#0071e31a;border-color:#0071e34d}.transfer-option svg{color:var(--color-accent)}.transfer-form{gap:var(--spacing-lg);flex-direction:column;display:flex}.transfer-form-group{gap:var(--spacing-sm);flex-direction:column;display:flex}.transfer-form-group label{color:var(--color-text-secondary);font-size:13px;font-weight:500}.transfer-account-inputs,.transfer-crypto-inputs{align-items:center;gap:var(--spacing-sm);display:flex}.transfer-account-inputs input,.transfer-crypto-inputs input{background:var(--fill-soft);border:1px solid var(--hairline);border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-primary);text-align:center;outline:none;font-family:Courier New,monospace;font-size:14px;transition:all .2s}.transfer-account-inputs input{width:60px}.transfer-crypto-inputs input{width:50px}.transfer-prefix-input{width:36px!important}.transfer-account-inputs input:focus,.transfer-crypto-inputs input:focus{border-color:var(--color-accent);background:#0071e30d}.transfer-account-inputs span,.transfer-crypto-inputs span{color:var(--color-text-secondary);font-weight:600}.transfer-currency-input,.transfer-amount-input{background:var(--fill-soft);border:1px solid var(--hairline);border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-primary);font-size:14px;font-family:var(--font-primary);outline:none;width:100%;transition:all .2s}.transfer-currency-input:focus,.transfer-amount-input:focus{border-color:var(--color-accent);background:#0071e30d}.transfer-submit-btn{background:var(--color-accent);color:#fff;border-radius:var(--radius-md);padding:var(--spacing-md);font-size:15px;font-weight:600;font-family:var(--font-primary);cursor:pointer;margin-top:var(--spacing-sm);border:none;transition:all .2s}.transfer-submit-btn:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-1px)}.transfer-submit-btn:disabled{opacity:.5;cursor:not-allowed}.bank-transactions{gap:var(--spacing-md);flex-direction:column;display:flex}.bank-transaction{background:var(--color-bg-secondary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--hairline);border-radius:var(--radius-md);padding:var(--spacing-md) var(--spacing-lg);align-items:center;gap:var(--spacing-md);transition:all .2s;display:flex}.bank-transaction:hover{box-shadow:var(--shadow-sm);transform:translate(4px)}.bank-transaction.purchase{border-left:3px solid var(--color-danger)}.bank-transaction.success{border-left:3px solid var(--color-success)}.bank-transaction.loss{border-left:3px solid #1a6c30}.bank-tx-icon{flex-shrink:0;font-size:24px}.bank-tx-info{gap:var(--spacing-xs);flex-direction:column;flex:1;display:flex}.bank-tx-label{font-size:15px;font-weight:600}.bank-tx-label.purchase{color:var(--color-danger)}.bank-tx-label.success{color:var(--color-success)}.bank-tx-label.loss{color:var(--color-success);opacity:.7}.bank-tx-stock{color:var(--color-text-secondary);font-size:13px}.bank-tx-meta{color:var(--color-text-secondary);opacity:.7;font-size:12px}.bank-tx-amounts{align-items:flex-end;gap:var(--spacing-xs);flex-direction:column;display:flex}.bank-tx-total{color:var(--color-text-primary);font-size:15px;font-weight:600}.bank-tx-profit{color:var(--color-success);font-size:13px;font-weight:600}.bank-tx-loss{color:var(--color-success);opacity:.7;font-size:13px;font-weight:500}.placeholder-tab{flex-direction:column;display:flex}.placeholder-content{background:var(--color-bg-secondary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:var(--spacing-2xl);align-items:center;gap:var(--spacing-md);flex-direction:column;display:flex}.placeholder-icon{font-size:64px}.placeholder-content p{color:var(--color-text-secondary);font-size:16px}@media (width<=900px){.auth-container{flex-direction:column}.auth-left{padding:var(--spacing-xl) var(--spacing-lg);border-right:none;border-bottom:1px solid var(--hairline)}.auth-left h2{font-size:24px}.brand-tagline{margin-bottom:var(--spacing-xl)}.features{gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.auth-right,.auth-card{padding:var(--spacing-lg)}.sidebar{width:52px;padding:0}.sidebar-footer{margin:0!important;padding:0!important}.sidebar-logo{margin:var(--spacing-md) 0;justify-content:center;padding:0}.sidebar-logo-text{display:none}.sidebar-nav{padding:0}.sidebar-item{border-radius:6px;justify-content:center;width:100%;height:48px;padding:0}.sidebar-item-label{display:none}.sidebar-item-icon{font-size:20px}.sidebar-group-title{display:none}.sidebar-group+.sidebar-group{margin-top:var(--spacing-sm)}.dashboard-main{min-width:0;margin-left:64px}.header,.dashboard-content{padding:var(--spacing-md)}.profile-card{min-width:0;max-width:130px;padding:var(--spacing-sm) var(--spacing-md)}.profile-card-number{letter-spacing:1px;font-size:12px}.profile-card-visibility-btn{width:20px;height:20px;top:4px;right:4px}.account-stats,.stocks-grid{grid-template-columns:1fr}}.achievements-grid{gap:var(--spacing-md);margin-top:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.achievement-card{align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);background:#ffffff08;border:1px solid #ffffff14;border-radius:14px;transition:transform .15s,border-color .15s;display:flex}.achievement-card.unlocked{background:linear-gradient(135deg,#0071e324,#0071e308);border-color:#0071e373}.achievement-card.locked{opacity:.55}.achievement-card{--glow:#8e9aaf}.achievements-filters{gap:var(--spacing-sm);margin-top:var(--spacing-sm);flex-wrap:wrap;align-items:center;display:flex}.achievements-filters select{min-height:36px;padding:0 var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);color:var(--color-text-primary);font-family:var(--font-primary);cursor:pointer;font-size:14px}.bank-donors-list{margin:0 0 var(--spacing-md);flex-direction:column;gap:6px;padding:0;list-style:none;display:flex}.bank-donors-list li{justify-content:space-between;gap:var(--spacing-sm);background:#ffffff0a;border-radius:8px;min-width:0;padding:6px 10px;display:flex}.bank-donors-list li span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<=640px){.achievements-grid{grid-template-columns:1fr}.achievements-filters label{flex-direction:column;flex:140px;gap:4px;display:flex}.achievements-filters select{width:100%;min-height:44px}}.achievement-card.rarity-common{--glow:#9aa4b2}.achievement-card.rarity-uncommon{--glow:#3ddc84}.achievement-card.rarity-rare{--glow:#4da3ff}.achievement-card.rarity-epic{--glow:#b56cff}.achievement-card.rarity-legendary{--glow:#ffb020}.achievement-card.rarity-mythic{--glow:#ff4d8d}.achievement-card.unlocked{border-color:var(--glow);box-shadow:0 0 14px -2px var(--glow), inset 0 0 18px -10px var(--glow);background:linear-gradient(135deg, color-mix(in srgb, var(--glow) 22%, transparent), #ffffff05);filter:brightness(1.15)}.achievement-card.unlocked .achievement-icon{background:color-mix(in srgb, var(--glow) 28%, transparent);color:var(--glow);box-shadow:0 0 10px var(--glow)}.achievement-rarity{text-transform:uppercase;letter-spacing:.08em;color:var(--glow);opacity:.9;font-size:10px}.achievement-card:hover{transform:translateY(-2px)}.achievement-icon{background:#ffffff0f;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.achievement-card.unlocked .achievement-icon{color:#4da3ff;background:#0071e333}.achievement-info{flex-direction:column;gap:4px;min-width:0;display:flex}.achievement-name{font-size:14px;font-weight:600}.achievement-desc{opacity:.7;font-size:12px}.achievement-date{color:#4da3ff;margin-top:4px;font-size:11px}@media (width<=760px){.profile-card,.header-level-bar{display:none}.header-level{min-width:0}.header-level-left{white-space:nowrap;font-size:10px;display:inline}.header-balance{flex-shrink:1;min-width:0}.header-balance-value{text-overflow:ellipsis;min-width:0;overflow:hidden}}@media (width<=600px){.header{gap:var(--spacing-sm);padding:10px 12px}.dashboard-content{padding:10px 10px var(--spacing-lg)}.header-username{display:none}.header-right{gap:var(--spacing-sm)}.profile-card{display:none}.header-right{min-width:0}.header-balance{flex-shrink:1}.header-balance-value{text-overflow:ellipsis;min-width:0;overflow:hidden}.modal-content{padding:var(--spacing-lg);max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow-y:auto}.notification-wrapper{position:static}.notification-dropdown{width:auto;position:absolute;top:calc(100% + 6px);left:8px;right:8px}}.loading-state{justify-content:center;align-items:center;gap:var(--spacing-md);padding:var(--spacing-2xl) var(--spacing-lg);color:var(--color-text-secondary);flex-direction:column;display:flex}.spinner{border:3px solid #0071e333;border-top-color:var(--color-accent);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.spin{animation:1s linear infinite spin}.error-state{justify-content:center;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xl) var(--spacing-lg);border-radius:var(--radius-lg);color:var(--color-danger);text-align:center;background:#ff3b300f;border:1px solid #ff3b3026;flex-direction:column;display:flex}.error-icon{font-size:32px}.empty-state{padding:var(--spacing-xl) var(--spacing-lg);color:var(--color-text-secondary);text-align:center;justify-content:center;align-items:center;font-size:15px;display:flex}.market-temp-unavailable{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:calc(var(--spacing-xl) * 2) var(--spacing-lg);border-radius:var(--radius-lg);text-align:center;background:#94a3b80f;border:1px dashed #94a3b859;flex-direction:column;display:flex}.market-temp-unavailable-icon{color:#f59e0b;opacity:.9}.market-temp-unavailable-title{color:var(--color-text-primary);margin:0;font-size:18px;font-weight:700}.market-temp-unavailable-hint{max-width:460px;color:var(--color-text-secondary);margin:0;font-size:14px;line-height:1.5}.icon{flex-shrink:0}.icon-small{width:16px;height:16px}.icon-medium{width:20px;height:20px}.icon-large{width:24px;height:24px}.puzzle-lab{background:radial-gradient(circle at 10% 0%, #0071e31f, transparent 32%), var(--color-bg-primary);min-height:100vh;padding:48px 24px 32px}.puzzle-lab-dark{--lab-bg:#080b14;--lab-card:#111827;--lab-border:#94a3b82e;--lab-text:#f8fafc;--lab-muted:#94a3b8;--lab-glow:#3b82f647;background:radial-gradient(circle at 15% -10%, #172554, transparent 35%), var(--lab-bg);color:var(--lab-text)}.puzzle-lab-dark .puzzle-lab-header p,.puzzle-lab-dark .puzzle-lab-card p{color:var(--lab-muted)}.puzzle-lab-dark .puzzle-lab-card{border-color:var(--lab-border);background:linear-gradient(145deg, #1e293beb, var(--lab-card));box-shadow:0 18px 50px #00000040}.puzzle-lab-dark .puzzle-lab-icon-button{border-color:var(--lab-border);color:var(--lab-muted);background:#0f172ab3}.puzzle-lab-dark .puzzle-lab-footer{color:var(--lab-muted)}.puzzle-lab-dark .puzzle-lab-result.warning{color:#fbbf24}.puzzle-lab-dark .puzzle-lab-result.success{color:#4ade80}.puzzle-lab-header,.puzzle-lab-grid,.puzzle-lab-footer{max-width:1120px;margin:0 auto}.puzzle-lab-header{margin-bottom:28px}.puzzle-lab-kicker{color:var(--color-accent);letter-spacing:.12em;align-items:center;gap:7px;font-size:12px;font-weight:700;display:flex}.puzzle-lab-header h1{letter-spacing:-.04em;margin:10px 0 8px;font-size:clamp(28px,5vw,46px)}.puzzle-lab-header p{max-width:680px;color:var(--color-text-secondary)}.puzzle-lab-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.puzzle-lab-card{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--color-bg-secondary);min-height:330px;box-shadow:var(--shadow-md);padding:22px}.puzzle-lab-card h2{font-size:19px}.puzzle-lab-card p{min-height:38px;color:var(--color-text-secondary);margin-top:5px;font-size:13px}.puzzle-lab-pegs{justify-content:center;gap:13px;margin:28px 0;display:flex}.puzzle-lab-peg{border:3px solid var(--color-bg-secondary);width:44px;height:44px;box-shadow:0 0 0 1px var(--hairline-strong), var(--shadow-sm);cursor:pointer;border-radius:50%}.puzzle-lab-button{border-radius:var(--radius-sm);background:var(--color-accent);min-height:38px;color:var(--on-accent);cursor:pointer;border:0;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-weight:600;display:inline-flex}.puzzle-lab-button:hover{background:var(--color-accent-hover)}.puzzle-lab-actions{gap:8px;display:flex}.puzzle-lab-icon-button{border:1px solid var(--hairline-strong);border-radius:var(--radius-sm);background:var(--color-bg-tertiary);width:38px;color:var(--color-text-secondary);cursor:pointer;place-items:center;display:grid}.puzzle-lab-result,.memory-status{min-height:24px;color:var(--color-success-strong);align-items:center;gap:6px;margin-top:14px;font-size:13px;font-weight:600;display:flex}.risk-ladder{align-items:center;gap:5px;margin:29px 0 24px;display:flex}.risk-step{border:1px solid var(--hairline-strong);background:var(--color-bg-tertiary);width:46px;height:46px;color:var(--color-text-tertiary);border-radius:12px;place-items:center;font-weight:700;display:grid;position:relative}.risk-step small{color:var(--color-text-tertiary);font-size:10px;font-weight:500;position:absolute;top:calc(100% + 5px)}.risk-step.current{border-color:var(--color-accent);color:var(--color-accent);box-shadow:0 0 18px var(--lab-glow,#0071e338)}.risk-step.passed{color:#4ade80;background:#22c55e29;border-color:#22c55e}.doors-row{justify-content:center;gap:12px;margin:22px 0;display:flex}.door{border:1px solid var(--hairline-strong);width:76px;height:103px;color:var(--color-text-secondary);cursor:pointer;background:linear-gradient(160deg,#6366f147,#1e293bb3);border-radius:13px 13px 9px 9px;place-items:center;gap:6px;display:grid}.door span{color:var(--color-accent);font-size:34px}.door b{font-size:12px}.door:hover,.door.picked{border-color:var(--color-accent);box-shadow:0 8px 24px var(--lab-glow,#0071e333);transform:translateY(-3px)}.alarm-wheel{background:conic-gradient(#22c55e 0 31%, #ef4444 31% 52%, #22c55e 52% 75%, #ef4444 75% 88%, #fbbf24 88% 100%);width:162px;height:162px;box-shadow:0 0 28px var(--lab-glow,#0071e340);border:6px solid #334155;border-radius:50%;place-items:center;margin:10px auto 20px;display:grid;position:relative}.alarm-wheel-face{color:#cbd5e1;text-align:center;background:#0f172a;border-radius:50%;place-items:center;width:104px;height:104px;font-size:10px;font-weight:700;display:grid}.alarm-wheel-face span:nth-child(2),.alarm-wheel-face span:nth-child(4){color:#f87171}.alarm-wheel-pointer{z-index:1;border-top:16px solid #f8fafc;border-left:9px solid #0000;border-right:9px solid #0000;width:0;height:0;position:absolute;top:-15px}.hack-slots{justify-content:center;gap:8px;margin:29px 0 24px;display:flex}.hack-slot{color:#60a5fa;background:#0f172a;border:1px solid #60a5fa66;border-radius:12px;place-items:center;width:70px;height:72px;font-size:34px;display:grid;box-shadow:inset 0 0 20px #2563eb1f}.puzzle-lab-dark .puzzle-lab-button{background:#2563eb}.puzzle-lab-dark .puzzle-lab-button:hover{background:#3b82f6}.puzzle-lab-dark .puzzle-lab-button:disabled{opacity:.5;cursor:not-allowed}@media (width<=480px){.risk-ladder{gap:3px}.risk-step{width:40px;height:42px}.door{width:68px}}.network-board,.path-grid{grid-template-columns:repeat(4,48px);justify-content:center;gap:5px;margin:20px 0;display:grid}.network-tile{border:1px solid var(--hairline-strong);background:var(--accent-soft);width:48px;height:48px;color:var(--color-accent);cursor:pointer;border-radius:10px;place-items:center;font-size:31px;line-height:1;transition:transform .15s;display:grid}.memory-status{color:var(--color-text-secondary);justify-content:center;margin:20px 0 10px}.memory-grid{grid-template-columns:repeat(3,54px);justify-content:center;gap:7px;margin-bottom:16px;display:grid}.memory-cell{border:1px solid var(--hairline-strong);background:var(--color-bg-tertiary);width:54px;height:54px;color:var(--color-text-secondary);cursor:pointer;border-radius:12px;font-size:24px}.memory-cell.lit{background:var(--color-accent);color:#fff;box-shadow:0 0 18px #0071e373}.path-cell{border:1px solid var(--hairline-strong);background:var(--color-bg-tertiary);width:48px;height:48px;color:var(--color-text-secondary);cursor:pointer;border-radius:10px;font-size:9px}.path-cell.current{background:var(--color-accent);color:#fff;box-shadow:0 0 0 3px var(--accent-soft-hover)}.path-cell.start{color:var(--color-accent);font-weight:700}.puzzle-lab-footer{color:var(--color-text-tertiary);justify-content:center;gap:7px;margin-top:26px;font-size:12px;display:flex}@media (width<=720px){.puzzle-lab{padding:28px 14px}.puzzle-lab-grid{grid-template-columns:1fr}}.sidebar-item-icon svg{flex-shrink:0}.stat-icon{border-radius:var(--radius-md);background:var(--fill-soft);justify-content:center;align-items:center;width:48px;height:48px;display:flex}.stat-balance .stat-icon svg{color:var(--color-accent-hover)}.stat-income .stat-icon svg{color:var(--color-success)}.stat-expense .stat-icon svg{color:var(--color-danger)}.stat-invest .stat-icon svg{color:#66aaf0}.transaction-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.transaction-row.income .transaction-icon{background:#34c7591f}.transaction-row.income .transaction-icon svg{color:var(--color-success)}.transaction-row.expense .transaction-icon{background:#ff3b301f}.transaction-row.expense .transaction-icon svg{color:var(--color-danger)}.bank-tx-icon{border-radius:var(--radius-md);background:var(--fill-soft);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.bank-transaction.purchase .bank-tx-icon svg{color:var(--color-danger)}.bank-transaction.success .bank-tx-icon svg,.bank-transaction.loss .bank-tx-icon svg{color:var(--color-success)}.stock-change svg{vertical-align:middle;margin-right:2px}.stock-change.up svg{color:var(--color-success)}.stock-change.down svg{color:var(--color-danger)}.error-icon{justify-content:center;align-items:center;display:flex}.profile-card-chip{color:var(--color-text-secondary);align-items:center;display:flex}.placeholder-icon{color:#86868b;margin-bottom:var(--spacing-sm);justify-content:center;align-items:center;display:flex}.modal-price svg{vertical-align:middle;margin-right:var(--spacing-xs);color:var(--color-accent-hover)}.language-switcher{background:var(--color-bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--hairline);gap:4px;padding:4px;display:flex}.lang-btn{color:var(--color-text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font-primary);background:0 0;border:none;padding:6px 12px;transition:all .2s}.lang-btn:hover{color:var(--color-text-primary);background:var(--fill-soft)}.lang-btn.active{background:var(--color-accent);color:#fff;box-shadow:var(--shadow-sm)}.lang-btn.active:hover{background:var(--color-accent-hover)}.notification-wrapper,.notification-btn{position:relative}.notification-badge{box-sizing:border-box;background:var(--color-danger);color:#fff;white-space:nowrap;z-index:1;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;line-height:1;display:flex;position:absolute;top:-6px;right:-7px}.notification-dropdown{background:var(--glass-bg);-webkit-backdrop-filter:saturate(180%)blur(24px);backdrop-filter:saturate(180%)blur(24px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);width:340px;box-shadow:var(--shadow-xl);z-index:1000;animation:tv-modal-in var(--dur-med) var(--ease-out);position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.notification-header{border-bottom:1px solid var(--hairline);color:var(--color-text-primary);justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px;font-weight:600;display:flex}.mark-all-btn{color:var(--color-accent);cursor:pointer;font-size:12px;font-family:var(--font-primary);background:0 0;border:none;align-items:center;gap:4px;display:flex}.notification-search{border:1px solid var(--hairline);border-radius:var(--radius-md);color:var(--color-text-secondary);align-items:center;gap:7px;margin:10px 12px 0;padding:7px 9px;display:flex}.notification-search:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.notification-search input{min-width:0;color:var(--color-text-primary);font:inherit;background:0 0;border:0;border-radius:0;outline:0;flex:1;font-size:12px;line-height:1.3;box-shadow:none!important}.notification-search input:focus-visible{outline:none;box-shadow:none!important}.notification-search button{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;padding:0;display:flex}.notification-tabs{flex-wrap:wrap;gap:4px;padding:8px 12px 0;display:flex}.notification-hide-auto{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;margin:6px 12px 0;font-size:11px;display:flex}.notification-hide-auto:hover{color:var(--color-text-primary)}.notification-tab{border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font-primary);background:0 0;border:1px solid #0000;flex:1;justify-content:center;align-items:center;gap:5px;padding:5px 8px;display:flex}.notification-tab:hover{color:var(--color-text-primary)}.notification-tab.active{color:var(--color-accent);background:var(--fill-soft);border-color:var(--hairline)}.notification-tab-badge{box-sizing:border-box;background:var(--color-danger);color:#fff;text-align:center;white-space:nowrap;border-radius:8px;flex:none;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px}.notification-title{align-items:center;gap:6px;display:flex}.notification-category-icon{flex-shrink:0}.notification-automatic{border-left:3px solid var(--color-accent)}.notification-automatic .notification-category-icon{color:var(--color-accent)}.notification-announcement{border-left:3px solid var(--color-warning);background:#ff950014}.notification-announcement .notification-category-icon,.notification-announcement .notification-title{color:var(--color-warning)}.notification-company .notification-category-icon{color:var(--color-accent)}.notification-market .notification-category-icon{color:var(--color-success)}.notification-mining .notification-category-icon{color:var(--color-danger)}.notification-event .notification-category-icon{color:var(--color-warning)}.notification-system .notification-category-icon{color:var(--color-text-secondary)}.mark-all-btn:hover{color:var(--color-accent-hover)}.close-notif-btn{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:2px;display:flex}.close-notif-btn:hover{color:var(--color-text-primary)}.notification-list{max-height:300px;overflow-y:auto}.notification-item{cursor:pointer;border-bottom:1px solid var(--hairline);align-items:flex-start;gap:10px;padding:12px 16px;transition:background .15s;display:flex}.notification-item:hover{background:var(--fill-soft)}.notification-item.unread{background:#0071e30d}.notification-dot{background:var(--color-accent);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:5px}.notification-item.read .notification-dot{background:0 0}.notification-content{flex-direction:column;gap:2px;display:flex}.notification-text{color:var(--color-text-primary);font-size:13px;line-height:1.4}.notification-time{color:var(--color-text-secondary);font-size:11px}.admin-panel{background:var(--color-bg-primary);z-index:500;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.admin-header{padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;display:flex}.admin-header h2{color:var(--color-text-primary);font-size:20px;font-weight:700}.admin-close-btn{background:var(--fill-soft);border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;border:none;justify-content:center;align-items:center;transition:all .2s;display:flex}.admin-close-btn:hover{color:var(--color-text-primary);background:#0000001a}.admin-tabs{gap:var(--spacing-xs);padding:var(--spacing-md) var(--spacing-xl);border-bottom:1px solid var(--hairline);display:flex;overflow-x:auto}.admin-tab{background:var(--fill-soft);color:var(--color-text-secondary);font-size:13px;font-weight:500;font-family:var(--font-primary);cursor:pointer;border-radius:var(--radius-md);white-space:nowrap;border:none;align-items:center;gap:6px;padding:8px 16px;transition:all .2s;display:flex}.admin-tab:hover{color:var(--color-text-primary);background:#00000014}.admin-tab.active{background:var(--color-accent);color:#fff}.admin-content{padding:var(--spacing-xl);flex:1;overflow-y:auto}.admin-add-form{background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.admin-add-form h3{color:var(--color-text-primary);margin-bottom:var(--spacing-md);font-size:15px;font-weight:600}.form-row{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.admin-input{background:var(--fill-soft);border:1px solid var(--hairline);border-radius:var(--radius-md);min-width:120px;color:var(--color-text-primary);font-size:13px;font-family:var(--font-primary);outline:none;flex:1;padding:8px 12px;transition:all .2s}.admin-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px #0071e326}.admin-input option{background:var(--color-bg-secondary);color:var(--color-text-primary)}.admin-btn{background:var(--fill-soft);color:var(--color-text-secondary);font-size:14px;font-weight:500;font-family:var(--font-primary);cursor:pointer;border-radius:var(--radius-md);border:none;align-items:center;gap:4px;padding:8px 12px;transition:all .2s;display:flex}.admin-btn:hover{color:var(--color-text-primary);background:#0000001a}.admin-btn-primary{background:var(--color-accent);color:#fff}.admin-btn-primary:hover{background:var(--color-accent-hover);color:#fff}.admin-btn-danger{color:var(--color-danger);background:#ff3b301a}.admin-btn-danger:hover{color:#ff8a80;background:#ff3b3033}.admin-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.admin-stock-item,.admin-user-item,.admin-tx-item,.admin-config-item{padding:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-md);justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);display:flex}.stock-info{align-items:center;gap:var(--spacing-md);flex:1;display:flex}.stock-info strong{color:var(--color-text-primary);font-size:14px}.stock-info span{color:var(--color-text-secondary);font-size:13px}.stock-price{font-weight:600;color:var(--color-accent-hover)!important}.stock-price.up{color:var(--color-success)!important}.stock-price.down{color:var(--color-danger)!important}.stock-actions{gap:var(--spacing-xs);display:flex}.user-role{color:var(--color-accent);text-transform:uppercase;background:#0071e326;border-radius:10px;margin-left:8px;padding:2px 8px;font-size:11px}.user-role.admin{color:#fc0;background:#eab30826}.user-inactive{color:var(--color-danger);text-transform:uppercase;background:#ff3b301f;border-radius:10px;margin-left:6px;padding:2px 8px;font-size:11px}.admin-user-info{flex-direction:column;flex:1;gap:4px;display:flex}.admin-user-info strong{color:var(--color-text-primary);font-size:14px}.admin-user-meta{align-items:center;gap:var(--spacing-md);display:flex}.user-balance{color:var(--color-accent-hover);font-size:13px;font-weight:600}.user-actions{gap:var(--spacing-xs);flex-shrink:0;display:flex}.user-id-label{color:var(--color-text-secondary);margin-left:8px;font-family:monospace;font-size:11px}.admin-user-edit-form{gap:var(--spacing-md);flex-direction:column;flex:1;min-width:0;display:flex}.admin-user-edit-header{align-items:center;gap:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--hairline);display:flex}.admin-user-edit-header strong{color:var(--color-text-primary);font-size:14px}.admin-user-edit-fields{gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.admin-ban-tree{gap:4px;display:grid}.admin-ban-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.admin-ban-toggle{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;padding:2px;display:inline-flex}.admin-ban-children{box-sizing:border-box;border-left:1px solid var(--hairline);flex-basis:100%;gap:4px;width:calc(100% - 26px);max-width:calc(100% - 26px);margin:2px 0 4px 26px;padding-left:10px;display:grid}.admin-ban-children>span{color:var(--color-text-secondary);font-size:12px}.admin-ban-children .admin-ban-row{margin-left:0}.admin-field-group{flex-direction:column;gap:4px;display:flex}.admin-field-group label{color:var(--color-text-secondary);font-size:12px;font-weight:500}.admin-field-group .admin-input{min-width:unset}.admin-field-checkbox{flex-direction:row;align-items:center;gap:8px;padding-top:20px}.admin-field-checkbox label{cursor:pointer;color:var(--color-text-primary);align-items:center;gap:8px;font-size:13px;display:flex}.admin-field-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-accent);cursor:pointer}.admin-input-error{border-color:var(--color-danger)!important;box-shadow:0 0 0 2px #ff3b3026!important}.admin-field-error{color:var(--color-danger);font-size:11px}.admin-user-edit-actions{gap:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--hairline);display:flex}.admin-content.has-panel{gap:var(--spacing-md);flex-direction:row;align-items:flex-start;display:flex}.admin-content.has-panel .admin-list{flex:auto;min-width:220px}.user-edit-panel{align-self:flex-start;gap:var(--spacing-md);min-width:420px;top:var(--spacing-md);max-height:calc(100vh - 2 * var(--spacing-md));box-sizing:border-box;padding:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--hairline);border-left:2px solid var(--color-accent);border-radius:var(--radius-md);flex-direction:column;flex:0 520px;animation:.2s panel-slide-in;display:flex;position:sticky;overflow-y:auto}@keyframes panel-slide-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.user-edit-panel-header{padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;display:flex}.user-edit-panel-header strong{color:var(--color-text-primary);font-size:14px}.user-edit-panel-body{gap:var(--spacing-md);flex-direction:column;min-width:0;display:flex}.user-edit-panel-actions{gap:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--hairline);display:flex}.admin-user-item.editing{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}@media (width<=720px){.admin-content.has-panel{flex-direction:column}.user-edit-panel{flex-basis:auto;width:100%;min-width:0}}.user-date,.tx-right{color:var(--color-text-secondary);font-size:12px}.tx-type{text-transform:uppercase;border-radius:10px;margin-right:8px;padding:2px 8px;font-size:11px;font-weight:600}.tx-type.buy{color:var(--color-success);background:#34c7591f}.tx-type.sell{color:var(--color-danger);background:#ff3b301f}.config-value{color:var(--color-text-secondary);word-break:break-all;margin-top:2px;font-size:12px;display:block}.admin-tx-item>div:first-child{align-items:center;gap:var(--spacing-sm);flex:1;display:flex}.tx-right{align-items:center;gap:var(--spacing-sm);display:flex}.tx-filter-bar{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-wrap:wrap;display:flex}.tx-filter-bar .tx-search{flex:180px}.tx-chips{gap:4px;display:flex}.tx-chip{background:var(--color-bg-secondary);color:var(--color-text-secondary);border:1px solid var(--hairline);cursor:pointer;text-transform:uppercase;border-radius:14px;padding:4px 12px;font-size:11px;font-weight:600;transition:all .15s}.tx-chip:hover{color:var(--color-text-primary)}.tx-chip.active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.admin-tx-table{flex-direction:column;display:flex;overflow-x:auto}.admin-tx-row{align-items:center;gap:var(--spacing-sm);border-bottom:1px solid var(--hairline);min-width:920px;color:var(--color-text-primary);grid-template-columns:84px minmax(140px,1.4fr) 110px minmax(110px,1fr) 120px 120px 108px 44px;padding:6px 10px;font-size:13px;display:grid}.admin-tx-head{text-transform:uppercase;color:var(--color-text-secondary);border-bottom:1px solid var(--hairline);background:var(--color-bg-primary);z-index:1;font-size:11px;font-weight:600;position:sticky;top:0}.admin-tx-row.bot{opacity:.85}.admin-tx-row .tx-num{text-align:right}.admin-tx-row .tx-amount{font-family:monospace;font-weight:600}.admin-tx-row .tx-amount.income{color:var(--color-success)}.admin-tx-row .tx-amount.expense{color:var(--color-danger)}.admin-tx-row .tx-balance{color:var(--color-text-secondary);font-family:monospace}.admin-tx-row .tx-user{color:var(--color-accent);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tx-cat{text-transform:uppercase;letter-spacing:.02em;background:var(--fill-soft);color:var(--color-text-secondary);border-radius:8px;padding:1px 8px;font-size:11px;display:inline-block}.admin-tx-row .tx-total{text-align:right;color:var(--color-accent-hover);font-family:monospace}.admin-tx-row .tx-time{color:var(--color-text-secondary);font-size:12px}.admin-tx-row .tx-act{justify-content:flex-end;display:flex}.tx-type.bot{color:#a5a3f5;background:#5e5ce624}.tx-type.expense{color:var(--color-danger);background:#ff3b301a}.tx-type.income{color:var(--color-success);background:#34c7591f}.tx-dash{color:var(--color-text-secondary)}.tx-sort-select{flex:none;min-width:140px;max-width:170px}.admin-fab{background:linear-gradient(135deg, var(--color-accent), var(--color-accent-hover));color:#fff;cursor:pointer;z-index:100;border:none;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;transition:all .2s;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 6px 20px #0071e366}.admin-fab:hover{transform:scale(1.08);box-shadow:0 8px 28px #0071e380}.admin-fab:active{transform:scale(.96)}.admin-access-denied{text-align:center;color:var(--text-secondary,#6e6e73);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:60px 20px;display:flex}.admin-access-denied svg{color:var(--danger,#ff3b30);opacity:.8}.admin-access-denied h3{color:var(--danger,#ff3b30);margin:0;font-size:1.25rem}.admin-access-denied p{color:var(--text-secondary,#6e6e73);max-width:320px;margin:0;font-size:.9rem}.admin-section-divider{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--hairline)}.admin-section-divider h3{color:var(--color-text-primary);margin-bottom:var(--spacing-xs);font-size:15px;font-weight:600}.admin-section-hint{color:var(--color-text-secondary);margin-bottom:var(--spacing-md);font-size:12px}.config-form{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.config-field{flex-direction:column;gap:4px;display:flex}.config-field-wide{grid-column:1/-1}.volatility-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;min-width:0;display:grid}.volatility-field{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;min-width:0;display:grid}.volatility-field span{color:var(--color-text-secondary);grid-column:1/-1;font-size:11px}.volatility-field .admin-input{box-sizing:border-box;width:100%;min-width:0}.volatility-field small,.field-hint{color:var(--color-text-secondary);font-size:11px}.config-field label{color:var(--color-text-secondary);font-size:12px;font-weight:500}.config-field input{background:var(--fill-soft);border:1px solid var(--hairline);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:13px;font-family:var(--font-primary);outline:none;padding:8px 12px;transition:all .2s}.config-field input:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px #0071e326}.config-field input::placeholder{color:#a1a1a6}.trade-result{padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);font-size:14px}.trade-result.success{color:var(--color-success);background:#34c7591a;border:1px solid #34c75940}.trade-result.error{color:var(--color-danger);background:#ff3b301a;border:1px solid #ff3b3040}.trade-detail{margin-top:var(--spacing-sm);font-size:13px}.trade-event{margin-top:var(--spacing-xs);opacity:.8;font-size:12px}.trade-loading{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);color:var(--color-text-secondary);font-size:14px;display:flex}.stock-event-row{margin-top:var(--spacing-xs)}.stock-event-label{color:var(--color-warning,#ff9500);font-size:12px;font-weight:500}.bot-tx{background:#8b5cf60d;border-left:3px solid #5e5ce6}.bot-label{color:#5ac8fa;text-transform:uppercase;background:#8b5cf633;border-radius:10px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.tooltip-wrapper{cursor:help;align-items:center;margin-left:6px;display:inline-flex;position:relative}.tooltip-icon{color:var(--color-text-secondary);opacity:.6;transition:opacity .2s}.tooltip-wrapper:hover .tooltip-icon{opacity:1;color:var(--color-accent)}.tooltip-text{text-transform:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--hairline);border-radius:var(--radius-md);color:var(--color-text-primary);white-space:normal;text-align:left;z-index:1000;pointer-events:none;background:#1e212df2;width:220px;padding:8px 12px;font-size:12px;font-weight:400;line-height:1.5;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0000001f}.tooltip-text:after{content:"";border:6px solid #0000;border-top-color:#1e212df2;position:absolute;top:100%;left:50%;transform:translate(-50%)}.shop-tab{flex-direction:column;display:flex}.shop-sections{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.shop-section-button{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xl) var(--spacing-lg);background:var(--color-bg-secondary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--hairline);border-radius:var(--radius-lg);color:var(--color-text-primary);font-family:var(--font-primary);cursor:pointer;text-align:center;flex-direction:column;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.shop-section-button:before{content:"";background:linear-gradient(90deg, var(--color-accent), var(--color-accent-hover));opacity:0;height:3px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.shop-section-button:hover{background:#0071e30f;border-color:#0071e34d;transform:translateY(-4px);box-shadow:0 8px 30px #0071e326}.shop-section-button:hover:before{opacity:1}.shop-section-icon{border-radius:var(--radius-lg);width:56px;height:56px;color:var(--color-accent-hover);margin-bottom:var(--spacing-xs);background:#0071e31f;justify-content:center;align-items:center;transition:all .3s;display:flex}.shop-section-button:hover .shop-section-icon{background:#0071e333;transform:scale(1.05)}.shop-section-label{white-space:normal;font-size:16px;font-weight:600;line-height:1.3}.shop-section-desc{color:var(--color-text-secondary);white-space:normal;font-size:13px;font-weight:400;line-height:1.5}.shop-section-header{margin-bottom:var(--spacing-lg)}.shop-back-btn{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-md);border:1px solid var(--hairline);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:14px;font-family:var(--font-primary);cursor:pointer;background:0 0;transition:all .2s;display:flex}.shop-back-btn:hover{color:var(--color-text-primary);background:#0071e31a;border-color:#0071e34d}.gpu-filters{margin-bottom:var(--spacing-lg)}.gpu-filter-toggle{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:13px;font-family:var(--font-primary);cursor:pointer;line-height:1;transition:all .2s;display:flex}.gpu-filter-toggle:hover{color:var(--color-text-primary);background:#0071e31a}.gpu-toolbar{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-wrap:wrap;display:flex}.gpu-filter-panel{gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);flex-basis:100%;order:999;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.gpu-filter-row{gap:var(--spacing-xs);flex-direction:column;display:flex}.gpu-filter-row label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:12px}.gpu-filter-row select,.gpu-filter-row input{padding:var(--spacing-sm) var(--spacing-md);background:var(--fill-soft);border:1px solid var(--hairline);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:14px;font-family:var(--font-primary);outline:none}.gpu-filter-row select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:32px}.gpu-filter-row select option{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.gpu-filter-row select:focus,.gpu-filter-row input:focus{border-color:var(--color-accent)}.gpu-filter-range{align-items:center;gap:var(--spacing-sm);display:flex}.gpu-filter-range input{flex:1;min-width:0}.gpu-filter-range span{color:var(--color-text-secondary)}.gpu-sort{gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);display:flex}.gpu-sort-btn{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:13px;font-family:var(--font-primary);cursor:pointer;transition:all .2s;display:flex}.gpu-sort-btn:hover{color:var(--color-text-primary);background:#0071e31a}.gpu-sort-btn.active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.sort-arrow{font-size:12px}.shop-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.shop-card{gap:var(--spacing-sm);padding:var(--spacing-lg);padding-top:calc(var(--spacing-lg) + 3px);background:var(--color-bg-secondary);border:1px solid var(--card-border,var(--hairline));border-radius:var(--radius-lg);flex-direction:column;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.shop-card-accent-bar{opacity:.7;height:3px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.shop-card:hover .shop-card-accent-bar{opacity:1}.shop-card-glow{background:radial-gradient(circle, var(--card-accent,#0071e326) 0%, transparent 70%);opacity:0;pointer-events:none;width:120px;height:120px;transition:opacity .4s;position:absolute;top:-40px;right:-40px}.shop-card:hover{box-shadow:0 12px 40px #0000001a, 0 0 0 1px var(--card-accent,#0071e333);border-color:var(--card-accent,#0071e34d);transform:translateY(-4px)}.shop-card:hover .shop-card-glow{opacity:1}.shop-card-header{align-items:flex-start;gap:var(--spacing-md);display:flex}.shop-card-icon-wrap{border-radius:var(--radius-md);background:var(--card-accent,var(--color-accent));color:#fff;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;transition:all .3s;display:flex;box-shadow:0 4px 12px #00000014}.shop-card:hover .shop-card-icon-wrap{transform:scale(1.08);box-shadow:0 6px 20px #0000001a}.shop-card-title{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.shop-card-name{color:var(--color-text-primary);word-break:break-word;font-size:14px;font-weight:600;line-height:1.3}.shop-card-subtitle{text-transform:uppercase;letter-spacing:.5px;opacity:.8;font-size:11px;font-weight:600}.shop-card-specs{padding:var(--spacing-sm) 0;flex-wrap:wrap;gap:6px;display:flex}.shop-card-spec{border:1px solid var(--hairline);color:var(--color-text-secondary);white-space:nowrap;border-radius:20px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;display:inline-flex}.shop-card-footer{justify-content:space-between;align-items:center;gap:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--hairline);margin-top:auto;display:flex}.shop-card-price{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.shop-card-price-value{color:var(--color-text-primary);font-size:15px;font-weight:700}.shop-card-price-label{color:var(--color-text-secondary);width:100%;font-size:10px}.shop-card-buy{background:var(--card-accent,var(--color-accent));border-radius:var(--radius-md);color:#fff;font-size:12px;font-weight:600;font-family:var(--font-primary);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:6px;padding:8px 16px;transition:all .2s;display:flex;box-shadow:0 2px 8px #00000014}.shop-card-buy:hover{filter:brightness(1.15);transform:translateY(-1px);box-shadow:0 4px 16px #0000001a}.shop-card-buy:active{transform:translateY(0)}.gpu-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.gpu-card{gap:var(--spacing-sm);padding:var(--spacing-lg);background:var(--color-bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-lg);flex-direction:column;min-height:210px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.gpu-card:hover{border-color:#0071e34d;transform:translateY(-4px);box-shadow:0 12px 40px #0000001a}.gpu-card-icon{border-radius:var(--radius-md);color:#fff;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.2rem;display:flex}.re-card-header{align-items:center;gap:var(--spacing-sm);width:100%;display:flex}.gpu-card-name{color:var(--color-text-primary);-webkit-line-clamp:2;line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;min-height:2.6em;font-size:14px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.gpu-card-cat{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em;font-size:11px}.gpu-card .gpu-card-price{margin-top:auto}.gpu-card-specs{color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:4px;font-size:11px;display:flex}.gpu-card-price{color:var(--color-text-primary);align-items:center;gap:4px;font-size:12px;font-weight:600;display:flex}.gpu-card-buy{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);color:#fff;font-size:11px;font-weight:600;font-family:var(--font-primary);cursor:pointer;border:none;width:100%;transition:all .2s}.gpu-card-buy:hover{opacity:.85}.gpu-card-buy-soon{cursor:not-allowed;justify-content:center;align-items:center;gap:4px;display:inline-flex;color:var(--color-text-secondary,#94a3b8)!important;background:#94a3b82e!important}.gpu-card-buy-soon:disabled{opacity:1}.gpu-card-top{align-items:center;gap:var(--spacing-sm);width:100%;display:flex}.gpu-card-bottom{justify-content:space-between;align-items:center;gap:var(--spacing-sm);width:100%;display:flex}.gpu-card-header{align-items:center;gap:var(--spacing-md);display:flex}.gpu-card-stats{gap:var(--spacing-lg);padding-top:var(--spacing-sm);border-top:1px solid var(--hairline);display:flex}.gpu-card-stat{align-items:center;gap:var(--spacing-xs);display:flex}.buy-modal{background:var(--color-bg-tertiary);border-radius:var(--radius-lg);padding:var(--spacing-xl);border:1px solid #0071e333;width:100%;max-width:420px;animation:.25s cubic-bezier(.4,0,.2,1) buy-modal-in;position:relative;box-shadow:0 24px 64px #00000024,0 0 0 1px #0071e31a}@keyframes buy-modal-in{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.buy-modal-close{background:var(--fill-soft);border:1px solid var(--hairline);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:14px;right:14px}.buy-modal-close:hover{color:var(--color-danger);background:#ff3b301f;border-color:#ff3b304d}.buy-modal-header{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);color:var(--color-accent);display:flex}.buy-modal-header h3{color:var(--color-text-primary);margin:0;font-size:18px;font-weight:700}.buy-modal-product{gap:var(--spacing-xs);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);background:linear-gradient(135deg,#0071e30f,#0071e305);border:1px solid #0071e31f;flex-direction:column;display:flex}.buy-modal-product-name{color:var(--color-text-primary);font-size:15px;font-weight:600}.buy-modal-product-price{color:var(--color-text-secondary);align-items:center;gap:4px;font-size:14px;display:flex}.buy-modal-quantity{margin-bottom:var(--spacing-lg)}.buy-modal-quantity label{color:var(--color-text-secondary);margin-bottom:var(--spacing-sm);font-size:13px;font-weight:500;display:block}.buy-modal-quantity-controls{align-items:center;gap:var(--spacing-sm);display:flex}.buy-modal-qty-btn{background:var(--fill-soft);border:1px solid var(--hairline);border-radius:var(--radius-md);width:38px;height:38px;color:var(--color-text-secondary);cursor:pointer;justify-content:center;align-items:center;transition:all .2s;display:flex}.buy-modal-qty-btn:hover:not(:disabled){color:var(--color-accent-hover);background:#0071e31f;border-color:#0071e34d}.buy-modal-qty-btn:disabled{opacity:.3;cursor:not-allowed}.buy-modal-qty-input{text-align:center;background:var(--fill-soft);border:1px solid var(--hairline);border-radius:var(--radius-md);width:80px;height:38px;color:var(--color-text-primary);font-size:15px;font-weight:600;font-family:var(--font-primary);outline:none;transition:all .2s}.buy-modal-qty-input:focus{border-color:var(--color-accent);background:#0071e30d;box-shadow:0 0 0 3px #0071e326}.buy-modal-total{padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);color:var(--color-text-secondary);background:linear-gradient(135deg,#0071e31a,#0071e30a);border:1px solid #0071e326;justify-content:space-between;align-items:center;font-size:15px;display:flex}.buy-modal-total strong{color:var(--color-accent-hover);font-size:20px;font-weight:700}.buy-modal-actions{gap:var(--spacing-sm);display:flex}.buy-modal-cancel{padding:var(--spacing-md);background:var(--fill-soft);border:1px solid var(--hairline);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:14px;font-weight:500;font-family:var(--font-primary);cursor:pointer;flex:1;transition:all .2s}.buy-modal-cancel:hover{color:var(--color-text-primary);background:#0000001a;border-color:#a1a1a6}.buy-modal-confirm{padding:var(--spacing-md);background:linear-gradient(135deg, var(--color-accent), var(--color-accent-hover));border-radius:var(--radius-md);color:#fff;font-size:14px;font-weight:600;font-family:var(--font-primary);cursor:pointer;border:none;flex:1;transition:all .2s;box-shadow:0 4px 16px #0071e340}.buy-modal-confirm:hover{filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 6px 24px #0071e359}.buy-modal-confirm:active{transform:translateY(0)}.market-buy-modal{text-align:left;flex-direction:column;gap:12px;width:min(420px,94vw);max-width:420px;padding:22px 22px 18px;display:flex}.market-buy-modal-item{background:var(--fill-soft);border-radius:var(--radius-md);border:1px solid var(--color-border,#ffffff0f);align-items:center;gap:12px;padding:12px;display:flex}.market-buy-modal-icon{color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:26px;display:flex;box-shadow:0 4px 14px #0000002e}.market-buy-modal-emoji{line-height:1}.market-buy-modal-item-text{flex:1;min-width:0}.market-buy-modal-eyebrow{text-transform:uppercase;letter-spacing:.6px;color:var(--color-text-tertiary,#94a3b8);margin-bottom:2px;font-size:11px}.market-buy-modal-name{color:var(--color-text-primary);word-break:break-word;margin:0;font-size:17px;font-weight:700}.market-buy-modal-subtitle{color:var(--color-text-secondary);margin-top:2px;font-size:12px}.market-buy-modal-row{background:var(--fill-soft);border-radius:var(--radius-md);border:1px solid var(--color-border,#ffffff0f);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.market-buy-modal-row-label{color:var(--color-text-secondary);align-items:center;gap:6px;font-size:13px;display:inline-flex}.market-buy-modal-row-value{color:var(--color-text-primary);font-size:15px;font-weight:700}.market-buy-modal-row-price .market-buy-modal-row-value{color:var(--color-accent)}.market-buy-modal-buy{border-radius:var(--radius-md);color:#fff;cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:4px;padding:12px 16px;font-size:15px;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 16px #0000002e}.market-buy-modal-buy:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}.market-buy-modal-buy:active:not(:disabled){transform:translateY(0)}.market-buy-modal-buy:disabled{background:var(--fill-soft);color:var(--color-text-tertiary,#94a3b8);cursor:not-allowed;box-shadow:none}.market-buy-modal-qty{background:var(--fill-soft);border-radius:var(--radius-md);border:1px solid var(--color-border,#ffffff0f);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.market-buy-modal-qty-label{color:var(--color-text-secondary);font-size:13px}.market-buy-modal-stepper{align-items:stretch;gap:6px;display:inline-flex}.market-buy-modal-stepper-btn{border:1px solid var(--color-border,#ffffff14);width:30px;height:30px;color:var(--color-text-primary);cursor:pointer;background:#ffffff0a;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex}.market-buy-modal-stepper-btn:hover:not(:disabled){background:#ffffff1a}.market-buy-modal-stepper-btn:disabled{opacity:.35;cursor:not-allowed}.market-buy-modal-stepper-input{text-align:center;border:1px solid var(--color-border,#ffffff14);width:64px;color:var(--color-text-primary);font-size:14px;font-weight:600;font-family:var(--font-primary);-moz-appearance:textfield;background:#ffffff0a;border-radius:8px;padding:4px 6px}.market-buy-modal-stepper-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.market-buy-modal-stepper-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.market-buy-modal-stepper-input:focus{border-color:var(--color-accent);outline:none}.gpu-card-multiplier{color:var(--color-text-primary);font-size:12px;font-weight:600}.price-editor{flex-direction:column;gap:16px;display:flex}.price-editor-categories{border-bottom:1px solid var(--hairline);flex-wrap:wrap;gap:8px;padding-bottom:12px;display:flex}.price-editor-category-btn{border:1px solid var(--hairline);border-radius:var(--radius-md,8px);background:var(--fill-subtle);color:var(--color-text-secondary);cursor:pointer;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.price-editor-category-btn:hover{color:var(--color-text-primary);background:#0071e314;border-color:#0071e34d}.price-editor-category-btn.active{color:var(--color-accent,#0071e3);background:#0071e31f;border-color:#0071e380;font-weight:600}.price-editor-category-stats{background:var(--fill-soft);color:var(--color-text-tertiary,#86868b);border-radius:10px;padding:2px 6px;font-size:11px;font-weight:400}.price-editor-category-btn.active .price-editor-category-stats{color:var(--color-accent,#0071e3);background:#0071e326}.price-editor-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.price-editor-search{border:1px solid var(--hairline);border-radius:var(--radius-md,8px);background:var(--fill-subtle);color:var(--color-text-tertiary,#86868b);align-items:center;gap:8px;min-width:220px;padding:6px 12px;display:flex}.price-editor-search-input{color:var(--color-text-primary);background:0 0;border:none;outline:none;width:100%;font-size:13px}.price-editor-search-input::placeholder{color:var(--color-text-tertiary,#86868b)}.price-editor-actions{align-items:center;gap:8px;display:flex}.price-editor-actions .admin-btn.disabled{opacity:.5;cursor:not-allowed}.price-editor-saved-msg{border-radius:var(--radius-md,8px);color:#34c759;text-align:center;background:#34c7591a;border:1px solid #34c7594d;padding:8px 16px;font-size:13px;font-weight:500;animation:.3s price-editor-fade-in}.price-editor-saved-msg.price-editor-save-error{color:#ff453a;background:#ff453a1a;border-color:#ff453a4d}@keyframes price-editor-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.price-editor-table-wrapper{border:1px solid var(--hairline);border-radius:var(--radius-md,8px);max-height:500px;overflow:auto}.price-editor-table{border-collapse:collapse;width:100%;font-size:13px}.price-editor-table thead{z-index:2;position:sticky;top:0}.price-editor-table thead tr{background:var(--fill-soft)}.price-editor-th-id,.price-editor-th-name,.price-editor-th-price,.price-editor-th-current{text-align:left;color:var(--color-text-secondary);border-bottom:1px solid var(--hairline);white-space:nowrap;padding:10px 14px;font-weight:600}.price-editor-th-id{width:60px}.price-editor-th-price{width:160px}.price-editor-th-current{width:140px}.price-editor-row{transition:background .15s}.price-editor-row:hover{background:var(--fill-subtle)}.price-editor-row.has-price{background:#34c75905}.price-editor-row.has-price:hover{background:#34c7590d}.price-editor-td-id,.price-editor-td-name,.price-editor-td-price,.price-editor-td-current{border-bottom:1px solid var(--hairline);vertical-align:middle;padding:8px 14px}.price-editor-td-id{color:var(--color-text-tertiary,#86868b);font-size:12px;font-weight:500}.price-editor-product-name{color:var(--color-text-primary);font-weight:500}.price-editor-product-meta{color:var(--color-text-tertiary,#86868b);margin-top:2px;font-size:11px;display:block}.price-editor-input-wrapper{align-items:center;display:flex;position:relative}.price-editor-input-icon{color:var(--color-text-tertiary,#86868b);pointer-events:none;position:absolute;left:8px}.price-editor-input{border:1px solid var(--hairline);border-radius:var(--radius-sm,6px);background:var(--fill-soft);width:100%;color:var(--color-text-primary);outline:none;padding:6px 10px 6px 28px;font-size:13px;transition:border-color .2s,box-shadow .2s}.price-editor-input:focus{border-color:var(--color-accent,#0071e3);box-shadow:0 0 0 2px #0071e326}.price-editor-input::placeholder{color:var(--color-text-tertiary,#86868b)}.price-editor-current-value{font-size:13px;font-weight:500}.price-editor-current-value.set{color:#34c759}.price-editor-current-value.not-set{color:var(--color-text-tertiary,#86868b);font-style:italic}.price-editor-empty{text-align:center;color:var(--color-text-tertiary,#86868b);padding:32px;font-size:14px}.price-editor-footer{border-top:1px solid var(--hairline);color:var(--color-text-tertiary,#86868b);justify-content:space-between;padding:10px 14px;font-size:12px;display:flex}.sidebar-footer{padding:var(--spacing-md) var(--spacing-md) 0;border-top:1px solid var(--hairline);margin-top:auto}.header-user-btn{border-radius:var(--radius-lg);cursor:pointer;font-family:var(--font-primary);background:0 0;border:none;padding:4px 4px 4px 10px;transition:all .2s}.header-user-btn:hover{background:#0071e31a}.header-avatar-img{object-fit:cover}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{box-shadow:0 0 0 4px var(--accent-soft-hover);border-radius:var(--radius-sm);outline:none}.submit-btn,.buy-modal-confirm,.modal-buttons .confirm-btn,.confirm-btn{background:var(--color-accent);color:var(--on-accent);border-radius:var(--radius-pill);letter-spacing:-.01em;transition:background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);border:none;font-weight:600}.submit-btn:hover,.buy-modal-confirm:hover,.modal-buttons .confirm-btn:hover,.confirm-btn:hover{background:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 6px 18px #0071e347}.submit-btn:active,.buy-modal-confirm:active,.confirm-btn:active{box-shadow:none;transform:translateY(0)scale(.99)}input[type=text],input[type=number],input[type=email],input[type=password],input[type=search],select,textarea{font-family:var(--font-primary)}input:focus,select:focus,textarea:focus{outline:none}.stat-card,.profile-card,.stock-card{transition:transform var(--dur-med) var(--ease-out), box-shadow var(--dur-med) var(--ease-out), border-color var(--dur-med) var(--ease-out)}.stat-card:hover,.stock-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.price-history-modal{max-width:600px;max-height:80vh;overflow-y:auto}.price-history-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.price-history-regenerate{border-bottom:1px solid var(--border-color,#333);grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:12px;padding-bottom:12px;display:grid}.price-history-regenerate>.admin-input{box-sizing:border-box;width:100%;min-width:0}.price-history-regenerate>.admin-btn{justify-self:end}.price-history-volatility{box-sizing:border-box;width:100%;min-width:0}.price-history-table{flex-direction:column;gap:4px;margin-top:12px;display:flex}.price-history-toolbar{align-items:center;gap:8px;margin-top:12px;display:flex}.price-history-toolbar .tx-search{flex:1}.price-history-row{border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.price-history-row:nth-child(odd){background:#ffffff08}.price-history-ts{opacity:.8;flex:1;font-size:.85em}.price-history-price{text-align:right;min-width:80px;font-weight:600}.db-doc-preview{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-family:monospace;font-size:.8em;overflow:hidden}.db-field{margin-right:10px}.db-key{color:var(--color-accent);margin-right:4px}.db-sep{color:var(--color-text-secondary)}.dbv-str{color:var(--color-success)}.dbv-num{color:#e0a54b}.dbv-bool{color:#c586c0}.dbv-null{color:var(--color-text-secondary);font-style:italic}.dbv-id{color:#4ec9b0}.dbv-date{color:#569cd6}.dbv-other{color:var(--color-text-primary)}.dbv-ref{color:#4fc1ff;font-weight:600}.db-json-textarea{resize:vertical;width:100%;margin:8px 0;font-family:monospace;font-size:.85em}.db-pagination{justify-content:center;align-items:center;gap:12px;margin-top:8px}.legal-footer{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg);border-top:1px solid var(--glass-border);background:var(--color-bg-secondary);flex-direction:column;display:flex}.legal-footer-icon{color:var(--color-text-secondary);transition:color .2s;display:inline-flex}.legal-footer-icon:hover{color:var(--color-text-primary)}.legal-footer-links{justify-content:center;gap:var(--spacing-lg);color:var(--color-text-tertiary);flex-wrap:wrap;font-size:13px;display:flex}.legal-footer-links a{color:var(--color-text-tertiary);text-decoration:none;transition:color .2s}.legal-footer-links a:hover{color:var(--color-text-primary);text-decoration:underline}.dashboard-main .legal-footer{gap:var(--spacing-md);padding:8px var(--spacing-lg);opacity:.65;background:0 0;border-top:none;flex-flow:wrap;flex-shrink:0}.dashboard-main .legal-footer:hover{opacity:1}.dashboard-main .legal-footer svg{width:15px;height:15px}.dashboard-main .legal-footer-links{gap:var(--spacing-md);font-size:11px}.upgrade-modal{max-width:560px}.upgrade-scroller{align-items:stretch;gap:var(--spacing-xs);margin-bottom:var(--spacing-md);display:flex}.upgrade-arrow{background:var(--fill-soft);border:1px solid var(--hairline);border-radius:var(--radius-md);width:32px;color:var(--color-text-primary);cursor:pointer;flex:none;justify-content:center;align-items:center;transition:all .2s;display:flex}.upgrade-arrow:hover:not(:disabled){background:var(--color-accent);color:#fff}.upgrade-arrow:disabled{opacity:.35;cursor:default}.upgrade-track{gap:var(--spacing-sm);scroll-snap-type:x mandatory;scrollbar-width:thin;padding:2px;display:flex;overflow-x:auto}.upgrade-step{scroll-snap-align:center;min-width:108px;padding:var(--spacing-sm) var(--spacing-md);background:var(--fill-soft);border:1px solid var(--hairline);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;text-align:left;flex-direction:column;flex:none;gap:2px;transition:all .15s;display:flex}.upgrade-step:hover{border-color:var(--color-accent)}.upgrade-step.included{background:var(--color-accent-soft,#0071e31f)}.upgrade-step.active{border-color:var(--color-accent);box-shadow:0 0 0 3px #0071e326}.upgrade-step-level{color:var(--color-text-secondary);font-size:12px}.upgrade-step-profit{font-size:14px;font-weight:600}.upgrade-step-cost{color:var(--color-text-secondary);font-size:12px}.upgrade-summary{gap:var(--spacing-xs);padding:var(--spacing-md);background:var(--fill-soft);border:1px solid var(--hairline);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);flex-direction:column;display:flex}.upgrade-row{justify-content:space-between;align-items:center;gap:var(--spacing-md);font-size:13px;display:flex}.upgrade-row>span{color:var(--color-text-secondary);align-items:center;gap:6px;display:inline-flex}.upgrade-row>b{font-size:13px;font-weight:600}.upgrade-row.payback{border-top:1px solid var(--hairline);padding-top:var(--spacing-xs)}.upgrade-delta{color:var(--color-success,#34c759);margin-left:6px;font-size:12px;font-style:normal}.upgrade-balance{color:var(--color-text-secondary);font-size:13px}@media (width<=600px){.upgrade-step{min-width:96px}.upgrade-arrow{width:28px}}.centralmarket-tab{gap:var(--spacing-md,12px);flex-direction:column;display:flex}.centralmarket-header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-md,12px);flex-wrap:wrap;display:flex}.centralmarket-subtitle{color:var(--color-text-secondary,#fff9);margin-top:4px;font-size:14px}.centralmarket-create-btn{background:var(--color-accent,#0071e3);color:#fff;cursor:pointer;transition:background var(--dur-fast,.12s) ease, transform var(--dur-fast,.12s) ease, box-shadow var(--dur-fast,.12s) ease;border:1px solid #0000;border-radius:10px;align-items:center;gap:5px;padding:6px 11px;font-size:12px;font-weight:600;display:inline-flex;box-shadow:0 4px 14px #0071e340}.centralmarket-create-btn:hover{background:var(--color-accent-hover,#005bb5);transform:translateY(-1px)}.centralmarket-create-btn:active{transform:translateY(0)}.centralmarket-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.centralmarket-toolbar-left{flex:none;align-items:center;gap:6px;display:inline-flex}.centralmarket-toolbar-right{flex:220px;justify-content:flex-end;align-items:center;gap:6px;min-width:180px;display:inline-flex}.centralmarket-search{flex:1;width:100%}.centralmarket-filters-toggle{background:var(--color-bg-secondary,#ffffff0d);border:1px solid var(--hairline,#ffffff1a);width:46px;height:36px;color:var(--color-text-primary,inherit);cursor:pointer;transition:background var(--dur-fast,.12s) ease, border-color var(--dur-fast,.12s) ease;border-radius:11px;justify-content:center;align-items:center;gap:4px;padding:0;display:inline-flex;position:relative}.centralmarket-filters-toggle:hover{background:var(--color-bg-tertiary,#ffffff14)}.centralmarket-filters-toggle.is-open{border-color:var(--color-accent,#0071e3)}.centralmarket-filters-chev{transition:transform var(--dur-med,.2s) var(--ease-out,ease)}.centralmarket-filters-chev.rot{transform:rotate(180deg)}.centralmarket-sort-btn{background:var(--color-bg-secondary,#ffffff0d);border:1px solid var(--hairline,#ffffff1a);height:36px;color:var(--color-text-primary,inherit);cursor:pointer;transition:background var(--dur-fast,.12s) ease, border-color var(--dur-fast,.12s) ease, color var(--dur-fast,.12s) ease;border-radius:10px;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:500;display:inline-flex}.centralmarket-sort-btn:hover{background:var(--color-bg-tertiary,#ffffff14)}.centralmarket-sort-btn.sort-price_asc,.centralmarket-sort-btn.sort-price_desc{border-color:var(--color-accent,#0071e3);color:var(--color-accent,#0071e3)}.centralmarket-sort-btn.sort-default{color:var(--color-text-secondary,#ffffff8c)}.centralmarket-filters{background:var(--color-bg-secondary,#ffffff08);border:1px solid var(--hairline,#ffffff14);border-radius:var(--radius-lg,12px);flex-direction:column;display:flex;overflow:hidden}.centralmarket-filters-body{flex-direction:column;gap:10px;padding:12px 14px;display:flex}.centralmarket-filters-row{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.centralmarket-filters-row--numeric{align-items:flex-end}.centralmarket-filter{flex-direction:column;gap:6px;min-width:0;display:flex}.centralmarket-filter--numeric{min-width:220px}.centralmarket-filter--search{flex:240px;min-width:220px}.centralmarket-filter-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary,#ffffff8c);align-items:center;gap:4px;font-size:11px;display:inline-flex}.centralmarket-cat-pills{flex-wrap:wrap;gap:6px;display:inline-flex}.centralmarket-num-pair{align-items:center;gap:6px;display:inline-flex}.centralmarket-num-dash{color:var(--color-text-secondary,#ffffff80)}.centralmarket-num-input{background:var(--color-bg-tertiary,#ffffff0d);border:1px solid var(--hairline,#ffffff1a);width:88px;color:var(--color-text-primary,inherit);font-variant-numeric:tabular-nums;border-radius:8px;padding:6px 10px;font-size:13px}.centralmarket-num-input:focus{border-color:var(--color-accent,#0071e3);outline:none}.centralmarket-search{min-width:220px}.centralmarket-reset{color:var(--color-text-secondary,#ffffffb3);border:1px dashed var(--hairline,#ffffff2e);cursor:pointer;transition:color var(--dur-fast,.12s) ease, border-color var(--dur-fast,.12s) ease;background:0 0;border-radius:8px;align-self:flex-end;align-items:center;gap:4px;padding:6px 10px;font-size:12px;display:inline-flex}.centralmarket-reset:hover{color:var(--color-text-primary,#fff);border-color:var(--color-accent,#0071e3)}.centralmarket-lots{flex-direction:column;gap:10px;display:flex}.centralmarket-lots-header{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary,#ffffff8c);font-size:12px}.centralmarket-lots-grid{grid-template-columns:1fr;gap:10px;display:grid}@media (width>=900px){.centralmarket-lots-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}.centralmarket-lot{background:var(--color-bg-secondary,#ffffff0a);border:1px solid var(--hairline,#ffffff14);transition:transform var(--dur-fast,.12s) ease, border-color var(--dur-fast,.12s) ease, background var(--dur-fast,.12s) ease;border-radius:12px;grid-template-columns:52px 1fr;grid-template-areas:"icon main""price price""actions actions";align-items:center;gap:8px 12px;padding:12px;display:grid}.centralmarket-lot:hover{background:var(--color-bg-secondary,#ffffff0f);border-color:#0071e366;transform:translateY(-1px)}.centralmarket-lot.is-own{background:linear-gradient(135deg,#0071e30f,#0071e305);border-color:#0071e359}.loans-page .centralmarket-header{margin-bottom:18px}.loans-page .centralmarket-lots{margin-top:18px}.loans-page .centralmarket-lots-header{border-bottom:1px solid var(--hairline);color:var(--color-text-primary);justify-content:space-between;align-items:center;padding-bottom:10px;font-weight:700;display:flex}.loans-page .centralmarket-lot{border-top:3px solid var(--color-accent,#0071e3);grid-template-columns:54px 1fr;padding:14px;box-shadow:0 5px 16px #0000000f}.loans-page .centralmarket-lot-icon{color:var(--color-accent,#0071e3);background:#0071e31a}.loans-page .centralmarket-create-btn,.loans-page .centralmarket-modal-form .centralmarket-create-btn{color:#fff!important;background:#0071e3!important;border:1px solid #0071e3!important;box-shadow:0 4px 14px #0071e340!important}.loans-page .centralmarket-modal-form .centralmarket-field{grid-template-columns:minmax(150px,1fr) minmax(180px,1.35fr);align-items:center;gap:14px;margin-bottom:14px;display:grid}.loans-page .centralmarket-modal-form .centralmarket-field>span{text-transform:none;letter-spacing:0;color:var(--color-text-primary);font-size:15px}.loans-page .centralmarket-modal-form .centralmarket-field input,.loans-page .centralmarket-modal-form .centralmarket-field select{box-sizing:border-box;width:100%;min-height:36px;color:var(--color-text-primary);border-radius:9px;padding:6px 9px;font-size:14px;background:var(--color-bg-tertiary,#f2f2f7)!important;border:1px solid var(--hairline)!important}.loans-page .centralmarket-modal-form .centralmarket-create-btn{justify-content:center;width:100%;min-height:48px;margin-top:10px;font-size:18px;font-weight:700}.loans-page .centralmarket-create-btn:hover,.loans-page .centralmarket-modal-form .centralmarket-create-btn:hover{color:#fff!important;background:#005bb5!important;border-color:#005bb5!important}.loans-page .centralmarket-lot-name{color:var(--color-accent,#0071e3);font-size:18px}.loans-page .centralmarket-lot-meta{line-height:1.5}.loans-page .centralmarket-lot-btn--buy{min-height:36px;margin-top:6px;font-weight:700}.loans-page .centralmarket-create-btn{white-space:nowrap}@media (width<=640px){.loans-page .centralmarket-header{align-items:flex-start}.loans-page .centralmarket-create-btn{padding:6px 8px;font-size:11px}}.centralmarket-lot-icon{background:var(--color-bg-tertiary,#ffffff14);border-radius:12px;grid-area:icon;justify-content:center;align-items:center;width:52px;height:52px;font-size:24px;display:inline-flex}.centralmarket-lot-main{flex-direction:column;grid-area:main;gap:4px;min-width:0;display:flex}.centralmarket-lot-name{-webkit-line-clamp:2;line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;font-size:14px;font-weight:600;display:-webkit-box;overflow:hidden}.centralmarket-lot-meta{color:var(--color-text-secondary,#fff9);flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;display:inline-flex}.centralmarket-lot-pill{background:var(--color-bg-tertiary,#ffffff0f);border-radius:999px;align-items:center;gap:2px;padding:2px 6px;display:inline-flex}.centralmarket-lot-seller{opacity:.8;white-space:nowrap;align-items:center;gap:4px;min-width:0;font-style:italic;display:inline-flex;overflow:hidden}.centralmarket-lot-seller-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:16px;height:16px}.centralmarket-lot-price{white-space:nowrap;font-variant-numeric:tabular-nums;flex-direction:row;grid-area:price;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.centralmarket-lot-price-unit{color:var(--color-accent,#0071e3);align-items:center;gap:2px;font-size:14px;font-weight:600;display:inline-flex}.centralmarket-lot-price-suffix{color:var(--color-text-secondary,#ffffff8c);font-size:11px;font-weight:400}.centralmarket-lot-price-total{color:var(--color-text-secondary,#fff9);align-items:center;gap:2px;font-size:11px;display:inline-flex}.centralmarket-modal{width:100%;max-width:480px}.centralmarket-modal-title{align-items:center;gap:8px;margin-bottom:4px;font-size:18px;font-weight:700;display:inline-flex}.centralmarket-modal-subtitle{color:var(--color-text-secondary,#fff9);margin-bottom:14px;font-size:13px}.centralmarket-field{flex-direction:column;gap:4px;margin-bottom:12px;font-size:13px;display:flex}.centralmarket-field>span{color:var(--color-text-secondary,#ffffffb3);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:4px;font-size:12px;display:inline-flex}.centralmarket-field-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.centralmarket-field-row>.centralmarket-field{min-width:0}.centralmarket-field-row .centralmarket-input{width:100%;min-width:0}.centralmarket-input,.centralmarket-select{background:var(--color-bg-tertiary,#ffffff0d);border:1px solid var(--hairline,#ffffff1a);color:var(--color-text-primary,inherit);border-radius:8px;padding:8px 10px;font-family:inherit;font-size:14px}.centralmarket-input:focus,.centralmarket-select:focus{border-color:var(--color-accent,#0071e3);outline:none}.centralmarket-toast{background:var(--color-bg-secondary,#14161cf2);border:1px solid var(--hairline,#ffffff14);color:var(--color-text-primary,#fff);z-index:1000;border-radius:10px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;display:inline-flex;position:fixed;bottom:20px;right:20px;box-shadow:0 8px 24px #00000059}.centralmarket-toast.success{border-color:#22c55e66}.centralmarket-toast.error{border-color:#ef444466}.centralmarket-empty{text-align:center;background:var(--color-bg-secondary,#ffffff08);border:1px dashed var(--hairline,#ffffff1f);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:36px 20px;display:flex}.centralmarket-empty-icon{font-size:40px;line-height:1}.centralmarket-empty-title{margin:4px 0 0;font-size:18px;font-weight:700}.centralmarket-empty-text{color:var(--color-text-secondary,#fff9);max-width:360px;margin:0 0 10px;font-size:13px}.centralmarket-empty-cta{margin-top:4px}.centralmarket-lot-actions{grid-area:actions;justify-content:flex-end;align-items:center;gap:6px;margin-top:4px;display:flex}.centralmarket-lot-btn--buy{flex:1;justify-content:center}.centralmarket-lot-btn{cursor:pointer;transition:background var(--dur-fast,.12s) ease, border-color var(--dur-fast,.12s) ease, transform var(--dur-fast,.12s) ease;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:600;display:inline-flex}.centralmarket-lot-btn:active{transform:translateY(0)}.centralmarket-lot-btn-price{font-variant-numeric:tabular-nums;border-left:1px solid #ffffff2e;margin-left:4px;padding-left:8px;font-weight:700}.centralmarket-lot-btn--buy{background:var(--color-accent,#0071e3);color:#fff;box-shadow:0 4px 14px #0071e340}.centralmarket-lot-btn--buy:hover{background:var(--color-accent-hover,#005bb5);transform:translateY(-1px)}.centralmarket-lot-btn--edit{background:var(--color-bg-tertiary,#ffffff14);color:var(--color-text-primary,inherit);border-color:var(--hairline,#ffffff1f)}.centralmarket-lot-btn--edit:hover{border-color:var(--color-accent,#0071e3);color:var(--color-accent,#0071e3)}.centralmarket-lot-btn--danger{color:#ef4444;background:0 0;border-color:#ef44444d;padding:6px 8px}.centralmarket-lot-btn--danger:hover{background:#ef44441f;border-color:#ef4444}.centralmarket-btn-danger{color:#ef4444!important;background:#ef444426!important;border-color:#ef444466!important}.centralmarket-btn-danger:hover{background:#ef444440!important}.centralmarket-source-pills{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:inline-flex}.landing{--lp-max:1120px;--lp-accent:var(--color-accent);--lp-accent-2:#5e5ce6;--lp-line:var(--hairline);background:radial-gradient(1200px 600px at 50% -200px, #0071e32e, transparent 70%), var(--color-bg-primary);min-height:100vh;color:var(--color-text-primary);overflow-x:hidden}.lp-btn{border-radius:var(--radius-md);font-size:14px;font-weight:600;font-family:var(--font-primary);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 18px;text-decoration:none;transition:transform .15s,background .2s,border-color .2s,box-shadow .2s;display:inline-flex}.lp-btn-lg{border-radius:var(--radius-md);padding:14px 28px;font-size:16px}.lp-btn-primary{background:linear-gradient(135deg, var(--lp-accent), var(--lp-accent-2));color:#fff;box-shadow:0 8px 24px #0071e359}.lp-btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 32px #0071e380}.lp-btn-ghost{border-color:var(--lp-line);color:var(--color-text-primary);background:#0000000a}.lp-btn-ghost:hover{background:#00000014;border-color:#a1a1a6;transform:translateY(-2px)}.lp-nav{z-index:20;-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);background:var(--glass-bg);border-bottom:1px solid var(--lp-line);position:sticky;top:0}.lp-nav-inner{max-width:var(--lp-max);padding:14px var(--spacing-lg);justify-content:space-between;align-items:center;gap:var(--spacing-md);margin:0 auto;display:flex}.lp-brand{color:var(--color-text-primary);align-items:center;gap:10px;text-decoration:none;display:flex}.lp-brand-logo{flex-shrink:0;place-items:center;width:36px;height:36px;display:grid}.lp-brand-logo .logo-glyph{object-fit:contain;width:100%;height:100%}.lp-brand-name{letter-spacing:-.01em;font-size:18px;font-weight:700}.lp-nav-actions{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.lp-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent-hover);background:#0071e31f;border:1px solid #0071e340;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:700;display:inline-block}.lp-hero{padding:90px var(--spacing-lg) 60px;position:relative}.lp-hero-glow{pointer-events:none;background:radial-gradient(600px 300px at 50% 0,#a855f729,#0000 70%);position:absolute;inset:0}.lp-hero-inner{text-align:center;align-items:center;gap:var(--spacing-lg);flex-direction:column;max-width:820px;margin:0 auto;display:flex;position:relative}.lp-hero-title{letter-spacing:-.03em;background:linear-gradient(180deg, var(--color-text-primary), var(--lp-accent));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(38px,6vw,68px);font-weight:800;line-height:1.05}.lp-hero-subtitle{color:var(--color-text-secondary);max-width:640px;font-size:clamp(16px,2.2vw,20px);line-height:1.6}.lp-hero-cta{gap:var(--spacing-md);flex-wrap:wrap;justify-content:center;display:flex}.lp-stats{gap:var(--spacing-md);width:100%;max-width:720px;margin-top:var(--spacing-xl);padding:var(--spacing-lg);border-radius:var(--radius-lg);border:1px solid var(--lp-line);background:#00000008;grid-template-columns:repeat(4,1fr);display:grid}.lp-stat-value{letter-spacing:-.02em;color:var(--color-text-primary);font-size:clamp(22px,3.5vw,32px);font-weight:800}.lp-stat-label{color:var(--color-text-secondary);margin-top:4px;font-size:13px}.lp-section{max-width:var(--lp-max);padding:70px var(--spacing-lg);margin:0 auto}.lp-section-head{text-align:center;max-width:640px;margin:0 auto var(--spacing-2xl);align-items:center;gap:var(--spacing-md);flex-direction:column;display:flex}.lp-section-title{letter-spacing:-.02em;font-size:clamp(28px,4vw,42px);font-weight:800}.lp-section-sub{color:var(--color-text-secondary);font-size:16px;line-height:1.6}.lp-features-grid{gap:var(--spacing-md);grid-template-columns:repeat(4,1fr);display:grid}.lp-feature-card{padding:var(--spacing-lg);border-radius:var(--radius-lg);border:1px solid var(--lp-line);background:linear-gradient(#0000000a,#00000004);transition:transform .2s,border-color .2s,background .2s}.lp-feature-card:hover{background:linear-gradient(#0071e31a,#00000005);border-color:#0071e366;transform:translateY(-4px)}.lp-feature-icon{border-radius:var(--radius-md);width:48px;height:48px;margin-bottom:var(--spacing-md);color:var(--color-accent-hover);background:#0071e31f;border:1px solid #0071e340;place-items:center;display:grid}.lp-feature-title{margin-bottom:var(--spacing-sm);font-size:17px;font-weight:700}.lp-feature-desc{color:var(--color-text-secondary);font-size:14px;line-height:1.6}.lp-how{position:relative}.lp-steps{gap:var(--spacing-lg);grid-template-columns:repeat(3,1fr);display:grid}.lp-step{padding:var(--spacing-xl) var(--spacing-lg);border-radius:var(--radius-lg);background:var(--color-bg-secondary);border:1px solid var(--lp-line);position:relative}.lp-step-num{color:#fff;background:linear-gradient(135deg, var(--lp-accent), var(--lp-accent-2));width:44px;height:44px;margin-bottom:var(--spacing-md);border-radius:50%;place-items:center;font-size:20px;font-weight:800;display:grid;box-shadow:0 8px 20px #0071e359}.lp-step-title{margin-bottom:var(--spacing-sm);font-size:18px;font-weight:700}.lp-step-desc{color:var(--color-text-secondary);font-size:14px;line-height:1.6}.lp-cta-band{padding:40px var(--spacing-lg) 90px}.lp-cta-inner{max-width:var(--lp-max);text-align:center;padding:var(--spacing-2xl);border-radius:var(--radius-lg);align-items:center;gap:var(--spacing-md);background:radial-gradient(600px 300px at 50% 0,#0071e340,#0000 70%),linear-gradient(135deg,#0071e324,#a855f71a);border:1px solid #0071e34d;flex-direction:column;margin:0 auto;display:flex}.lp-cta-title{letter-spacing:-.02em;font-size:clamp(26px,4vw,40px);font-weight:800}.lp-cta-sub{color:var(--color-text-secondary);max-width:560px;margin-bottom:var(--spacing-sm);font-size:16px}.lp-footer{border-top:1px solid var(--lp-line);background:var(--color-bg-secondary)}.lp-footer-inner{max-width:var(--lp-max);padding:var(--spacing-2xl) var(--spacing-lg) var(--spacing-lg);justify-content:space-between;align-items:flex-start;gap:var(--spacing-xl);flex-wrap:wrap;margin:0 auto;display:flex}.lp-footer-brand{align-items:center;gap:var(--spacing-md);display:flex}.lp-footer-tagline{color:var(--color-text-secondary);max-width:320px;margin-top:4px;font-size:13px}.lp-footer-links{gap:var(--spacing-lg);flex-wrap:wrap;display:flex}.lp-footer-links a{color:var(--color-text-secondary);font-size:14px;text-decoration:none;transition:color .2s}.lp-footer-links a:hover{color:var(--color-text-primary)}.lp-footer-bottom{max-width:var(--lp-max);padding:var(--spacing-lg);border-top:1px solid var(--lp-line);justify-content:space-between;gap:var(--spacing-md);color:var(--color-text-tertiary);flex-wrap:wrap;margin:0 auto;font-size:12px;display:flex}@media (width<=900px){.lp-features-grid{grid-template-columns:repeat(2,1fr)}.lp-steps{grid-template-columns:1fr}}@media (width<=620px){.lp-hero{padding:56px var(--spacing-md) 40px}.lp-stats{grid-template-columns:repeat(2,1fr)}.lp-features-grid{grid-template-columns:1fr}.lp-nav-actions .lp-btn-ghost,.lp-nav-actions .language-switcher{display:none}.lp-footer-inner{gap:var(--spacing-lg);flex-direction:column}}.tutorial-tab{--tut-mining:#f59e0b;--tut-stocks:#0a84ff;--tut-crypto:#8b5cf6;--tut-business:#10b981;--tut-radius:var(--radius-lg);--tut-card-bg:var(--color-bg-secondary);--tut-soft:var(--fill-subtle);gap:var(--spacing-md);max-width:960px;color:var(--color-text-primary);flex-direction:column;margin:0 auto;display:flex}.tutorial-tab .leaderboard-title-row{margin-bottom:0}.tutorial-subtitle,.tutorial-hint{color:var(--color-text-secondary);margin:0;font-size:14px;line-height:1.5}.tutorial-overview{background:var(--tut-card-bg);border:1px solid var(--hairline);border-radius:var(--tut-radius);box-shadow:var(--shadow-md);padding:var(--spacing-lg);gap:var(--spacing-sm);flex-direction:column;display:flex}.tutorial-overview-top{justify-content:space-between;align-items:baseline;gap:var(--spacing-sm);display:flex}.tutorial-overview-title{font-size:15px;font-weight:600}.tutorial-overview-value{font-variant-numeric:tabular-nums;color:var(--color-accent);font-weight:700}.tutorial-overview-chips{gap:var(--spacing-sm);margin-top:var(--spacing-xs);flex-wrap:wrap;display:flex}.tutorial-chip{border-radius:var(--radius-pill);border:1px solid var(--hairline);background:var(--tut-soft);color:var(--color-text-primary);transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);align-items:center;gap:6px;padding:6px 12px;font-size:13px;text-decoration:none;display:inline-flex}.tutorial-chip:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.tutorial-chip b{font-variant-numeric:tabular-nums}.tutorial-chip--mining{color:var(--tut-mining)}.tutorial-chip--stocks{color:var(--tut-stocks)}.tutorial-chip--crypto{color:var(--tut-crypto)}.tutorial-chip--business{color:var(--tut-business)}.tutorial-progress{border-radius:var(--radius-pill);background:var(--fill-soft);height:8px;overflow:hidden}.tutorial-progress--lg{height:10px}.tutorial-progress-bar{border-radius:inherit;background:var(--tut-topic-color,var(--color-accent));height:100%;transition:width var(--dur-med) var(--ease-out);display:block}.tutorial-topics-list{gap:var(--spacing-md);flex-direction:column;display:flex}.tutorial-topic{--tut-topic-color:var(--color-accent);background:var(--tut-card-bg);border:1px solid var(--hairline);border-left:4px solid var(--tut-topic-color);border-radius:var(--tut-radius);box-shadow:var(--shadow-md);padding:var(--spacing-lg);gap:var(--spacing-md);transition:box-shadow var(--dur-med) var(--ease-out), transform var(--dur-med) var(--ease-out);flex-direction:column;display:flex}.tutorial-topic:hover{box-shadow:var(--shadow-lg)}.tutorial-topic--mining{--tut-topic-color:var(--tut-mining)}.tutorial-topic--stocks{--tut-topic-color:var(--tut-stocks)}.tutorial-topic--crypto{--tut-topic-color:var(--tut-crypto)}.tutorial-topic--business{--tut-topic-color:var(--tut-business)}.tutorial-anchor{scroll-margin-top:80px}.tutorial-topic-header{align-items:center;gap:var(--spacing-md);flex-wrap:wrap;display:flex}.tutorial-topic-icon{border-radius:var(--radius-md);width:44px;height:44px;color:var(--tut-topic-color);background:color-mix(in srgb, var(--tut-topic-color) 16%, transparent);transition:transform var(--dur-fast) var(--ease-spring);flex:none;justify-content:center;align-items:center;display:inline-flex}.tutorial-topic:hover .tutorial-topic-icon{transform:scale(1.06)}.tutorial-topic-icon--sm{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-accent);background:var(--accent-soft)}.tutorial-topic-titles{flex:200px;min-width:0}.tutorial-topic-titles h3{margin:0;font-size:18px;font-weight:700}.tutorial-topic-titles p{color:var(--color-text-secondary);margin:2px 0 0;font-size:13px}.tutorial-topic-counter{border-radius:var(--radius-pill);color:var(--tut-topic-color);background:color-mix(in srgb, var(--tut-topic-color) 14%, transparent);white-space:nowrap;align-items:center;gap:4px;padding:4px 10px;font-size:13px;font-weight:600;display:inline-flex}.tutorial-topic.is-completed .tutorial-progress-bar{background:var(--color-success)}.tutorial-theory-block{border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--tut-soft);overflow:hidden}.tutorial-theory-block>summary{align-items:center;gap:var(--spacing-sm);cursor:pointer;color:var(--color-text-primary);-webkit-user-select:none;user-select:none;transition:background-color var(--dur-fast) var(--ease-out);padding:12px 14px;font-size:14px;font-weight:600;list-style:none;display:flex}.tutorial-theory-block>summary::-webkit-details-marker{display:none}.tutorial-theory-block>summary:hover{background:var(--fill-soft)}.tutorial-theory-block>summary>span:nth-child(2){flex:1;min-width:0}.tutorial-theory-block>summary svg:first-child{color:var(--color-text-secondary);flex:none}.tutorial-chevron{color:var(--color-text-tertiary);transition:transform var(--dur-med) var(--ease-out);margin-left:auto}.tutorial-theory-block[open]>summary .tutorial-chevron{transform:rotate(180deg)}.tutorial-theory-body{color:var(--color-text-secondary);animation:tutorial-fade var(--dur-med) var(--ease-out);padding:4px 16px 16px;font-size:14px;line-height:1.6}.tutorial-theory-body p{margin:8px 0}.tutorial-theory-body h4{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary);margin:14px 0 6px;font-size:13px}.tutorial-theory-body ul{margin:0;padding-left:20px}.tutorial-theory-body dl{gap:8px;margin:0;display:grid}.tutorial-term dt{color:var(--color-text-primary)}.tutorial-term dd{margin:0}@keyframes tutorial-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.tutorial-steps{gap:var(--spacing-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.tutorial-step{gap:var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--hairline);transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);padding:14px;display:flex}.tutorial-step--current{border-color:color-mix(in srgb, var(--tut-topic-color) 45%, transparent);background:color-mix(in srgb, var(--tut-topic-color) 6%, transparent)}.tutorial-step--done{opacity:.85}.tutorial-step--locked{opacity:.55}.tutorial-step-num{font-variant-numeric:tabular-nums;background:var(--fill-soft);width:30px;height:30px;color:var(--color-text-secondary);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.tutorial-step--current .tutorial-step-num{background:var(--tut-topic-color);color:#fff}.tutorial-step--done .tutorial-step-num{background:var(--color-success);color:#fff}.tutorial-step-body{flex:1;min-width:0}.tutorial-step-counter{color:var(--color-text-tertiary);font-size:12px}.tutorial-step-title{margin:2px 0 6px;font-size:15px;font-weight:700}.tutorial-step-text{color:var(--color-text-secondary);margin:0 0 10px;font-size:14px;line-height:1.55}.tutorial-task{border-radius:var(--radius-sm);background:var(--tut-card-bg);border:1px dashed var(--color-border-strong);flex-direction:column;align-items:flex-start;gap:6px;padding:10px 12px;display:flex}.tutorial-task p{margin:0;font-size:14px}.tutorial-task-label{text-transform:uppercase;letter-spacing:.05em;color:var(--tut-topic-color);font-size:11px;font-weight:700}.tutorial-task-done,.tutorial-task-locked{color:var(--color-text-tertiary);align-items:center;gap:4px;font-size:13px;display:inline-flex}.tutorial-task-done{color:var(--color-success);font-weight:600}.tutorial-action-btn{transition:transform var(--dur-fast) var(--ease-out), filter var(--dur-fast) var(--ease-out);align-items:center;gap:6px;display:inline-flex}.tutorial-action-btn:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}.tutorial-action-btn:active:not(:disabled){transform:translateY(0)}.tutorial-action-btn:disabled{opacity:.6;cursor:not-allowed}.tutorial-complete{align-items:center;gap:var(--spacing-md);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-success) 14%, transparent);color:var(--color-success-strong);animation:tutorial-fade var(--dur-med) var(--ease-out);padding:14px 16px;display:flex}.tutorial-complete h4{color:var(--color-text-primary);margin:0;font-size:15px}.tutorial-complete p{color:var(--color-text-secondary);margin:2px 0 0;font-size:13px}.tutorial-optional-block{gap:var(--spacing-sm);margin-top:var(--spacing-md);padding:var(--spacing-lg);border-radius:var(--tut-radius);border:1px dashed var(--color-border-strong);background:var(--tut-soft);flex-direction:column;display:flex}.tutorial-optional-head{justify-content:space-between;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.tutorial-optional-lock{border-radius:var(--radius-pill);color:var(--color-text-tertiary);background:var(--fill-soft);align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.tutorial-topic--realestate{--tut-topic-color:#14b8a6}.tutorial-topic--banking{--tut-topic-color:#6366f1}.tutorial-topic--inventory{--tut-topic-color:#f43f5e}.tutorial-reference{gap:var(--spacing-sm);margin-top:var(--spacing-md);flex-direction:column;display:flex}.tutorial-reference-title{margin:0;font-size:18px;font-weight:700}.tutorial-reference-grid{gap:var(--spacing-sm);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-items:start;display:grid}.tutorial-reference-card{background:var(--tut-card-bg);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:box-shadow var(--dur-fast) var(--ease-out)}.tutorial-reference-card:hover{box-shadow:var(--shadow-md)}.tutorial-reference-card>summary{font-size:14px}.tutorial-footer{margin-top:var(--spacing-sm);justify-content:flex-end;display:flex}.tutorial-ghost-btn{border-radius:var(--radius-pill);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;align-items:center;gap:6px;padding:8px 14px;font-size:13px;display:inline-flex}.tutorial-ghost-btn:hover:not(:disabled){background:var(--fill-soft);color:var(--color-text-primary)}@media (width<=640px){.tutorial-overview,.tutorial-topic{padding:var(--spacing-md)}.tutorial-topic-counter{margin-left:auto}.tutorial-step{gap:var(--spacing-sm);padding:12px}.tutorial-step-num{width:26px;height:26px;font-size:12px}.tutorial-reference-grid{grid-template-columns:1fr}.tutorial-footer{justify-content:stretch}.tutorial-ghost-btn{justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){.tutorial-tab *,.tutorial-tab :before,.tutorial-tab :after{transition:none!important;animation:none!important}}.tour-root{z-index:var(--z-tour,1200);pointer-events:none;position:fixed;inset:0}.tour-root .tour-card{pointer-events:auto}.modal-overlay,.tv-confirm-overlay,.market-buy-modal-overlay{z-index:1300}.tour-blocker{pointer-events:none;background:0 0;position:fixed;inset:0}.tour-blocker--dim{background:var(--tour-dim,#0000008c)}.tour-blocker--passthrough{pointer-events:none}.tour-hole{border-radius:var(--radius-sm);box-shadow:0 0 0 2px var(--color-warning);pointer-events:none;transition:top .25s,left .25s,width .25s,height .25s;position:fixed}.tour-card{background:var(--color-bg-elevated);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-lg);box-shadow:var(--shadow-xl);position:fixed}.tour-card--center{width:min(420px,100vw - 32px);top:50%;left:50%;transform:translate(-50%,-50%)}.tour-card h3{color:var(--color-text-primary);margin:4px 0 8px;font-size:18px}.tour-card p{color:var(--color-text-secondary);margin:0 0 14px;line-height:1.5}.tour-counter{color:var(--color-text-tertiary);font-size:12px}.tour-drag-handle{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.tour-drag-handle:active{cursor:grabbing}.tour-card--dragged{transform:none}.tour-progress{background:var(--fill-soft);border-radius:2px;height:4px;margin-bottom:14px;overflow:hidden}.tour-progress>span{background:var(--color-accent);height:100%;transition:width .25s;display:block}.tour-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.tour-ghost,.tour-primary{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:8px 14px;font-size:14px}.tour-ghost{color:var(--color-text-primary);border-color:var(--color-border);background:0 0}.tour-ghost:hover{background:var(--fill-subtle)}.tour-primary{background:var(--color-accent);color:var(--on-accent);border-color:#0000}.tour-primary:hover{background:var(--color-accent-hover)}.tour-primary:disabled{opacity:.6;cursor:not-allowed}.tour-choices{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;display:grid}.tour-choice{background:var(--fill-subtle);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;padding:10px 12px;font-size:14px}.tour-choice:hover{border-color:var(--color-accent);background:var(--accent-soft)}.tour-check-error{color:var(--color-danger);margin:0 0 12px;font-size:13px}@media (width<=640px){.tour-choices{grid-template-columns:1fr}.tour-choice{min-height:44px}.tour-card--anchored{max-height:60vh;bottom:8px;right:8px;overflow-y:auto;width:auto!important;top:auto!important;left:8px!important}.tour-card--center{width:calc(100vw - 24px)}.tour-actions{flex-direction:column-reverse}.tour-actions button{width:100%;min-height:44px}.tour-hole{transition:none}}@media (prefers-reduced-motion:reduce){.tour-hole,.tour-progress>span{transition:none}}.tour-pulse{z-index:var(--z-tour-highlight,1250);outline:3px solid var(--color-warning);outline-offset:3px;box-shadow:0 0 0 6px var(--color-warning-soft,#ff950059);animation:1.2s ease-in-out infinite tour-pulse-anim;position:relative}@keyframes tour-pulse-anim{0%,to{box-shadow:0 0 0 6px var(--color-warning-soft,#ff950059)}50%{box-shadow:0 0 0 12px #0000}}@media (prefers-reduced-motion:reduce){.tour-pulse{animation:none}}.support-page{padding:var(--spacing-lg)}.support-status--pending{background:color-mix(in srgb, var(--color-warning) 22%, transparent);color:var(--color-warning)}.support-status--rejected{background:color-mix(in srgb, var(--color-danger) 22%, transparent);color:var(--color-danger)}.support-status--resolved{background:color-mix(in srgb, var(--color-success) 22%, transparent);color:var(--color-success)}.support-header{justify-content:space-between;align-items:center;gap:var(--spacing-md);margin-bottom:20px;display:flex}.support-page-title{align-items:center;gap:var(--spacing-sm);color:var(--color-text-primary);margin:0;font-size:1.5rem;display:flex}.support-header-actions{align-items:center;gap:var(--spacing-sm);display:flex}.support-open-btn,.support-card-btn,.support-cancel-btn{border-radius:var(--radius-sm);background:var(--color-accent);min-height:36px;color:var(--on-accent);cursor:pointer;font:inherit;transition:background-color var(--dur-fast) var(--ease-out);border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:8px 14px;display:inline-flex}.support-open-btn:hover{background:var(--color-accent-hover)}.support-open-btn:active{background:var(--color-accent-active)}.support-open-btn:disabled{opacity:.5;cursor:not-allowed}.support-cancel-btn{border-color:var(--color-border);color:var(--color-text-primary);background:0 0}.support-cancel-btn:hover{background:var(--fill-subtle)}.support-empty{color:var(--color-text-secondary)}.support-grid{gap:var(--spacing-md);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.support-card{padding:var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-secondary);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;display:flex}.support-card-top{justify-content:space-between;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.support-status{border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--color-accent);padding:2px 8px;font-size:.8rem}.support-reason{color:var(--color-text-primary);font-weight:600}.support-date{color:var(--color-text-tertiary);font-size:.8rem}.support-card-text{-webkit-line-clamp:3;line-clamp:3;color:var(--color-text-secondary);-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.support-card-btn{border-color:var(--color-border);color:var(--color-accent);background:0 0;align-self:flex-start;margin-top:auto}.support-card-btn:hover{background:var(--accent-soft);border-color:var(--color-accent)}.support-overlay{background:var(--tour-dim,#0000008c);z-index:var(--z-overlay,1000);padding:var(--spacing-md);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.support-modal{border-radius:var(--radius-lg);background:var(--color-bg-elevated);width:100%;max-width:620px;max-height:90vh;color:var(--color-text-primary);border:1px solid var(--color-border);box-shadow:var(--shadow-xl);flex-direction:column;gap:14px;padding:20px;display:flex;overflow-y:auto}.support-modal-head{justify-content:space-between;align-items:center;gap:var(--spacing-sm);display:flex}.support-modal-head h2{color:var(--color-text-primary);margin:0;font-size:1.2rem}.support-icon-btn{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.support-icon-btn:hover{background:var(--fill-subtle);color:var(--color-text-primary)}.support-label{color:var(--color-text-secondary);flex-direction:column;gap:6px;font-size:.9rem;display:flex}.support-input{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-tertiary);color:var(--color-text-primary);font:inherit;resize:vertical;padding:8px 10px}.support-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.support-admin-filters{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.support-filter-tab{border:1px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text-secondary);border-radius:var(--radius-pill);cursor:pointer;font:inherit;padding:8px 14px}.support-filter-tab.active,.support-filter-tab:hover{color:var(--on-accent);background:var(--color-accent);border-color:var(--color-accent)}.admin-bugs{padding:4px}.admin-bugs-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.admin-bugs-head h2{color:var(--color-text-primary);align-items:center;gap:8px;margin:0;display:flex}.admin-bugs-head p{color:var(--color-text-secondary);margin:5px 0 0}.admin-bug-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.admin-bug-card{text-align:left;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);width:100%;color:var(--color-text-primary);cursor:pointer;font:inherit;align-items:flex-start;gap:12px;padding:16px;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex}.admin-bug-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.admin-bug-icon{min-width:38px;height:38px;color:var(--color-warning);background:color-mix(in srgb, var(--color-warning) 18%, transparent);border-radius:12px;place-items:center;display:grid}.admin-bug-icon--fixed{color:var(--color-success);background:color-mix(in srgb, var(--color-success) 18%, transparent)}.admin-bug-card-body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.admin-bug-card-body b{font-size:1rem}.admin-bug-card-body small{color:var(--color-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.admin-bug-card-body em{color:var(--color-text-tertiary);font-size:.78rem;font-style:normal}.admin-bug-detail{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-tertiary);padding:15px}.admin-bug-detail p{white-space:pre-wrap;color:var(--color-text-primary);margin:8px 0 14px}.support-modal-actions{justify-content:flex-end;gap:10px;display:flex}.support-field{flex-direction:column;gap:4px;display:flex}.support-field-label{color:var(--color-text-tertiary);font-size:.85rem}.support-field-value{white-space:pre-wrap;color:var(--color-text-primary);margin:0}.support-chat{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-tertiary);flex-direction:column;gap:10px;max-height:48vh;padding:14px;display:flex;overflow-y:auto}.support-message{background:var(--color-bg-secondary);border:1px solid var(--color-border);max-width:84%;color:var(--color-text-primary);white-space:pre-wrap;border-radius:14px;flex-direction:column;gap:5px;padding:10px 13px;display:flex}.support-message--player{border-top-left-radius:4px;align-self:flex-start}.support-message--admin{background:var(--accent-soft);border-color:color-mix(in srgb, var(--color-accent) 35%, var(--color-border));border-top-right-radius:4px;align-self:flex-end}.support-message b{color:var(--color-accent);font-size:.75rem}.support-message a{color:var(--color-accent);font-size:.8rem;text-decoration:underline}.support-chat-compose{grid-template-columns:1fr auto;align-items:end;gap:10px;display:grid}.support-chat-compose textarea{grid-column:1/-1}@media (width<=900px){.support-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.admin-bug-list{grid-template-columns:1fr}.admin-bugs-head{flex-direction:column;align-items:stretch}.support-page{padding:var(--spacing-md)}.support-grid{grid-template-columns:1fr}.support-header{flex-wrap:wrap}.support-header-actions,.support-open-btn{width:100%}.support-modal-actions button{flex:1;min-height:44px}}
