@property --ebook-curl{syntax:"<length>";inherits:true;initial-value:56px}.ebook-book{--ebook-curl:56px;aspect-ratio:1000/1414;transition:transform var(--duration-reveal) var(--ease-reveal), --ebook-curl var(--duration-reveal) var(--ease-reveal);position:relative}.ebook-sheet,.ebook-cover{border-radius:3px 6px 6px 3px;position:absolute;inset:0}.ebook-sheet{background:var(--color-text-primary);border:1px solid var(--color-border-subtle);transition:transform var(--duration-reveal) var(--ease-reveal)}.ebook-sheet-1{transform:translate(3px,3px)}.ebook-sheet-2{opacity:.85;transform:translate(6px,6px)}.ebook-sheet-3{opacity:.7;transform:translate(9px,9px)}.ebook-sheet-1:before{content:"";background:repeating-linear-gradient(180deg, color-mix(in srgb, var(--color-bg-primary) 22%, transparent) 0 6px, transparent 6px 14px);width:30%;height:11%;position:absolute;top:9%;right:9%}.ebook-cover{box-shadow:var(--shadow-elevated);clip-path:polygon(0 0, calc(100% - var(--ebook-curl)) 0, 100% var(--ebook-curl), 100% 100%, 0 100%);transition:box-shadow var(--duration-reveal) var(--ease-reveal);overflow:hidden}.ebook-cover:after{content:"";background:linear-gradient(90deg,#00000059,#0000);width:10px;position:absolute;inset:0 auto 0 0}.ebook-curl{width:var(--ebook-curl);height:var(--ebook-curl);background:linear-gradient(to bottom left, transparent 50%, color-mix(in srgb, var(--color-text-primary) 82%, var(--color-bg-primary)) 50%, var(--color-text-primary) 68%, color-mix(in srgb, var(--color-text-primary) 70%, var(--color-bg-primary)) 100%);filter:drop-shadow(-6px 8px 8px #0006);pointer-events:none;border-bottom-left-radius:60% 40%;position:absolute;top:0;right:0}.ebook-book:hover,.ebook-book:focus-visible{--ebook-curl:104px;transform:translateY(-8px)}.ebook-book:hover .ebook-cover,.ebook-book:focus-visible .ebook-cover{box-shadow:var(--shadow-lime-glow)}.ebook-book:hover .ebook-sheet-2,.ebook-book:focus-visible .ebook-sheet-2{transform:translate(8px,8px)}.ebook-book:hover .ebook-sheet-3,.ebook-book:focus-visible .ebook-sheet-3{transform:translate(12px,12px)}.ebook-book[data-away=true] .ebook-cover,.ebook-book[data-away=true] .ebook-sheet,.ebook-book[data-away=true] .ebook-curl,.ebook-book[data-away=true] .ebook-note{visibility:hidden}.ebook-note{pointer-events:none;justify-items:end;display:grid;position:absolute;bottom:calc(100% - 28px);right:-4px;transform:rotate(-6deg)}.ebook-note-text{white-space:nowrap;padding-right:34px}.ebook-note-sparks{width:22px;height:22px;color:var(--color-accent-primary);transition:transform var(--duration-reveal) var(--ease-reveal);position:absolute;top:-6px;right:8px}.ebook-note-arrow{width:40px;height:46px;color:var(--color-text-primary);transition:transform var(--duration-reveal) var(--ease-reveal);margin-right:14px}.ebook-book:hover .ebook-note-arrow,.ebook-book:focus-visible .ebook-note-arrow{transform:translate(4px,6px)}.ebook-book:hover .ebook-note-sparks,.ebook-book:focus-visible .ebook-note-sparks{transform:scale(1.25)rotate(8deg)}.ebook-bookview{perspective:2400px}.ebook-half.has-page{background:var(--color-text-primary)}.ebook-half img,.ebook-face img{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.ebook-half-left.has-page:after,.ebook-half-right.has-page:after{content:"";pointer-events:none;width:24px;position:absolute;top:0;bottom:0}.ebook-half-left.has-page:after{background:linear-gradient(270deg,#0000002e,#0000);right:0}.ebook-half-right.has-page:after{background:linear-gradient(90deg,#0000002e,#0000);left:0}.ebook-bookview[data-single=true] .ebook-half-right:after{display:none}.ebook-leaf{height:100%;transform-style:preserve-3d;z-index:3;pointer-events:none;position:absolute;top:0}.ebook-face{backface-visibility:hidden;position:absolute;inset:0;overflow:hidden}.ebook-face.has-page{background:var(--color-text-primary)}.ebook-face-back{transform:rotateY(180deg)}@media (prefers-reduced-motion:reduce){.ebook-book,.ebook-sheet,.ebook-cover,.ebook-note-arrow,.ebook-note-sparks{transition:none}.ebook-book:hover,.ebook-book:focus-visible{transform:none}}
