body{color:#e0e0e8;-webkit-font-smoothing:antialiased;background:#0a0a0f;font-family:SF Mono,Fira Code,Cascadia Code,monospace}*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0a0f;--surface:#12121a;--surface-2:#1a1a26;--border:#2a2a3a;--text:#e0e0e8;--text-dim:#8888a0;--green:#00d26a;--green-dim:#00d26a26;--red:#ff4757;--red-dim:#ff475726;--accent:#6c5ce7;--accent-dim:#6c5ce726;--gold:#ffd32a}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:SF Mono,Fira Code,Cascadia Code,monospace}.app{max-width:1200px;margin:0 auto;padding:20px}header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:20px;padding:16px 0;display:flex}header h1{letter-spacing:-.5px;font-size:20px;font-weight:700}header h1 span{color:var(--accent)}.btc-price{font-size:24px;font-weight:700}.btc-price.up{color:var(--green)}.btc-price.down{color:var(--red)}.btc-change{margin-left:8px;font-size:13px}.chart-container{background:var(--surface);border:1px solid var(--border);border-radius:12px;min-height:400px;margin-bottom:20px;padding:16px}.chart-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.chart-header h2{color:var(--text-dim);font-size:14px;font-weight:500}.chart-timeframe{gap:4px;display:flex}.chart-timeframe button{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:6px;padding:4px 10px;font-family:inherit;font-size:12px;transition:all .2s}.chart-timeframe button.active,.chart-timeframe button:hover{background:var(--accent-dim);border-color:var(--accent);color:var(--text)}.dashboard{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (width<=768px){.dashboard{grid-template-columns:1fr}}.panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px}.panel h3{color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:16px;font-size:13px;font-weight:500}.prompt-area{background:var(--surface-2);border:1px solid var(--border);width:100%;color:var(--text);resize:none;border-radius:8px;height:80px;padding:12px;font-family:inherit;font-size:14px;transition:border-color .2s}.prompt-area:focus{border-color:var(--accent);outline:none}.prompt-footer{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.char-count{color:var(--text-dim);font-size:12px}.char-count.over{color:var(--red);font-weight:700}.submit-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 20px;font-family:inherit;font-size:13px;font-weight:600;transition:opacity .2s}.submit-btn:hover{opacity:.85}.submit-btn:disabled{opacity:.4;cursor:not-allowed}.stats-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.stat-card{background:var(--surface-2);border-radius:8px;padding:14px}.stat-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:11px}.stat-value{font-size:20px;font-weight:700}.stat-value.positive{color:var(--green)}.stat-value.negative{color:var(--red)}.leaderboard{margin-top:20px}.leaderboard-table{border-collapse:collapse;width:100%}.leaderboard-table th{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;text-align:left;border-bottom:1px solid var(--border);padding:8px 12px;font-size:11px;font-weight:500}.leaderboard-table td{border-bottom:1px solid var(--border);padding:10px 12px;font-size:13px}.leaderboard-table tr:last-child td{border-bottom:none}.rank{width:40px;font-weight:700}.rank-1{color:var(--gold)}.rank-2{color:silver}.rank-3{color:#cd7f32}.prompt-preview{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:12px;overflow:hidden}.pnl-cell.positive{color:var(--green)}.pnl-cell.negative{color:var(--red)}.trade-marker{border-radius:3px;padding:2px 4px;font-size:10px;font-weight:700;position:absolute}.trade-marker.buy{background:var(--green-dim);color:var(--green)}.trade-marker.sell{background:var(--red-dim);color:var(--red)}.status-bar{color:var(--text-dim);align-items:center;gap:16px;padding:10px 0;font-size:12px;display:flex}.status-dot{background:var(--green);border-radius:50%;width:6px;height:6px;margin-right:4px;animation:2s ease-in-out infinite pulse;display:inline-block}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.login-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:opacity .2s}.login-btn:hover{opacity:.85}.logout-btn{color:var(--text-dim);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;padding:6px 12px;font-family:inherit;font-size:12px;transition:all .2s}.logout-btn:hover{border-color:var(--red);color:var(--red)}.user-menu{align-items:center;gap:8px;display:flex}.user-avatar{border:1px solid var(--border);border-radius:50%;width:28px;height:28px}.judge-btn{color:var(--accent);border:1px solid var(--accent);cursor:pointer;background:0 0;border-radius:8px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s}.judge-btn:hover{background:var(--accent-dim)}.judge-btn:disabled{opacity:.4;cursor:not-allowed}
