/* Moorline landing sections and the exchange app (loaded after style.css). */

/* header: logo and name on one optical line */
.brand{line-height:1}
.brand img{height:26px;width:26px;object-fit:contain;display:block}
.brand span{display:block;transform:translateY(-1px)}
.btn.big{height:50px;padding:0 24px;font-size:16px;border-radius:14px}

/* ---------- landing ---------- */
.hero2{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;align-items:center;padding-top:80px;padding-bottom:40px}
.hero2 h1{font:700 clamp(46px,6.2vw,84px)/.98 var(--head);letter-spacing:-.04em}
.hero2 h1 span{color:var(--acc)}
.hero2 .lead{font-size:19px;color:var(--dim);margin-top:24px;max-width:560px}
.ctas{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}
.h-art{position:relative;min-width:0}
.h-art .shape{width:100%;max-width:500px;display:block;margin:0 auto;animation:spin 48s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.h-stats{position:absolute;left:0;right:0;bottom:-10px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.h-stats div{background:rgba(17,17,20,.86);backdrop-filter:blur(8px);border:1px solid var(--hair2);border-radius:14px;padding:12px 14px}
.h-stats b{display:block;font:600 17px var(--mono)}
.h-stats span{font-size:12.5px;color:var(--faint)}
.strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);margin-top:50px}
.strip div{padding:22px 20px 22px 0}
.strip div+div{padding-left:20px;border-left:1px solid var(--hair)}
.strip i{font:normal 500 12.5px var(--mono);color:var(--acc2)}
.strip b{display:block;font:700 20px var(--head);margin:6px 0 2px;letter-spacing:-.02em}
.strip span{font-size:14px;color:var(--faint)}
.feat{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:center;padding-top:110px}
.feat.rev .f-copy{order:2}
.feat .no{font:500 13px var(--mono);color:var(--acc2)}
.feat h2{font:700 clamp(32px,4vw,50px)/1.03 var(--head);letter-spacing:-.035em;margin-top:12px}
.feat h2 span{color:var(--acc)}
.feat p{color:var(--dim);margin-top:16px;font-size:16.5px;max-width:520px}
.fig{margin:0;min-width:0}
.fig svg{width:100%;height:auto;display:block}
.fig figcaption{display:flex;justify-content:space-between;gap:16px;margin-top:10px;padding-top:10px;border-top:1px solid var(--hair);font:12px var(--mono);color:var(--faint)}
.anim-band .poolpath{stroke-dasharray:700;stroke-dashoffset:700}
.anim-band g circle{transform-box:fill-box;transform-origin:center;transform:scale(0)}
.anim-band g text{font:12px "Geist Mono";opacity:0}
.anim-band .ok circle{fill:#4ade80}.anim-band .ok text{fill:#4ade80}
.anim-band .bad circle{fill:#f87171}.anim-band .bad text{fill:#f87171}
.play .anim-band .poolpath{animation:draw 2.6s ease forwards}
.play .anim-band g circle{animation:pop .4s ease forwards 1s}
.play .anim-band g text{animation:fade .4s ease forwards 1.1s}
.play .anim-band .d2 circle,.play .anim-band .d2 text{animation-delay:1.5s}
.play .anim-band .d3 circle,.play .anim-band .d3 text{animation-delay:2s}
.play .anim-band .d4 circle,.play .anim-band .d4 text{animation-delay:2.5s}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes pop{70%{transform:scale(1.25)}to{transform:scale(1)}}
@keyframes fade{to{opacity:1}}
.anim-limit .pricepath{stroke-dasharray:800;stroke-dashoffset:800}
.anim-limit .fillmark{opacity:0}
.play .anim-limit .pricepath{animation:draw 2.4s ease forwards}
.play .anim-limit .fillmark{animation:fade .5s ease forwards 1.5s}
.steps2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.steps2 .col{border:1px solid var(--hair2);border-radius:18px;padding:18px}
.steps2 .col.acc{border-color:var(--acc);background:rgba(255,176,32,.06)}
.steps2 h4{font:500 12.5px var(--mono);color:var(--faint);margin-bottom:12px}
.steps2 .step{padding:12px 14px;border-radius:12px;background:var(--tile);margin-bottom:8px;font-weight:500;opacity:.2;transform:translateY(6px)}
.steps2 .step.big{padding:22px 14px;font:700 18px var(--head)}
.steps2 .step small{display:block;font:12px var(--mono);color:var(--dim);margin-top:4px;font-weight:400}
.steps2 .acc .step{background:rgba(255,176,32,.16)}
.steps2 .cnt{margin-top:12px;color:var(--dim);font-size:14px}.steps2 .cnt b{font:700 26px var(--head);color:var(--ink);margin-right:6px}
.play .steps2 .step{animation:rise .45s ease forwards}
.play .steps2 .s2{animation-delay:.5s}.play .steps2 .s3{animation-delay:1s}.play .steps2 .s4{animation-delay:1.5s}
@keyframes rise{to{opacity:1;transform:none}}
.bars{display:flex;flex-direction:column;gap:22px;border:1px solid var(--hair2);border-radius:18px;padding:26px}
.bar-row{display:grid;grid-template-columns:140px 1fr;gap:8px 16px;align-items:center}
.bar-row span{color:var(--dim);font-size:14.5px}
.bar-row b{grid-column:2;font:500 13px var(--mono);color:var(--faint)}
.bar-row.acc b{color:var(--acc2)}
.bar{height:14px;border-radius:7px;background:var(--hair);overflow:hidden}
.bar i{display:block;height:100%;width:0;border-radius:7px;background:var(--dim)}
.bar-row.acc .bar i{background:var(--acc)}
.play .bar i{animation:grow 1.2s ease forwards}.play .bar .b2{animation-delay:.3s}
@keyframes grow{to{width:var(--w)}}
#pegs,#why,#faq{padding-top:110px}

/* ---------- app: exchange ---------- */
.xwrap{max-width:1500px;margin:0 auto;padding:0 20px}
.tick{display:flex;align-items:center;gap:26px;padding:14px 0;border-bottom:1px solid var(--hair);overflow-x:auto;scrollbar-width:none}
.tick .sym{display:flex;align-items:center;gap:10px;font:700 22px var(--head);flex:none}
.tick .sym .lg{width:30px;height:30px}
.tick .sym small{font:500 13px var(--sans);color:var(--faint)}
.tick .k{flex:none}.tick .k span{display:block;font:11.5px var(--mono);color:var(--faint)}.tick .k b{font:500 15px var(--mono)}
.xgrid{display:grid;grid-template-columns:250px minmax(0,1fr) 340px;gap:16px;padding:16px 0 30px;align-items:start}
.pane{background:var(--card);border:1px solid var(--hair);border-radius:16px;min-width:0}
.mk{position:sticky;top:78px;max-height:calc(100vh - 100px);display:flex;flex-direction:column}
.mk input{margin:10px;padding:9px 12px;border-radius:10px;border:1px solid var(--hair2);background:var(--tile);color:var(--ink);outline:none}
.mk .list{overflow:auto;scrollbar-width:thin;padding:0 6px 8px}
.mk .row{display:grid;grid-template-columns:22px 1fr auto;gap:8px;align-items:center;padding:8px;border-radius:10px;cursor:pointer;font-size:13.5px}
.mk .row:hover,.mk .row.on{background:var(--tile2)}
.mk .row .r{text-align:right;font:12.5px var(--mono)}.mk .row .r small{display:block;font-size:11px}
.mk .row .lg{width:22px;height:22px}
.chartbox{padding:10px 10px 0}
.chartbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding:4px 6px 10px}
.tfs{display:flex;gap:4px}.tfs button{height:28px;padding:0 10px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--faint);font:500 12.5px var(--mono)}
.tfs button.on{color:var(--ink);border-color:var(--hair2);background:var(--tile)}
.legend{display:flex;gap:14px;font:12px var(--mono);color:var(--faint)}.legend i{display:inline-block;width:14px;height:2px;vertical-align:middle;margin-right:6px}
#chart{height:430px;position:relative}
#chart .nodata{position:absolute;inset:0;display:grid;place-items:center;color:var(--faint);font-size:14px}
.otabs{display:flex;gap:18px;padding:12px 16px 0;border-top:1px solid var(--hair);margin-top:10px}
.otabs a{padding-bottom:10px;color:var(--faint);font-weight:500;font-size:14px;border-bottom:2px solid transparent;cursor:pointer}
.otabs a.on{color:var(--ink);border-color:var(--acc)}
.otable{padding:0 16px 14px;max-height:280px;overflow:auto}
.otable table{width:100%;border-collapse:collapse;font-size:13.5px}
.otable th{font:500 11.5px var(--mono);color:var(--faint);text-align:left;padding:10px 8px 8px 0;border-bottom:1px solid var(--hair2)}
.otable td{padding:9px 8px 9px 0;border-bottom:1px solid var(--hair)}
.otable td.n,.otable th.n{text-align:right;font-family:var(--mono)}
.otable .empty{padding:24px 0;color:var(--faint);text-align:center}
.otable .btn{height:28px;padding:0 10px;font-size:12.5px;border-radius:8px}
.book{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.side-b{color:var(--up)}.side-s{color:var(--down)}
.panel2{position:sticky;top:78px;padding:16px}
.ptabs{display:flex;background:var(--tile);border-radius:12px;padding:4px;margin-bottom:12px}
.ptabs button{flex:1;height:34px;border:0;border-radius:9px;background:transparent;color:var(--faint);font:600 14px var(--sans)}
.ptabs button.on{background:var(--tile2);color:var(--ink)}
.bs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.bs button{height:40px;border-radius:11px;border:1px solid var(--hair2);background:transparent;color:var(--dim);font:600 14.5px var(--sans)}
.bs button.on.buy{background:rgba(74,222,128,.12);border-color:var(--up);color:var(--up)}
.bs button.on.sell{background:rgba(248,113,113,.12);border-color:var(--down);color:var(--down)}
.fld{margin-bottom:10px}
.fld label{display:flex;justify-content:space-between;font:12px var(--mono);color:var(--faint);margin-bottom:6px}
.fld label a{color:var(--acc2);cursor:pointer}
.fld .in{display:flex;align-items:center;gap:8px;height:46px;padding:0 12px;border-radius:12px;border:1px solid var(--hair2);background:var(--tile)}
.fld .in:focus-within{border-color:var(--acc)}
.fld .in input{flex:1;min-width:0;background:transparent;border:0;outline:none;color:var(--ink);font:500 16px var(--mono)}
.fld .in em{font-style:normal;color:var(--faint);font:13px var(--mono)}
.pcts{display:flex;gap:6px;margin:-2px 0 10px}.pcts button{flex:1;height:26px;border-radius:7px;border:1px solid var(--hair2);background:transparent;color:var(--faint);font:12px var(--mono)}
.pcts button:hover{color:var(--ink)}
.panel2 .lines{margin:6px 0 12px}
.panel2 .go{width:100%;height:48px;border-radius:13px;font-size:15.5px}
.panel2 .go.buy{background:var(--up);border-color:var(--up);color:#06210f}
.panel2 .go.sell{background:var(--down);border-color:var(--down);color:#2a0606}
.panel2 .note{font-size:12px;color:var(--faint);margin-top:10px;text-align:center}
.exp{display:flex;gap:6px}.exp button{flex:1;height:32px;border-radius:9px;border:1px solid var(--hair2);background:transparent;color:var(--faint);font:12.5px var(--mono)}.exp button.on{color:var(--ink);border-color:var(--acc)}
.s2s .leg{margin-bottom:6px;padding:12px}
.s2s .leg input,.s2s .leg .out{font-size:24px}
.s2s .flip{height:6px}

@media (max-width:1200px){.xgrid{grid-template-columns:220px minmax(0,1fr) 320px}}
@media (max-width:1000px){.hero2{grid-template-columns:1fr}.h-art{max-width:460px}.strip{grid-template-columns:1fr 1fr}.strip div:nth-child(3){border-left:0;padding-left:0}.feat,.feat.rev{grid-template-columns:1fr;gap:30px}.feat.rev .f-copy{order:0}.xgrid{grid-template-columns:minmax(0,1fr)}.mk,.panel2{position:static}.mk{max-height:300px}#chart{height:340px}}
@media (max-width:680px){.hero2{padding-top:44px}.strip{grid-template-columns:1fr}.strip div{padding-left:0!important;border-left:0!important;border-top:1px solid var(--hair)}.steps2{grid-template-columns:1fr}.book{grid-template-columns:1fr}.h-stats{position:static;margin-top:14px}.xwrap{padding:0 12px}}
.hero2>*,.feat>*,.strip>*{min-width:0}.h-art .shape{max-width:min(500px,100%)}html{overflow-x:hidden}

/* strict headline face everywhere */
:root{--head:"Inter Tight",system-ui,sans-serif}
.brand{font-weight:600;letter-spacing:-.03em}
.hero2 h1,.feat h2,.s h2,.page h1{font-weight:600;letter-spacing:-.045em}
.strip b,.steps2 .step.big,.qa h3{font-weight:600}
/* receipts */
.receipts{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.rc{position:relative;border:1px solid var(--hair2);border-radius:16px;padding:18px 18px 64px;background:var(--card);overflow:hidden}
.rc.acc{border-color:var(--acc)}
.rc-h{font:500 12.5px var(--mono);color:var(--faint);margin-bottom:12px}
.rc-r{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px dashed var(--hair);font-size:14px;color:var(--dim)}
.rc-r b{font:500 13.5px var(--mono);color:var(--ink)}
.rc-r.loss b{color:var(--down)}.rc-r.keep b{color:var(--up)}
.stamp{position:absolute;left:18px;bottom:16px;font:600 15px var(--head);padding:6px 12px;border-radius:9px;border:1.5px solid;opacity:0;transform:scale(1.25) rotate(-4deg)}
.stamp.bad{color:var(--down);border-color:var(--down)}
.stamp.ok{color:var(--up);border-color:var(--up)}
.play .stamp{animation:stamp .45s cubic-bezier(.2,1.4,.4,1) forwards .6s}
.play .rc.acc .stamp{animation-delay:1.1s}
@keyframes stamp{to{opacity:1;transform:rotate(-4deg)}}
/* order ticket */
.ticket{border:1px solid var(--hair2);border-radius:16px;padding:18px;background:var(--card)}
.tk-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding-bottom:12px;margin-bottom:6px;border-bottom:1px solid var(--hair)}
.tk-h b{font:600 18px var(--head);color:var(--up)}
.tk-h span{font:13px var(--mono);color:var(--dim)}
.tk-s{display:grid;grid-template-columns:18px 1fr auto;gap:12px;align-items:start;padding:12px 0;position:relative;opacity:.25}
.tk-s i{width:12px;height:12px;border-radius:50%;border:2px solid var(--hair2);margin-top:4px;background:var(--card)}
.tk-s:not(:last-child)::after{content:"";position:absolute;left:5px;top:30px;bottom:-6px;width:2px;background:var(--hair)}
.tk-s b{display:block;font:600 15px var(--head)}
.tk-s span{font-size:13.5px;color:var(--dim)}
.tk-s em{font:normal 12px var(--mono);color:var(--faint);padding-top:3px}
.tk-s.done b{color:var(--up)}
.play .tk-s{animation:on .4s ease forwards}
.play .tk-s i{animation:dot .4s ease forwards}
.play .s2,.play .s2 i{animation-delay:.6s}.play .s3,.play .s3 i{animation-delay:1.2s}.play .s4,.play .s4 i{animation-delay:1.8s}
@keyframes on{to{opacity:1}}
@keyframes dot{to{border-color:var(--acc);background:var(--acc)}}
.play .tk-s.done i{animation-name:dotok}
@keyframes dotok{to{border-color:var(--up);background:var(--up)}}
@media (max-width:680px){.receipts{grid-template-columns:1fr}}

#chart .nodata{z-index:5;pointer-events:none}

/* scrollbars in the house style: thin, no arrows, indigo thumb on hover */
*{scrollbar-width:thin;scrollbar-color:#2e2e38 transparent}
*::-webkit-scrollbar{width:8px;height:8px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{background:#2e2e38;border-radius:8px;border:2px solid transparent;background-clip:padding-box}
*::-webkit-scrollbar-thumb:hover{background:#ffb020;background-clip:padding-box}
*::-webkit-scrollbar-button{display:none;width:0;height:0}
*::-webkit-scrollbar-corner{background:transparent}
.mk .list:hover{scrollbar-color:#ffb020 transparent}

/* hero: a live preview of the app instead of a shape */
.preview{display:block;background:var(--card);border:1px solid var(--hair2);border-radius:20px;padding:16px 16px 12px;box-shadow:0 40px 90px rgba(0,0,0,.5)}
.preview:hover{border-color:var(--acc)}
.pv-h{display:flex;align-items:center;gap:22px;padding:2px 4px 12px}
.pv-sym{display:flex;align-items:center;gap:9px;font:600 18px var(--head);margin-right:auto}
.pv-sym img{width:26px;height:26px;border-radius:50%}
.pv-k small{display:block;font:11px var(--mono);color:var(--faint)}.pv-k b{font:500 14px var(--mono)}
#pvChart{height:300px}
.pv-f{display:flex;justify-content:space-between;gap:12px;padding:10px 4px 0;border-top:1px solid var(--hair);margin-top:8px;font:12px var(--mono);color:var(--faint)}
.pv-f b{color:var(--acc2);font-weight:500}
.h-art .h-stats{position:static;margin-top:12px}
@media (max-width:680px){#pvChart{height:220px}.pv-h{gap:12px}}
.steps2 .col{display:flex;flex-direction:column}.steps2 .cnt{margin-top:auto;padding-top:12px}

.ca.soon{cursor:default;border-style:dashed}.ca.soon span{color:var(--faint)}
.docs pre.code{font:13px/1.7 var(--mono);color:#d8d6e2;background:#0f0f12;border:1px solid var(--hair);border-radius:12px;padding:18px 20px;overflow-x:auto;margin:10px 0 14px;max-width:820px}
.docs article{min-width:0}

/* landing: two-column blocks start at the same top line */
.hero2,.feat{align-items:start}
.feat .f-copy{padding-top:4px}

/* app: the exchange fills the whole window, any width; panes scroll inside */
.xwrap{max-width:none;padding:0 16px}
@media (min-width:1001px){
  body.x{height:100vh;overflow:hidden;display:flex;flex-direction:column}
  body.x main.xwrap{flex:1;min-height:0;display:flex;flex-direction:column;width:100%}
  body.x .tick{flex:none}
  body.x .xgrid{flex:1;min-height:0;grid-template-columns:minmax(220px,16vw) minmax(0,1fr) minmax(320px,22vw);padding:12px 0;align-items:stretch}
  body.x .mk,body.x .panel2{position:static;max-height:none;height:100%;min-height:0;overflow:auto}
  body.x .mk{display:flex;flex-direction:column}
  body.x .mk .list{flex:1;min-height:0}
  body.x .cpane{display:flex;flex-direction:column;min-height:0;height:100%}
  body.x .chartbox{flex:1;min-height:0;display:flex;flex-direction:column}
  body.x #chart{flex:1;min-height:240px;height:auto}
  body.x .otable{height:220px;max-height:none;flex:none}
}
.feat .f-copy{padding-top:0}.feat h2{margin-top:-.13em}.hero2 h1{margin-top:-.12em}

.modal .box{position:relative}
.mclose{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:9px;border:1px solid var(--hair2);background:transparent;color:var(--dim);font:400 20px/1 var(--sans);display:grid;place-items:center}
.mclose:hover{color:var(--ink);border-color:var(--dim)}

/* the token plate: one full-width line under the hero */
.cafull{margin-top:34px}
.cafull .ca{display:flex;width:100%;max-width:none;justify-content:space-between;padding:16px 22px;border-radius:14px;font-size:14.5px}
.cafull .ca span{text-align:right}
.top{position:static}.docs nav{position:static}
/* the flip button sits between the two boxes, not on top of them */
.s2s .flip,.flip{height:auto;margin:8px 0}
.s2s .flip button,.flip button{width:34px;height:34px;border:1px solid var(--hair2);border-radius:10px}
.s2s .leg{margin-bottom:0}
body:not(.x) .top{position:relative!important;top:auto!important}.docs nav{position:static!important;top:auto!important}

/* Moorline: amber, Inter Tight, hero mirrored (preview left, words right) */
.btn.pri,.btn.pri:hover{color:#1f1300}
.toast{color:#1f1300}
.hero2 h1,.feat h2,.s h2{font-weight:700;letter-spacing:-.05em}
.hero2{grid-template-columns:1fr 1.1fr}
.hero2 .h-art{order:-1}
.preview{border-color:#3a2f16}
.strip{background:linear-gradient(90deg,rgba(255,176,32,.05),transparent 60%)}

.stopin{border-style:dashed!important}
