.reading-room{z-index:50;perspective:2400px;perspective-origin:50% 45%;opacity:0;background:#0906048c;place-items:center;padding:4vmin;transition:opacity .38s;display:grid;position:fixed;inset:0}.reading-room[data-state=open]{opacity:1}.book{--spread-width:min(92vw, 880px);--spread-height:min(76vh, 600px);--from-x:0px;--from-y:0px;--from-scale-x:.06;--from-scale-y:.06;--from-turn:74deg;width:var(--spread-width);height:var(--spread-height);transform-style:preserve-3d;translate:var(--from-x) var(--from-y);scale:var(--from-scale-x) var(--from-scale-y);rotate:y var(--from-turn);transition:translate .46s cubic-bezier(.22,.61,.36,1),scale .46s cubic-bezier(.22,.61,.36,1),rotate .46s cubic-bezier(.22,.61,.36,1);position:relative}.book[data-state=open]{translate:0;rotate:y 0deg;scale:1}.book__boards{background:linear-gradient(100deg, color-mix(in srgb, var(--board) 82%, #000) 0%, var(--board) 34%, color-mix(in srgb, var(--board) 88%, #000) 100%);border-radius:2px 5px 5px 2px;width:100%;height:100%;padding:clamp(7px,1.5%,16px);box-shadow:0 30px 60px -20px #000000bf,0 4px 14px #0006}.book__block{background:var(--paper);background-image:repeating-linear-gradient(90deg,#0000000d 0 1px,#0000 1px 3px),repeating-linear-gradient(270deg,#0000000d 0 1px,#0000 1px 3px);background-position:0,100%;background-repeat:no-repeat;background-size:7px 100%,7px 100%;border-radius:1px 3px 3px 1px;grid-template-columns:1fr 1fr;width:100%;height:100%;display:grid;position:relative;box-shadow:inset 0 -3px 5px -3px #0000004d,inset 6px 0 9px -6px #00000057,inset -6px 0 9px -6px #00000057}.book__block:after{content:"";inset-block:0;pointer-events:none;background:linear-gradient(90deg,#0000 0%,#00000021 38%,#00000038 50%,#00000021 62%,#0000 100%);width:12%;position:absolute;left:50%;translate:-50%}.book__leaf{flex-direction:column;min-width:0;min-height:0;padding:clamp(14px,3.4%,34px);display:flex;position:relative}.book__cover{object-fit:contain;filter:drop-shadow(0 8px 16px #0000006b);border-radius:1px;flex:1;width:100%;min-height:0;margin:auto;display:block}.book__cloth{aspect-ratio:2/3;background:var(--board);border-radius:1px 3px 3px 1px;flex-direction:column;flex:1;justify-content:flex-end;width:auto;max-width:100%;min-height:0;margin:auto;padding:10% 9%;display:flex;box-shadow:inset -1px 0 #ffffff1a,0 6px 18px -6px #00000080}.book__cloth-title{font-family:var(--font-spine), system-ui, sans-serif;font-variation-settings:"wdth" 86;color:var(--cloth-text);font-size:clamp(13px,1.5vw,19px);font-weight:600;line-height:1.2}.book__cloth-author{font-family:var(--font-card), ui-monospace, monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--cloth-text);opacity:.72;margin-top:.7em;font-size:clamp(9px,1vw,12px)}.book__head{border-bottom:1px solid #261c1229;padding-bottom:.7em}.book__title{font-family:var(--font-body), Georgia, serif;color:var(--ink);font-size:clamp(15px,1.9vw,23px);line-height:1.18}.book__byline{font-family:var(--font-card), ui-monospace, monospace;letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb, var(--ink) 58%, transparent);margin-top:.35em;font-size:clamp(9px,1vw,11px)}.book__stars{align-items:baseline;gap:.5em;margin-top:.9em;font-size:clamp(13px,1.5vw,17px);line-height:1;display:flex}.book__star{color:color-mix(in srgb, var(--ink) 22%, transparent);display:block;position:relative}.book__star-fill{color:#a8792a;position:absolute;inset:0;overflow:hidden}.book__score{font-family:var(--font-card), ui-monospace, monospace;font-variant-numeric:tabular-nums;color:color-mix(in srgb, var(--ink) 62%, transparent);font-size:clamp(9px,1vw,11px)}.book__readers{font-family:var(--font-card), ui-monospace, monospace;letter-spacing:.06em;font-variant-numeric:tabular-nums;color:color-mix(in srgb, var(--ink) 70%, transparent);flex-direction:column;gap:.25em;margin-top:.7em;font-size:clamp(9px,1vw,11px);display:flex}.book__readers-label{letter-spacing:.16em;text-transform:uppercase;min-width:6.4em;display:inline-block}.book__readers-score{color:var(--ink);font-weight:700}.book__pages{flex:1;min-height:0;margin-top:1em;position:relative;overflow:hidden}.book__review{column-width:var(--leaf,100%);column-gap:var(--page-gap,40px);column-fill:auto;height:100%;font-family:var(--font-body), Georgia, serif;color:var(--ink);-webkit-hyphens:auto;hyphens:auto;text-align:justify;translate:calc(var(--page,0) * -1 * (var(--leaf,0px) + var(--page-gap,40px))) 0;font-size:clamp(12px,1.25vw,15px);line-height:1.62;transition:translate .34s cubic-bezier(.2,.7,.2,1)}@media (prefers-reduced-motion:reduce){.book__review{transition:none}}.book__turn{font-family:var(--font-card), ui-monospace, monospace;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb, var(--ink) 50%, transparent);justify-content:flex-end;align-items:center;gap:.9em;padding-top:.5em;display:flex}.book__turn>*{font-size:clamp(8px,.85vw,10px)}.book__turn button{font:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:.2em .35em}.book__turn button:hover:not(:disabled){color:var(--ink)}.book__turn button:disabled{opacity:.3;cursor:default}.book__review p+p{text-indent:1.4em;margin-top:.85em}.book__unwritten{font-family:var(--font-card), ui-monospace, monospace;letter-spacing:.16em;text-transform:uppercase;color:color-mix(in srgb, var(--ink) 34%, transparent);flex:1;place-content:center;font-size:clamp(9px,1vw,11px);display:grid}.book__colophon{font-family:var(--font-card), ui-monospace, monospace;letter-spacing:.06em;color:color-mix(in srgb, var(--ink) 70%, transparent);border-top:1px solid #261c1229;margin-top:1em;padding-top:.7em;font-size:clamp(8px,.85vw,10px);line-height:1.7}.book__close{font-family:var(--font-card), ui-monospace, monospace;letter-spacing:.16em;text-transform:uppercase;color:#e6dccda6;font-size:10px;position:absolute;top:-2.6rem;right:0}.book__close:hover{color:#f0e8da}@media (prefers-reduced-motion:reduce){.book{opacity:0;transition:opacity .18s;translate:0;rotate:none;scale:1}.book[data-state=open]{opacity:1}}.plate{color:#6b4f22;border-top:1px solid #261c1229;flex-direction:column;flex:none;align-items:center;gap:3px;margin-top:clamp(10px,3%,20px);padding-top:clamp(8px,2.4%,16px);display:flex}.plate__device{opacity:.8;width:clamp(34px,4.6vw,54px);height:clamp(34px,4.6vw,54px)}.plate__legend{font-family:var(--font-card), ui-monospace, monospace;letter-spacing:.28em;text-indent:.28em;text-transform:uppercase;color:color-mix(in srgb, var(--ink) 70%, transparent);font-size:clamp(8px,.9vw,10px)}.plate__owner{font-family:var(--font-body), Georgia, serif;color:color-mix(in srgb, var(--ink) 74%, transparent);font-size:clamp(10px,1.1vw,13px);font-style:italic}.book__actions{border-top:1px solid #261c1229;align-items:baseline;gap:14px;margin-top:.9em;padding-top:.7em;display:flex}.book__action{font-family:var(--font-card), ui-monospace, monospace;letter-spacing:.16em;text-transform:uppercase;color:color-mix(in srgb, var(--ink) 70%, transparent);text-underline-offset:4px;cursor:pointer;font-size:clamp(8px,.85vw,10px);-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.book__action:hover{color:var(--ink)}.book__action--danger:hover{color:#8c2f21}.book__action:disabled{cursor:default;opacity:.45}.book__action--confirm{color:#8c2f21;font-weight:600}.book__field{width:100%;min-height:0;font-family:var(--font-body), Georgia, serif;color:var(--ink);resize:none;background:0 0;border:none;border-bottom:1px dashed #261c1238;flex:1;padding:0;font-size:clamp(12px,1.25vw,15px);line-height:1.62}.book__field:focus{border-bottom-color:#8a6a28;outline:none}.book__field::placeholder{color:color-mix(in srgb, var(--ink) 34%, transparent);font-style:italic}.book__colophon-row{align-items:baseline;gap:.5em;display:flex}.book__date{font-family:var(--font-card), ui-monospace, monospace;color:color-mix(in srgb, var(--ink) 62%, transparent);background:0 0;border:none;border-bottom:1px dashed #261c1238;padding:2px 0;font-size:clamp(8px,.85vw,10px)}.book__date:focus{border-bottom-color:#8a6a28;outline:none}.book__stars--editing{cursor:pointer;position:relative}.book__stars-input{cursor:pointer;opacity:0;width:100%;height:100%;position:absolute;inset:0}.book__disclosure{font-family:var(--font-card), ui-monospace, monospace;letter-spacing:.04em;color:color-mix(in srgb, var(--ink) 70%, transparent);margin-top:.5em;font-size:clamp(8px,.85vw,10px);line-height:1.5}.book__note{font-family:var(--font-card), ui-monospace, monospace;color:#8c2f21;font-size:clamp(8px,.85vw,10px)}.ink--rubric{--ink-of:#8f2d1c;color:var(--ink-of)}.ink--pencil{--ink-of:color-mix(in srgb, var(--ink) 46%, transparent);color:var(--ink-of)}.ink--marginalia{--ink-of:#33517d;color:var(--ink-of)}.face--mono{font-family:var(--font-card), ui-monospace, monospace;letter-spacing:.01em;font-size:.92em}.book__tools{border-bottom:1px dashed #261c122e;flex-wrap:wrap;align-items:center;gap:.4em 1.1em;margin-top:1em;padding-bottom:.5em;display:flex}.book__tool-group{align-items:center;gap:.15em;display:flex}.book__tools button{min-width:1.9em;font-family:var(--font-body), Georgia, serif;color:color-mix(in srgb, var(--ink) 62%, transparent);cursor:pointer;background:0 0;border:0;border-radius:2px;flex:none;padding:.25em .35em;font-size:clamp(11px,1.1vw,13px);line-height:1}.book__tools button:hover{color:var(--ink);background:#261c1212}.book__tools button.book__swatch{background:var(--ink-of,var(--ink));border-radius:50%;width:.95em;min-width:0;height:.95em;padding:0;box-shadow:0 0 0 1px #261c124d}.book__tools button.book__swatch:hover{background:var(--ink-of,var(--ink));box-shadow:0 0 0 2px #261c1273}.book__field--rich{text-align:justify;-webkit-hyphens:auto;hyphens:auto;height:100%;overflow-y:auto}.book__tools+.book__pages{margin-top:0}.book__field--rich:focus-visible{outline:none}.book__field--rich p+p{text-indent:1.4em;margin-top:.85em}.book__field--rich:empty:before,.book__field--rich>p:only-child:empty:before{content:"Write about it…";color:color-mix(in srgb, var(--ink) 34%, transparent)}.book__tools .face--mono{font-size:inherit}.book__tool-group+.book__tool-group{border-left:1px solid #261c1226;padding-left:.9em}.size--small{font-size:.84em}.size--large{font-size:1.22em}.book__tools button.book__size{font-family:var(--font-body), Georgia, serif;line-height:1}.book__tools button.book__size--down{font-size:clamp(9px,.9vw,11px)}.book__tools button.book__size--up{font-size:clamp(14px,1.5vw,18px)}.book__tools button[aria-pressed=true]{color:var(--ink);background:#261c121f}.book__field--rich{background-image:repeating-linear-gradient(to bottom, transparent 0, transparent calc(var(--page-height,200vh) - 1px), color-mix(in srgb, var(--ink) 20%, transparent) calc(var(--page-height,200vh) - 1px), color-mix(in srgb, var(--ink) 20%, transparent) var(--page-height,200vh));background-attachment:local;background-origin:content-box}.book__tools,.book__turn{box-sizing:border-box;min-height:2.4em}.book__turn{align-items:center}.review-sheet{--paper:#f4efe4;--ink:#241c14;aspect-ratio:11/15;background:var(--paper);width:100%;min-height:0;color:var(--ink);border-radius:2px;flex-direction:column;padding:clamp(14px,3.4%,30px);display:flex;box-shadow:0 10px 30px -18px #000c;container-type:inline-size}.review-sheet .book__tools{margin-top:0}.review-sheet .book__field--rich,.review-sheet .book__tools{font-size:clamp(12px,3.4cqw,26px)}.book__edition{flex-direction:column;gap:.4rem;margin-block:.35rem .15rem;display:flex}.book__edition-toggle{font-family:var(--font-card);letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb, var(--ink) 45%, transparent);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;font-size:10px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.book__edition-toggle:hover{color:color-mix(in srgb, var(--ink) 75%, transparent)}.book__edition-note{font-family:var(--font-card);color:color-mix(in srgb, var(--ink) 45%, transparent);font-size:11px}.book__edition-list{border-top:1px solid color-mix(in srgb, var(--ink) 12%, transparent);flex-direction:column;max-height:8.5rem;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.book__edition-option{text-align:left;width:100%;font-family:var(--font-card);color:color-mix(in srgb, var(--ink) 70%, transparent);border:0;border-bottom:1px solid color-mix(in srgb, var(--ink) 8%, transparent);cursor:pointer;background:0 0;padding:.35rem 0;font-size:11px}.book__edition-option:hover{color:var(--ink)}
