:root{
  --black:#050505;
  --black2:#0a090b;
  --cream:#eee2cb;
  --muted:#b9aa96;
  --purple:#8b4fd2;
  --purple2:#b679ff;
  --yellow:#d4ad36;
  --green:#9eff87;
  --line:rgba(238,226,203,.16);
  --line-strong:rgba(238,226,203,.28);
  --panel:rgba(7,7,8,.76);
  --panel-heavy:rgba(7,7,8,.91);
  --radius:24px;
  --max:1240px;
  --shadow:0 28px 84px rgba(0,0,0,.54);
  --glow:0 0 28px rgba(182,121,255,.24);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--cream);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.5;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
img{display:block;max-width:100%}

.noise,.scanlines{position:fixed;inset:0;pointer-events:none;z-index:30}
.noise{display:none!important;opacity:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:soft-light}
.scanlines{display:none!important;opacity:0;background:linear-gradient(to bottom,rgba(255,255,255,.05),transparent 2px);background-size:100% 5px}
.progress{position:fixed;left:0;top:0;height:3px;width:0;background:linear-gradient(90deg,var(--purple2),var(--yellow));z-index:80;box-shadow:0 0 16px rgba(182,121,255,.72)}

.boot{position:fixed;inset:0;z-index:100;background:#050505;display:grid;place-items:center;align-content:center;gap:.82rem;transition:opacity .24s ease,visibility .24s ease}
.boot.is-gone{opacity:0;visibility:hidden;pointer-events:none}
.boot.is-instant{display:none}
.boot img{width:104px;border-radius:50%;box-shadow:var(--glow)}
.boot span{font-size:.72rem;letter-spacing:.24em;color:var(--muted);text-align:center;padding:0 1rem}

.recruit-banner{position:fixed;top:78px;left:50%;transform:translateX(-50%);z-index:79;width:min(92%,760px);padding:.7rem .75rem .7rem 1rem;border:1px solid rgba(182,121,255,.42);border-radius:16px;background:rgba(12,9,16,.94);backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:space-between;gap:1rem;box-shadow:var(--shadow)}
.recruit-banner[hidden]{display:none}
.recruit-banner span{font-size:.78rem;letter-spacing:.08em}
.recruit-banner button{border:0;border-radius:12px;padding:.68rem .8rem;background:var(--purple);font-size:.72rem;font-weight:800}

.site-header{position:sticky;top:0;z-index:60;height:72px;padding:.65rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:linear-gradient(180deg,rgba(5,5,5,.95),rgba(5,5,5,.78));border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}
.brand-lockup{display:flex;align-items:center;gap:.72rem;min-width:0}
.brand-lockup img{width:46px;height:46px;border-radius:50%;object-fit:cover;box-shadow:var(--glow)}
.brand-lockup span{display:flex;flex-direction:column;min-width:0}
.brand-lockup strong{font-size:1rem;letter-spacing:.08em}
.brand-lockup small{font-size:.62rem;letter-spacing:.16em;color:var(--muted);white-space:nowrap}
.menu-button{border:1px solid var(--line);background:rgba(255,255,255,.04);border-radius:14px;padding:.72rem .86rem;font-size:.74rem;letter-spacing:.12em}
.main-nav{position:fixed;top:78px;right:1rem;width:220px;display:none;flex-direction:column;border:1px solid var(--line);border-radius:18px;background:rgba(7,7,9,.97);overflow:hidden;box-shadow:var(--shadow)}
.main-nav.open{display:flex}
.main-nav a{padding:1rem;border-top:1px solid var(--line);font-size:.78rem;letter-spacing:.16em}
.main-nav a:first-child{border-top:0}

.section-shell{width:min(var(--max),calc(100% - 2rem));margin:0 auto}
.scene{position:relative;min-height:76svh;overflow:hidden;background:#08080a;border-bottom:1px solid rgba(255,255,255,.03)}
.scene__media{position:absolute;inset:0;overflow:hidden;background:#08080a}
.scene__media img{width:100%;height:100%;object-fit:cover;object-position:var(--mobile-pos,center);filter:saturate(.95) contrast(1.03);transform:scale(1.01)}
.scene__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.015),transparent 24%,transparent 76%,rgba(0,0,0,.1));pointer-events:none}
.scene__scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(5,5,5,.93),rgba(5,5,5,.72) 44%,rgba(5,5,5,.18) 75%,rgba(5,5,5,.1))}
.scene__scrim--hero{background:linear-gradient(90deg,rgba(5,5,5,.95),rgba(5,5,5,.76) 46%,rgba(5,5,5,.12) 76%,rgba(5,5,5,.08))}
.scene__scrim--deep{background:linear-gradient(180deg,rgba(5,5,5,.58),rgba(5,5,5,.87))}
.scene__scrim--left{background:linear-gradient(90deg,rgba(5,5,5,.95),rgba(5,5,5,.74) 48%,rgba(5,5,5,.26))}
.scene__scrim--right{background:linear-gradient(90deg,rgba(5,5,5,.26),rgba(5,5,5,.74) 52%,rgba(5,5,5,.95))}
.scene__content{position:relative;z-index:2;padding:5rem 0}
.scene--hero{min-height:calc(100svh - 72px);display:flex;align-items:flex-end}
.scene--hero .scene__content{padding-bottom:7rem}

.paper-panel{position:relative;background:linear-gradient(180deg,rgba(9,8,10,.86),rgba(5,5,6,.76));border:1px solid rgba(238,226,203,.16);border-radius:var(--radius);padding:1rem;backdrop-filter:blur(17px);box-shadow:var(--shadow);overflow:hidden}
.paper-panel::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 26%,transparent 74%,rgba(255,255,255,.018));pointer-events:none}
.paper-panel::after{content:"";position:absolute;inset:8px;border:1px dashed rgba(238,226,203,.055);border-radius:calc(var(--radius) - 9px);pointer-events:none}

.status-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .7rem;border-radius:999px;border:1px solid rgba(182,121,255,.32);background:rgba(139,79,210,.12);font-size:.68rem;letter-spacing:.16em}
.status-pill i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green)}
.hero-copy{max-width:44rem;overflow:hidden}
.hero-copy h1{font-size:clamp(3.05rem,15vw,6.3rem);line-height:.82;margin:.72rem 0 .62rem;letter-spacing:.02em}
.hero-tagline{font-size:clamp(1.2rem,6vw,2rem);line-height:1.06;letter-spacing:.11em;margin:0 0 1rem}
.hero-tagline em,.manifesto-copy em{color:var(--purple2);font-style:normal}
.hero-lede{margin:0;color:#ddd0bc;max-width:35rem}
.hero-stamps{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}
.hero-stamps span{padding:.45rem .65rem;border:1px dashed rgba(238,226,203,.18);font-size:.62rem;letter-spacing:.12em;color:var(--muted)}

.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.1rem}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:.9rem 1.05rem;border-radius:15px;border:1px solid var(--line);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.button--primary{background:linear-gradient(180deg,#a466ef,#7436c4);color:#fff;border-color:rgba(182,121,255,.42);box-shadow:0 12px 28px rgba(116,54,196,.32)}
.button--ghost{background:rgba(255,255,255,.04)}
.button:hover{transform:translateY(-2px)}
.button:focus-visible,.menu-button:focus-visible,.template-chip:focus-visible,.sticker-card:focus-visible,.character-card:focus-visible,.pack-preview:focus-visible{outline:2px solid var(--purple2);outline-offset:3px}

.section-heading{max-width:52rem;margin-bottom:1.3rem}
.section-heading>span,.pack-copy>span,.raid-copy>span,.proof-form>span,.poster-copy>span{font-size:.72rem;letter-spacing:.2em;color:var(--purple2)}
.section-heading h2,.pack-copy h2,.raid-copy h2,.proof-form h2,.poster-copy h2{font-size:clamp(2.2rem,10vw,4.4rem);line-height:.9;margin:.35rem 0 .7rem;letter-spacing:.02em}
.section-heading p,.pack-copy p,.raid-copy p,.proof-form p,.poster-copy p{margin:0;color:var(--muted)}
.section-heading--split{display:grid;gap:1rem}

.protocol-grid{list-style:none;padding:0;margin:0;display:grid;gap:.8rem}
.protocol-grid li{padding:1rem;border-radius:20px;border:1px solid var(--line);background:rgba(7,7,9,.72);backdrop-filter:blur(12px);box-shadow:0 14px 40px rgba(0,0,0,.28)}
.protocol-grid b{color:var(--purple2);letter-spacing:.12em}
.protocol-grid h3{margin:.35rem 0 .4rem;font-size:1.15rem}
.protocol-grid p{margin:0;color:var(--muted)}
.whitelist-tracker{margin-top:1rem;display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem;padding:1rem;border:1px solid var(--line);border-radius:22px;background:rgba(7,7,9,.82);backdrop-filter:blur(12px)}
.whitelist-tracker div{padding:.8rem;border-radius:14px;background:rgba(255,255,255,.035)}
.whitelist-tracker span{display:block;font-size:.62rem;letter-spacing:.12em;color:var(--muted)}
.whitelist-tracker strong{font-size:.78rem}
.whitelist-tracker .done strong{color:var(--green)}
.whitelist-tracker output{grid-column:1/-1;text-align:center;padding:.7rem;border-radius:14px;background:rgba(139,79,210,.15);color:var(--purple2);font-size:.76rem;letter-spacing:.16em}

.pack-layout{display:grid;gap:1rem;align-items:end}
.pack-preview{padding:0;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:#08080a;box-shadow:var(--shadow);transition:transform .18s ease}
.pack-preview:hover{transform:translateY(-2px)}
.pack-preview img{width:100%;aspect-ratio:2/1;object-fit:contain;background:#050505}
.sticker-rail,.character-rail{display:grid;grid-auto-flow:column;grid-auto-columns:72%;gap:.8rem;overflow:auto;padding:.9rem .1rem .3rem;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--purple) rgba(255,255,255,.04)}
.sticker-card,.character-card{padding:0;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:rgba(7,7,9,.92);scroll-snap-align:start;text-align:left;box-shadow:0 15px 38px rgba(0,0,0,.3);transition:transform .18s ease,border-color .18s ease}
.sticker-card:hover,.character-card:hover{transform:translateY(-3px);border-color:rgba(182,121,255,.34)}
.sticker-card img{width:100%;aspect-ratio:1;object-fit:contain;background:#050505;padding:.18rem}
.sticker-card span,.character-card span{display:flex;flex-direction:column;padding:.7rem .8rem;font-size:.72rem;letter-spacing:.08em}
.sticker-card b{color:var(--purple2);margin-bottom:.2rem}
.character-card img{width:100%;aspect-ratio:3/4;object-fit:cover}
.character-card small{margin-top:.25rem;color:var(--muted);font-size:.62rem}

.creator-shell{display:grid;gap:1rem}
.creator-controls{display:grid;gap:.85rem;align-content:start}
.creator-controls label{display:grid;gap:.42rem;font-size:.68rem;letter-spacing:.14em;color:var(--muted)}
.creator-controls input,.creator-controls select{width:100%;min-height:50px;border:1px solid var(--line);border-radius:14px;padding:.85rem;background:rgba(0,0,0,.48);outline:none}
.creator-controls input[type="range"]{min-height:auto;padding:.25rem 0;accent-color:var(--purple2)}
.creator-controls input:focus,.creator-controls select:focus{border-color:rgba(182,121,255,.58);box-shadow:0 0 0 3px rgba(139,79,210,.12)}
.form-pair{display:grid;grid-template-columns:1fr;gap:.75rem}
.template-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
.template-chip{min-height:72px;padding:.72rem;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.035);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;gap:.18rem;transition:.18s}
.template-chip b{font-size:.72rem;letter-spacing:.08em}
.template-chip small{font-size:.58rem;color:var(--muted);letter-spacing:.08em}
.template-chip.is-active{border-color:rgba(182,121,255,.5);background:rgba(139,79,210,.15);box-shadow:0 0 0 1px rgba(182,121,255,.12) inset}
.creator-buttons{display:grid;grid-template-columns:1fr;gap:.6rem}
.creator-note{margin:0;color:var(--muted);font-size:.72rem;line-height:1.7}
.creator-stage{display:grid;gap:.75rem;align-content:start;min-height:620px}
.creator-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.25rem .25rem .75rem;border-bottom:1px solid var(--line)}
.creator-toolbar span{font-size:.74rem;letter-spacing:.13em;color:var(--purple2)}
.creator-toolbar small{color:var(--muted);font-size:.68rem;letter-spacing:.1em}
.canvas-frame{min-height:520px;display:grid;place-items:center;padding:.5rem;border-radius:18px;background:radial-gradient(circle at center,rgba(139,79,210,.12),rgba(0,0,0,.3) 55%,rgba(0,0,0,.5));overflow:auto}
#cultCanvas{display:block;max-width:100%;height:auto;max-height:76svh;border:1px solid rgba(238,226,203,.14);border-radius:14px;box-shadow:0 24px 60px rgba(0,0,0,.48);background:#050505}

.raid-layout,.proof-layout{display:grid;gap:1rem;align-items:center}
.raid-copy label,.proof-form label{display:grid;gap:.4rem;margin-top:1rem;font-size:.68rem;letter-spacing:.14em;color:var(--muted)}
input,textarea,select{width:100%;border:1px solid var(--line);border-radius:14px;padding:.9rem;background:rgba(0,0,0,.42);outline:none;resize:vertical}
input:focus,textarea:focus,select:focus{border-color:rgba(182,121,255,.58);box-shadow:0 0 0 3px rgba(139,79,210,.12)}
.generated-link{margin-top:.75rem;padding:.9rem;border-radius:14px;border:1px dashed rgba(182,121,255,.35);background:rgba(139,79,210,.08);font-size:.78rem;word-break:break-all}
.raid-card,.proof-pass{display:grid;place-items:center;text-align:center;gap:.35rem;padding:1.25rem;border-radius:28px;border:1px solid var(--line);background:rgba(7,7,9,.84);backdrop-filter:blur(14px);box-shadow:var(--shadow)}
.raid-card img,.proof-pass img{width:min(48vw,230px);border-radius:50%;box-shadow:var(--glow)}
.raid-card strong,.proof-pass strong{font-size:1.4rem;letter-spacing:.08em}
.raid-card span,.proof-pass span{color:var(--purple2);letter-spacing:.14em}
.raid-card small,.proof-pass small{color:var(--muted);letter-spacing:.12em}
.proof-output{display:block;margin-top:1rem;min-height:42px;padding:.75rem;border-radius:14px;background:rgba(139,79,210,.1);color:var(--purple2);font-size:.72rem;letter-spacing:.08em}

.manifesto-copy{display:grid;place-items:center;text-align:center;min-height:58svh}
.manifesto-copy img{width:120px;border-radius:50%;margin-bottom:1rem;box-shadow:var(--glow)}
.manifesto-copy h2{font-size:clamp(2.4rem,11vw,5.8rem);line-height:.86;margin:0;max-width:14ch}
.manifesto-copy p{max-width:44rem;color:var(--muted)}

.mobile-dock{position:fixed;left:50%;bottom:.75rem;transform:translateX(-50%);z-index:65;display:flex;gap:.45rem;padding:.48rem;border:1px solid var(--line);border-radius:18px;background:rgba(7,7,9,.88);backdrop-filter:blur(16px);box-shadow:var(--shadow)}
.mobile-dock a{width:66px;height:56px;border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;background:rgba(255,255,255,.03)}
.mobile-dock small{font-size:.56rem;letter-spacing:.1em;color:var(--muted)}
.site-footer{display:flex;flex-direction:column;gap:1rem;padding:1.3rem 1rem calc(6rem + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#050505}
.footer-brand{display:flex;align-items:center;gap:.75rem}
.footer-brand img{width:54px;height:54px;border-radius:50%;box-shadow:var(--glow)}
.footer-brand span{display:flex;flex-direction:column}
.footer-brand small{color:var(--muted);font-size:.68rem;letter-spacing:.12em}
.site-footer>div:last-child{display:flex;flex-wrap:wrap;gap:1rem;color:var(--muted);font-size:.76rem}

.ritual-dialog,.lightbox{border:1px solid var(--line);border-radius:24px;background:rgba(5,5,6,.98);color:var(--cream);box-shadow:var(--shadow);max-width:min(92vw,760px)}
.ritual-dialog::backdrop,.lightbox::backdrop{background:rgba(0,0,0,.86)}
.ritual-dialog form{display:grid;gap:.8rem;padding:.75rem;position:relative}
.ritual-dialog img{width:96px;border-radius:50%;margin:auto;box-shadow:var(--glow)}
.ritual-dialog span{text-align:center;color:var(--purple2);font-size:.72rem;letter-spacing:.16em}
.ritual-dialog h2{text-align:center;margin:0;font-size:2rem}
.ritual-dialog p{text-align:center;margin:0;color:var(--muted)}
.ritual-dialog label{display:flex;gap:.7rem;align-items:flex-start;padding:.8rem;border:1px solid var(--line);border-radius:14px;font-size:.76rem}
.ritual-dialog input{width:auto;margin-top:.15rem}
.dialog-close{position:absolute;right:.7rem;top:.7rem;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.04);font-size:1.6rem;z-index:2}
.lightbox{padding:1rem}
.lightbox img{max-height:78vh;margin:auto;border-radius:16px}
.lightbox p{margin:.7rem 0 0;color:var(--muted)}
.toast{position:fixed;left:50%;bottom:5.4rem;transform:translateX(-50%) translateY(20px);z-index:90;opacity:0;padding:.8rem 1rem;border:1px solid var(--line);border-radius:999px;background:rgba(7,7,9,.96);transition:.25s;pointer-events:none;font-size:.76rem;letter-spacing:.08em;white-space:nowrap;max-width:90vw;overflow:hidden;text-overflow:ellipsis}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

@media(min-width:760px){
  .site-header{padding:.7rem 1.5rem}
  .section-shell{width:min(var(--max),calc(100% - 3rem))}
  .menu-button{display:none}
  .main-nav{position:static;display:flex!important;flex-direction:row;width:auto;border:0;background:none;box-shadow:none}
  .main-nav a{border:0;padding:.5rem .62rem}
  .scene__media img{object-position:var(--desktop-pos,center)}
  .scene__content{padding:6rem 0}
  .section-heading--split{grid-template-columns:1fr minmax(280px,430px);align-items:end}
  .protocol-grid{grid-template-columns:repeat(2,1fr)}
  .whitelist-tracker{grid-template-columns:repeat(5,1fr)}
  .pack-layout,.raid-layout,.proof-layout{grid-template-columns:1fr 1fr}
  .pack-layout--reverse .pack-copy{order:2}
  .sticker-rail{grid-auto-columns:30%}
  .character-rail{grid-auto-columns:32%}
  .creator-shell{grid-template-columns:minmax(330px,.72fr) minmax(0,1.28fr);align-items:start}
  .form-pair{grid-template-columns:1fr 1fr}
  .template-picker{grid-template-columns:repeat(3,minmax(0,1fr))}
  .creator-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}
  .mobile-dock{display:none}
  .site-footer{padding-bottom:1.3rem;flex-direction:row;align-items:center;justify-content:space-between}
}
@media(min-width:1080px){
  .section-shell{width:min(var(--max),calc(100% - 4rem))}
  .scene__content{padding:7rem 0}
  .scene--hero .scene__content{padding-bottom:4rem}
  .protocol-grid{grid-template-columns:repeat(4,1fr)}
  .sticker-rail{grid-auto-columns:18.4%}
  .character-rail{grid-auto-columns:23%}
  .paper-panel{padding:1.45rem}
  .raid-layout{grid-template-columns:1.05fr .75fr}
  .proof-layout{grid-template-columns:1.1fr .7fr}
  .creator-stage{min-height:760px}
  .canvas-frame{min-height:660px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.sticker-card,.character-card,.pack-preview{transition:none}.scene__media img{transform:none}}

/* v2.0.1 creator polish */
.creator-controls > label:first-of-type{
  padding:.75rem;
  border:1px solid rgba(182,121,255,.22);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(139,79,210,.10),rgba(255,255,255,.025));
}
.creator-controls > label:first-of-type select{
  background:
    linear-gradient(180deg,rgba(10,8,13,.94),rgba(5,5,6,.94));
}
.template-chip{
  position:relative;
  overflow:hidden;
}
.template-chip::after{
  content:"";
  position:absolute;
  inset:auto -20% -45% 25%;
  height:70%;
  background:radial-gradient(circle,rgba(182,121,255,.18),transparent 68%);
  pointer-events:none;
}
.template-chip.is-active{
  transform:translateY(-1px);
  box-shadow:0 0 0 1px rgba(182,121,255,.16) inset,0 10px 28px rgba(83,39,142,.18);
}
.creator-stage{
  position:sticky;
  top:88px;
}
@media(max-width:759px){
  .creator-stage{position:relative;top:auto;min-height:520px}
  .canvas-frame{min-height:460px}
  .creator-toolbar{position:sticky;top:0;z-index:2;background:rgba(7,7,9,.88);backdrop-filter:blur(12px);padding:.6rem;border-radius:12px}
}


/* v2.1.0 mobile + surface world */
.surface-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.surface-tile{padding:0;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:rgba(7,7,9,.92);text-align:left;box-shadow:0 15px 38px rgba(0,0,0,.3);transition:transform .18s ease,border-color .18s ease;min-width:0}
.surface-tile:hover{transform:translateY(-3px);border-color:rgba(182,121,255,.34)}
.surface-tile img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center}
.surface-tile span{display:flex;flex-direction:column;padding:.7rem .8rem;font-size:.72rem;letter-spacing:.08em}
.surface-tile b{color:var(--purple2)}
.surface-tile small{margin-top:.25rem;color:var(--muted);font-size:.62rem}
.scene--world .section-heading p{max-width:38rem}

@media(max-width:759px){
  .site-header{height:66px;padding:.55rem .75rem;gap:.65rem}
  .brand-lockup img{width:40px;height:40px}
  .brand-lockup strong{font-size:.92rem}
  .brand-lockup small{font-size:.56rem;letter-spacing:.14em}
  .menu-button{padding:.65rem .74rem;font-size:.68rem;border-radius:12px}
  .main-nav{top:70px;left:.75rem;right:.75rem;width:auto;border-radius:20px;max-height:calc(100svh - 90px);overflow:auto}
  .main-nav a{padding:1rem 1rem;font-size:.76rem}
  .section-shell{width:min(var(--max),calc(100% - 1rem))}
  .scene{min-height:auto}
  .scene__content{padding:4rem 0}
  .scene--hero{min-height:calc(100svh - 66px);align-items:flex-end}
  .scene--hero .scene__content{padding-bottom:6rem}
  .paper-panel{padding:.9rem;border-radius:20px}
  .hero-copy{margin-top:1rem}
  .hero-copy h1{font-size:clamp(2.8rem,17vw,4.8rem)}
  .hero-tagline{font-size:clamp(1.05rem,6vw,1.7rem)}
  .actions{gap:.6rem}
  .actions .button{width:100%;flex:1 1 100%}
  .section-heading h2,.pack-copy h2,.raid-copy h2,.proof-form h2,.poster-copy h2{font-size:clamp(1.85rem,12vw,3rem)}
  .protocol-grid li{padding:.9rem;border-radius:18px}
  .whitelist-tracker{grid-template-columns:1fr;padding:.8rem}
  .pack-layout,.raid-layout,.proof-layout{gap:.85rem}
  .pack-preview img{aspect-ratio:2/1;object-fit:contain}
  .sticker-rail,.character-rail{grid-auto-columns:82%;gap:.7rem;padding:.8rem .05rem .25rem}
  .sticker-card,.character-card,.surface-tile{border-radius:18px}
  .creator-shell{gap:.85rem}
  .creator-stage{order:-1;min-height:0}
  .creator-toolbar{padding:.65rem .65rem .8rem;position:static}
  .canvas-frame{min-height:0;padding:.35rem}
  #cultCanvas{max-height:none;width:100%}
  .creator-controls label,.raid-copy label,.proof-form label{font-size:.64rem}
  .template-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
  .template-chip{min-height:68px;padding:.65rem .62rem}
  .creator-buttons{position:sticky;bottom:.3rem;z-index:3;background:linear-gradient(180deg,rgba(7,7,9,.1),rgba(7,7,9,.85) 20%,rgba(7,7,9,.96));padding-top:.4rem}
  .generated-link{font-size:.72rem;padding:.8rem}
  .raid-card,.proof-pass{padding:1rem;border-radius:22px}
  .surface-grid{grid-template-columns:1fr 1fr;gap:.65rem}
  .mobile-dock{width:min(96vw,460px);justify-content:space-between;gap:.3rem;padding:.42rem;bottom:calc(.5rem + env(safe-area-inset-bottom))}
  .mobile-dock a{flex:1 1 0;width:auto;height:56px;padding:0 .2rem}
  .mobile-dock small{font-size:.5rem;letter-spacing:.08em}
  .toast{bottom:5.9rem}
  .site-footer{padding:1.1rem .9rem calc(6.2rem + env(safe-area-inset-bottom))}
}

@media(min-width:760px){
  .surface-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
}
@media(min-width:1080px){
  .surface-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}


/* v2.2.0 premium relics */
.relic-grid{display:grid;grid-template-columns:1fr;gap:.85rem}
.relic-card,.signal-card,.poster-preview{padding:0;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:rgba(7,7,9,.92);text-align:left;box-shadow:0 15px 38px rgba(0,0,0,.32);transition:transform .18s ease,border-color .18s ease}
.relic-card:hover,.signal-card:hover,.poster-preview:hover{transform:translateY(-3px);border-color:rgba(182,121,255,.34)}
.relic-card img,.signal-card img,.poster-preview img{width:100%;display:block;object-fit:cover}
.relic-card img{aspect-ratio:4/3}
.relic-card--wide img{aspect-ratio:16/9}.signal-card--wide img{aspect-ratio:2/1;object-fit:contain;background:#050505}
.relic-card span,.signal-card span{display:flex;flex-direction:column;padding:.75rem .85rem;font-size:.72rem;letter-spacing:.08em}
.relic-card b,.signal-card b{color:var(--purple2)}
.relic-card small,.signal-card small{margin-top:.25rem;color:var(--muted);font-size:.62rem}
.poster-layout{display:grid;gap:1rem;align-items:center}
.poster-preview img{aspect-ratio:4/5;background:#0a090b}
.signal-wall{display:grid;grid-template-columns:1fr;gap:.85rem}
.scene--poster .poster-copy p{max-width:34rem}
.scene--signals .section-heading p,.scene--relics .section-heading p{max-width:42rem}

@media(min-width:760px){
  .relic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .relic-card--wide{grid-column:span 2}
  .poster-layout{grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr)}
}
@media(min-width:1080px){
  .relic-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .relic-card--wide{grid-column:span 2}
  .signal-wall{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* v2.3.0 creator rebuild */
.template-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.template-chip{padding:0;min-height:0;display:block;overflow:hidden;background:#08080a;border-radius:18px;text-align:left}
.template-chip img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;filter:saturate(.92) contrast(1.02)}
.template-chip__meta{display:flex;flex-direction:column;gap:.18rem;padding:.65rem .72rem;position:relative;z-index:1}
.template-chip__meta b{font-size:.72rem;letter-spacing:.08em}
.template-chip__meta small{font-size:.58rem;color:var(--muted);letter-spacing:.08em}
.template-chip.is-active{border-color:rgba(182,121,255,.65);box-shadow:0 0 0 2px rgba(182,121,255,.16),0 16px 34px rgba(71,39,118,.2)}
.template-chip.is-active img{filter:saturate(1) contrast(1.06)}
.template-chip::after{display:none}
.creator-controls{gap:1rem}
.creator-stage{background:linear-gradient(180deg,rgba(12,10,14,.9),rgba(5,5,6,.88))}
.canvas-frame{background:radial-gradient(circle at 50% 40%,rgba(105,73,154,.18),rgba(0,0,0,.32) 58%,rgba(0,0,0,.6));}
.creator-toolbar{border-bottom:1px solid rgba(238,226,203,.14)}
@media(min-width:760px){.template-picker{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:759px){
  .template-picker{grid-template-columns:1fr 1fr}
  .template-chip img{aspect-ratio:5/4}
  .creator-stage{order:0}
  .creator-controls{order:1}
  .creator-toolbar{position:static}
  .canvas-frame{min-height:420px}
}


/* v2.4.0 all-device container hardening */
:root{
  --page-gutter:clamp(.75rem,3vw,2rem);
  --section-y:clamp(3.75rem,8vw,7rem);
  --header-h:72px;
  --dock-h:70px;
  --content-max:1320px;
}
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scroll-padding-top:calc(var(--header-h) + 1rem);
  overscroll-behavior-x:none;
}
body{
  min-width:280px;
  min-height:100%;
  overflow-wrap:anywhere;
  padding-left:env(safe-area-inset-left);
  padding-right:env(safe-area-inset-right);
}
main,section,article,aside,nav,form,.section-shell,.creator-shell,.pack-layout,.raid-layout,.proof-layout,.poster-layout,.brand-mosaic,.relic-grid,.surface-grid,.signal-wall{min-width:0}
button,a,input,select,textarea{touch-action:manipulation}
button,a{ -webkit-tap-highlight-color:transparent }
input,select,textarea{max-width:100%}
section[id]{scroll-margin-top:calc(var(--header-h) + .9rem)}
.section-shell{width:min(var(--content-max),calc(100% - (var(--page-gutter) * 2)))}
.scene__content{padding:var(--section-y) 0}
.scene{isolation:isolate}
.scene__media{z-index:0}
.scene__scrim{z-index:1}
.scene__content{z-index:2}
.paper-panel,.protocol-grid li,.whitelist-tracker,.pack-preview,.sticker-card,.character-card,.surface-tile,.relic-card,.signal-card,.poster-preview,.creator-stage,.creator-controls,.raid-card,.proof-pass{container-type:inline-size}
.actions>*{min-width:0}
.button{min-height:48px;white-space:normal;text-align:center;line-height:1.2}
.rail-hint{display:none;margin:.15rem 0 .2rem;color:var(--muted);font-size:.58rem;letter-spacing:.18em;text-align:right}
.sticker-rail,.character-rail{scroll-padding-inline:.15rem;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
.sticker-card,.character-card,.surface-tile,.relic-card,.signal-card,.template-chip{min-width:0}
.sticker-card span,.character-card span,.surface-tile span,.relic-card span,.signal-card span,.template-chip__meta{overflow-wrap:anywhere}

/* Header and navigation remain usable on tablets instead of forcing desktop links too early. */
.site-header{
  min-height:var(--header-h);
  height:auto;
  padding-top:max(.65rem,env(safe-area-inset-top));
  padding-left:max(1rem,env(safe-area-inset-left));
  padding-right:max(1rem,env(safe-area-inset-right));
}
.main-nav{max-height:calc(100dvh - var(--header-h) - 1rem);overflow:auto;overscroll-behavior:contain}
.main-nav a{min-height:48px;display:flex;align-items:center}

/* Creator preview is constrained by both width and viewport height on every device. */
.creator-shell{align-items:start}
.creator-stage{max-width:100%;overflow:hidden}
.canvas-frame{width:100%;max-width:100%;overflow:auto;overscroll-behavior:contain}
#cultCanvas{width:auto;max-width:100%;height:auto;object-fit:contain}
.creator-controls select,.creator-controls input,.raid-copy input,.proof-form input,.proof-form textarea{font-size:1rem}
.template-picker{min-width:0}
.template-chip{width:100%}
.creator-buttons .button{width:100%}

/* Dialogs and lightbox scale as mobile sheets and desktop modals. */
.ritual-dialog,.lightbox{
  width:min(760px,calc(100vw - (var(--page-gutter) * 2)));
  max-height:min(88dvh,900px);
  overflow:auto;
  margin:auto;
}
.lightbox img{width:auto;max-width:100%;height:auto;max-height:calc(82dvh - 5rem);object-fit:contain}
.dialog-close{min-width:44px;min-height:44px}

/* Narrow phones and folded screens */
@media (max-width:399px){
  :root{--page-gutter:.55rem;--header-h:62px;--section-y:3.35rem}
  .site-header{padding-left:max(.6rem,env(safe-area-inset-left));padding-right:max(.6rem,env(safe-area-inset-right))}
  .brand-lockup{gap:.5rem}
  .brand-lockup img{width:36px;height:36px}
  .brand-lockup strong{font-size:.84rem}
  .brand-lockup small{display:none}
  .menu-button{padding:.62rem .68rem}
  .main-nav{top:calc(var(--header-h) + .35rem);left:.55rem;right:.55rem}
  .hero-copy h1{font-size:clamp(2.45rem,18vw,3.5rem)}
  .hero-tagline{font-size:1rem;letter-spacing:.08em}
  .hero-stamps{display:grid;grid-template-columns:1fr}
  .hero-stamps span{text-align:center}
  .status-pill{font-size:.58rem;letter-spacing:.1em}
  .section-heading h2,.pack-copy h2,.raid-copy h2,.proof-form h2,.poster-copy h2{font-size:clamp(1.72rem,11vw,2.5rem)}
  .protocol-grid,.whitelist-tracker,.surface-grid,.relic-grid,.signal-wall{grid-template-columns:1fr}
  .template-picker{display:grid;grid-auto-flow:column;grid-auto-columns:78%;grid-template-columns:none;overflow:auto;scroll-snap-type:x mandatory;scroll-padding-inline:.1rem;padding-bottom:.25rem}
  .template-chip{scroll-snap-align:start}
  .template-chip img{aspect-ratio:16/10}
  .sticker-rail,.character-rail{grid-auto-columns:88%}
  .form-pair{grid-template-columns:1fr}
  .creator-toolbar{align-items:flex-start;flex-direction:column;gap:.25rem}
  .mobile-dock{width:calc(100vw - .5rem);border-radius:16px;gap:.18rem;padding:.35rem}
  .mobile-dock a{height:52px;min-width:0}
  .mobile-dock small{font-size:.46rem;letter-spacing:.05em}
  .recruit-banner{top:calc(var(--header-h) + .35rem);width:calc(100vw - 1rem);align-items:stretch;flex-direction:column}
  .recruit-banner button{width:100%}
  .ritual-dialog,.lightbox{width:calc(100vw - .6rem);max-height:calc(100dvh - .6rem);border-radius:18px}
}

/* Phones */
@media (min-width:400px) and (max-width:599px){
  :root{--page-gutter:.7rem;--header-h:66px;--section-y:3.75rem}
  .brand-lockup small{font-size:.53rem}
  .main-nav{top:calc(var(--header-h) + .35rem)}
  .surface-grid,.relic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .signal-wall{grid-template-columns:1fr}
  .template-picker{display:grid;grid-auto-flow:column;grid-auto-columns:68%;grid-template-columns:none;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:.25rem}
  .template-chip{scroll-snap-align:start}
  .sticker-rail,.character-rail{grid-auto-columns:78%}
}

/* Shared phone rules */
@media (max-width:599px){
  .rail-hint{display:block}
  .scene__content{padding-left:0;padding-right:0}
  .scene--hero{min-height:calc(100svh - var(--header-h))}
  @supports(height:100dvh){.scene--hero{min-height:calc(100dvh - var(--header-h))}}
  .scene--hero .scene__content{padding-bottom:calc(var(--dock-h) + 2rem + env(safe-area-inset-bottom))}
  .scene__media img{transform:none}
  .scene__scrim,.scene__scrim--hero,.scene__scrim--left,.scene__scrim--right{
    background:linear-gradient(180deg,rgba(5,5,5,.28),rgba(5,5,5,.48) 42%,rgba(5,5,5,.92) 78%,rgba(5,5,5,.98));
  }
  .scene__scrim--deep{background:linear-gradient(180deg,rgba(5,5,5,.48),rgba(5,5,5,.9))}
  .paper-panel{backdrop-filter:blur(12px)}
  .actions{display:grid;grid-template-columns:1fr}
  .actions .button{width:100%}
  .pack-layout,.raid-layout,.proof-layout,.poster-layout{grid-template-columns:1fr}
  .pack-preview{order:-1}
  .pack-layout--reverse .pack-preview{order:-1}
  .pack-layout--reverse .pack-copy{order:0}
  .pack-preview img{aspect-ratio:2/1;object-fit:contain}
  .creator-stage{position:relative;top:auto;order:0;min-height:0}
  .creator-controls{order:1}
  .canvas-frame{min-height:0;max-height:none;padding:.25rem}
  #cultCanvas{width:100%;max-height:none}
  .creator-buttons{position:static;background:none;padding-top:0}
  .raid-card,.proof-pass{order:-1}
  .raid-card img,.proof-pass img{width:min(42vw,170px)}
  .poster-preview{order:-1}
  .poster-preview img{aspect-ratio:auto;max-height:72dvh;object-fit:contain}
  .site-footer{padding-bottom:calc(var(--dock-h) + 1.5rem + env(safe-area-inset-bottom))}
  .mobile-dock{bottom:max(.45rem,env(safe-area-inset-bottom))}
}

/* Large phones and small tablets */
@media (min-width:600px) and (max-width:979px){
  :root{--page-gutter:1.15rem;--header-h:70px;--section-y:4.75rem}
  .menu-button{display:block}
  .main-nav{position:fixed;top:calc(var(--header-h) + .5rem);left:auto;right:1rem;width:min(310px,calc(100vw - 2rem));display:none!important;flex-direction:column;border:1px solid var(--line);background:rgba(7,7,9,.97);box-shadow:var(--shadow)}
  .main-nav.open{display:flex!important}
  .main-nav a{border-top:1px solid var(--line);padding:1rem}
  .section-heading--split{grid-template-columns:1fr;align-items:start}
  .protocol-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .whitelist-tracker{grid-template-columns:repeat(3,minmax(0,1fr))}
  .whitelist-tracker output{grid-column:1/-1}
  .pack-layout,.raid-layout,.proof-layout,.poster-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .creator-shell{grid-template-columns:1fr}
  .creator-stage{position:relative;top:auto;order:0;max-width:min(100%,780px);margin-inline:auto}
  .creator-controls{order:1}
  .template-picker{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sticker-rail{grid-auto-columns:42%}
  .character-rail{grid-auto-columns:42%}
  .surface-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .relic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .signal-wall{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mobile-dock{display:flex}
  .site-footer{padding-bottom:calc(var(--dock-h) + 1.4rem + env(safe-area-inset-bottom))}
}

/* Desktop navigation only when it actually fits. */
@media (min-width:980px){
  .menu-button{display:none}
  .main-nav{position:static;display:flex!important;flex-direction:row;width:auto;max-height:none;border:0;background:none;box-shadow:none;overflow:visible}
  .main-nav a{border:0;min-height:44px;padding:.5rem .55rem;font-size:.7rem}
  .mobile-dock{display:none}
  .creator-stage{position:sticky;top:calc(var(--header-h) + 1rem)}
  .site-footer{padding-bottom:1.3rem}
}

/* Standard desktop */
@media (min-width:980px) and (max-width:1279px){
  :root{--page-gutter:1.5rem;--section-y:5.75rem}
  .creator-shell{grid-template-columns:minmax(310px,.78fr) minmax(0,1.22fr)}
  .template-picker{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sticker-rail{grid-auto-columns:24%}
  .character-rail{grid-auto-columns:27%}
}

/* Wide desktop */
@media (min-width:1280px){
  :root{--page-gutter:2rem;--section-y:7rem}
  .main-nav a{padding:.5rem .68rem;font-size:.74rem}
  .creator-shell{grid-template-columns:minmax(360px,.7fr) minmax(0,1.3fr)}
  .template-picker{grid-template-columns:repeat(3,minmax(0,1fr))}
  .canvas-frame{min-height:680px}
}

/* Ultrawide monitors keep content readable instead of stretching. */
@media (min-width:1800px){
  :root{--content-max:1480px}
  .scene__media img{object-position:var(--desktop-pos,center)}
  .hero-copy{max-width:50rem}
  .creator-shell{grid-template-columns:minmax(390px,.64fr) minmax(0,1.36fr)}
}

/* Short landscape screens */
@media (orientation:landscape) and (max-height:620px){
  :root{--section-y:2.75rem;--header-h:58px}
  .site-header{min-height:var(--header-h);padding-top:.4rem;padding-bottom:.4rem}
  .brand-lockup img{width:38px;height:38px}
  .main-nav{top:calc(var(--header-h) + .35rem)}
  .scene--hero{min-height:auto}
  .scene--hero .scene__content{padding-top:3rem;padding-bottom:4rem}
  .hero-copy h1{font-size:clamp(2.8rem,9vw,4.5rem)}
  .mobile-dock{height:58px}
  .mobile-dock a{height:48px}
  .canvas-frame{max-height:72dvh}
  #cultCanvas{max-height:68dvh}
}

/* Touch devices should not depend on hover states. */
@media (hover:none) and (pointer:coarse){
  .button:hover,.sticker-card:hover,.character-card:hover,.pack-preview:hover,.surface-tile:hover,.relic-card:hover,.signal-card:hover,.poster-preview:hover{transform:none}
  .button,.menu-button,.main-nav a,.template-chip,.sticker-card,.character-card,.surface-tile,.relic-card,.signal-card{min-height:44px}
}

@media (prefers-contrast:more){
  :root{--line:rgba(238,226,203,.34);--muted:#d1c2ab}
  .paper-panel,.protocol-grid li,.whitelist-tracker,.creator-stage,.creator-controls{background:rgba(5,5,5,.94)}
}


/* v2.5.0 order refinement */
.order-grid{display:grid;grid-template-columns:1fr;gap:.8rem}
.order-card{position:relative;min-height:220px;padding:1.15rem;border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,rgba(7,7,9,.78),rgba(7,7,9,.9));backdrop-filter:blur(14px);box-shadow:0 18px 50px rgba(0,0,0,.28);overflow:hidden}
.order-card::after{content:"";position:absolute;right:-12%;bottom:-32%;width:58%;aspect-ratio:1;border:1px solid rgba(182,121,255,.14);border-radius:50%;box-shadow:0 0 0 22px rgba(182,121,255,.035),0 0 0 48px rgba(182,121,255,.018)}
.order-card>span{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid rgba(238,226,203,.22);border-radius:50%;font:700 .72rem ui-monospace,monospace;color:var(--purple2)}
.order-card h3{margin:2.3rem 0 .5rem;font-size:1.25rem;letter-spacing:.08em}
.order-card p{margin:0;max-width:32rem;color:var(--muted)}

/* Less UI around the Genesis poster. */
.scene--poster{background:#050505}
.scene__scrim--poster{background:linear-gradient(180deg,rgba(5,5,5,.58),rgba(5,5,5,.92))}
.genesis-poster{width:min(100%,760px);margin:0 auto;display:grid;gap:.7rem;justify-items:center}
.genesis-poster img{width:auto;max-width:100%;max-height:84dvh;object-fit:contain;box-shadow:0 34px 100px rgba(0,0,0,.58)}
.genesis-poster figcaption{font-size:.62rem;letter-spacing:.22em;color:rgba(238,226,203,.5)}

/* Creator selector becomes an editorial format rail, not a set of game cards. */
.template-chip{background:#08070a;border-color:rgba(238,226,203,.12);border-radius:16px;padding:.45rem;box-shadow:none}
.template-chip::after{display:none}
.template-chip img{border-radius:11px;filter:saturate(.82) contrast(1.03)}
.template-chip__meta{padding:.55rem .35rem .25rem}
.template-chip.is-active{background:#0d0a12;border-color:rgba(182,121,255,.5);box-shadow:0 0 0 1px rgba(182,121,255,.12) inset}
.template-chip b{font-size:.66rem;letter-spacing:.12em}
.template-chip small{font-size:.55rem;opacity:.72}
.creator-stage,.creator-controls{border-color:rgba(238,226,203,.12)}
.creator-toolbar span{letter-spacing:.16em}

/* Reduce noisy tags in the hero. */
.hero-stamps span{border-style:solid;background:rgba(5,5,5,.3)}

@media(min-width:600px){.order-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:599px){
  .order-card{min-height:190px}
  .order-card h3{margin-top:1.65rem}
  .genesis-poster img{max-height:76dvh}
}


/* v2.5.1 single-line hero lockup */
.hero-copy{min-width:0;overflow:visible}
.hero-copy h1{
  display:block;
  width:100%;
  max-width:100%;
  margin:.72rem 0 .62rem;
  white-space:nowrap;
  word-break:normal;
  overflow-wrap:normal;
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold","Arial Narrow",sans-serif;
  font-size:clamp(1.95rem,11.5vw,5.7rem);
  line-height:.84;
  letter-spacing:-.012em;
}
@media (max-width:399px){
  .hero-copy h1{font-size:clamp(1.9rem,11.25vw,2.8rem)}
}
@media (orientation:landscape) and (max-height:620px){
  .hero-copy h1{font-size:clamp(2.25rem,7.5vw,4.4rem)}
}

/* v2.6.1 native-asset creator and interaction hardening */
html.dialog-open{overflow:hidden}
.creator-media-grid,.creator-range-grid{display:grid;grid-template-columns:1fr;gap:.75rem;min-width:0}
.creator-media-grid label,.creator-range-grid label{min-width:0}
.creator-controls input[type="file"]{padding:.68rem;background:rgba(0,0,0,.6)}
.creator-controls input[type="file"]::file-selector-button{margin-right:.7rem;padding:.62rem .78rem;border:1px solid rgba(238,226,203,.18);border-radius:10px;background:#17131b;color:var(--cream);font:800 .68rem/1 ui-monospace,monospace;letter-spacing:.08em;cursor:pointer}
.creator-stage{border-radius:18px;background:rgba(5,5,6,.94);box-shadow:0 34px 90px rgba(0,0,0,.58)}
.creator-toolbar{padding:.3rem .3rem .85rem}
.canvas-frame{background:#030303;border:1px solid rgba(238,226,203,.08);border-radius:13px;overflow:hidden}
#cultCanvas{border-radius:8px;transition:opacity .18s ease,filter .18s ease}
#cultCanvas[data-loading="true"]{opacity:.58;filter:saturate(.72)}
.creator-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}
.creator-buttons .button{min-width:0;padding-inline:.72rem}
.creator-note{padding-top:.8rem;border-top:1px solid rgba(238,226,203,.1)}
.template-chip{position:relative}
.template-chip img{aspect-ratio:16/10;object-position:center}
.template-chip__meta{min-height:58px;justify-content:center}
.template-chip.is-active::before{content:"SELECTED";position:absolute;top:.72rem;right:.72rem;z-index:2;padding:.34rem .45rem;border-radius:6px;background:#efe3ce;color:#171115;font:900 .48rem/1 ui-monospace,monospace;letter-spacing:.12em}
.surface-tile,.relic-card,.signal-card,.poster-preview{border-radius:14px;background:#050505}
.surface-tile span,.relic-card span,.signal-card span{background:#070708;border-top:1px solid rgba(238,226,203,.1)}
.lightbox{position:relative;width:min(94vw,1100px);max-width:min(94vw,1100px);padding:1rem;background:#050505}
.lightbox img{max-width:100%;max-height:82vh;object-fit:contain;border-radius:8px}
.lightbox p{text-align:center;font-size:.72rem;letter-spacing:.12em}
.dialog-close{background:#050505}

@media (max-width:599px){
  .scene--creator .scene__content{padding-top:3.2rem}
  .creator-shell{display:flex;flex-direction:column}
  .creator-stage{order:-1;min-height:0;padding:.72rem}
  .canvas-frame{min-height:0;padding:.28rem;max-height:72svh}
  #cultCanvas{max-height:68svh;width:auto;max-width:100%}
  .creator-controls{padding:.82rem}
  .template-picker{display:grid;grid-auto-flow:column;grid-auto-columns:min(70vw,248px);grid-template-columns:none;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;padding-bottom:.4rem}
  .template-chip{scroll-snap-align:start}
  .creator-media-grid,.creator-range-grid{grid-template-columns:1fr 1fr}
  .creator-media-grid{grid-template-columns:1fr}
  .creator-buttons{grid-template-columns:1fr 1fr}
  .creator-buttons .button{font-size:.67rem;letter-spacing:.055em;min-height:48px}
}

@media (min-width:600px){
  .creator-media-grid,.creator-range-grid{grid-template-columns:1fr 1fr}
}

@media (min-width:980px){
  .creator-shell{grid-template-columns:minmax(360px,.8fr) minmax(0,1.2fr);gap:1.3rem}
  .creator-stage{position:sticky;top:88px;min-height:0}
  .canvas-frame{min-height:620px;max-height:calc(100svh - 190px)}
  #cultCanvas{max-height:calc(100svh - 225px)}
  .creator-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* v2.6.1 phone creator width correction */
@media (max-width:599px){
  .scene--creator .creator-shell{align-items:stretch;width:100%}
  .scene--creator .creator-stage,
  .scene--creator .creator-controls{width:100%;max-width:100%;align-self:stretch}
}

/* v2.6.1 stacked creator sizing for phones and tablets */
@media (max-width:979px){
  .scene--creator .creator-shell{width:100%;justify-items:stretch}
  .scene--creator .creator-stage,
  .scene--creator .creator-controls{width:100%;max-width:100%;justify-self:stretch}
}
