:root{--bg: #0a0f0d;--bg-elevated: #101814;--bg-row: #0d1310;--line: #1c2a22;--text: #e8f0ea;--muted: #7a9184;--accent: #3dff9a;--accent-dim: #1a8f55;--warn: #ffb84d;--danger: #ff5c6c;--graduated: #5ce1ff;--font-display: "Syne", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-mono);background:radial-gradient(ellipse 90% 55% at 10% -10%,rgba(61,255,154,.12),transparent 55%),radial-gradient(ellipse 70% 40% at 90% 0%,rgba(92,225,255,.08),transparent 50%),linear-gradient(180deg,#0c1410 0%,var(--bg) 40%,#070a08 100%);color:var(--text);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}img{max-width:100%;display:block}.app-shell{max-width:1180px;margin:0 auto;padding:0 1rem 4rem}.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 0 1.4rem;border-bottom:1px solid var(--line);margin-bottom:1.5rem;animation:fade-down .5s ease both}.brand{display:flex;align-items:baseline;gap:.55rem;font-family:var(--font-display);font-weight:800;font-size:clamp(1.6rem,3vw,2rem);letter-spacing:-.03em;line-height:1}.brand span{color:var(--accent)}.brand-sub{font-family:var(--font-mono);font-size:.7rem;font-weight:400;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.nav-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.pill{border:1px solid var(--line);background:var(--bg-elevated);border-radius:999px;padding:.45rem .85rem;font-size:.75rem;color:var(--muted);transition:border-color .2s,color .2s,background .2s}.pill:hover{border-color:var(--accent-dim);color:var(--text)}.pill.primary{background:var(--accent);color:#04140c;border-color:var(--accent);font-weight:600}.pill.primary:hover{filter:brightness(1.05)}.wallet{font-size:.72rem;color:var(--accent);border:1px dashed var(--accent-dim);padding:.45rem .7rem;border-radius:6px;background:#3dff9a0f}.sim-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.65rem .9rem;margin-bottom:1.25rem;border:1px solid rgba(255,184,77,.35);background:#ffb84d14;border-radius:8px;font-size:.78rem;color:var(--warn);animation:fade-up .55s ease .05s both}.toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;margin-bottom:1.1rem}.search{flex:1;min-width:200px;max-width:420px;background:var(--bg-elevated);border:1px solid var(--line);border-radius:8px;padding:.7rem .9rem;outline:none;transition:border-color .2s}.search:focus{border-color:var(--accent-dim)}.filters{display:flex;gap:.4rem}.filter-btn{background:transparent;border:1px solid var(--line);border-radius:6px;padding:.45rem .7rem;font-size:.72rem;color:var(--muted)}.filter-btn.active{border-color:var(--accent);color:var(--accent);background:#3dff9a14}.token-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.85rem}.token-card{display:grid;grid-template-columns:72px 1fr;gap:.85rem;padding:.9rem;background:var(--bg-row);border:1px solid var(--line);border-radius:10px;transition:transform .2s ease,border-color .2s,background .2s;animation:fade-up .45s ease both}.token-card:hover{transform:translateY(-2px);border-color:var(--accent-dim);background:#111a15}.token-avatar{width:72px;height:72px;border-radius:8px;background:linear-gradient(135deg,#3dff9a40,#5ce1ff26),repeating-linear-gradient(-45deg,transparent,transparent 4px,rgba(61,255,154,.06) 4px,rgba(61,255,154,.06) 8px);display:grid;place-items:center;font-family:var(--font-display);font-weight:800;font-size:1.35rem;color:var(--accent);overflow:hidden}.token-avatar img{width:100%;height:100%;object-fit:cover}.token-meta h3{margin:0 0 .2rem;font-family:var(--font-display);font-size:1.05rem;font-weight:700;letter-spacing:-.02em}.token-meta .sym{color:var(--muted);font-size:.72rem}.token-meta p{margin:.35rem 0 .5rem;font-size:.72rem;color:var(--muted);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.stats-row{display:flex;flex-wrap:wrap;gap:.55rem;font-size:.68rem;color:var(--muted)}.stats-row strong{color:var(--text);font-weight:500}.badge{display:inline-block;font-size:.62rem;padding:.15rem .4rem;border-radius:4px;border:1px solid var(--line);text-transform:uppercase;letter-spacing:.04em}.badge.live{color:var(--accent);border-color:var(--accent-dim)}.badge.done{color:var(--graduated);border-color:#5ce1ff66}.progress{margin-top:.55rem;height:4px;background:#162019;border-radius:99px;overflow:hidden}.progress>i{display:block;height:100%;background:linear-gradient(90deg,var(--accent-dim),var(--accent));border-radius:inherit;transition:width .35s ease}.page-title{font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;letter-spacing:-.03em;margin:0 0 .35rem}.page-sub{margin:0 0 1.5rem;color:var(--muted);font-size:.85rem;max-width:42rem;line-height:1.5}.form-card{max-width:560px;display:grid;gap:.9rem;padding:1.25rem;background:var(--bg-elevated);border:1px solid var(--line);border-radius:12px;animation:fade-up .45s ease both}.field label{display:block;font-size:.72rem;color:var(--muted);margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.05em}.field input,.field textarea{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:.7rem .85rem;outline:none}.field input:focus,.field textarea:focus{border-color:var(--accent-dim)}.field textarea{min-height:90px;resize:vertical}.btn-launch{margin-top:.4rem;border:none;border-radius:8px;padding:.85rem 1rem;background:var(--accent);color:#04140c;font-weight:600;font-size:.9rem;transition:transform .15s ease,filter .15s}.btn-launch:hover{filter:brightness(1.06);transform:translateY(-1px)}.btn-launch:disabled{opacity:.5;cursor:not-allowed;transform:none}.detail-layout{display:grid;grid-template-columns:1.4fr .9fr;gap:1.25rem;align-items:start}@media(max-width:860px){.detail-layout{grid-template-columns:1fr}}.panel{background:var(--bg-elevated);border:1px solid var(--line);border-radius:12px;padding:1.1rem;animation:fade-up .45s ease both}.detail-head{display:grid;grid-template-columns:96px 1fr;gap:1rem;margin-bottom:1rem}.detail-head h1{margin:0;font-family:var(--font-display);font-size:1.7rem;letter-spacing:-.03em}.trade-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin-bottom:.9rem}.trade-tabs button{border:1px solid var(--line);background:transparent;border-radius:8px;padding:.6rem;color:var(--muted)}.trade-tabs button.active.buy{background:#3dff9a1f;border-color:var(--accent);color:var(--accent)}.trade-tabs button.active.sell{background:#ff5c6c1a;border-color:var(--danger);color:var(--danger)}.quote-line{margin:.6rem 0 .9rem;font-size:.75rem;color:var(--muted)}.kv{display:grid;gap:.45rem;margin-top:1rem;font-size:.75rem}.kv div{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;border-bottom:1px solid var(--line);color:var(--muted)}.kv strong{color:var(--text);font-weight:500;text-align:right;word-break:break-all}.empty{padding:2.5rem 1rem;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:10px}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fade-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
