/* XSTOCK design system — TradeDesk X family: deep navy, electric blue, chrome silver. Manrope, self-hosted. */
@font-face{font-family:"Manrope";src:url("/static/fonts/Manrope.woff2") format("woff2");font-weight:200 800;font-display:swap}

:root{
  --bg:#071226; --bg-deep:#050D1C; --panel:#0D1A33; --panel2:#13254A; --line:#1B2E52; --line2:#274170;
  --ink:#EAF1FB; --mute:#8EA2C4; --dim:#566A8E;
  --gold:#2F8BFF; --gold-hi:#5CC8FF; --gold-ink:#FFFFFF; --vip:#F2C14E;
  --long:#3DB38A; --short:#E0626B; --warn:#D9A441; --blue:#6FA3E0;
  --long-bg:rgba(61,179,138,.12); --short-bg:rgba(224,98,107,.12); --gold-bg:rgba(47,139,255,.14);
  /* legacy names used by page markup */
  --acid:var(--gold);
  --display:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  --cond:var(--display);
  --mono:ui-monospace,"SF Mono","Cascadia Mono",Consolas,monospace;
  --r-lg:14px; --r-md:10px; --r-sm:7px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:radial-gradient(1200px 600px at 15% -10%,rgba(36,92,190,.22),transparent 60%),var(--bg);background-attachment:fixed;color:var(--ink);font-family:var(--display);font-size:15.5px;line-height:1.55;
  font-feature-settings:"tnum" 1,"cv11" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
a{color:var(--gold-hi);text-decoration:none}
a:hover{text-decoration:underline}
button,select,input,textarea{font-family:inherit;font-size:inherit;color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
::selection{background:rgba(47,139,255,.4)}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px 48px}
.muted{color:var(--mute)}

/* header */
header.top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  min-height:76px;border-bottom:1px solid var(--line);margin-bottom:8px}
.brand{display:inline-flex;align-items:center;gap:12px;color:var(--ink);font-weight:700;font-size:19px;letter-spacing:-.01em;text-decoration:none!important}
.brand span{color:var(--mute);font-weight:500}
.brand .logo{display:block;height:48px;width:auto}
/* animated X mark + STOCK wordmark */
.xmark{position:relative;display:inline-block;width:54px;height:54px;margin-right:-5px;flex:none;animation:xin .9s cubic-bezier(.2,.9,.25,1.15) both}
.xmark img{display:block;width:100%;height:100%;animation:xglow 3.6s ease-in-out 1s infinite}
.xmark::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.9) 50%,transparent 62%) no-repeat;background-size:260% 100%;
  -webkit-mask:url(/static/logo/xstock-mark-256.png) center/contain no-repeat;mask:url(/static/logo/xstock-mark-256.png) center/contain no-repeat;
  mix-blend-mode:screen;animation:xsheen 5s ease-in-out 1.2s infinite}
.brand .word{font-weight:800;font-size:31px;letter-spacing:.03em;line-height:1;
  background:linear-gradient(180deg,#FFFFFF 15%,#A9B8CD 95%);-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:wordin .8s ease-out .25s both}
.brand .tag{color:var(--mute);font-weight:500;font-size:17px;margin-left:10px}
@keyframes xin{from{opacity:0;transform:scale(.55) rotate(-12deg)}to{opacity:1;transform:none}}
@keyframes wordin{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}
@keyframes xglow{0%,100%{filter:drop-shadow(0 0 3px rgba(47,139,255,.35))}50%{filter:drop-shadow(0 0 12px rgba(92,200,255,.8))}}
@keyframes xsheen{0%{background-position:160% 0}55%,100%{background-position:-60% 0}}
.brand .mark{height:34px;width:auto;display:block}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

/* market clocks */
.clocks{display:flex;gap:8px;flex-wrap:wrap}
.clock{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:5px 12px 5px 10px;font-size:13px;background:var(--bg-deep)}
.clock small{color:var(--mute);font-size:13px;font-weight:600}
.clock small:first-child{color:var(--ink);font-weight:700}
.clock b{font-weight:600;display:inline-flex;align-items:center}
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--dim);margin-right:7px}
.dot.open{background:var(--long);box-shadow:0 0 0 3px rgba(61,179,138,.18)}
.dot.pre{background:var(--warn)}

/* buttons + controls */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--gold);color:var(--gold-ink);border:1px solid var(--gold);
  font-weight:700;font-size:14.5px;letter-spacing:.005em;padding:10px 18px;border-radius:var(--r-sm);cursor:pointer;text-decoration:none!important;
  transition:background .15s,border-color .15s}
.btn{background:linear-gradient(180deg,#3D97FF,#1F6FF0);border-color:#2A7DF8;box-shadow:0 6px 18px -8px rgba(47,139,255,.7)}
.btn:hover{background:linear-gradient(180deg,#52A6FF,#2A7DF8);border-color:#52A6FF}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line2)}
.btn.ghost:hover{border-color:var(--mute);background:var(--panel)}
.btn.red{background:transparent;color:var(--short);border-color:rgba(224,98,107,.45)}
.btn.red:hover{background:var(--short-bg)}
.btn.sm{font-size:13.5px;padding:7px 13px}
.btn:disabled{opacity:.55;cursor:wait}

.seg{display:inline-flex;background:var(--bg-deep);border:1px solid var(--line);border-radius:var(--r-md);padding:3px;gap:2px}
.seg button{background:transparent;border:0;border-radius:var(--r-sm);padding:8px 16px;font-weight:600;font-size:14.5px;color:var(--mute);cursor:pointer;text-transform:capitalize;transition:color .15s,background .15s}
.seg button:hover{color:var(--ink)}
.seg button.on{background:var(--panel2);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line2)}
.seg.acid button.on{background:var(--gold-bg);color:var(--gold-hi);box-shadow:inset 0 0 0 1px rgba(47,139,255,.4)}
.seg button.locked{opacity:.5}
.seg.small button{font-size:13.5px;padding:6px 12px}

/* forms */
label.f{display:block;margin:14px 0 6px;color:var(--mute);font-weight:600;font-size:13px}
input.in,select.in,textarea.in{width:100%;background:var(--bg-deep);border:1px solid var(--line);border-radius:var(--r-sm);padding:11px 12px;font-size:15px;font-weight:500;color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s}
input.in:focus,select.in:focus,textarea.in:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(47,139,255,.22)}
input.in::placeholder{color:var(--dim)}
textarea.in{font-family:var(--mono);font-size:13px;min-height:160px;line-height:1.5}
input[type=checkbox]{accent-color:var(--gold);width:16px;height:16px;vertical-align:-3px}
input[type=range]{accent-color:var(--gold)}
.msg{min-height:20px;margin-top:8px;font-weight:600;font-size:14px}
.msg.err{color:var(--short)}.msg.ok{color:var(--long)}

/* surfaces + headings */
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px}
h2{font-size:21px;font-weight:700;letter-spacing:-.015em;margin:36px 0 14px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
h2 small{font-size:14px;color:var(--mute);font-weight:500;letter-spacing:0}
h3{font-size:16.5px;font-weight:700;letter-spacing:-.01em;margin:4px 0 10px}

/* regime strip */
.regime{display:grid;grid-template-columns:auto 1fr auto;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);margin:16px 0}
.regime .lab{display:flex;align-items:center;gap:10px;padding:18px 24px;font-size:20px;font-weight:700;letter-spacing:-.01em;border-right:1px solid var(--line)}
.regime .lab::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--dim)}
.lab.on{color:var(--long)}.lab.on::before{background:var(--long);box-shadow:0 0 0 4px rgba(61,179,138,.16)}
.lab.off{color:var(--short)}.lab.off::before{background:var(--short);box-shadow:0 0 0 4px rgba(224,98,107,.16)}
.lab.mix{color:var(--warn)}.lab.mix::before{background:var(--warn);box-shadow:0 0 0 4px rgba(217,164,65,.16)}
.lab.unk{color:var(--mute)}
.regime .facts{display:flex;flex-wrap:wrap;gap:8px 32px;padding:14px 24px}
.fact small{display:block;color:var(--mute);font-size:12.5px;font-weight:600}
.fact b{font-size:17px;font-weight:650}
.regime .meta{padding:14px 24px;color:var(--mute);font-size:13px;text-align:right}

/* signal cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:14px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);position:relative;overflow:hidden;transition:border-color .15s}
.card:hover{border-color:var(--line2)}
.card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--dim)}
.card.LONG::before{background:var(--long)}.card.SHORT::before{background:var(--short)}
.ctop{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 18px 8px 20px}
.sym{font-size:24px;font-weight:750;letter-spacing:-.02em;line-height:1.1}
.setup{color:var(--mute);font-weight:500;font-size:14px;margin-top:2px}
.side{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.06em;padding:3px 8px;border-radius:5px}
.side.LONG{background:var(--long-bg);color:var(--long)}.side.SHORT{background:var(--short-bg);color:var(--short)}
.score{text-align:right}
.score b{font-size:30px;font-weight:750;letter-spacing:-.02em;line-height:1;display:block;color:var(--gold-hi)}
.score small{color:var(--mute);font-weight:600;font-size:12px}
.bar{height:3px;background:var(--line);margin:6px 18px 0 20px;border-radius:3px;overflow:hidden}
.bar i{display:block;height:100%;background:linear-gradient(90deg,#1F6FF0,var(--gold-hi))}
.stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:12px;border-top:1px solid var(--line)}
.stats div{padding:10px 14px 10px 20px;border-bottom:1px solid var(--line)}
.stats div:not(:nth-child(3n+1)){padding-left:14px;border-left:1px solid var(--line)}
.stats div:nth-last-child(-n+3){border-bottom:0}
.stats small{display:block;color:var(--mute);font-size:12px;font-weight:600}
.stats b{font-size:15.5px;font-weight:650}
.lockcell b{color:var(--dim)}
svg.lock{width:12px;height:12px;vertical-align:-1px;color:var(--dim)}
.pos{color:var(--long)}.neg{color:var(--short)}
.foot{padding:10px 18px 14px 20px;color:var(--mute);font-size:13px;line-height:1.5;border-top:1px solid var(--line)}
.foot b{color:var(--ink);font-weight:600}
.empty{border:1px dashed var(--line2);border-radius:var(--r-md);padding:28px;color:var(--mute);font-size:15px;text-align:center;background:var(--bg-deep)}
.banner{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:var(--r-md);padding:12px 16px;
  display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:14px 0;font-weight:500}
.banner.warn{border-left-color:var(--warn)}.banner.red{border-left-color:var(--short)}

/* tables */
.tbl{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel)}
table{width:100%;border-collapse:collapse;font-size:14.5px}
th{text-align:left;color:var(--mute);font-size:12.5px;font-weight:600;padding:11px 14px;border-bottom:1px solid var(--line2);white-space:nowrap;background:var(--bg-deep)}
td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top}
tr:last-child td{border-bottom:0}
td.n{text-align:right;font-weight:550}th.n{text-align:right}
td.s{font-weight:750;letter-spacing:-.01em}
td.mono{font-family:var(--mono);font-size:12.5px;word-break:break-all;color:var(--mute)}
.pill{display:inline-block;padding:2px 9px;font-weight:600;font-size:12px;border-radius:999px;background:var(--panel2);color:var(--mute);text-transform:capitalize}
.pill.ok{background:var(--long-bg);color:var(--long)}.pill.bad{background:var(--short-bg);color:var(--short)}.pill.wait{background:rgba(217,164,65,.14);color:var(--warn)}

/* modal + tabs */
.modal{position:fixed;inset:0;background:rgba(5,10,20,.72);backdrop-filter:blur(4px);display:none;align-items:flex-start;justify-content:center;z-index:50;overflow:auto;padding:40px 14px}
.modal.on{display:flex}
.modal .box{background:var(--panel);border:1px solid var(--line2);border-radius:16px;width:min(720px,100%);padding:26px;position:relative;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.modal .x{position:absolute;right:14px;top:10px;background:none;border:0;font-size:26px;cursor:pointer;color:var(--mute);line-height:1}
.modal .x:hover{color:var(--ink)}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:16px;flex-wrap:wrap}
.tabs button{background:none;border:0;padding:10px 12px;font-weight:600;font-size:15px;color:var(--mute);cursor:pointer;box-shadow:inset 0 -2px 0 transparent}
.tabs button:hover{color:var(--ink)}
.tabs button.on{color:var(--ink);box-shadow:inset 0 -2px 0 var(--gold)}

footer.site{border-top:1px solid var(--line);margin-top:56px;padding:22px 0;color:var(--dim);font-size:13px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;line-height:1.6}
footer.site a{color:var(--mute)}
.spin{display:inline-block;width:13px;height:13px;border:2px solid var(--gold);border-right-color:transparent;border-radius:50%;animation:s 1s linear infinite;vertical-align:-2px;margin-right:8px}
@keyframes s{to{transform:rotate(360deg)}}
.qr{flex:none;width:184px;height:184px;background:#fff;border-radius:12px;padding:6px}
.qr svg{width:100%;height:100%;display:block}
/* 2FA setup */
.tf{list-style:none;counter-reset:tf;margin:18px 0 0;padding:0;display:grid;gap:14px}
.tf>li{counter-increment:tf;background:var(--bg-deep);border:1px solid var(--line);border-radius:var(--r-md);padding:18px 18px 18px 58px;position:relative}
.tf>li::before{content:counter(tf);position:absolute;left:18px;top:16px;width:26px;height:26px;border-radius:50%;background:var(--gold-bg);color:var(--gold-hi);font-weight:700;font-size:14px;display:grid;place-items:center}
.tf-h{font-weight:700;font-size:15.5px;margin:2px 0 14px}
.tf-row{display:flex;gap:20px;align-items:center}
.tf-alt{display:grid;gap:12px;min-width:0;justify-items:start}
.tf-small{font-size:13.5px;line-height:1.5}
.tf-key{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.tf-key code{font-family:var(--mono);font-size:14px;letter-spacing:.06em;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 10px;word-break:normal;overflow-wrap:normal;line-height:1.7}
.tf-code-row{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap}
.tf-code{max-width:200px;text-align:center;font-size:24px!important;font-weight:700!important;letter-spacing:.35em;padding:10px 8px!important}
.tf-on{display:flex;gap:10px;align-items:center;margin-bottom:14px}
.tf-reset{background:none;border:0;color:var(--mute);font-size:13px;margin-top:12px;cursor:pointer;padding:0;text-decoration:underline}
.tf-reset:hover{color:var(--ink)}
.copy{cursor:pointer}
.addr{font-family:var(--mono);font-size:13px;word-break:break-all;background:var(--bg-deep);padding:11px 12px;border:1px solid var(--line);border-radius:var(--r-sm)}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media (max-width:760px){
  .wrap{padding:0 16px 40px}
  .brand .logo{height:30px}
  .xmark{width:42px;height:42px}
  .brand .word{font-size:24px}
  .clock{padding:4px 10px 4px 8px}
  .clock small:last-child{display:none}
  .regime{grid-template-columns:1fr}
  .regime .lab{border-right:0;border-bottom:1px solid var(--line)}
  .regime .meta{text-align:left;border-top:1px solid var(--line)}
  .grid{grid-template-columns:1fr}
  .tf-row{flex-direction:column-reverse;align-items:stretch}
  .tf-alt .btn{width:100%}
  .qr{align-self:center}
  .tf>li{padding:16px 14px 16px 50px}
  .tf>li::before{left:14px}
  .tf-code{max-width:none;flex:1 1 160px}
  .seg{display:flex;width:100%}.seg button{flex:1;padding-left:8px;padding-right:8px;white-space:nowrap}
}

/* mini chart, categories, score breakdown */
.cname{color:var(--ink);opacity:.8;font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}
.cmeta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:0 18px 4px 20px;font-size:13px}
.cat{font-size:11.5px;font-weight:600;color:var(--mute);border:1px solid var(--line2);border-radius:999px;padding:1px 8px;white-space:nowrap}
.mchart{margin:8px 14px 0 16px;background:var(--bg-deep);border:1px solid var(--line);border-radius:8px;padding:6px 6px 4px}
.mchart svg{display:block;width:100%;height:128px}
.mlegend{display:flex;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--mute);padding:4px 2px 0}
.mlegend .tf{color:var(--ink);font-weight:600}
.mlegend i{display:inline-block;width:10px;height:2px;margin-right:4px;vertical-align:middle}
.mlegend i.band{height:8px;background:var(--gold);opacity:.3}
.mlegend i.trig{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:6px solid var(--gold-hi);background:none}
.whybox{border-top:1px solid var(--line);margin-top:0}
.whybox summary{cursor:pointer;padding:10px 18px 10px 20px;font-size:13.5px;font-weight:600;color:var(--gold-hi);list-style:none}
.whybox summary::-webkit-details-marker{display:none}
.whybox summary::after{content:"+";float:right;color:var(--mute)}
.whybox[open] summary::after{content:"–"}
.why{margin:0;padding:0 18px 4px 36px;font-size:13.5px;line-height:1.5;color:var(--ink)}
.why li{margin-bottom:4px}
.bd{display:grid;gap:10px;padding:8px 18px 14px 20px}
.bd-top{display:flex;justify-content:space-between;font-size:13px;font-weight:600}
.bd-top b small{color:var(--mute);font-weight:500}
.bd-bar{height:4px;background:var(--line);border-radius:3px;margin:4px 0 3px;overflow:hidden}
.bd-bar i{display:block;height:100%;background:linear-gradient(90deg,#1F6FF0,var(--gold-hi))}
.bd-row.neg .bd-bar i{background:var(--short)}
.bd-row.neg .bd-top b{color:var(--short)}
.bd-note{font-size:12.5px;color:var(--mute);line-height:1.4}
/* market list */
.chips{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 12px}
.chip{background:var(--bg-deep);border:1px solid var(--line);color:var(--mute);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600;cursor:pointer}
.chip:hover{color:var(--ink)}
.chip.on{background:var(--gold-bg);border-color:rgba(47,139,255,.45);color:var(--gold-hi)}
.chip small{opacity:.7;margin-left:4px}
.ml-tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:10px}
.ml-tools .in{max-width:260px}
.ml-tools select.in{max-width:200px}
table.ml td{vertical-align:middle}
table.ml tr.mlrow{cursor:pointer}
table.ml tr.mlrow:hover td{background:var(--panel2)}
.mlname{font-size:12.5px;color:var(--mute);max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xs{display:flex;align-items:center;gap:8px;min-width:120px}
.xs b{font-size:16px;font-weight:750;min-width:28px}
.xs .bd-bar{flex:1;margin:0}
.sig{font-size:12px;font-weight:600}
tr.detail td{background:var(--bg-deep)}
.mldet{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.mldet .bd{padding:0}
@media (max-width:760px){.mldet{grid-template-columns:1fr} .ml .hide-m{display:none} .xs{min-width:0} .xs .bd-bar{display:none} table.ml td,table.ml th{padding:10px 8px} .mlname{max-width:150px}}

/* market list: rank, pin, grade, row chart */
table.ml td.rank{color:var(--mute);font-weight:600;width:34px}
.inst{display:flex;gap:8px;align-items:flex-start}
.pin{background:none;border:0;color:var(--dim);font-size:17px;line-height:1;cursor:pointer;padding:2px 2px 0}
.pin:hover{color:var(--gold-hi)}
.pin.on{color:var(--vip)}
tr.pinned td{background:rgba(242,193,78,.05)}
.grade{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:7px;font-weight:800;font-size:13.5px}
.grade.gA{background:var(--long-bg);color:var(--long)}
.grade.gB{background:var(--gold-bg);color:var(--gold-hi)}
.grade.gC{background:rgba(217,164,65,.14);color:var(--warn)}
.grade.gD{background:var(--short-bg);color:var(--short)}
td.chartcell{width:118px;padding-top:6px;padding-bottom:6px}
.spark{display:block}
.bigline{margin-top:10px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:6px}
.bigline .spark{width:100%;height:120px}
@media (max-width:760px){ td.chartcell{width:76px} td.chartcell .spark{width:72px;height:30px} table.ml td.rank{width:22px} }
