body{background-color:#0e0e0e;color:#d0d0d0;font-family:Roboto Mono,monospace;font-size:12px;margin:0;overflow:hidden}.app-container{display:grid;grid-template-columns:1fr 260px;height:100vh}h2{color:#c3c3c3;font-size:14px;font-weight:500;margin:10px 0 5px 10px}.token-table{background-color:#2a424f;border-collapse:collapse;color:#d6d6d6;display:block;height:calc(100vh - 40px);width:100%}.token-table thead{background-color:#1b1b1b;position:-webkit-sticky;position:sticky;top:1;z-index:1}.token-table td,.token-table th{border-bottom:1px solid #1d1717;padding:1px 5px;text-align:left;white-space:nowrap}.token-table th{background:#181818;color:#9e9e9e;font-weight:600}.token-table tbody tr{background-color:#2a424f;transition:background-color .3s ease,color .3s ease}.token-table tbody tr:hover{background-color:#1f333d}.mint{cursor:pointer;font-family:monospace;max-width:250px;overflow:hidden;text-overflow:ellipsis;transition:background .2s ease;-webkit-user-select:none;user-select:none}.mint:hover{background:#1f1f1f;color:#fff;position:relative;white-space:normal;word-break:break-all;z-index:2}.marketcap-cell.gain{animation:fadeGain 1.8s ease forwards;background-color:#335a46!important;color:#cce3d4}.marketcap-cell.loss{animation:fadeLoss 1.8s ease forwards;background-color:#5a3333!important;color:#e1cfcf}@keyframes fadeGain{0%{background-color:#335a46;color:#d4e8d4}70%{background-color:#2e4e3d;color:#cde0ce}to{background-color:#2a424f;color:#d6d6d6}}@keyframes fadeLoss{0%{background-color:#5a3333;color:#e1cfcf}70%{background-color:#4d2c2c;color:#d9c6c6}to{background-color:#2a424f;color:#d6d6d6}}.stats-panel{background-color:#0e0e0e;border-left:1px solid #1a1a1a;color:#d4d4d4;display:flex;flex-direction:column;font-size:13px;line-height:1.5;overflow-y:auto;padding:10px 12px}.stats-block{margin-bottom:12px}.cap-title{color:#bababa;font-weight:600}.ws-status{color:#aaa;font-size:12px;margin:0 0 6px 10px}.ws-status.ok{color:#9ab59a}.ws-status.error{color:#b59a9a}.ws-status.disconnected{color:#b5b19a}.copy-toast{animation:fadeInOut 1.5s ease;background:#1a1a1a;border:1px solid #2b2b2b;border-radius:6px;box-shadow:0 0 5px #0000004d;color:#e0e0e0;font-size:13px;padding:6px 12px;position:fixed;right:15px;top:10px;z-index:9999}.token-table tbody{display:block;position:relative}.token-table tr{display:table;table-layout:fixed;transition:transform .35s ease,opacity .35s ease;width:100%}.fade-out{opacity:.4;transition:opacity 1.2s ease-out}.col-idx{text-align:center;width:15px}.col-created{width:80px}.col-name{width:120px}.col-symbol{text-align:center;width:80px}.col-mint{width:60px}.col-marketcap{text-align:right;width:120px}.col-growth{text-align:right;width:90px}.col-curve{text-align:right;width:80px}.col-ath{text-align:right;width:120px}.col-initial{text-align:right;width:100px}.col-creator{text-align:monospace;width:100px}td.col-marketcap{color:#d6d6d6!important;transition:background-color .4s ease}tr.gain td.col-marketcap{background-color:#50c87840}tr.loss td.col-marketcap{background-color:#ff5a5a40}tr.none td.col-marketcap{background-color:initial}td.col-growth{color:#d6d6d6;transition:color .4s ease}tr.gain td.col-growth{color:#85d085}tr.loss td.col-growth{color:#f59797}.col-mint{color:#d6d6d6;cursor:pointer;font-family:monospace;text-align:center;transition:color .2s ease,transform .1s ease}.col-mint:hover{color:#f0f0f0;transform:scale(1.05)}.col-creator{color:#d6d6d6;cursor:pointer;font-family:monospace;text-align:center;transition:color .2s ease,transform .1s ease}.col-creator:hover{color:#f0f0f0;transform:scale(1.05)}.copy-toast-center{animation:fadeInOut 1.5s ease;background:#1e1e1ee6;border:1px solid #fff3;border-radius:8px;box-shadow:0 0 10px #0006;color:#fff;font-size:16px;left:50%;padding:12px 22px;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:9999}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%,-60%)}15%{opacity:1;transform:translate(-50%,-50%)}85%{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(-50%,-40%)}}