@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600&family=Inter:wght@300;400;500&display=swap');
:root{--void:#0b0b0d;--void2:#060608;--ash:#e6e4df;--muted:rgba(230,228,223,.72);--line:rgba(230,228,223,.16);--line2:rgba(230,228,223,.10);--crimson:#b30d13;--gold:rgba(210,180,120,.35);--max:1080px;}
*{box-sizing:border-box}html,body{height:100%}
body{margin:0;color:var(--ash);background:radial-gradient(1200px 800px at 50% 0%,#141417 0%,var(--void) 45%,var(--void2) 100%);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}a:hover{opacity:.92}
.bg{position:fixed;inset:0;pointer-events:none;z-index:-2;background:radial-gradient(900px 650px at 70% 15%,rgba(179,13,19,.10),transparent 55%),radial-gradient(900px 650px at 30% 65%,rgba(179,13,19,.06),transparent 60%),linear-gradient(180deg,rgba(255,255,255,.03) 0%,rgba(0,0,0,0) 25%,rgba(0,0,0,.15) 100%)}
.bg:after{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyMDAnIGhlaWdodD0nMjAwJz4KPGZpbHRlciBpZD0nbic+PGZlVHVyYnVsZW5jZSB0eXBlPSdmcmFjdGFsTm9pc2UnIGJhc2VGcmVxdWVuY3k9Jy44JyBudW1PY3RhdmVzPSczJyBzdGl0Y2hUaWxlcz0nc3RpdGNoJy8+CjxmZUNvbG9yTWF0cml4IHR5cGU9J21hdHJpeCcgdmFsdWVzPScxIDAgMCAwIDAgIDAgMSAwIDAgMCAgMCAwIDEgMCAwICAwIDAgMCAuMjUgMCcvPjwvZmlsdGVyPgo8cmVjdCB3aWR0aD0nMjAwJyBoZWlnaHQ9JzIwMCcgZmlsdGVyPSd1cmwoI24pJyBvcGFjaXR5PScuMzUnLz48L3N2Zz4=");background-size:240px 240px;opacity:.65;mix-blend-mode:overlay}
.container{max-width:var(--max);margin:0 auto;padding:22px 20px 80px}
.topbar{position:sticky;top:0;z-index:50;padding:14px 0 8px;backdrop-filter:blur(6px)}
.topbar-inner{max-width:var(--max);margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:flex-end}
.menu-btn{width:44px;height:44px;border:1px solid var(--line);background:rgba(0,0,0,.18);border-radius:10px;display:grid;place-items:center;cursor:pointer}
.menu-btn span{display:block;width:18px;height:2px;background:var(--ash);margin:2px 0;opacity:.85}
.menu-overlay{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.78);backdrop-filter:blur(10px);display:none}
.menu-overlay.open{display:block}
.menu-panel{position:absolute;top:18px;right:18px;width:min(420px,calc(100% - 36px));border:1px solid var(--line);background:rgba(10,10,12,.85);border-radius:16px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.55)}
.menu-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line2)}
.menu-head .label{font-family:Cinzel,serif;letter-spacing:.18em;font-size:12px;opacity:.8}
.menu-close{width:40px;height:40px;border:1px solid var(--line);background:rgba(0,0,0,.2);border-radius:12px;cursor:pointer;color:var(--ash);font-size:18px}
.menu-links{padding:8px 0}
.menu-links a{display:flex;gap:10px;align-items:baseline;padding:14px 16px;border-top:1px solid transparent;border-bottom:1px solid transparent}
.menu-links a:hover{background:rgba(179,13,19,.08);border-top-color:rgba(179,13,19,.18);border-bottom-color:rgba(179,13,19,.12)}
.menu-links .title{font-family:Cinzel,serif;letter-spacing:.10em;font-size:14px}
.menu-links .sub{font-size:12px;color:var(--muted);letter-spacing:.04em}
.banner{width:100%;border-radius:18px;overflow:hidden;border:1px solid rgba(230,228,223,.12);background:rgba(0,0,0,.2);box-shadow:0 18px 50px rgba(0,0,0,.55)}
.banner img{display:block;width:100%;height:auto;transform:scale(1.02);filter:contrast(1.05) saturate(.95)}
.hero{text-align:center;padding:26px 0 12px}
.logo{width:110px;height:110px;margin:16px auto 10px;display:block;filter:drop-shadow(0 10px 25px rgba(0,0,0,.55))}
.brand{font-family:Cinzel,serif;letter-spacing:.28em;font-weight:600;font-size:clamp(22px,3.2vw,34px);margin:6px 0 10px}
.tagline{font-family:Cinzel,serif;letter-spacing:.08em;color:var(--muted);font-size:14px;margin:0 auto 18px}
.rule{height:1px;background:linear-gradient(90deg,transparent,rgba(230,228,223,.22),transparent);margin:18px auto;max-width:860px}
.statement{font-family:Cinzel,serif;font-weight:400;letter-spacing:.02em;font-size:clamp(22px,3vw,34px);max-width:820px;margin:16px auto 10px}
.pillars{margin-top:22px}
.pillars-head{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;text-align:center;margin-bottom:10px}
.pillars-head div{font-family:Cinzel,serif;letter-spacing:.22em;font-size:14px;opacity:.92}
.pillars-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{border:1px solid rgba(230,228,223,.12);background:rgba(0,0,0,.18);border-radius:14px;overflow:hidden;box-shadow:0 16px 44px rgba(0,0,0,.45)}
.card img{width:100%;height:360px;object-fit:cover;display:block;filter:grayscale(.08) contrast(1.08)}
.card .cap{padding:14px 14px 16px;text-align:center;color:var(--muted);font-size:13px;line-height:1.55}
.card .cap strong{color:var(--ash);font-weight:500}
.myths-white{color:#fff;font-weight:500}
.section-title{margin:26px auto 6px;text-align:center;font-family:Cinzel,serif;letter-spacing:.22em;font-size:20px}
.worldbar{max-width:860px;margin:10px auto 0;padding:14px 10px;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.worldbar span{font-family:Cinzel,serif;letter-spacing:.14em;font-size:12px;opacity:.88;padding:6px 10px}
.worldbar .sep{opacity:.25}
.bottom-copy{text-align:center;margin-top:34px;color:var(--muted);font-size:14px}
.bottom-copy .bottom-line{display:block}
.bottom-copy .bottom-line + .bottom-line{margin-top:10px}
.contact-link{color:var(--crimson);font-weight:500;text-decoration:underline;text-underline-offset:3px}
.motto{text-align:center;font-family:Cinzel,serif;letter-spacing:.12em;font-size:18px;margin-top:18px;color:var(--ash)}
.myths-white{color:#fff;font-weight:500}
.page-title{text-align:center;font-family:Cinzel,serif;letter-spacing:.22em;margin:18px 0 4px;font-size:18px;opacity:.9}
.block{max-width:920px;margin:18px auto 0;border:1px solid rgba(230,228,223,.12);background:rgba(0,0,0,.14);border-radius:16px;overflow:hidden}
.block-head{padding:14px 16px;border-bottom:1px solid var(--line2);font-family:Cinzel,serif;letter-spacing:.14em;font-size:14px}
.block-body{padding:16px}
.timeline{position:relative;padding-left:18px}
.timeline:before{content:"";position:absolute;left:6px;top:4px;bottom:4px;width:2px;background:linear-gradient(180deg,rgba(179,13,19,0),rgba(179,13,19,.55),rgba(179,13,19,.12),rgba(179,13,19,0))}
.node{position:relative;padding:10px 10px 10px 16px;margin:6px 0}
.node:before{content:"";position:absolute;left:-2px;top:16px;width:10px;height:10px;border-radius:50%;background:rgba(179,13,19,.85);box-shadow:0 0 0 4px rgba(179,13,19,.15)}
.node.done:before{background:rgba(230,228,223,.65);box-shadow:0 0 0 4px rgba(230,228,223,.10)}
.node .k{font-family:Cinzel,serif;letter-spacing:.10em;font-size:12px;color:var(--muted)}
.node .v{margin-top:4px;font-size:14px;color:var(--ash)}
.cols{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.linkcard{border:1px solid rgba(230,228,223,.12);background:rgba(0,0,0,.10);border-radius:14px;padding:14px}
.linkcard{border-color:rgba(179,13,19,.28)}
.linkcard .t{text-decoration:underline;text-underline-offset:3px}
.linkcard .t{font-family:Cinzel,serif;letter-spacing:.12em}
.linkcard .u{margin-top:6px;color:var(--muted);font-size:12px;word-break:break-word}
.linkcard:hover{background:rgba(179,13,19,.06);border-color:rgba(179,13,19,.18)}
.footer{text-align:center;color:rgba(230,228,223,.45);font-size:12px;letter-spacing:.10em;margin-top:40px;padding-bottom:20px}
.contact-center{min-height:52vh;display:grid;place-items:center;text-align:center;padding:26px 0}
.contact-center h1{font-family:Cinzel,serif;letter-spacing:.18em;margin:0 0 10px;font-size:24px}
.contact-center a{color:var(--ash);opacity:.9;font-size:16px}
.email-link{display:inline-block;margin-top:10px;font-size:18px;text-decoration:underline;text-underline-offset:4px}
.journey{text-align:center;margin:-22px auto 10px;font-family:Cinzel,serif;letter-spacing:.10em;font-size:18px;color:var(--ash)}
.socials{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;padding:16px 0 0}
.socials a{font-family:Cinzel,serif;letter-spacing:.12em;font-size:12px;color:var(--muted);padding:8px 10px;border-radius:12px;border:1px solid transparent}
.socials a:hover{color:var(--ash);border-color:rgba(230,228,223,.14);background:rgba(0,0,0,.12)}
.socials .social-icon{width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(230,228,223,.14);background:rgba(0,0,0,.12)}
.socials .social-icon:hover{border-color:rgba(179,13,19,.35);background:rgba(179,13,19,.06)}
/* FX layers (kept above the base background but below content)
   NOTE: avoid negative z-index here; it can disappear behind the page background in some browsers. */
body.embers .fx-embers{opacity:.42;background:url("/assets/images/static-embers.png") center top / cover no-repeat}
body.mist .fx-mist{opacity:.30}
.fx-embers,.fx-mist{position:fixed;inset:0;pointer-events:none;z-index:1;opacity:0}
.fx-mist:before{content:"";position:absolute;inset:-22%;
background:
  radial-gradient(760px 360px at 28% 38%,rgba(230,228,223,.075),transparent 66%),
  radial-gradient(840px 420px at 72% 58%,rgba(230,228,223,.060),transparent 68%),
  radial-gradient(640px 320px at 55% 42%,rgba(230,228,223,.052),transparent 64%),
  linear-gradient(180deg,rgba(0,0,0,.12),transparent 24%,transparent 72%,rgba(0,0,0,.16));
filter:blur(18px);
animation:mist 22s ease-in-out infinite alternate;
opacity:.95}
.fx-mist:after{content:"";position:absolute;inset:-28%;
background:
  url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%27600%27%20height%3D%27600%27%3E%3Cfilter%20id%3D%27n%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.85%27%20numOctaves%3D%273%27%20stitchTiles%3D%27stitch%27/%3E%3C/filter%3E%3Crect%20width%3D%27100%25%27%20height%3D%27100%25%27%20filter%3D%27url(%23n)%27%20opacity%3D%270.35%27/%3E%3C/svg%3E"),
  radial-gradient(980px 560px at 20% 68%,rgba(230,228,223,.038),transparent 66%),
  radial-gradient(920px 520px at 84% 30%,rgba(230,228,223,.034),transparent 68%);
background-size:520px 520px,auto,auto;
background-repeat:repeat,no-repeat,no-repeat;
filter:blur(22px);
animation:mist2 30s ease-in-out infinite alternate;
opacity:.90}
@keyframes mist{0%{transform:translate3d(-2%,0,0)}100%{transform:translate3d(3%,-2%,0)}}
@keyframes mist2{0%{transform:translate3d(2%,1%,0)}100%{transform:translate3d(-3%,-1%,0)}}
@keyframes mistNoise{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(-6%,-3%,0)}}
@media(max-width:760px){.pillars-grid,.pillars-head{grid-template-columns:1fr}.card img{height:320px}.cols{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.fx-mist:before,.fx-mist:after{animation:none!important}}

/* Ensure content stays above FX layers */
.container{position:relative;z-index:2}



/* TEAM */
.team-list{margin-top:4px}
.team-row{
  display:flex;
  align-items:center;
  gap:16px;
  padding:14px 0;
  border-bottom:1px solid var(--line2);
}
.team-avatar-link{display:inline-flex; border-radius:999px; outline:none}
.team-avatar{
  width:78px;
  height:78px;
  border-radius:999px;
  object-fit:cover;
  border:1px solid var(--line);
  box-shadow:0 0 0 4px rgba(0,0,0,.18);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.team-avatar-link:hover .team-avatar{
  transform:translateY(-1px);
  border-color:rgba(230,228,223,.35);
  box-shadow:0 0 0 4px rgba(0,0,0,.18), 0 0 18px rgba(179,13,19,.18);
}
.team-role{
  font-family:"Cinzel", serif;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--ash);
  line-height:1.2;
}


.team-name-line{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:baseline;
}
.team-name{
  font-size:18px;
  font-weight:700;
  letter-spacing:.02em;
  color:var(--ink);
}
.team-role-inline{
  font-family:"Cinzel", serif;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--ash);
  line-height:1.2;
  font-size:14px;
}


/* Desktop layout on mobile without browser auto-zoom:
   We keep viewport=device-width and scale the whole UI down to fit. */
.desktop-scale {
  --desktop-scale: 1;
}
@media (max-width: 980px) {
  body.desktop-scale {
    transform: scale(var(--desktop-scale));
    transform-origin: top left;
    width: calc(100% / var(--desktop-scale));
    overflow-x: hidden;
  }
}

.about-hook{
  margin-top:18px;
  font-size:14px;
  letter-spacing:.06em;
  opacity:.75;
}
.about-universe{
  margin:40px 0 30px;
  font-family:Cinzel,serif;
  letter-spacing:.18em;
  font-size:14px;
  text-transform:uppercase;
  opacity:.85;
}
.about-sep{
  height:60px;
}
.about-tagline{
  margin-top:10px;
  line-height:1.8;
}


/* Homepage featured actions */
.homepage-actions{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;margin:18px auto 8px;padding:0 8px;}
.featured-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 22px;border:1px solid rgba(255,255,255,.22);border-radius:10px;background:var(--crimson);color:#fff;font-family:Cinzel,serif;font-size:13px;font-weight:600;letter-spacing:.09em;text-transform:none;box-shadow:0 8px 24px rgba(0,0,0,.38),0 0 0 1px rgba(179,13,19,.18);transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;}
.featured-button:hover{opacity:1;background:#c51219;border-color:rgba(255,255,255,.42);box-shadow:0 10px 28px rgba(0,0,0,.48),0 0 22px rgba(179,13,19,.20);transform:translateY(-1px);}
.featured-button:focus-visible{outline:2px solid #fff;outline-offset:3px;}
.coming-soon-box{max-width:920px;min-height:300px;margin:28px auto 0;border:1px solid rgba(179,13,19,.34);background:rgba(0,0,0,.20);border-radius:16px;display:grid;place-items:center;box-shadow:0 18px 50px rgba(0,0,0,.42),inset 0 0 50px rgba(179,13,19,.035);}
.coming-soon-label{font-family:Cinzel,serif;letter-spacing:.22em;font-size:clamp(22px,3vw,32px);color:var(--ash);text-shadow:0 0 22px rgba(179,13,19,.22);}
@media (max-width:640px){.homepage-actions{gap:10px;margin-top:14px}.featured-button{width:100%;max-width:340px;padding:12px 18px;font-size:12px}.coming-soon-box{min-height:240px;margin-top:22px}}


/* Lightnovel page */
.lightnovel-copy{max-width:900px;margin:34px auto 70px;padding:0 20px;text-align:center;color:var(--ash);font-size:16px;line-height:1.9;letter-spacing:.02em;}
.lightnovel-copy p{margin:0 auto 30px;}
.lightnovel-cta{margin:38px auto 20px;font-family:Cinzel,serif;font-size:18px;letter-spacing:.14em;text-transform:uppercase;color:var(--ash);}
.lightnovel-actions{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;margin:0 auto;}
.lightnovel-actions .featured-button{min-width:190px;}
.social-only{min-height:34vh;}
@media (max-width:640px){.lightnovel-copy{font-size:14px;line-height:1.75;padding:0 14px;margin-top:24px}.lightnovel-cta{font-size:15px;line-height:1.5}.lightnovel-actions .featured-button{width:100%;max-width:340px;}}


/* Two-chain roadmap */
.roadmap-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.roadmap-column{border:1px solid rgba(230,228,223,.10);border-radius:14px;background:rgba(0,0,0,.10);padding:16px 14px 12px;}
.roadmap-chain{text-align:center;font-family:Cinzel,serif;letter-spacing:.16em;font-size:13px;color:var(--ash);padding-bottom:12px;border-bottom:1px solid var(--line2);}
.roadmap-column .timeline{margin-top:10px;}
.roadmap-motto{text-align:center;margin:24px auto 4px;font-family:Cinzel,serif;letter-spacing:.16em;font-size:16px;color:var(--ash);}

/* Lightnovel atmosphere */
.lightnovel-page{position:relative;}
.lightnovel-page .spirit-butterflies{position:fixed;inset:0;pointer-events:none;z-index:1;background:
  radial-gradient(420px 320px at 78% 24%,rgba(40,190,255,.12),transparent 72%),
  radial-gradient(500px 360px at 18% 74%,rgba(45,120,255,.09),transparent 72%),
  url("/assets/images/spirit-butterflies.png") center top / min(1600px,100vw) auto no-repeat;
  opacity:.82;filter:drop-shadow(0 0 18px rgba(60,220,255,.25));}
.lightnovel-page .spirit-glow{position:absolute;border-radius:50%;background:rgba(60,220,255,.35);filter:blur(45px);opacity:.28;}
.lightnovel-page .spirit-glow-a{width:180px;height:180px;right:10%;top:18%;}
.lightnovel-page .spirit-glow-b{width:140px;height:140px;left:8%;bottom:18%;}
.early-concepts-title{text-align:center;margin:42px auto 10px;font-family:Cinzel,serif;letter-spacing:.16em;font-size:18px;color:var(--ash);}
@media(max-width:760px){.roadmap-columns{grid-template-columns:1fr;gap:14px}.roadmap-motto{font-size:14px;letter-spacing:.12em}.lightnovel-page .spirit-butterflies{background-size:auto 72vh;background-position:center 10%;opacity:.72}.lightnovel-page .spirit-glow-a{width:120px;height:120px;right:2%;top:18%}.lightnovel-page .spirit-glow-b{width:100px;height:100px;left:2%;bottom:16%}.early-concepts-title{font-size:14px;margin-top:34px;letter-spacing:.12em;}}.roadmap-motto{font-size:14px;letter-spacing:.12em}.lightnovel-page .spirit-butterflies{background-size:100% 100%;background-position:center top;opacity:.52;}}

/* Global crypto wallet connection */
.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;}
.wallet-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 15px;border:1px solid rgba(255,255,255,.24);border-radius:10px;background:rgba(179,13,19,.92);color:#fff;font-family:Cinzel,serif;font-size:11px;font-weight:600;letter-spacing:.07em;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.34),0 0 18px rgba(179,13,19,.12);transition:transform .18s ease,background .18s ease,border-color .18s ease;}
.wallet-btn:hover{background:#c51219;border-color:rgba(255,255,255,.46);transform:translateY(-1px);}
.wallet-btn:focus-visible{outline:2px solid #fff;outline-offset:3px;}
.wallet-btn.connected{background:rgba(8,90,100,.92);border-color:rgba(80,225,255,.48);}
.wallet-icon{font-size:16px;line-height:1;}
.coming-soon-box{min-height:280px;max-width:760px;margin:42px auto 0;border:1px solid rgba(179,13,19,.55);background:linear-gradient(135deg,rgba(179,13,19,.08),rgba(0,0,0,.22));border-radius:16px;display:grid;place-items:center;text-align:center;font-family:Cinzel,serif;font-size:clamp(28px,5vw,52px);letter-spacing:.16em;text-transform:uppercase;color:var(--ash);box-shadow:0 18px 50px rgba(0,0,0,.4),0 0 30px rgba(179,13,19,.08);}
@media(max-width:640px){.topbar{padding:10px 0 6px}.topbar-inner{padding:0 12px}.topbar-actions{gap:7px}.wallet-btn{min-height:40px;padding:0 11px;font-size:9px;letter-spacing:.04em}.wallet-icon{font-size:14px}.menu-btn{width:40px;height:40px}.coming-soon-box{min-height:240px;margin-top:22px;font-size:30px;letter-spacing:.10em;}}


/* V5 navigation: hamburger left, wallet right */
.topbar-inner{position:relative;min-height:44px;justify-content:flex-end;}
.topbar-actions{width:100%;}
.menu-btn{position:absolute;left:20px;top:0;}
.wallet-btn{margin-left:auto;}
.menu-panel{left:18px;right:auto;}
@media(max-width:640px){.menu-btn{left:12px;top:0}.wallet-btn{margin-left:auto}.menu-panel{left:12px;right:auto;width:min(420px,calc(100% - 24px));}}

/* V5 roadmap status lights */
.node:before{background:rgba(220,35,42,.95);box-shadow:0 0 0 4px rgba(220,35,42,.14),0 0 14px rgba(220,35,42,.30);}
.node.done:before{background:#38e27b;box-shadow:0 0 0 4px rgba(56,226,123,.14),0 0 14px rgba(56,226,123,.42);}
.node.done .k{color:#38e27b;}
.node:not(.done) .k{color:#ff4a52;}

/* V5 Lightnovel character concept image */
.early-concepts-image{max-width:1100px;margin:18px auto 0;border:1px solid rgba(230,228,223,.14);border-radius:16px;overflow:hidden;background:#050b16;box-shadow:0 18px 60px rgba(0,0,0,.55),0 0 34px rgba(40,180,255,.08);}
.early-concepts-image img{display:block;width:100%;height:auto;max-width:100%;}

/* V5 homepage YouTube entry window */
.video-gate{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.84);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:24px;}
.video-gate[hidden]{display:none;}
.video-gate-panel{position:relative;width:min(920px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:28px;border:1px solid rgba(230,228,223,.18);border-radius:18px;background:linear-gradient(180deg,rgba(12,14,20,.98),rgba(5,7,10,.98));box-shadow:0 30px 100px rgba(0,0,0,.72),0 0 45px rgba(179,13,19,.10);text-align:center;}
.video-gate-kicker{font-family:Cinzel,serif;letter-spacing:.22em;font-size:11px;color:#ff4a52;margin-bottom:8px;}
.video-gate-title{font-family:Cinzel,serif;letter-spacing:.12em;font-size:clamp(20px,3vw,30px);margin-bottom:18px;}
.video-frame{position:relative;width:100%;aspect-ratio:16/9;border-radius:12px;overflow:hidden;border:1px solid rgba(230,228,223,.12);background:#000;box-shadow:0 16px 45px rgba(0,0,0,.5);}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.video-gate-note{margin:14px auto 18px;color:var(--muted);font-size:12px;line-height:1.6;max-width:650px;}
.video-gate-enter{min-height:44px;padding:11px 22px;border:1px solid rgba(255,255,255,.24);border-radius:10px;background:var(--crimson);color:#fff;font-family:Cinzel,serif;font-size:12px;font-weight:600;letter-spacing:.09em;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.35);}
.video-gate-enter:hover{background:#c51219;}
.video-gate-close{position:absolute;right:12px;top:12px;width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:rgba(0,0,0,.38);color:var(--ash);font-size:24px;line-height:1;cursor:pointer;z-index:2;}
@media(max-width:640px){.video-gate{padding:12px}.video-gate-panel{padding:20px 14px 16px;border-radius:14px;max-height:calc(100vh - 24px)}.video-gate-title{padding:0 30px;font-size:18px}.video-gate-note{font-size:11px}.video-gate-enter{width:100%;max-width:320px}.video-gate-close{right:8px;top:8px;}}

/* V6: independent corner controls */
.topbar-inner{position:relative;min-height:44px;justify-content:initial;}
.topbar-actions{position:relative;width:100%;min-height:44px;display:block;}
.topbar .menu-btn{position:absolute;left:0;top:0;margin:0;z-index:2;}
.topbar .wallet-btn{position:absolute;right:0;top:0;margin:0;z-index:2;}

/* V6 Store cart */
.store-page .topbar-inner{min-height:98px;}
.store-page .topbar-actions{min-height:98px;}
.store-page .cart-btn{position:absolute;right:0;top:52px;z-index:2;min-height:38px;padding:0 14px;border:1px solid rgba(230,228,223,.25);border-radius:9px;background:rgba(8,8,10,.88);color:var(--ash);font-family:Cinzel,serif;font-size:10px;font-weight:600;letter-spacing:.09em;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.35);}
.store-page .cart-btn:hover{border-color:rgba(179,13,19,.65);background:rgba(179,13,19,.16);}
.cart-count{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:6px;border-radius:50%;background:var(--crimson);font-family:Inter,sans-serif;font-size:10px;}
.store-video-block{max-width:920px;margin:26px auto 0;border:1px solid rgba(230,228,223,.14);border-radius:16px;overflow:hidden;background:rgba(0,0,0,.16);box-shadow:0 18px 50px rgba(0,0,0,.45);}
.store-video-title{text-align:center;padding:18px 16px 8px;font-family:Cinzel,serif;letter-spacing:.22em;font-size:clamp(22px,3vw,30px);}
.store-video-frame{position:relative;width:100%;aspect-ratio:16/9;background:#000;}
.store-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.store-video-note{text-align:center;padding:10px 16px 16px;color:var(--muted);font-size:12px;}

/* Cart / checkout modal */
.cart-modal{position:fixed;inset:0;z-index:400;display:none;align-items:flex-end;justify-content:flex-end;padding:24px;pointer-events:none;}
.cart-modal.open{display:flex;pointer-events:auto;background:rgba(0,0,0,.45);backdrop-filter:blur(5px);}
.cart-panel{width:min(520px,100%);max-height:min(760px,calc(100vh - 48px));overflow:auto;border:1px solid rgba(230,228,223,.18);border-radius:16px;background:linear-gradient(180deg,rgba(14,15,18,.98),rgba(5,6,8,.99));box-shadow:0 30px 90px rgba(0,0,0,.75);}
.cart-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line2);}
.cart-head h2{margin:0;font-family:Cinzel,serif;font-size:17px;letter-spacing:.14em;}
.cart-close{width:38px;height:38px;border:1px solid var(--line);border-radius:9px;background:rgba(0,0,0,.25);color:var(--ash);font-size:21px;cursor:pointer;}
.cart-body{padding:18px;}
.cart-empty{text-align:center;color:var(--muted);padding:36px 12px;line-height:1.6;}
.cart-item{display:grid;grid-template-columns:1fr auto;gap:10px;padding:13px 0;border-bottom:1px solid var(--line2);}
.cart-item-name{font-weight:500}.cart-item-meta{margin-top:5px;color:var(--muted);font-size:11px;line-height:1.55;}
.cart-item-price{font-family:Cinzel,serif;white-space:nowrap;}
.cart-total{display:flex;justify-content:space-between;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-family:Cinzel,serif;letter-spacing:.08em;}
.checkout-btn{width:100%;margin-top:16px;min-height:46px;border:1px solid rgba(255,255,255,.25);border-radius:10px;background:var(--crimson);color:#fff;font-family:Cinzel,serif;font-weight:600;letter-spacing:.10em;cursor:pointer;}
.checkout-btn:disabled{opacity:.45;cursor:not-allowed;}
.payment-options{display:none;margin-top:18px;padding-top:16px;border-top:1px solid var(--line2);}
.payment-options.open{display:block;}
.payment-title{font-family:Cinzel,serif;letter-spacing:.12em;font-size:12px;margin-bottom:10px;}
.payment-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.payment-btn{min-height:48px;border:1px solid rgba(230,228,223,.18);border-radius:10px;background:rgba(255,255,255,.035);color:var(--ash);cursor:pointer;font-family:Cinzel,serif;font-size:11px;letter-spacing:.08em;}
.payment-btn:hover{border-color:rgba(179,13,19,.6);background:rgba(179,13,19,.10);}
.payment-note{margin-top:10px;color:var(--muted);font-size:11px;line-height:1.5;text-align:center;}

/* V6 Web3 wallet balance tester */
.revengers-balance{max-width:920px;margin:18px auto 0;border:1px solid rgba(80,225,255,.20);border-radius:16px;background:linear-gradient(135deg,rgba(8,90,100,.10),rgba(0,0,0,.18));box-shadow:0 16px 44px rgba(0,0,0,.38);padding:18px;}
.revengers-balance-label{text-align:center;font-family:Cinzel,serif;letter-spacing:.16em;font-size:12px;color:var(--muted);}
.revengers-balance-value{text-align:center;margin-top:8px;font-family:Cinzel,serif;font-size:clamp(24px,4vw,38px);letter-spacing:.08em;}
.revengers-balance-status{text-align:center;margin-top:7px;color:var(--muted);font-size:11px;min-height:17px;}
.revengers-balance-action{display:flex;justify-content:center;margin-top:12px;}
.revengers-balance-action button{min-height:38px;padding:0 16px;border:1px solid rgba(80,225,255,.30);border-radius:9px;background:rgba(8,90,100,.18);color:var(--ash);font-family:Cinzel,serif;font-size:10px;letter-spacing:.08em;cursor:pointer;}
.revengers-balance-action button:hover{background:rgba(8,90,100,.30);}

@media(max-width:640px){
  .topbar-inner{padding:0 12px;}
  .topbar .menu-btn{left:0;}
  .topbar .wallet-btn{right:0;}
  .store-page .topbar-inner,.store-page .topbar-actions{min-height:92px;}
  .store-page .cart-btn{top:50px;}
  .cart-modal{padding:12px;}
  .cart-panel{max-height:calc(100vh - 24px);}
  .payment-grid{grid-template-columns:1fr;}
}

/* V7 Ishin Revengers collection tracker */
.revengers-section{margin:34px auto 0;max-width:1120px;}
.revengers-balance{margin:0 auto;}
.revengers-collection{margin:16px auto 0;padding:20px;border:1px solid rgba(230,228,223,.13);border-radius:16px;background:linear-gradient(180deg,rgba(8,10,14,.70),rgba(3,4,7,.88));box-shadow:0 18px 54px rgba(0,0,0,.42);}
.revengers-collection[hidden]{display:none;}
.revengers-collection-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px;padding-bottom:13px;border-bottom:1px solid var(--line2);}
.revengers-collection-title{font-family:Cinzel,serif;letter-spacing:.17em;font-size:13px;color:var(--ash);}
.revengers-collection-sub{margin-top:5px;color:var(--muted);font-size:11px;line-height:1.5;}
.revengers-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;}
.revenger-card{display:block;padding:0;text-align:left;border:1px solid rgba(230,228,223,.12);border-radius:12px;overflow:hidden;background:rgba(255,255,255,.025);color:var(--ash);cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;background-clip:padding-box;}
.revenger-card:hover{transform:translateY(-3px);border-color:rgba(80,225,255,.42);box-shadow:0 14px 34px rgba(0,0,0,.42),0 0 22px rgba(40,190,255,.08);}
.revenger-card:focus-visible{outline:2px solid rgba(80,225,255,.75);outline-offset:3px;}
.revenger-card-media{aspect-ratio:1/1;position:relative;background:radial-gradient(circle at 50% 40%,rgba(30,100,130,.18),rgba(0,0,0,.35));overflow:hidden;}
.revenger-card-media img{display:block;width:100%;height:100%;object-fit:cover;}
.revenger-card-placeholder{height:100%;display:grid;place-items:center;font-family:Cinzel,serif;font-size:11px;letter-spacing:.16em;color:var(--muted);}
.revenger-card-copy{padding:11px 12px 13px;}
.revenger-card-name{font-size:12px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.revenger-card-id{margin-top:4px;color:var(--muted);font-family:Cinzel,serif;font-size:10px;letter-spacing:.10em;}

/* Revenger details modal */
.nft-modal{position:fixed;inset:0;z-index:500;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.78);backdrop-filter:blur(9px);}
.nft-modal.open{display:flex;}
.nft-modal-panel{position:relative;width:min(920px,100%);max-height:min(820px,calc(100vh - 48px));overflow:auto;display:grid;grid-template-columns:minmax(280px,1fr) minmax(280px,1fr);gap:24px;padding:22px;border:1px solid rgba(230,228,223,.17);border-radius:18px;background:linear-gradient(180deg,rgba(13,15,19,.99),rgba(4,6,9,.99));box-shadow:0 30px 100px rgba(0,0,0,.78),0 0 36px rgba(40,190,255,.07);}
.nft-modal-close{position:absolute;right:12px;top:12px;width:38px;height:38px;border:1px solid rgba(230,228,223,.18);border-radius:9px;background:rgba(0,0,0,.40);color:var(--ash);font-size:23px;line-height:1;cursor:pointer;z-index:3;}
.nft-modal-close:hover{border-color:rgba(80,225,255,.45);background:rgba(8,90,100,.16);}
.nft-modal-media{align-self:start;aspect-ratio:1/1;overflow:hidden;border:1px solid rgba(230,228,223,.12);border-radius:13px;background:#05070a;box-shadow:0 18px 45px rgba(0,0,0,.45);}
.nft-modal-media.empty{display:grid;place-items:center;}
.nft-modal-media img{display:block;width:100%;height:100%;object-fit:contain;}
.nft-modal-copy{align-self:center;padding:8px 10px 8px 0;}
.nft-modal-kicker{font-family:Cinzel,serif;font-size:10px;letter-spacing:.22em;color:#4fe1ff;}
.nft-modal-name{margin-top:8px;font-family:Cinzel,serif;font-size:clamp(20px,3vw,32px);line-height:1.2;}
.nft-modal-id{margin-top:6px;color:var(--muted);font-family:Cinzel,serif;font-size:11px;letter-spacing:.12em;}
.nft-traits{margin-top:20px;border-top:1px solid var(--line2);}
.trait-row{display:grid;grid-template-columns:1fr 1.25fr;gap:14px;padding:11px 0;border-bottom:1px solid var(--line2);font-size:11px;}
.trait-key{color:var(--muted);}
.trait-value{text-align:right;color:var(--ash);overflow-wrap:anywhere;}
.trait-empty{padding-top:14px;color:var(--muted);font-size:11px;line-height:1.6;}
.collector-foreshadow{max-width:760px;margin:34px auto 0;text-align:center;color:var(--ash);font-family:Cinzel,serif;font-size:clamp(16px,2.4vw,21px);letter-spacing:.08em;line-height:1.5;}

@media(max-width:900px){
  .revengers-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:640px){
  .revengers-section{margin-top:24px;}
  .revengers-collection{padding:14px;}
  .revengers-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .revengers-collection-head{display:block;}
  .revenger-card-copy{padding:9px 10px 11px;}
  .revenger-card-name{font-size:11px;}
  .nft-modal{padding:12px;}
  .nft-modal-panel{grid-template-columns:1fr;gap:16px;padding:14px;max-height:calc(100vh - 24px);}
  .nft-modal-media{max-width:520px;width:100%;margin:0 auto;}
  .nft-modal-copy{padding:0 2px 4px;}
  .nft-modal-name{font-size:22px;}
  .trait-row{grid-template-columns:1fr 1fr;}
  .collector-foreshadow{margin-top:22px;font-size:15px;padding:0 12px;}
}

/* V8 — keep the Revengers collection panel persistent while wallet/RPC/metadata data loads */
.revengers-empty-state{grid-column:1/-1;min-height:150px;display:grid;place-items:center;padding:28px;text-align:center;border:1px dashed rgba(80,225,255,.18);border-radius:12px;background:rgba(255,255,255,.018);color:var(--muted);font-size:11px;line-height:1.7;}
.revenger-card-media.image-error::after{content:'IMAGE UNAVAILABLE';position:absolute;inset:0;display:grid;place-items:center;font-family:Cinzel,serif;font-size:10px;letter-spacing:.14em;color:var(--muted);background:rgba(0,0,0,.45);}


/* V12 — Ecosystem page */
.ecosystem-page .ecosystem-hero{padding-bottom:8px;}
.ecosystem-page .subtle{max-width:720px;margin:0 auto;color:var(--muted);font-size:13px;line-height:1.7;}
.ecosystem-intro{margin-top:14px;}
.ecosystem-intro-body{text-align:center;padding:30px 24px 32px;}
.ecosystem-eyebrow{font-family:Cinzel,serif;letter-spacing:.18em;font-size:11px;color:rgba(230,228,223,.58);}
.ecosystem-intro h1{font-family:Cinzel,serif;font-size:clamp(24px,3.2vw,36px);font-weight:400;line-height:1.25;max-width:780px;margin:12px auto 14px;}
.ecosystem-intro p{max-width:760px;margin:0 auto;color:var(--muted);font-size:14px;line-height:1.8;}
.ecosystem-grid{max-width:920px;margin:18px auto 0;display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.ecosystem-card{position:relative;border:1px solid rgba(230,228,223,.12);background:rgba(0,0,0,.16);border-radius:16px;padding:22px 20px 20px;min-height:230px;overflow:hidden;box-shadow:0 16px 44px rgba(0,0,0,.30);}
.ecosystem-card:after{content:"";position:absolute;right:-55px;bottom:-75px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(179,13,19,.12),transparent 68%);pointer-events:none;}
.ecosystem-card-number{font-family:Cinzel,serif;color:rgba(179,13,19,.88);font-size:11px;letter-spacing:.16em;margin-bottom:12px;}
.ecosystem-card h2{font-family:Cinzel,serif;letter-spacing:.14em;font-size:17px;font-weight:600;margin:0 0 10px;}
.ecosystem-card p{color:var(--muted);font-size:13px;line-height:1.7;margin:0;max-width:520px;}
.ecosystem-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:17px;}
.ecosystem-tags span{font-size:9px;letter-spacing:.12em;color:rgba(230,228,223,.62);border:1px solid rgba(230,228,223,.11);padding:6px 8px;border-radius:7px;background:rgba(255,255,255,.018);}
.ecosystem-card-accent{border-color:rgba(179,13,19,.34);background:linear-gradient(145deg,rgba(179,13,19,.08),rgba(0,0,0,.16) 52%);}
.economy-section{margin-top:18px;}
.economy-body{padding:28px 26px 30px;}
.economy-copy h2{font-family:Cinzel,serif;font-size:clamp(24px,3vw,34px);font-weight:400;margin:10px 0 12px;}
.economy-copy>p{max-width:790px;color:var(--muted);font-size:14px;line-height:1.8;margin:0;}
.economy-points{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:22px 0;}
.economy-points>div{border-left:2px solid rgba(179,13,19,.55);padding:12px 14px;background:rgba(255,255,255,.018);}
.economy-points strong{display:block;font-family:Cinzel,serif;font-size:11px;letter-spacing:.12em;margin-bottom:6px;}
.economy-points span{display:block;color:var(--muted);font-size:12px;line-height:1.6;}
.economy-disclaimer{font-size:11px!important;color:rgba(230,228,223,.48)!important;border-top:1px solid var(--line2);padding-top:14px;margin-top:18px!important;}
.akuma-section{margin-top:18px;}
.akuma-body{display:grid;grid-template-columns:minmax(320px,1fr) minmax(0,1fr);gap:26px;align-items:center;padding:20px;}
.akuma-art{border-radius:14px;overflow:hidden;border:1px solid rgba(230,228,223,.12);background:#000;box-shadow:0 18px 48px rgba(0,0,0,.45);}
.akuma-art img{display:block;width:100%;height:auto;aspect-ratio:1.55/1;object-fit:cover;}
.akuma-copy{padding:8px 6px;}
.akuma-copy h2{font-family:Cinzel,serif;letter-spacing:.18em;font-size:clamp(26px,4vw,42px);margin:7px 0 4px;}
.akuma-lead{font-family:Cinzel,serif;color:var(--ash)!important;letter-spacing:.04em;font-size:14px!important;margin:0 0 16px!important;}
.akuma-copy>p{color:var(--muted);font-size:13px;line-height:1.75;}
.akuma-role-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:18px;}
.akuma-role-grid>div{border:1px solid rgba(230,228,223,.10);border-radius:10px;padding:11px;background:rgba(0,0,0,.14);}
.akuma-role-grid strong{display:block;font-family:Cinzel,serif;font-size:10px;letter-spacing:.12em;margin-bottom:5px;}
.akuma-role-grid span{display:block;color:var(--muted);font-size:11px;line-height:1.55;}
.ecosystem-flow{margin-top:18px;}
.ecosystem-flow-grid{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:10px;align-items:stretch;}
.flow-step{border:1px solid rgba(230,228,223,.11);border-radius:12px;padding:15px 12px;background:rgba(0,0,0,.12);text-align:center;display:flex;flex-direction:column;justify-content:center;min-height:120px;}
.flow-step span{font-family:Cinzel,serif;color:rgba(179,13,19,.85);font-size:10px;letter-spacing:.12em;margin-bottom:8px;}
.flow-step strong{font-family:Cinzel,serif;letter-spacing:.11em;font-size:12px;}
.flow-step small{color:var(--muted);font-size:10px;line-height:1.5;margin-top:7px;}
.flow-arrow{display:grid;place-items:center;color:rgba(179,13,19,.65);font-size:22px;}
@media(max-width:780px){
  .ecosystem-grid{grid-template-columns:1fr;}
  .economy-points{grid-template-columns:1fr;}
  .akuma-body{grid-template-columns:1fr;padding:14px;}
  .akuma-art img{aspect-ratio:1.55/1;}
  .ecosystem-flow-grid{grid-template-columns:1fr;}
  .flow-arrow{transform:rotate(90deg);min-height:18px;}
}

/* V13 — My Ishin collector identity + lightweight Akuma-kun companion */
.my-ishin-hero{padding-bottom:6px;}
.my-ishin-hero .subtle{max-width:720px;margin:0 auto;color:var(--muted);font-size:13px;line-height:1.7;}
.my-ishin-stats{max-width:980px;margin:18px auto 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;}
.my-ishin-stat{min-height:96px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border:1px solid rgba(230,228,223,.13);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(0,0,0,.16));box-shadow:0 14px 36px rgba(0,0,0,.28);padding:13px 10px;}
.my-ishin-stat-label{font-family:Cinzel,serif;letter-spacing:.13em;font-size:9px;color:var(--muted);}
.my-ishin-stat strong{margin-top:8px;font-family:Cinzel,serif;letter-spacing:.06em;font-size:17px;font-weight:500;}
.my-ishin-stat-level strong{font-size:13px;}
.my-ishin-data{margin-top:18px;}
.my-ishin-note{max-width:760px;margin:0 auto;color:var(--muted);font-size:12px;line-height:1.75;text-align:center;}
.my-ishin-page .revengers-balance{border-color:rgba(179,13,19,.24);background:linear-gradient(135deg,rgba(179,13,19,.08),rgba(0,0,0,.18));}
.my-ishin-page .revengers-balance-action button{border-color:rgba(179,13,19,.38);background:rgba(179,13,19,.12);}
.my-ishin-page .revengers-balance-action button:hover{background:rgba(179,13,19,.22);}
.web3-wallet-gateway .revengers-balance{margin-top:18px;}
.web3-wallet-gateway.gateway-ready .revengers-balance{border-color:rgba(179,13,19,.45);background:linear-gradient(135deg,rgba(179,13,19,.13),rgba(0,0,0,.18));}
.web3-wallet-gateway .revengers-balance-action{gap:10px;}
.my-ishin-active{min-height:38px;padding:10px 20px;border:1px solid rgba(255,255,255,.24);border-radius:9px;background:var(--crimson);color:#fff;font-family:Cinzel,serif;font-size:10px;letter-spacing:.12em;font-weight:600;display:inline-flex;align-items:center;justify-content:center;}
.my-ishin-active:hover{opacity:1;background:#c8141b;}
.my-ishin-active[hidden]{display:none;}

/* Akuma-kun: static, compact, interaction-driven; no animation. */
.akuma-companion{position:fixed;right:14px;bottom:14px;z-index:80;width:112px;pointer-events:none;}
.akuma-trigger{position:relative;display:block;width:82px;height:82px;margin-left:auto;padding:0;border:1px solid rgba(179,13,19,.34);border-radius:50%;overflow:hidden;background:#050608;box-shadow:0 12px 30px rgba(0,0,0,.52);cursor:pointer;pointer-events:auto;}
.akuma-trigger img{display:block;width:100%;height:100%;object-fit:cover;}
.akuma-expression{position:absolute;right:3px;top:3px;min-width:24px;height:24px;padding:0 4px;display:grid;place-items:center;border-radius:50%;background:rgba(0,0,0,.78);border:1px solid rgba(230,228,223,.20);color:#fff;font-size:11px;font-family:system-ui,sans-serif;line-height:1;}
.akuma-speech{position:absolute;right:0;bottom:92px;width:min(290px,calc(100vw - 30px));padding:12px 38px 12px 13px;border:1px solid rgba(179,13,19,.38);border-radius:12px;background:rgba(7,8,11,.96);box-shadow:0 18px 48px rgba(0,0,0,.58);pointer-events:auto;}
.akuma-speech[hidden]{display:none;}
.akuma-name{font-family:Cinzel,serif;letter-spacing:.14em;font-size:9px;color:rgba(179,13,19,.95);margin-bottom:6px;}
.akuma-message{color:var(--ash);font-size:11px;line-height:1.55;}
.akuma-close{position:absolute;right:7px;top:7px;width:24px;height:24px;border:1px solid rgba(230,228,223,.12);border-radius:7px;background:rgba(255,255,255,.025);color:var(--muted);cursor:pointer;}
.akuma-companion.mood-curious .akuma-trigger{border-color:rgba(80,225,255,.40);}
.akuma-companion.mood-mischief .akuma-trigger{border-color:rgba(179,13,19,.72);}
.akuma-companion.mood-alert .akuma-trigger{border-color:rgba(230,228,223,.45);}
@media(max-width:640px){
  .my-ishin-stats{grid-template-columns:repeat(2,1fr);gap:8px;margin-left:6px;margin-right:6px;}
  .my-ishin-stat-level{grid-column:1/-1;}
  .akuma-companion{right:8px;bottom:8px;width:92px;}
  .akuma-trigger{width:66px;height:66px;}
  .akuma-speech{bottom:76px;width:min(260px,calc(100vw - 24px));}
}

/* V14 — split the world/story and Web3 visual pillars */
.home-header-banner{margin-bottom:8px;}
.web3-header-banner{margin-bottom:6px;}
.web3-header-banner img{max-height:380px;object-fit:cover;object-position:center;}
.home-world-banner{margin:6px auto 0;max-width:960px;border:1px solid rgba(230,228,223,.10);border-radius:16px;overflow:hidden;background:rgba(0,0,0,.18);box-shadow:0 14px 42px rgba(0,0,0,.30);opacity:.82;}
.home-world-banner img{display:block;width:100%;height:auto;filter:saturate(.88) contrast(.98);}
.home-pillars{margin-top:24px;}
.home-pillars .pillars-head,.home-pillars .pillars-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.home-pillars .card img{height:390px;}
.pillar-action{display:flex;justify-content:center;padding:0 14px 18px;}
.pillar-action .featured-button{width:min(100%,300px);}
.web3-pillars{margin:24px auto 0;}
.web3-pillars .card img{height:330px;}

/* V14 — editable collector profile, stored locally in the visitor's browser */
.collector-profile{max-width:980px;margin:22px auto 0;display:grid;grid-template-columns:150px minmax(0,1fr);gap:22px;align-items:center;padding:20px;border:1px solid rgba(230,228,223,.14);border-radius:16px;background:linear-gradient(135deg,rgba(255,255,255,.025),rgba(0,0,0,.20));box-shadow:0 18px 48px rgba(0,0,0,.34);}
.collector-profile-media{display:flex;justify-content:center;}
.collector-avatar-wrap{position:relative;width:128px;height:128px;border-radius:50%;padding:4px;border:1px solid rgba(179,13,19,.52);background:rgba(0,0,0,.28);box-shadow:0 0 30px rgba(179,13,19,.12);}
.collector-avatar{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;background:#07080b;}
.collector-avatar-edit{position:absolute;right:-2px;bottom:2px;width:34px;height:34px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:var(--crimson);color:#fff;font-size:20px;line-height:1;cursor:pointer;box-shadow:0 8px 20px rgba(0,0,0,.42);}
.collector-avatar-edit:hover{background:#c8141b;}
.collector-profile-kicker{font-family:Cinzel,serif;letter-spacing:.18em;font-size:10px;color:rgba(179,13,19,.95);margin-bottom:7px;}
.collector-profile-display{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.collector-profile-name{font-family:Cinzel,serif;font-size:clamp(22px,3vw,31px);letter-spacing:.04em;line-height:1.15;word-break:break-word;}
.profile-edit-button,.profile-save-button,.profile-secondary-button{min-height:36px;padding:0 13px;border:1px solid rgba(230,228,223,.18);border-radius:8px;background:rgba(255,255,255,.035);color:var(--ash);font-family:Cinzel,serif;font-size:9px;font-weight:600;letter-spacing:.10em;cursor:pointer;}
.profile-edit-button:hover,.profile-secondary-button:hover{border-color:rgba(179,13,19,.45);background:rgba(179,13,19,.08);}
.profile-save-button{background:var(--crimson);border-color:rgba(255,255,255,.22);color:#fff;}
.profile-save-button:hover{background:#c8141b;}
.collector-profile-editor{margin-top:12px;}
.collector-profile-editor[hidden]{display:none;}
.collector-profile-editor label{display:block;color:var(--muted);font-size:10px;letter-spacing:.05em;margin-bottom:6px;}
.collector-profile-input-row{display:flex;gap:8px;max-width:620px;}
.collector-profile-input{width:100%;min-height:40px;padding:0 12px;border:1px solid rgba(230,228,223,.16);border-radius:8px;background:rgba(0,0,0,.28);color:var(--ash);font:400 13px Inter,system-ui,sans-serif;outline:none;}
.collector-profile-input:focus{border-color:rgba(179,13,19,.62);box-shadow:0 0 0 2px rgba(179,13,19,.10);}
.collector-profile-editor-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px;}
.collector-profile-meta{margin-top:10px;color:var(--muted);font-size:11px;line-height:1.55;}

@media(max-width:760px){
  .home-pillars .pillars-grid,.home-pillars .pillars-head{grid-template-columns:1fr;}
  .home-pillars .card img{height:320px;}
  .web3-pillars .card img{height:320px;}
  .collector-profile{grid-template-columns:1fr;text-align:center;gap:14px;padding:18px 14px;}
  .collector-profile-display{justify-content:center;}
  .collector-profile-editor{max-width:560px;margin:12px auto 0;}
  .collector-profile-input-row{margin:0 auto;}
  .collector-profile-editor-actions{justify-content:center;}
}
@media(max-width:480px){
  .web3-header-banner img{max-height:250px;}
  .home-world-banner{border-radius:12px;}
  .collector-profile-input-row{flex-direction:column;}
  .profile-save-button{width:100%;}
}
