.book-stage{background:var(--bg);grid-template-rows:1fr;place-items:stretch stretch;padding:1.5vmin;display:grid;position:fixed;inset:0}.book-touch{width:100%;height:100%;min-height:0;display:grid}.book-flip{place-items:center;width:100%;height:100%;min-height:0;display:grid;overflow:hidden}.book-flip>.spread{grid-area:1/1;height:100%}.spread{filter:drop-shadow(0 1vmin 3vmin #3c322838);touch-action:pan-y;width:min(100%,150dvh - 4.5vmin);height:100%;max-height:calc(100dvh - 3vmin);display:flex;position:relative}.spread-under{z-index:0}.book-flip.is-turning .spread-under{animation:under-appear var(--turn,.62s) linear}@keyframes under-appear{0%,35%{opacity:0}60%,to{opacity:1}}.book-flip.is-turning{perspective:200vmin}.spread-stay{z-index:1}.leaf-hidden{visibility:hidden;background:0 0}.turner{width:min(50%,75dvh - 2.25vmin);height:100%;max-height:calc(100dvh - 3vmin);transform-style:preserve-3d;z-index:2;pointer-events:none;will-change:transform;position:absolute;top:50%;transform:translateY(-50%)}.turner-right{transform-origin:0;animation:turn-next var(--turn,.62s) cubic-bezier(.42, 0, .35, 1);left:50%}.turner-left{transform-origin:100%;animation:turn-prev var(--turn,.62s) cubic-bezier(.42, 0, .35, 1);right:50%}@keyframes turn-next{0%{transform:translateY(-50%)rotateY(0)}to{transform:translateY(-50%)rotateY(-180deg)}}@keyframes turn-prev{0%{transform:translateY(-50%)rotateY(0)}to{transform:translateY(-50%)rotateY(180deg)}}.turner-face,.turner-back{backface-visibility:hidden;filter:drop-shadow(0 1vmin 3vmin #3c322838);display:flex;position:absolute;inset:0}.turner-back{transform:rotateY(180deg)}.turner-face .leaf,.turner-back .leaf{flex:100%}.turner-shade{opacity:0;border-radius:inherit;animation:turn-shade var(--turn,.62s) ease-in-out;pointer-events:none;background:#3c32288c;position:absolute;inset:0;transform:translateZ(.1px)}@keyframes turn-shade{0%{opacity:0}50%{opacity:.45}to{opacity:0}}@media (max-aspect-ratio:1){.turner{width:100%;height:100%}.turner-right{transform-origin:0;left:0}.turner-left{transform-origin:100%;right:0}}@media (prefers-reduced-motion:reduce){.turner{display:none}}.spread-over{z-index:1}.spread-over.is-next,.spread-over.is-prev{will-change:transform}.spread-over.is-next{animation:.42s cubic-bezier(.22,.61,.36,1) spread-in-next}.spread-over.is-prev{animation:.42s cubic-bezier(.22,.61,.36,1) spread-in-prev}@keyframes spread-in-next{0%{transform:translate(102%)}to{transform:translate(0)}}@keyframes spread-in-prev{0%{transform:translate(-102%)}to{transform:translate(0)}}.spread-over.is-next:before,.spread-over.is-prev:before{content:"";pointer-events:none;z-index:3;width:4vmin;animation:.42s ease-out edge-fade;position:absolute;top:0;bottom:0}.spread-over.is-next:before{background:linear-gradient(270deg,#3c322859,#3c322800);left:-4vmin}.spread-over.is-prev:before{background:linear-gradient(90deg,#3c322859,#3c322800);right:-4vmin}@keyframes edge-fade{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.spread-over.is-next,.spread-over.is-prev{animation:none}}.leaf{--u:1cqw;--muted:var(--dim-soft);background:var(--paper);flex:50%;position:relative;overflow:hidden;container-type:inline-size}.leaf-empty{background:var(--bg-deep)}.leaf-left{border-radius:calc(var(--u) * 1.2) 0 0 calc(var(--u) * 1.2)}.leaf-right{border-radius:0 calc(var(--u) * 1.2) calc(var(--u) * 1.2) 0}.leaf-left:after{content:"";width:calc(var(--u) * 6);pointer-events:none;background:linear-gradient(90deg,#78695500 0%,#7869551a 70%,#7869552e 100%);position:absolute;top:0;bottom:0;right:0}.leaf-right:before{content:"";width:calc(var(--u) * 6);z-index:2;pointer-events:none;background:linear-gradient(270deg,#78695500 0%,#78695514 70%,#78695524 100%);position:absolute;top:0;bottom:0;left:0}.leaf[data-inline=true] .leaf-image{top:calc(var(--u) * 8)}.leaf-image.leaf-ornament{inset:calc(var(--u) * 12)}.leaf-ornament img{mix-blend-mode:multiply}.leaf-ending{pointer-events:none;mix-blend-mode:multiply;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;transform:translateY(28%)}.leaf-ending img{width:55%;height:auto}.leaf-text.is-ending{align-items:flex-start}@media (prefers-color-scheme:dark){.leaf-ornament img,.leaf-ending{filter:invert()hue-rotate(180deg);mix-blend-mode:screen}}.leaf-image{top:calc(var(--u) * 26);left:calc(var(--u) * 10);right:calc(var(--u) * 10);bottom:calc(var(--u) * 14);justify-content:center;align-items:center;display:flex;position:absolute;overflow:hidden}.leaf-image img{object-fit:contain;width:auto;min-width:0;max-width:100%;height:auto;min-height:0;max-height:100%;display:block}.leaf-head{top:calc(var(--u) * 8);left:calc(var(--u) * 10);right:calc(var(--u) * 10);text-align:center;position:absolute}.leaf-book-title{font-size:calc(var(--u) * 3.2);color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.leaf-chapter-title{margin-top:calc(var(--u) * 2.5);font-size:calc(var(--u) * 3.5);color:var(--muted);letter-spacing:.06em}.leaf-text{inset:calc(var(--u) * 12) calc(var(--u) * 12) calc(var(--u) * 14);font-size:calc(var(--u) * 3.9);color:var(--ink);text-align:justify;-webkit-hyphens:auto;hyphens:auto;align-items:center;line-height:1.5;display:flex;position:absolute}.leaf-text p+p{margin-top:calc(var(--u) * 3)}.leaf-chapter-head{text-align:center;font-size:calc(var(--u) * 4.2);color:var(--ink);margin-bottom:calc(var(--u) * 6);font-weight:600}.leaf-num{bottom:calc(var(--u) * 4);font-size:calc(var(--u) * 2.8);color:var(--muted);position:absolute}.leaf-left .leaf-num{left:calc(var(--u) * 8)}.leaf-right .leaf-num{right:calc(var(--u) * 8)}.book-exit{width:6vmin;height:6vmin;color:var(--dim);z-index:20;place-items:center;font-size:3.4vmin;line-height:1;text-decoration:none;transition:color .2s;display:grid;position:fixed;top:2vmin;right:2vmin}.book-exit:hover{color:var(--accent)}@media (max-aspect-ratio:1){.book-exit{width:9vw;height:9vw;font-size:5vw}}.book-counter{text-align:center;color:var(--dim);z-index:10;pointer-events:none;font-size:2vmin;position:fixed;bottom:2vmin;left:0;right:0}.book-arrow{width:7vmin;height:14vmin;color:var(--dim);cursor:pointer;z-index:10;-webkit-tap-highlight-color:transparent;background:0 0;border:none;place-items:center;padding:0;font-family:inherit;font-size:6vmin;line-height:1;text-decoration:none;transition:color .2s;display:grid;position:fixed;top:50%;transform:translateY(-50%)}.book-arrow:hover{color:var(--accent)}.book-arrow-left{left:.5vmin}.book-arrow-right{right:.5vmin}@media (max-aspect-ratio:1){.spread{width:100%;height:100%}.leaf{display:none}.leaf.is-active{flex:100%;display:block}.leaf-left,.leaf-right{border-radius:calc(var(--u) * 1.2)}.leaf-left:after,.leaf-right:before{content:none}.leaf-image{inset:calc(var(--u) * 24) calc(var(--u) * 5) calc(var(--u) * 18)}.leaf-text{inset:calc(var(--u) * 9) calc(var(--u) * 8) calc(var(--u) * 11);font-size:calc(var(--u) * 3.6)}}.panel-toggle{cursor:pointer;width:6vmin;height:6vmin;color:var(--dim);z-index:20;background:0 0;border:0;place-items:center;padding:0;transition:color .2s;display:grid;position:fixed;top:2vmin;left:2vmin}.panel-toggle:hover{color:var(--accent)}.panel-toggle span{background:currentColor;border-radius:1px;width:3.4vmin;height:.35vmin;display:block;box-shadow:0 1.1vmin,0 -1.1vmin}.panel-shade{visibility:hidden;z-index:25;background:#28221a00;transition:background .3s,visibility .3s;position:fixed;inset:0}.panel-shade.is-open{visibility:visible;background:#28221a59}.panel{background:var(--bg-panel);z-index:30;flex-direction:column;width:min(86vw,42vmin);transition:transform .32s cubic-bezier(.22,.61,.36,1);display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden;transform:translate(-102%);box-shadow:.4vmin 0 2.4vmin #3c322840}.panel.is-open{transform:translate(0)}.panel-head{border-bottom:1px solid #7869552e;justify-content:space-between;align-items:center;gap:2vmin;padding:3vmin 3vmin 2vmin;display:flex}.panel-title{letter-spacing:.06em;text-transform:uppercase;color:var(--dim-mid);border-bottom:1px solid #78695559;padding-bottom:.4vmin;font-size:2vmin;text-decoration:none;transition:color .2s}.panel-title:hover{color:var(--ink-soft)}.panel-close{color:var(--dim);cursor:pointer;background:0 0;border:0;padding:0;font-size:4vmin;line-height:1}.panel-close:hover{color:var(--accent)}.panel-list{flex:1;padding:1.5vmin 0 3vmin;overflow-y:auto}.panel-item{color:var(--ink-soft);grid-template-columns:4.5vmin 1fr auto;align-items:baseline;gap:1.5vmin;padding:1.6vmin 3vmin;font-size:2.3vmin;text-decoration:none;transition:background .18s;display:grid}.panel-item:hover{background:#78695517}.panel-item.is-active{background:#78695524;font-weight:600}.panel-item-num{color:var(--dim);font-size:2vmin}.panel-item-leaf{color:var(--dim-soft);font-size:1.8vmin}@media (max-aspect-ratio:1){.panel{width:86vw}.panel-toggle{width:9vw;height:9vw}.panel-toggle span{width:5.2vw;height:.5vw;box-shadow:0 1.7vw,0 -1.7vw}.panel-title{font-size:3.2vw}.panel-close{font-size:7vw}.panel-item{grid-template-columns:7vw 1fr auto;padding:3vw 5vw;font-size:4vw}.panel-item-num{font-size:3.4vw}.panel-item-leaf{font-size:3vw}}.gnome{cursor:pointer;z-index:25;-webkit-tap-highlight-color:transparent;background:0 0;border:none;width:9vmin;height:9vmin;padding:0;position:fixed;bottom:6vmin;right:2vmin}.gnome svg{width:100%;height:100%;overflow:visible}.gnome-band{fill:none;stroke:var(--accent);stroke-width:6px;stroke-linecap:round}.gnome-cup{fill:var(--accent)}.gnome-play,.gnome-pause rect{fill:var(--paper)}.gnome-pause,.gnome.is-reading .gnome-play{display:none}.gnome.is-reading .gnome-pause{display:block}.gnome:hover .gnome-band{stroke:var(--accent-hot)}.gnome:hover .gnome-cup{fill:var(--accent-hot)}.gnome-waves path{fill:none;stroke:var(--bad);stroke-width:3px;stroke-linecap:round;opacity:0}.gnome.is-reading .gnome-waves path{animation:1.4s ease-out infinite gnome-wave}.gnome.is-reading .gnome-waves path:nth-child(2){animation-delay:.35s}@keyframes gnome-wave{0%{opacity:0;transform:translate(-2px)}40%{opacity:.75}to{opacity:0;transform:translate(3px)}}@media (prefers-reduced-motion:reduce){.gnome.is-reading .gnome-waves path{opacity:.7;animation:none}}@media (max-aspect-ratio:1){.gnome{width:15vw;height:15vw;bottom:14vw;right:3vw}}.gnome-bar{z-index:25;background:color-mix(in srgb, var(--paper) 35%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);height:5vmin;box-shadow:0 .4vmin 1.4vmin var(--shade-soft);border-radius:2.5vmin;align-items:center;gap:1.8vmin;padding:0 2.4vmin;animation:.26s cubic-bezier(.22,.61,.36,1) gnome-bar-in;display:flex;position:fixed;bottom:8vmin;right:12.5vmin}@keyframes gnome-bar-in{0%{opacity:0;transform:translate(2vmin)}to{opacity:1;transform:translate(0)}}.gnome-part{color:var(--dim);white-space:nowrap;font-size:1.7vmin}.gnome-track{cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent;width:24vmin;height:3vmin;position:relative}.gnome-track:before{content:"";background:#78695538;border-radius:.3vmin;height:.6vmin;margin-top:-.3vmin;position:absolute;top:50%;left:0;right:0}.gnome-fill{background:var(--accent);transform-origin:0;will-change:transform;border-radius:.3vmin;height:.6vmin;margin-top:-.3vmin;position:absolute;top:50%;left:0;right:0}.gnome-knob{background:var(--accent);pointer-events:none;border-radius:50%;width:1.6vmin;height:1.6vmin;margin:-.8vmin 0 0 -.8vmin;transition:transform .16s;position:absolute;top:50%}.gnome-track:hover .gnome-knob,.gnome-track.is-dragging .gnome-knob{transform:scale(1.35)}@media (prefers-reduced-motion:reduce){.gnome-knob{transition:none}}.gnome-clock{color:var(--dim-deep);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:1.8vmin}@media (prefers-reduced-motion:reduce){.gnome-bar{animation:none}}@media (max-aspect-ratio:1){.gnome-bar{border-radius:4.5vw;justify-content:space-between;gap:3vw;height:9vw;padding:0 4vw;bottom:32vw;left:3vw;right:3vw}.gnome-track{flex:1;width:auto;height:6vw}.gnome-track:before,.gnome-fill{border-radius:.5vw;height:1vw;margin-top:-.5vw}.gnome-knob{width:3vw;height:3vw;margin:-1.5vw 0 0 -1.5vw}.gnome-clock{font-size:3.2vw}}.listen-stage .gnome{width:12vmin;height:12vmin;bottom:2vmin;right:50%;transform:translate(50%)}.listen-prev,.listen-next{width:7vmin;height:7vmin;color:var(--dim);cursor:pointer;z-index:20;-webkit-tap-highlight-color:transparent;background:0 0;border:none;place-items:center;padding:0;font-family:inherit;font-size:4.5vmin;line-height:1;transition:color .2s,opacity .2s;display:grid;position:fixed;top:50%;transform:translateY(-50%)}.listen-prev{left:1vmin}.listen-next{right:1vmin}.listen-prev:hover:not(:disabled),.listen-next:hover:not(:disabled){color:var(--accent)}.listen-prev:disabled,.listen-next:disabled{opacity:.25;cursor:default}.listen-progress{opacity:.6}.listen-bar{animation:none;bottom:17vmin;left:auto;right:50%;transform:translate(50%)}@media (max-aspect-ratio:1){.listen-bar{bottom:24vw;left:3vw;right:3vw;transform:none}.listen-stage .gnome{width:15vw;height:15vw;bottom:7vw}.listen-prev,.listen-next{width:11vw;height:11vw;color:var(--accent);font-size:7vw;top:auto;bottom:3vw;transform:none}.listen-prev{left:1vw}.listen-next{right:1vw}}
