:root{--paper:#eee9dd;--ink:#0b0b0b;--gold:#b87c26}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font-family:"DM Sans",sans-serif;font-size:16px}.noise{position:fixed;inset:0;pointer-events:none;z-index:99;opacity:.1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.24'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}header,footer{display:flex;justify-content:space-between;align-items:center;padding:1.6rem 3vw;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem}header{position:absolute;z-index:5;width:100%;top:0}.intro{min-height:82vh;padding:14vh 6vw 7vw;background:linear-gradient(145deg,#c58a31,#8d5617);color:#151109;display:grid;grid-template-columns:1.4fr .6fr;align-items:end}.eyebrow{position:absolute;top:14vh;left:6vw;text-transform:uppercase;letter-spacing:.22em;font-size:.72rem}.intro h1{font-family:"DM Serif Display",serif;font-size:clamp(5rem,13vw,14rem);line-height:.72;font-weight:400;letter-spacing:-.055em;margin:0}.intro-meta{max-width:460px;align-self:end}.intro-meta p{line-height:1.6;font-weight:300}.intro-meta p:last-child{text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;margin-top:3rem}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#242424;padding:1px}.npc{position:relative;aspect-ratio:1;overflow:hidden;background:#151515;border:0;padding:0;color:var(--paper);cursor:zoom-in}.npc img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .55s ease,filter .55s ease}.npc:hover img{transform:scale(1.025);filter:brightness(.82)}.npc span{position:absolute;left:1rem;bottom:1rem;background:rgba(0,0,0,.78);padding:.45rem .65rem;font-size:.66rem;letter-spacing:.16em;opacity:0;transform:translateY(5px);transition:.25s}.npc:hover span,.npc:focus-visible span{opacity:1;transform:none}dialog{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;border:0;background:rgba(4,4,4,.96);color:white;padding:0}dialog::backdrop{background:#000}dialog[open]{display:grid;grid-template-columns:80px 1fr 80px;align-items:center}dialog figure{height:90vh;margin:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1rem}dialog img{max-width:min(78vw,850px);max-height:80vh;object-fit:contain}dialog figcaption{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}.close,.prev,.next{border:0;background:none;color:white;font-size:2rem;cursor:pointer}.close{position:absolute;right:2rem;top:1.5rem;font-size:2.5rem;font-weight:200}footer{border-top:1px solid #2a2a2a;padding-top:2.4rem;padding-bottom:2.4rem;color:#888}
.viewer-info{display:flex;align-items:center;justify-content:center;gap:1.4rem;flex-wrap:wrap;font-size:.72rem;letter-spacing:.08em}.owner-label{color:#8f8f8f}.owner-label a{color:#fff;border-bottom:1px solid #555;padding-bottom:.15rem}.opensea-link{border:1px solid #555;border-radius:999px;padding:.7rem 1.05rem;text-transform:uppercase;letter-spacing:.14em;font-size:.65rem;transition:.2s}.opensea-link:hover{background:#fff;color:#0b0b0b;border-color:#fff}.opensea-link[aria-disabled="true"]{opacity:.35;pointer-events:none}dialog img{max-height:72vh}
@media(max-width:900px){.gallery{grid-template-columns:repeat(3,1fr)}.intro{grid-template-columns:1fr;gap:4rem}.intro h1{font-size:clamp(5rem,22vw,10rem)}.intro-meta{margin-left:auto}}
@media(max-width:560px){header{padding:1.3rem 5vw}.intro{min-height:75vh;padding:18vh 6vw 12vw}.eyebrow{top:12vh}.gallery{grid-template-columns:repeat(2,1fr)}.npc span{opacity:1;transform:none;font-size:.58rem}dialog[open]{grid-template-columns:44px 1fr 44px}dialog img{max-width:78vw}.close{right:1rem;top:.7rem}footer{padding:2rem 5vw;flex-wrap:wrap;gap:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.npc img,.npc span{transition:none}}
.collection-block{background:#0b0b0b}.collection-heading{min-height:260px;padding:5rem 6vw 3rem;display:grid;grid-template-columns:1fr auto;align-items:end;border-top:1px solid #292929}.collection-heading h2{font-family:"DM Serif Display",serif;font-size:clamp(3.5rem,8vw,8rem);font-weight:400;line-height:.85;letter-spacing:-.04em;margin:.35rem 0 0}.collection-heading>span,.eyebrow-inline{text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;color:#888}.eyebrow-inline{grid-column:1/-1;margin:0}.npc .burned-label{inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.35);font-family:"DM Serif Display",serif;font-size:clamp(1.5rem,3vw,3.5rem);letter-spacing:.12em}.npc.is-burned:hover img,.npc.is-burned:focus-visible img{filter:grayscale(1) brightness(.5)}
@media(max-width:560px){.collection-heading{min-height:190px;padding:3.5rem 6vw 2rem;grid-template-columns:1fr}.collection-heading>span{margin-top:1rem}.npc .burned-label{opacity:0}.npc.is-burned:hover .burned-label,.npc.is-burned:focus-visible .burned-label{opacity:1}}
.intro-meta .simulation-total{margin:2.5rem 0 0;text-transform:uppercase;letter-spacing:.18em;font-size:.7rem}
.simulation-counts{display:grid;gap:.5rem;margin:1rem 0 0;padding:0;list-style:none;text-transform:uppercase;letter-spacing:.14em;font-size:.66rem}
.simulation-counts li{display:flex;align-items:center;gap:.7rem}
.simulation-counts li::before{content:"";width:5px;height:5px;flex:0 0 5px;border-radius:50%;background:currentColor;opacity:.72}

@media(max-width:900px){.intro h1{font-size:clamp(2.5rem,16vw,8rem);max-width:100%;line-height:.88}.intro{min-width:0}}

 .simulation-join{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;margin-top:1.5rem;padding:.6rem .65rem .6rem 1.1rem;border:1px solid #151109;border-radius:999px;background:transparent;color:#151109;font-size:.85rem;line-height:1.2;text-decoration:none;max-width:100%;box-sizing:border-box;transition:background .25s,color .25s}
.simulation-join img{display:block;width:22px;height:22px;object-fit:contain;flex:0 0 22px;filter:brightness(0);transition:filter .25s}
.simulation-join-arrow{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;font-size:1.1rem;font-weight:400;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.simulation-join:hover{background:#151109;color:#fff}
.simulation-join:hover img{filter:brightness(0) invert(1)}
.simulation-join:hover .simulation-join-arrow{transform:rotate(45deg)}
.simulation-join:focus-visible{outline:2px solid #151109;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.simulation-join,.simulation-join img,.simulation-join-arrow{transition:none}}

.simulation-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem;margin-top:1.5rem}
.simulation-actions .simulation-join{margin-top:0}
.simulation-discord{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border:1px solid #151109;border-radius:50%;background:transparent;color:#151109;box-sizing:border-box;transition:background .25s,color .25s}
.simulation-discord svg{display:block;width:24px;height:24px}
.simulation-discord:hover{background:#151109;color:#fff}
.simulation-discord:focus-visible{outline:2px solid #151109;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.simulation-discord{transition:none}}

@media(max-width:560px){.simulation-actions{display:grid;grid-template-columns:52px 52px minmax(0,1fr)}.simulation-actions .simulation-join{grid-column:1/-1;justify-self:start}}

/* Simulation-only navigation: identical icons centered on the displayed artwork. */
dialog#viewer>.prev,dialog#viewer>.next{position:absolute!important;top:var(--npc-arrow-center,50%)!important;transform:translateY(-50%)!important;width:42px!important;height:42px!important;padding:0!important;display:grid!important;place-items:center!important;line-height:1!important;box-sizing:border-box!important;border:0;border-radius:50%;z-index:7;background:rgba(0,0,0,.56)}
dialog#viewer>.prev{left:8px!important}dialog#viewer>.next{right:8px!important}
dialog#viewer>.prev svg,dialog#viewer>.next svg{display:block;width:22px!important;height:22px!important;flex:none}
dialog#viewer>.prev svg{transform:rotate(180deg)}

/* The arrows are positioned independently; the artwork must own the full panel. */
dialog#viewer[open]{display:block!important}
dialog#viewer>figure{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr) auto auto!important;align-items:center!important;justify-items:center!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;padding:56px 64px 32px!important;gap:14px!important;box-sizing:border-box!important}
dialog#viewer>figure>img{grid-column:1!important;grid-row:1!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important}
dialog#viewer>figure>figcaption{grid-column:1;grid-row:2;text-align:center;max-width:100%;overflow-wrap:anywhere}
dialog#viewer .viewer-info{grid-column:1;grid-row:3;min-width:0;max-width:100%;justify-content:center;text-align:center}
dialog#viewer .opensea-link{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;white-space:nowrap;flex-shrink:0}
@media(max-width:800px){dialog#viewer>figure{padding:56px 48px 24px!important;gap:12px!important}dialog#viewer .viewer-info{flex-direction:column;gap:14px!important}}
