*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0d0d1a;--surface: #161628;--surface2: #1e1e35;--gold: #f5c518;--gold2: #e0a800;--green: #27ae60;--red: #e74c3c;--text: #e8e8f0;--muted: #7a7a9a;--border: #2a2a4a;--radius: 12px}html,body,#root{height:100%;background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,sans-serif;overflow:hidden}button{cursor:pointer;border:none;font-family:inherit;font-size:.9rem;font-weight:600;border-radius:8px;padding:8px 18px;transition:all .15s}button:disabled{opacity:.4;cursor:not-allowed}.btn-gold{background:var(--gold);color:#000}.btn-gold:hover:not(:disabled){background:var(--gold2)}.btn-green{background:var(--green);color:#fff}.btn-green:hover:not(:disabled){background:#219a52}.btn-red{background:var(--red);color:#fff}.btn-red:hover:not(:disabled){background:#c0392b}.btn-ghost{background:var(--surface2);color:var(--text);border:1px solid var(--border)}.btn-ghost:hover:not(:disabled){background:var(--border)}input[type=number]{background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px 12px;font-size:1rem;width:100%;outline:none}input[type=number]:focus{border-color:var(--gold)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.badge{display:inline-block;padding:2px 10px;border-radius:20px;font-size:.75rem;font-weight:700}.badge-red{background:#4d1a1a;color:var(--red)}.badge-black{background:var(--surface2);color:var(--text)}.badge-green{background:#1a4d2e;color:var(--green)}.badge-gold{background:#4d3a00;color:var(--gold)}.tag-red{background:#c0392b;color:#fff}.tag-black{background:#222;color:#fff;border:1px solid #555}.tag-green{background:#27ae60;color:#fff}.scroll{overflow-y:auto}.scroll::-webkit-scrollbar{width:4px}.scroll::-webkit-scrollbar-track{background:transparent}.scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin-in{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes crash-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}
