:root{--bg:#070a10;--panel:#0d1119;--panel2:#111722;--line:#202938;--text:#f5f7fb;--muted:#8792a5;--green:#77f2a1;--cyan:#69d9ff;--yellow:#ffd86b;--red:#ff7a8c}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(circle at 50% -10%,#152235 0,transparent 36%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;min-height:100vh}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.12;background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);background-size:48px 48px}
.shell{position:relative;width:min(1160px,calc(100% - 32px));margin:auto;padding:38px 0 48px}
.hero{text-align:center;margin:34px auto 32px}
.brand{display:flex;justify-content:center;align-items:center;gap:10px;font-size:28px;font-weight:850;letter-spacing:.08em}
.brand-mark{display:grid;place-items:center;width:45px;height:35px;border-radius:9px;background:var(--green);color:#07120b;font-size:18px;letter-spacing:0;box-shadow:0 0 28px #77f2a144}
.hero p{color:var(--muted);margin:11px 0 0;font-size:15px}
.scanner{max-width:820px;margin:0 auto 34px}
.scanner label{display:block;color:#aab4c4;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin:0 0 9px}
.input-row{display:flex;gap:10px;padding:8px;border:1px solid var(--line);background:#0b0f17;border-radius:15px;box-shadow:0 18px 50px #0008}
input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:white;padding:13px 14px;font-size:16px;font-family:ui-monospace,SFMono-Regular,monospace}
input::placeholder{color:#4f5969}
button{border:0;border-radius:10px;background:var(--green);color:#07120b;font-weight:800;font-size:14px;padding:0 20px;cursor:pointer;display:flex;gap:18px;align-items:center}
button:hover{filter:brightness(1.08)}
button:disabled{opacity:.55;cursor:wait}
button i{font-style:normal;font-size:20px}
.wallets-toggle{background:#151d29;color:#dce5f2;border:1px solid #2a3648;padding:0 14px;gap:8px}
.wallets-toggle i{color:var(--green);font-size:15px}
.wallet-modal{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:20px;background:#02050acc;backdrop-filter:blur(7px)}
.wallet-dialog{width:min(720px,100%);max-height:min(680px,calc(100vh - 40px));overflow:auto;padding:20px;background:#0d131d;border:1px solid #2a3547;border-radius:16px;box-shadow:0 28px 90px #000}
.wallet-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}
.wallet-dialog-head h2{margin:3px 0 0;font-size:21px}
.wallets-close{display:grid;place-items:center;width:34px;height:34px;padding:0;background:#171f2b;color:#b7c1cf;border:1px solid #2a3547;font-size:23px}
.wallet-add{display:grid;grid-template-columns:.8fr 1.4fr auto;gap:8px;padding:8px;background:#080d14;border:1px solid var(--line);border-radius:12px}
.wallet-add input{padding:10px 11px;background:#101722;border:1px solid #222e3f;border-radius:8px;font-family:inherit;font-size:13px}
.wallet-add button{padding:0 15px;gap:7px}
.wallets-error{min-height:24px;padding:6px 3px;color:var(--red);font-size:12px}
.wallet-list{display:grid;gap:7px}
.wallet-item{display:grid;grid-template-columns:1fr auto;gap:7px}
.wallet-open{display:flex;justify-content:space-between;width:100%;padding:11px 13px;background:#111925;color:white;border:1px solid #263246;text-align:left}
.wallet-open strong{font-size:13px}
.wallet-open span{color:var(--muted);font-family:ui-monospace,SFMono-Regular,monospace;font-size:11px}
.wallet-remove{display:grid;place-items:center;width:40px;padding:0;background:#1a1419;color:#d79aa4;border:1px solid #3a252e;font-size:18px}
.wallet-empty{padding:20px;text-align:center;color:var(--muted);border:1px dashed #2a3547;border-radius:10px;font-size:12px}
.message{height:22px;padding:8px 5px;color:var(--red);font-size:13px}
.hidden{display:none!important}.loading{max-width:820px;margin:10px auto 34px;border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:20px;display:flex;align-items:center;gap:16px}
.loading strong,.loading span{display:block}
.loading span{color:var(--muted);font-size:13px;margin-top:4px}
.loader{width:26px;height:26px;border:3px solid #243044;border-top-color:var(--green);border-radius:50%;animation:spin .75s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 38px}
.summary article,.protocol,.strategy{border:1px solid var(--line);background:linear-gradient(145deg,var(--panel2),var(--panel));border-radius:14px}
.summary article{padding:18px}
.summary span{display:block;color:var(--muted);font-size:12px;margin-bottom:9px}
.summary strong{font-size:24px}
.section-head{display:flex;justify-content:space-between;align-items:end;margin:0 0 14px}
.section-head h2{font-size:21px;margin:3px 0 0}
.eyebrow{font-size:10px;color:var(--green);font-weight:800;letter-spacing:.15em}
.protocol-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:38px}
.protocol{padding:15px}
.protocol-top{display:flex;justify-content:space-between;gap:8px;align-items:center}
.protocol-name{font-weight:750;font-size:13px}
.badge{font-size:10px;font-weight:800;padding:4px 7px;border-radius:6px;background:#1c2935;color:var(--cyan)}
.protocol-counts{display:flex;gap:16px;margin-top:15px}
.metric span{color:var(--muted);font-size:10px;display:block}
.metric strong{font-size:17px;margin-top:3px;display:block}
.complete{color:var(--green)}
.incomplete{color:var(--yellow)}.strategies-head{margin-top:4px}
.filters{display:flex;gap:6px}
.filter{background:#111722;color:var(--muted);border:1px solid var(--line);padding:7px 11px;border-radius:8px;font-size:11px}
.filter.active{color:#07120b;background:var(--green);border-color:var(--green)}
.strategy-list{display:grid;gap:10px}
.strategy{padding:18px 20px}
.strategy-main{display:grid;grid-template-columns:minmax(170px,1.2fr) repeat(5,minmax(90px,1fr));gap:16px;align-items:center}
.pair{font-size:20px;font-weight:850;overflow-wrap:anywhere}
.meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:6px;color:var(--muted);font-size:11px}
.position-age{color:var(--cyan);font-weight:750}
.gmgn-link{display:inline-flex;align-items:center;gap:5px;margin-left:5px;color:#b9f8ce;background:#12271b;border:1px solid #2d6b43;border-radius:7px;padding:3px 7px;font-weight:850;text-decoration:none}
.gmgn-link i{display:grid;place-items:center;width:14px;height:14px;color:#07120b;background:var(--green);border-radius:50%;font-style:normal;font-size:10px}
.gmgn-link:hover{background:#173421;border-color:var(--green)}
.dot{width:4px;height:4px;background:#536074;border-radius:50%}
.cell span{display:block;color:var(--muted);font-size:10px;margin-bottom:5px}
.cell strong{font-size:13px;font-weight:700}
.cell em{display:block;margin-top:5px;font-style:normal;font-size:10px;color:var(--muted)}
.depth-cell .depth-value{color:var(--yellow);font-size:21px;font-weight:900}
.depth-cell em{color:#9ca8ba}
.cell em.pnl.positive{color:var(--green)}
.cell em.pnl.negative{color:var(--red)}
.cell em.pnl.pending{color:var(--muted)}
.value strong{color:var(--green);font-size:16px}
.range-visual{width:min(100%,700px);margin:18px auto 0}
.range-caption{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;margin-bottom:5px;color:var(--muted);font-size:9px;font-weight:750;letter-spacing:.04em}
.range-caption strong{color:#d8dee8}
.range-caption span:last-child{text-align:right}
.range-bar{position:relative;display:flex;gap:3px;height:14px;background:transparent;border-radius:4px}
.range-segment{position:relative;z-index:1;height:14px;border:1px solid #07120b;border-radius:3px;opacity:.82;min-width:16px;overflow:hidden}
.range-segment.active{opacity:1;filter:brightness(1.12);box-shadow:inset 0 0 0 1px #ffffff44}
.range-segment span{display:block;color:#e5ebf2;font-size:8px;font-weight:900;line-height:12px;text-align:center;white-space:nowrap;text-shadow:0 1px 2px #0009}
.range-bar b{position:absolute;z-index:3;top:-6px;bottom:-6px;width:2px;border:0;border-radius:2px;background:#fff;transform:translateX(-50%);box-shadow:0 0 0 1px #07120b,0 0 7px #fff;pointer-events:none}
.range-visual.below .range-bar b,.range-visual.above .range-bar b{background:#fff;box-shadow:0 0 0 1px #07120b,0 0 10px #fff}
.range-labels{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;margin-top:9px;color:var(--muted);font-size:10px}
.range-labels strong{color:var(--green);font-weight:750;text-align:center}
.range-visual.below .range-labels strong,.range-visual.above .range-labels strong{color:var(--yellow)}
.range-labels span:last-child{text-align:right}
.position-count strong{color:var(--cyan)}
.range-list{display:none;border-top:1px solid var(--line);margin-top:16px;padding-top:10px}
.strategy.open .range-list{display:block}
.range-row{display:grid;grid-template-columns:80px 1fr 1fr 80px;gap:12px;padding:7px 0;color:#a9b3c2;font-size:11px}
.range-row+.range-row{border-top:1px solid #18202d}
.range-row .yes{color:var(--green)}
.history-panel{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:14px;padding:12px;background:#090d14;border:1px solid #192331;border-radius:10px}
.history-panel span{display:block;color:var(--muted);font-size:9px;margin-bottom:5px;letter-spacing:.04em}
.history-panel strong{font-size:11px;line-height:1.35;display:block;overflow-wrap:anywhere}
.history-panel .pending{color:var(--yellow)}
.history-note{display:flex;gap:10px;align-items:center;margin-top:13px;padding:9px 11px;border:1px dashed #283342;border-radius:9px;color:var(--muted);font-size:10px}
.history-note strong{color:#aab4c4;white-space:nowrap}
.forecast-panel{margin-top:14px;padding:13px;background:#09120e;border:1px solid #244a33;border-radius:10px}
.forecast-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}
.forecast-head span{display:block;color:var(--green);font-size:9px;font-weight:850;letter-spacing:.07em}
.forecast-head strong{display:block;margin-top:3px;font-size:13px}
.forecast-head em{color:var(--muted);font-size:9px;font-style:normal;text-align:right}
.forecast-scenarios{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}
.forecast-scenarios>div{padding:9px;background:#0d1712;border:1px solid #1d3527;border-radius:7px}
.forecast-scenarios>div.base{border-color:#3a8957;background:#102219}
.forecast-scenarios span{display:block;color:var(--muted);font-size:8px;margin-bottom:5px}
.forecast-scenarios strong{font-size:11px;color:#dce8e0}
.forecast-scenarios .base strong{color:var(--green)}
.forecast-source{margin-top:8px;color:#718078;font-size:9px}
.forecast-note{display:flex;gap:10px;align-items:center;margin-top:13px;padding:9px 11px;border:1px dashed #5a4b25;border-radius:9px;color:var(--yellow);font-size:10px}
.forecast-note strong{white-space:nowrap}
.expand{margin-top:13px;color:var(--muted);font-size:11px;cursor:pointer;display:inline-block}
.expand:hover{color:white}
.empty{text-align:center;border:1px dashed var(--line);border-radius:14px;padding:40px;color:var(--muted)}footer{display:flex;justify-content:center;align-items:center;gap:10px;color:#667184;font-size:11px;margin-top:42px}
footer span{color:var(--green);border:1px solid #2c5b3d;border-radius:5px;padding:3px 6px;font-weight:800}
footer p{margin:0}
@media(max-width:900px){
 .protocol-grid{grid-template-columns:repeat(2,1fr)}
 .strategy-main{grid-template-columns:1.4fr repeat(3,1fr)}
 .history-panel{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:620px){
 .shell{width:min(100% - 20px,1160px);padding-top:18px}
 .hero{margin:18px auto 24px}
 .hero p{font-size:13px}
 .input-row{display:grid;grid-template-columns:1fr 1fr}
 .input-row>input{grid-column:1/-1;width:100%;padding:12px 10px}
 button{width:100%;justify-content:center;padding:12px}
 .wallet-dialog{padding:15px}
 .wallet-add{grid-template-columns:1fr}
 .wallet-add input{width:100%}
 .wallet-open{padding:10px}
 .summary{grid-template-columns:repeat(2,1fr);gap:8px}
 .summary article{padding:14px}
 .summary strong{font-size:20px}
 .protocol-grid{grid-template-columns:1fr 1fr;gap:8px}
 .strategy{padding:15px}
 .strategy-main{grid-template-columns:1fr 1fr;gap:14px}
 .strategy-main .cell{display:block!important}
 .pair-wrap{grid-column:1/-1}
 .range-row{grid-template-columns:65px 1fr 1fr}
 .range-row span:last-child{display:none}
 .history-panel{grid-template-columns:1fr 1fr}
 .history-note{align-items:flex-start;flex-direction:column;gap:4px}
 .forecast-head{align-items:flex-start;flex-direction:column}
 .forecast-head em{text-align:left}
 .forecast-scenarios{grid-template-columns:1fr 1fr}
 .section-head{align-items:center}
 .filters{max-width:60%;overflow:auto}
 footer{align-items:flex-start}
}