@import"https://fonts.googleapis.com/css2?family=Fraunces:wght@400;600;700&family=Manrope:wght@300;400;500;600&display=swap";:root{color-scheme:light;font-family:Manrope,system-ui,sans-serif;background-color:#f7f3ee;color:#16140f;--ink: #16140f;--muted: #6b6257;--accent: #c57c49;--accent-soft: rgba(197, 124, 73, .2);--card: #fbf8f3;--shadow: 0 30px 60px rgba(18, 16, 12, .15)}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;background:radial-gradient(circle at 15% 20%,rgba(197,124,73,.12),transparent 55%),radial-gradient(circle at 80% 10%,rgba(40,35,30,.08),transparent 60%),#f7f3ee}#root{min-height:100vh}.app{display:flex;flex-direction:column;gap:32px;padding:48px 48px 32px}.hero{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px}.hero h1{font-family:Fraunces,serif;font-weight:600;font-size:clamp(2rem,3vw,3.2rem);max-width:720px;line-height:1.1}.eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;color:var(--muted)}.subhead{margin-top:12px;color:var(--muted);max-width:540px;font-size:1rem;line-height:1.6}.controls{display:flex;align-items:center}.toggle{display:inline-flex;align-items:center;gap:8px;background:var(--card);border:1px solid rgba(22,20,15,.08);border-radius:999px;padding:6px;font-size:.85rem}.toggle span{margin-right:4px;color:var(--muted)}.toggle button{border:none;background:transparent;padding:6px 12px;border-radius:999px;cursor:pointer;font-weight:600;color:var(--muted)}.toggle button.is-active{background:var(--accent);color:#fff}.banner{background:#1814101a;border:1px solid rgba(24,20,16,.2);padding:10px 16px;border-radius:12px;color:var(--muted)}.shelf{position:relative;background:linear-gradient(180deg,#26201a14,#26201a1f);border-radius:20px;padding:24px 16px 32px;overflow:visible}.shelf:before{content:"";position:absolute;top:18px;right:18px;bottom:18px;left:18px;border-radius:16px;background:repeating-linear-gradient(90deg,rgba(24,20,16,.08) 0,rgba(24,20,16,.08) 2px,transparent 2px,transparent 12px);pointer-events:none}.shelf-track{position:relative;display:flex;gap:6px;overflow-x:auto;overflow-y:visible;padding:12px 4px 24px;scroll-snap-type:x mandatory;cursor:grab;-webkit-user-select:none;user-select:none}.shelf-track:active{cursor:grabbing}.shelf-track::-webkit-scrollbar{height:6px}.shelf-track::-webkit-scrollbar-thumb{background:#18141033;border-radius:999px}.spine{border:none;background:linear-gradient(180deg,color-mix(in srgb,var(--spine-color, #2f2721) 75%,#000 25%),var(--spine-color, #2f2721) 50%,color-mix(in srgb,var(--spine-color, #2f2721) 70%,#fff 30%));border-radius:8px;min-width:24px;flex:0 0 auto;height:240px;padding:44px 4px 12px;color:#f7f3ee;position:relative;cursor:pointer;scroll-snap-align:center;display:flex;align-items:flex-end;justify-content:center;transition:transform .2s ease,box-shadow .2s ease}.spine:after{content:"";position:absolute;top:8px;right:5px;bottom:8px;left:5px;border-radius:6px;background:linear-gradient(180deg,rgba(255,255,255,.12),transparent 60%);mix-blend-mode:screen}.spine-cap{position:absolute;top:0;left:0;right:0;height:40px;background:#f2efe9;border-radius:8px 8px 0 0;display:flex;align-items:center;justify-content:center}.spine-cap img{height:70%;width:auto;max-width:70%;padding:2px 0;transform:rotate(-90deg) scale(var(--logo-scale, 1));opacity:.95}.spine:hover,.spine:focus-visible{transform:translateY(-6px);box-shadow:0 20px 30px #100c0833}.spine-year{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--spine-text, #f7f3ee)}.tooltip{position:absolute;top:0;left:0;transform:translate(-50%,-100%);background:var(--card);border-radius:14px;padding:12px 14px;box-shadow:var(--shadow);z-index:5;width:min(240px,75vw)}.tooltip-title{display:flex;justify-content:space-between;font-weight:600}.tooltip-copy{margin-top:8px;font-size:.85rem;color:var(--muted);line-height:1.4}.tooltip-count{color:var(--muted);font-size:.85rem}.tooltip-section{margin-top:12px}.tooltip-section p{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:6px}.tooltip-section ul{list-style:none;display:grid;gap:4px}.tooltip-section li{display:flex;justify-content:space-between;font-size:.85rem}.tooltip-bars{display:grid;gap:6px}.tooltip-bar span{font-size:.75rem;color:var(--muted)}.tooltip-bar-track{background:#18141014;height:6px;border-radius:999px;overflow:hidden}.tooltip-bar-fill{height:100%;background:var(--accent)}.tooltip-close{position:absolute;top:8px;right:10px;border:none;background:transparent;font-size:1.2rem;cursor:pointer;color:var(--muted)}.loading,.error{margin-top:16px;color:var(--muted)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0e0c0a99;display:flex;align-items:center;justify-content:center;padding:24px;z-index:10}.modal{background:#fbf8f3;border-radius:20px;width:min(1100px,96vw);max-height:92vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow);padding:24px 28px 32px}.modal.is-single{max-height:98vh}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:16px}.modal-header h2{font-family:Fraunces,serif;font-size:2rem}.modal-eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;color:var(--muted)}.modal-actions{display:flex;align-items:center;gap:12px}button.ghost{border:1px solid rgba(24,20,16,.2);background:transparent;padding:8px 14px;border-radius:999px;cursor:pointer}button.close{border:none;background:#1c1813;color:#f7f3ee;padding:8px 16px;border-radius:999px;cursor:pointer}.copy-status{font-size:.8rem;color:var(--muted)}.modal-content{margin-top:20px;display:grid;gap:24px;overflow:auto;min-height:0}.modal.is-single .modal-content{overflow:visible}.offerings{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:24px}.offerings-summary h3,.offerings-grid h3{font-family:Fraunces,serif;font-size:1.4rem;margin-bottom:12px}.offerings-count{margin-bottom:16px;color:var(--muted)}.facet-bars ul{list-style:none;display:grid;gap:10px}.facet-bars li{display:grid;grid-template-columns:1fr 3fr auto;gap:8px;align-items:center;font-size:.85rem}.facet-bars h4{font-size:.85rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:12px 0 8px}.facet-track{height:6px;background:#1814101a;border-radius:999px;overflow:hidden}.facet-fill{height:100%;background:var(--accent)}.works-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px}.work-card{border:1px solid rgba(24,20,16,.1);border-radius:14px;background:#fff;padding:10px;cursor:pointer;display:flex;flex-direction:column;gap:8px;transition:transform .2s ease,box-shadow .2s ease}.work-card.is-active{border-color:var(--accent);box-shadow:0 16px 24px #1814101a}.work-card:hover{transform:translateY(-4px)}.work-cover{width:100%;aspect-ratio:3 / 4;background:#f1ece6;border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center}.work-cover img{width:100%;height:100%;object-fit:cover}.work-card.is-single .work-cover{width:66%;margin:0 auto}.work-card.is-single .work-cover img{width:100%;height:100%;object-fit:contain}.work-cover-fallback{font-size:.7rem;color:var(--muted)}.work-meta{display:grid;gap:4px}.work-title{font-weight:600;font-size:.9rem}.work-author{font-size:.75rem;color:var(--muted)}.work-year{font-size:.7rem;color:var(--muted)}.work-detail{background:#f7f1eb;padding:16px;border-radius:12px;border:1px solid rgba(24,20,16,.08)}.work-detail h4{font-family:Fraunces,serif;font-size:1.2rem;margin-bottom:6px}.work-formats{margin-top:8px;font-size:.85rem;color:var(--muted)}.footer{color:var(--muted);font-size:.8rem}.debug-panel{display:grid;gap:12px;background:#fff4e8;border:1px solid rgba(197,124,73,.4);padding:12px 16px;border-radius:12px;color:#4a3a2e}.debug-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.2em}.debug-subtitle{margin-top:4px;font-size:.85rem;color:#6b5a4e}.debug-output{background:#f7eadc;border-radius:10px;padding:10px;font-size:.75rem;white-space:pre-wrap}@media (max-width: 900px){.app{padding:32px 20px 24px}.offerings{grid-template-columns:1fr}.modal{padding:20px}.modal-header{flex-direction:column;align-items:flex-start}.spine{height:200px}}@media (max-width: 600px){.hero{flex-direction:column}.tooltip{width:min(240px,90vw)}.works-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}}
