/* mydots — "sticker sheet" design: warm paper, ink outlines with hard offset shadows, six pastel dots, BNB gold as the one loud accent. */
@font-face{font-family:"Gabarito";src:url(/fonts/gabarito-var.woff2) format("woff2");font-weight:400 900;font-display:swap}
@font-face{font-family:"Satoshi";src:url(/fonts/satoshi-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Satoshi";src:url(/fonts/satoshi-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Satoshi";src:url(/fonts/satoshi-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(/fonts/jetbrains-mono-500.woff2) format("woff2");font-weight:500;font-display:swap}
:root{
  --paper:#FBF7EF;--paper2:#F3EDDF;--ink:#17160F;--ink2:#4A473B;--mut:#7B7767;--line:#17160F;--gold:#F0B90B;--gold2:#FFD64D;--white:#FFFFFF;
  --dot:#FFD86B;--block:#9BE3C4;--spark:#FFB27A;--ghost:#C9B8FF;--pill:#FFB3C7;--ring:#9CD6FF;--bad:#D6453D;--ok:#2E9E6B;
  --r:22px;--r2:14px;--sh:6px 6px 0 var(--ink);--sh2:3px 3px 0 var(--ink);--disp:"Gabarito",system-ui,sans-serif;--body:"Satoshi",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden;
  background-image:radial-gradient(circle at 1px 1px,rgba(23,22,15,.09) 1px,transparent 1.6px);background-size:26px 26px}
body.booting{overflow:hidden}
a{color:inherit}h1,h2,h3,h4{font-family:var(--disp);letter-spacing:-.02em;line-height:1.02;margin:0}
h1{font-size:clamp(46px,7.4vw,104px);font-weight:800}h2{font-size:clamp(34px,4.6vw,60px);font-weight:800}h3{font-size:26px;font-weight:700}
p{margin:0}.mut{color:var(--mut)}.mono{font-family:var(--mono);font-size:.86em}.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.kicker{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2)}
.kicker:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--gold);border:2px solid var(--ink)}
/* preloader: six dots pop in one by one */
#pre[hidden]{display:none}#pre{position:fixed;inset:0;z-index:60;background:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;transition:opacity .45s,visibility .45s}
#pre.off{opacity:0;visibility:hidden}.pre-dots{display:flex;gap:12px}.pre-dots i{width:22px;height:22px;border-radius:50%;border:3px solid var(--ink);box-shadow:var(--sh2);transform:scale(0);animation:pop .55s cubic-bezier(.2,1.6,.4,1) forwards}
.pre-dots i:nth-child(1){background:var(--dot);animation-delay:.05s}.pre-dots i:nth-child(2){background:var(--block);animation-delay:.15s}.pre-dots i:nth-child(3){background:var(--spark);animation-delay:.25s}.pre-dots i:nth-child(4){background:var(--ghost);animation-delay:.35s}.pre-dots i:nth-child(5){background:var(--pill);animation-delay:.45s}.pre-dots i:nth-child(6){background:var(--ring);animation-delay:.55s}
.pre-word{font-family:var(--disp);font-weight:800;font-size:28px;letter-spacing:-.02em;opacity:0;animation:fadeup .5s .7s forwards}
@keyframes pop{to{transform:scale(1)}}@keyframes fadeup{to{opacity:1;transform:translateY(0)}}
#pbar{position:fixed;top:0;left:0;right:0;height:3px;z-index:70;pointer-events:none;opacity:0;transition:opacity .2s}#pbar.on{opacity:1}#pbar i{display:block;height:100%;width:0;background:var(--ink)}
/* header */
.top{position:sticky;top:0;z-index:40;padding:14px 0}.top .wrap{display:flex;align-items:center;gap:18px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border:2px solid var(--ink);border-radius:999px;padding:8px 10px 8px 16px;box-shadow:var(--sh2)}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--disp);font-weight:800;font-size:22px}.brand .slash{color:var(--mut);font-weight:500}
.mark{display:grid;grid-template-columns:repeat(3,8px);gap:3px}.mark i{width:8px;height:8px;border-radius:50%;border:1.5px solid var(--ink)}
.mark i:nth-child(1){background:var(--dot)}.mark i:nth-child(2){background:var(--block)}.mark i:nth-child(3){background:var(--spark)}.mark i:nth-child(4){background:var(--ghost)}.mark i:nth-child(5){background:var(--pill)}.mark i:nth-child(6){background:var(--ring)}
.nav{display:flex;gap:4px;margin-left:8px}.nav a{text-decoration:none;font-weight:500;padding:8px 12px;border-radius:999px;color:var(--ink2)}.nav a:hover,.nav a.on{background:var(--paper2);color:var(--ink)}
.right{margin-left:auto;display:flex;align-items:center;gap:8px}.ico{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:50%;border:2px solid transparent}.ico:hover{border-color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:999px;border:2px solid var(--ink);background:var(--white);color:var(--ink);font:inherit;font-weight:700;text-decoration:none;cursor:pointer;box-shadow:var(--sh2);transition:transform .12s,box-shadow .12s}
.btn:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink)}.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}.btn.solid{background:var(--gold)}.btn.ink{background:var(--ink);color:var(--paper)}.btn.ghost{box-shadow:none;border-color:transparent}.btn.ghost:hover{border-color:var(--ink)}
.btn.sm{padding:7px 12px;font-size:14px}.btn.lg{padding:16px 26px;font-size:19px}.btn.big{width:100%;padding:18px;font-size:20px}.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none;box-shadow:var(--sh2)}
.btn.busy{position:relative;color:transparent!important}.btn.busy:after{content:"";position:absolute;width:18px;height:18px;border:3px solid var(--ink);border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.led{width:8px;height:8px;border-radius:50%;background:var(--mut)}.btn.on .led{background:var(--ok)}
/* layout */
.view{min-height:70vh}section{padding:72px 0}.card{background:var(--white);border:2px solid var(--ink);border-radius:var(--r);box-shadow:var(--sh);padding:26px}.card.flat{box-shadow:none}.card.tint{background:var(--paper2)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:22px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid6{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s,transform .6s}.reveal.in{opacity:1;transform:none}
/* hero */
.hero{padding:64px 0 40px;position:relative}.hero .wrap{position:relative;text-align:center}.hero h1{margin:16px auto 20px;max-width:900px}.hero h1 em{font-style:normal;color:var(--gold);-webkit-text-stroke:2px var(--ink);text-shadow:5px 5px 0 var(--ink)}
.hero p.lead{font-size:clamp(18px,2vw,24px);color:var(--ink2);max-width:640px;margin:0 auto 28px}.cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.floaters{position:absolute;inset:0;pointer-events:none}.floater{position:absolute;width:96px;animation:floaty 5s ease-in-out infinite}.floater svg{width:100%;height:auto;filter:drop-shadow(4px 5px 0 rgba(23,22,15,.9))}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-14px) rotate(3deg)}}
.ca{display:inline-flex;align-items:center;gap:10px;margin-top:26px;background:var(--white);border:2px solid var(--ink);border-radius:999px;padding:8px 8px 8px 16px;box-shadow:var(--sh2);font-family:var(--mono);font-size:14px}
.ca .lbl{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--mut)}
/* tape */
.tape{overflow:hidden;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);background:var(--gold);padding:10px 0;font-family:var(--disp);font-weight:700;font-size:18px;white-space:nowrap}.tape .in{display:inline-flex;gap:40px;animation:tape 40s linear infinite}.tape span{display:inline-flex;align-items:center;gap:10px}.tape .d{width:10px;height:10px;border-radius:50%;border:2px solid var(--ink)}
@keyframes tape{to{transform:translateX(-50%)}}
/* three lore cards */
.lorecards .card{position:relative;overflow:hidden;min-height:260px;display:flex;flex-direction:column;gap:12px}.lorecards .big{font-family:var(--disp);font-weight:800;font-size:44px;letter-spacing:-.02em;line-height:1}
.aliases{display:flex;gap:8px;flex-wrap:wrap}.aliases span{padding:6px 12px;border-radius:999px;border:2px solid var(--ink);font-family:var(--mono);font-size:13px;background:var(--paper2)}
.post{border:2px solid var(--ink);border-radius:var(--r2);padding:16px;background:var(--paper2)}.post .who{display:flex;align-items:center;gap:10px;font-weight:700}.post .who i{width:34px;height:34px;border-radius:50%;background:var(--ink)}.post .dots6{font-size:38px;letter-spacing:6px;font-weight:800;margin:10px 0 4px;font-family:var(--disp)}
.tick{font-family:var(--disp);font-weight:800;font-size:40px;letter-spacing:-.02em}.tick small{font-size:18px;color:var(--mut)}
/* characters */
.chars{gap:16px}.char{background:var(--white);border:2px solid var(--ink);border-radius:var(--r);box-shadow:var(--sh2);padding:16px 12px 14px;text-align:center;cursor:pointer;transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column;align-items:center;gap:6px}
.char:hover{transform:translate(-2px,-4px);box-shadow:var(--sh)}.char.on{background:var(--paper2);box-shadow:var(--sh)}.char svg{width:96px;height:96px;transition:transform .2s}.char:hover svg{transform:rotate(-6deg) scale(1.06)}.char b{font-family:var(--disp);font-size:20px}.char small{color:var(--mut);font-size:13px;line-height:1.3}
.charbig{display:grid;grid-template-columns:200px 1fr;gap:26px;align-items:center}.charbig svg{width:200px;height:200px;filter:drop-shadow(6px 6px 0 rgba(23,22,15,.9))}.charbig blockquote{margin:0;font-family:var(--disp);font-size:clamp(24px,3vw,38px);font-weight:700;line-height:1.1;letter-spacing:-.02em}
/* chat */
.chatlist{display:flex;flex-direction:column;gap:10px}.msg{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start;background:var(--white);border:2px solid var(--ink);border-radius:var(--r2);padding:12px 14px;box-shadow:var(--sh2)}
.msg svg{width:44px;height:44px}.msg .hd{display:flex;gap:8px;align-items:baseline;font-size:13px}.msg .hd b{font-family:var(--disp);font-size:16px}.msg .hd .mono{color:var(--mut)}.msg .tx{font-size:16px;margin-top:2px}.msg .re{font-size:12px;color:var(--mut);font-family:var(--mono)}
.msg.agent{background:#FFFBEA}.msg .tag{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:2px 7px;border:1.5px solid var(--ink);border-radius:999px;background:var(--gold2)}
/* launches */
.stats{display:flex;gap:28px;flex-wrap:wrap}.stat b{display:block;font-family:var(--disp);font-size:44px;line-height:1;letter-spacing:-.02em}.stat span{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.coins{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.coin{display:grid;grid-template-columns:72px 1fr;gap:14px;text-decoration:none;background:var(--white);border:2px solid var(--ink);border-radius:var(--r);padding:16px;box-shadow:var(--sh2);transition:transform .15s,box-shadow .15s}
.coin:hover{transform:translate(-2px,-3px);box-shadow:var(--sh)}.coin svg,.coin img{width:72px;height:72px;border-radius:16px}.coin .nm{font-family:var(--disp);font-weight:800;font-size:22px;line-height:1.05}.coin .tk{font-family:var(--mono);color:var(--mut);font-size:13px}.coin .st{font-size:14px;color:var(--ink2);margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.coin .kv{display:flex;gap:14px;margin-top:8px;font-family:var(--mono);font-size:12px}.coin .kv b{font-weight:500;color:var(--ink)}
.prog{height:10px;border:2px solid var(--ink);border-radius:999px;background:var(--white);overflow:hidden}.prog i{display:block;height:100%;background:var(--gold);width:0;transition:width .8s}
.empty{border:2px dashed var(--ink);border-radius:var(--r);padding:36px;text-align:center;color:var(--mut)}
/* coin page */
.coinhero{display:grid;grid-template-columns:260px 1fr;gap:30px;align-items:start}.coinhero .art{background:var(--white);border:2px solid var(--ink);border-radius:var(--r);box-shadow:var(--sh);padding:20px;display:flex;align-items:center;justify-content:center}.coinhero .art svg,.coinhero .art img{width:200px;height:200px}
.big4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}.big4 div{border:2px solid var(--ink);border-radius:var(--r2);padding:12px 14px;background:var(--white)}.big4 b{display:block;font-family:var(--disp);font-size:28px;line-height:1;letter-spacing:-.02em}.big4 small{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
.trades{display:flex;flex-direction:column;gap:8px}.tr{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;border:2px solid var(--ink);border-radius:12px;padding:10px 12px;background:var(--white);font-size:14px}.tr .sd{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;border-radius:999px;border:1.5px solid var(--ink);text-align:center}.tr .sd.buy{background:var(--block)}.tr .sd.sell{background:var(--pill)}
/* create */
.create{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:start}.fl{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.fl span{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)}
input,textarea{font:inherit;color:var(--ink);background:var(--white);border:2px solid var(--ink);border-radius:var(--r2);padding:12px 14px;width:100%;outline:none;box-shadow:var(--sh2)}input:focus,textarea:focus{box-shadow:4px 4px 0 var(--gold)}textarea{min-height:110px;resize:vertical}.cnt{font-family:var(--mono);font-size:12px;color:var(--mut);text-align:right}
.picker{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:16px}.picker .char{padding:10px 6px 8px}.picker .char svg{width:64px;height:64px}.picker .char b{font-size:15px}
.preview{position:sticky;top:96px}.preview .art{display:flex;justify-content:center;padding:14px 0 6px}.preview .art svg{width:150px;height:150px;filter:drop-shadow(5px 5px 0 rgba(23,22,15,.9))}
.preview .nm{font-family:var(--disp);font-size:34px;font-weight:800;text-align:center;letter-spacing:-.02em;line-height:1}.preview .tk{text-align:center;font-family:var(--mono);color:var(--mut);margin-top:4px}.preview .st{text-align:center;margin:14px 0 18px;color:var(--ink2);min-height:48px}
.terms{border-top:2px solid var(--ink);padding-top:12px;font-size:14px;display:flex;flex-direction:column;gap:6px}.terms div{display:flex;justify-content:space-between;gap:12px}.terms b{font-family:var(--mono);font-weight:500}
.steps{margin-top:14px;display:flex;flex-direction:column;gap:6px;font-size:14px}.step{display:flex;gap:10px;align-items:center;padding:8px 12px;border-radius:12px;border:2px solid var(--ink);background:var(--paper2)}.step.ok{background:var(--block)}.step.err{background:var(--pill)}.step.busy:before{content:"";width:12px;height:12px;border:2px solid var(--ink);border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}
.banner{display:flex;gap:14px;align-items:center;border:2px solid var(--ink);border-radius:var(--r2);padding:12px 16px;background:var(--gold2);margin-bottom:18px;box-shadow:var(--sh2)}
/* game */
.arcade{display:grid;grid-template-columns:1fr 420px;gap:28px;align-items:center}.gamebox{border:2px solid var(--ink);border-radius:var(--r);box-shadow:var(--sh);background:#1B1A17;padding:10px;position:relative}.gamebox canvas{display:block;width:100%;height:auto;border-radius:14px;background:#22211C}
.gamebox .over{position:absolute;inset:10px;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--paper);background:rgba(27,26,23,.82);font-family:var(--disp);text-align:center}.gamebox .over b{font-size:34px}
.keys{display:flex;gap:8px;flex-wrap:wrap;font-family:var(--mono);font-size:12px;color:var(--mut)}.keys kbd{border:1.5px solid var(--ink);border-radius:6px;padding:2px 7px;background:var(--white);color:var(--ink)}
/* agents docs */
.doc{max-width:820px}.doc h3{margin-top:34px}.doc pre{background:var(--ink);color:#F3EDDF;border-radius:var(--r2);padding:16px 18px;overflow:auto;font-family:var(--mono);font-size:13px;line-height:1.5;border:2px solid var(--ink);box-shadow:var(--sh2)}.doc code{font-family:var(--mono);font-size:.9em;background:var(--paper2);padding:1px 6px;border-radius:6px}.doc ol,.doc ul{padding-left:22px}.doc li{margin:6px 0}
.flow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0 24px}.flow span{padding:8px 14px;border:2px solid var(--ink);border-radius:999px;background:var(--white);font-weight:700;box-shadow:var(--sh2)}.flow i{font-style:normal;color:var(--mut)}
/* lore page */
.timeline{border-left:3px solid var(--ink);margin-left:8px;padding-left:24px;display:flex;flex-direction:column;gap:26px}.tl{position:relative}.tl:before{content:"";position:absolute;left:-36px;top:6px;width:16px;height:16px;border-radius:50%;background:var(--gold);border:3px solid var(--ink)}.tl .when{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}.tl h3{margin:4px 0 6px}
/* toasts + modal + footer */
.toasts{position:fixed;right:18px;bottom:18px;z-index:80;display:flex;flex-direction:column;gap:8px;max-width:420px}.toast{background:var(--white);border:2px solid var(--ink);border-radius:14px;padding:12px 14px;box-shadow:var(--sh2);font-size:14px}.toast.ok{background:var(--block)}.toast.err{background:var(--pill)}
.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:90;background:rgba(23,22,15,.55);display:flex;align-items:center;justify-content:center;padding:20px}.modal-card{position:relative;background:var(--white);border:2px solid var(--ink);border-radius:var(--r);box-shadow:var(--sh);padding:30px;max-width:960px;width:100%}.modal .x{position:absolute;top:10px;right:14px;background:none;border:0;font-size:28px;cursor:pointer}
.foot{border-top:2px solid var(--ink);padding:30px 0 60px;font-size:14px;color:var(--ink2)}.foot .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.foot .links{display:flex;gap:16px;flex-wrap:wrap}.foot a{color:var(--ink)}
@media (max-width:980px){.grid3,.coins{grid-template-columns:1fr 1fr}.grid6,.picker{grid-template-columns:repeat(3,1fr)}.create,.arcade,.coinhero,.charbig{grid-template-columns:1fr}.big4{grid-template-columns:1fr 1fr}.nav{display:none}.floater{display:none}}
@media (max-width:640px){.grid2,.grid3,.coins{grid-template-columns:1fr}.top .wrap{padding:6px 8px 6px 12px}.right .btn.solid{display:none}section{padding:48px 0}.hero{padding:36px 0 24px}}
