:root{--bg: #0a0907;--bg-elev: #12100c;--bg-card: #16130e;--bg-card-2: #1c1812;--border: #2a2418;--border-hot: #4a3a1a;--cream: #f3e6c8;--cream-dim: #c4b48e;--amber: #e8b84b;--amber-hot: #ffc857;--amber-glow: rgba(232, 184, 75, .18);--copper: #c47a3a;--green: #7dcf8a;--green-dim: #3d7a48;--red: #e07060;--blue: #6aa8d8;--muted: #7a6f58;--radius: 12px;--radius-sm: 8px;--font: "Segoe UI", system-ui, -apple-system, sans-serif;--mono: "SF Mono", "Cascadia Code", ui-monospace, Menlo, monospace;--shadow: 0 8px 28px rgba(0, 0, 0, .45)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%;background:var(--bg);color:var(--cream);font-family:var(--font);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}body{background-image:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(232,184,75,.08),transparent),radial-gradient(circle at 90% 80%,rgba(196,122,58,.06),transparent)}#app{max-width:1180px;margin:0 auto;padding:16px 16px 48px}.topbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:space-between;padding:12px 0 18px;border-bottom:1px solid var(--border);margin-bottom:16px}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:36px;height:36px;border-radius:50%;background:var(--bg-card);border:2px solid var(--amber);display:grid;place-items:center;box-shadow:0 0 16px var(--amber-glow);animation:spin-slow 8s linear infinite;animation-play-state:paused}.brand-mark.spinning{animation-play-state:running;border-color:var(--amber-hot)}@keyframes spin-slow{to{transform:rotate(360deg)}}.brand h1{margin:0;font-size:1.15rem;font-weight:700;letter-spacing:.02em;color:var(--cream)}.brand .tag{font-size:.7rem;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.top-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.live-pill{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--bg-card);border:1px solid var(--border);border-radius:999px;font-family:var(--mono);font-size:.75rem}.live-pill .dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}.live-pill.spinning .dot{background:var(--green);box-shadow:0 0 8px var(--green);animation:pulse 1s ease-in-out infinite}.live-pill.idle .dot{background:var(--amber)}.live-pill.practice .dot{background:var(--blue)}.live-pill.stale .dot,.live-pill.error .dot{background:var(--red)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}button,.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border-hot);background:var(--bg-card-2);color:var(--cream);font:inherit;font-weight:600;padding:8px 14px;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s,border-color .15s,transform .1s,box-shadow .15s}button:hover:not(:disabled),.btn:hover{border-color:var(--amber);background:#221c12}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:linear-gradient(180deg,#e8b84b,#c4922e);color:#1a1208;border-color:#f0c86a;box-shadow:0 2px 12px var(--amber-glow)}button.primary:hover:not(:disabled){background:linear-gradient(180deg,#ffc857,#e8b84b);border-color:var(--amber-hot)}button.ghost{background:transparent;border-color:var(--border);color:var(--cream-dim)}button.danger{border-color:#5a3028;color:var(--red)}button.sm{padding:5px 10px;font-size:.8rem}button.selected{border-color:var(--amber);background:var(--amber-glow);box-shadow:inset 0 0 0 1px var(--amber)}.grid-desk{display:grid;grid-template-columns:1fr;gap:14px}@media(min-width:900px){.grid-desk{grid-template-columns:1.15fr .85fr;align-items:start}.col-span-full{grid-column:1 / -1}}.panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow)}.panel h2{margin:0 0 10px;font-size:.95rem;font-weight:700;display:flex;align-items:center;gap:8px;color:var(--cream)}.panel h2 .hint{margin-left:auto;font-size:.7rem;font-weight:500;color:var(--muted);text-transform:none}.panel-sub{color:var(--muted);font-size:.8rem;margin:-4px 0 12px}.wallet-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-bottom:12px}.stat{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px}.stat .label{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.stat .value{font-family:var(--mono);font-size:1.05rem;font-weight:700;color:var(--amber);margin-top:2px}.stat .value.cream{color:var(--cream)}.stat .value.green{color:var(--green)}.card-row{display:flex;flex-wrap:wrap;gap:8px}.nft-card{width:118px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .1s;position:relative;-webkit-user-select:none;user-select:none}.nft-card:hover{border-color:var(--border-hot)}.nft-card.selected{border-color:var(--amber);box-shadow:0 0 0 1px var(--amber),0 0 16px var(--amber-glow)}.nft-card .lvl{position:absolute;top:6px;right:6px;font-size:.65rem;font-weight:700;color:var(--amber);background:#e8b84b1f;padding:2px 5px;border-radius:4px}.nft-card .icon{width:40px;height:40px;margin:4px auto 8px;display:block}.nft-card .name{font-size:.75rem;font-weight:600;color:var(--cream);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nft-card .meta{font-family:var(--mono);font-size:.7rem;color:var(--cream-dim);margin-top:2px}.nft-card.tracker{width:148px;border-color:#3a3020}.nft-card.tracker .accrued{margin-top:6px;padding-top:6px;border-top:1px dashed var(--border);font-size:.7rem;color:var(--green);font-family:var(--mono)}.nft-card.tip-card{width:128px}.nft-card.empty-hint{cursor:default;opacity:.7;width:auto;min-width:140px;padding:16px;text-align:center;color:var(--muted);font-size:.8rem}.seg{display:inline-flex;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px;gap:2px}.seg button{border:none;background:transparent;padding:6px 12px;border-radius:6px;color:var(--muted);font-weight:600}.seg button.active{background:var(--bg-card-2);color:var(--amber);box-shadow:0 1px 4px #0000004d}.merge-preview{margin-top:10px;padding:10px 12px;background:var(--bg-elev);border:1px dashed var(--border-hot);border-radius:var(--radius-sm);font-family:var(--mono);font-size:.78rem;color:var(--cream-dim)}.merge-preview strong{color:var(--amber)}.merge-preview .bump{color:var(--green)}.tax-form{display:flex;flex-wrap:wrap;gap:8px;align-items:end;margin-bottom:10px}.field{display:flex;flex-direction:column;gap:4px}.field label{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.field input{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--cream);padding:8px 10px;font-family:var(--mono);font-size:.9rem;width:140px}.field input:focus{outline:none;border-color:var(--amber)}.progress-bar{height:8px;background:var(--bg-elev);border-radius:999px;overflow:hidden;border:1px solid var(--border);margin:8px 0}.progress-bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--copper),var(--amber));transition:width .3s ease}.toast-log{max-height:120px;overflow-y:auto;font-family:var(--mono);font-size:.72rem;color:var(--cream-dim);background:var(--bg-elev);border-radius:var(--radius-sm);padding:8px 10px;border:1px solid var(--border)}.toast-log .line{padding:2px 0;border-bottom:1px solid transparent}.toast-log .line:last-child{border:none}.toast-log .ok{color:var(--green)}.toast-log .warn{color:var(--amber)}.toast-log .err{color:var(--red)}.about-panel{display:none}.about-panel.open{display:block}.about-panel a{color:var(--amber);text-decoration:none}.about-panel a:hover{text-decoration:underline}.about-panel ul{margin:8px 0;padding-left:18px;color:var(--cream-dim)}.about-panel li{margin:4px 0}.welcome{text-align:center;padding:48px 20px;max-width:520px;margin:40px auto}.welcome .hero-wheel{width:88px;height:88px;margin:0 auto 20px;border-radius:50%;border:3px solid var(--amber);display:grid;place-items:center;box-shadow:0 0 40px var(--amber-glow);animation:spin-slow 6s linear infinite}.welcome h1{font-size:1.75rem;margin:0 0 8px}.welcome p{color:var(--cream-dim);margin:0 0 20px}.kit-preview{text-align:left;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin:0 0 20px;font-size:.85rem;color:var(--cream-dim)}.kit-preview strong{color:var(--amber)}.rush-banner{display:none;align-items:center;gap:10px;padding:8px 14px;background:linear-gradient(90deg,#7dcf8a26,#e8b84b1a);border:1px solid var(--green-dim);border-radius:var(--radius-sm);margin-bottom:14px;font-weight:700;color:var(--green);animation:rush-glow 1.5s ease-in-out infinite}.rush-banner.show{display:flex}@keyframes rush-glow{0%,to{box-shadow:0 0 0 transparent}50%{box-shadow:0 0 20px #7dcf8a40}}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.empty{color:var(--muted);font-size:.85rem;padding:8px 0}.badge{display:inline-block;font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:4px;background:#e8b84b26;color:var(--amber);vertical-align:middle}.badge.green{background:#7dcf8a26;color:var(--green)}.badge.blue{background:#6aa8d826;color:var(--blue)}.footer-note{margin-top:24px;text-align:center;font-size:.75rem;color:var(--muted)}.footer-note a{color:var(--cream-dim)}.eth-addr{font-family:var(--mono);font-size:.7rem;color:var(--muted);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast-log::-webkit-scrollbar{width:6px}.toast-log::-webkit-scrollbar-thumb{background:var(--border-hot);border-radius:3px}@media(max-width:600px){.nft-card,.nft-card.tracker,.nft-card.tip-card{width:calc(50% - 6px);min-width:100px}.field input{width:110px}}
