:root{--bg:#07090f;--bg2:#0c1018;--card:#0f141e;--line:#1c2433;--txt:#e6ebf5;--mut:#8a94a8;--g:#22e39a;--r:#ff3d6e;--y:#ffc94a;--p:#b77bff;--b:#4aa3ff;--rad:14px}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--txt);font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased}
body{background:radial-gradient(1200px 500px at 10% -10%,rgba(34,227,154,.08),transparent 60%),radial-gradient(900px 500px at 100% 0,rgba(255,61,110,.07),transparent 60%),var(--bg);min-height:100vh}
a{color:inherit}
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:18px;padding:12px 20px;background:rgba(7,9,15,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;font-size:20px;letter-spacing:-.02em}
.brand b{background:linear-gradient(90deg,var(--g),var(--r));-webkit-background-clip:text;background-clip:text;color:transparent}
.logo{width:30px;height:30px}
.tabs{display:flex;gap:4px;margin-left:8px}
.tabs a{padding:7px 14px;border-radius:999px;text-decoration:none;color:var(--mut);font-weight:600}
.tabs a.active{background:#151c2a;color:var(--txt)}
.nfa-chip{margin-left:auto;font-size:12px;color:var(--y);border:1px solid rgba(255,201,74,.35);background:rgba(255,201,74,.07);padding:5px 10px;border-radius:999px;white-space:nowrap}
main{max-width:1500px;margin:0 auto;padding:16px 20px 30px}
.controls{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin-bottom:14px}
.ctrl-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.seg{display:inline-flex;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:3px;gap:2px;overflow-x:auto;max-width:100%}
.seg button{background:none;border:0;color:var(--mut);font:inherit;font-weight:600;padding:8px 14px;border-radius:9px;cursor:pointer;white-space:nowrap}
.seg.small button{padding:6px 11px}
.seg button.active{background:linear-gradient(180deg,#1b2436,#151c2a);color:var(--txt);box-shadow:inset 0 0 0 1px #2a3550}
select{background:var(--bg2);color:var(--txt);border:1px solid var(--line);border-radius:10px;padding:8px 12px;font:inherit;font-weight:600;min-width:220px}
.grid{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:14px;align-items:start}
.card{background:linear-gradient(180deg,rgba(255,255,255,.015),transparent),var(--card);border:1px solid var(--line);border-radius:var(--rad)}
.chart-card{padding:12px 12px 8px}
.chart-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap;padding:2px 4px 8px}
.ticker{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.sym{font-weight:800;font-size:18px}
.price{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}
.chg{font-weight:600;font-variant-numeric:tabular-nums}
.up{color:var(--g)}.dn{color:var(--r)}
.src{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--mut);max-width:520px}
.src .dot{width:8px;height:8px;border-radius:50%;background:#555;flex:none}
.src.live .dot{background:var(--g);box-shadow:0 0 0 0 rgba(34,227,154,.7);animation:pulse 1.6s infinite}
.src.delayed .dot{background:var(--y)}.src.err .dot{background:var(--r)}
@keyframes pulse{70%{box-shadow:0 0 0 7px rgba(34,227,154,0)}100%{box-shadow:0 0 0 0 rgba(34,227,154,0)}}
.toggles{display:flex;flex-wrap:wrap;gap:6px;padding:0 2px 10px}
.tg{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--mut);background:var(--bg2);border:1px solid var(--line);padding:5px 10px 5px 6px;border-radius:999px;cursor:pointer;user-select:none}
.tg input{display:none}
.tg .sw{width:24px;height:14px;border-radius:9px;background:#273042;position:relative;transition:.2s}
.tg .sw:after{content:"";position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:50%;background:#8a94a8;transition:.2s}
.tg input:checked+.sw{background:rgba(34,227,154,.35)}
.tg input:checked+.sw:after{left:12px;background:var(--g)}
.tg:has(input:checked){color:var(--txt)}
.tg.na{opacity:.45}
.chart-wrap{position:relative;height:min(62vh,620px);min-height:360px}
#chart{position:absolute;inset:0}
#overlay{position:absolute;left:0;top:0;pointer-events:none}
.loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--mut);background:rgba(15,20,30,.6);font-weight:600;z-index:5}
.loading[hidden]{display:none}
.legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:var(--mut);padding:8px 4px 2px}
.legend span{display:inline-flex;align-items:center;gap:6px}
.sq{width:11px;height:11px;border-radius:3px;display:inline-block}.sq.g{background:rgba(34,227,154,.6)}.sq.r{background:rgba(255,61,110,.6)}
.ln{width:16px;height:0;border-top:2px dashed;display:inline-block}.ln.y{border-color:var(--y)}.ln.p{border-color:var(--p)}
.cir{width:11px;height:11px;border-radius:50%;border:2px solid var(--g);display:inline-block}
.perp-card{margin-top:14px;padding:14px}
.perp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.stat{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.k{font-size:12px;color:var(--mut);font-weight:600}
.v{font-size:19px;font-weight:700;font-variant-numeric:tabular-nums;margin-top:2px}
.s{font-size:12px;color:var(--mut)}
.bar{height:6px;background:var(--r);border-radius:4px;margin-top:8px;overflow:hidden}.bar i{display:block;height:100%;background:var(--g);width:50%}
.q{display:inline-flex;width:15px;height:15px;border-radius:50%;border:1px solid #3a465f;font-size:10px;align-items:center;justify-content:center;cursor:help;position:relative}
.q:hover:after{content:attr(data-tip);position:absolute;left:50%;bottom:130%;transform:translateX(-50%);width:230px;background:#1a2232;border:1px solid #2a3550;color:var(--txt);padding:8px 10px;border-radius:8px;font-weight:500;font-size:12px;z-index:30}
.liqfeed{margin-top:12px}
.feed{display:flex;flex-direction:column;gap:4px;max-height:190px;overflow:auto;margin-top:6px;font-variant-numeric:tabular-nums}
.feed .it{display:flex;justify-content:space-between;gap:8px;font-size:12.5px;padding:5px 8px;border-radius:8px;background:var(--bg2)}
.feed .it.b{box-shadow:inset 3px 0 0 var(--g)}.feed .it.s{box-shadow:inset 3px 0 0 var(--r)}
.muted{color:var(--mut);font-size:12.5px}
.panel{padding:16px;position:sticky;top:72px;max-height:calc(100vh - 86px);overflow:auto}
.panel-h{display:flex;justify-content:space-between;align-items:center}
.panel h2{margin:0;font-size:17px}
.upd{font-size:11.5px;color:var(--mut)}
.block{margin-top:14px}
.block h3{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut)}
.bul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px}
.bul li{padding-left:16px;position:relative}
.bul li:before{content:"";position:absolute;left:2px;top:8px;width:7px;height:7px;border-radius:50%;background:var(--mut)}
.bul li.g:before{background:var(--g)}.bul li.r:before{background:var(--r)}.bul li.y:before{background:var(--y)}
.trend{margin:0}
.trap{border-radius:12px;padding:12px;border:1px solid}
.trap.hot{background:rgba(255,61,110,.08);border-color:rgba(255,61,110,.4)}
.trap.warm{background:rgba(255,201,74,.07);border-color:rgba(255,201,74,.35)}
.trap.calm{background:rgba(34,227,154,.06);border-color:rgba(34,227,154,.3)}
.trap .t{font-weight:800;margin-bottom:4px}
.zones{display:flex;flex-direction:column;gap:5px}
.zone{display:grid;grid-template-columns:10px 1fr auto;gap:8px;align-items:center;font-size:12.5px;padding:6px 8px;background:var(--bg2);border-radius:8px}
.zone i{width:10px;height:10px;border-radius:3px}
.zone .d{color:var(--mut);font-variant-numeric:tabular-nums}
.disclaimer{margin-top:16px;font-size:12px;color:#b9a77a;background:rgba(255,201,74,.06);border:1px solid rgba(255,201,74,.25);padding:10px 12px;border-radius:10px}
.disclaimer.big{margin-top:24px;font-size:13px}
.learn-hero{padding:26px 4px 10px;max-width:780px}
.learn-hero h1{font-size:34px;margin:0 0 8px;letter-spacing:-.02em}
.learn-hero p{color:var(--mut);font-size:16px;margin:0}
.lessons{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px;margin-top:16px}
.lesson{padding:16px}
.lesson .num{font-size:12px;color:var(--g);font-weight:700;letter-spacing:.1em}
.lesson h3{margin:4px 0 10px;font-size:18px}
.lesson svg{width:100%;height:auto;background:var(--bg2);border:1px solid var(--line);border-radius:10px;margin-bottom:10px}
.lesson p{margin:0 0 8px;color:#c7cfdd}
.lesson .tip{font-size:13px;background:rgba(34,227,154,.07);border-left:3px solid var(--g);padding:8px 10px;border-radius:0 8px 8px 0;color:var(--txt)}
.foot{border-top:1px solid var(--line);color:var(--mut);font-size:12px;padding:16px 20px;text-align:center}
@media (max-width:1050px){.grid{grid-template-columns:minmax(0,1fr)}.panel{position:static;max-height:none}.perp-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){main{padding:10px}.top{padding:10px 12px;gap:10px}.brand span{font-size:18px}.nfa-chip{font-size:10.5px;padding:4px 8px}.tabs a{padding:6px 10px}select{min-width:0;flex:1}.ctrl-row{width:100%}.chart-wrap{height:58vh;min-height:330px}.learn-hero h1{font-size:26px}.price{font-size:19px}.lessons{grid-template-columns:1fr}}
.sq.b{background:rgba(74,163,255,.45)}
.strat-card{margin-top:14px;padding:16px}
.strat-h{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.strat-h h2{margin:0;font-size:17px}
.nfa-inline{font-size:12px;color:var(--y)}
.narr{margin-top:12px;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.narr h4{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut)}
.narr p{margin:0 0 8px}.narr p:last-child{margin:0}
.sizer{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;margin-top:14px}
.sizer .k{width:100%}
.sizer label{display:flex;flex-direction:column;font-size:12px;color:var(--mut);gap:4px}
.sizer input{background:var(--bg2);border:1px solid var(--line);color:var(--txt);border-radius:9px;padding:7px 10px;font:inherit;width:140px}
.sizer-out{flex:1;min-width:240px;font-size:13px;background:var(--bg2);border:1px dashed var(--line);border-radius:10px;padding:8px 12px}
.sizer-out b{font-variant-numeric:tabular-nums}
.warnx{color:var(--r);font-weight:600}
.setups{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;margin-top:8px}
.setup{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:12px;cursor:pointer;transition:.15s}
.setup:hover{border-color:#33405c}
.setup.sel{border-color:var(--b);box-shadow:0 0 0 1px var(--b) inset}
.setup .row1{display:flex;justify-content:space-between;align-items:center;gap:8px}
.setup .ttl{font-weight:700}
.badge{font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;white-space:nowrap}
.badge.wait{background:rgba(138,148,168,.15);color:#c3cad8}.badge.act{background:rgba(74,163,255,.15);color:var(--b)}
.badge.win{background:rgba(34,227,154,.15);color:var(--g)}.badge.loss{background:rgba(255,61,110,.15);color:var(--r)}.badge.inv{background:rgba(255,201,74,.12);color:var(--y)}
.lv{display:grid;grid-template-columns:auto 1fr auto;gap:2px 10px;font-size:12.5px;margin-top:8px;font-variant-numeric:tabular-nums}
.lv span:nth-child(3n+1){color:var(--mut)}
.lv .pc{color:var(--mut);text-align:right}
.stats{margin-top:9px;border-top:1px solid var(--line);padding-top:8px;font-size:12.5px}
.stats .conf{display:flex;gap:3px;margin:4px 0}
.stats .conf i{width:14px;height:6px;border-radius:3px;background:#273042}.stats .conf i.on{background:var(--b)}
.stats .fac{color:var(--mut);font-size:11.5px}
.bt-note{font-size:12px;color:var(--mut);margin:12px 0 0}
@media (max-width:600px){.toggles{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px;scrollbar-width:none}.tg{flex:none}.nfa-chip .long{display:none}.top{gap:8px}.brand{font-size:17px}.logo{width:26px;height:26px}.tabs{margin-left:0}.seg button{padding:7px 10px}}
@media (min-width:601px){.nfa-chip .short{display:none}}
.chart-col,.panel{min-width:0}
html,body{overflow-x:hidden}
/* v2 clean layout */
.head-r{display:flex;align-items:center;gap:10px;margin-left:auto}
.src{white-space:nowrap}
.info{display:inline-flex;width:15px;height:15px;border-radius:50%;border:1px solid #3a465f;font-size:10px;font-style:italic;align-items:center;justify-content:center;cursor:help;color:var(--mut)}
.layers{position:relative}
.lbtn{background:var(--bg2);border:1px solid var(--line);color:var(--txt);font:inherit;font-weight:600;font-size:13px;padding:6px 12px;border-radius:10px;cursor:pointer;display:flex;gap:6px;align-items:center}
.lbtn .cnt{background:#1f2a3f;color:var(--b);border-radius:999px;padding:0 7px;font-size:11.5px}
.layers-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:40;width:290px;padding:6px;box-shadow:0 18px 40px rgba(0,0,0,.5);background:#111725}
.layers-pop label{display:flex;gap:10px;align-items:flex-start;padding:7px 8px;border-radius:8px;cursor:pointer}
.layers-pop label:hover{background:#161e2e}
.layers-pop input{accent-color:var(--g);margin-top:3px}
.layers-pop b{display:block;font-size:13px;font-weight:600}
.layers-pop small{display:block;color:var(--mut);font-size:11.5px}
.ctip{position:absolute;z-index:8;pointer-events:none;background:rgba(17,23,37,.96);border:1px solid #2a3550;border-radius:10px;padding:8px 10px;font-size:12px;max-width:260px;box-shadow:0 10px 30px rgba(0,0,0,.45)}
.ctip div{display:flex;gap:7px;align-items:baseline;margin:2px 0}
.ctip i{width:8px;height:8px;border-radius:2px;flex:none;transform:translateY(1px)}
.ctip .h{font-weight:700;margin-bottom:4px;display:block}
.legend{gap:4px 14px}
.verdict{margin-top:12px;font-size:18px;font-weight:800;letter-spacing:-.01em}
.verdict small{display:block;font-size:12.5px;font-weight:500;color:var(--mut);margin-top:2px}
.chips{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:10px}
.chip{background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:7px 10px}
.chip .k{font-size:11px}
.chip .v{font-size:14px;margin:0}
#trapBox{margin-top:10px}
.trap{padding:0;border-radius:10px}
.trap summary{list-style:none;cursor:pointer;padding:9px 12px;font-weight:700;display:flex;justify-content:space-between;gap:8px}
.trap summary::-webkit-details-marker{display:none}
.trap summary:after{content:"＋";color:var(--mut);font-weight:400}
.trap[open] summary:after{content:"－"}
.trap .body{padding:0 12px 10px;font-size:13px;color:#c7cfdd}
details.more{border-top:1px solid var(--line);padding-top:10px}
details.more summary{cursor:pointer;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut);font-weight:600}
details.more[open] summary{margin-bottom:8px}
.zones{gap:4px}
.zone{padding:5px 8px}
.narr{display:grid;gap:6px}
.narr .nl{display:grid;grid-template-columns:96px 1fr;gap:10px;font-size:13.5px}
.narr .nl span:first-child{color:var(--mut);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding-top:1px}
.setups-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:16px}
.setup .row1{align-items:flex-start}
.setup .ttl{font-size:13.5px}
.setup .sub{font-size:11.5px;color:var(--mut)}
.bt{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.bt span{background:#121a28;border:1px solid var(--line);border-radius:8px;padding:3px 8px;font-size:12px;font-variant-numeric:tabular-nums}
.bt b{color:var(--txt)}
.setup details{margin-top:8px;font-size:12px;color:var(--mut)}
.setup details summary{cursor:pointer}
.setup details ul{margin:6px 0 0;padding-left:16px}
.confd{display:inline-flex;gap:2px;vertical-align:middle;margin-left:4px}.confd i{width:7px;height:7px;border-radius:50%;background:#273042}.confd i.on{background:var(--b)}
.bt-note{font-size:12px;color:var(--mut);margin-top:12px}
.bt-note summary{cursor:pointer}
.foot{padding:12px 20px}
@media (max-width:600px){.head-r{width:100%;justify-content:space-between;margin-left:0}.src{white-space:normal;font-size:11.5px}.layers-pop{width:min(290px,86vw)}.narr .nl{grid-template-columns:1fr;gap:0}.chart-head{padding-bottom:6px}}
