{"id":2187,"date":"2026-10-18T09:49:25","date_gmt":"2026-10-18T09:49:25","guid":{"rendered":"https:\/\/dignifiedbeasts.com\/?page_id=2187"},"modified":"2026-10-18T14:40:44","modified_gmt":"2026-10-18T14:40:44","slug":"mint","status":"publish","type":"page","link":"https:\/\/dignifiedbeasts.com\/index.php\/mint\/","title":{"rendered":"Mint"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2187\" class=\"elementor elementor-2187\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-b100e09 elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"b100e09\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-43de482\" data-id=\"43de482\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e2c9412 elementor-widget elementor-widget-html\" data-id=\"e2c9412\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!doctype html>\n<html lang=\"en\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>Live Mints \u2014 Dignified Beasts: Dominion Edition<\/title>\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Cinzel:wght@500;600;700;900&family=Montserrat:wght@300;400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500&display=swap\" rel=\"stylesheet\">\n<style>\n  :root{\n    --ink:#050705;--ink-2:#0B0D0A;--bone:#ECE7DA;--gold:#C9A24B;--gold-bright:#F0D896;\n    --gold-dim:rgba(201,162,75,.30);--blood:#8E1414;--blood-bright:#C92020;--mist:#93A092;\n    --hairline:rgba(236,231,218,.10);--void:#9B6BFF;\n  }\n  *{box-sizing:border-box}\n  [hidden]{display:none !important}\n  html,body{margin:0}\n  body{background:var(--ink);color:var(--bone);font-family:'Montserrat',sans-serif;line-height:1.6;min-height:100vh}\n  body.modal-open{overflow:hidden}\n  .page{max-width:1240px;margin:0 auto;padding:28px 20px 100px}\n\n  \/* Site navigation *\/\n  .site-nav{position:sticky;top:0;z-index:90;background:rgba(5,7,5,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--hairline)}\n  .site-nav .nav-inner{max-width:1240px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative}\n  .site-nav .brand img{height:44px;display:block}\n  .site-nav .nav-links{display:flex;gap:28px;list-style:none;margin:0;padding:0}\n  .site-nav .nav-links a{font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:.18em;color:var(--mist);text-decoration:none;transition:color .25s}\n  .site-nav .nav-links a:hover,.site-nav .nav-links a.active{color:var(--gold-bright)}\n  .site-nav .nav-right{display:flex;gap:12px;align-items:center}\n  .site-nav .nav-cta{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);background:linear-gradient(180deg,var(--gold-bright),var(--gold));padding:12px 18px;text-decoration:none;font-weight:600;white-space:nowrap}\n  .site-nav .menu-btn{display:none;background:none;border:1px solid var(--gold-dim);color:var(--gold-bright);font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.2em;padding:10px 14px;cursor:pointer}\n  @media (max-width:900px){\n    .site-nav .menu-btn{display:block}\n    .site-nav .nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--ink);border-bottom:1px solid var(--gold-dim);box-shadow:0 18px 40px rgba(0,0,0,.6)}\n    .site-nav .nav-links.open{display:flex}\n    .site-nav .nav-links a{display:block;padding:16px 20px;border-top:1px solid var(--hairline);font-size:12.5px}\n  }\n  @media (max-width:480px){\n    .site-nav .brand img{height:36px}\n    .site-nav .nav-cta{padding:10px 12px;font-size:10px}\n  }\n\n  .eyebrow{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:12px}\n  .live-dot{width:8px;height:8px;border-radius:50%;background:#2EE59D;box-shadow:0 0 12px #2EE59D;animation:pulse 2s infinite}\n  @keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}\n  h1{font-family:'Cinzel',serif;font-weight:900;letter-spacing:.035em;text-transform:uppercase;font-size:clamp(28px,4.6vw,48px);line-height:1.05;margin:14px 0 10px}\n  h1 em{font-style:normal;color:var(--gold-bright)}\n  .sub{color:var(--mist);max-width:62ch;margin:0 0 36px;font-size:15px}\n\n  .stats{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--hairline);margin-bottom:18px}\n  .stat{padding:18px 20px;border-right:1px solid var(--hairline)}\n  .stat:last-child{border-right:none}\n  .stat span{display:block;font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--mist);margin-bottom:6px}\n  .stat b{font-family:'Cinzel',serif;font-weight:900;font-size:clamp(20px,2.4vw,28px);color:var(--bone);letter-spacing:.04em}\n  .stat b small{font-size:.55em;color:var(--mist);font-weight:700}\n  .stat.crowned b{color:var(--gold-bright)}\n\n  .progress{height:6px;background:rgba(236,231,218,.06);margin-bottom:40px;position:relative;overflow:hidden}\n  .progress i{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,var(--blood-bright),var(--gold),var(--gold-bright));transition:width .8s ease}\n\n  .toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}\n  .chips{display:flex;gap:8px;flex-wrap:wrap}\n  .chip{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;padding:9px 14px;border:1px solid var(--hairline);background:none;color:var(--mist);cursor:pointer;transition:.2s}\n  .chip:hover{border-color:var(--gold-dim);color:var(--bone)}\n  .chip.active{border-color:var(--gold);color:var(--gold-bright);background:rgba(201,162,75,.08)}\n  .chip .chip-n{margin-left:6px;font-size:9.5px;opacity:.85}\n\n  \/* Rarity chips: always tinted by their rarity colour, stronger when active *\/\n  .chip[data-f=\"all\"]{background:rgba(236,231,218,.05);border-color:rgba(236,231,218,.18);color:var(--bone)}\n  .chip[data-f=\"all\"] .chip-n{color:var(--mist)}\n  .chip[data-f=\"all\"].active{background:rgba(236,231,218,.14);border-color:var(--bone);color:var(--bone)}\n\n  .chip[data-f=\"crowned\"]{background:rgba(240,216,150,.10);border-color:rgba(240,216,150,.35);color:var(--gold-bright)}\n  .chip[data-f=\"crowned\"] .chip-n{color:var(--gold-bright)}\n  .chip[data-f=\"crowned\"].active{background:linear-gradient(180deg,rgba(240,216,150,.28),rgba(201,162,75,.14));border-color:var(--gold-bright);box-shadow:0 0 16px rgba(240,216,150,.25)}\n\n  .chip[data-f=\"epic\"]{background:rgba(201,32,32,.10);border-color:rgba(255,90,90,.4);color:#FF7A7A}\n  .chip[data-f=\"epic\"] .chip-n{color:#FF7A7A}\n  .chip[data-f=\"epic\"].active{background:rgba(201,32,32,.22);border-color:#FF5A5A;color:#FF9A9A;box-shadow:0 0 14px rgba(201,32,32,.3)}\n\n  .chip[data-f=\"rare\"]{background:rgba(201,162,75,.08);border-color:rgba(201,162,75,.4);color:var(--gold)}\n  .chip[data-f=\"rare\"] .chip-n{color:var(--gold)}\n  .chip[data-f=\"rare\"].active{background:rgba(201,162,75,.20);border-color:var(--gold);color:var(--gold-bright);box-shadow:0 0 12px rgba(201,162,75,.25)}\n\n  .chip[data-f=\"noble\"]{background:rgba(185,194,184,.06);border-color:rgba(185,194,184,.3);color:#B9C2B8}\n  .chip[data-f=\"noble\"] .chip-n{color:#B9C2B8}\n  .chip[data-f=\"noble\"].active{background:rgba(185,194,184,.16);border-color:#B9C2B8;color:#D4DAD3}\n\n  \/* Leaderboard *\/\n  #lb-block{margin-top:50px;margin-bottom:50px}\n  .dlb-sum{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mist)}\n  .dlb-sum b{color:var(--gold-bright);font-weight:500}\n  .dlb-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:16px;margin-bottom:28px}\n  .dlb-card{position:relative;border:1px solid var(--hairline);background:linear-gradient(180deg,rgba(255,255,255,.015),rgba(5,7,5,.4));padding:22px;overflow:hidden;transition:border-color .3s,transform .3s}\n  .dlb-card:hover{border-color:var(--gold);transform:translateY(-3px)}\n  .dlb-card.rank-1{border-color:var(--gold-bright);background:linear-gradient(180deg,rgba(240,216,150,.14),rgba(5,7,5,.4))}\n  .dlb-card.rank-1::before{content:\"\";position:absolute;inset:0;background:radial-gradient(ellipse at top right,rgba(240,216,150,.18),transparent 60%);pointer-events:none}\n  .dlb-card.rank-2{border-color:var(--gold-dim)}\n  .dlb-rank-big{position:absolute;top:16px;right:20px;font-family:'Cinzel',serif;font-weight:900;font-size:44px;color:rgba(236,231,218,.08);letter-spacing:-.02em;line-height:1}\n  .dlb-card.rank-1 .dlb-rank-big{color:rgba(240,216,150,.22)}\n  .dlb-crown{position:absolute;top:16px;right:20px;font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.2em;color:var(--gold-bright);text-transform:uppercase}\n  .dlb-head{display:flex;align-items:center;gap:14px;margin-bottom:18px;position:relative;z-index:2}\n  .dlb-ava{width:52px;height:52px;border-radius:50%;flex:none;background:linear-gradient(135deg,var(--gold),var(--blood-bright));display:flex;align-items:center;justify-content:center;font-family:'Cinzel',serif;font-weight:900;font-size:18px;color:var(--ink);border:1px solid var(--gold-dim)}\n  .dlb-who{min-width:0;flex:1}\n  .dlb-name{font-family:'Cinzel',serif;font-weight:700;font-size:16px;color:var(--bone);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n  .dlb-wallet{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--mist);text-decoration:none;letter-spacing:.08em}\n  .dlb-wallet:hover{color:var(--gold-bright)}\n  .dlb-nums{display:flex;gap:22px;position:relative;z-index:2}\n  .dlb-num span{display:block;font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--mist);margin-bottom:4px}\n  .dlb-num b{font-family:'Cinzel',serif;font-weight:900;font-size:24px;color:var(--bone);letter-spacing:.03em}\n  .dlb-num .au{color:var(--gold-bright)}\n  .dlb-bar{height:4px;background:rgba(236,231,218,.08);margin-top:14px;position:relative;overflow:hidden}\n  .dlb-bar i{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,var(--blood-bright),var(--gold),var(--gold-bright));transition:width 1s ease}\n\n  .dlb-table-wrap{border:1px solid var(--hairline);background:rgba(5,7,5,.5)}\n  .dlb-cols,.dlb-row{display:grid;grid-template-columns:48px 1fr 90px 90px 100px;gap:14px;align-items:center;padding:12px 20px}\n  .dlb-cols{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--mist);border-bottom:1px solid var(--hairline)}\n  .dlb-cols .r{text-align:right}\n  .dlb-row{border-bottom:1px solid var(--hairline);transition:background .25s;background:rgba(236,231,218,.015);position:relative}\n  .dlb-row:last-child{border-bottom:none}\n  .dlb-row:hover{background:rgba(201,162,75,.06)}\n  .dlb-row .rank{font-family:'Cinzel',serif;font-weight:900;font-size:17px;color:var(--mist);position:relative;z-index:2}\n  \/* Top 3 ranked rows: all in the gold family, intensity decreasing by rank *\/\n  .dlb-row.r1{background:linear-gradient(90deg,rgba(240,216,150,.22),rgba(201,162,75,.08) 50%,transparent 90%)}\n  .dlb-row.r1::before{content:\"\";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#FFECB3,#C9A24B);box-shadow:0 0 10px rgba(240,216,150,.4)}\n  .dlb-row.r1 .rank{color:#FFECB3}\n  .dlb-row.r2{background:linear-gradient(90deg,rgba(201,162,75,.14),rgba(201,162,75,.04) 50%,transparent 90%)}\n  .dlb-row.r2::before{content:\"\";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#F0D896,#B08A3C)}\n  .dlb-row.r2 .rank{color:#F0D896}\n  .dlb-row.r3{background:linear-gradient(90deg,rgba(201,162,75,.08),rgba(201,162,75,.02) 50%,transparent 90%)}\n  .dlb-row.r3::before{content:\"\";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#C9A24B,#8A6B26)}\n  .dlb-row.r3 .rank{color:#C9A24B}\n  .dlb-row .who{display:flex;align-items:center;gap:12px;min-width:0}\n  .dlb-row .mini-ava{width:30px;height:30px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-family:'Cinzel',serif;font-weight:900;font-size:12px;color:var(--ink)}\n  .dlb-row .lbl{min-width:0}\n  .dlb-row .nm{font-family:'Cinzel',serif;font-weight:700;font-size:13.5px;color:var(--bone);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n  .dlb-row .wl{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--mist);letter-spacing:.06em;text-decoration:none}\n  .dlb-row .wl:hover{color:var(--gold-bright)}\n  .dlb-row .num{font-family:'Cinzel',serif;font-weight:900;font-size:18px;color:var(--bone);text-align:right}\n  .dlb-row .num.au{color:var(--gold-bright)}\n  .dlb-row .num.zero{color:var(--mist);opacity:.4;font-weight:400;font-size:14px}\n  .dlb-row .share{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--mist);text-align:right}\n  .dlb-row .share b{color:var(--bone);font-weight:500}\n\n  .dlb-skel{aspect-ratio:1\/0.6;border:1px solid var(--hairline);background:linear-gradient(100deg,rgba(255,255,255,.02) 20%,rgba(255,255,255,.05) 40%,rgba(255,255,255,.02) 60%);background-size:200% 100%;animation:shimmer 1.4s infinite}\n\n  @media (max-width:900px){\n    .dlb-grid{grid-template-columns:1fr}\n    .dlb-cols,.dlb-row{grid-template-columns:36px 1fr 70px 70px;padding:12px 14px}\n    .dlb-cols .r:nth-last-child(1),.dlb-row .share{display:none}\n    .dlb-row .num{font-size:15px}\n    .dlb-head{gap:12px}\n    .dlb-ava{width:46px;height:46px;font-size:16px}\n    .dlb-nums{gap:18px}\n    .dlb-num b{font-size:20px}\n  }\n  .updated{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.14em;color:var(--mist);text-transform:uppercase}\n\n  .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}\n  .card{border:1px solid var(--hairline);background:var(--ink-2);cursor:pointer;overflow:hidden;transition:border-color .25s,transform .25s;text-align:left;padding:0;color:inherit;font:inherit;position:relative}\n  .card:hover,.card:focus-visible{border-color:var(--gold);transform:translateY(-3px);outline:none}\n  .card .img{aspect-ratio:1\/1;background:#000;overflow:hidden}\n  .card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}\n  .card:hover img{transform:scale(1.04)}\n  .card .body{padding:12px 14px 14px}\n  .card .title{font-family:'Cinzel',serif;font-weight:700;font-size:13.5px;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:6px}\n  .card .meta{display:flex;justify-content:space-between;align-items:center;gap:8px}\n  .card .num{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.12em;color:var(--mist)}\n  .card.is-new{border-color:var(--gold-bright);box-shadow:0 0 0 1px var(--gold-bright),0 0 28px rgba(240,216,150,.25)}\n  .new-tag{position:absolute;top:10px;left:10px;font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:.2em;background:var(--blood-bright);color:var(--bone);padding:4px 8px;z-index:2}\n\n  .badge{font-family:'IBM Plex Mono',monospace;font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;padding:3px 7px;border:1px solid var(--hairline);color:var(--mist);white-space:nowrap}\n  .r-noble{color:#B9C2B8}\n  .r-rare{color:var(--gold);border-color:var(--gold-dim)}\n  .r-epic{color:#FF5A5A;border-color:rgba(201,32,32,.5)}\n  .r-golden-legendary{color:var(--ink);background:linear-gradient(180deg,var(--gold-bright),var(--gold));border-color:var(--gold)}\n  .r-void-anomaly{color:#fff;background:var(--void);border-color:var(--void)}\n  .r-ascended{color:var(--ink);background:#FFF6DC;border-color:#FFF6DC}\n  .r-reserved{color:var(--mist);opacity:.75}\n\n  .state{text-align:center;padding:70px 20px;color:var(--mist);font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.1em}\n  .skel{aspect-ratio:1\/1.25;border:1px solid var(--hairline);background:linear-gradient(100deg,rgba(255,255,255,.02) 20%,rgba(255,255,255,.05) 40%,rgba(255,255,255,.02) 60%);background-size:200% 100%;animation:shimmer 1.4s infinite}\n  @keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}\n\n  \/* Hero *\/\n  .hero{position:relative;overflow:hidden;border:1px solid var(--hairline);margin-bottom:28px;min-height:360px;display:flex;align-items:flex-end}\n  .hero-banner{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}\n  .hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,7,5,.05) 0%,rgba(5,7,5,.35) 45%,rgba(5,7,5,.95) 100%)}\n  .hero-inner{position:relative;display:flex;align-items:flex-end;gap:22px;padding:28px;width:100%;flex-wrap:wrap}\n  .hero-logo{width:112px;height:112px;object-fit:cover;border:1px solid var(--gold);background:var(--ink);flex:none}\n  .hero-text{flex:1;min-width:220px}\n  .hero h1{margin:10px 0 6px;text-shadow:0 2px 24px rgba(0,0,0,.6)}\n  .hero-by{font-size:14px;color:var(--mist)}\n  .hero-by b{color:var(--bone)}\n  .hero-cta{align-self:flex-end}\n\n  .strip-head{display:flex;align-items:center;gap:14px;font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--mist);margin-bottom:12px}\n  .strip-head::after{content:\"\";flex:1;height:1px;background:var(--hairline)}\n  .strip{position:relative;overflow:hidden;margin-bottom:30px;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:14px 0;mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%)}\n  .strip-track{display:flex;gap:14px;width:max-content;animation:strip-scroll 50s linear infinite}\n  .strip:hover .strip-track{animation-play-state:paused}\n  .strip img{width:132px;height:132px;object-fit:cover;flex:none;border:1px solid var(--hairline);transition:border-color .3s,transform .3s}\n  .strip img:hover{border-color:var(--gold);transform:scale(1.03)}\n  @keyframes strip-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}\n  @media (prefers-reduced-motion:reduce){.strip-track{animation:none}}\n\n  \/* Mint info *\/\n  .mint-info{display:grid;grid-template-columns:1fr 380px;gap:22px;align-items:stretch}\n  .info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}\n  .info{border:1px solid var(--hairline);background:var(--ink-2);padding:16px 18px}\n  .info span{display:block;font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--mist);margin-bottom:8px}\n  .info b{font-family:'Cinzel',serif;font-weight:900;font-size:clamp(18px,1.9vw,23px);letter-spacing:.03em;color:var(--bone)}\n  .info small{display:block;font-size:12px;color:var(--mist);margin-top:2px}\n  .mint-panel{border:1px solid var(--gold-dim);background:var(--ink-2);padding:22px}\n  .status-pill{display:inline-flex;align-items:center;gap:8px;font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;padding:7px 12px;border:1px solid var(--gold-dim);color:var(--gold-bright);background:rgba(201,162,75,.08)}\n  .status-pill.live::before{content:\"\";width:7px;height:7px;border-radius:50%;background:#2EE59D;box-shadow:0 0 10px #2EE59D;animation:pulse 2s infinite}\n  .status-pill.done{color:var(--mist);border-color:var(--hairline);background:none}\n  .mint-panel .windows{flex-direction:column}\n  .mint-panel .win{justify-content:space-between}\n  .panel-cta{display:block;text-align:center;margin-top:6px}\n\n  @media (max-width:1000px){\n    .mint-info{grid-template-columns:1fr}\n  }\n  @media (max-width:640px){\n    .hero{min-height:300px}\n    .hero-inner{padding:18px;gap:14px}\n    .hero-logo{width:76px;height:76px}\n    .hero-cta{width:100%;text-align:center}\n    .info-grid{grid-template-columns:repeat(2,1fr)}\n    .strip img{width:104px;height:104px}\n    .strip-track{animation-duration:40s}\n  }\n\n  \/* Sections *\/\n  .block{margin-bottom:44px}\n  .block-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}\n  .block-title{font-family:'Cinzel',serif;font-weight:900;font-size:clamp(18px,2vw,22px);letter-spacing:.06em;text-transform:uppercase;margin:6px 0 0}\n  .mint-cta{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:12px 20px;background:linear-gradient(180deg,var(--gold-bright),var(--gold));color:var(--ink);font-weight:600;text-decoration:none}\n  .mint-cta:hover{filter:brightness(1.08)}\n\n  .windows{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}\n  .win{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;padding:8px 12px;border:1px solid var(--hairline);color:var(--mist);display:flex;align-items:center;gap:8px}\n  .win b{color:var(--bone);font-weight:600}\n  .win.live{border-color:var(--gold-dim);color:var(--gold-bright)}\n  .win.live::before{content:\"\";width:6px;height:6px;border-radius:50%;background:#2EE59D;box-shadow:0 0 8px #2EE59D;animation:pulse 2s infinite}\n  .win.closed{opacity:.55}\n\n  .packs{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}\n  .pack{border:1px solid var(--hairline);background:var(--ink-2);position:relative;display:flex;flex-direction:column}\n  .pack .p-img{aspect-ratio:1\/1;background:#000;overflow:hidden}\n  .pack .p-img img{width:100%;height:100%;object-fit:cover;display:block}\n  .pack .p-body{padding:12px 14px 14px}\n  .pack .p-name{font-family:'Cinzel',serif;font-weight:900;font-size:15px;letter-spacing:.04em}\n  .pack .p-price{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--gold-bright);margin-top:4px}\n  .pack .p-price s{color:var(--mist);opacity:.7;margin-left:6px}\n  .pack .p-wl{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-top:6px}\n  .pack .p-left{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.08em;color:var(--mist);margin-top:8px}\n  .pack .p-left.low{color:var(--gold-bright)}\n  .pack .p-off{position:absolute;top:10px;right:10px;font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:600;padding:4px 8px;background:var(--blood-bright);color:var(--bone);z-index:2}\n  .pack.sold .p-img img{filter:grayscale(1) brightness(.5)}\n  .pack.sold .p-left{color:var(--blood-bright)}\n  .pack.single{justify-content:center;border-color:var(--gold-dim);padding:20px}\n  .pack.single .p-name{font-size:20px}\n  .pack.single .p-line{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--mist);margin-top:10px;letter-spacing:.06em}\n  .pack.single .p-line b{color:var(--gold-bright);font-weight:600}\n\n  .two-col{display:grid;grid-template-columns:1.25fr 1fr;gap:22px;margin-bottom:48px}\n  .panel{border:1px solid var(--hairline);background:var(--ink-2)}\n  .panel-head{padding:16px 18px;border-bottom:1px solid var(--hairline);display:flex;justify-content:space-between;align-items:center}\n  .panel-head .eyebrow{font-size:10px}\n  .lb-row{display:grid;grid-template-columns:28px 1fr auto auto;gap:14px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--hairline)}\n  .lb-row:last-child{border-bottom:none}\n  .lb-cols{font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--mist);padding:10px 18px}\n  .lb-rank{font-family:'Cinzel',serif;font-weight:900;font-size:15px;color:var(--mist)}\n  .lb-row:nth-child(-n+4) .lb-rank{color:var(--gold-bright)}\n  .who{display:flex;align-items:center;gap:12px;min-width:0}\n  .who a{color:inherit;text-decoration:none;min-width:0}\n  .ava{width:36px;height:36px;border-radius:50%;flex:none;object-fit:cover;border:1px solid var(--hairline);background:#222}\n  .ava.sm{width:26px;height:26px}\n  .who-name{font-weight:700;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n  .who-addr{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--mist)}\n  .tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:4px}\n  .ph{font-family:'IBM Plex Mono',monospace;font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;padding:2px 6px;border:1px solid var(--hairline);white-space:nowrap}\n  .ph-presale{color:var(--gold);border-color:var(--gold-dim)}\n  .ph-wl{color:var(--bone);border-color:rgba(236,231,218,.3)}\n  .ph-public{color:#FF6B6B;border-color:rgba(201,32,32,.5)}\n  .ph-pack{color:var(--ink);background:var(--gold-bright);border-color:var(--gold-bright)}\n  .lb-num{font-family:'Cinzel',serif;font-weight:900;font-size:17px;text-align:right;min-width:44px}\n  .lb-own{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--mist);text-align:right;min-width:44px}\n  .rc-row{display:flex;align-items:center;gap:10px;padding:10px 18px;border-bottom:1px solid var(--hairline);font-size:13px}\n  .rc-row:last-child{border-bottom:none}\n  .rc-row .rc-name{font-weight:700;color:var(--gold-bright);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40%}\n  .rc-row .rc-what{color:var(--mist);white-space:nowrap}\n  .rc-row .rc-time{margin-left:auto;font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--mist);white-space:nowrap;text-decoration:none}\n  .rc-row .rc-time:hover{color:var(--gold-bright)}\n  .panel .state{padding:40px 18px}\n\n  @media (max-width:1000px){\n    .packs{grid-template-columns:repeat(3,1fr)}\n    .two-col{grid-template-columns:1fr}\n  }\n  @media (max-width:560px){\n    .packs{grid-template-columns:repeat(2,1fr)}\n    .lb-row{grid-template-columns:22px 1fr auto auto;gap:10px;padding:12px 14px}\n    .lb-cols{padding:10px 14px}\n    .rc-row{padding:10px 14px}\n  }\n\n  \/* Modal *\/\n  .modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}\n  .modal.open{display:flex}\n  .modal-box{position:relative;width:100%;max-width:1020px;max-height:calc(100vh - 40px);overflow:auto;background:var(--ink-2);border:1px solid var(--gold-dim);display:grid;grid-template-columns:1fr 1fr}\n  .modal-img{background:#000;display:flex;align-items:center;justify-content:center}\n  .modal-img img{width:100%;height:100%;object-fit:contain;display:block;max-height:calc(100vh - 40px)}\n  .modal-info{padding:28px 28px 26px;display:flex;flex-direction:column;gap:18px}\n  .close{position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:50%;border:1px solid var(--hairline);background:rgba(5,7,5,.8);color:var(--bone);font-size:20px;line-height:1;cursor:pointer;z-index:3}\n  .close:hover{border-color:var(--gold)}\n  .m-collection{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}\n  .m-title{font-family:'Cinzel',serif;font-weight:900;font-size:clamp(20px,2.4vw,28px);letter-spacing:.03em;line-height:1.15;margin:6px 0 10px;padding-right:40px}\n  .m-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}\n  .label{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--mist);margin-bottom:8px}\n  .owner{font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--bone);text-decoration:none;border-bottom:1px dashed var(--gold-dim)}\n  .owner:hover{color:var(--gold-bright)}\n  .traits{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}\n  .trait{border:1px solid var(--hairline);padding:9px 10px;background:rgba(255,255,255,.015)}\n  .trait span{display:block;font-family:'IBM Plex Mono',monospace;font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mist);margin-bottom:3px}\n  .trait b{display:block;font-size:12.5px;font-weight:700;line-height:1.3;color:var(--bone)}\n  .trait em{display:block;font-style:normal;font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--gold);margin-top:3px}\n  .market{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--mist);letter-spacing:.06em}\n  .market b{color:var(--gold-bright);font-weight:600}\n  .btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}\n  .btn{flex:1;min-width:150px;text-align:center;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:14px 16px;text-decoration:none;transition:.2s}\n  .btn-gold{background:linear-gradient(180deg,var(--gold-bright),var(--gold));color:var(--ink);font-weight:600}\n  .btn-gold:hover{filter:brightness(1.08)}\n  .btn-ghost{border:1px solid var(--gold-dim);color:var(--gold-bright)}\n  .btn-ghost:hover{border-color:var(--gold);background:rgba(201,162,75,.08)}\n\n  \/* Toast *\/\n  .toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,140%);background:var(--ink-2);border:1px solid var(--gold);padding:12px 18px;font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:.1em;color:var(--gold-bright);z-index:120;transition:transform .4s ease;max-width:calc(100vw - 32px);text-align:center}\n  .toast.show{transform:translate(-50%,0)}\n\n  @media (max-width:860px){\n    .stats{grid-template-columns:repeat(2,1fr)}\n    .stat{border-bottom:1px solid var(--hairline)}\n    .stat:nth-child(2n){border-right:none}\n    .stat:last-child{grid-column:1\/-1;border-bottom:none}\n    .modal-box{grid-template-columns:1fr}\n    .modal-img img{max-height:60vh}\n    .traits{grid-template-columns:repeat(2,1fr)}\n  }\n  @media (max-width:480px){\n    .grid{grid-template-columns:repeat(2,1fr);gap:10px}\n    .card .title{font-size:12px}\n    .modal{padding:0}\n    .modal-box{max-height:100vh;height:100%;border:none}\n    .modal-info{padding:22px 16px}\n  }\n<\/style>\n<\/head>\n<body>\n\n<nav class=\"site-nav\">\n  <div class=\"nav-inner\">\n    <a class=\"brand\" href=\"https:\/\/dignifiedbeasts.com\/\" aria-label=\"Dignified Beasts home\">\n      <img decoding=\"async\" src=\"https:\/\/dignifiedbeasts.com\/wp-content\/uploads\/2026\/04\/DB_LOGO-2.png\" alt=\"Dignified Beasts logo\">\n    <\/a>\n    <ul class=\"nav-links\" id=\"navLinks\">\n      <li><a href=\"https:\/\/dignifiedbeasts.com\/\">HOME<\/a><\/li>\n      <li><a class=\"active\" href=\"https:\/\/dignifiedbeasts.com\/mint\/\">LIVE MINT<\/a><\/li>\n      <li><a href=\"https:\/\/dignifiedbeasts.com\/index.php\/foundation-edition\/\">FOUNDATION<\/a><\/li>\n      <li><a href=\"https:\/\/dignifiedbeasts.com\/index.php\/dominion-beasts\/\">DOMINION<\/a><\/li>\n      <li><a href=\"https:\/\/dignifiedbeasts.com\/index.php\/the-mythic\/\">SEA BEASTS<\/a><\/li>\n    <\/ul>\n    <div class=\"nav-right\">\n      <a class=\"nav-cta\" href=\"https:\/\/discord.gg\/sA9kbtRZGq\" target=\"_blank\" rel=\"noopener noreferrer\">Join the Den<\/a>\n      <button class=\"menu-btn\" id=\"menuBtn\" aria-label=\"Open menu\" aria-expanded=\"false\">MENU<\/button>\n    <\/div>\n  <\/div>\n<\/nav>\n\n<div class=\"page\">\n  <header class=\"hero\">\n    <img decoding=\"async\" class=\"hero-banner\" src=\"https:\/\/cdn.crovia.app\/launches\/33\/banner-35d662f5.jpg\" alt=\"\">\n    <div class=\"hero-shade\"><\/div>\n    <div class=\"hero-inner\">\n      <img decoding=\"async\" class=\"hero-logo\" src=\"https:\/\/cdn.crovia.app\/launches\/33\/avatar-d78b15b9.jpg\" alt=\"Dignified Beasts logo\">\n      <div class=\"hero-text\">\n        <div class=\"eyebrow\"><i class=\"live-dot\"><\/i><span id=\"hero-status\">Live on Crovia<\/span><\/div>\n        <h1>Dominion <em>Beasts<\/em><\/h1>\n        <div class=\"hero-by\">by <b>SameerBaloch<\/b> \u00b7 Cronos \u00b7 Drop 2 of Dignified Beasts<\/div>\n      <\/div>\n      <a class=\"mint-cta hero-cta\" href=\"https:\/\/crovia.app\/launch\/dignified-beasts\" target=\"_blank\" rel=\"noopener noreferrer\">Mint on Crovia<\/a>\n    <\/div>\n  <\/header>\n\n  <div class=\"strip-head\"><span>From the collection<\/span><\/div>\n  <div class=\"strip\" id=\"strip\"><\/div>\n\n  <p class=\"sub\">Every Dominion Beast minted so far, pulled live from the chain. New mints appear here on their own. Tap any Beast to see its full details.<\/p>\n\n  <div class=\"stats\">\n    <div class=\"stat\"><span>Public minted<\/span><b id=\"s-minted\">\u2014<small> \/ 333<\/small><\/b><\/div>\n    <div class=\"stat\"><span>Remaining<\/span><b id=\"s-left\">\u2014<\/b><\/div>\n    <div class=\"stat crowned\"><span>Crowned found<\/span><b id=\"s-crowned\">\u2014<small> \/ 10<\/small><\/b><\/div>\n    <div class=\"stat\"><span>Holders<\/span><b id=\"s-owners\">\u2014<\/b><\/div>\n    <div class=\"stat\"><span>Floor<\/span><b id=\"s-floor\">\u2014<\/b><\/div>\n  <\/div>\n  <div class=\"progress\"><i id=\"s-bar\"><\/i><\/div>\n\n  <section class=\"block mint-info\">\n    <div class=\"info-grid\">\n      <div class=\"info\"><span>Total supply<\/span><b>366<\/b><small>333 public mint<\/small><\/div>\n      <div class=\"info\"><span>Community Reserve<\/span><b>33<\/b><small>reserved<\/small><\/div>\n      <div class=\"info\"><span>Pre-sale price<\/span><b>249 CRO<\/b><\/div>\n      <div class=\"info\"><span>WL price<\/span><b>299 CRO<\/b><\/div>\n      <div class=\"info\"><span>Public price<\/span><b>399 CRO<\/b><\/div>\n      <div class=\"info\"><span>Royalty<\/span><b>5%<\/b><\/div>\n      <div class=\"info\"><span>Pre-sale cap \/ wallet<\/span><b>No limit<\/b><\/div>\n      <div class=\"info\"><span>WL cap \/ wallet<\/span><b>No limit<\/b><\/div>\n      <div class=\"info\"><span>Public cap \/ wallet<\/span><b>No limit<\/b><\/div>\n    <\/div>\n\n    <aside class=\"mint-panel\" id=\"mint-panel\">\n      <span class=\"status-pill\" id=\"status-pill\">Checking\u2026<\/span>\n      <div class=\"label\" style=\"margin-top:18px\">Mint phases<\/div>\n      <div class=\"windows\" id=\"windows\"><\/div>\n      <a class=\"mint-cta panel-cta\" href=\"https:\/\/crovia.app\/launch\/dignified-beasts\" target=\"_blank\" rel=\"noopener noreferrer\">Mint on Crovia<\/a>\n    <\/aside>\n  <\/section>\n\n  <section class=\"block\">\n    <div class=\"strip-head\"><span>Bundle deals \u00b7 whitelist only<\/span><\/div>\n    <div class=\"packs\" id=\"packs\"><\/div>\n  <\/section>\n\n  <div class=\"two-col\" id=\"activity\" hidden>\n    <div class=\"panel\">\n      <div class=\"panel-head\"><div class=\"eyebrow\">Top Minters<\/div><\/div>\n      <div class=\"lb-row lb-cols\"><span>#<\/span><span>Wallet<\/span><span style=\"text-align:right\">Minted<\/span><span style=\"text-align:right\">Owns now<\/span><\/div>\n      <div id=\"leaderboard\"><\/div>\n    <\/div>\n    <div class=\"panel\">\n      <div class=\"panel-head\"><div class=\"eyebrow\"><i class=\"live-dot\"><\/i>Recent Mints<\/div><\/div>\n      <div id=\"recent\"><\/div>\n    <\/div>\n  <\/div>\n\n  <section class=\"block\" id=\"dlb-block\">\n    <div class=\"block-head\">\n      <div>\n        <div class=\"eyebrow\">The hierarchy<\/div>\n        <h2 class=\"block-title\">Dominion Leaderboard<\/h2>\n      <\/div>\n      <div class=\"dlb-sum\" id=\"dlb-sum\"><\/div>\n    <\/div>\n    <div class=\"dlb-grid\" id=\"dlb-grid\">\n      <div class=\"dlb-skel\"><\/div><div class=\"dlb-skel\"><\/div><div class=\"dlb-skel\"><\/div>\n    <\/div>\n    <div class=\"dlb-table-wrap\">\n      <div class=\"dlb-cols\">\n        <span>#<\/span><span>Collector<\/span><span class=\"r\">Beasts<\/span><span class=\"r\">Crowned<\/span><span class=\"r\">Share<\/span>\n      <\/div>\n      <div id=\"dlb-table\"><\/div>\n    <\/div>\n  <\/section>\n\n  <div class=\"block-head\">\n    <div>\n      <div class=\"eyebrow\">The gallery<\/div>\n      <h2 class=\"block-title\">Minted Beasts<\/h2>\n    <\/div>\n  <\/div>\n\n  <div class=\"toolbar\">\n    <div class=\"chips\" id=\"chips\">\n      <button class=\"chip active\" data-f=\"all\">All <span class=\"chip-n\" id=\"n-all\"><\/span><\/button>\n      <button class=\"chip\" data-f=\"crowned\">Crowned <span class=\"chip-n\" id=\"n-crowned\"><\/span><\/button>\n      <button class=\"chip\" data-f=\"epic\">Epic <span class=\"chip-n\" id=\"n-epic\"><\/span><\/button>\n      <button class=\"chip\" data-f=\"rare\">Rare <span class=\"chip-n\" id=\"n-rare\"><\/span><\/button>\n      <button class=\"chip\" data-f=\"noble\">Noble <span class=\"chip-n\" id=\"n-noble\"><\/span><\/button>\n    <\/div>\n    <div class=\"updated\" id=\"updated\"><\/div>\n  <\/div>\n\n  <div id=\"grid\" class=\"grid\">\n    <div class=\"skel\"><\/div><div class=\"skel\"><\/div><div class=\"skel\"><\/div><div class=\"skel\"><\/div><div class=\"skel\"><\/div>\n  <\/div>\n<\/div>\n\n<div class=\"modal\" id=\"modal\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"m-title\">\n  <div class=\"modal-box\">\n    <button class=\"close\" id=\"m-close\" aria-label=\"Close\">&times;<\/button>\n    <div class=\"modal-img\"><img id=\"m-img\" alt=\"\"><\/div>\n    <div class=\"modal-info\">\n      <div>\n        <div class=\"m-collection\">Dignified Beasts \u00b7 Dominion Edition<\/div>\n        <h2 class=\"m-title\" id=\"m-title\"><\/h2>\n        <div class=\"m-row\" id=\"m-badges\"><\/div>\n      <\/div>\n      <div>\n        <div class=\"label\">Current owner<\/div>\n        <a class=\"owner\" id=\"m-owner\" target=\"_blank\" rel=\"noopener noreferrer\"><\/a>\n      <\/div>\n      <div>\n        <div class=\"label\">Traits<\/div>\n        <div class=\"traits\" id=\"m-traits\"><\/div>\n      <\/div>\n      <div class=\"market\" id=\"m-market\"><\/div>\n      <div class=\"btns\">\n        <a class=\"btn btn-gold\" id=\"m-crovia\" target=\"_blank\" rel=\"noopener noreferrer\">View on Crovia<\/a>\n        <a class=\"btn btn-ghost\" id=\"m-mint\" href=\"https:\/\/crovia.app\/launch\/dignified-beasts\" target=\"_blank\" rel=\"noopener noreferrer\">Mint a Beast<\/a>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<div class=\"toast\" id=\"toast\"><\/div>\n\n<script>\n(function(){\n  \"use strict\";\n\n  var CONFIG = {\n    CONTRACT: \"0x6161600e2f28d2302fcae289d70cf91b048b586d\",\n    API_KEY: \"crovia_pk_69f3deaea6e09c9ef9973d19c27a0c67da20667a121277ee\",\n    BASE_URL: \"https:\/\/crovia.app\/api\/v1\",\n    PUBLIC_SUPPLY: 333,\n    CROWNED_TOTAL: 10,\n    POLL_MS: 30000,\n    FEED_URL: \"\" \/\/ launch feed source (bundles, top minters, recent mints) \u2014 pending Crovia access\n  };\n  var LAUNCH = {\n    prices: { presale: 249, wl: 299, public: 399 },\n    times: {\n      presaleStart: \"2026-10-17T12:00:00Z\", presaleEnd: \"2026-10-17T15:00:00Z\",\n      wlStart: \"2026-10-17T15:00:00Z\", publicStart: \"2026-10-17T15:00:00Z\"\n    },\n    \/\/ Pack sales \u2014 update `sold` manually as packs are purchased on Crovia.\n    \/\/ Crovia's live pack-stock feed is blocked from third-party sites, so this is maintained by hand.\n    packs: [\n      { size: 5,  price: 1420, cap: 8, sold: 0, image: \"https:\/\/cdn.crovia.app\/launches\/33\/packs\/5\/4772b8c19e69d003.webp\" },\n      { size: 10, price: 2750, cap: 5, sold: 1, image: \"https:\/\/cdn.crovia.app\/launches\/33\/packs\/10\/ad8348e6c9c5ffe5.webp\" },\n      { size: 15, price: 4036, cap: 3, sold: 0, image: \"https:\/\/cdn.crovia.app\/launches\/33\/packs\/15\/7f886b94a38c3d4a.webp\" },\n      { size: 20, price: 5262, cap: 2, sold: 0, image: \"https:\/\/cdn.crovia.app\/launches\/33\/packs\/20\/db76a96d43d0e757.webp\" }\n    ],\n    previews: [\n      \"68debd96e6120c27\", \"7c72c8dfcc4deb9c\", \"e8366030b2703e71\", \"760d50e1648e4e1a\", \"8608ba2a4b7856fa\",\n      \"b9b20fdecda14663\", \"747473c83980ed8e\", \"b15804cb5e4e0c74\", \"cb47035361f71258\", \"dffcabf658adacb5\"\n    ].map(function(id){ return \"https:\/\/cdn.crovia.app\/launches\/33\/marquee\/\" + id + \".webp\"; })\n  };\n  var soldOut = false;\n  var PACK_NAMES = { 5: \"The Hunt\", 10: \"The Pack\", 15: \"The Pride\", 20: \"The Dominion\" };\n  var PHASE_LABEL = { presale: \"presale\", wl: \"whitelist\", public: \"public\", pack: \"pack\" };\n  var CROWNED = [\"GOLDEN LEGENDARY\", \"VOID ANOMALY\", \"ASCENDED\"];\n  var TRAIT_ORDER = [\"Named Series\", \"Rarity\", \"Species\", \"Expression\", \"Outfit\", \"Material\", \"Accessory\", \"Aura\", \"Classification\"];\n\n  var state = { beasts: [], byId: {}, filter: \"all\", newIds: {} };\n  var $ = function(id){ return document.getElementById(id); };\n\n  function api(path){\n    var headers = CONFIG.API_KEY ? { \"x-api-key\": CONFIG.API_KEY } : {};\n    return fetch(CONFIG.BASE_URL + path, { headers: headers }).then(function(r){\n      if (!r.ok) throw new Error(\"Crovia API \" + r.status);\n      return r.json();\n    }).then(function(j){ return j; });\n  }\n\n  function esc(s){\n    return String(s == null ? \"\" : s).replace(\/[&<>\"']\/g, function(c){\n      return { \"&\":\"&amp;\", \"<\":\"&lt;\", \">\":\"&gt;\", '\"':\"&quot;\", \"'\":\"&#39;\" }[c];\n    });\n  }\n\n  function trait(b, type){\n    var a = b.attributes || [];\n    for (var i = 0; i < a.length; i++) if (a[i].trait_type === type) return a[i].value;\n    return \"\";\n  }\n\n  function splitName(name, tokenId){\n    var m = \/#(\\d+)\\s*-\\s*(.+)$\/.exec(name || \"\");\n    return m ? { num: \"#\" + m[1], title: m[2] } : { num: \"Token \" + tokenId, title: name || (\"Beast \" + tokenId) };\n  }\n\n  function rarityClass(r){ return \"r-\" + String(r || \"\").toLowerCase().replace(\/\\s+\/g, \"-\"); }\n  function isReserve(b){ return trait(b, \"Classification\") === \"COMMUNITY RESERVED\"; }\n  function isCrowned(b){ return CROWNED.indexOf(trait(b, \"Rarity\")) !== -1; }\n\n  function fetchAllNfts(){\n    var all = [];\n    function page(p){\n      return api(\"\/collections\/\" + CONFIG.CONTRACT + \"\/nfts?sort=tokenId&order=desc&limit=100&page=\" + p)\n        .then(function(j){\n          all = all.concat(j.data || []);\n          var pg = j.paging || {};\n          if (pg.totalPages && p < pg.totalPages && p < 6) return page(p + 1);\n          return all;\n        });\n    }\n    return page(1);\n  }\n\n  function countOf(type, value){\n    return state.beasts.filter(function(b){ return trait(b, type) === value; }).length;\n  }\n\n  function renderStats(col){\n    var publicMinted = state.beasts.length;\n    var crowned = state.beasts.filter(isCrowned).length;\n    var owners = {};\n    state.beasts.forEach(function(b){ if (b.owner) owners[b.owner.toLowerCase()] = true; });\n    $(\"s-minted\").innerHTML = publicMinted + \"<small> \/ \" + CONFIG.PUBLIC_SUPPLY + \"<\/small>\";\n    $(\"s-left\").textContent = Math.max(0, CONFIG.PUBLIC_SUPPLY - publicMinted);\n    $(\"s-crowned\").innerHTML = crowned + \"<small> \/ \" + CONFIG.CROWNED_TOTAL + \"<\/small>\";\n    $(\"s-owners\").textContent = Object.keys(owners).length;\n    $(\"s-floor\").innerHTML = col.floorPrice ? Number(col.floorPrice).toLocaleString() + \"<small> CRO<\/small>\" : \"\u2014\";\n    $(\"s-bar\").style.width = Math.min(100, publicMinted \/ CONFIG.PUBLIC_SUPPLY * 100) + \"%\";\n    var wasSoldOut = soldOut;\n    soldOut = publicMinted >= CONFIG.PUBLIC_SUPPLY;\n    if (soldOut !== wasSoldOut) renderLaunchInfo();\n    var t = new Date();\n    $(\"updated\").textContent = \"Updated \" + t.toLocaleTimeString([], { hour: \"2-digit\", minute: \"2-digit\", second: \"2-digit\" });\n  }\n\n  function cardHTML(b){\n    var n = splitName(b.name, b.tokenId);\n    var r = trait(b, \"Rarity\");\n    var isNew = state.newIds[b.tokenId];\n    return '<button class=\"card' + (isNew ? \" is-new\" : \"\") + '\" data-id=\"' + esc(b.tokenId) + '\">' +\n      (isNew ? '<span class=\"new-tag\">NEW MINT<\/span>' : \"\") +\n      '<div class=\"img\"><img decoding=\"async\" src=\"' + esc(b.image) + '\" alt=\"' + esc(b.name) + '\" loading=\"lazy\"><\/div>' +\n      '<div class=\"body\"><div class=\"title\">' + esc(n.title) + '<\/div>' +\n      '<div class=\"meta\"><span class=\"num\">' + esc(n.num) + '<\/span>' +\n      (r ? '<span class=\"badge ' + rarityClass(r) + '\">' + esc(r) + '<\/span>' : \"\") +\n      '<\/div><\/div><\/button>';\n  }\n\n  function filterBeasts(f){\n    if (f === \"all\") return state.beasts;\n    if (f === \"crowned\") return state.beasts.filter(isCrowned);\n    var want = f.toUpperCase();\n    return state.beasts.filter(function(b){ return trait(b, \"Rarity\") === want; });\n  }\n\n  function updateChipCounts(){\n    var el = function(id){ return document.getElementById(id); };\n    if (el(\"n-all\")) el(\"n-all\").textContent = \"\u00b7 \" + state.beasts.length;\n    if (el(\"n-crowned\")) el(\"n-crowned\").textContent = \"\u00b7 \" + filterBeasts(\"crowned\").length;\n    if (el(\"n-epic\")) el(\"n-epic\").textContent = \"\u00b7 \" + filterBeasts(\"epic\").length;\n    if (el(\"n-rare\")) el(\"n-rare\").textContent = \"\u00b7 \" + filterBeasts(\"rare\").length;\n    if (el(\"n-noble\")) el(\"n-noble\").textContent = \"\u00b7 \" + filterBeasts(\"noble\").length;\n  }\n\n  function renderGrid(){\n    updateChipCounts();\n    var f = state.filter;\n    var list = filterBeasts(f);\n    if (!list.length) {\n      var msg = f === \"crowned\"\n        ? \"No Crowned Beast found yet. Nobody knows when they will appear.\"\n        : f === \"all\"\n          ? \"No Beasts minted yet. Be the first.\"\n          : \"No \" + f.charAt(0).toUpperCase() + f.slice(1) + \" Beasts minted yet.\";\n      $(\"grid\").innerHTML = '<div class=\"state\" style=\"grid-column:1\/-1\">' + msg + '<\/div>';\n      return;\n    }\n    $(\"grid\").innerHTML = list.map(cardHTML).join(\"\");\n  }\n\n  \/\/ Known community display names (lowercased wallet \u2192 name)\n  var NAMES = {\n    \"0x27ac7493fa8395ad35c260282522b3d9e314cee7\": \"Olechdk\",\n    \"0x36d21fd7eafa01abc35578ea940c545dce8ac10c\": \"zerokrypto\",\n    \"0x478ffba8ea4945fb9327812231dfb1c6cafd2c49\": \"Jamus\",\n    \"0xe6e7284ddc793fdc15c8cdfbde49a2b7e2b234ed\": \"Paysagiste\",\n    \"0x8147d4d7578e661004e25ffd3f9fd7bac1f6fb06\": \"Botnik\",\n    \"0x7886acebc8401bd6b1cf397d84b85d01416e4c06\": \"Wnc\",\n    \"0x3b428943ef1c49bf81ddb00f9a11e55811fc7b3c\": \"Kingraj\",\n    \"0x17bb1d83b312ce76eba5ffd43226b8c98652c1f6\": \"Daltonecleus\",\n    \"0x977498b6021ca87cb4fd2ff9a3ce476822772666\": \"markus\",\n    \"0xaf87e4df58d735ec2971d2d8db663b02ca60175d\": \"cronoslegends\",\n    \"0x4e730ac6a1a9d53aef0239331d90e0da4642fbb5\": \"AarzyK\"\n  };\n\n  function hueOf(w){ return parseInt(String(w || \"0\").slice(2, 8), 16) % 360; }\n  function initials(w, name){\n    if (name) return name.slice(0, 2).toUpperCase();\n    return (w || \"\").slice(2, 4).toUpperCase();\n  }\n\n  function buildLeaderboard(){\n    var byOwner = {};\n    state.beasts.forEach(function(b){\n      var o = (b.owner || \"\").toLowerCase();\n      if (!o) return;\n      if (!byOwner[o]) byOwner[o] = { wallet: o, count: 0, crowned: 0, rare: 0, epic: 0 };\n      byOwner[o].count++;\n      var r = trait(b, \"Rarity\");\n      if (CROWNED.indexOf(r) !== -1) byOwner[o].crowned++;\n      if (r === \"EPIC\") byOwner[o].epic++;\n      if (r === \"RARE\") byOwner[o].rare++;\n    });\n    var list = Object.values(byOwner).sort(function(a, b){\n      if (b.crowned !== a.crowned) return b.crowned - a.crowned;\n      return b.count - a.count;\n    });\n    return list;\n  }\n\n  function podiumHTML(h, rank){\n    var name = NAMES[h.wallet];\n    var hue = hueOf(h.wallet);\n    var ava = '<span class=\"dlb-ava\" style=\"background:linear-gradient(135deg,hsl(' + hue + ',70%,55%),hsl(' + ((hue + 60) % 360) + ',70%,35%))\">' + esc(initials(h.wallet, name)) + '<\/span>';\n    var pct = (h.count \/ Math.max(1, state.beasts.length) * 100).toFixed(1);\n    var crownLine = h.crowned > 0 ? '<span class=\"dlb-crown\">\ud83d\udc51 ' + h.crowned + ' CROWNED<\/span>' : '<span class=\"dlb-rank-big\">#' + rank + '<\/span>';\n    return '<div class=\"dlb-card rank-' + rank + '\">' +\n      crownLine +\n      '<div class=\"dlb-head\">' + ava +\n        '<div class=\"dlb-who\"><div class=\"dlb-name\">' + esc(name || shortAddr(h.wallet)) + '<\/div>' +\n        '<a class=\"dlb-wallet\" href=\"https:\/\/cronoscan.com\/address\/' + encodeURIComponent(h.wallet) + '\" target=\"_blank\" rel=\"noopener noreferrer\">' + esc(shortAddr(h.wallet)) + '<\/a><\/div>' +\n      '<\/div>' +\n      '<div class=\"dlb-nums\">' +\n        '<div class=\"dlb-num\"><span>Beasts<\/span><b>' + h.count + '<\/b><\/div>' +\n        '<div class=\"dlb-num\"><span>Crowned<\/span><b class=\"' + (h.crowned ? 'au' : '') + '\">' + h.crowned + '<\/b><\/div>' +\n        '<div class=\"dlb-num\"><span>Share<\/span><b>' + pct + '%<\/b><\/div>' +\n      '<\/div>' +\n      '<div class=\"dlb-bar\"><i style=\"width:' + pct + '%\"><\/i><\/div>' +\n    '<\/div>';\n  }\n\n  function rowHTML(h, rank){\n    var name = NAMES[h.wallet];\n    var hue = hueOf(h.wallet);\n    var ava = '<span class=\"mini-ava\" style=\"background:linear-gradient(135deg,hsl(' + hue + ',70%,55%),hsl(' + ((hue + 60) % 360) + ',70%,35%))\">' + esc(initials(h.wallet, name)) + '<\/span>';\n    var pct = (h.count \/ Math.max(1, state.beasts.length) * 100).toFixed(1);\n    var top = rank <= 3 ? ' r' + rank : '';\n    return '<div class=\"dlb-row' + top + '\">' +\n      '<span class=\"rank\">' + rank + '<\/span>' +\n      '<div class=\"who\">' + ava +\n        '<div class=\"lbl\"><div class=\"nm\">' + esc(name || shortAddr(h.wallet)) + '<\/div>' +\n        '<a class=\"wl\" href=\"https:\/\/cronoscan.com\/address\/' + encodeURIComponent(h.wallet) + '\" target=\"_blank\" rel=\"noopener noreferrer\">' + esc(shortAddr(h.wallet)) + '<\/a><\/div>' +\n      '<\/div>' +\n      '<span class=\"num\">' + h.count + '<\/span>' +\n      '<span class=\"num ' + (h.crowned ? 'au' : 'zero') + '\">' + (h.crowned || '\u2014') + '<\/span>' +\n      '<span class=\"share\"><b>' + pct + '%<\/b><\/span>' +\n    '<\/div>';\n  }\n\n  function renderDLB(){\n    var list = buildLeaderboard();\n    if (!list.length) {\n      $(\"dlb-grid\").innerHTML = '';\n      $(\"dlb-table\").innerHTML = '<div class=\"state\" style=\"padding:40px 20px\">No holders yet. Be the first.<\/div>';\n      $(\"dlb-sum\").textContent = '';\n      return;\n    }\n    var podium = list.slice(0, 3);\n    while (podium.length < 3) podium.push(null);\n    $(\"dlb-grid\").innerHTML = podium.map(function(h, i){\n      return h ? podiumHTML(h, i + 1) : '<div class=\"dlb-card\" style=\"opacity:.3;display:flex;align-items:center;justify-content:center;color:var(--mist);font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.2em\">RANK ' + (i + 1) + ' \u00b7 OPEN<\/div>';\n    }).join(\"\");\n    $(\"dlb-table\").innerHTML = list.map(function(h, i){ return rowHTML(h, i + 1); }).join(\"\");\n    $(\"dlb-sum\").innerHTML = '<b>' + list.length + '<\/b> collector' + (list.length === 1 ? '' : 's') + ' \u00b7 <b>' + state.beasts.length + '<\/b> Beasts';\n  }\n\n  function shortAddr(a){ return a ? a.slice(0, 6) + \"\u2026\" + a.slice(-4) : \"\u2014\"; }\n\n  function openModal(id){\n    var b = state.byId[id];\n    if (!b) return;\n    var n = splitName(b.name, b.tokenId);\n    var r = trait(b, \"Rarity\");\n    $(\"m-img\").src = b.image;\n    $(\"m-img\").alt = b.name;\n    $(\"m-title\").textContent = b.name;\n    $(\"m-badges\").innerHTML =\n      (r ? '<span class=\"badge ' + rarityClass(r) + '\">' + esc(r) + '<\/span>' : \"\") +\n      '<span class=\"badge\">' + esc(trait(b, \"Species\")) + '<\/span>' +\n      '<span class=\"badge\">' + esc(n.num) + '<\/span>';\n    $(\"m-owner\").textContent = shortAddr(b.owner);\n    $(\"m-owner\").href = \"https:\/\/cronoscan.com\/address\/\" + encodeURIComponent(b.owner || \"\");\n    $(\"m-owner\").title = b.owner || \"\";\n\n    var attrs = (b.attributes || []).filter(function(a){ return a.trait_type !== \"Classification\"; }).sort(function(x, y){\n      return TRAIT_ORDER.indexOf(x.trait_type) - TRAIT_ORDER.indexOf(y.trait_type);\n    });\n    $(\"m-traits\").innerHTML = attrs.map(function(a){\n      var c = countOf(a.trait_type, a.value);\n      var pct = state.beasts.length && c ? (c \/ state.beasts.length * 100).toFixed(1) + \"% of minted\" : \"\";\n      return '<div class=\"trait\"><span>' + esc(a.trait_type) + '<\/span><b>' + esc(a.value) + '<\/b>' + (pct ? \"<em>\" + pct + \"<\/em>\" : \"\") + '<\/div>';\n    }).join(\"\");\n\n    $(\"m-crovia\").href = b.url;\n    $(\"m-market\").textContent = \"Checking market\u2026\";\n    api(\"\/nfts\/\" + CONFIG.CONTRACT + \"\/\" + encodeURIComponent(b.tokenId)).then(function(j){\n      var d = j.data || {};\n      if (d.listed && d.lowestPrice) {\n        $(\"m-market\").innerHTML = \"Listed for <b>\" + Number(d.lowestPrice).toLocaleString() + \" CRO<\/b>\";\n        $(\"m-crovia\").textContent = \"Buy on Crovia\";\n        $(\"m-crovia\").href = d.buyUrl || b.url;\n      } else if (d.lastSale) {\n        $(\"m-market\").innerHTML = \"Not listed \u00b7 last sale <b>\" + Number(d.lastSale.priceCro).toLocaleString() + \" CRO<\/b>\";\n      } else {\n        $(\"m-market\").textContent = \"Not listed for sale\";\n      }\n    }).catch(function(){ $(\"m-market\").textContent = \"\"; });\n\n    $(\"m-crovia\").textContent = \"View on Crovia\";\n    $(\"modal\").classList.add(\"open\");\n    document.body.classList.add(\"modal-open\");\n    $(\"m-close\").focus();\n  }\n\n  function closeModal(){\n    $(\"modal\").classList.remove(\"open\");\n    document.body.classList.remove(\"modal-open\");\n  }\n\n  function toast(text){\n    var t = $(\"toast\");\n    t.textContent = text;\n    t.classList.add(\"show\");\n    clearTimeout(toast._t);\n    toast._t = setTimeout(function(){ t.classList.remove(\"show\"); }, 5000);\n  }\n\n  function setBeasts(list, markNew){\n    var fresh = [];\n    if (markNew) {\n      list.forEach(function(b){ if (!state.byId[b.tokenId]) fresh.push(b); });\n    }\n    state.beasts = list;\n    state.byId = {};\n    list.forEach(function(b){ state.byId[b.tokenId] = b; });\n    if (fresh.length) {\n      fresh.forEach(function(b){ state.newIds[b.tokenId] = true; });\n      var first = splitName(fresh[0].name, fresh[0].tokenId);\n      toast(fresh.length === 1\n        ? \"New Beast minted: \" + first.title + \" \" + first.num\n        : fresh.length + \" new Beasts just minted\");\n    }\n  }\n\n  function refresh(isFirst){\n    return Promise.all([\n      api(\"\/collections\/\" + CONFIG.CONTRACT),\n      fetchAllNfts()\n    ]).then(function(res){\n      var col = res[0].data || {};\n      setBeasts(res[1].filter(function(b){ return !isReserve(b); }), !isFirst);\n      renderStats(col);\n      renderGrid();\n      renderDLB();\n    }).catch(function(err){\n      console.error(\"Live mints error:\", err);\n      if (isFirst) $(\"grid\").innerHTML = '<div class=\"state\" style=\"grid-column:1\/-1\">Couldn\\'t load live mints right now. Please refresh.<\/div>';\n    });\n  }\n\n  function fmt(n){ return Number(n).toLocaleString(undefined, { maximumFractionDigits: 2 }); }\n\n  function timeAgo(iso){\n    var s = Math.max(0, (Date.now() - new Date(iso).getTime()) \/ 1000);\n    if (s < 60) return \"just now\";\n    if (s < 3600) return Math.floor(s \/ 60) + \"m ago\";\n    if (s < 86400) return Math.floor(s \/ 3600) + \"h ago\";\n    return Math.floor(s \/ 86400) + \"d ago\";\n  }\n\n  function avatar(url, wallet, cls){\n    if (url) return '<img decoding=\"async\" class=\"ava ' + (cls || \"\") + '\" src=\"' + esc(url) + '\" alt=\"\" loading=\"lazy\">';\n    var h = parseInt(String(wallet || \"0\").slice(2, 8), 16) % 360;\n    return '<span class=\"ava ' + (cls || \"\") + '\" style=\"background:linear-gradient(135deg,hsl(' + h + ',60%,55%),hsl(' + ((h + 60) % 360) + ',60%,35%))\"><\/span>';\n  }\n\n  function walletLink(w){ return \"https:\/\/cronoscan.com\/address\/\" + encodeURIComponent(w); }\n\n  function renderWindows(d){\n    var w = [\n      { key: \"presale\", label: \"Presale\" },\n      { key: \"wl\", label: \"Whitelist\" },\n      { key: \"public\", label: \"Public\" }\n    ];\n    $(\"windows\").innerHTML = w.map(function(x){\n      var live = d.windows[x.key];\n      var price = d.prices[x.key];\n      return '<span class=\"win ' + (live ? \"live\" : \"closed\") + '\">' + x.label + ' \u00b7 <b>' + fmt(price) + ' CRO<\/b> \u00b7 ' + (live ? \"Live\" : \"Closed\") + '<\/span>';\n    }).join(\"\");\n  }\n\n  function renderPacks(d){\n    var single = d.prices.wl;\n    var html = '<div class=\"pack single\"><div class=\"p-name\">Singles<\/div>' +\n      '<div class=\"p-line\">Whitelist <b>' + fmt(d.prices.wl) + ' CRO<\/b><\/div>' +\n      '<div class=\"p-line\">Public <b>' + fmt(d.prices.public) + ' CRO<\/b><\/div><\/div>';\n    html += d.packs.map(function(p){\n      var full = p.size * single;\n      var off = full ? Math.round((1 - p.price \/ full) * 100) : 0;\n      var known = p.left != null;\n      var sold = soldOut || (known && p.left <= 0);\n      var leftTxt = sold ? \"Sold out\" : known ? p.left + \" of \" + p.cap + \" left\" : \"Limited \u00b7 \" + p.cap + \" packs\";\n      return '<div class=\"pack' + (sold ? \" sold\" : \"\") + '\">' +\n        '<div class=\"p-img\">' + (p.image ? '<img decoding=\"async\" src=\"' + esc(p.image) + '\" alt=\"' + p.size + ' Beasts pack\" loading=\"lazy\">' : \"\") + '<\/div>' +\n        '<div class=\"p-body\"><div class=\"p-name\">' + p.size + '-Pack<\/div>' +\n        '<div class=\"p-wl\">' + esc(PACK_NAMES[p.size] || \"\") + ' \u00b7 whitelist price<\/div>' +\n        '<div class=\"p-price\">' + fmt(p.price) + ' CRO' + (off > 0 ? '<s>' + fmt(full) + '<\/s>' : \"\") + '<\/div>' +\n        '<div class=\"p-left' + (!sold && known && p.left <= 3 ? \" low\" : \"\") + '\">' + leftTxt + '<\/div><\/div><\/div>';\n    }).join(\"\");\n    $(\"packs\").innerHTML = html;\n  }\n\n  function phaseTags(phases){\n    return Object.keys(phases || {}).filter(function(k){ return phases[k] > 0; }).map(function(k){\n      return '<span class=\"ph ph-' + esc(k) + '\">' + esc(PHASE_LABEL[k] || k) + ' ' + phases[k] + '<\/span>';\n    }).join(\"\");\n  }\n\n  function renderLeaderboard(list){\n    if (!list.length) { $(\"leaderboard\").innerHTML = '<div class=\"state\">No mints yet.<\/div>'; return; }\n    $(\"leaderboard\").innerHTML = list.map(function(m, i){\n      var name = m.name || shortAddr(m.wallet);\n      return '<div class=\"lb-row\"><span class=\"lb-rank\">' + (i + 1) + '<\/span>' +\n        '<div class=\"who\">' + avatar(m.avatar, m.wallet) +\n        '<a href=\"' + walletLink(m.wallet) + '\" target=\"_blank\" rel=\"noopener noreferrer\"><div class=\"who-name\">' + esc(name) + '<\/div>' +\n        (m.name ? '<div class=\"who-addr\">' + esc(shortAddr(m.wallet)) + '<\/div>' : \"\") +\n        '<div class=\"tags\">' + phaseTags(m.phases) + '<\/div><\/a><\/div>' +\n        '<span class=\"lb-num\">' + m.minted + '<\/span><span class=\"lb-own\">' + m.owns + '<\/span><\/div>';\n    }).join(\"\");\n  }\n\n  function renderRecent(list){\n    if (!list.length) { $(\"recent\").innerHTML = '<div class=\"state\">No mints yet.<\/div>'; return; }\n    $(\"recent\").innerHTML = list.map(function(r){\n      return '<div class=\"rc-row\">' + avatar(r.avatar, r.wallet, \"sm\") +\n        '<a class=\"rc-name\" href=\"' + walletLink(r.wallet) + '\" target=\"_blank\" rel=\"noopener noreferrer\">' + esc(r.name || shortAddr(r.wallet)) + '<\/a>' +\n        '<span class=\"rc-what\">minted ' + r.qty + '<\/span>' +\n        '<span class=\"ph ph-' + esc(r.phase) + '\">' + esc(PHASE_LABEL[r.phase] || r.phase) + '<\/span>' +\n        '<a class=\"rc-time\" href=\"https:\/\/cronoscan.com\/tx\/' + encodeURIComponent(r.tx) + '\" target=\"_blank\" rel=\"noopener noreferrer\" title=\"View transaction\">' + timeAgo(r.at) + '<\/a><\/div>';\n    }).join(\"\");\n  }\n\n  function phaseState(){\n    var now = Date.now(), t = LAUNCH.times;\n    var ms = function(s){ return new Date(s).getTime(); };\n    return {\n      presale: !soldOut && now >= ms(t.presaleStart) && now < ms(t.presaleEnd),\n      wl: !soldOut && now >= ms(t.wlStart),\n      public: !soldOut && now >= ms(t.publicStart)\n    };\n  }\n\n  function renderLaunchInfo(){\n    var w = phaseState();\n    var pill = $(\"status-pill\");\n    var label;\n    if (soldOut) label = \"Sold out\";\n    else if (w.presale) label = \"Pre-sale live\";\n    else if (w.wl && w.public) label = \"Whitelist + Public live\";\n    else if (w.wl) label = \"Whitelist mint live\";\n    else label = \"Mint opens \" + new Date(LAUNCH.times.presaleStart).toLocaleString([], { dateStyle: \"medium\", timeStyle: \"short\" });\n    pill.textContent = label;\n    pill.className = \"status-pill \" + (soldOut ? \"done\" : (w.presale || w.wl || w.public) ? \"live\" : \"\");\n    $(\"hero-status\").textContent = soldOut ? \"Sold out on Crovia\" : (w.presale || w.wl || w.public) ? \"Mint live on Crovia\" : \"Coming to Crovia\";\n    renderWindows({ prices: LAUNCH.prices, windows: w });\n    if (!$(\"packs\").dataset.live) {\n      renderPacks({\n        prices: LAUNCH.prices,\n        packs: LAUNCH.packs.map(function(p){\n          var sold = p.sold || 0;\n          return Object.assign({}, p, { left: Math.max(0, p.cap - sold) });\n        })\n      });\n    }\n  }\n\n  function renderStrip(){\n    var items = LAUNCH.previews.map(function(src){\n      return '<img decoding=\"async\" src=\"' + esc(src) + '\" alt=\"Dominion Beast preview\" loading=\"lazy\">';\n    }).join(\"\");\n    \/\/ Duplicate the track for a seamless infinite loop (translateX(-50%) wraps on the second copy)\n    $(\"strip\").innerHTML = '<div class=\"strip-track\">' + items + items + '<\/div>';\n  }\n\n  function loadFeed(){\n    if (!CONFIG.FEED_URL) return Promise.resolve();\n    return fetch(CONFIG.FEED_URL, { cache: \"no-store\" }).then(function(r){\n      if (!r.ok) throw new Error(\"feed \" + r.status);\n      return r.json();\n    }).then(function(d){\n      renderWindows(d);\n      renderPacks(d);\n      $(\"packs\").dataset.live = \"1\";\n      renderLeaderboard(d.minters || []);\n      renderRecent(d.recent || []);\n      $(\"activity\").hidden = false;\n    }).catch(function(err){\n      console.warn(\"Launch feed unavailable (bundles, leaderboard and recent mints hidden):\", err);\n    });\n  }\n\n  $(\"chips\").addEventListener(\"click\", function(e){\n    var btn = e.target.closest(\".chip\");\n    if (!btn) return;\n    Array.prototype.forEach.call(document.querySelectorAll(\".chip\"), function(c){ c.classList.remove(\"active\"); });\n    btn.classList.add(\"active\");\n    state.filter = btn.getAttribute(\"data-f\");\n    renderGrid();\n  });\n  $(\"grid\").addEventListener(\"click\", function(e){\n    var card = e.target.closest(\".card\");\n    if (card) openModal(card.getAttribute(\"data-id\"));\n  });\n  $(\"m-close\").addEventListener(\"click\", closeModal);\n  $(\"modal\").addEventListener(\"click\", function(e){ if (e.target === $(\"modal\")) closeModal(); });\n  document.addEventListener(\"keydown\", function(e){ if (e.key === \"Escape\") closeModal(); });\n\n  renderStrip();\n  renderLaunchInfo();\n  refresh(true);\n  loadFeed();\n  setInterval(function(){ if (!document.hidden) { refresh(false); loadFeed(); renderLaunchInfo(); } }, CONFIG.POLL_MS);\n})();\n<\/script>\n<script>\n(function(){\n  var btn = document.getElementById(\"menuBtn\"), links = document.getElementById(\"navLinks\");\n  btn.addEventListener(\"click\", function(){\n    var open = links.classList.toggle(\"open\");\n    btn.setAttribute(\"aria-expanded\", open);\n    btn.textContent = open ? \"CLOSE\" : \"MENU\";\n  });\n})();\n<\/script>\n<\/body>\n<\/html>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Live Mints \u2014 Dignified Beasts: Dominion Edition HOME LIVE MINT FOUNDATION DOMINION SEA BEASTS Join the Den MENU Live on Crovia Dominion Beasts by SameerBaloch \u00b7 Cronos \u00b7 Drop 2 of Dignified Beasts Mint on Crovia From the collection Every Dominion Beast minted so far, pulled live from the chain. New mints appear here on [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"class_list":["post-2187","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/dignifiedbeasts.com\/index.php\/wp-json\/wp\/v2\/pages\/2187","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dignifiedbeasts.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dignifiedbeasts.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dignifiedbeasts.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dignifiedbeasts.com\/index.php\/wp-json\/wp\/v2\/comments?post=2187"}],"version-history":[{"count":19,"href":"https:\/\/dignifiedbeasts.com\/index.php\/wp-json\/wp\/v2\/pages\/2187\/revisions"}],"predecessor-version":[{"id":2213,"href":"https:\/\/dignifiedbeasts.com\/index.php\/wp-json\/wp\/v2\/pages\/2187\/revisions\/2213"}],"wp:attachment":[{"href":"https:\/\/dignifiedbeasts.com\/index.php\/wp-json\/wp\/v2\/media?parent=2187"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}