.cl-overlay{position:fixed;inset:0;z-index:8100;opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s;font-family:Noto Sans SC,system-ui,sans-serif;overflow:hidden;user-select:none;-webkit-user-select:none;color:#26251f;background:radial-gradient(circle at 50% 18%,rgb(255 255 255 / 38%),transparent 34rem),linear-gradient(145deg,#d4d0c7,#b5afa3)}.cl-overlay.show{opacity:1;visibility:visible}.cl-overlay *{box-sizing:border-box}.cl-room{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:100%;height:100dvh;padding:22px clamp(16px,3vw,44px) 18px}.cl-book-header,.cl-controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;width:min(100%,1180px);margin:0 auto}.cl-book-header span{color:#5c574d;font:600 10px/1.2 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}.cl-book-header span:last-child{text-align:right}.cl-book-header h1{margin:0;font-size:22px;font-weight:400;font-family:Georgia,Times New Roman,serif;color:#26251f}.cl-stage2{position:relative;display:grid;place-items:center;min-height:0;padding:18px 0}.cl-stage2:after{position:absolute;bottom:8%;left:50%;z-index:0;width:min(82vw,1000px);height:10%;border-radius:50%;background:#1f1c164d;content:"";filter:blur(28px);transform:translate(-50%)}.cl-book-rig{display:grid;place-items:center;width:min(100%,960px);height:min(64dvh,640px);position:relative;z-index:1}.cl-book2{filter:drop-shadow(0 24px 26px rgb(31 28 22 / 22%))}.cl-fpage{position:relative;overflow:hidden;background:linear-gradient(90deg,transparent 96%,rgb(30 27 20 / 5%)),#f2eee4;color:#29271f;font-family:Noto Sans SC,system-ui,sans-serif}.cl-fpage:after{position:absolute;inset:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.035'/%3E%3C/svg%3E");content:"";mix-blend-mode:multiply}.cl-fpage-cover,.cl-fpage-back{background:#243f39;color:#f0e9d8}.cl-fp-cover-inner{height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:48px}.cl-fp-mark{display:grid;width:48px;height:48px;place-items:center;border:1px solid rgb(240 233 216 / 65%);border-radius:50%;font-size:18px;font-family:Arial,sans-serif}.cl-fp-kicker{font-family:Arial,sans-serif;font-size:10px;letter-spacing:.14em;text-transform:uppercase;opacity:.78}.cl-fp-title{margin:12px 0 0;font-size:56px;font-weight:400;line-height:.9;font-family:Georgia,Times New Roman,serif;letter-spacing:.02em}.cl-fp-sub{font-family:Arial,sans-serif;font-size:10px;letter-spacing:.14em;text-transform:uppercase;opacity:.7}.cl-fp-back-inner{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;font-family:Georgia,Times New Roman,serif;font-size:28px;letter-spacing:.1em}.cl-fp-back-inner small{font-family:Arial,sans-serif;font-size:10px;letter-spacing:.16em;text-transform:uppercase;opacity:.6}.cl-fp-page{height:100%;display:flex;flex-direction:column;padding:48px 44px 40px;min-height:0}.cl-fp-page .cl-pg-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;padding-bottom:8px;border-bottom:1px solid rgb(38 37 31 / 18%);flex-shrink:0}.cl-fp-page .cl-pg-ver{font-family:SF Mono,Consolas,monospace;font-size:1.25rem;font-weight:800;color:#26251f}.cl-fp-page .cl-pg-date{font-family:Arial,sans-serif;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#5c574d;font-variant-numeric:tabular-nums}.cl-fp-page .cl-pg-tag{font-family:Arial,sans-serif;font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:2px 8px 3px;border-radius:3px;color:#f0e9d8;background:#243f39}.cl-fp-page .cl-pg-title{padding-top:14px;font-family:Georgia,Times New Roman,serif;font-size:26px;font-weight:400;line-height:1.12;color:#26251f;flex-shrink:0}.cl-fp-page .cl-pg-body{flex:1;min-height:0;overflow-y:auto;padding-top:12px;scrollbar-width:thin;scrollbar-color:rgb(38 37 31 / 25%) transparent;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.cl-fp-page .cl-pg-body::-webkit-scrollbar{width:4px}.cl-fp-page .cl-pg-body::-webkit-scrollbar-thumb{background:#26251f40;border-radius:4px}.cl-fp-page .cl-item{display:flex;gap:10px;align-items:flex-start;padding:7px 0 10px;border-bottom:1px solid rgb(38 37 31 / 10%)}.cl-fp-page .cl-kind{flex-shrink:0;margin-top:3px;font-family:Arial,sans-serif;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:2px 7px 3px;border-radius:3px;color:#f0e9d8}.cl-fp-page .cl-kind.feat{background:#2e9e5b}.cl-fp-page .cl-kind.fix{background:#c0392b}.cl-fp-page .cl-kind.perf{background:#3d6bd9}.cl-fp-page .cl-kind.ui{background:#b8860b}.cl-fp-page .cl-item-text{font-size:14px;line-height:1.65;color:#29271f;font-family:Noto Sans SC,system-ui,sans-serif}.cl-fp-page .cl-pg-foot{margin-top:auto;padding-top:10px;text-align:center;font-family:Arial,sans-serif;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#5c574d;flex-shrink:0}.cl-fp-fly{height:100%;display:flex;flex-direction:column;justify-content:center;padding:64px 48px}.cl-fp-fly .cl-fly-title{font-family:Georgia,Times New Roman,serif;font-size:32px;font-weight:400;line-height:1.12;color:#26251f}.cl-fp-fly .cl-fly-sub{margin-top:14px;font-family:Arial,sans-serif;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#5c574d}.cl-controls{grid-template-columns:48px 1fr 48px;max-width:440px}.cl-controls button{width:48px;height:42px;border:1px solid rgb(38 37 31 / 25%);border-radius:50%;background:#f2eee47a;cursor:pointer;color:#26251f;font:inherit;display:flex;align-items:center;justify-content:center;transition:background .16s ease,transform .16s ease}.cl-controls button:hover:not(:disabled){background:#f2eee4d9;transform:translateY(-2px)}.cl-controls button:disabled{cursor:default;opacity:.28;transform:none}.cl-controls button svg{width:18px;height:18px}.cl-status{display:grid;gap:4px;text-align:center}.cl-status span{font:600 11px Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#26251f}.cl-status small{color:#655f55;font:10px Arial,sans-serif}.cl-close-x{position:absolute;top:18px;right:22px;z-index:10;width:40px;height:40px;border-radius:50%;border:1px solid rgb(38 37 31 / 22%);background:#f2eee48c;color:#26251f;cursor:pointer;display:flex;align-items:center;justify-content:center}.cl-close-x:hover{background:#f2eee4e5}.cl-close-x svg{width:17px;height:17px}.cl-grid-btn{position:absolute;top:18px;left:22px;z-index:10;border:none;cursor:pointer;background:none;font-family:Arial,sans-serif;font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#5c574d;padding:8px 0}.cl-grid-btn:hover{color:#26251f}.cl-grid{position:absolute;inset:0;z-index:9;background:#26251f8c;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s}.cl-grid.show{opacity:1;visibility:visible}.cl-grid-inner{width:min(92vw,560px);max-height:74vh;overflow-y:auto;padding:22px 20px;scrollbar-width:thin}.cl-grid-title{text-align:center;margin-bottom:16px;font-family:Arial,sans-serif;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#f2eee4e5}.cl-grid-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;margin-bottom:8px;border:none;cursor:pointer;text-align:left;border-radius:8px;background:#f2eee41f;color:#f2eee4;transition:background .2s ease,transform .2s ease}.cl-grid-item:hover{background:#f2eee438;transform:translate(3px)}.cl-grid-item.on{background:#f2eee442;box-shadow:inset 3px 0 #d8c9a3}.cl-grid-ver{font-family:SF Mono,Consolas,monospace;font-size:.88rem;font-weight:800;min-width:64px}.cl-grid-meta{font-size:.74rem;color:#f2eee499;flex-shrink:0}.cl-grid-title2{font-family:Georgia,Times New Roman,serif;font-size:.9rem;color:#f2eee4d9;margin-left:auto;text-align:right}@media(max-width:700px){.cl-room{padding-inline:10px;padding-top:14px}.cl-book-header{grid-template-columns:1fr auto}.cl-book-header span:first-child{display:none}.cl-book-header h1{font-size:17px}.cl-fp-page{padding:26px 22px 22px}.cl-fp-cover-inner{padding:30px}.cl-fp-title{font-size:38px}.cl-fp-page .cl-pg-ver{font-size:1.05rem}.cl-fp-page .cl-pg-title{font-size:20px}.cl-fp-page .cl-item-text{font-size:13px}.cl-controls{max-width:400px}}.cl-volume--special{width:clamp(64px,5.2vw,84px)}.cl-volume--special .cl-binding{box-shadow:inset 3px 0 #fff3,inset 6px 0 #00000014,inset -1px 0 #00000040,0 8px 18px #1f1c1638}.cl-volume--special .cl-binding-title{font-size:1.15rem;letter-spacing:.1em}.cl-volume--special .cl-binding:after{content:"";position:absolute;inset:12% 8%;border:1px solid currentColor;opacity:.18;border-radius:1px;pointer-events:none}.cl-volume--empty .cl-binding-title{font-size:.92rem;opacity:.85}.cl-volume.cl-volume--ghost{position:fixed;z-index:30;left:0;top:0;margin:0;min-height:0;pointer-events:none;filter:drop-shadow(9px 12px 12px #0009)}.cl-volume--ghost .cl-binding{transform:none;filter:brightness(1.12)}body.cl-arranging,body.cl-arranging *{cursor:grabbing!important;user-select:none!important}body.cl-arranging .cl-volume-link .cl-binding{transform:none}.cl-order-reset{display:block;pointer-events:auto;margin:9px 0 0;padding:0;border:0;background:none;color:#a9ae9c;font-size:.875rem;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.cl-order-reset:hover{color:#e2e5d6}.cl-order-reset:focus-visible{outline:1px solid #c3c6b5;outline-offset:5px}.cl-order-reset[hidden]{display:none}.cl-fp-cover-imgwrap{position:relative;height:100%;overflow:hidden}.cl-fp-cover-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cl-fp-cover-text{position:absolute;left:0;right:0;top:0;padding:44px 40px 0;text-align:center}.cl-fp-cover-text .cl-fp-kicker{font-family:Arial,sans-serif;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#5c574d}.cl-fp-cover-text .cl-fp-title{margin:10px 0 0;font-family:Georgia,Times New Roman,serif;font-size:34px;font-weight:400;line-height:1.1;color:#26251f}.cl-fp-cover-text .cl-fp-era{margin:8px 0 0;font-family:Arial,sans-serif;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#8a8578}.cl-fp-page .cl-pg-ch{font-family:Arial,sans-serif;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#243f39}.cl-fp-page .cl-chap-p{margin:0 0 14px;font-size:14.5px;line-height:1.9;color:#29271f;text-align:justify}.cl-fp-page .cl-chap-p:first-letter{font-family:Georgia,Times New Roman,serif;font-size:1.4em;color:#243f39}@media(max-width:700px){.cl-volume--special{width:clamp(52px,12vw,66px)}.cl-fp-cover-text{padding:30px 24px 0}.cl-fp-cover-text .cl-fp-title{font-size:26px}}@media(prefers-reduced-motion:reduce){.cl-controls button,.cl-grid-item,.cl-toc-item{transition-duration:.01ms}.cl-shelf{animation:none}.cl-binding{transition:none}}.cl-entry-btn{background:none;border:none;cursor:pointer;font-family:inherit;font-size:.82rem;font-weight:700;color:var(--text-link, #f5c86e);letter-spacing:.04em}.cl-entry-btn:hover{text-decoration:underline}.cl-shelf-shell{color-scheme:dark;background:#080909;color:#dfded6;font-family:Courier New,monospace;font-synthesis:none;--gutter: 28px;--footer: 64px;--cover-height: clamp(100px, 16svh, 150px);--preview-gap: 36px;--preview-space: calc(var(--cover-height) + var(--preview-gap) + 44px + var(--footer) + 12px);--header-clearance: 150px;position:relative;height:max(600px,100svh);isolation:isolate;overflow:hidden}.cl-shelf-shell *{box-sizing:border-box}.cl-shelf-shell button{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}.cl-masthead{position:absolute;z-index:3;top:26px;left:var(--gutter);right:var(--gutter);display:flex;align-items:flex-start;justify-content:space-between;gap:20px;pointer-events:none;font-size:.875rem;line-height:1.55;letter-spacing:.025em;text-transform:uppercase;color:#dfded6}.cl-masthead h1{margin:0;font-size:inherit;font-weight:400}.cl-masthead p{margin:0}.cl-masthead-count{margin-top:17px;color:#94968e}.cl-masthead p.cl-masthead-aside{margin:0 152px 0 0;text-align:right;color:#94968e}.cl-masthead-aside span{display:block;margin-bottom:4px;letter-spacing:.19em}.cl-shelf-stage{position:absolute;inset:0 0 var(--preview-space)}.cl-shelf-viewport{position:absolute;inset:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y}.cl-shelf-viewport::-webkit-scrollbar{display:none}.cl-shelf{position:relative;display:flex;align-items:flex-end;justify-content:center;gap:3px;width:max-content;min-width:100%;height:100%;margin:0;padding:0 var(--gutter);list-style:none;user-select:none;-webkit-user-select:none;animation:cl-shelf-arrive .6s both}.cl-volume{position:relative;flex:none;width:clamp(36px,3vw,48px);height:calc((max(600px,100svh) - var(--preview-space) - var(--header-clearance)) * var(--height, .8));min-height:120px}.cl-volume--special{width:clamp(48px,3.6vw,56px)}.cl-volume-link{position:relative;display:block;width:100%;height:100%;border:none;padding:0;background:none;outline:none;cursor:grab;touch-action:none;-webkit-touch-callout:none}.cl-binding{position:absolute;display:block;inset:0;overflow:hidden;background:var(--paper, #d9dcc7);color:var(--ink, #294438);border-radius:2px 2px 1px 1px;box-shadow:inset 1px 0 #ffffff24,inset -1px 0 #0004;transition:transform .3s cubic-bezier(.2,.7,.2,1),filter .3s}.cl-binding-title{position:absolute;left:50%;top:30%;writing-mode:vertical-rl;text-orientation:mixed;transform:translate(-50%);font-family:Georgia,Times New Roman,serif;font-size:1.625rem;line-height:1;white-space:nowrap;font-weight:400;letter-spacing:.01em}.cl-volume-link:hover .cl-binding,.cl-volume-link:focus-visible .cl-binding{transform:translateY(-5px);filter:brightness(1.08)}.cl-volume-link:focus-visible:after{content:"";position:absolute;inset:-5px;border:1px solid #c3c6b5;border-radius:3px}.cl-shelf-stage:after{content:"";position:absolute;left:0;right:0;bottom:calc(-1 * var(--preview-space) + var(--footer) + 12px + 6px);height:1px;background:linear-gradient(90deg,transparent,rgb(223 222 214 / 14%) 12%,rgb(223 222 214 / 14%) 88%,transparent)}.cl-shelf-footer{position:absolute;z-index:5;bottom:0;left:var(--gutter);right:var(--gutter);height:var(--footer);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.75rem;letter-spacing:.04em}.cl-shelf-cue{display:flex;align-items:center;gap:18px;color:#92958c}.cl-footer-note{color:#92958c}@keyframes cl-shelf-arrive{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.cl-overlay.reader .cl-shelf-shell{display:none}.cl-overlay:not(.reader) .cl-room,.cl-overlay:not(.reader) .cl-close-x,.cl-overlay:not(.reader) .cl-toc,.cl-overlay:not(.reader) .cl-toc-btn{display:none!important}.cl-fp-era{margin:10px 0 0;font-family:Arial,sans-serif;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#f0e9d89e}.cl-toc-btn{position:absolute;top:18px;left:22px;z-index:10;border:none;cursor:pointer;background:none;font-family:Arial,sans-serif;font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#5c574d;padding:8px 0}.cl-toc-btn:hover{color:#26251f}.cl-toc{position:absolute;inset:0;z-index:9;background:#26251f73;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s}.cl-toc.show{opacity:1;visibility:visible}.cl-toc-inner{width:min(92vw,560px);max-height:74vh;overflow-y:auto;padding:24px 22px;background:#f2eee4;border-radius:3px;box-shadow:0 24px 40px #1f1c1659,inset 0 0 0 1px #ffffff7f;scrollbar-width:thin}.cl-toc-title{text-align:center;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid rgb(38 37 31 / 18%);font-family:Georgia,Times New Roman,serif;font-size:1.05rem;color:#26251f}.cl-toc-item{width:100%;display:flex;align-items:baseline;gap:12px;padding:10px 12px;margin-bottom:2px;border:none;border-bottom:1px solid rgb(38 37 31 / 8%);cursor:pointer;text-align:left;background:none;color:#29271f;transition:background .2s ease}.cl-toc-item:hover{background:#26251f0f}.cl-toc-item.on{background:#243f391a;box-shadow:inset 3px 0 #243f39}.cl-toc-ver{font-family:SF Mono,Consolas,monospace;font-size:.84rem;font-weight:800;min-width:64px}.cl-toc-date{font-family:Arial,sans-serif;font-size:.64rem;letter-spacing:.1em;color:#8a8578;flex-shrink:0}.cl-toc-t{font-family:Noto Sans SC,system-ui,sans-serif;font-size:.84rem;margin-left:auto;text-align:right}@media(min-width:1600px){.cl-shelf-shell{--gutter: 42px}}@media(max-width:1000px){.cl-footer-selection{display:none}}@media(max-width:600px){.cl-shelf-shell{--gutter: 18px;--preview-gap: 28px}.cl-masthead{top:21px}.cl-masthead-aside,.cl-desktop-note{display:none}.cl-mobile-note{display:inline}.cl-shelf-footer{gap:12px;flex-wrap:wrap;align-content:center}.cl-shelf-progress{width:40px}.cl-shelf-close{top:16px}}.cl-volume--placeholder{border:1px dashed #a3aa9070;border-radius:2px;background:#a3aa9010;box-shadow:inset 0 -2px #c5ceac}.cl-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.cl-shelf-close{position:absolute;z-index:6;top:22px;right:var(--gutter);border:none;background:none;cursor:pointer;font-family:Arial,sans-serif;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#92958c;padding:6px 0;transition:color .2s ease}.cl-shelf-close:hover{color:#e2e5d6}.cl-shelf-close:focus-visible{outline:1px solid #c3c6b5;outline-offset:4px}.cl-footer-selection{color:#cccfc3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cl-scroll-label{color:#92958c}.cl-shelf-progress{position:relative;width:80px;height:2px;background:#31352f}.cl-shelf-progress span{position:absolute;top:0;left:0;height:100%;background:#c1c6b5}.cl-shelf-progress[hidden]{display:none}.cl-cover-preview{position:fixed;z-index:10;left:0;top:0;width:calc(var(--cover-height) * .75);margin:0;pointer-events:none;visibility:hidden;opacity:0;transform:translateY(16px) scale(.96);transform-origin:50% 0;transition:transform .38s cubic-bezier(.16,1,.3,1),opacity .2s,visibility .38s;filter:drop-shadow(0 10px 14px #0008)}.cl-cover-preview.is-visible{visibility:visible;opacity:1;transform:translateY(0) scale(1)}.cl-cover-preview-book{display:grid;align-items:center;height:var(--cover-height);padding:12px;background:var(--paper, #d9dcc7);color:var(--ink, #294438);border-radius:1px 3px 3px 1px;box-shadow:inset 2px 0 #0003,1px 0 #fff3,2px 1px #ffffff1a}.cl-cover-preview-title{font:1rem Georgia,Times New Roman,serif}.cl-cover-preview figcaption{margin-top:10px;color:#c3c0ad;font-size:.75rem}.cl-desktop-note{display:inline}.cl-mobile-note{display:none}.cl-empty-page{text-align:center;justify-content:center}
