:root { --ink:#ecf6f2; --muted:#81918e; --line:rgba(159,197,187,.13); --panel:#0a1211; --panel-2:#0d1715; --mint:#57e8bd; --mint-dim:#1c7e69; --amber:#efb34b; --red:#f07570; --mono:"DM Mono",monospace; --sans:"Manrope",Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-width:320px; color:var(--ink); background:#07100f; font-family:var(--sans); font-size:13px; letter-spacing:0; }
button,input { font:inherit; } button { cursor:pointer; } button:focus-visible,input:focus-visible { outline:2px solid var(--mint); outline-offset:2px; }
.grain { position:fixed; inset:0; opacity:.05; pointer-events:none; z-index:10; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E"); }
.topbar { height:70px; display:grid; grid-template-columns:1fr auto auto auto; align-items:center; gap:clamp(18px,3vw,42px); padding:0 clamp(20px,4vw,64px); border-bottom:1px solid var(--line); background:rgba(7,16,15,.88); position:sticky; top:0; z-index:5; backdrop-filter:blur(18px); }
.brand { display:flex; align-items:center; gap:9px; color:var(--ink); font-size:18px; font-weight:800; text-decoration:none; letter-spacing:0; }.brand-mark { display:grid; place-items:center; width:24px; height:24px; border-radius:50%; color:#06221b; background:var(--mint); font-size:13px; }.network { justify-self:center; display:flex; align-items:center; gap:7px; padding:6px 9px; color:#98aaa6; border:1px solid var(--line); font:10px var(--mono); }.live-dot,.status-chip i { width:6px; height:6px; border-radius:50%; background:var(--mint); box-shadow:0 0 12px var(--mint); }.network-id { color:var(--mint); border-left:1px solid var(--line); padding-left:7px; }.main-nav { display:flex; gap:28px; justify-self:center; }.main-nav a { color:#82918e; text-decoration:none; font-weight:700; }.main-nav a.active,.main-nav a:hover { color:var(--ink); }.wallet-button { justify-self:end; min-height:38px; padding:0 14px; border:1px solid rgba(87,232,189,.35); color:#d4faed; background:rgba(36,126,104,.12); font-weight:700; }.wallet-button:hover { background:rgba(87,232,189,.15); }.wallet-icon { color:var(--mint); margin-right:5px; }
.hero { position:relative; overflow:hidden; min-height:328px; padding:54px clamp(20px,8vw,128px); border-bottom:1px solid var(--line); }.hero-backdrop { position:absolute; inset:0; background:linear-gradient(90deg,#07100f 0%,rgba(7,16,15,.91) 36%,rgba(7,16,15,.3) 100%),url("assets/market-depth.png") center/cover; opacity:.96; }.hero-copy,.market-glance { position:relative; z-index:1; }.eyebrow { display:flex; align-items:center; gap:8px; margin:0 0 10px; color:var(--mint); font:10px var(--mono); letter-spacing:1.1px; }.pulse-ring { display:inline-block; width:7px; height:7px; background:var(--mint); border-radius:50%; box-shadow:0 0 0 5px rgba(87,232,189,.12),0 0 12px var(--mint); }.hero h1 { max-width:650px; margin:0; font-size:clamp(31px,4vw,52px); line-height:1.13; letter-spacing:0; }.hero h1 em { color:var(--mint); font-style:normal; }.hero-description { width:min(440px,100%); margin:14px 0 27px; color:#a0b0ad; line-height:1.6; }.hero-stats { display:flex; gap:38px; }.hero-stats div { display:grid; gap:3px; }.hero-stats span,.token-metrics span,.activity-strip span { color:var(--muted); font-size:10px; }.hero-stats strong { font:15px var(--mono); }.market-glance { position:absolute; right:clamp(20px,7vw,108px); bottom:43px; width:230px; padding:15px; border:1px solid rgba(159,197,187,.19); background:rgba(6,17,15,.59); backdrop-filter:blur(10px); }.glance-head { display:flex; justify-content:space-between; padding-bottom:12px; border-bottom:1px solid var(--line); color:#b9cbc7; font:9px var(--mono); }.glance-time { color:#70817e; }.radar-line { display:flex; justify-content:space-between; padding-top:11px; color:#899794; font-size:11px; }.radar-line strong { font:11px var(--mono); color:#e4efe9; }.mint { color:var(--mint)!important; }
.workspace { display:grid; grid-template-columns:236px minmax(490px,1fr) 336px; max-width:1520px; margin:0 auto; border-inline:1px solid var(--line); }.filter-panel,.feed-panel,.trade-panel { min-width:0; }.filter-panel { padding:25px 18px; background:#081110; border-right:1px solid var(--line); }.panel-heading,.feed-header,.feed-actions { display:flex; align-items:center; justify-content:space-between; }.panel-heading { padding:0 2px 20px; font-weight:700; }.text-button { padding:0; border:0; color:var(--mint); background:transparent; font-size:11px; }.search { display:flex; align-items:center; gap:7px; padding:0 9px; height:36px; border:1px solid var(--line); background:#0b1614; color:#82928e; }.search input { min-width:0; width:100%; color:var(--ink); background:transparent; border:0; outline:0; font-size:11px; }.filter-block { padding:20px 2px; border-bottom:1px solid var(--line); }.filter-block p { display:flex; justify-content:space-between; margin:0 0 11px; color:#9eada9; font-size:11px; }.filter-block p span { color:var(--mint); font-family:var(--mono); }.source-toggle { width:100%; display:flex; align-items:center; gap:7px; padding:10px; border:1px solid var(--line); text-align:left; color:#9cacA8; background:transparent; font-size:11px; }.source-toggle.selected { border-color:rgba(87,232,189,.42); color:#d8f7ec; background:rgba(87,232,189,.08); }.source-toggle span:last-child { margin-left:auto; color:var(--mint); font-family:var(--mono); }.source-spark { color:var(--amber); }.segmented { display:grid; grid-template-columns:1fr 1fr 1fr; padding:2px; background:#0d1715; border:1px solid var(--line); }.segmented button { padding:7px 1px; color:#84928e; border:0; background:transparent; font-size:10px; }.segmented button.selected { color:#dff9ee; background:#1a302b; }.filter-block input[type="range"] { width:100%; accent-color:var(--mint); }.check-row { display:flex; align-items:center; gap:8px; margin:10px 0 0; color:#94a39f; font-size:11px; }.check-row input { accent-color:var(--mint); }.filter-note { display:flex; gap:8px; margin-top:20px; padding:10px; color:#6f807b; background:#0d1715; line-height:1.55; font-size:10px; }.filter-note span { display:grid; flex:0 0 14px; place-items:center; height:14px; color:#9dafaa; border:1px solid #58706a; border-radius:50%; font-family:var(--mono); }.filter-note p { margin:0; }
.feed-panel { padding:25px 0 16px; background:#091210; }.feed-header { padding:0 24px 20px; }.compact { margin-bottom:7px; font-size:9px; }.feed-header h2 { margin:0; font-size:20px; letter-spacing:0; }.feed-header h2 span { color:#7d918b; font:11px var(--mono); vertical-align:middle; }.icon-button,.sort-button { height:31px; color:#9cacA7; border:1px solid var(--line); background:#0c1715; }.icon-button { width:31px; margin-right:6px; font-size:17px; }.icon-button:hover { color:var(--mint); }.icon-button:disabled { color:#40504c; cursor:not-allowed; }.sort-button { padding:0 10px; font-size:10px; }.sort-button span { margin-left:7px; color:var(--mint); }.table-labels,.token-row { display:grid; grid-template-columns:minmax(175px,1.55fr) .75fr .8fr .75fr .6fr 36px; align-items:center; column-gap:9px; }.table-labels { padding:9px 24px; color:#647570; border-block:1px solid var(--line); font:9px var(--mono); }.token-row { min-height:66px; padding:0 24px; border-bottom:1px solid rgba(159,197,187,.09); transition:background .2s; }.token-row:hover,.token-row.selected { background:#0e1c18; }.token-identity { display:flex; align-items:center; gap:10px; min-width:0; }.token-icon { display:grid; flex:0 0 32px; place-items:center; width:32px; height:32px; border-radius:8px; color:#07110f; background:var(--token-color); font:700 12px var(--mono); }.token-name { overflow:hidden; }.token-name strong { display:block; overflow:hidden; color:#dce8e3; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }.token-name span { color:#71827e; font:9px var(--mono); }.token-cell { color:#aebfba; font:10px var(--mono); white-space:nowrap; }.token-cell b { display:block; color:#dce8e3; font-weight:500; }.token-cell small { color:#70817c; font-size:8px; }.change-up { color:var(--mint)!important; }.change-down { color:var(--red)!important; }.row-action { display:grid; place-items:center; width:26px; height:26px; padding:0; color:#91a49e; border:1px solid transparent; background:transparent; font-size:15px; }.row-action:hover { color:var(--mint); border-color:var(--line); }.feed-pager { display:flex; align-items:center; justify-content:space-between; min-height:52px; padding:10px 24px 0; color:#71827e; font:10px var(--mono); }.feed-pager div { display:flex; gap:5px; }.feed-pager .icon-button { margin:0; }
.trade-panel { padding:20px; border-left:1px solid var(--line); background:#081110; }.trade-token { display:flex; align-items:center; gap:10px; min-height:42px; }.trade-token .token-icon { width:38px; height:38px; }.selected-token-name { flex:1; }.selected-token-name strong { display:block; font-size:14px; }.selected-token-name span { color:#7a8a86; font:10px var(--mono); }.verified-badge { padding:3px 5px; color:var(--mint); border:1px solid rgba(87,232,189,.3); font:8px var(--mono); }.chart-wrap { position:relative; height:161px; margin:16px 0 12px; overflow:hidden; background:#081512; }.chart-grid { position:absolute; inset:0; background:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px); background-size:100% 32px,62px 100%; opacity:.45; }.chart-wrap svg { position:absolute; inset:8px 0 18px; width:100%; height:126px; overflow:visible; }.chart-axis { position:absolute; right:0; bottom:0; left:0; display:flex; justify-content:space-between; color:#58706a; font:8px var(--mono); }.token-metrics { display:grid; grid-template-columns:1fr 1fr 1fr; padding:10px 0 16px; border-bottom:1px solid var(--line); }.token-metrics div { display:grid; gap:4px; }.token-metrics strong { color:#d8e6e1; font:10px var(--mono); }.trade-form { padding-top:18px; }.trade-tabs { display:grid; grid-template-columns:1fr 1fr; border-bottom:1px solid var(--line); }.trade-tabs button { padding:0 0 10px; color:#73847f; border:0; border-bottom:2px solid transparent; background:transparent; font-weight:700; }.trade-tabs button[data-mode="buy"].active { color:#2b8a6d; border-color:#2b8a6d; }.trade-tabs button[data-mode="sell"].active { color:var(--red); border-color:var(--red); }.amount-box { display:flex; align-items:flex-end; justify-content:space-between; margin-top:15px; padding:10px 12px; border:1px solid rgba(159,197,187,.22); background:#0d1a17; }.amount-box label { display:block; margin-bottom:5px; color:#7c8d88; font-size:10px; }.amount-box input { width:170px; color:#e7f3ee; border:0; background:transparent; outline:0; font:18px var(--mono); }.amount-box > span { color:#bed0c9; font:11px var(--mono); }.quick-amounts { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin-top:7px; }.quick-amounts button { height:25px; color:#8fa19b; border:1px solid var(--line); background:#0c1715; font:9px var(--mono); }.quick-amounts button:hover { color:var(--mint); border-color:rgba(87,232,189,.38); }.trade-details { display:grid; grid-template-columns:1fr auto; gap:9px; padding:15px 0; color:#768783; font-size:10px; }.trade-details strong,.trade-details button { color:#c5d7d0; border:0; background:transparent; font:10px var(--mono); text-align:right; }.trade-details button { padding:0; cursor:pointer; }.primary-trade { width:100%; height:42px; color:#06211a; border:0; background:var(--mint); font-weight:800; }.primary-trade:hover { background:#83f3d0; }.primary-trade:disabled { color:#62716c; background:#253c36; cursor:not-allowed; }.trade-disclaimer { min-height:31px; margin:10px 0 0; color:#6f807a; font-size:9px; line-height:1.55; }.activity-strip { display:flex; justify-content:space-between; max-width:1520px; margin:0 auto 30px; padding:13px 22px; border:1px solid var(--line); border-top:0; color:#9aaca6; background:#091210; font:10px var(--mono); }.activity-strip div { display:flex; align-items:center; gap:8px; }.activity-strip strong { color:#c6d5d0; font-weight:500; }.status-chip { display:flex; align-items:center; gap:6px; color:var(--mint)!important; }.toast { position:fixed; right:24px; bottom:24px; z-index:20; max-width:350px; padding:12px 14px; color:#daf0e7; border:1px solid rgba(87,232,189,.35); background:#10231e; box-shadow:0 16px 50px rgba(0,0,0,.45); transform:translateY(80px); opacity:0; transition:.22s; font-size:11px; }.toast.show { transform:translateY(0); opacity:1; }
.token-detail-main { width:min(1440px,calc(100% - 48px)); margin:0 auto; padding:28px 0 48px; }.breadcrumb { display:flex; gap:8px; color:#70817c; font:10px var(--mono); }.breadcrumb a { color:#91a49e; text-decoration:none; }.breadcrumb a:hover { color:var(--mint); }.detail-header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:24px 0 28px; border-bottom:1px solid var(--line); }.detail-identity { display:flex; align-items:center; gap:14px; min-width:0; }.detail-token-icon { display:grid; flex:0 0 54px; place-items:center; width:54px; height:54px; border:1px solid rgba(87,232,189,.35); border-radius:8px; color:#06211a; background:var(--mint); font:700 16px var(--mono); }.detail-identity h1 { margin:0; color:#e8f3ef; font-size:26px; letter-spacing:0; }.detail-identity p:last-child { overflow:hidden; max-width:500px; margin:5px 0 0; color:#81928d; text-overflow:ellipsis; white-space:nowrap; font:11px var(--mono); }.detail-actions { display:flex; align-items:center; gap:8px; }.copy-address,.open-external { display:grid; place-items:center; min-height:36px; color:#aabdb7; border:1px solid var(--line); background:#0b1614; text-decoration:none; font:10px var(--mono); }.copy-address { width:36px; font-size:16px; }.open-external { padding:0 12px; }.copy-address:hover,.open-external:hover { color:var(--mint); border-color:rgba(87,232,189,.4); }.detail-grid { display:grid; grid-template-columns:minmax(0,1fr) 265px; gap:18px; padding-top:20px; }.flap-panel,.detail-card { border:1px solid var(--line); background:#091210; }.flap-panel { min-width:0; }.detail-panel-heading { display:flex; align-items:center; justify-content:space-between; padding:17px 18px; border-bottom:1px solid var(--line); }.detail-panel-heading h2 { margin:0; font-size:17px; }.embed-status { display:flex; align-items:center; gap:6px; color:var(--mint); font:9px var(--mono); }.embed-status i { width:6px; height:6px; border-radius:50%; background:var(--mint); box-shadow:0 0 8px var(--mint); }.flap-frame-shell { position:relative; height:clamp(500px,65vh,760px); padding:24px; background:#07100f; }.flap-trade-chart { display:block; width:100%; height:calc(100% - 48px); min-height:360px; }.flap-chart-summary { display:flex; justify-content:space-between; gap:16px; padding-top:14px; color:#8da19b; font:10px var(--mono); }.flap-chart-summary strong { color:var(--mint); font-weight:500; }.iframe-error { display:grid; height:100%; place-items:center; color:#8b9c96; font-size:12px; }.embed-foot { display:flex; justify-content:space-between; gap:15px; padding:11px 18px; color:#71827e; font:10px var(--mono); }.embed-foot a { color:var(--mint); text-decoration:none; }.detail-sidebar { display:grid; align-content:start; gap:18px; }.detail-card { padding:16px; }.detail-card dl { margin:0; }.detail-card dl div { display:flex; justify-content:space-between; gap:12px; padding:11px 0; border-top:1px solid var(--line); }.detail-card dt { color:#768783; font-size:10px; }.detail-card dd { max-width:140px; margin:0; overflow:hidden; color:#c4d6d0; text-overflow:ellipsis; white-space:nowrap; font:10px var(--mono); }.detail-note { margin:9px 0 17px; color:#758680; line-height:1.6; font-size:11px; }.detail-list-link { display:flex; justify-content:space-between; color:var(--mint); text-decoration:none; font-size:11px; }.detail-list-link span { font-family:var(--mono); }
@media (max-width:1130px) { .workspace { grid-template-columns:220px 1fr; }.trade-panel { grid-column:2; border-top:1px solid var(--line); border-left:0; }.trade-panel .chart-wrap { max-width:620px; }.activity-strip { margin-inline:0; }.market-glance { display:none; } }
@media (max-width:770px) { .topbar { grid-template-columns:1fr auto; gap:0; height:62px; padding:0 16px; }.network,.main-nav { display:none; }.hero { min-height:356px; padding:42px 22px; }.hero-stats { gap:18px; }.workspace { display:block; border:0; }.filter-panel { border:0; border-bottom:1px solid var(--line); }.filter-panel .filter-block { display:none; }.filter-panel .filter-block:first-of-type { display:block; padding:14px 2px 0; border:0; }.feed-header { padding:20px 16px 16px; }.table-labels { display:none; }.token-row { grid-template-columns:minmax(150px,1fr) .9fr .9fr 28px; padding:0 16px; }.token-row > :nth-child(3),.token-row > :nth-child(5) { display:none; }.trade-panel { padding:18px 16px; }.activity-strip { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:14px 16px; }.wallet-button { padding:0 11px; }.wallet-button span:last-child { display:none; } }
@media (max-width:770px) { .token-detail-main { width:min(100% - 32px,640px); padding-top:18px; }.detail-header { align-items:flex-start; padding:18px 0; }.detail-token-icon { flex-basis:42px; width:42px; height:42px; font-size:13px; }.detail-identity h1 { font-size:18px; }.detail-identity p:last-child { max-width:190px; }.open-external { display:none; }.detail-grid { display:block; padding-top:14px; }.flap-frame-shell { height:560px; padding:14px; }.detail-sidebar { grid-template-columns:1fr 1fr; gap:10px; margin-top:10px; }.detail-card { padding:13px; }.embed-foot { padding:10px 12px; }.embed-foot > span { display:none; } }
.detail-grid-trade { grid-template-columns:minmax(0,1fr) 380px; }
.detail-toolbox { display:grid; gap:10px; justify-items:end; min-width:min(420px,100%); }
.detail-search { display:grid; grid-template-columns:minmax(0,1fr) auto; width:min(420px,100%); gap:8px; }
.detail-search input { min-width:0; height:38px; padding:0 12px; color:var(--ink); border:1px solid var(--line); background:#0b1614; outline:0; font:11px var(--mono); }
.detail-search button { min-width:72px; height:38px; color:#06211a; border:0; background:var(--mint); font-weight:800; }
.trade-sidebar { gap:14px; }
.trade-shell { padding:18px; }
.trade-topline { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.trade-topline h3 { margin:2px 0 0; font-size:18px; }
.trade-mode-tabs,.actor-tabs { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:14px; }
.trade-mode-tabs button,.actor-tabs button { height:36px; color:#8fa19b; border:1px solid var(--line); background:#0c1715; font-weight:700; }
.trade-mode-tabs button[data-mode="buy"].active { color:#dff7ef; border-color:#2b8a6d; background:#113a31; }
.trade-mode-tabs button[data-mode="sell"].active { color:#ffe4e2; border-color:var(--red); background:#3c1917; }
.actor-tabs button.active { color:#06211a; border-color:transparent; background:var(--mint); }
.actor-card,.rpc-config { margin-top:12px; padding:12px; border:1px solid var(--line); background:#0c1715; }
.actor-card-hidden { display:none; }
.actor-row { display:flex; gap:8px; align-items:center; }
.trade-actor-button { min-height:34px; flex:1; justify-self:auto; }
.trade-actor-button-ghost { color:#c6d7d1; border-color:var(--line); background:#10201b; }
.actor-pill { display:grid; place-items:center; min-width:92px; min-height:34px; padding:0 10px; color:#d6e9e1; border:1px solid var(--line); background:#091210; font:10px var(--mono); }
.private-field,.preset-field { display:grid; gap:6px; }
.private-field span,.preset-field span,.balance-strip span,.trade-stats span { color:#7c8d88; font-size:10px; }
.private-field input,.preset-field input { width:100%; height:38px; padding:0 12px; color:#e7f3ee; border:1px solid var(--line); background:#091210; outline:0; font:11px var(--mono); }
.actor-address { margin-top:10px; color:#def5ea; font:11px var(--mono); }
.private-hint { margin:9px 0 0; color:#758680; line-height:1.55; font-size:10px; }
.balance-strip { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:12px; }
.balance-strip div,.trade-stats div { padding:10px 12px; border:1px solid var(--line); background:#0a1412; }
.balance-strip strong,.trade-stats strong { display:block; margin-top:4px; color:#dff2eb; font:11px var(--mono); }
.detail-amount-box { margin-top:12px; }
.quick-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:10px; }
.preset-trigger { min-height:54px; color:#d7ebe3; border:1px solid var(--line); background:#0c1715; }
.preset-trigger span { display:block; font:14px var(--mono); }
.preset-trigger small { display:block; margin-top:4px; color:#7b8d87; font:9px var(--mono); }
.preset-editor { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:10px; }
.percent-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:10px; }
.percent-grid button { min-height:34px; color:#d7ebe3; border:1px solid var(--line); background:#10201b; font:10px var(--mono); }
.percent-grid-disabled button { opacity:.42; }
.trade-shell[data-mode="sell"] .percent-grid button { color:#ffe4e2; border-color:rgba(240,117,112,.38); background:#311817; }
.trade-shell[data-mode="sell"] .percent-grid button:hover { border-color:var(--red); background:#3c1917; }
.trade-stats { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:12px; }
.detail-trade-disclaimer { min-height:62px; margin-top:12px; }
@media (max-width:1130px) { .detail-grid-trade { grid-template-columns:1fr; }.detail-toolbox { min-width:0; width:100%; justify-items:stretch; }.detail-search { width:100%; } }
@media (max-width:770px) { .detail-toolbox { width:100%; }.detail-search { grid-template-columns:1fr; }.trade-mode-tabs,.actor-tabs,.quick-grid,.preset-editor,.percent-grid,.trade-stats,.balance-strip { grid-template-columns:1fr 1fr; }.detail-grid-trade { display:block; } .trade-sidebar { margin-top:12px; } }

.detail-grid-trade { grid-template-columns:minmax(0,1fr) 280px; }
.trade-sidebar { gap:12px; }
.floating-trade-window { position:fixed; top:92px; right:24px; z-index:18; width:min(390px,calc(100vw - 32px)); max-height:calc(100vh - 112px); padding:0; overflow:hidden; border:1px solid rgba(87,232,189,.18); background:rgba(9,18,16,.96); box-shadow:0 28px 90px rgba(0,0,0,.45); backdrop-filter:blur(14px); }
.floating-trade-window.is-dragging { box-shadow:0 34px 110px rgba(0,0,0,.58); border-color:rgba(87,232,189,.46); }
.floating-trade-handle { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:16px 18px 14px; border-bottom:1px solid var(--line); cursor:grab; user-select:none; background:linear-gradient(180deg,rgba(17,36,31,.92),rgba(9,18,16,.95)); }
.floating-trade-window.is-dragging .floating-trade-handle { cursor:grabbing; }
.floating-trade-handle h3 { margin:2px 0 0; font-size:18px; }
.floating-trade-meta { display:grid; justify-items:end; gap:8px; }
.drag-chip { display:inline-flex; align-items:center; min-height:24px; padding:0 9px; color:#9eb1aa; border:1px dashed rgba(159,197,187,.22); font:9px var(--mono); text-transform:uppercase; }
.floating-trade-body { max-height:calc(100vh - 170px); padding:14px 18px 18px; overflow:auto; }
.trade-shell { padding:0; }
.trade-section { margin-top:14px; padding:14px; border:1px solid var(--line); background:#0c1715; }
.trade-section-sell { border-color:rgba(240,117,112,.18); background:linear-gradient(180deg,rgba(48,24,22,.55),rgba(12,23,21,.95)); }
.trade-section-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:10px; }
.trade-section-head strong { display:block; font-size:14px; }
.trade-section-head span { color:#7c8d88; font-size:10px; }
.trade-section-tag { display:inline-flex; align-items:center; min-height:26px; padding:0 10px; border:1px solid var(--line); font:10px var(--mono); }
.buy-tag { color:#d5f8eb; border-color:rgba(87,232,189,.35); background:#143229; }
.sell-tag { color:#ffe0de; border-color:rgba(240,117,112,.35); background:#351917; }
.sell-amount-box { border-color:rgba(240,117,112,.25); background:#131817; }
.buy-shortcut { border-color:rgba(87,232,189,.18); background:linear-gradient(180deg,#10221d,#0d1715); }
.buy-shortcut:hover { border-color:rgba(87,232,189,.46); background:#143229; }
.percent-grid button { min-height:42px; color:#ffe4e2; border:1px solid rgba(240,117,112,.38); background:#311817; font:11px var(--mono); }
.percent-grid button:hover { border-color:var(--red); background:#3c1917; }
.trade-stats { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:14px; }
.trade-stat-wide { grid-column:1 / -1; }
.buy-action { margin-top:10px; color:#dff8ed; background:#123629; }
.buy-action:hover { background:#18523d; }
.sell-action { margin-top:10px; color:#ffe6e4; background:#5c201e; }
.sell-action:hover { background:#7a2926; }
.detail-trade-disclaimer { min-height:70px; margin:14px 0 0; padding:12px 0 0; border-top:1px solid var(--line); }

@media (max-width:1130px) {
  .detail-grid-trade { grid-template-columns:1fr; }
  .detail-sidebar { grid-template-columns:1fr; }
}

@media (max-width:770px) {
  .floating-trade-window { top:auto; right:16px; bottom:16px; left:16px; width:auto; max-height:56vh; }
  .floating-trade-body { max-height:calc(56vh - 64px); }
  .trade-section,.trade-stats,.balance-strip,.quick-grid,.preset-editor,.percent-grid,.actor-tabs { grid-template-columns:1fr 1fr; }
  .trade-section-head { flex-direction:column; }
}

.detail-grid-trade { grid-template-columns:minmax(0,1fr) 334px; }
.detail-panel-actions { display:flex; align-items:center; gap:10px; }
.quick-trade-trigger { min-height:32px; padding:0 11px; color:#dff8ed; border:1px solid rgba(87,232,189,.34); background:rgba(25,59,48,.88); font:10px var(--mono); }
.quick-trade-trigger.secondary { width:100%; margin-top:12px; background:#0f221c; }
.quick-trade-trigger:hover { border-color:rgba(87,232,189,.55); background:#174232; }

.side-trade-shell { padding:16px; }
.trade-topline { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.trade-topline h3 { margin:2px 0 0; font-size:18px; }
.trade-mode-tabs { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:14px; }
.trade-mode-tabs button { height:36px; color:#8fa19b; border:1px solid var(--line); background:#0c1715; font-weight:700; }
.trade-mode-tabs button.active { color:#f4fbf8; border-color:rgba(87,232,189,.35); background:#113a31; }
.sidebar-actor-strip { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:12px; padding:10px 12px; border:1px solid var(--line); background:#0c1715; }
.sidebar-actor-strip span { color:#7c8d88; font-size:10px; }
.sidebar-actor-strip strong { display:block; margin-top:4px; color:#dff2eb; font:11px var(--mono); }
.sidebar-actor-button { min-width:104px; justify-self:auto; }
.side-balance-strip { margin-top:12px; }
.side-quick-grid { grid-template-columns:repeat(4,1fr); }
.side-preset-trigger { min-height:50px; }
.side-preset-trigger small { display:block; margin-top:4px; color:#7b8d87; font:9px var(--mono); }
.sell-shortcut { color:#ffe4e2; border-color:rgba(240,117,112,.38); background:#311817; }
.sell-shortcut:hover { border-color:var(--red); background:#3c1917; }
.side-trade-stats { margin-top:12px; }
.side-primary-trade { margin-top:10px; }
.side-trade-footer { margin-top:6px; }

.quick-trade-modal { position:fixed; inset:0; z-index:9999; pointer-events:none; }
.quick-trade-modal-hidden { display:none; }
.quick-trade-backdrop { position:absolute; inset:0; background:rgba(2,8,7,.12); backdrop-filter:none; pointer-events:none; }
.quick-trade-panel { position:absolute; top:118px; left:20%; width:min(322px,calc(100vw - 40px)); overflow:hidden; border:1px solid rgba(87,232,189,.18); background:rgba(9,18,16,.98); box-shadow:0 28px 90px rgba(0,0,0,.62); backdrop-filter:blur(14px); outline:none; pointer-events:auto; }
.quick-trade-panel.is-dragging { box-shadow:0 34px 110px rgba(0,0,0,.65); border-color:rgba(87,232,189,.46); }
.floating-trade-handle { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:12px 14px 10px; border-bottom:1px solid var(--line); cursor:grab; user-select:none; background:linear-gradient(180deg,rgba(17,36,31,.92),rgba(9,18,16,.95)); }
.quick-trade-panel.is-dragging .floating-trade-handle { cursor:grabbing; }
.floating-trade-handle h3 { margin:2px 0 0; font-size:16px; }
.floating-trade-meta { display:flex; align-items:center; gap:8px; }
.quick-window-icon { position:relative; z-index:3; width:26px; height:26px; padding:0; color:#d6e9e1; border:1px solid var(--line); background:#0c1715; pointer-events:auto; }
.quick-window-icon:hover { color:var(--mint); border-color:rgba(87,232,189,.35); }
.quick-trade-window-actions { position:relative; z-index:3; display:flex; gap:6px; }
.floating-trade-body { position:relative; padding:12px 14px 14px; overflow:hidden; }
.quick-balance-strip { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:10px; }
.quick-balance-strip div { padding:10px 11px; border:1px solid var(--line); background:#0a1412; }
.quick-balance-strip span { color:#7c8d88; font-size:10px; }
.quick-balance-strip strong { display:block; margin-top:4px; color:#dff2eb; font:11px var(--mono); }
.quick-shortcut-section { margin-top:10px; padding:10px; border:1px solid var(--line); background:#0c1715; }
.quick-shortcut-section-buy { border-color:rgba(87,232,189,.15); background:linear-gradient(180deg,#0f211c,#0c1715); }
.quick-shortcut-section-sell { border-color:rgba(240,117,112,.18); background:linear-gradient(180deg,rgba(48,24,22,.55),rgba(12,23,21,.95)); }
.quick-shortcut-head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.quick-shortcut-head strong { display:block; font-size:13px; }
.quick-shortcut-head span { color:#7c8d88; font-size:10px; }
.quick-compact-grid { grid-template-columns:repeat(4,1fr); gap:6px; margin-top:8px; }
.quick-compact-grid .preset-trigger,
.quick-compact-grid button { min-height:44px; }
.quick-compact-grid .preset-trigger span,
.quick-compact-grid button { font:11px var(--mono); }
.quick-compact-grid .preset-trigger small { margin-top:3px; font-size:8px; }
.quick-settings-sheet { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding:12px; background:rgba(7,16,15,.92); z-index:4; }
.quick-settings-sheet-hidden { display:none; }
.quick-settings-card { width:100%; padding:12px; border:1px solid rgba(87,232,189,.18); background:#0b1614; box-shadow:0 18px 40px rgba(0,0,0,.32); }
.quick-settings-head { margin-bottom:10px; }
.quick-settings-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.quick-settings-grid input { width:100%; }
.quick-settings-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:10px; }
.quick-settings-button { min-height:34px; border:1px solid var(--line); font-weight:700; }
.quick-settings-cancel { color:#d8e6e1; background:#10201b; }
.quick-settings-save { color:#052119; background:var(--mint); border-color:transparent; }
.quick-trade-modal-minimized .quick-trade-panel { max-height:auto; height:auto; }
.quick-trade-modal-minimized .floating-trade-body { display:none; }
.quick-trade-modal-minimized .quick-trade-panel { width:250px; }
.quick-trade-dock { position:fixed; right:18px; bottom:18px; z-index:29; min-height:42px; padding:0 14px; color:#06211a; border:0; background:var(--mint); box-shadow:0 18px 42px rgba(0,0,0,.35); font-weight:800; }
.quick-trade-dock-hidden { display:none; }
.quick-trade-open { overflow:auto; }
.quick-trade-open .topbar,
.quick-trade-open .token-detail-main,
.quick-trade-open .quick-trade-dock {
  position:relative;
}

@media (max-width:1130px) {
  .detail-grid-trade { grid-template-columns:1fr; }
  .detail-sidebar { grid-template-columns:1fr; }
  .quick-trade-panel { left:50%; transform:translateX(-50%); }
}

@media (max-width:770px) {
  .quick-trade-panel { top:84px; left:16px; right:16px; width:auto; transform:none; }
  .side-quick-grid,.trade-mode-tabs,.actor-tabs,.percent-grid,.balance-strip,.trade-stats { grid-template-columns:1fr 1fr; }
  .quick-compact-grid { grid-template-columns:repeat(4,1fr); }
  .quick-settings-grid { grid-template-columns:1fr 1fr; }
  .detail-grid-trade { display:block; }
  .quick-trade-dock { right:16px; left:16px; bottom:16px; width:calc(100% - 32px); }
}
