/* World Composition Pack v1 — original genre-driven structures, not recolors.
   No third-party brand logos or imagery. Three-level schema: theme -> world/faction -> layout.
*/
.genre-theme-entry{display:flex;flex-direction:column;min-width:0;border-radius:20px}
.genre-theme-entry>.template-choice{width:100%;flex:1}
.genre-theme-entry.is-selected>.template-choice{border-radius:20px 20px 8px 8px}
.genre-faction-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;border:1px solid #60755e;background:#111e19;padding:14px;border-radius:0 0 14px 14px}
.genre-faction-options[hidden]{display:none!important}
.genre-faction-heading{grid-column:1/-1;font-size:12px;color:#dff5e4;margin-bottom:4px}
.genre-faction-choice{min-width:0;min-height:60px;display:grid;grid-template-columns:12px 1fr;gap:0 7px;align-content:center;text-align:left;border:1px solid #4b6050;border-radius:8px;padding:8px 9px;background:#1a2820;color:#f5fff8}
.genre-faction-choice:focus-visible{outline:3px solid #b3ffba;outline-offset:2px}
.genre-faction-choice:hover{background:#2a4031}
.genre-faction-choice.selected{border-color:#b1f4b3;box-shadow:inset 0 0 0 1px #b1f4b355;background:#274333}
.genre-faction-dot{height:11px;width:11px;border-radius:100%;grid-row:1/3;margin-top:4px;box-shadow:0 0 12px currentColor}
.genre-faction-choice span{font:750 11px/1.25 system-ui,sans-serif;overflow-wrap:anywhere}
.genre-faction-choice small{color:#c6dccb;font:500 10px/1.4 system-ui,sans-serif;overflow-wrap:anywhere}
.world-banner{display:inline-flex;max-width:100%;align-items:center;gap:8px;padding:5px 10px;margin-bottom:13px;border:1px solid var(--world-accent,#99ccaa);border-radius:3px;color:var(--world-accent,#a1dab5);font:800 11px/1.4 system-ui,sans-serif;letter-spacing:.05em;overflow-wrap:anywhere}
.world-banner[hidden]{display:none!important}
.world-hero-icon{position:absolute;inset:0;display:grid;place-items:center;font-family:Georgia,serif;font-size:clamp(70px,13vw,145px);color:var(--world-accent,#b7dea9);filter:drop-shadow(0 0 12px currentColor);opacity:.68;pointer-events:none;z-index:3}
.storefront[data-world] .hero-art,.storefront[data-world] .storefront-hero{position:relative}
.storefront[data-world] .hero-art{isolation:isolate}
body[data-world] .hero-graphic{isolation:isolate}
body[data-world] .world-hero-icon{font-size:clamp(100px,16vw,220px);z-index:5}
.storefront[data-world] .storefront-hero h3{max-width:none}
body[data-world] .hero-copy{position:relative;z-index:2}
body[data-world] .hero-graphic{position:relative}

/* 1 Terminal / irradiated settlement: split panels, rusted metal, ventilation,
     utility side-console and strong warning accents. */
.storefront[data-world="terminal"] .storefront-header,body[data-world="terminal"] .store-header{border-bottom:7px solid #b6a05a;background:repeating-linear-gradient(110deg,#28382d 0 10px,#374435 11px 13px)}
.storefront[data-world="terminal"] .storefront-hero,body[data-world="terminal"] .hero{grid-template-columns:1fr .55fr;gap:20px;border-top:10px solid #6a563e;border-bottom:9px solid #78593e;background:repeating-linear-gradient(0deg,transparent 0 4px,#d8ffa510 5px),radial-gradient(ellipse at 90% 80%,#6e502f66,transparent 54%),#0e241b}
.storefront[data-world="terminal"] .storefront-hero>div:first-child,body[data-world="terminal"] .hero-copy{border-left:5px solid #9ab968;padding-left:22px}
.storefront[data-world="terminal"] .hero-art,body[data-world="terminal"] .hero-graphic{background:repeating-linear-gradient(90deg,#6c5a43 0 16px,#3f3e31 17px 23px);border:12px ridge #8d7150;border-radius:25% 25% 6px 6px;box-shadow:inset 0 0 30px #000c,0 16px 40px #0008}
.storefront[data-world="terminal"] .art-shape,body[data-world="terminal"] .hero-object{background:radial-gradient(circle,#13271d,#050b08);clip-path:none;border:3px solid #a8d78a;border-radius:100%}
.storefront[data-world="terminal"] .world-hero-icon,body[data-world="terminal"] .world-hero-icon{text-shadow:0 0 30px #bcff92;color:#bfe58a}
.storefront[data-world="terminal"] .storefront-products,body[data-world="terminal"] .collection{background:repeating-linear-gradient(90deg,#0000 0 16px,#ffbc5012 17px 18px)}
.storefront[data-world="terminal"] .product-picture,body[data-world="terminal"] .product-art{border:4px double #ae975d;border-radius:1px;box-shadow:inset 0 0 25px #0006}
body[data-world="terminal"] .product-list{grid-template-columns:repeat(2,minmax(0,1fr))}
body[data-world="terminal"] .product-card:first-child{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;gap:20px}

/* 2 Block maker: deliberately asymmetrical overlapping studded blocks.
    Existing editor still uses accessible buttons for modifying products. */
.storefront[data-world="builder"] .storefront-header,body[data-world="builder"] .store-header{border-bottom:12px solid #d4aa36;border-radius:0;background:#29517b;color:white}
.storefront[data-world="builder"] .storefront-hero,body[data-world="builder"] .hero{grid-template-columns:.85fr 1.15fr;background:radial-gradient(circle at 80% 20%,#fffca8,transparent 35%),linear-gradient(125deg,#c7f1fd,#b2e7d0);border-bottom:14px solid #f0cc59}
.storefront[data-world="builder"] .hero-art,body[data-world="builder"] .hero-graphic{height:180px;border:0;clip-path:none;border-radius:5px;box-shadow:20px 24px 0 #edc74a;background:radial-gradient(circle at 20% 23%,#ffcfb5 0 10%,transparent 10.5%),radial-gradient(circle at 65% 23%,#ffcfb5 0 10%,transparent 10.5%),radial-gradient(circle at 20% 72%,#ffcfb5 0 10%,transparent 10.5%),radial-gradient(circle at 65% 72%,#ffcfb5 0 10%,transparent 10.5%),#e95843}
.storefront[data-world="builder"] .art-shape,body[data-world="builder"] .hero-object{display:none}
.storefront[data-world="builder"] .world-hero-icon,body[data-world="builder"] .world-hero-icon{color:#1b4775;opacity:.5}
.storefront[data-world="builder"] .preview-grid,body[data-world="builder"] .product-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}
.storefront[data-world="builder"] .preview-product:first-child,body[data-world="builder"] .product-card:first-child{grid-column:span 2}
.storefront[data-world="builder"] .preview-product,body[data-world="builder"] .product-card{position:relative;padding:10px;background:#fff3c7;border:3px solid #4f89bb;border-radius:6px;box-shadow:6px 8px 0 #8bbfdf}
.storefront[data-world="builder"] .preview-product:nth-child(3n+2),body[data-world="builder"] .product-card:nth-child(3n+2){background:#fce1d5;border-color:#c9634d}
.storefront[data-world="builder"] .preview-product:before,body[data-world="builder"] .product-card:before{content:"";position:absolute;top:-11px;left:17%;width:26%;height:10px;border:3px solid #416d91;border-bottom:0;border-radius:8px 8px 0 0;background:#81b3e4}
body[data-world="builder"] .story{grid-template-columns:1fr 1fr;box-shadow:12px 13px 0 #f0c955}

/* 3 Kingdom & journey: prominent epic narrative hero, offset first feature,
   oversized collection story, shield / map highlights. */
.storefront[data-world="journey"] .storefront-hero,body[data-world="journey"] .hero{grid-template-columns:1fr;justify-items:center;text-align:center;min-height:480px;padding:75px 8%;background:radial-gradient(ellipse at 52% 125%,#afc781b9,transparent 70%),linear-gradient(140deg,#213327,#476341)}
.storefront[data-world="journey"] .hero-art,body[data-world="journey"] .hero-graphic{position:absolute;right:4%;bottom:3%;width:28%;min-height:120px;opacity:.28}
.storefront[data-world="journey"] .storefront-hero p,body[data-world="journey"] .hero p{margin-inline:auto}
body[data-world="journey"] .product-list{grid-template-columns:1.2fr .8fr;gap:24px}
body[data-world="journey"] .product-card:first-child{grid-row:span 2}
body[data-world="journey"] .product-card:first-child .product-art{min-height:520px}
body[data-world="journey"] .story{grid-template-columns:1.2fr .8fr}
.storefront[data-world="journey"] .preview-grid{grid-template-columns:1.2fr .8fr;gap:12px}
.storefront[data-world="journey"] .preview-product:first-child{grid-row:span 2}
.storefront[data-world="journey"] .preview-product:first-child .product-picture{height:100%}

/* 4 Zen — asymmetric gallery-style art, lots of breathing room, soft shoji lines. */
.storefront[data-world="zen"] .storefront-header,body[data-world="zen"] .store-header{border-bottom:1px solid #cba4b1;background:#fff7f7}
.storefront[data-world="zen"] .storefront-hero,body[data-world="zen"] .hero{grid-template-columns:.65fr 1.35fr;gap:45px;align-items:center;background:repeating-linear-gradient(90deg,#0000 0 70px,#b08f9922 71px 72px),linear-gradient(128deg,#fff7f5,#f4d5e0)}
.storefront[data-world="zen"] .hero-art,body[data-world="zen"] .hero-graphic{order:-1;min-height:230px;width:100%;max-width:400px;background:radial-gradient(circle at 74% 25%,#f3b6cd 0 8%,transparent 9%),linear-gradient(125deg,#f8e7df,#cddad8);border:14px solid #fffdfb;outline:1px solid #caa4a8;clip-path:none;box-shadow:15px 20px 30px #b88b9f2d}
.storefront[data-world="zen"] .art-shape,body[data-world="zen"] .hero-object{background:linear-gradient(140deg,#d8d4e0,#fef9f8 49%,#a2adbb 52%);clip-path:polygon(0 100%,50% 5%,100% 100%);opacity:.6}
.storefront[data-world="zen"] .world-hero-icon,body[data-world="zen"] .world-hero-icon{color:#c77293;opacity:.65}
body[data-world="zen"] .product-list{grid-template-columns:1fr 1fr 1fr;gap:35px}
body[data-world="zen"] .product-art{border-radius:32% 2px 32% 2px}
body[data-world="zen"] .story{grid-template-columns:.8fr 1.2fr;min-height:420px;background:#fdf7f4}

/* 5 Monster-hunter chronicle: book-spread hero, stamped paper cards,
     large editorial type, double-frame art and unconventional masonry. */
.storefront[data-world="folio"] .storefront-hero,body[data-world="folio"] .hero{grid-template-columns:1.25fr .75fr;gap:35px;background:repeating-linear-gradient(30deg,transparent 0 12px,#44311e09 13px),linear-gradient(115deg,#54493a,#222621 66%);padding:60px 7%;border:10px ridge #65573f}
.storefront[data-world="folio"] .storefront-hero>div:first-child,body[data-world="folio"] .hero-copy{border-left:3px double #cfb78a;padding-left:19px}
.storefront[data-world="folio"] .hero-art,body[data-world="folio"] .hero-graphic{border:14px solid #9f8968;outline:3px solid #514230;background:repeating-linear-gradient(12deg,#cbb991,#f0e4c8 12px,#cab184 13px);box-shadow:14px 15px 25px #0007;clip-path:polygon(1% 1%,99% 0,100% 96%,4% 100%)}
.storefront[data-world="folio"] .art-shape,body[data-world="folio"] .hero-object{background:#4b4a3c;border-radius:0;clip-path:polygon(50% 0,95% 18%,82% 88%,50% 100%,18% 88%,5% 18%)}
.storefront[data-world="folio"] .world-hero-icon,body[data-world="folio"] .world-hero-icon{color:#e2cf9d}
body[data-world="folio"] .product-list{grid-template-columns:1fr 1fr;gap:34px}
body[data-world="folio"] .product-card{padding:22px;background:linear-gradient(135deg,#d2be95,#eee0bc 58%,#c9aa7a);color:#372d24;border:4px double #826a4d;box-shadow:inset 0 0 30px #55381b3b,11px 13px 25px #0003}
body[data-world="folio"] .product-card:first-child{grid-row:span 2}
body[data-world="folio"] .product-card:first-child .product-art{min-height:480px}

/* 6 Galaxy: title AND navigation underlined by luminous original energy blades
    (not actual franchise props). Different spacing/layout than terminal/zen. */
.storefront[data-world="galaxy"] .storefront-header,body[data-world="galaxy"] .store-header{background:#091629;border-bottom:1px solid #325879}
.storefront[data-world="galaxy"] .storefront-hero,body[data-world="galaxy"] .hero{grid-template-columns:.9fr 1.1fr;min-height:445px;background:radial-gradient(ellipse at 78% 15%,#4b93be77,transparent 43%),repeating-linear-gradient(90deg,#ffffff05 0 1px,transparent 2px 46px),#0b1c35}
.storefront[data-world="galaxy"] .storefront-hero h3,body[data-world="galaxy"] .hero h1{font-family:system-ui,sans-serif;text-transform:uppercase;font-weight:950;letter-spacing:-.085em}
:is(.storefront[data-world="galaxy"] .storefront-hero h3,body[data-world="galaxy"] .hero h1,.storefront[data-world="galaxy"] .storefront-header strong,body[data-world="galaxy"] .store-name,body[data-world="galaxy"] .store-header nav a){position:relative}
:is(.storefront[data-world="galaxy"] .storefront-hero h3,body[data-world="galaxy"] .hero h1,.storefront[data-world="galaxy"] .storefront-header strong,body[data-world="galaxy"] .store-name,body[data-world="galaxy"] .store-header nav a)::after{content:"";display:block;position:relative;width:100%;max-width:460px;height:5px;margin-top:8px;border-radius:99px;background:linear-gradient(90deg,#20262b 0 8%,#849196 9% 12%,var(--world-accent,#70c4ff) 13% 98%,transparent 100%);box-shadow:0 0 5px var(--world-accent,#70c4ff),0 0 16px var(--world-accent,#70c4ff),0 0 25px var(--world-accent,#70c4ff);transform-origin:left center;animation:world-blade-ignite .8s ease-out both}
body[data-world="galaxy"] .store-header nav a::after{height:2px;margin-top:5px}
.storefront[data-world="galaxy"] .storefront-header strong::after,body[data-world="galaxy"] .store-name::after{height:3px}
.storefront[data-world="galaxy"] .hero-art,body[data-world="galaxy"] .hero-graphic{background:repeating-radial-gradient(circle at 50% 50%,transparent 0 28px,#80cce922 29px 30px),linear-gradient(145deg,#123455,#040e20);border-radius:50%;box-shadow:inset 0 0 55px #80cbea2c}
.storefront[data-world="galaxy"] .world-hero-icon,body[data-world="galaxy"] .world-hero-icon{color:var(--world-accent,#7ee0ff);opacity:.85}

/* 7 Neon: vivid pulse is limited to strokes, not the body text. */
.storefront[data-world="neon"] .storefront-hero,body[data-world="neon"] .hero{grid-template-columns:.92fr 1.08fr;min-height:440px;background:repeating-linear-gradient(0deg,transparent 0 30px,#d28bf20d 31px),radial-gradient(ellipse at 77% 20%,#c332d666,transparent 60%),#150e29}
.storefront[data-world="neon"] .storefront-hero:after,body[data-world="neon"] .hero:after{content:"";position:absolute;inset:10px;border:2px solid var(--world-accent,#f977eb);box-shadow:inset 0 0 22px var(--world-accent,#f977eb),0 0 17px var(--world-accent,#f977eb);pointer-events:none;animation:world-neon-breathe 3.6s ease-in-out infinite}
.storefront[data-world="neon"] .storefront-hero h3,body[data-world="neon"] .hero h1{color:#fff1fa;text-shadow:0 0 9px var(--world-accent,#f977eb),0 0 22px var(--world-accent,#f977eb)}
.storefront[data-world="neon"] .hero-art,body[data-world="neon"] .hero-graphic{clip-path:polygon(20% 0,100% 0,80% 100%,0 100%);background:linear-gradient(100deg,#4f1c72,#131b53);box-shadow:inset 0 0 55px #c671f8cc}
.storefront[data-world="neon"] .preview-product,body[data-world="neon"] .product-card{border-bottom:3px solid var(--world-accent,#ff62ce);padding-bottom:10px}
body[data-world="neon"] .product-list{grid-template-columns:1.2fr .8fr;gap:25px}
body[data-world="neon"] .product-card:first-child{grid-row:span 2}
body[data-world="neon"] .product-card:first-child .product-art{min-height:480px}

/* 8 Shared historic realms: variations use strong compositions and material identity. */
.storefront[data-world="temple"] .storefront-hero,body[data-world="temple"] .hero{grid-template-columns:.7fr 1.3fr;gap:35px;background:radial-gradient(ellipse at 88% 130%,#a7ddb4a5,transparent 75%),linear-gradient(135deg,#103b30,#2f785e)}
.storefront[data-world="temple"] .hero-art,body[data-world="temple"] .hero-graphic{order:-1;clip-path:polygon(0 100%,24% 62%,35% 75%,58% 9%,80% 66%,100% 100%);background:#a8c5a2}
.storefront[data-world="moon-forest"] .storefront-hero,body[data-world="moon-forest"] .hero{grid-template-columns:1fr;justify-items:center;text-align:center;min-height:435px;background:radial-gradient(circle at 70% 23%,#d9cbf19b 0 10%,transparent 12%),linear-gradient(120deg,#1a1a42,#4c3c6e)}
.storefront[data-world="moon-forest"] .hero-art,body[data-world="moon-forest"] .hero-graphic{position:absolute;right:0;bottom:0;opacity:.25;max-width:30%}
.storefront[data-world="gothic"] .storefront-hero,body[data-world="gothic"] .hero{grid-template-columns:1fr .65fr;gap:25px;background:linear-gradient(130deg,#131824,#46525d);border-top:8px double #917d67}
.storefront[data-world="gothic"] .hero-art,body[data-world="gothic"] .hero-graphic{clip-path:polygon(0 100%,0 23%,20% 0,42% 23%,42% 100%,65% 100%,65% 17%,82% 0,100% 17%,100% 100%);background:#87949c}
.storefront[data-world="academy"] .storefront-hero,body[data-world="academy"] .hero{grid-template-columns:.75fr 1.25fr;background:radial-gradient(circle at 76% 19%,#dab98b80,transparent 46%),linear-gradient(130deg,#211830,#49375e)}
.storefront[data-world="dynasty"] .storefront-hero,body[data-world="dynasty"] .hero{grid-template-columns:1fr;min-height:400px;text-align:center;justify-items:center;background:radial-gradient(ellipse at 50% 100%,#819ab971,transparent 65%),#162231}
.storefront[data-world="dynasty"] .hero-art,body[data-world="dynasty"] .hero-graphic{position:absolute;right:0;top:10%;max-width:27%;opacity:.28}
body[data-world="dynasty"] .product-list,body[data-world="academy"] .product-list{grid-template-columns:repeat(2,minmax(0,1fr))}
body[data-world="temple"] .product-list{grid-template-columns:1fr 1fr 1fr;gap:32px}
body[data-world="temple"] .story{grid-template-columns:.8fr 1.2fr}

/* Faction accents override selected premium details while keeping legible body copy. */
.storefront[data-world] .world-banner,body[data-world] .world-banner{border-color:var(--world-accent)}
.storefront[data-world="builder"] .world-banner,body[data-world="builder"] .world-banner{background:#2d5380;color:#fff;border:3px solid var(--world-accent);border-radius:7px}
.storefront[data-world="zen"] .world-banner,body[data-world="zen"] .world-banner{background:#fff8f6;color:#6d3f59;border:1px solid #cc94af}
.storefront[data-world="folio"] .world-banner,body[data-world="folio"] .world-banner{background:#3d382e;color:#f5ddb3;border:2px double var(--world-accent)}
/* Rather than opaque load blocking UI, use short nonblocking reveals only on the world hero. */
.storefront[data-world]:not([data-world="classic"]) .storefront-hero,body[data-world]:not([data-world="classic"]) .hero{animation:world-reveal .5s ease-out both}
@keyframes world-reveal{from{opacity:.58;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes world-neon-breathe{0%,100%{opacity:.47;filter:brightness(.8)}50%{opacity:1;filter:brightness(1.4)}}
@keyframes world-blade-ignite{from{transform:scaleX(.04);opacity:.55}to{transform:scaleX(1);opacity:1}}

/* Layouts must work in LuckyShop mini-preview and the independently routed full-screen page. */
.preview-panel.is-mobile .storefront[data-world] .storefront-hero{grid-template-columns:1fr;gap:14px;min-height:0}
.preview-panel.is-mobile .storefront[data-world] .hero-art{position:relative;order:0;width:100%;max-width:100%;transform:none;min-height:95px;height:110px}
.preview-panel.is-mobile .storefront[data-world] .preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.preview-panel.is-mobile .storefront[data-world] .preview-product{grid-column:auto;grid-row:auto;padding:5px}
.preview-panel.is-mobile .storefront[data-world] .preview-product .product-picture{height:95px}
.preview-panel.is-mobile .storefront[data-world="journey"] .storefront-hero,.preview-panel.is-mobile .storefront[data-world="dynasty"] .storefront-hero{padding:32px 5%}
@media(max-width:900px){
body[data-world] .hero{grid-template-columns:1fr 1fr;gap:22px;min-height:0;padding:48px 5%}
body[data-world] .product-list{gap:15px}
body[data-world] .hero-graphic{min-height:180px}
}
@media(max-width:650px){
.genre-faction-options{grid-template-columns:1fr}
body[data-world] .hero{grid-template-columns:1fr!important;min-height:0;padding:50px 6% 22px}
body[data-world] .hero-graphic{position:relative!important;order:0!important;max-width:none!important;width:100%!important;min-height:170px!important;opacity:.8!important}
body[data-world] .hero-copy{padding-left:0!important}
body[data-world] .product-list{grid-template-columns:1fr 1fr!important;gap:13px}
body[data-world] .product-card{grid-column:auto!important;grid-row:auto!important;display:block!important;padding:10px}
body[data-world] .product-card .product-art{min-height:0!important;height:180px}
body[data-world] .story{grid-template-columns:1fr!important}
body[data-world="neon"] .hero:after{inset:6px}
.storefront[data-world] .storefront-hero{grid-template-columns:1fr;gap:12px;padding:24px 5%}
.storefront[data-world] .hero-art{position:relative!important;order:0!important;max-width:none!important;width:100%!important;height:125px;min-height:110px!important;opacity:.8!important}
.storefront[data-world] .preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.storefront[data-world] .preview-product{grid-column:auto!important;grid-row:auto!important}
.storefront[data-world] .preview-product .product-picture{height:105px}
}
@media(prefers-reduced-motion:reduce){
body[data-world] .hero,.storefront[data-world] .storefront-hero,
:is(.storefront[data-world="galaxy"] .storefront-hero h3,body[data-world="galaxy"] .hero h1,.storefront[data-world="galaxy"] .storefront-header strong,body[data-world="galaxy"] .store-name,body[data-world="galaxy"] .store-header nav a)::after,
.storefront[data-world="neon"] .storefront-hero:after,body[data-world="neon"] .hero:after{animation:none!important;transition:none!important;transform:none!important}
}

/* Original Scrap Scout mascot: a hooded, visored robot with a raised glove,
   emphatically not an adaptation of any franchise character. */
.storefront[data-world="terminal"] .hero-art::after,body[data-world="terminal"] .hero-graphic::after{content:"";position:absolute;inset:-8%;background:url("/luckyshop/assets/scrap-scout.svg") center/contain no-repeat;z-index:4;filter:drop-shadow(0 10px 13px #080e0899);pointer-events:none}
.storefront[data-world="terminal"] .world-hero-icon,body[data-world="terminal"] .world-hero-icon{inset:0 6px auto auto;display:block;font-size:46px;line-height:1;opacity:.85;z-index:6}
.wasteland-terminal-mini::after{clip-path:none!important;background:url("/luckyshop/assets/scrap-scout.svg") center/contain no-repeat!important;filter:drop-shadow(0 10px 8px #0009);opacity:.98}
.wasteland-terminal-mini .mini-brand::before{content:"☢  ";color:#bafa92}
.starfront-mini .mini-hero::after{content:"";display:block;width:90%;height:4px;margin-top:11px;border-radius:99px;background:linear-gradient(90deg,#5c6469 0 14%,#8c979c 15% 19%,#8cd9ff 20% 100%);box-shadow:0 0 8px #8cd9ff,0 0 22px #60bdff}
.neon-district-mini .mini-hero{text-shadow:0 0 14px #ff70e2,0 0 27px #bd59fa;animation:world-neon-breathe 3.6s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.neon-district-mini .mini-hero{animation:none!important}}


/* Universal composition switcher — compatible with all 26 themes and 12 world archetypes. */
.composition-picker{margin:25px 0 8px;padding:24px;border:1px solid #4c7357;border-radius:19px;background:linear-gradient(125deg,#0f2019,#152b22 68%,#1c2920)}
.composition-picker-heading{max-width:690px;margin-bottom:16px}
.composition-picker-heading h3{font:900 clamp(21px,3vw,30px)/1.15 system-ui,sans-serif;letter-spacing:-.055em;color:#e8ffe8;margin:8px 0}
.composition-picker-heading p{color:#bad6c1;font:500 13px/1.6 system-ui,sans-serif}
.composition-picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.composition-option{display:grid;grid-template-columns:auto 1fr;align-content:center;text-align:left;column-gap:13px;padding:15px;min-width:0;min-height:110px;border:1px solid #4f715d;border-radius:12px;background:#21372a;color:#f4fff0;cursor:pointer;transition:transform .15s,border-color .15s}
.composition-option-icon{grid-row:1/3;display:grid;place-items:center;width:44px;height:44px;border:1px solid #8bca9d;border-radius:10px;font-size:25px;color:#a1efb1}
.composition-option strong{font:850 17px/1.3 system-ui,sans-serif}
.composition-option small{font:450 12px/1.4 system-ui,sans-serif;color:#bcdac4;overflow-wrap:anywhere}
.composition-option:hover{transform:translateY(-2px);border-color:#a2f6b4}
.composition-option.selected{background:#294b34;border:2px solid #a9f2a9}
.composition-option:focus-visible{outline:3px solid #e4ffc6;outline-offset:3px}
.composition-recommendation{color:#cde7ce;font:600 12px/1.5 system-ui,sans-serif;margin-top:13px}
.storefront .storefront-story{display:none;padding:30px 7%;background:var(--store-hero,#203629);border-left:6px solid var(--world-accent,var(--store-accent,#8ddba1))}
.storefront .storefront-story strong{display:block;font:800 clamp(20px,2.8vw,32px)/1.2 Georgia,serif;letter-spacing:-.05em}
.storefront .storefront-story p{font:500 13px/1.7 system-ui,sans-serif;max-width:58ch;opacity:.86}
/* SHOWCASE — dramatic spacious hero, restrained product row, story as coda. */
.storefront[data-composition="showcase"] .storefront-hero{min-height:410px}
body[data-composition="showcase"] .hero{min-height:520px}
/* CATALOG — short introductory masthead, dense grid of purchase decisions,
   generous room for photography; independent of genre styling. */
.storefront[data-composition="catalog"]{display:flex;flex-direction:column}
.storefront[data-composition="catalog"] .storefront-header{order:0}
.storefront[data-composition="catalog"] .storefront-products{order:1}
.storefront[data-composition="catalog"] .storefront-hero{order:2;min-height:190px!important;padding:28px 5%;grid-template-columns:1fr .3fr}
.storefront[data-composition="catalog"] .storefront-story{order:3}
.storefront[data-composition="catalog"] .storefront-footer{order:4}
.storefront[data-composition="catalog"] .storefront-hero h3{font-size:clamp(22px,3vw,36px);max-width:24ch}
.storefront[data-composition="catalog"] .hero-art{max-height:120px;min-height:90px}
.storefront[data-composition="catalog"] .preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.storefront[data-composition="catalog"] .preview-product{grid-column:auto!important;grid-row:auto!important;display:block!important;padding:7px}
.storefront[data-composition="catalog"] .preview-product .product-picture{height:115px!important}
body[data-composition="catalog"] main{display:flex;flex-direction:column}
body[data-composition="catalog"] main .collection{order:1;padding-top:35px}
body[data-composition="catalog"] main .hero{order:2;min-height:250px!important;padding-top:30px;padding-bottom:30px;grid-template-columns:1fr .3fr}
body[data-composition="catalog"] main .highlights{order:3}
body[data-composition="catalog"] main .story{order:4}
body[data-composition="catalog"] main .contact{order:5}
body[data-composition="catalog"] .hero h1{font-size:clamp(29px,4.5vw,58px)}
body[data-composition="catalog"] .product-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px}
body[data-composition="catalog"] .product-card{grid-column:auto!important;grid-row:auto!important;display:block!important;padding:12px}
body[data-composition="catalog"] .product-card .product-art{height:210px!important;min-height:0!important}
/* STORY — editorial split hero, atmospheric narrative ahead of product inventory,
   numbered product cards and generous vertical rhythm. */
.storefront[data-composition="story"]{display:flex;flex-direction:column}
.storefront[data-composition="story"] .storefront-header{order:0}
.storefront[data-composition="story"] .storefront-hero{order:1;min-height:295px;grid-template-columns:1.3fr .7fr}
.storefront[data-composition="story"] .storefront-story{display:block;order:2}
.storefront[data-composition="story"] .storefront-products{order:3}
.storefront[data-composition="story"] .storefront-footer{order:4}
.storefront[data-composition="story"] .preview-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}
.storefront[data-composition="story"] .preview-product:first-child{grid-row:span 2;grid-column:auto}
.storefront[data-composition="story"] .preview-product:first-child .product-picture{height:240px}
body[data-composition="story"] main{display:flex;flex-direction:column}
body[data-composition="story"] main .hero{order:1;grid-template-columns:1.25fr .75fr;min-height:400px}
body[data-composition="story"] main .story{order:2;margin-block:50px 65px;background:var(--paper,var(--card))}
body[data-composition="story"] main .highlights{order:3}
body[data-composition="story"] main .collection{order:4}
body[data-composition="story"] main .contact{order:5}
body[data-composition="story"] .product-list{display:grid;grid-template-columns:1.25fr .8fr!important;gap:25px}
body[data-composition="story"] .product-card:first-child{grid-row:span 2;grid-column:auto!important}
body[data-composition="story"] .product-card:first-child .product-art{min-height:430px}
/* Existing mobile and narrow preview controls take precedence over display modes. */
.preview-panel.is-mobile .storefront[data-composition] .storefront-hero,
.preview-panel.is-mobile .storefront[data-composition] .preview-grid{grid-template-columns:1fr 1fr!important}
.preview-panel.is-mobile .storefront[data-composition] .storefront-hero{grid-template-columns:1fr!important;min-height:0!important;padding:20px 5%}
.preview-panel.is-mobile .storefront[data-composition] .preview-product{grid-column:auto!important;grid-row:auto!important}
.preview-panel.is-mobile .storefront[data-composition] .preview-product .product-picture{height:95px!important}
@media(max-width:700px){
.composition-picker{padding:15px}.composition-picker-grid{grid-template-columns:1fr}
.composition-option{min-height:72px;padding:12px}
body[data-composition] main .hero{grid-template-columns:1fr!important}
body[data-composition="catalog"] .product-list,body[data-composition="story"] .product-list{grid-template-columns:1fr 1fr!important}
body[data-composition] .product-card{grid-column:auto!important;grid-row:auto!important}
body[data-composition] .product-card .product-art{min-height:0!important;height:170px!important}
.storefront[data-composition] .preview-grid{grid-template-columns:1fr 1fr!important}
.storefront[data-composition] .preview-product{grid-column:auto!important;grid-row:auto!important}
.storefront[data-composition] .preview-product .product-picture{height:115px!important}
.storefront[data-composition] .storefront-hero{grid-template-columns:1fr!important;min-height:0!important}
}
@media(prefers-reduced-motion:reduce){.composition-option{transition:none}.composition-option:hover{transform:none}}


/* 3 new composition architectures, not palette swaps — each has a different navigation skeleton. */
/* Split Studio: centered brand above a two-tier nav, perfectly asymmetrical hero, offset cards. */
.storefront[data-composition="split"] .storefront-header{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:13px;padding:24px 5% 12px;border-bottom:1px solid var(--world-accent,var(--store-accent))}
.storefront[data-composition="split"] .storefront-header strong{grid-column:1/-1;font-size:clamp(25px,3vw,37px);letter-spacing:-.06em}
.storefront[data-composition="split"] .storefront-header>span{grid-column:1;font:800 12px system-ui,sans-serif;letter-spacing:.09em}
.storefront[data-composition="split"] .storefront-header>button{grid-column:2;grid-row:2}
.storefront[data-composition="split"] .storefront-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:0;min-height:485px!important;padding:0;background:transparent!important}
.storefront[data-composition="split"] .storefront-hero>div:first-child{padding:12% 9%;display:flex;flex-direction:column;justify-content:center}
.storefront[data-composition="split"] .hero-art{height:100%;max-height:none!important;min-height:420px;border-radius:0;box-shadow:none}
.storefront[data-composition="split"] .preview-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:13px}
.storefront[data-composition="split"] .preview-product:first-child{grid-column:span 1}
body[data-composition="split"] .store-header{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:15px 24px;padding-top:30px;padding-bottom:23px}
body[data-composition="split"] .store-header .store-name{font-size:clamp(30px,4vw,49px);grid-column:1/-1;letter-spacing:-.07em}
body[data-composition="split"] .store-header nav{grid-column:1;grid-row:2}
body[data-composition="split"] .store-header .cart-toggle{grid-column:2;grid-row:2}
body[data-composition="split"] main .hero{display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:560px!important;padding:0;background:transparent!important}
body[data-composition="split"] .hero-copy{padding:clamp(30px,7vw,105px) 7%;display:flex;flex-direction:column;justify-content:center}
body[data-composition="split"] .hero-graphic{width:100%;height:100%;min-height:450px;border-radius:0;max-height:none;max-width:none}
body[data-composition="split"] .product-list{grid-template-columns:1.2fr 1fr 1fr!important}

/* Editorial Magazine: masthead and full-bleed center headline, premium magazine cards. */
.storefront[data-composition="magazine"] .storefront-header{display:grid;grid-template-columns:1fr auto;gap:8px;border-bottom:3px double var(--world-accent,var(--store-accent));padding-block:18px}
.storefront[data-composition="magazine"] .storefront-header strong{font:900 clamp(25px,3.5vw,44px)/1.1 Georgia,serif;letter-spacing:-.085em}
.storefront[data-composition="magazine"] .storefront-header>span{grid-column:1/-1;grid-row:2;border-top:1px solid currentColor;padding-top:9px;letter-spacing:.2em;text-transform:uppercase}
.storefront[data-composition="magazine"] .storefront-header>button{grid-column:2;grid-row:1}
.storefront[data-composition="magazine"] .storefront-hero{grid-template-columns:1fr;min-height:360px!important;justify-items:center;text-align:center;gap:10px;padding:48px 8%;background:transparent!important}
.storefront[data-composition="magazine"] .storefront-hero>div:first-child{display:grid;justify-items:center;max-width:760px}
.storefront[data-composition="magazine"] .storefront-hero h3{font:500 clamp(38px,5vw,72px)/.98 Georgia,serif;letter-spacing:-.09em}
.storefront[data-composition="magazine"] .hero-art{display:none}
.storefront[data-composition="magazine"] .preview-grid{display:grid;grid-template-columns:1.4fr .8fr}
.storefront[data-composition="magazine"] .preview-product:first-child{grid-row:span 2}
.storefront[data-composition="magazine"] .preview-product:first-child .product-picture{height:245px}
body[data-composition="magazine"] .store-header{display:grid;grid-template-columns:1fr auto;gap:7px 20px;border-top:4px double currentColor;border-bottom:4px double currentColor;padding:20px 0}
body[data-composition="magazine"] .store-header .store-name{font:900 clamp(33px,5vw,56px)/1 Georgia,serif;letter-spacing:-.085em}
body[data-composition="magazine"] .store-header nav{grid-column:1/-1;grid-row:2;border-top:1px solid currentColor;justify-content:center;padding-top:12px;letter-spacing:.14em;text-transform:uppercase}
body[data-composition="magazine"] .store-header .cart-toggle{grid-column:2;grid-row:1}
body[data-composition="magazine"] main .hero{grid-template-columns:1fr;justify-items:center;text-align:center;min-height:370px!important;padding:75px 8% 50px;background:transparent!important}
body[data-composition="magazine"] .hero h1{font:500 clamp(51px,7vw,110px)/.96 Georgia,serif;letter-spacing:-.085em;max-width:1000px}
body[data-composition="magazine"] .hero-graphic{display:none}
body[data-composition="magazine"] .hero p{margin-inline:auto}
body[data-composition="magazine"] .collection .section-title{border-top:2px solid currentColor;padding-top:28px}
body[data-composition="magazine"] .product-list{grid-template-columns:1.4fr .8fr!important;gap:27px}
body[data-composition="magazine"] .product-card:first-child{grid-row:span 2}
body[data-composition="magazine"] .product-card:first-child .product-art{min-height:410px}

/* Command Deck: a genuine side navigation workspace, separated from the editorial main area. */
.storefront[data-composition="command"]{display:grid;grid-template-columns:minmax(125px,25%) minmax(0,1fr);grid-template-rows:auto auto auto auto}
.storefront[data-composition="command"] .storefront-header{grid-column:1;grid-row:1/4;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:25px;padding:30px 17px;border-right:2px solid var(--world-accent,var(--store-accent));border-bottom:0;background:var(--store-hero,#101922)}
.storefront[data-composition="command"] .storefront-header>span{line-height:2.8;word-spacing:80px;white-space:normal;font:700 11px/2.9 ui-monospace,monospace}
.storefront[data-composition="command"] .storefront-hero{grid-column:2;grid-row:1;min-height:260px!important;padding:32px 7%;grid-template-columns:1fr .35fr}
.storefront[data-composition="command"] .storefront-story{grid-column:2;grid-row:2}
.storefront[data-composition="command"] .storefront-products{grid-column:2;grid-row:3}
.storefront[data-composition="command"] .storefront-footer{grid-column:1/-1;grid-row:4}
.storefront[data-composition="command"] .preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body[data-composition="command"]{display:grid;grid-template-columns:clamp(190px,19vw,265px) minmax(0,1fr)}
body[data-composition="command"] .skip-link,body[data-composition="command"] .demo-strip{grid-column:1/-1}
body[data-composition="command"] .store-header{grid-column:1;grid-row:3;position:sticky;top:0;height:100vh;align-self:start;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:35px;padding:35px 22px;border-right:2px solid var(--world-accent,var(--store-accent));border-bottom:0;z-index:5}
body[data-composition="command"] .store-header .store-name{font:900 clamp(20px,2.5vw,34px)/1.08 ui-monospace,monospace;overflow-wrap:anywhere}
body[data-composition="command"] .store-header nav{display:grid;gap:15px;width:100%}
body[data-composition="command"] .store-header nav a{padding:13px 3px;border-bottom:1px solid currentColor}
body[data-composition="command"] .store-header .cart-toggle{align-self:stretch}
body[data-composition="command"] main{grid-column:2;grid-row:3;min-width:0}
body[data-composition="command"] .footer{grid-column:1/-1;grid-row:4}
body[data-composition="command"] #demo-cart{grid-column:1/-1}
body[data-composition="command"] main .hero{grid-template-columns:1fr .3fr;min-height:340px!important;padding:55px 5%}
body[data-composition="command"] main .collection{padding-inline:4%}
body[data-composition="command"] .product-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}

/* A desktop tablet should never overflow, and phone restores a clean nav above the hero. */
.preview-panel.is-mobile .storefront[data-composition="split"] .storefront-header,.preview-panel.is-mobile .storefront[data-composition="magazine"] .storefront-header{display:flex;flex-wrap:wrap;gap:6px;padding:15px}
.preview-panel.is-mobile .storefront[data-composition="command"]{display:block}
.preview-panel.is-mobile .storefront[data-composition="command"] .storefront-header{display:flex;flex-direction:row;align-items:center;border-right:0;border-bottom:2px solid var(--world-accent,var(--store-accent));padding:15px;gap:9px}
.preview-panel.is-mobile .storefront[data-composition="command"] .storefront-header>span{display:none}
.preview-panel.is-mobile .storefront[data-composition="split"] .hero-art{min-height:95px;height:95px}
@media(max-width:900px){
body[data-composition="command"]{grid-template-columns:155px minmax(0,1fr)}
body[data-composition="command"] .store-header{padding:25px 12px}
body[data-composition="split"] main .hero{grid-template-columns:1fr .8fr;min-height:300px!important}
}
@media(max-width:700px){
body[data-composition="command"]{display:block}
body[data-composition="command"] .store-header{position:relative;height:auto;width:auto;display:flex;flex-direction:row;flex-wrap:wrap;gap:12px;border-right:0;border-bottom:2px solid var(--world-accent,var(--store-accent))}
body[data-composition="command"] .store-header nav{display:flex;gap:10px}
body[data-composition="command"] .store-header nav a{padding:5px}
body[data-composition="command"] main{display:block}
.storefront[data-composition="command"]{display:block}
.storefront[data-composition="command"] .storefront-header{display:flex;flex-direction:row;align-items:center;gap:8px;padding:12px;border-right:0;border-bottom:2px solid var(--world-accent,var(--store-accent))}
.storefront[data-composition="command"] .storefront-header>span{display:none}
body[data-composition="split"] main .hero{grid-template-columns:1fr!important}
body[data-composition="split"] .hero-graphic{min-height:200px}
body[data-composition="magazine"] .store-header nav{display:flex}
body[data-composition="magazine"] main .hero{padding:32px 6%}
.storefront[data-composition="split"] .storefront-hero{grid-template-columns:1fr!important;min-height:0!important}
.storefront[data-composition="split"] .hero-art{min-height:120px;height:160px}
.storefront[data-composition="magazine"] .storefront-hero{min-height:260px!important;padding:25px 5%}
.storefront[data-composition="magazine"] .storefront-hero h3{font-size:34px}
body[data-composition="magazine"] .product-list,body[data-composition="split"] .product-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* Original Pokémon fan-inspired creature world: game-community store UI.
   No licensed art, official Pokémon marks, characters, or remote assets shipped. */
.storefront[data-world="creature"] .storefront-header,
body[data-world="creature"] .store-header{
  background:linear-gradient(90deg,#132c48,#1b4264)!important;color:#f8fcff!important;
  border-bottom:2px solid #ffde59!important;border-radius:0;min-height:70px;
  font-family:system-ui,sans-serif;box-shadow:0 2px 0 #0002;
}
.storefront[data-world="creature"] .storefront-hero,
body[data-world="creature"] .hero{
  background:radial-gradient(circle at 83% 35%,#3678a555,transparent 35%),
    linear-gradient(135deg,#10273c,#19456d)!important;
  border:0;border-radius:18px;color:#fff;overflow:hidden;position:relative;isolation:isolate;
}
.storefront[data-world="creature"] .storefront-hero::after,
body[data-world="creature"] .hero::after{
  content:"";position:absolute;right:-8%;top:-31%;width:51%;aspect-ratio:1;
  border:2px solid var(--world-accent,#ffde59);border-radius:50%;
  box-shadow:0 0 0 24px #ffdb5116,0 0 0 65px #ffdc510b;pointer-events:none;z-index:0;
}
.storefront[data-world="creature"] .storefront-hero>*,body[data-world="creature"] .hero>*{position:relative;z-index:1}
.storefront[data-world="creature"] .hero-art,body[data-world="creature"] .hero-graphic{
  clip-path:none!important;border-radius:22px!important;overflow:hidden;isolation:isolate;
  border:1px solid #ffde5988;
  background:radial-gradient(circle at 60% 42%,#427ca1 0,#14324d 60%,#101e34)!important;
}
.storefront[data-world="creature"] .world-hero-icon,body[data-world="creature"] .world-hero-icon{
  font-size:0;filter:none;opacity:1
}
.storefront[data-world="creature"] .world-hero-icon::before,body[data-world="creature"] .world-hero-icon::before{
  content:"";width:min(56%,190px);aspect-ratio:1;border-radius:50%;
  border:10px solid #193248;
  background:radial-gradient(circle at 50% 50%,#ffdc59 0 14%,#17334e 15% 22%,transparent 23%),
    linear-gradient(180deg,#ef7569 0 47%,#152b42 48% 52%,#eff1df 53%);
  box-shadow:0 16px 26px #0007,0 0 0 6px #fff2;
  animation:creature-world-float 8s ease-in-out infinite alternate;
}
.storefront[data-world="creature"][data-variant="pokemon-fan"] .storefront-hero,
body[data-world="creature"][data-variant="pokemon-fan"] .hero{
  border-top:3px solid #ffde59;
  box-shadow:inset 0 1px #ffffff24,0 18px 35px #0004;
}
.storefront[data-world="creature"][data-variant="creature-dex"] .storefront-hero,
body[data-world="creature"][data-variant="creature-dex"] .hero{
  background:repeating-linear-gradient(90deg,transparent 0 75px,#7bffcb10 76px),
    linear-gradient(125deg,#0d3438,#155657)!important;
}
.storefront[data-world="creature"][data-variant="gym-arena"] .storefront-hero,
body[data-world="creature"][data-variant="gym-arena"] .hero{
  background:radial-gradient(circle at 78% 30%,#f48e8466,transparent 38%),
    linear-gradient(120deg,#241b39,#543357)!important;
}
.storefront[data-world="creature"] .preview-product,
body[data-world="creature"] .product-card{
  border:1px solid #ffdc597a;border-radius:15px;
  background:linear-gradient(150deg,#f5fbff,#e6eff7);
  box-shadow:0 12px 24px #09203219;
}
.storefront[data-world="creature"] .preview-grid,body[data-world="creature"] .product-list{
  grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;
}
.storefront[data-world="creature"] .world-banner,body[data-world="creature"] .world-banner{
  border-radius:20px;background:#19394a;color:var(--world-accent,#ffde59);
}
@keyframes creature-world-float{from{transform:translateY(0) rotate(-4deg)}to{transform:translateY(-8px) rotate(4deg)}}
@media(max-width:750px){
 .storefront[data-world="creature"] .preview-grid,
 body[data-world="creature"] .product-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 .storefront[data-world="creature"] .world-hero-icon::before,
 body[data-world="creature"] .world-hero-icon::before{animation:none}
}
@media(prefers-reduced-motion:reduce){
 .storefront[data-world="creature"] *,body[data-world="creature"] *,
 .storefront[data-world="creature"] *::before,body[data-world="creature"] *::before{
  animation-duration:0.001ms!important;transition-duration:0.001ms!important
 }
}


/* Studio 2026: preserve thematic identity without old chunky navigation bars. */
.storefront[data-world]:not([data-world="classic"]) .storefront-header{
 display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
 gap:clamp(9px,1.5vw,18px);min-height:66px;
 padding:12px clamp(14px,2vw,26px);
 background:color-mix(in srgb,var(--world-surface,#142427) 82%,#08121a)!important;
 border-bottom:1px solid color-mix(in srgb,var(--world-accent,#c2eacb) 44%,transparent)!important;
 box-shadow:0 8px 28px #0005,inset 0 1px #ffffff14;
}
.storefront[data-world]:not([data-world="classic"]) .storefront-header>strong{
 font:850 clamp(17px,1.9vw,24px)/1.2 system-ui,sans-serif!important;
 letter-spacing:-.045em!important;color:#f4fff6!important;overflow-wrap:anywhere;
}
.storefront[data-world]:not([data-world="classic"]) .storefront-header>span{
 font:650 12px/1.5 system-ui,sans-serif!important;letter-spacing:0!important;
 color:#d5e8dc!important;opacity:1!important;white-space:normal;
}
.storefront[data-world]:not([data-world="classic"]) .storefront-header .cart-button{
 flex:none;min-height:36px;border-radius:9px!important;
 border:1px solid color-mix(in srgb,var(--world-accent,#d5e2cb) 58%,#fff)!important;
 padding:8px 13px!important;background:#16291fe0!important;color:#f9fff9!important;
 font:750 12px system-ui,sans-serif!important;
}
.storefront[data-world]:not([data-world="classic"]) .storefront-header .cart-button:hover,
.storefront[data-world]:not([data-world="classic"]) .storefront-header .cart-button:focus-visible{
 border-color:var(--world-accent,#bfeacb)!important;background:#234232!important;
}
@media(max-width:680px){
 .storefront[data-world]:not([data-world="classic"]) .storefront-header{
  gap:8px;padding:10px 12px;min-height:0
 }
 .storefront[data-world]:not([data-world="classic"]) .storefront-header>strong{
  flex:1 1 calc(60% - 20px);font-size:18px!important
 }
 .storefront[data-world]:not([data-world="classic"]) .storefront-header>span{
  flex:1 1 100%;order:3;font-size:10px!important
 }
 .storefront[data-world]:not([data-world="classic"]) .storefront-header .cart-button{
  margin-left:auto;min-height:35px;font-size:11px!important
 }
}
@media(prefers-reduced-motion:reduce){
 .storefront[data-world]:not([data-world="classic"]) .storefront-header *{
  animation:none!important;transition:none!important
 }
}


/* Modern structural compositions shared by live editor and standalone preview.
   Kept separate from theme palettes: choosing a composition changes real layout. */
.storefront[data-composition="bento"] .storefront-header{
 min-height:78px;padding:20px 5%;border-bottom:1px solid #ffffff2b
}
.storefront[data-composition="bento"] .storefront-hero{
 display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:16px;
 min-height:335px;margin:15px;padding:clamp(20px,3vw,38px);border-radius:22px
}
.storefront[data-composition="bento"] .storefront-hero>div:first-child{align-self:center;max-width:660px}
.storefront[data-composition="bento"] .storefront-hero h3{font:850 clamp(30px,4.7vw,62px)/1.04 system-ui,sans-serif;letter-spacing:-.06em;max-width:18ch}
.storefront[data-composition="bento"] .hero-art{height:100%;min-height:230px;border-radius:17px;overflow:hidden}
.storefront[data-composition="bento"] .storefront-story{margin:0 5%;border-radius:14px}
.storefront[data-composition="bento"] .storefront-products{padding:28px 5% 44px}
.storefront[data-composition="bento"] .preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.storefront[data-composition="bento"] .preview-product{padding:12px;border:1px solid #92baa64a;border-radius:17px;min-width:0}
.storefront[data-composition="bento"] .preview-product:first-child{grid-column:span 2}
.storefront[data-composition="bento"] .preview-product:first-child .product-picture{height:210px}
.storefront[data-composition="spotlight"] .storefront-header{min-height:73px;padding:20px 6%;border-bottom:1px solid #fff3}
.storefront[data-composition="spotlight"] .storefront-hero{
 display:grid;grid-template-columns:1.15fr .85fr;min-height:480px;gap:0;padding:0
}
.storefront[data-composition="spotlight"] .storefront-hero>div:first-child{
 padding:clamp(30px,5.5vw,78px);align-self:center
}
.storefront[data-composition="spotlight"] .storefront-hero h3{
 font:850 clamp(39px,6vw,78px)/1 system-ui,sans-serif;letter-spacing:-.078em;max-width:14ch
}
.storefront[data-composition="spotlight"] .hero-art{
 align-self:stretch;width:100%;height:100%;min-height:480px;overflow:hidden
}
.storefront[data-composition="spotlight"] .storefront-products{padding:45px 6% 72px}
.storefront[data-composition="spotlight"] .preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.storefront[data-composition="spotlight"] .preview-product:first-child{grid-column:1/-1}
.storefront[data-composition="spotlight"] .preview-product:first-child .product-picture{height:230px}
.storefront[data-composition="gallery"] .storefront-header{min-height:84px;padding:25px 7%;border-bottom:1px solid #9997}
.storefront[data-composition="gallery"] .storefront-header strong{font:650 clamp(25px,3vw,42px)/1 Georgia,serif;letter-spacing:-.045em}
.storefront[data-composition="gallery"] .storefront-hero{
 display:grid;grid-template-columns:1fr;justify-items:start;text-align:left;
 min-height:350px;padding:60px 7% 28px;gap:12px
}
.storefront[data-composition="gallery"] .storefront-hero h3{
 font:450 clamp(42px,6vw,80px)/1.02 Georgia,serif;letter-spacing:-.075em;max-width:17ch
}
.storefront[data-composition="gallery"] .storefront-hero p{max-width:62ch}
.storefront[data-composition="gallery"] .hero-art{display:none}
.storefront[data-composition="gallery"] .storefront-story{margin:0 7%;padding:20px 0;border-top:1px solid #9994}
.storefront[data-composition="gallery"] .storefront-products{padding:35px 7% 85px}
.storefront[data-composition="gallery"] .preview-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}
.storefront[data-composition="gallery"] .preview-product{min-width:0}
.storefront[data-composition="gallery"] .preview-product:first-child{grid-row:span 2}
.storefront[data-composition="gallery"] .preview-product:first-child .product-picture{height:100%;min-height:310px}
body[data-composition="bento"] main .hero,body[data-composition="spotlight"] main .hero{
 grid-template-columns:1.2fr .8fr;min-height:470px
}
body[data-composition="bento"] main .product-list{
 grid-template-columns:repeat(3,minmax(0,1fr));gap:18px
}
body[data-composition="bento"] main .product-card:first-child{grid-column:span 2}
body[data-composition="spotlight"] main .hero h1{font-size:clamp(48px,6vw,92px)}
body[data-composition="spotlight"] main .product-list{grid-template-columns:repeat(2,minmax(0,1fr))}
body[data-composition="spotlight"] main .product-card:first-child{grid-column:1/-1}
body[data-composition="gallery"] main .hero{grid-template-columns:1fr;min-height:380px;text-align:left}
body[data-composition="gallery"] main .hero h1{font-family:Georgia,serif;font-weight:500}
body[data-composition="gallery"] main .product-list{grid-template-columns:1.2fr .8fr;gap:28px}
body[data-composition="gallery"] main .product-card:first-child{grid-row:span 2}
@media(max-width:760px){
 .storefront[data-composition="bento"] .storefront-hero,
 .storefront[data-composition="spotlight"] .storefront-hero,
 .storefront[data-composition="gallery"] .storefront-hero{
  grid-template-columns:1fr;gap:10px;min-height:0;padding:27px 6%;margin:0;border-radius:0
 }
 .storefront[data-composition="bento"] .hero-art,
 .storefront[data-composition="spotlight"] .hero-art{min-height:150px;height:175px}
 .storefront[data-composition="bento"] .preview-grid,
 .storefront[data-composition="spotlight"] .preview-grid,
 .storefront[data-composition="gallery"] .preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .storefront[data-composition="bento"] .preview-product:first-child,
 .storefront[data-composition="spotlight"] .preview-product:first-child{grid-column:span 2}
 .storefront[data-composition="gallery"] .preview-product:first-child{grid-row:auto;grid-column:span 2}
 .storefront[data-composition="gallery"] .preview-product:first-child .product-picture{min-height:160px}
 body[data-composition="bento"] main .hero,body[data-composition="spotlight"] main .hero,
 body[data-composition="gallery"] main .hero{grid-template-columns:1fr;min-height:0}
 body[data-composition="bento"] main .product-list,
 body[data-composition="spotlight"] main .product-list,
 body[data-composition="gallery"] main .product-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 body[data-composition="bento"] main .product-card:first-child,
 body[data-composition="spotlight"] main .product-card:first-child,
 body[data-composition="gallery"] main .product-card:first-child{grid-column:span 2;grid-row:auto}
}
.preview-panel.is-mobile .storefront[data-composition="bento"] .storefront-hero,
.preview-panel.is-mobile .storefront[data-composition="spotlight"] .storefront-hero,
.preview-panel.is-mobile .storefront[data-composition="gallery"] .storefront-hero{grid-template-columns:1fr}
.preview-panel.is-mobile .storefront[data-composition="bento"] .preview-grid,
.preview-panel.is-mobile .storefront[data-composition="spotlight"] .preview-grid,
.preview-panel.is-mobile .storefront[data-composition="gallery"] .preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
