:root{--bg-primary: #0f0f23;--bg-secondary: #1a1a2e;--bg-card: #16213e;--text-primary: #e4e4e7;--text-secondary: #a1a1aa;--accent: #6366f1;--primary: #6366f1;--green: #22c55e;--red: #ef4444;--yellow: #eab308}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh}.container{max-width:1400px;margin:0 auto;padding:0 1rem}.ticker-wrap{background:var(--bg-secondary);overflow:hidden;padding:.5rem 0;border-bottom:1px solid #333}.ticker{display:flex;animation:ticker 30s linear infinite;width:max-content}.ticker-item{display:flex;align-items:center;gap:.5rem;padding:0 2rem;white-space:nowrap}.ticker-item .emoji{font-size:1.2rem}.ticker-item .symbol{font-weight:600}.ticker-item .price{font-family:monospace}.ticker-item .change{font-size:.85rem;padding:.1rem .4rem;border-radius:4px}.ticker-item .change.up{background:#22c55e33;color:var(--green)}.ticker-item .change.down{background:#ef444433;color:var(--red)}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}header{background:var(--bg-secondary);padding:1rem 0;border-bottom:1px solid #333}header .container{display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.5rem;font-weight:700;color:var(--accent)}nav{display:flex;gap:1.5rem}nav a{color:var(--text-secondary);text-decoration:none;transition:color .2s}nav a:hover,nav a.active{color:var(--text-primary)}.user-info{display:flex;align-items:center;gap:1rem}.balance{font-family:monospace;color:var(--green)}.card{background:var(--bg-card);border-radius:12px;padding:1.5rem;border:1px solid #333}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.card-title{font-size:1.1rem;font-weight:600}.creature-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:1.5rem}.creature-card{background:var(--bg-card);border-radius:12px;padding:1.25rem;border:1px solid #333;cursor:pointer;transition:transform .2s,border-color .2s}.creature-card:hover{transform:translateY(-2px);border-color:var(--accent)}.creature-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.creature-emoji{font-size:2rem}.creature-name{font-weight:600}.creature-symbol{color:var(--text-secondary);font-size:.85rem}.creature-price{font-size:1.5rem;font-weight:700;font-family:monospace}.creature-change{font-size:.9rem;margin-top:.25rem}.creature-change.up{color:var(--green)}.creature-change.down{color:var(--red)}.creature-rarity{display:inline-block;font-size:.75rem;padding:.2rem .5rem;border-radius:4px;margin-top:.75rem}.rarity-Common{background:#666}.rarity-Uncommon{background:#22c55e}.rarity-Rare{background:#3b82f6}.rarity-Legendary{background:#a855f7}.rarity-Mythic{background:#f59e0b}.btn{padding:.6rem 1.2rem;border-radius:8px;border:none;font-weight:500;cursor:pointer;transition:opacity .2s}.btn:hover{opacity:.9}.btn-primary{background:var(--accent);color:#fff}.btn-buy{background:var(--green);color:#fff}.btn-outline{background:transparent;border:1px solid var(--accent);color:var(--accent)}input,select{background:var(--bg-primary);border:1px solid #444;border-radius:8px;padding:.75rem 1rem;color:var(--text-primary);font-size:1rem;width:100%}input:focus,select:focus{outline:none;border-color:var(--accent)}label{display:block;margin-bottom:.5rem;color:var(--text-secondary);font-size:.9rem}.form-group{margin-bottom:1rem}table{width:100%;border-collapse:collapse}th,td{padding:.75rem;text-align:left;border-bottom:1px solid #333}th{color:var(--text-secondary);font-weight:500}.trade-panel{display:grid;grid-template-columns:1fr 400px;gap:1.5rem;margin-top:1.5rem}.order-form{background:var(--bg-card);border-radius:12px;padding:1.5rem}.order-type-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.order-type-tabs button{flex:1;padding:.75rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;background:var(--bg-primary);color:var(--text-secondary)}.order-type-tabs button.active.buy{background:var(--green);color:#fff}.order-type-tabs button.active.sell{background:var(--red);color:#fff}.portfolio-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--bg-card);border-radius:12px;padding:1.25rem;text-align:center}.stat-value{font-size:1.5rem;font-weight:700;font-family:monospace}.stat-label{color:var(--text-secondary);font-size:.85rem;margin-top:.25rem}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-box{background:var(--bg-card);padding:2rem;border-radius:16px;width:100%;max-width:400px}.login-title{text-align:center;margin-bottom:2rem}.leaderboard-table tr:nth-child(1) td:first-child{color:gold}.leaderboard-table tr:nth-child(2) td:first-child{color:silver}.leaderboard-table tr:nth-child(3) td:first-child{color:#cd7f32}.chart-container{height:300px;margin-top:1rem}@media (max-width: 768px){.trade-panel{grid-template-columns:1fr}.portfolio-summary{grid-template-columns:repeat(2,1fr)}}.badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.badge-buy{background:#22c55e33;color:var(--green)}.badge-sell{background:#ef444433;color:var(--red)}.btn-sell{background:var(--red);color:#fff}.btn-sell:hover{background:#dc2626}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:#4f46e5}.flash-up{animation:flash-green 1.5s ease-out}.flash-down{animation:flash-red 1.5s ease-out}.flash-new{animation:flash-new-row 2s ease-out}@keyframes flash-green{0%{background-color:#22c55e4d}to{background-color:transparent}}@keyframes flash-red{0%{background-color:#ef44444d}to{background-color:transparent}}@keyframes flash-new-row{0%{background-color:#8b5cf64d}to{background-color:transparent}}.mono-value{font-family:monospace;transition:color .3s ease}.value-up{color:var(--green)!important}.value-down{color:var(--red)!important}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--green);display:inline-block;animation:pulse-dot 2s infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}
