.shelfc{height:100%;color:var(--fg);grid-template-rows:auto 1fr auto;font-family:ui-monospace,SF Mono,JetBrains Mono,Menlo,monospace;display:grid;position:relative;overflow:hidden}.shelfc-mast{letter-spacing:.18em;text-transform:uppercase;opacity:.55;justify-content:space-between;padding:26px 32px 0;font-size:10px;display:flex}.shelfc-mast-role{opacity:.7}.shelfc-stage{perspective-origin:calc(50% + var(--px,0) * var(--par-x) * 1%) calc(50% + var(--py,0) * var(--par-y) * 1%);place-items:center;min-height:0;display:grid}.shelfc-world{transform-style:preserve-3d;position:relative}.shelfc-row{transform-style:preserve-3d;align-items:flex-end;display:flex}.shelfc-place{transform-style:preserve-3d;flex:none}[data-motion=on] .shelfc-place[data-reveal]{transition:opacity var(--reveal-dur) var(--reveal-ease) var(--reveal-delay), translate var(--reveal-dur) var(--reveal-ease) var(--reveal-delay), rotate var(--reveal-dur) var(--reveal-ease) var(--reveal-delay), scale var(--reveal-dur) var(--reveal-ease) var(--reveal-delay)}[data-motion=on] .shelfc-place[data-reveal-kind=place]{transition-property:translate,opacity}[data-motion=on] .shelfc-place[data-reveal=pending][data-reveal-kind=place]{translate:0 calc(var(--reveal-drop) * -1)}[data-motion=on] .shelfc-place[data-reveal=pending][data-fade=true]{opacity:0}.shelfc-slot{--dur:var(--dur-close);--ease:var(--ease-close);--tdelay:var(--tdelay-close)}.shelfc-slot[data-on=true]{--dur:var(--dur-open);--ease:var(--ease-open);--tdelay:var(--tdelay-open)}.shelfc-slot{width:var(--t);height:var(--h);appearance:none;color:inherit;font:inherit;text-align:inherit;transform-style:preserve-3d;transform-origin:50% 100%;transform:translate3d(calc(var(--shift) * 1px), calc(var(--lift) * -1px), calc(var(--pull) * 1px)) scale(var(--zs,1)) rotate(calc(var(--lean,0) * 1deg));transition:transform var(--dur) var(--ease) var(--tdelay), opacity var(--dur-close) var(--ease-close) 0s;background:0 0;border:0;margin:0;padding:0;display:block;position:relative}.shelfc-slot[data-on=true]{transition:transform var(--dur) var(--ease) 0s, opacity var(--dur-open) var(--ease-open) 0s}.shelfc-turn{transform-style:preserve-3d;transform:translate3d(0, calc(var(--hint-y,0) * -1px), calc(var(--hint,0) * 1px)) rotateY(calc(var(--yaw) * -1deg));--tilt-amt:0;transition:transform var(--dur) var(--ease), --tilt-amt var(--dur) var(--ease);transition-delay:0s;position:absolute;inset:0}.shelfc-slot[data-on=true] .shelfc-turn{--tilt-amt:1}.shelfc-slot[data-peek=true] .shelfc-turn{transition-duration:.2s}.shelfc-slot[data-click=true]{cursor:pointer}.shelfc-slot:focus{outline:none}.shelfc-stage[data-notes=true] .shelfc-slot:not([data-on=true]){cursor:default}.shelfc-slot[data-on=true] .shelfc-turn{transition-delay:var(--tdelay)}@property --tilt-amt{syntax:"<number>";inherits:true;initial-value:0}.shelfc-book{transform-style:preserve-3d;transform:rotateY(calc(var(--px,0) * var(--tilt) * var(--tilt-amt) * 1deg)) rotateX(calc(var(--py,0) * var(--tilt) * var(--tilt-amt) * -.6deg));position:absolute;inset:0}.shelfc-face{transform-origin:50%;backface-visibility:hidden;position:absolute;top:50%;left:50%}.shelfc-spineface{width:var(--t);height:var(--h);transform:translate(-50%, -50%) translateZ(calc(var(--w) / 2));background:var(--spine);color:var(--ink);flex-direction:column;display:flex;overflow:hidden}.shelfc-spineface:after{content:"";z-index:2;pointer-events:none;box-shadow:inset 5px 0 11px -6px rgba(0, 0, 0, calc(var(--ao) * .9)), inset -5px 0 11px -6px rgba(0, 0, 0, calc(var(--ao) * .7)), inset 0 -30px 40px -34px rgba(0, 0, 0, calc(var(--ao) * .8));transition:box-shadow var(--dur) var(--ease);position:absolute;inset:0}.shelfc-slot[data-on=true] .shelfc-spineface:after{box-shadow:inset 5px 0 11px -6px rgba(0, 0, 0, calc(var(--ao) * .2)), inset -5px 0 11px -6px rgba(0, 0, 0, calc(var(--ao) * .15))}.shelfc-spineface:before{content:"";z-index:3;pointer-events:none;opacity:0;box-shadow:inset 0 0 0 2px var(--ink), inset 0 0 0 4px var(--spine);transition:opacity .12s linear;position:absolute;inset:0}.shelfc-slot:focus-visible .shelfc-spineface:before{opacity:1}.shelfc-spine-type{writing-mode:vertical-rl;flex:1;justify-content:space-between;align-items:center;gap:10px;min-height:0;padding:16px 0;display:flex}.shelfc-spineface[data-dir=bottom-up] .shelfc-spine-type{transform:rotate(180deg)}.shelfc-spine-title{font-size:clamp(8px, calc(var(--t) * .42), 15px);letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.shelfc-spine-type[data-serif=true] .shelfc-spine-title{letter-spacing:.01em;font-family:ui-serif,Georgia,Iowan Old Style,Times New Roman,serif;font-weight:500}.shelfc-spine-author{font-size:clamp(6px, calc(var(--t) * .26), 9px);letter-spacing:.1em;text-transform:uppercase;opacity:.62;white-space:nowrap;flex-shrink:1;overflow:hidden}.shelfc-band{height:calc(var(--t) * .9);background:var(--accent);opacity:.9;margin:0 22% 12px;display:block}.shelfc-art{object-fit:cover;z-index:1;width:100%;height:100%;display:block;position:absolute;inset:0}.shelfc-cover{width:var(--w);height:var(--h);transform:translate(-50%, -50%) rotateY(90deg) translateZ(calc(var(--t) / 2));background:var(--cover);color:var(--ink);overflow:hidden}.shelfc-cover:after{content:"";opacity:var(--sheen);pointer-events:none;z-index:2;background:linear-gradient(105deg,#ffffff80 0%,#fff0 42%),linear-gradient(90deg,#00000047 0%,#0000 14%);position:absolute;inset:0}.shelfc-cover-inner{flex-direction:column;padding:9% 9% 8%;display:flex;position:absolute;inset:0}.shelfc-cover-inner h2{font-size:clamp(16px, calc(var(--w) * .115), 40px);letter-spacing:-.02em;margin:0;font-weight:650;line-height:1.02}.shelfc-cover-inner h2[data-serif=true]{letter-spacing:0;font-family:ui-serif,Georgia,Iowan Old Style,Times New Roman,serif;font-weight:500}.shelfc-cover-inner p{letter-spacing:.16em;text-transform:uppercase;opacity:.7;margin:10px 0 0;font-size:10px}.shelfc-mark{opacity:.85;border:1.5px solid;border-radius:50%;width:26px;height:26px;margin-top:auto;position:relative}.shelfc-mark:after{content:"";background:var(--accent);border-radius:50%;position:absolute;inset:42%}.shelfc-cover-inner small{letter-spacing:.22em;text-transform:uppercase;opacity:.55;margin-top:10px;font-size:8px}.shelfc-back{width:var(--w);height:var(--h);transform:translate(-50%, -50%) rotateY(-90deg) translateZ(calc(var(--t) / 2));background:var(--spine);filter:brightness(.82)}.shelfc-pages{width:var(--t);height:var(--h);transform:translate(-50%, -50%) rotateY(180deg) translateZ(calc(var(--w) / 2));filter:brightness(.9);background:repeating-linear-gradient(90deg,#efe8d8 0 1px,#dcd3bf 1px 2px)}.shelfc-top{width:var(--t);height:var(--w);transform:translate(-50%, -50%) rotateX(90deg) translateZ(calc(var(--h) / 2));background:linear-gradient(90deg, var(--spine) 0 12%, #e9e1cf 12% 88%, var(--spine) 88% 100%);filter:brightness(.94)}.shelfc-plank{width:112%;height:0;transform-style:preserve-3d;transform:translateZ(var(--front));position:absolute;top:100%;left:-6%}.shelfc-plank-top{height:var(--depth);transform-origin:50% 0;background:var(--plank);background-image:radial-gradient(120% 90% at 50% 0,#0003,#0000 62%);position:absolute;top:0;left:0;right:0;transform:rotateX(-90deg)}.shelfc-plank-face{height:var(--thick);background:var(--plank);background-image:linear-gradient(#ffffff8c,#00000024);position:absolute;top:0;left:0;right:0;box-shadow:inset 0 1px #ffffff80}.shelfc-contact{width:calc(var(--t) + 26px);height:calc(var(--w) * .9);transform-origin:50% 0;transform:translate(-50%, -1px) translateZ(calc(var(--w) / 2)) rotateX(-90deg);background:radial-gradient(68% 62% at 50% 26%, rgba(0, 0, 0, calc(var(--contact) * .75)), #0000 74%);filter:blur(6px);pointer-events:none;transition:opacity var(--dur) var(--ease), filter var(--dur) var(--ease);position:absolute;top:100%;left:50%}.shelfc-slot[data-on=true] .shelfc-contact{opacity:.55;filter:blur(13px)}.shelfc-caption{opacity:.35;flex-direction:column;gap:6px;padding:0 32px 30px;transition:opacity .3s;display:flex}.shelfc-caption[data-on=true]{opacity:1}.shelfc-caption-title{letter-spacing:-.01em;font-family:ui-serif,Georgia,Iowan Old Style,Times New Roman,serif;font-size:22px}.shelfc-caption-meta{letter-spacing:.18em;text-transform:uppercase;opacity:.55;font-size:10px}.shelfc-notes{top:50%;right:var(--notes-x,90px);width:var(--notes-w);z-index:3;pointer-events:none;opacity:0;max-width:42vw;transition:opacity var(--dur-close) var(--ease-close) 0s, translate var(--dur-close) var(--ease-close) 0s;position:absolute;transform:translateY(-50%)translateY(10px)}.shelfc-notes[data-on=true]{opacity:1;transition:opacity var(--dur-open) var(--ease-open) var(--tdelay-open), translate var(--dur-open) var(--ease-open) var(--tdelay-open);translate:0}.shelfc-notes-kicker{letter-spacing:.22em;text-transform:uppercase;opacity:.5;margin:0 0 14px;font-size:10px}.shelfc-notes-title{letter-spacing:-.02em;margin:0 0 6px;font-size:clamp(24px,2.4vw,38px);font-weight:600;line-height:1.06}.shelfc-notes-title[data-serif=true]{letter-spacing:0;font-family:ui-serif,Georgia,Iowan Old Style,Times New Roman,serif;font-weight:500}.shelfc-notes-meta{letter-spacing:.18em;text-transform:uppercase;opacity:.55;margin:0 0 22px;font-size:10px}.shelfc-notes-body{opacity:.82;max-width:46ch;margin:0 0 14px;font-family:ui-serif,Georgia,Iowan Old Style,Times New Roman,serif;font-size:15px;line-height:1.62}.shelfc-notes-body:last-child{margin-bottom:0}.shelfc-stage[data-notes=true] .shelfc-slot:not([data-on=true]),.shelfc-stage[data-notes=true] .shelfc-plank-top,.shelfc-stage[data-notes=true] .shelfc-plank-face{opacity:calc(1 - var(--dim))}.shelfc-plank-top,.shelfc-plank-face{transition:opacity var(--dur-close) var(--ease-close)}.shelfc-stage[data-notes=true] .shelfc-plank-top,.shelfc-stage[data-notes=true] .shelfc-plank-face{transition:opacity var(--dur-open) var(--ease-open)}*{box-sizing:border-box}html,body,#root{height:100%}body{-webkit-font-smoothing:antialiased;background:#fdfcfb;margin:0}
