/* Hallmark · pre-emit critique: P5 H4 E4 S4 R5 V5
 * Hallmark · genre: atmospheric · macrostructure: Photographic · theme: Bloom · enrichment: real DLsite artwork · nav: N5 · footer: Ft5 · tone: austere apothecary archive · anchor hue: bloodroot-red
 */
:root{--color-paper:oklch(13% 0.018 24);--color-paper-2:oklch(18% 0.022 28);--color-paper-3:oklch(23% 0.026 31);--color-ink:oklch(94% 0.012 58);--color-muted:oklch(76% 0.018 58);--color-soft:oklch(62% 0.018 48);--color-rule:oklch(36% 0.026 33);--color-accent:oklch(62% 0.18 28);--color-accent-2:oklch(70% 0.12 70);--color-focus:oklch(74% 0.18 36);--color-accent-ink:var(--color-paper);--color-bloom-a:oklch(24% .09 28 / .55);--color-bloom-b:oklch(24% .07 72 / .34);--color-nav-border:oklch(96% .02 60 / .14);--color-nav-bg:oklch(16% .018 26 / .82);--color-nav-active:oklch(28% .028 30);--color-hero-ring:oklch(96% .02 60 / .10);--color-shadow:oklch(5% .02 25 / .22);--color-footer:oklch(10% .018 24);--color-lightbox:oklch(8% .018 24 / .88);--font-display:"Noto Serif SC",ui-serif,serif;--font-body:"Noto Sans SC",ui-sans-serif,system-ui,sans-serif;--font-outlier:"JetBrains Mono",ui-monospace,monospace;--space-3xs:.125rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--space-4xl:9rem;--text-xs:.78rem;--text-sm:.92rem;--text-md:1rem;--text-lg:1.18rem;--text-xl:1.5rem;--text-2xl:2rem;--text-3xl:clamp(2.2rem,4vw,4.4rem);--text-display:clamp(3.2rem,9vw,8rem);--ease-out:cubic-bezier(.16,1,.3,1);--ease-in:cubic-bezier(.7,0,.84,0);--ease-in-out:cubic-bezier(.65,0,.35,1);--dur-short:180ms;--dur-med:320ms;--rule-thin:1px;--radius-sm:4px;--radius-md:8px;--z-sticky:200;--z-modal:400}*{box-sizing:border-box}html,body{overflow-x:clip}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 18% 8%,var(--color-bloom-a),transparent 28rem),radial-gradient(circle at 84% 22%,var(--color-bloom-b),transparent 24rem),var(--color-paper);color:var(--color-ink);font-family:var(--font-body);line-height:1.62}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.shell{width:min(1160px,calc(100% - 32px));margin-inline:auto}.site-header{position:sticky;top:var(--space-md);z-index:var(--z-sticky);padding-inline:var(--space-md)}.site-nav{min-height:64px;margin:auto;max-width:980px;display:flex;align-items:center;gap:var(--space-md);padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-nav-border);border-radius:999px;background:var(--color-nav-bg);backdrop-filter:blur(18px) saturate(120%);box-shadow:0 18px 42px var(--color-shadow)}.brand{display:flex;align-items:center;gap:var(--space-sm);font-weight:800;white-space:nowrap}.brand img{width:68px;height:38px;object-fit:cover;border-radius:999px}.nav-links{display:flex;align-items:center;gap:var(--space-xs);margin-inline:auto}.nav-links a,.nav-cta,.nav-toggle,.btn,.text-link,.index-link{white-space:nowrap}.nav-links a{font-size:var(--text-sm);color:var(--color-muted);padding:.55rem .7rem;border-radius:999px}.nav-links a[aria-current=page],.nav-links a:hover{color:var(--color-ink);background:var(--color-nav-active)}.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.75rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--color-accent);font-weight:800;transition:transform var(--dur-short) var(--ease-out),background var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out)}.nav-cta,.btn.primary{background:var(--color-accent);color:var(--color-accent-ink)}.btn.ghost{background:transparent;color:var(--color-ink);border-color:var(--color-rule)}.nav-toggle{display:none;min-height:44px;border:1px solid var(--color-rule);border-radius:999px;background:var(--color-paper-2);color:var(--color-ink);font:inherit}.nav-cta:disabled,.btn:disabled,.nav-toggle:disabled{opacity:.55;cursor:not-allowed;transform:none}.nav-cta[aria-disabled="true"],.btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed;transform:none}
.nav-cta:hover,.btn:hover{transform:translateY(-2px)}.nav-cta:active,.btn:active{transform:translateY(1px)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--space-2xl);align-items:end;min-height:calc(100svh - 96px);padding-block:var(--space-3xl) var(--space-2xl)}.kicker,.mono{font-family:var(--font-outlier);text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent-2);font-size:var(--text-xs)}h1,h2,h3{font-family:var(--font-display);font-style:normal;line-height:1.08;margin:0;overflow-wrap:anywhere;min-width:0}h1{font-size:var(--text-display);letter-spacing:0}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-xl)}p{margin:0}.lede{font-size:var(--text-lg);color:var(--color-muted);max-width:58ch}.hero-copy{display:grid;gap:var(--space-lg)}.hero-actions{display:flex;gap:var(--space-sm);flex-wrap:wrap}.hero-art{margin:0;position:relative}.hero-art img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-md);box-shadow:0 0 0 1px var(--color-hero-ring)}figcaption{font-family:var(--font-outlier);font-size:var(--text-xs);color:var(--color-soft);margin-top:var(--space-sm)}.index-panel{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-sm);padding-block:var(--space-xl)}.index-link{display:flex;justify-content:space-between;gap:var(--space-sm);min-height:70px;align-items:end;padding:var(--space-md);border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-2);color:var(--color-ink);font-weight:800}.index-link span{font-family:var(--font-outlier);font-size:var(--text-xs);color:var(--color-accent-2)}.card,.teaser,.index-link{min-width:0;overflow:visible}.card p,.teaser p,.index-link,.lede{overflow-wrap:anywhere;word-break:break-word}.article-teasers .index-link{align-items:start;flex-direction:column}
section{padding-block:var(--space-2xl)}.story-band{background:linear-gradient(180deg,var(--color-paper-2),var(--color-paper-3))}.story-grid,.split-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:var(--space-2xl);align-items:start}.story-grid p,.prose p,.article-body p{color:var(--color-muted)}dl{margin:0;display:grid;gap:var(--space-sm)}dt{font-family:var(--font-outlier);font-size:var(--text-xs);color:var(--color-soft)}dd{margin:0;font-weight:800}.shot-grid,.article-teasers,.card-grid,.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-md)}.shot-grid figure,.gallery-grid figure,.card,.teaser{margin:0;border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-2);padding:var(--space-sm)}.shot-grid img,.gallery-grid img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius-sm)}.media-strip,.guide-preview,.download-band,.faq,.article-wrap{display:grid;gap:var(--space-lg)}.teaser{display:grid;gap:var(--space-xs)}.teaser p,.card p{color:var(--color-muted)}.text-link{font-weight:800;color:var(--color-accent-2);text-decoration:underline;text-underline-offset:.25em}.download-band{border:1px solid var(--color-rule);border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-paper-2),var(--color-paper-3));padding:var(--space-2xl)}details{border-top:1px solid var(--color-rule);padding:var(--space-md) 0}summary{cursor:pointer;font-weight:800}details p{margin-top:var(--space-sm);color:var(--color-muted)}.site-footer{padding-block:var(--space-3xl);background:var(--color-footer)}.footer-grid{display:grid;gap:var(--space-xl)}.footer-statement{font-family:var(--font-display);font-size:clamp(2rem,5vw,5rem);line-height:1.08;max-width:14ch}.site-footer nav,.related{display:flex;gap:var(--space-sm);flex-wrap:wrap}.site-footer a,.related a{color:var(--color-muted);text-decoration:underline;text-underline-offset:.22em}.legal{color:var(--color-soft);font-size:var(--text-sm)}.page-hero{padding-top:var(--space-3xl);display:grid;gap:var(--space-md);max-width:860px}.table-wrap{overflow-x:auto;border:1px solid var(--color-rule);border-radius:var(--radius-md)}table{width:100%;border-collapse:collapse;min-width:640px}th,td{padding:var(--space-sm);border-bottom:1px solid var(--color-rule);text-align:left;vertical-align:top}th{color:var(--color-accent-2);font-family:var(--font-outlier);font-size:var(--text-xs)}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:var(--space-2xl);align-items:start}.article-body{display:grid;gap:var(--space-lg)}.article-body ul,.article-body ol{margin:0;padding-left:1.25rem;color:var(--color-muted)}.article-aside{position:sticky;top:110px;border:1px solid var(--color-rule);border-radius:var(--radius-md);padding:var(--space-md);background:var(--color-paper-2);display:grid;gap:var(--space-sm)}.lightbox{position:fixed;inset:0;z-index:var(--z-modal);display:none;place-items:center;background:var(--color-lightbox);padding:var(--space-md)}.lightbox.is-open{display:grid}.lightbox img{max-height:86svh;border-radius:var(--radius-md)}.lightbox button{position:absolute;top:var(--space-md);right:var(--space-md)}@media (max-width:60rem){.hero,.story-grid,.split-grid,.article-layout{grid-template-columns:1fr}.hero{min-height:auto}.index-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-links,.nav-cta{display:none}.nav-toggle{display:inline-grid;place-items:center;margin-left:auto}.site-nav.is-open{border-radius:24px;align-items:flex-start;flex-wrap:wrap}.site-nav.is-open .nav-links{display:grid;order:5;width:100%;grid-template-columns:1fr 1fr}.site-nav.is-open .nav-cta{display:inline-flex;order:6}.article-aside{position:static}}@media (max-width:40rem){.shell{width:min(100% - 24px,1160px)}.hero-art img{aspect-ratio:4/3}.index-panel,.article-teasers,.card-grid,.gallery-grid,.shot-grid{grid-template-columns:1fr}.hero-actions .btn{width:100%}table{min-width:0}thead{display:none}tr,td{display:block}td{border-bottom:0}td::before{content:attr(data-label);display:block;color:var(--color-accent-2);font-family:var(--font-outlier);font-size:var(--text-xs)}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media (max-width:40rem){.card p,.teaser p,.lede,.article-body p{word-break:break-all}.card{max-width:100%}.site-header{padding-inline:.75rem}.site-nav{max-width:100%}}
