:root { color-scheme: dark; --store-serif: 'Noto Serif SC', 'Source Han Serif SC', SimSun, STSong, 'Songti SC', serif; }
html { scroll-behavior: smooth; background: #06060d; }
body { background: #06060d !important; overflow-x: hidden; }
body::before { content: ''; position: fixed; inset: 0; pointer-events: none; background: radial-gradient(ellipse at 75% 35%, #53358a22, transparent 65%), linear-gradient(90deg, #06060d70, transparent 65%); z-index: 1; }
.ambient-bg { display: none; }
#particle-canvas, #interaction-canvas { position: fixed; inset: 0; width: 100%; height: 100%; pointer-events: none; }
#particle-canvas { z-index: 0; }
#interaction-canvas { z-index: 41; }
body > header { background: #090912b8 !important; backdrop-filter: blur(18px); }
.editorial-hero { position: relative; z-index: 2; width: min(1280px, 100%); margin: 0 auto; min-height: calc(100svh - 64px); padding: 110px 64px 90px; display: flex; align-items: center; scroll-margin-top: 64px; }
.editorial-copy { position: relative; z-index: 2; max-width: 860px; }
.editorial-kicker { margin: 0 0 32px; font: 10px/1.5 Georgia, serif; letter-spacing: .3em; color: #bdafdd; }
#store-title { margin: 0; color: #f5f1ff; font-family: var(--store-serif); font-size: clamp(44px, 6.3vw, 88px); line-height: 1.25; font-weight: 700; font-style: italic; letter-spacing: -.045em; text-shadow: 0 2px 25px #070710aa; }
.brand-english { margin: 13px 0 0 5px; font: italic 15px/1.5 Georgia, 'Times New Roman', serif; letter-spacing: .24em; color: #c0b4d8; }
.editorial-rule { width: 72px; height: 1px; background: linear-gradient(90deg, #d4c2fa, #d4c2fa22); margin: 43px 0 28px 5px; }
.editorial-copy h2 { margin: 0 0 12px; font: 400 clamp(22px, 3vw, 38px)/1.45 var(--store-serif); letter-spacing: .04em; color: #efe9fc; }
.editorial-comma { display: inline-block; width: .8em; }
.tagline-english { margin: 0 0 0 3px; font: italic 12px/1.8 Georgia, serif; letter-spacing: .06em; color: #ab9dc7; }
.editorial-explore { display: inline-flex; align-items: center; gap: 38px; margin: 44px 0 0 4px; padding: 12px 1px; border-bottom: 1px solid #b19cd269; color: #ddd2f4; font: 12px/1.5 var(--store-serif); }
.editorial-explore span { font: 22px/1 Georgia, serif; }
.editorial-scroll { position: absolute; left: 68px; bottom: 40px; display: flex; gap: 30px; font: 9px/1.5 Georgia, serif; letter-spacing: .18em; color: #9e8eb8; }
.hero-orbit { position: absolute; right: -5%; top: 0; width: 75%; height: 100%; pointer-events: none; }
#allProducts { position: relative; z-index: 2; padding-top: 80px; padding-bottom: 100px; }
#allProducts h2, #allProducts h3, #allProducts .font-song, #allProducts .hz-product-card p { font-family: var(--store-serif) !important; }
#allProducts .hz-product-card h3 { font-weight: 700 !important; }
#allProducts .hz-product-card p { font-weight: 400; }
#allProducts .hz-product-card { background: linear-gradient(115deg, #12121dde, #0d0d19c9) !important; backdrop-filter: blur(8px); border-color: #b9a7e72e !important; }
#allProducts .hz-product-card:hover { border-color: #c4a9fd80 !important; box-shadow: 0 12px 46px #0004, 0 0 28px #8f61d612; }
#allProducts .hz-product-card .brand-white-box { overflow: hidden; }
/* Do not change original card directions, widths, stock states or modal layout. */
.particle-active { outline: 1px solid #c5b3ff70; outline-offset: 4px; }
.hz-product-card.particle-active { outline: none; }
button.particle-active, a.particle-active { box-shadow: 0 0 24px #a17cf62d; }
input.particle-active { outline: none; border-color: #b897fc !important; box-shadow: 0 12px 22px -15px #b795ff; }
:focus-visible { outline: 2px solid #cfb7ff; outline-offset: 4px; }
@media(max-width: 760px) {
  .editorial-hero { padding: 80px 25px 90px; min-height: calc(100svh - 64px); }
  #store-title { font-size: clamp(34px, 8.2vw, 62px); letter-spacing: -.03em; }
  .brand-english { font-size: 10px; letter-spacing: .2em; }
  .editorial-kicker { font-size: 8px; letter-spacing: .18em; margin-bottom: 28px; }
  .editorial-copy h2 { font-size: clamp(20px, 5.3vw, 30px); }
  .tagline-english { font-size: 10px; }
  .editorial-scroll { left: 29px; bottom: 45px; }
  .hero-orbit { width: 100%; right: 0; opacity: .8; }
  #allProducts { padding-top: 65px; }
}
@media(prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Opaque type, in both existing themes. Decoration alone may be translucent. */
.editorial-hero { overflow: clip; }
body { --tw-text-opacity: 1 !important; }
:is(.opacity-50, .opacity-75, .group-hover\:opacity-75, .disabled\:opacity-50):not(img):not(canvas),
.reveal-node, [class*="animate-hero-"] { opacity: 1 !important; }
.animate-pulse:not(svg):not(canvas) { animation: none !important; opacity: 1 !important; }
body :is(p, span, a, button, input, textarea, label, li, h1, h2, h3, h4, strong) { --tw-text-opacity: 1 !important; }
.text-amber-900\/90 { color: #78350f !important; }
html.dark .dark\:text-amber-300\/90 { color: #fcd34d !important; }
.text-white { font-weight: 700; }
html.dark :is(.dark\:text-white, .dark\:text-zinc-100, .text-black, .text-zinc-900):not(body) { font-weight: 700; }
html.dark #store-title, html.dark .editorial-copy h2 { color: #fff; font-weight: 700; }
html.dark :is(.editorial-kicker, .brand-english, .tagline-english, .editorial-scroll) { color: #e3d9f6; }
html.dark .editorial-explore { color: #fff; font-weight: 700; }
html.dark .text-zinc-500 { color: #c4c4ce !important; }
html.dark .text-zinc-600 { color: #d4d4dd !important; }
html.dark :is(.dark\:text-zinc-400, .dark\:text-zinc-500) { color: #c4c4ce !important; }
html.dark .dark\:text-black { color: #18181b !important; }
html.dark .dark\:hover\:text-white:hover { color: #fff !important; font-weight: 700; }
html:not(.dark), html:not(.dark) body { background: #f6f5fb !important; color-scheme: light; }
html:not(.dark) body::before { background: linear-gradient(90deg, #f6f5fbeb, #f6f5fb70 70%); }
html:not(.dark) #particle-canvas { opacity: .45; }
html:not(.dark) #interaction-canvas { mix-blend-mode: multiply; }
html:not(.dark) body > header { background: #faf9ffed !important; }
html:not(.dark) #store-title { color: #171323; text-shadow: none; }
html:not(.dark) .editorial-copy h2 { color: #272033; }
html:not(.dark) :is(.editorial-kicker, .brand-english, .tagline-english, .editorial-scroll) { color: #514362; }
html:not(.dark) .editorial-explore { color: #3c2856; font-weight: 700; border-color: #75618b; }
html:not(.dark) .editorial-rule { background: linear-gradient(90deg, #73539b, #73539b33); }
html:not(.dark) #allProducts .hz-product-card { background: #ffffffed !important; border-color: #d0c6df !important; }
html:not(.dark) :is(.text-zinc-300, .text-zinc-400, .text-zinc-500) { color: #52525b !important; }
html:not(.dark) :is(.text-amber-400, .text-amber-500, .text-amber-600) { color: #92400e !important; }
/* White labels require darker fills, not faded letters. Disabled stays disabled. */
.text-white:is(.bg-emerald-500, .bg-emerald-600) { background-color: #047857 !important; }
html.dark .text-white:is(.dark\:bg-emerald-500, .dark\:bg-emerald-600) { background-color: #047857 !important; }
input::placeholder, textarea::placeholder { opacity: 1; color: #52525b; }
html.dark input::placeholder, html.dark textarea::placeholder { color: #c4c4ce; }
