/*
  TOKENS: the only file in this project that holds colour literals.
  Provenance: every value is a real pixel read from the brand and reference
  files. Method: k-means (k=6) on a 200x200 resample, each centroid snapped to
  the nearest real pixel of the full-size file; coordinates are full-size x,y.
    brand/LOGO DIGITIZED PNG.png (2000x2000, opaque RGBA)
    brand/LOGO DIGITIZED PNG...png (2000x2000, colour type 6, transparent)
    reference/SAMPUL DIGITIZED JPG.jpg.jpeg (1500x500)
    reference/DIGITIZED 1.jpg.jpeg (1600x900)
*/
:root {
  --ink: #1c0901;        /* opaque logo, 0,1120 */
  --dark-1: #291101;     /* opaque logo, 20,350 */
  --dark-2: #3c1d04;     /* opaque logo, 1220,480 */
  --cocoa: #572e1b;      /* banner, 908,300 */
  --deep: #814f23;       /* transparent logo, 580,670 */
  --gold-2: #a56e38;     /* transparent logo, 940,670 */
  --gold-1: #e2b670;     /* transparent logo, 1240,690 */
  --copper: #a5744a;     /* banner, 1425,460 */
  --tan: #cda781;        /* banner, 960,483 */
  --sand: #e9cfb0;       /* banner, 1193,305 */
  --cream: #f2e1cd;      /* banner, 248,0 */
  --ivory: #fbf0df;      /* banner, 765,375 */
  --up: #00f9cb;         /* reference 1, 272,839 (chain mark) */
  --down: #ff2909;       /* reference 1, 1294,639 (flame) */
  --ember: #e16a16;      /* reference 1, 528,693 */

  --bg: var(--cream);
  --bg-nav: var(--ivory);
  --card: var(--ivory);
  --inset: var(--sand);
  --inset-2: color-mix(in srgb, var(--tan) 55%, var(--sand));
  --pill: var(--sand);
  --line: color-mix(in srgb, var(--cocoa) 11%, transparent);
  --line-strong: color-mix(in srgb, var(--cocoa) 22%, transparent);
  --text: var(--ink);
  --text-2: var(--cocoa);
  --text-3: var(--deep);
  --brown: var(--cocoa);
  --up-soft: color-mix(in srgb, var(--up) 26%, var(--ivory));
  --down-soft: color-mix(in srgb, var(--down) 18%, var(--ivory));
  --up-flash: color-mix(in srgb, var(--up) 34%, transparent);
  --down-flash: color-mix(in srgb, var(--down) 22%, transparent);
  --shadow: 0 1px 2px color-mix(in srgb, var(--cocoa) 5%, transparent), 0 8px 24px -12px color-mix(in srgb, var(--cocoa) 24%, transparent);
  --shadow-pop: 0 12px 40px -8px color-mix(in srgb, var(--ink) 38%, transparent);
  --spot: color-mix(in srgb, var(--gold-1) 34%, transparent);
  --radius: 18px;
  --radius-sm: 12px;
  --radius-xs: 9px;
  --nav-h: 70px;
  --font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  color-scheme: light;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:150px}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:13.5px;line-height:1.4;-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 1,"cv11" 1;min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
img{display:block}
:focus-visible{outline:2px solid var(--cocoa);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* progress */
.progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:60;pointer-events:none}
.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--gold-2),var(--gold-1));transform:scaleX(0);transform-origin:0 50%;will-change:transform}

/* sticky header */
.top{position:sticky;top:0;z-index:30}
.ca{display:flex;align-items:center;gap:14px;min-height:56px;padding:6px 22px;background:var(--ink);color:var(--ivory);border-bottom:1px solid var(--line-strong)}
.ca__label{flex:none;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-1)}
.ca__value{display:flex;align-items:center;gap:12px;min-height:44px;min-width:0;padding:4px 12px;border-radius:var(--radius-sm);text-align:left;transition:background .15s}
.ca__value:hover{background:color-mix(in srgb,var(--gold-1) 16%,transparent)}
.ca__addr{font-family:var(--mono);font-size:clamp(14px,1.9vw,21px);font-weight:600;letter-spacing:.01em;overflow-wrap:anywhere;word-break:break-all;color:var(--ivory)}
.ca__icon{flex:none;width:20px;height:20px;color:var(--gold-1)}
.ca__fb{flex:none;font-size:12.5px;font-weight:600;color:var(--gold-1);min-width:56px}
.ca__pending{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:999px;border:1px dashed color-mix(in srgb,var(--gold-1) 45%,transparent);font-size:13px;font-weight:600;color:var(--tan);cursor:default;user-select:none}
.ca.is-inert .ca__label{color:var(--tan)}

.nav{height:var(--nav-h);background:var(--bg-nav);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 22px;gap:18px}
.nav__brand{display:flex;align-items:center;gap:10px;margin-right:8px;min-height:44px}
.nav__logo{width:44px;height:44px;border-radius:var(--radius-sm);box-shadow:0 0 0 1px var(--line-strong)}
.nav__name{font-weight:800;font-size:17px;letter-spacing:-.02em}
.nav__links{display:flex;align-items:center;gap:2px}
.nav__link{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border-radius:999px;font-weight:500;font-size:14.5px;transition:background .15s,color .15s}
.nav__link:hover{background:var(--pill)}
.nav__link.active{background:var(--brown);color:var(--ivory);font-weight:600}
.nav__search{flex:1 1 160px;min-width:0;max-width:310px;margin:0 auto;height:44px;background:var(--pill);border-radius:999px;display:flex;align-items:center;padding:0 18px;gap:10px;color:var(--text-3)}
.nav__search svg{flex:none;width:16px;height:16px}
.nav__search input{background:transparent;border:0;outline:0;flex:1;font:inherit;font-size:14px;color:var(--text);min-width:0;height:100%}
.nav__search input::placeholder{color:var(--text-3)}
.nav__search:focus-within{box-shadow:0 0 0 2px var(--cocoa)}
.nav__right{display:flex;align-items:center;gap:10px;margin-left:auto;flex-shrink:0}
.pilllive{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;border-radius:999px;background:var(--pill);font-size:12.5px;font-weight:600;color:var(--text-2);white-space:nowrap}
.dot{width:9px;height:9px;border-radius:50%;background:var(--up);box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 40%,transparent);animation:live-pulse 1.8s infinite}
.pilllive[data-s="sync"] .dot{background:var(--gold-1);animation-duration:.9s}
.pilllive[data-s="err"] .dot{background:var(--down);animation:none}
.socials{display:flex;align-items:center;gap:4px}
.ico{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:var(--text);transition:background .15s,transform .08s}
.ico svg{width:20px;height:20px}
a.ico:hover{background:var(--pill)}
a.ico:active{transform:translateY(1px)}
.ico.is-inert{color:var(--text-3);opacity:.45;cursor:default}

/* page */
.page{padding:14px 20px 28px;display:flex;flex-direction:column;gap:14px;max-width:1600px;width:100%;margin:0 auto;flex:1}
.card{position:relative;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line);min-width:0}
.card__hd{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px 10px;flex-wrap:wrap}
.card__title{font-weight:600;font-size:14.5px;margin:0}
.card__pad{padding:16px 18px}
[data-spot]{position:relative;isolation:isolate}
[data-spot]::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),var(--spot),transparent 70%);opacity:0;transition:opacity .25s ease-out;pointer-events:none;z-index:-1}
[data-spot]:hover::after{opacity:1}

.chip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:600;background:var(--pill);color:var(--text-2);white-space:nowrap}
.chip--up{background:var(--up-soft);color:var(--ink)}
.chip--down{background:var(--down-soft);color:var(--ink)}
.chip--brown{background:var(--brown);color:var(--ivory)}
.chip--tan{background:color-mix(in srgb,var(--tan) 28%,transparent);color:var(--deep)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 22px;border-radius:999px;font-weight:600;font-size:14px;background:var(--pill);color:var(--text);transition:transform .08s,background .15s,box-shadow .15s;white-space:nowrap}
.btn:hover{background:var(--inset-2)}
.btn:active{transform:translateY(1px)}
.btn--primary{background:linear-gradient(180deg,var(--cocoa),var(--dark-1));color:var(--ivory);box-shadow:inset 0 1px color-mix(in srgb,var(--ivory) 14%,transparent),0 6px 14px -6px color-mix(in srgb,var(--ink) 55%,transparent)}
.btn--primary:hover{background:linear-gradient(180deg,var(--deep),var(--cocoa))}
.btn--ghost{background:transparent;border:1px solid var(--line-strong)}
.btn--ghost:hover{background:var(--pill)}

/* ticker */
.ticker{overflow:hidden;padding:0;height:52px;display:flex;align-items:center;-webkit-mask-image:linear-gradient(90deg,transparent,var(--ink) 6%,var(--ink) 94%,transparent);mask-image:linear-gradient(90deg,transparent,var(--ink) 6%,var(--ink) 94%,transparent)}
.ticker__track{display:flex;gap:10px;width:max-content;animation:marquee 70s linear infinite;padding:0 10px}
.ticker:hover .ticker__track{animation-play-state:paused}
.tick{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px 0 6px;border-radius:999px;background:var(--pill);font-size:13px;white-space:nowrap}
.tick b{font-weight:700}
.tick .pct{font-weight:600}
.tick--skel{width:150px;border-radius:999px}

/* hero */
.hero{position:relative;overflow:hidden;border-radius:var(--radius);background:var(--ink);color:var(--ivory);min-height:360px;display:flex;align-items:center;isolation:isolate;box-shadow:var(--shadow-pop)}
.hero__mesh{position:absolute;inset:-20%;z-index:-3;background:
  radial-gradient(40% 50% at 18% 30%,color-mix(in srgb,var(--gold-2) 55%,transparent),transparent 70%),
  radial-gradient(36% 44% at 82% 20%,color-mix(in srgb,var(--gold-1) 45%,transparent),transparent 70%),
  radial-gradient(44% 52% at 70% 88%,color-mix(in srgb,var(--ember) 40%,transparent),transparent 70%),
  radial-gradient(50% 60% at 30% 100%,color-mix(in srgb,var(--deep) 60%,transparent),transparent 70%);
  animation:mesh 22s ease-in-out infinite alternate}
.hero__grid{position:absolute;inset:0;z-index:-2;opacity:.18;background-image:linear-gradient(var(--tan) 1px,transparent 1px),linear-gradient(90deg,var(--tan) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(70% 90% at 70% 50%,var(--ink),transparent);mask-image:radial-gradient(70% 90% at 70% 50%,var(--ink),transparent)}
.layer{position:absolute;will-change:transform;pointer-events:none}
.hero__ring{border-radius:50%;border:1px solid color-mix(in srgb,var(--gold-1) 40%,transparent);z-index:-1}
.hero__ring--a{width:520px;height:520px;right:-40px;top:-70px}
.hero__ring--b{width:340px;height:340px;right:60px;top:20px;border-color:color-mix(in srgb,var(--gold-1) 26%,transparent)}
.hero__ring--c{width:760px;height:760px;right:-180px;top:-190px;border-color:color-mix(in srgb,var(--gold-1) 16%,transparent)}
.hero__mark{right:7%;top:50%;margin-top:-170px;width:340px;height:340px;z-index:0;filter:drop-shadow(0 24px 40px color-mix(in srgb,var(--ink) 70%,transparent))}
.hero__mark img{width:100%;height:100%;animation:float 7s ease-in-out infinite}
.hero__body{position:relative;z-index:1;padding:44px 40px;max-width:640px}
.hero h1{font-size:44px;line-height:1.05;font-weight:800;letter-spacing:-.03em;margin:14px 0 14px}
.hero h1 em{font-style:normal;background:linear-gradient(100deg,var(--gold-1),var(--tan),var(--gold-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{margin:0 0 22px;color:var(--sand);font-size:15.5px;line-height:1.55;max-width:540px}
.hero .chip{background:color-mix(in srgb,var(--gold-1) 18%,transparent);color:var(--gold-1);border:1px solid color-mix(in srgb,var(--gold-1) 30%,transparent)}
.hero__cta{display:flex;gap:10px;flex-wrap:wrap}
.hero .btn--primary{background:linear-gradient(180deg,var(--gold-1),var(--gold-2));color:var(--ink)}
.hero .btn--primary:hover{background:linear-gradient(180deg,var(--sand),var(--gold-1))}
.hero .btn--ghost{border-color:color-mix(in srgb,var(--gold-1) 40%,transparent);color:var(--ivory)}
.hero .btn--ghost:hover{background:color-mix(in srgb,var(--gold-1) 16%,transparent)}

/* kpis */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
.kpi{padding:16px 18px;display:flex;flex-direction:column;gap:6px;min-height:88px}
.kpi__l{font-size:12.5px;color:var(--text-2);display:flex;align-items:center;gap:6px}
.kpi__v{font-size:22px;font-weight:700;letter-spacing:-.01em}
.kpi__s{font-size:12.5px;color:var(--text-3)}

.grid-main{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:14px;align-items:start}
.grid-main>*{min-width:0}
.rail{display:flex;flex-direction:column;gap:14px}

/* tabs */
.seg{display:inline-flex;background:var(--pill);border-radius:999px;padding:4px;gap:2px;max-width:100%;overflow-x:auto}
.seg__btn{min-height:44px;padding:0 14px;border-radius:999px;font-size:13px;font-weight:500;color:var(--text-2);transition:background .15s,color .15s;white-space:nowrap}
.seg__btn:hover{color:var(--text)}
.seg__btn.active{background:var(--card);color:var(--text);font-weight:600;box-shadow:0 1px 3px color-mix(in srgb,var(--cocoa) 18%,transparent)}

/* ledger rows */
.ledger{width:100%}
.lrow{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.3fr) minmax(0,1.3fr) 56px;align-items:center;gap:0 8px;padding:8px 12px;border-bottom:1px solid var(--line);position:relative}
.lrow:last-child{border-bottom:0}
.lrow--hd{padding-top:10px;padding-bottom:10px;font-size:12.5px;color:var(--text-2);font-weight:500}
.lrow--hd span{white-space:nowrap}
.lrow .r{text-align:right}
.lrow[data-spot]{--spot:color-mix(in srgb,var(--gold-1) 24%,transparent)}
.lrow:not(.lrow--hd):hover{background:color-mix(in srgb,var(--cocoa) 3%,transparent)}
.lrow .c{white-space:nowrap;font-size:13.5px;min-width:0}
.sym{display:flex;align-items:center;gap:10px;min-width:0}
.sym__t{display:flex;flex-direction:column;gap:1px;line-height:1.2;min-width:0}
.sym__t b{font-weight:600;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sym__t small{font-size:12px;font-weight:500;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tile{flex:none;width:36px;height:36px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;color:var(--ivory);background:var(--cocoa);box-shadow:0 0 0 1px var(--line-strong)}
.tile img{width:100%;height:100%;object-fit:cover}
.tile--0{background:var(--cocoa)}.tile--1{background:var(--deep)}.tile--2{background:var(--gold-2)}.tile--3{background:var(--dark-2)}.tile--4{background:var(--copper)}
.pct{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;font-size:12.5px;font-weight:600}
.pct--up{background:var(--up-soft)}
.pct--down{background:var(--down-soft)}
.pct--flat{background:var(--pill)}
.cpbtn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:var(--text-2);transition:background .15s}
.cpbtn:hover{background:var(--pill);color:var(--text)}
.cpbtn svg{width:18px;height:18px}
.cpbtn.done{color:var(--deep)}
.flash-up{animation:flash-up .6s ease-out}
.flash-down{animation:flash-down .6s ease-out}
.feed-note{margin:0;padding:12px 16px;font-size:12.5px;color:var(--text-3);border-top:1px solid var(--line);display:flex;align-items:center;gap:8px;min-height:44px}
.feed-note[hidden]{display:none}
.empty{padding:34px 16px;text-align:center;color:var(--text-2);display:flex;flex-direction:column;gap:6px;align-items:center}
.empty b{font-size:22px;color:var(--text-3)}

/* skeleton */
.skel{display:inline-block;border-radius:8px;background:linear-gradient(90deg,var(--inset) 0%,color-mix(in srgb,var(--ivory) 75%,var(--inset)) 50%,var(--inset) 100%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}
.skel--tile{width:36px;height:36px;border-radius:50%}
.skel--l{width:90px;height:12px}
.skel--m{width:64px;height:12px}
.skel--s{width:44px;height:12px}
.lrow.is-in{animation:none}

/* rail rows */
.rec{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-top:1px solid var(--line);min-height:52px}
.rec:first-of-type{border-top:0}
.rec__l{font-size:13px;color:var(--text-2)}
.rec__v{font-weight:600;font-size:13.5px;display:inline-flex;align-items:center;gap:8px;min-height:44px}
.rec__v.is-pending{font-weight:500;color:var(--text-3)}
a.rec__v:hover{text-decoration:underline}
.steps{list-style:none;margin:0;padding:6px 18px 16px;display:flex;flex-direction:column;gap:12px}
.steps li{display:grid;grid-template-columns:26px 1fr;gap:10px;font-size:13px;line-height:1.5;color:var(--text-2)}
.steps li span{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--cocoa);color:var(--ivory);font-weight:700;font-size:12px}

.footer{padding:18px 20px 22px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12.5px;color:var(--text-3);border-top:1px solid var(--line);background:var(--bg-nav)}
.footer b{color:var(--text-2);font-weight:600}
.footer p{margin:0;max-width:760px}

.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:70;background:var(--ink);color:var(--ivory);padding:12px 18px;border-radius:999px;font-weight:600;font-size:13px;box-shadow:var(--shadow-pop);animation:toast-in .25s ease-out}

/* reveal */
.js [data-reveal]:not(.is-in){opacity:0;transform:translateY(22px)}

@keyframes toast-in{0%{transform:translate(-50%,8px);opacity:0}to{transform:translate(-50%,0);opacity:1}}
@keyframes flash-up{0%{background:var(--up-flash)}to{background:transparent}}
@keyframes flash-down{0%{background:var(--down-flash)}to{background:transparent}}
@keyframes live-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--up) 70%,transparent)}70%{box-shadow:0 0 0 6px transparent}to{box-shadow:0 0 0 0 transparent}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes shimmer{from{background-position:200% 0}to{background-position:-200% 0}}
@keyframes mesh{0%{transform:translate3d(-2%,-1%,0) rotate(0deg) scale(1)}100%{transform:translate3d(3%,2%,0) rotate(6deg) scale(1.08)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

@media (max-width:1440px){.nav{gap:12px}.nav__link{padding:0 14px;font-size:14px}.nav__search{max-width:240px}}
@media (max-width:1280px){.grid-main{grid-template-columns:1fr}.nav{gap:8px;padding:0 14px}.nav__brand{margin-right:0}.nav__link{padding:0 11px;font-size:13.5px}.nav__search{max-width:200px}.hero__mark{width:280px;height:280px;margin-top:-140px}}
@media (max-width:960px){.nav__links{display:none}.page{padding:12px}.nav{padding:0 12px}.hero h1{font-size:34px}.hero__body{padding:34px 26px}.hero__mark{opacity:.55;right:-30px}.ca{padding:6px 12px}}
@media (max-width:760px){
  .lrow{grid-template-columns:minmax(0,1fr) auto 44px;grid-template-areas:"sym price cp" "sym chg cp" "vol liq liq";gap:2px 8px;padding:10px 12px}
  .lrow--hd{display:none}
  .lrow .c-sym{grid-area:sym}.lrow .c-price{grid-area:price}.lrow .c-chg{grid-area:chg}.lrow .c-cp{grid-area:cp;grid-row:1/3}
  .lrow .c-vol{grid-area:vol;text-align:left;font-size:12px;color:var(--text-2)}.lrow .c-liq{grid-area:liq;text-align:right;font-size:12px;color:var(--text-2)}
  .lrow .c-vol::before{content:"Vol ";color:var(--text-3)}.lrow .c-liq::before{content:"Liq ";color:var(--text-3)}
}
@media (max-width:640px){.nav__search{display:none}.kpis{grid-template-columns:1fr 1fr}.hero h1{font-size:30px}.hero__ring--a,.hero__ring--c{display:none}.hero__mark{opacity:.3}.pilllive{padding:0 10px}}
@media (max-width:480px){.nav__name{font-size:16px}.nav__right{gap:4px}.pilllive .lbl{display:none}.pilllive{width:34px;padding:0;justify-content:center}.kpis{grid-template-columns:1fr}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js [data-reveal]:not(.is-in){opacity:1;transform:none}
  .ticker{overflow-x:auto}
  .ticker__track{animation:none}
}
