.token-page{z-index:1;flex-direction:column;min-height:100vh;display:flex;position:relative}.token-grid{grid-template-columns:minmax(0,1fr) 360px;align-items:flex-start;gap:24px;padding:24px 0 80px;display:grid}.token-left{flex-direction:column;gap:16px;min-width:0;display:flex}.token-right{flex-direction:column;gap:12px;display:flex;position:sticky;top:80px}.token-header{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;align-items:center;gap:16px;padding:20px 24px;display:flex}.token-header-avatar{color:#0a0a0b;border-radius:50%;flex-shrink:0;place-items:center;width:52px;height:52px;font-size:18px;font-weight:700;display:grid;overflow:hidden}.token-header-avatar img{object-fit:cover;width:100%;height:100%}.token-header-info{flex:1;min-width:0}.token-header-name{letter-spacing:-.02em;align-items:center;gap:10px;font-size:20px;font-weight:700;display:flex}.token-header-symbol{font-family:var(--font-mono);color:var(--fg-dim);font-size:13px;font-weight:500}.token-header-meta{flex-wrap:wrap;align-items:center;gap:12px;margin-top:4px;display:flex}.token-header-creator{color:var(--fg-dim);font-size:12px;font-family:var(--font-mono);align-items:center;gap:5px;display:flex}.token-header-creator a{color:var(--mint);transition:opacity .15s}.token-header-creator a:hover{opacity:.8}.token-graduated-badge{color:#22c55e;font-size:11px;font-weight:600;font-family:var(--font-mono);letter-spacing:.04em;background:#22c55e1f;border:1px solid #22c55e40;border-radius:5px;align-items:center;gap:6px;padding:3px 9px;display:inline-flex}.token-new-badge{font-size:11px;font-family:var(--font-mono);color:var(--mint);border:1px solid var(--border-hover);background:var(--mint-dim);border-radius:5px;padding:3px 8px}.token-protocol-badge{color:var(--mint);font-size:10px;font-weight:700;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:#97fce414;border:1px solid #97fce44d;border-radius:5px;align-items:center;gap:6px;padding:3px 9px;display:inline-flex}.token-header-stats{gap:24px;display:flex}.token-stat{text-align:right;flex-direction:column;gap:2px;display:flex}.token-stat .k{color:var(--fg-dim);text-transform:uppercase;letter-spacing:.06em;font-size:10.5px}.token-stat .v{font-family:var(--font-mono);letter-spacing:-.01em;color:var(--fg);font-size:15px;font-weight:600}.token-stat .v .unit{color:var(--fg-dim);margin-left:3px;font-size:11px;font-weight:400}.chart-panel{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;overflow:hidden}.chart-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.chart-timeframes{border:1px solid var(--border);background:#ffffff08;border-radius:7px;gap:2px;padding:3px;display:flex}.tf-btn{font-size:11.5px;font-family:var(--font-mono);color:var(--fg-dim);border-radius:5px;padding:4px 10px;font-weight:500;transition:all .12s}.tf-btn:hover{color:var(--fg);background:#ffffff0a}.tf-btn.active{color:var(--fg);background:#ffffff14}.chart-view-toggle{border:1px solid var(--border);background:#ffffff08;border-radius:7px;gap:2px;padding:3px;display:flex}.cv-btn{color:var(--fg-dim);border-radius:5px;padding:4px 12px;font-size:11.5px;font-weight:500;transition:all .12s}.cv-btn:hover{color:var(--fg)}.cv-btn.active{color:var(--mint);background:var(--mint-dim)}.chart-price-display{align-items:baseline;gap:8px;display:flex}.chart-price-display .price{font-family:var(--font-mono);letter-spacing:-.01em;font-size:18px;font-weight:600}.chart-price-display .price-unit{color:var(--fg-dim);font-size:11px;font-family:var(--font-mono)}.chart-price-display .price-change{font-family:var(--font-mono);border-radius:4px;padding:2px 7px;font-size:12px;font-weight:600}.price-change.up{color:#22c55e;background:#22c55e1a}.price-change.down{color:var(--red);background:var(--red-dim)}.chart-container{height:320px}.tabs-panel{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;overflow:hidden}.tabs-nav{border-bottom:1px solid var(--border);background:#ffffff03;display:flex}.tab-btn{color:var(--fg-muted);border-bottom:2px solid #0000;margin-bottom:-1px;padding:12px 18px;font-size:13px;font-weight:500;transition:all .15s}.tab-btn:hover{color:var(--fg)}.tab-btn.active{color:var(--fg);border-bottom-color:var(--mint)}.tab-content{padding:0}.tx-table{border-collapse:collapse;width:100%}.tx-table th{text-transform:uppercase;letter-spacing:.07em;color:var(--fg-dim);text-align:left;border-bottom:1px solid var(--border);background:#ffffff03;padding:10px 16px;font-size:10.5px;font-weight:500}.tx-table td{vertical-align:middle;border-bottom:1px solid #ffffff0a;padding:11px 16px;font-size:12.5px}.tx-table tr:last-child td{border-bottom:none}.tx-table tr:hover td{background:#ffffff05}.tx-type{font-family:var(--font-mono);letter-spacing:.05em;border-radius:4px;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.tx-type.buy{color:#22c55e;background:#22c55e1a}.tx-type.sell{color:var(--red);background:var(--red-dim)}.tx-val{font-family:var(--font-mono);color:var(--fg);font-size:12.5px;font-weight:500}.tx-val .unit{color:var(--fg-dim);margin-left:3px;font-size:11px;font-weight:400}.tx-addr{font-family:var(--font-mono);color:var(--fg-muted);font-size:11.5px}.tx-time{font-family:var(--font-mono);color:var(--fg-dim);white-space:nowrap;font-size:11px}.tab-empty{text-align:center;color:var(--fg-dim);padding:40px 24px;font-size:13px}.tab-empty .t{color:var(--fg-muted);margin-bottom:4px;font-weight:500}.stats-panel{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;overflow:hidden}.stats-head{border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.08em;color:var(--fg-muted);background:#ffffff03;padding:12px 16px;font-size:11px;font-weight:500}.stats-grid{grid-template-columns:1fr 1fr;display:grid}.stat-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:14px 16px}.stat-cell:nth-child(2n){border-right:none}.stat-cell:nth-last-child(-n+2){border-bottom:none}.stat-cell .k{color:var(--fg-dim);text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px;font-size:10.5px}.stat-cell .v{font-family:var(--font-mono);color:var(--fg);letter-spacing:-.01em;font-size:15px;font-weight:600}.stat-cell .v .unit{color:var(--fg-dim);margin-left:3px;font-size:11px;font-weight:400}.trade-panel{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;overflow:hidden}.trade-tabs{border-bottom:1px solid var(--border);display:flex}.trade-tab{color:var(--fg-muted);text-align:center;border-bottom:2px solid #0000;flex:1;margin-bottom:-1px;padding:12px;font-size:13px;font-weight:600;transition:all .15s}.trade-tab:hover{color:var(--fg)}.trade-tab.buy.active{color:#22c55e;background:#22c55e0a;border-bottom-color:#22c55e}.trade-tab.sell.active{color:var(--red);border-bottom-color:var(--red);background:#ff7a7a0a}.trade-body{flex-direction:column;gap:12px;padding:16px;display:flex}.trade-input-group{flex-direction:column;gap:6px;display:flex}.trade-input-label{justify-content:space-between;align-items:center;display:flex}.trade-input-label .lbl{color:var(--fg-muted);font-size:12px;font-weight:500}.trade-input-label .bal{color:var(--fg-dim);font-size:11px;font-family:var(--font-mono);cursor:pointer}.trade-input-label .bal:hover{color:var(--mint)}.trade-input-shell{border:1px solid var(--border-strong);background:#00000040;border-radius:9px;align-items:center;gap:8px;height:52px;padding:0 6px 0 14px;transition:border-color .15s;display:flex}.trade-input-shell:focus-within{border-color:var(--border-focus)}.trade-input-shell input{font-family:var(--font-mono);color:var(--fg);flex:1;font-size:18px;font-weight:500}.trade-input-shell input::-webkit-outer-spin-button{-webkit-appearance:none}.trade-input-shell input::-webkit-inner-spin-button{-webkit-appearance:none}.trade-input-shell input[type=number]{-moz-appearance:textfield}.trade-input-shell .token-unit{font-family:var(--font-mono);color:var(--fg-dim);white-space:nowrap;font-size:12px}.trade-input-shell .max-btn{font-size:10.5px;font-weight:700;font-family:var(--font-mono);color:var(--mint);background:var(--mint-dim);letter-spacing:.04em;border-radius:5px;padding:4px 8px;transition:all .12s}.trade-input-shell .max-btn:hover{background:#97fce429}.trade-presets{gap:4px;display:flex}.trade-preset{font-size:11px;font-family:var(--font-mono);color:var(--fg-dim);border:1px solid var(--border);text-align:center;background:#ffffff08;border-radius:5px;flex:1;padding:5px 0;font-weight:600;transition:all .12s}.trade-preset:hover{color:var(--mint);border-color:var(--border-hover)}.trade-preset.active{color:var(--mint);border-color:var(--border-hover);background:var(--mint-dim)}.trade-arrow{text-align:center;color:var(--fg-dim);font-size:13px}.trade-output-shell{border:1px solid var(--border);background:#ffffff05;border-radius:9px;align-items:center;gap:8px;height:52px;padding:0 14px;display:flex}.trade-output-shell .out-val{font-family:var(--font-mono);color:var(--fg-muted);flex:1;font-size:18px;font-weight:500}.trade-output-shell .out-val.loaded{color:var(--fg)}.trade-output-shell .token-unit{font-family:var(--font-mono);color:var(--fg-dim);font-size:12px}.trade-details{flex-direction:column;gap:4px;display:flex}.trade-detail-row{justify-content:space-between;font-size:11.5px;display:flex}.trade-detail-row .dk{color:var(--fg-dim)}.trade-detail-row .dv{font-family:var(--font-mono);color:var(--fg-muted);font-weight:500}.trade-detail-row .dv.warn{color:var(--amber)}.slippage-row{align-items:center;gap:8px;display:flex}.slippage-row .dk{color:var(--fg-dim);flex:1;font-size:11.5px}.slippage-input-wrap{border:1px solid var(--border-strong);background:#0003;border-radius:6px;align-items:center;gap:4px;width:80px;padding:4px 8px;display:flex}.slippage-input-wrap input{font-family:var(--font-mono);color:var(--fg);text-align:right;width:40px;font-size:12.5px;font-weight:500}.slippage-input-wrap input::-webkit-outer-spin-button{-webkit-appearance:none}.slippage-input-wrap input::-webkit-inner-spin-button{-webkit-appearance:none}.slippage-input-wrap input[type=number]{-moz-appearance:textfield}.slippage-input-wrap .pct{font-family:var(--font-mono);color:var(--fg-dim);font-size:12px}.trade-action-btn{border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;height:48px;font-size:14px;font-weight:700;transition:all .15s;display:flex}.trade-action-btn.buy-btn{color:#0a0a0b;background:#22c55e}.trade-action-btn.buy-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 0 0 3px #22c55e26}.trade-action-btn.sell-btn{background:var(--red);color:#0a0a0b}.trade-action-btn.sell-btn:hover:not(:disabled){box-shadow:0 0 0 3px var(--red-dim);transform:translateY(-1px)}.trade-action-btn.approve-btn{color:var(--fg);border-color:var(--border-strong);background:#ffffff0f}.trade-action-btn.approve-btn:hover:not(:disabled){border-color:var(--mint);color:var(--mint)}.trade-action-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none!important;transform:none!important}.trade-connect-hint{text-align:center;color:var(--fg-dim);padding:4px 0;font-size:12px}.trade-graduated-msg{text-align:center;border-top:1px solid var(--border);padding:16px}.trade-graduated-msg .t{color:#22c55e;justify-content:center;align-items:center;gap:6px;margin-bottom:4px;font-size:13px;font-weight:600;display:flex}.trade-graduated-msg .s{color:var(--fg-dim);font-size:12px}.trade-graduated-msg a{color:var(--mint)}.progress-panel{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;padding:16px}.progress-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.progress-head .t{text-transform:uppercase;letter-spacing:.07em;color:var(--fg-muted);font-size:12px;font-weight:500}.progress-head .pct{font-family:var(--font-mono);color:var(--fg);font-size:13px;font-weight:600}.progress-track{background:#ffffff0f;border-radius:999px;height:6px;overflow:hidden}.progress-fill{background:var(--mint);height:100%;box-shadow:0 0 10px var(--mint-glow);border-radius:999px;transition:width .6s}.progress-amounts{font-size:11.5px;font-family:var(--font-mono);justify-content:space-between;margin-top:8px;display:flex}.progress-amounts .col{color:var(--fg-muted);font-weight:500}.progress-amounts .thresh{color:var(--fg-dim)}.progress-footnote{color:var(--fg-dim);margin-top:10px;font-size:11px;line-height:1.5}.graduated-state{flex-direction:column;gap:8px;display:flex}.graduated-badge-lg{color:#22c55e;background:#22c55e1a;border:1px solid #22c55e33;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:600;display:inline-flex}.graduated-sub{color:var(--fg-dim);font-size:12px}.graduated-sub a{color:var(--mint)}@keyframes shimmer{0%{opacity:.4}50%{opacity:.8}to{opacity:.4}}.skeleton{background:#ffffff12;border-radius:4px;animation:1.6s ease-in-out infinite shimmer;display:inline-block}.not-found-wrap{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:60vh;display:flex}.not-found-wrap .t{letter-spacing:-.01em;font-size:20px;font-weight:600}.not-found-wrap .s{color:var(--fg-muted);max-width:380px;font-size:14px;line-height:1.6}@media (max-width:1100px){.token-grid{grid-template-columns:1fr}.token-right{position:relative;top:0}.token-header-stats{display:none}}@media (max-width:640px){.token-header{flex-wrap:wrap}.chart-toolbar{gap:8px}.chart-timeframes{flex-wrap:wrap}}
