/* Hallmark · macrostructure: Workbench (split ink/paper hero, journey path, live builder terminal) · tone: technical, calm · anchor hue: signal yellow 90 · genre: modern-minimal · studied: yes · DNA-source: url legacybridge.software */
@font-face{font-family:"Geist";src:url(/assets/fonts/geist-variable.woff2) format("woff2");font-weight:100 900;font-display:swap}
[hidden]{display:none!important}
@font-face{font-family:"Geist Mono";src:url(/assets/fonts/geist-mono-var.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{
  --paper:#F4F1EA;--grid:#E6E1D6;--ink:#0F0D16;--ink-2:#1B1825;--ink-3:#2A2635;--soft:#5B5866;
  --sun:#FFD43B;--cream:#EDE6D6;--red:#E5484D;--green:#3DBE7A;
  --r-card:14px;--r-btn:10px;--pad:clamp(20px,4vw,64px);--max:1360px;
  --ease:cubic-bezier(0,1,.4,1);
  --mono:"Geist Mono",ui-monospace,Menlo,monospace;
  --card:#FBF9F4;--card-a50:rgba(251,249,244,.5);--card-a40:rgba(251,249,244,.4);--green-deep:#1d7a4a;--shade:#07060b;--cream-a10:rgba(237,230,214,.1);--cream-a12:rgba(237,230,214,.12);--cream-a14:rgba(237,230,214,.14);--cream-a15:rgba(237,230,214,.15);--cream-a35:rgba(237,230,214,.35);--cream-a5:rgba(237,230,214,.05);--cream-a50:rgba(237,230,214,.5);--cream-a55:rgba(237,230,214,.55);--cream-a6:rgba(237,230,214,.06);--cream-a60:rgba(237,230,214,.6);--cream-a65:rgba(237,230,214,.65);--cream-a70:rgba(237,230,214,.7);--cream-a75:rgba(237,230,214,.75);--cream-a8:rgba(237,230,214,.08);--cream-a80:rgba(237,230,214,.8);--green-a14:rgba(61,190,122,.14);--green-a16:rgba(61,190,122,.16);--green-a18:rgba(61,190,122,.18);--ink-a25:rgba(15,13,22,.25);--ink-a30:rgba(15,13,22,.3);--ink-a35:rgba(15,13,22,.35);--ink-a40:rgba(15,13,22,.4);--ink-a55:rgba(15,13,22,.55);--ink-a60:rgba(15,13,22,.6);--paper-a86:rgba(244,241,234,.86);--red-a50:rgba(229,72,77,.5);--shade-a50:rgba(0,0,0,.5);--soft-a25:rgba(91,88,102,.25);--sun-a16:rgba(255,212,59,.16);--sun-a25:rgba(255,212,59,.25);--sun-a35:rgba(255,212,59,.35);--sun-a55:rgba(255,212,59,.55);--sun-a7:rgba(255,212,59,.07);--sun-a8:rgba(255,212,59,.08);--sun-a80:rgba(255,212,59,.8);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.55 "Geist",system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
img,svg,canvas{display:block;max-width:100%}
a{color:inherit}
button,input{font:inherit;color:inherit}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;z-index:99;background:var(--ink);color:var(--cream);padding:8px 12px;border-radius:8px}
.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.term-main :focus-visible,.hero-ink :focus-visible,.bcard-ink :focus-visible,.foot :focus-visible{outline-color:var(--sun)}

/* notice + nav */
.notice{background:var(--sun);color:var(--ink);text-align:center;font-size:14px;padding:8px var(--pad)}
.notice p{margin:0}
.notice a{font-weight:600}
.top{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:24px;padding:12px var(--pad);background:var(--paper-a86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--grid)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{border-radius:8px}
.wordmark{font-weight:650;font-size:21px;letter-spacing:-.04em}
.links{display:flex;gap:24px;margin-left:12px}
.links a{text-decoration:none;font-size:15px;color:var(--soft);transition:color .2s}
.links a:hover{color:var(--ink)}
.actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.icon-link{display:grid;place-items:center;width:36px;height:36px;border-radius:var(--r-btn);color:var(--ink);border:1px solid var(--grid);background:var(--card-a40);transition:transform .25s var(--ease),background .2s}
.icon-link:hover{transform:translateY(-2px);background:var(--card)}
.ca{border:1px solid var(--grid);background:var(--card-a50);border-radius:999px;padding:8px 12px;font-size:13px;font-family:var(--mono);cursor:pointer;white-space:nowrap}
.ca:disabled{cursor:default;color:var(--soft)}
.ca.is-live{color:var(--ink);background:var(--card)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:var(--r-btn);padding:8px 16px;font-size:15px;font-weight:550;text-decoration:none;cursor:pointer;white-space:nowrap;transition:transform .3s var(--ease),background .2s,box-shadow .3s}
.btn:hover{transform:translateY(-2px)}
.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none}
.btn-ink{background:var(--ink);color:var(--cream)}
.btn-sun{background:var(--sun);color:var(--ink)}
.btn:active{transform:translateY(0)}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.btn-line{background:transparent;color:var(--cream);border:1px solid var(--cream-a35)}
.btn-lg{padding:16px 24px;font-size:16px}
.btn-wide{width:100%}
.btn-mini{background:var(--ink-3);color:var(--cream);padding:8px 12px;font-size:13px}
.bcard .btn-mini,.orders-box .btn-mini{background:var(--ink);color:var(--cream)}

/* hero */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:16px;padding:16px;min-height:calc(100vh - 110px);max-height:1100px}
.hero-ink{background:var(--ink);color:var(--cream);border-radius:var(--r-card);padding:clamp(28px,5vw,80px);display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}
.hero-title{font-weight:600;letter-spacing:-.045em;line-height:.98;font-size:clamp(44px,4.6vw,124px);margin:0 0 28px;position:relative}
.hero-title .ln{display:block;overflow:hidden;padding-bottom:.06em}
.hero-title .ln>span{display:inline-block}
@media (min-width:721px){.hero-title .ln>span{white-space:nowrap}}
.hero-title,.h2{overflow-wrap:anywhere;min-width:0}
::placeholder{color:var(--cream-a55);opacity:1}
.hero-sub{max-width:520px;font-size:clamp(16px,1.15vw,19px);color:var(--cream-a75);margin:0 0 32px;position:relative}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;position:relative}
.hero-canvas{position:relative;border-radius:var(--r-card);overflow:hidden;border:1px solid var(--grid);background:var(--paper);display:flex;align-items:center;justify-content:center;padding:clamp(20px,4vw,64px);min-height:520px}
.paper-grid{position:absolute;inset:0;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:32px 32px;background-position:-1px -1px;animation:gridDrift 30s linear infinite}
@keyframes gridDrift{to{background-position:31px 31px}}
.chart-card{position:relative;margin:0;width:100%;max-width:min(1080px,100%);background:var(--ink);border-radius:var(--r-card);padding:20px 20px 12px;color:var(--cream);box-shadow:0 40px 80px -40px var(--ink-a55);overflow:hidden}
.chart-head,.term-chart-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;font-size:14px}
.chart-coin{display:flex;align-items:center;gap:8px;min-width:0}
.chart-coin b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chart-coin img{border-radius:50%}
.chart-meta{color:var(--cream-a55);font-family:var(--mono);font-size:12px;white-space:nowrap}
.chart-svg{width:100%;height:auto;aspect-ratio:600/340;overflow:visible}
#selSvg{aspect-ratio:600/300}
.chart-svg .c-line{fill:none;stroke:var(--cream);stroke-width:1.6;vector-effect:non-scaling-stroke}
.chart-svg .c-area{fill:var(--cream-a6)}
.chart-svg .c-now{fill:var(--cream)}
.chart-svg .c-rung{stroke:var(--sun);stroke-width:1.4;stroke-dasharray:6 6;vector-effect:non-scaling-stroke;animation:dashRun 1.6s linear infinite}
.chart-svg .c-rung.is-filled{stroke:var(--green);stroke-dasharray:none}
.chart-svg .c-alert{stroke:var(--red);stroke-width:1.4;stroke-dasharray:3 5;vector-effect:non-scaling-stroke}
.chart-svg .c-tag{font:600 12px var(--mono);fill:var(--ink)}
.chart-svg .c-tagbg{fill:var(--sun)}
.chart-svg .c-tagbg.is-alert{fill:var(--red)}
.chart-svg .c-tag.is-alert{fill:var(--ink)}
.chart-svg .c-empty{font:500 14px "Geist";fill:var(--cream-a50)}
@keyframes dashRun{to{stroke-dashoffset:-24}}
.scan{position:absolute;left:0;right:0;top:0;height:60px;background:linear-gradient(180deg,transparent,var(--sun-a7),transparent);animation:scan 6s ease-in-out infinite;pointer-events:none}
@keyframes scan{0%,100%{transform:translateY(-60px)}50%{transform:translateY(420px)}}
.ticket{position:absolute;right:clamp(16px,3vw,48px);bottom:clamp(16px,3vw,44px);width:min(290px,60%);background:var(--card);border:1px solid var(--grid);border-radius:var(--r-card);padding:16px 20px;box-shadow:0 30px 60px -30px var(--ink-a40);animation:floaty 7s ease-in-out infinite}
.ticket-k{margin:0;font-size:13px;color:var(--soft)}
.ticket-v{margin:2px 0 4px;font:600 30px/1.1 var(--mono);letter-spacing:-.03em}
.ticket-s{margin:0;font-size:13px;color:var(--soft)}
.ticket-check{position:absolute;top:-12px;right:-12px;width:30px;height:30px;border-radius:50%;background:var(--green);color:var(--ink);display:grid;place-items:center;animation:pop 9s var(--ease) infinite}
@keyframes pop{0%,8%{transform:scale(0)}14%,86%{transform:scale(1)}94%,100%{transform:scale(0)}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.doc-card{position:absolute;left:clamp(16px,3vw,48px);top:clamp(16px,3vw,44px);background:var(--card);border:1px solid var(--grid);border-radius:12px;padding:12px 16px;display:grid;gap:8px;min-width:170px;box-shadow:0 20px 40px -24px var(--ink-a35);animation:floaty 8s ease-in-out -3s infinite}
.doc-row{display:flex;justify-content:space-between;gap:16px;font-size:13px}
.doc-k{font-style:normal;color:var(--soft)}
.doc-val{font-style:normal;font-family:var(--mono);font-weight:600}
.doc-pill{justify-self:start;background:var(--green-a14);color:var(--green-deep);border-radius:999px;font-size:12px;padding:4px 12px;font-weight:550}

/* facts */
.facts{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:36px var(--pad);max-width:var(--max);margin:0 auto;flex-wrap:wrap}
.facts-lead{margin:0;font-size:15px;color:var(--soft);max-width:320px}
.facts-list{display:flex;gap:clamp(16px,3vw,44px);list-style:none;margin:0;padding:0;flex-wrap:wrap}
.facts-list li{display:flex;align-items:center;gap:12px;font-weight:550;font-size:15px}
.fact-mark{width:28px;height:28px;color:var(--ink)}
.fact-mark svg{width:100%;height:100%}

/* sections */
.h2{font-weight:600;letter-spacing:-.04em;line-height:1.02;font-size:clamp(34px,4.2vw,72px);margin:0 0 20px;text-wrap:balance}
.lede{font-size:clamp(16px,1.2vw,20px);color:var(--soft);max-width:620px;margin:0 0 44px}
.versus,.journey,.build,.bento,.feed,.compare,.faq{max-width:var(--max);margin:0 auto;padding:clamp(64px,9vw,140px) var(--pad) 0}
.versus{text-align:center}
.versus .lede{margin-left:auto;margin-right:auto}
.versus-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;text-align:left}
.vcard{border-radius:var(--r-card);padding:clamp(24px,3vw,44px);transition:transform .5s var(--ease)}
.vcard:hover{transform:translateY(-4px)}
.vcard h3{margin:0 0 20px;font-size:22px;font-weight:600;letter-spacing:-.02em}
.vcard-grey{background:var(--grid)}
.vcard-ink{background:var(--ink);color:var(--cream)}
.vlist{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:12px}
.vlist li{display:flex;gap:12px;align-items:flex-start}
.vlist li::before{content:"";flex:0 0 18px;height:18px;margin-top:4px;border-radius:50%;background:var(--soft);mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 5l8 8M13 5l-8 8' stroke='black' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") center/12px no-repeat,linear-gradient(var(--shade),var(--shade));mask-composite:exclude;-webkit-mask-composite:xor}
.vcard-ink .vlist li::before{background:var(--sun);mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M4.5 9.5l3 3 6-7' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") center/12px no-repeat,linear-gradient(var(--shade),var(--shade))}
.vfoot{margin:0;padding-top:20px;border-top:1px solid var(--soft-a25);color:var(--soft)}
.vfoot-sun{color:var(--sun);border-color:var(--cream-a15)}

/* journey */
.journey{text-align:center}
.journey .lede{margin-left:auto;margin-right:auto}
.journey-wrap{position:relative;max-width:1000px;margin:0 auto}
.journey-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.j-base{fill:none;stroke:var(--grid);stroke-width:2;vector-effect:non-scaling-stroke}
.j-draw{fill:none;stroke:var(--ink);stroke-width:2;vector-effect:non-scaling-stroke}
.j-flow{fill:none;stroke:var(--sun);stroke-width:3;stroke-dasharray:2 22;stroke-linecap:round;vector-effect:non-scaling-stroke;animation:flow .4s linear infinite}
@keyframes flow{to{stroke-dashoffset:-24}}
.steps{list-style:none;margin:0;padding:40px 0;display:grid;gap:clamp(40px,6vw,92px);position:relative}
.step{display:flex;align-items:center;position:relative}
.step-r{justify-content:flex-start;padding-left:4%}
.step-l{justify-content:flex-end;padding-right:4%}
.node{position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-8px 0 0 -8px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 5px var(--paper)}
.node.is-lit{background:var(--sun);box-shadow:0 0 0 5px var(--paper),0 0 0 6px var(--ink)}
.pulse{position:absolute;inset:0;border-radius:50%;border:2px solid var(--ink);animation:pulse 2.4s ease-out infinite}
@keyframes pulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(3.2);opacity:0}}
.step-card{width:min(400px,44%);background:var(--card);border:1px solid var(--grid);border-radius:var(--r-card);padding:24px;text-align:left;transition:transform .5s var(--ease),box-shadow .5s}
.step-card:hover{transform:translateY(-4px);box-shadow:0 30px 60px -30px var(--ink-a30)}
.step-card h3{margin:20px 0 8px;font-size:21px;font-weight:600;letter-spacing:-.02em}
.step-card p{margin:0;color:var(--soft);font-size:15px}
.w{background:var(--ink);color:var(--cream);border-radius:10px;padding:16px;display:grid;gap:8px;min-height:132px;font-size:13px;position:relative;overflow:hidden}
.w-coin{color:var(--cream-a60)}
.w-line{display:flex;align-items:center;gap:8px;padding:8px 8px;border-radius:8px}
.w-line i{width:16px;height:16px;border-radius:50%;background:var(--ink-3)}
.w-line em{margin-left:auto;font-style:normal;font-family:var(--mono)}
.w-line.is-pick{animation:pick 9s var(--ease) infinite}
@keyframes pick{0%,20%{background:transparent}28%,80%{background:var(--sun-a16)}90%,100%{background:transparent}}
.w-rung{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border:1px dashed var(--sun-a55);border-radius:8px;font-family:var(--mono)}
.w-val{font-style:normal;color:var(--sun);font-weight:600;min-width:2ch}
.w-val::after,.doc-val::after{content:"";display:inline-block;width:1px;height:1em;background:currentColor;margin-left:2px;vertical-align:-2px;animation:caret 1s steps(1) infinite}
@keyframes caret{50%{opacity:0}}
.w-rung em{font-style:normal;color:var(--cream-a60)}
.w-tx{position:relative;padding:12px;border-radius:8px;background:var(--ink-2);font-family:var(--mono);overflow:hidden}
.w-scan{position:absolute;top:0;bottom:0;width:30%;left:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,var(--sun-a25),transparent);animation:sweep 2.6s ease-in-out infinite}
@keyframes sweep{to{transform:translateX(340%)}}
.w-ok{justify-self:start;background:var(--green-a18);color:var(--green);border-radius:999px;padding:4px 12px;animation:okIn 5.2s var(--ease) infinite}
@keyframes okIn{0%,45%{opacity:0;transform:translateY(6px)}55%,92%{opacity:1;transform:none}100%{opacity:0}}
.w-btn{justify-self:start;background:var(--sun);color:var(--ink);border-radius:8px;padding:8px 16px;font-weight:600;position:relative;overflow:hidden;animation:press 6s var(--ease) infinite}
.w-btn::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-4px;border-radius:50%;background:var(--ink-a25);transform:scale(0);animation:ripple 6s ease-out infinite}
@keyframes press{0%,30%,40%,100%{transform:none}35%{transform:scale(.96)}}
@keyframes ripple{0%,34%{transform:scale(0);opacity:1}50%{transform:scale(18);opacity:0}100%{opacity:0}}
.w-filled{justify-self:start;font-family:var(--mono);color:var(--green);animation:okIn 6s var(--ease) -1s infinite}

/* builder */
.build-head{max-width:720px}
.terminal{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);background:var(--ink);color:var(--cream);border-radius:var(--r-card);overflow:hidden;box-shadow:0 50px 100px -50px var(--ink-a60)}
.term-side{padding:clamp(20px,2.4vw,32px);display:grid;gap:28px;align-content:start;border-right:1px solid var(--cream-a10)}
.term-main{padding:clamp(20px,2.4vw,32px);display:grid;gap:20px;align-content:start;background:var(--ink-2)}
.term-h{margin:0 0 12px;font-size:15px;font-weight:600;color:var(--cream)}
.coin-box{display:grid;gap:12px}
.empty,.empty-dark{margin:0;color:var(--soft);font-size:15px}
.empty-dark,.term-side .empty{color:var(--cream-a55)}
.coin-list{display:grid;gap:8px;max-height:268px;overflow:auto;padding-right:4px}
.coin-opt{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 12px;border-radius:10px;background:transparent;border:1px solid var(--cream-a10);cursor:pointer;text-align:left;transition:background .2s,border-color .2s}
.coin-opt:hover{background:var(--cream-a5)}
.coin-opt.is-on{border-color:var(--sun);background:var(--sun-a8)}
.coin-opt img,.coin-dot{width:28px;height:28px;border-radius:50%;background:var(--ink-3)}
.coin-opt b{display:block;font-weight:600;font-size:15px}
.coin-opt small{color:var(--cream-a55);font-size:12px}
.coin-opt .v{font-family:var(--mono);font-size:14px;text-align:right}
.paste{display:flex;gap:8px;margin-top:12px}
.paste input,.rung input,.alert-row input{background:var(--ink-2);border:1px solid var(--cream-a14);border-radius:8px;padding:8px 12px;color:var(--cream);min-width:0}
.paste input{flex:1;font-family:var(--mono);font-size:13px}
.presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.preset{background:var(--ink-2);border:1px solid var(--cream-a12);border-radius:10px;padding:12px;text-align:left;font-weight:600;cursor:pointer;color:var(--cream);transition:border-color .2s,transform .3s var(--ease)}
.preset small{display:block;font-weight:400;color:var(--cream-a55);font-size:12px;margin-top:2px}
.preset:hover{transform:translateY(-2px)}
.preset.is-on{border-color:var(--sun);box-shadow:inset 0 0 0 1px var(--sun)}
.rungs{display:grid;gap:8px;margin-bottom:12px}
.rung{display:grid;grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr) auto;align-items:center;gap:8px;font-size:14px;color:var(--cream-a70)}
.rung input{width:100%;font-family:var(--mono);font-size:14px}
.rung .x{background:none;border:0;color:var(--cream-a50);cursor:pointer;font-size:18px;line-height:1;padding:4px 8px;border-radius:6px}
.rung .x:hover{color:var(--red)}
.rung.is-bad input{border-color:var(--red)}
.alert-row{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--cream-a80)}
.alert-row input{width:80px;font-family:var(--mono);border-color:var(--red-a50)}
.fine{margin:12px 0 0;font-size:13px;color:var(--cream-a60);line-height:1.5}
.term-chart{background:var(--ink);border-radius:12px;padding:16px;border:1px solid var(--cream-a8)}
.ticket-big{background:var(--paper);color:var(--ink);border-radius:12px;padding:20px;display:grid;gap:16px}
.tb-rows{display:grid;gap:8px}
.tb-rows .empty-dark{color:var(--soft)}
.pnl-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:baseline;font-size:14px;padding-bottom:8px;border-bottom:1px dashed var(--grid)}
.pnl-row b{font-family:var(--mono);font-weight:600}
.pnl-row span{color:var(--soft)}
.pnl-row .warn{color:var(--red)}
.tb-total{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:4px 12px}
.tb-total span{font-weight:550}
.tb-total b{font:600 30px/1 var(--mono);letter-spacing:-.03em}
.tb-total small{grid-column:1/-1;color:var(--soft);font-size:13px}
.status{margin:0;font-size:14px;min-height:1.4em;color:var(--soft)}
.status.is-bad{color:var(--red)}
.status.is-ok{color:var(--green-deep)}
.share{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px;align-items:center;margin-top:24px;background:var(--card);border:1px solid var(--grid);border-radius:var(--r-card);padding:20px}
.share canvas{width:100%;height:auto;border-radius:10px}
.share h3{margin:0 0 8px;font-size:28px;font-weight:600;letter-spacing:-.03em}
.share p{color:var(--soft);margin:0 0 20px}
.share-actions{display:flex;gap:8px;flex-wrap:wrap}

/* orders bento */
.bento-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px}
.bcard{background:var(--card);border:1px solid var(--grid);border-radius:var(--r-card);padding:clamp(20px,2.4vw,32px)}
.bcard h3{margin:0 0 12px;font-size:21px;font-weight:600;letter-spacing:-.02em}
.bcard-ink{background:var(--ink);color:var(--cream);border:0}
.bcard-ink p{color:var(--cream-a70);font-size:15px}
.bhead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}
.orders-box{display:grid;gap:8px}
.ord{display:grid;grid-template-columns:28px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--grid);font-size:14px}
.ord img,.ord .coin-dot{width:28px;height:28px;border-radius:50%;background:var(--grid)}
.ord b{font-weight:600}
.ord small{display:block;color:var(--soft);font-size:12px}
.ord .num{font-family:var(--mono);text-align:right}
.ord .tag{border-radius:999px;padding:2px 12px;font-size:12px;background:var(--grid)}
.ord .tag.is-filled{background:var(--green-a16);color:var(--green-deep)}
.ord .tag.is-open{background:var(--sun-a35)}
.ord a{color:var(--soft);font-size:12px}
.ord-h{margin:16px 0 2px;font-size:14px;font-weight:600;color:var(--soft)}
.alerts-box{display:grid;gap:8px;margin:16px 0 16px}
.al{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;font-size:14px;padding:12px 12px;border-radius:10px;background:var(--ink-2)}
.al b{font-family:var(--mono);color:var(--red)}
.al .num{font-family:var(--mono);font-size:13px;color:var(--cream-a60)}
.al.is-hit{box-shadow:inset 0 0 0 1px var(--red)}
.al button{background:none;border:0;color:var(--cream-a50);cursor:pointer}

/* feed */
.feed-head{max-width:720px}
.feed-list{display:grid;border-top:1px solid var(--ink)}
.lrow{display:grid;grid-template-columns:36px minmax(0,1.3fr) minmax(0,2fr) minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 4px;border-bottom:1px solid var(--grid);transition:background .25s}
.lrow:hover{background:var(--card-a50)}
.lrow img,.lrow .coin-dot{width:36px;height:36px;border-radius:50%;background:var(--grid)}
.lrow b{font-weight:600}
.lrow small{display:block;color:var(--soft);font-size:13px;font-family:var(--mono)}
.lrow-rungs{display:flex;gap:8px;flex-wrap:wrap}
.lrow-rungs i{font-style:normal;font-family:var(--mono);font-size:12px;border:1px dashed var(--ink);border-radius:999px;padding:2px 8px}
.lrow-rungs i.is-filled{background:var(--green);border-color:var(--green);color:var(--ink)}
.lrow-rungs i.is-cancelled{opacity:.4;text-decoration:line-through}
.lrow .num{font-family:var(--mono);text-align:right}
.lrow a{font-size:13px;color:var(--soft)}
.feed-list .empty{padding:28px 4px}

/* compare */
.table-wrap{overflow-x:auto;border-radius:var(--r-card);border:1px solid var(--grid);background:var(--card)}
.cmp{width:100%;border-collapse:collapse;min-width:720px}
.cmp th,.cmp td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--grid);font-size:15px;vertical-align:top}
.cmp thead th{font-weight:600;font-size:16px}
.cmp tbody th{font-weight:550;color:var(--soft)}
.cmp .is-us{background:var(--ink);color:var(--cream)}
.cmp thead .is-us{border-radius:var(--r-card) var(--r-card) 0 0}
.cmp tr:last-child th,.cmp tr:last-child td{border-bottom:0}
.cmp td.is-us{border-bottom-color:var(--cream-a10)}

/* faq */
.faq-list{display:grid;border-top:1px solid var(--ink);max-width:960px}
.faq details{border-bottom:1px solid var(--grid)}
.faq summary{cursor:pointer;list-style:none;padding:24px 40px 24px 0;font-size:clamp(18px,1.5vw,22px);font-weight:550;letter-spacing:-.015em;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:6px;top:50%;width:14px;height:14px;margin-top:-8px;background:linear-gradient(var(--ink),var(--ink)) center/14px 2px no-repeat,linear-gradient(var(--ink),var(--ink)) center/2px 14px no-repeat;transition:transform .4s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:0 0 24px;color:var(--soft);max-width:68ch}

/* footer */
.foot{padding:clamp(64px,9vw,140px) 16px 16px}
.foot-inner{background:var(--ink);color:var(--cream);border-radius:var(--r-card);padding:clamp(28px,4vw,64px);overflow:hidden}
.foot-word{margin:0 0 32px;font-weight:650;letter-spacing:-.06em;line-height:.8;font-size:clamp(96px,19vw,360px);color:var(--sun)}
.foot-cols{display:grid;grid-template-columns:1.2fr 1.2fr auto;gap:32px;font-size:14px;color:var(--cream-a65)}
.foot-cols p{margin:0}
.foot-cols nav{display:grid;gap:8px}
.foot-cols a{text-decoration:none}
.foot-cols a:hover{color:var(--sun)}

.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:60;background:var(--ink);color:var(--cream);padding:12px 20px;border-radius:12px;max-width:min(560px,92vw);font-size:14px;box-shadow:0 20px 40px -20px var(--shade-a50)}

/* reveal: JS adds .js on html */
.js .reveal{opacity:0;transform:translateY(28px)}

@media (min-width:1900px){
  :root{--max:1640px}
  body{font-size:17px}
}
@media (max-width:1180px){
  .links{display:none}
}
@media (max-width:980px){
  .hero{grid-template-columns:minmax(0,1fr);max-height:none;min-height:0}
  .hero-ink{min-height:440px}
  .terminal,.bento-grid,.versus-grid,.share{grid-template-columns:minmax(0,1fr)}
  .term-side{border-right:0;border-bottom:1px solid var(--cream-a10)}
  .lrow{grid-template-columns:36px minmax(0,1fr) auto}
  .lrow-rungs{grid-column:2/-1;grid-row:2}
  .lrow .num-sol{display:none}
}
@media (max-width:720px){
  .top{gap:12px;padding:12px 16px}
  .actions .icon-link,#buyBtn{display:none}
  .ca{padding:8px 12px;font-size:12px}
  #connectBtn{padding:8px 12px;font-size:14px}
  .hero{padding:12px;gap:12px}
  .hero-title{font-size:clamp(38px,11vw,56px)}
  .hero-canvas{min-height:0;padding:16px;flex-direction:column;gap:16px}
  .chart-meta{overflow:hidden;text-overflow:ellipsis;min-width:0;font-size:11px}
  .doc-card{display:none}
  .ticket{position:relative;left:auto;right:auto;bottom:auto;width:100%}
  .facts{flex-direction:column;align-items:flex-start}
  .facts-list{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
  .journey-svg{display:none}
  .step-r,.step-l{justify-content:center;padding:0}
  .step-card{width:100%}
  .node{display:none}
  .foot-cols{grid-template-columns:minmax(0,1fr)}
  .presets{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}
  .notice{font-size:13px}
}
@media (max-width:420px){
  .brand .wordmark{display:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .reveal{opacity:1;transform:none}
}
