.mats,.reader{--room-cream:#faf5ec;--room-paper:#fffdf8;--room-butter:#f3e3c8;--room-butter-wash:#f3e3c880;--room-rail:#e4cfa8;--room-rail-edge:#d3b98b;--room-rail-deep:#a88e66;--room-ink:#3a4652;--room-ink-soft:#5c6874;--room-clay:#c0754d;--room-clay-deep:#a8613d;--room-teal:#4e9a8e;--room:var(--font-room),var(--jp);--room-cgap:20px}body:has(.mats){--room-cream:#faf5ec;--room-paper:#fffdf8;--room-butter:#f3e3c8;--room-butter-wash:#f3e3c880;--room-rail:#e4cfa8;--room-rail-edge:#d3b98b;--room-rail-deep:#a88e66;--room-ink:#3a4652;--room-ink-soft:#5c6874;--room-clay:#c0754d;--room-clay-deep:#a8613d;--room-teal:#4e9a8e;--room:var(--font-room),var(--jp);--room-cgap:20px}body:has(.reader){--room-cream:#faf5ec;--room-paper:#fffdf8;--room-butter:#f3e3c8;--room-butter-wash:#f3e3c880;--room-rail:#e4cfa8;--room-rail-edge:#d3b98b;--room-rail-deep:#a88e66;--room-ink:#3a4652;--room-ink-soft:#5c6874;--room-clay:#c0754d;--room-clay-deep:#a8613d;--room-teal:#4e9a8e;--room:var(--font-room),var(--jp);--room-cgap:20px}body:has(.mats){background-color:var(--room-cream);background-image:linear-gradient(180deg, var(--bg) 0, var(--bg) 115px, #edebf0 157px, #f0eeef 199px, #f5f1ed 241px, #f8f4ec 283px, var(--room-cream) 325px);background-repeat:no-repeat}.mhero{padding-top:40px;padding-bottom:18px}.mhero h1{color:var(--room-ink);margin-top:0}.mhero .lead{max-width:34em;margin-top:18px}.room{padding-top:38px;padding-bottom:10px;position:relative}.room-lamp{pointer-events:none;background:radial-gradient(56% 44% at 50% 34%,#f3e3c8eb 0%,#f3e3c880 40%,#f3e3c800 70%);height:560px;animation:.3s ease-out both room-lamp-in;position:absolute;top:-60px;left:0;right:0}@keyframes room-lamp-in{0%{opacity:0}to{opacity:1}}.room-in{--maxw:1320px;position:relative}.room-band+.room-band{margin-top:92px}.aisle{flex-direction:column;align-items:center;margin-bottom:46px;display:flex}.aisle-cord{flex:none;width:86px;height:26px;position:relative}.aisle-cord:before,.aisle-cord:after{content:"";background:linear-gradient(180deg,#cbb693,var(--room-rail-deep));border-radius:2px;width:3px;position:absolute;top:0;bottom:0}.aisle-cord:before{left:14px;transform:rotate(4deg)}.aisle-cord:after{right:14px;transform:rotate(-4deg)}.aisle-board{font-family:var(--room);letter-spacing:.07em;color:var(--room-ink);background:linear-gradient(180deg,var(--room-rail) 0%,var(--room-rail-edge) 100%);border:1px solid var(--room-rail-deep);border-bottom-width:5px;border-radius:14px;padding:15px 34px;font-size:24px;font-weight:700;line-height:1.35;box-shadow:0 16px 28px -16px #3a4652b8}.shelf{-moz-column-gap:var(--room-cgap);column-gap:var(--room-cgap);grid-template-columns:repeat(2,1fr);row-gap:34px;margin:0;padding:0;list-style:none;display:grid}.slot{flex-direction:column;min-width:0;display:flex}.slot-rail{height:11px;margin:0 calc(var(--room-cgap) / -2);background:linear-gradient(180deg,#eedcbb 0%,var(--room-rail) 62%);border-bottom:3px solid var(--room-rail-edge);border-radius:0;flex:none;display:block;box-shadow:0 8px 16px -12px #3a46528c}.vol{appearance:none;cursor:pointer;perspective:1100px;background:0 0;border:0;width:100%;margin:0;padding:0;display:block;position:relative}.vol:focus-visible{outline:2px solid var(--room-clay-deep);outline-offset:6px;border-radius:10px}.vol-body{aspect-ratio:1;width:100%;transform-style:preserve-3d;transform-origin:50% 100%;transition:transform .22s cubic-bezier(.2,.7,.2,1);display:block;position:relative;transform:rotateY(-14deg)}.vol:hover .vol-body,.vol:focus-visible .vol-body{transform:rotateY(-4deg)translateY(-6px)}.vol-face{background:var(--room-paper);border-radius:3px 7px 7px 3px;position:absolute;inset:0;overflow:hidden;box-shadow:0 1px 2px #3a465238,0 18px 30px -22px #3a4652bf}.vol-cover{-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top;width:100%;height:100%;display:block}.vol-blank{background:linear-gradient(180deg,var(--room-paper),var(--room-butter));width:100%;height:100%;display:block}.vol-spine{background:linear-gradient(90deg,#fffdf8 0%,#f7efe1 58%,#e7dac3 100%);width:11px;position:absolute;top:0;bottom:0;left:0;box-shadow:1px 0 3px #3a465229}.vol-edge{transform-origin:100%;background:repeating-linear-gradient(90deg,#fffdf8 0 2px,#ebe1cd 2px 3.5px,#faf5ea 3.5px 5.5px);border-radius:1px;width:34px;position:absolute;top:2px;bottom:2px;right:0;transform:rotateY(-90deg)}.vol-cast{background:radial-gradient(60% 100% at 48% 0,#3a465257 0%,#3a465224 45%,#3a465200 76%);height:16px;position:absolute;bottom:-9px;left:4%;right:0}.vol-ribbon{z-index:3;font-family:var(--room);color:#fff;background:var(--room-clay);white-space:nowrap;border-radius:7px;padding:4px 10px;font-size:11px;font-weight:700;line-height:1.5;position:absolute;top:-10px;left:-6px;box-shadow:0 8px 16px -10px #3a4652d9}.vol-ribbon:after{content:"";border-style:solid;border-width:5px 7px 0 0;border-color:var(--room-clay-deep) transparent transparent transparent;position:absolute;bottom:-5px;left:1px}.vol-num{z-index:2;min-width:28px;height:28px;font-family:var(--room);font-variant-numeric:tabular-nums;color:var(--room-clay-deep);background:var(--room-paper);border-radius:9px;justify-content:center;align-items:center;padding:0 7px;font-size:15px;font-weight:700;line-height:1;display:flex;position:absolute;bottom:9px;right:9px;box-shadow:0 2px 6px -1px #3a46526b,0 0 0 1px #a8613d2e}.slot-title{font-family:var(--room);color:var(--room-ink);margin-top:15px;font-size:18px;font-weight:700;line-height:1.35}.shelf-empty{text-align:center;max-width:820px;color:var(--muted);margin:0 auto;padding:60px 0;font-weight:600}.sheet-root{z-index:200;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.sheet-scrim{background:#2b354070;animation:.2s ease-out both sheet-scrim-in;position:absolute;inset:0}@keyframes sheet-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-fade{0%{opacity:0}to{opacity:1}}.sheet{background:var(--room-paper);--accent:var(--room-clay);--accent-deep:var(--room-clay-deep);--accent-soft:#f0dccb;--ink:var(--room-ink);--ink-soft:var(--room-ink-soft);border-radius:24px;width:min(760px,100%);max-height:85vh;animation:.24s cubic-bezier(.2,.7,.2,1) both sheet-in;position:relative;overflow-y:auto;box-shadow:0 24px 70px -34px #2b3540e6}@keyframes sheet-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.sheet:focus{outline:none}.sheet:focus-visible{outline:2px solid var(--room-clay-deep);outline-offset:-4px}.sheet-in{padding:34px 34px 40px}.sheet-title{font-family:var(--room);color:var(--room-ink);margin-top:0;font-size:clamp(1.6rem,4.2vw,2.05rem);font-weight:700;line-height:1.25}.sheet-num{color:var(--room-ink-soft);font-weight:500}.sheet-actions{align-items:center;gap:12px;margin-top:22px;display:flex}.sheet-open{font-family:var(--room);color:#fff;background:var(--room-clay);border-radius:var(--pill);align-items:center;gap:8px;padding:13px 24px;font-size:15px;font-weight:700;text-decoration:none;transition:background .2s,transform .2s;display:inline-flex}.sheet-open:hover{background:var(--room-clay-deep);transform:translateY(-1px)}.sheet-dl{width:46px;height:46px;color:var(--room-clay);background:var(--room-paper);border:1.5px solid var(--room-rail);border-radius:50%;flex:none;justify-content:center;align-items:center;transition:background .2s,border-color .2s,color .2s,transform .2s;display:inline-flex}.sheet-dl:hover{background:var(--room-butter-wash);border-color:var(--room-rail-deep);color:var(--room-clay-deep);transform:translateY(-1px)}.sheet-guide{background:var(--room-butter-wash);border:1px solid var(--room-rail);border-radius:var(--r-sm);margin-top:28px;padding:24px 26px 8px}.sheet-guide-title{font-family:var(--room);color:var(--room-ink);align-items:center;gap:9px;margin-bottom:14px;font-size:15px;font-weight:700;display:flex}.sheet-guide-title:before{content:"";background:var(--room-teal);border-radius:50%;flex:none;width:9px;height:9px}@media (min-width:700px){.mats{--room-cgap:26px}.shelf{grid-template-columns:repeat(5,1fr);row-gap:46px}.slot-title{font-size:20px}.vol-num{border-radius:10px;min-width:32px;height:32px;font-size:17px;bottom:11px;right:11px}}@media (max-width:600px){.sheet{max-height:80vh}.sheet-in{padding:26px 22px 34px}.sheet-guide{padding:20px 18px 6px}.sheet-open{flex:1;justify-content:center;min-width:0}}@media (prefers-reduced-motion:reduce){.room-lamp{opacity:1;animation:none}.vol-body{transition:none}.sheet-scrim{animation:none}.sheet{animation-name:sheet-fade}}
