:root:has(.shop){background:#0a090c;scrollbar-gutter:stable}:root.shop-locked{overflow:hidden}.shop{--bg: #0a090c;--sheet: #111016;--ink: #f1ece4;--ink-soft: rgba(241, 236, 228, .82);--muted: #8e8897;--accent: #ff5ad9;--rule: rgba(241, 236, 228, .16);--gradient: linear-gradient(123deg, #18011f 7%, #b600a8 37%, #7621b0 72%, #be4c00 100%);--ease: cubic-bezier(.2, .8, .2, 1);--guide-h: clamp(220px, 36vh, 340px);position:relative;min-height:100vh;padding-bottom:140px;overflow-x:clip;background:var(--bg);color:var(--ink);font-family:Manrope,sans-serif;-webkit-font-smoothing:antialiased}:where(.shop) a{color:inherit;text-decoration:none}:where(.shop) button{color:inherit;font:inherit}.shop :focus-visible{outline:2px solid var(--accent);outline-offset:3px}.shop .lbl{font-size:10.5px;font-weight:700;line-height:1;letter-spacing:.12em;text-transform:uppercase}.shop .box{display:inline-flex;white-space:nowrap;align-items:center;height:26px;padding:0 10px;border:1px solid rgba(241,236,228,.6);background:transparent;cursor:pointer;transition:background-color .25s var(--ease),color .25s var(--ease)}.shop .box:hover{background:var(--ink);color:var(--bg)}.shop-spot{position:absolute;inset:0;pointer-events:none;background:conic-gradient(from 180deg at 50% -8%,transparent 160deg,rgba(255,238,222,.045) 172deg,rgba(255,238,222,.07) 180deg,rgba(255,238,222,.045) 188deg,transparent 200deg),radial-gradient(ellipse 60% 40% at 50% 0%,rgba(182,0,168,.12),transparent 70%)}.grain{position:fixed;inset:0;z-index:40;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0.9 0 0 0 -0.3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:220px 220px}.shop-top,.shop-hero,.catalog,.shop-foot{position:relative;max-width:1080px;margin-inline:auto;padding-inline:max(20px,env(safe-area-inset-left,0px))}@media(min-width:768px){.shop-top,.shop-hero,.catalog,.shop-foot{padding-inline:40px}}.shop-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:26px}.shop-status{color:var(--muted);text-align:right}@media(max-width:480px){.shop-status{display:none}}.shop-hero{padding-block:28px 72px}.shop-title{width:-moz-fit-content;width:fit-content;background:linear-gradient(100deg,#ff8ae8,#ff5ad9 40%,#c48bff 70%,#ffa24a);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-family:Cormorant Garamond,serif;font-size:clamp(56px,8vw,112px);font-style:italic;font-weight:600;line-height:.92}.shop-intro{max-width:54ch;margin-top:20px;color:var(--ink-soft);font-size:clamp(15px,1.4vw,18px);line-height:1.6}.bookcase{position:relative;display:grid;gap:clamp(72px,11vh,120px);max-width:1080px;margin-inline:auto;padding-inline:max(20px,env(safe-area-inset-left,0px))}@media(min-width:768px){.bookcase{padding-inline:40px}}.shelf-row{position:relative;display:grid;grid-template-areas:"books caption" "plank plank";grid-template-columns:auto minmax(0,1fr);align-items:end;-moz-column-gap:clamp(32px,5vw,72px);column-gap:clamp(32px,5vw,72px)}.shelf-row:before{content:"";position:absolute;inset:-25% 20% 0 -10%;background:radial-gradient(ellipse 50% 60% at 35% 75%,rgba(255,236,214,.08),transparent 70%);pointer-events:none}.shelf-books{grid-area:books;position:relative;display:flex;align-items:flex-end;gap:6px;padding:0 26px;perspective:1300px;perspective-origin:50% 35%}.book{--h: var(--guide-h);--ws: calc(var(--h) * .2);--d: calc(var(--h) * .66);position:relative;flex:none;width:var(--ws);height:var(--h);padding:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.is-cheatsheet .book{--h: calc(var(--guide-h) * .8);--ws: calc(var(--h) * .11)}.book:focus-visible{outline:none}.book-body{position:absolute;inset:0;transform-origin:50% 100% calc(var(--d) / -2);transform-style:preserve-3d;transition:transform .55s var(--ease)}.book:hover .book-body,.book:focus-visible .book-body,.book.is-hot .book-body{transform:translateZ(calc(var(--d) * .35)) translateY(-10px) rotateY(-26deg)}.book.is-opening .book-body{transform:translateZ(calc(var(--d) * .7)) translateY(-14px) rotateY(-90deg);transition-duration:.45s}.book .face{position:absolute;top:0;height:100%;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden}.book-svg{display:block;width:100%;height:100%}.book .sp{left:0;width:var(--ws);border-radius:2px 2px 0 0}.book:focus-visible .sp{box-shadow:0 0 0 2px var(--accent)}.book .cv{left:var(--ws);width:var(--d);transform:rotateY(90deg);transform-origin:0 50%;box-shadow:0 30px 50px -24px #000000e6}.book .top{left:0;width:var(--ws);height:var(--d);background:repeating-linear-gradient(to right,#efe6d8 0 2px,#d6ccbd 2px 3px);transform:translateZ(calc(var(--d) * -1)) rotateX(90deg);transform-origin:50% 0}.bookend{flex:none;width:14px;height:calc(var(--guide-h) * .42);margin-left:10px;border-radius:2px 2px 0 0;background:linear-gradient(to right,#2c2633,#18141c);box-shadow:inset 1px 0 #ffffff24}.plank{grid-area:plank;position:relative;height:16px;border-radius:2px;background:linear-gradient(to bottom,#3a3240,#1a161e 60%,#0f0d12);box-shadow:inset 0 1px #fff3,0 26px 40px -14px #000000d9}.shelf-caption{grid-area:caption;position:relative;min-height:10.5em;padding-bottom:22px}.cap-default,.cap-book{transition:opacity .35s var(--ease),transform .45s var(--ease)}.cap-book{position:absolute;right:0;bottom:22px;left:0;opacity:0;transform:translateY(14px);pointer-events:none}.shelf-caption.has-book .cap-default{opacity:0;transform:translateY(-14px)}.shelf-caption.has-book .cap-book{opacity:1;transform:none}.shelf-kicker{color:var(--accent)}.shelf-name,.cap-title{margin-top:12px;font-family:Cormorant Garamond,serif;font-style:italic;font-weight:600;line-height:1}.shelf-name{font-size:clamp(44px,5.4vw,72px)}.cap-title{font-size:clamp(30px,3.4vw,46px);text-wrap:balance}.shelf-note{max-width:44ch;margin-top:12px;color:var(--muted);font-size:15px;line-height:1.55}.cap-open{display:inline-block;margin-top:16px;color:var(--ink)}.catalog{margin-top:clamp(96px,14vh,150px)}.catalog-title{color:var(--muted)}.catalog-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px clamp(32px,5vw,72px);margin-top:18px}.catalog-group{font-family:Cormorant Garamond,serif;font-size:30px;font-style:italic;font-weight:600}.price-list{margin-top:22px;border-top:1px solid var(--rule)}.price-item{display:grid;grid-template-columns:2.4em minmax(0,1fr) auto;align-items:baseline;gap:14px;width:100%;padding:14px 0;border:0;border-bottom:1px solid var(--rule);background:none;text-align:left;cursor:pointer}.price-item .n{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.1em}.price-item .t{font-family:Cormorant Garamond,serif;font-size:clamp(21px,2vw,25px);font-weight:600;line-height:1.15;transition:color .25s var(--ease),transform .35s var(--ease)}.price-item .sub{display:block;margin-top:4px;color:var(--muted);font-family:Manrope,sans-serif;font-size:13px;font-weight:500;line-height:1.4}.price-item .tag{color:var(--accent);font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.price-item:hover .t,.price-item:focus-visible .t,.price-item.is-hot .t{color:#ffd2f4;transform:translate(4px)}.shop-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:110px;padding-top:24px;color:var(--muted)}.shop-foot:before{content:"";position:absolute;top:0;right:40px;left:40px;border-top:1px solid var(--rule)}.shop-foot a:hover{color:var(--ink)}.detail{position:fixed;inset:0;z-index:60;overflow-y:auto;overscroll-behavior:contain;background:radial-gradient(ellipse 50% 60% at 75% 50%,rgba(255,90,217,.08),transparent 70%),var(--sheet);visibility:hidden}.detail.is-open{visibility:visible}.detail-close{position:sticky;top:28px;z-index:3;display:flex;width:-moz-max-content;width:max-content;margin:28px 0 -54px 32px;background:var(--sheet)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:4vw;min-height:100%;padding:100px 6vw 56px 7vw}.detail-text{display:flex;flex-direction:column;gap:16px;max-width:540px}.m{overflow:hidden}.d-label{color:var(--accent)}.d-title{font-family:Cormorant Garamond,serif;font-size:clamp(42px,5vw,78px);font-weight:600;line-height:1;letter-spacing:-.02em;text-wrap:balance}.d-subtitle{color:var(--ink-soft);font-family:Cormorant Garamond,serif;font-size:clamp(20px,2vw,26px);font-style:italic;line-height:1.25}.d-meta{color:var(--muted);line-height:1.5}.d-lead{max-width:48ch;color:var(--ink-soft);font-size:16.5px;line-height:1.6}.d-contents-head{margin-bottom:12px;color:var(--muted)}.d-contents{display:grid;gap:8px;counter-reset:toc}.d-contents li{position:relative;padding-left:34px;font-size:15px;line-height:1.45;counter-increment:toc}.d-contents li:before{content:counter(toc,decimal-leading-zero);position:absolute;top:.15em;left:0;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.08em}.d-actions{display:grid;gap:14px;margin-top:8px}.d-note{max-width:46ch;color:var(--ink-soft);font-size:14.5px;line-height:1.55}.d-btn{display:inline-flex;align-items:center;height:46px;padding:0 22px;border:1px solid var(--accent);background:transparent;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background-color .25s var(--ease),color .25s var(--ease),filter .25s}.d-btn:hover{background:var(--accent);color:var(--bg)}.d-btn.is-primary{border-color:transparent;background:var(--gradient);color:#fff;box-shadow:0 8px 30px #b600a859}.d-btn.is-primary:hover{filter:brightness(1.15)}.detail-poster{display:grid;place-items:center}.detail-poster svg{height:min(76vh,740px);max-width:100%;aspect-ratio:660 / 1000;overflow:visible;filter:drop-shadow(0 40px 60px rgba(0,0,0,.65))}.poster-glow{fill:var(--accent);opacity:.8}@media(max-width:860px){.shop{--guide-h: clamp(180px, 30vh, 250px)}.shop-hero{padding-bottom:48px}.shelf-row{grid-template-areas:"caption" "books" "plank";grid-template-columns:minmax(0,1fr)}.shelf-caption{min-height:0;padding-bottom:24px}.cap-book{display:none}.shelf-books{justify-content:center}.catalog-cols{grid-template-columns:minmax(0,1fr)}.detail-grid{grid-template-columns:minmax(0,1fr);gap:24px;padding:76px 22px 48px}.detail-poster{order:-1}.detail-poster svg{height:44svh}.detail-close{top:16px;margin:18px 0 -44px 16px}.shop-foot:before{right:20px;left:20px}}@media(prefers-reduced-motion:reduce){.book-body,.price-item .t{transition:none}}
