:root{--paper: #FBF9F3;--paper-edge: #D8D2C4;--paper-ink: #2A2A2C;--paper-mute: #6B6A66;--book-shade: rgba(0,0,0,.24);--book-gloss: rgba(255,255,255,.16);--book-drop: 0 1px 2px rgba(0,0,0,.14), 0 14px 30px rgba(0,0,0,.18);--tile-lift: rgba(0,0,0,.12)}:root[data-theme=dark]{--paper: #E6E1D5;--paper-edge: #9A9488;--paper-ink: #1D1D1F;--paper-mute: #5A5955;--book-drop: 0 1px 2px rgba(0,0,0,.4), 0 14px 30px rgba(0,0,0,.55);--tile-lift: rgba(0,0,0,.45)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper: #E6E1D5;--paper-edge: #9A9488;--paper-ink: #1D1D1F;--paper-mute: #5A5955;--book-drop: 0 1px 2px rgba(0,0,0,.4), 0 14px 30px rgba(0,0,0,.55);--tile-lift: rgba(0,0,0,.45)}}.ob-stage{--H: calc(var(--W) * var(--r, 1.5));--S: calc(var(--s, 24) * var(--W) / 196);position:relative;display:block;width:var(--W);height:var(--H);perspective:calc(var(--W) * 7);perspective-origin:50% -20%}.ob{position:absolute;inset:0;transform-style:preserve-3d;transform:translateZ(0) rotateX(0) rotateY(0);transition:transform .32s var(--ease)}.ob img{width:100%;height:100%;max-width:none;object-fit:cover}.ob-leaf{position:absolute;inset:0;transform-origin:0 50%;transform-style:preserve-3d;transform:translateZ(calc(var(--S) / 2)) rotateY(0);transition:transform .65s var(--ease)}.ob-front,.ob-inside,.ob-page,.ob-spine,.ob-top{position:absolute;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden}.ob-front{inset:0;border-radius:1px 3px 3px 1px;background:var(--sb)}.ob-front:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--book-shade),var(--book-gloss) 2.5%,transparent 7%);pointer-events:none}.ob-inside{inset:0;border-radius:3px 1px 1px 3px;background:var(--sb);transform:rotateY(180deg)}.ob-inside:after{content:"";position:absolute;inset:0;background:linear-gradient(270deg,rgb(0 0 0 / .3),rgb(0 0 0 / .08) 5%,transparent 14%);pointer-events:none}.ob-spine{left:calc(var(--S) / -2);top:0;width:var(--S);height:100%;border-radius:2px;transform:rotateY(-90deg);display:grid;place-items:center;background:var(--sb)}.ob-spine img{position:absolute;inset:0;object-position:left center}.ob-spine:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgb(0 0 0 / .26),rgb(255 255 255 / .1) 28%,transparent 55%,rgb(0 0 0 / .38)),color-mix(in srgb,var(--sb) 45%,transparent)}.ob-spine b{position:relative;z-index:1;max-height:86%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;writing-mode:vertical-rl;color:var(--si);font:600 min(calc(var(--S) * .44),13px)/1 var(--sans);letter-spacing:.01em}.ob-top{left:0;top:calc(var(--S) / -2);width:98.5%;height:var(--S);transform:rotateX(90deg);background:repeating-linear-gradient(180deg,#f4eee0 0 1px,#d8cdb6 1px 1.6px);box-shadow:inset 0 1.5px var(--sb),inset 0 -1px var(--sb)}.ob-page{inset:1.2% 1.5% 1.2% 0;container-type:inline-size;display:flex;flex-direction:column;padding:12% 11% 10%;border-radius:1px 3px 3px 1px;transform:translateZ(calc(var(--S) / 2 - 1px));background:linear-gradient(90deg,rgb(0 0 0 / .12),transparent 7%),var(--paper);color:var(--paper-ink);font-family:ui-serif,New York,Iowan Old Style,Georgia,Times New Roman,serif;letter-spacing:0;text-align:left}.ob-page a{color:inherit;text-decoration:none}.ob-page a:hover{text-decoration:underline;text-decoration-color:currentColor;text-decoration-thickness:1px}.ob-t{margin:0;font-size:8cqw;font-weight:600;line-height:1.08;text-wrap:balance}.ob-a{margin:.6em 0 0;font-size:4cqw;color:var(--paper-mute)}.ob-k{margin:9cqw 0 0;padding-bottom:2.4cqw;border-bottom:1px solid var(--paper-edge);font:600 2.7cqw/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--paper-mute)}.ob-toc{list-style:none;margin:3.4cqw 0 0;padding:0;display:grid;gap:1.9cqw;counter-reset:toc;font-size:3.9cqw;line-height:1.28}.ob-toc li{display:grid;grid-template-columns:1.6em minmax(0,1fr);counter-increment:toc}.ob-toc li:before{content:counter(toc);color:var(--paper-mute);font-variant-numeric:tabular-nums}.ob-toc li>*{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.ob-more{margin:2.6cqw 0 0 6.2cqw;font-size:3.4cqw;color:var(--paper-mute);font-style:italic}@container (max-width: 240px){.ob-t{font-size:12px}.ob-a{font-size:8.5px}.ob-k{margin-top:12px;padding-bottom:4px;font-size:6.5px}.ob-toc{margin-top:5px;gap:3px;font-size:8.5px}.ob-toc li>*{-webkit-line-clamp:1}.ob-more{margin:4px 0 0 13.6px;font-size:7.5px}}.ob.open{transform:translate3d(50%,0,0) rotateX(0) rotateY(0)}.ob.open .ob-leaf{transform:translateZ(calc(var(--S) / 2)) rotateY(-165deg)}.ob.open,.ob.open .ob-leaf{transition-duration:.65s}.ob-big{--W: min(calc(62vh / var(--r, 1.5)), 40vw, 480px);perspective-origin:50% 50%}.ob-big :is(.ob-front,.ob-inside,.ob-page){box-shadow:var(--book-drop)}.ob-fly{position:fixed;z-index:1001;left:calc(50% - var(--W) / 2);top:calc(50% - var(--H) / 2);transform-origin:0 0;perspective-origin:50% -20%;pointer-events:none;view-transition-name:book}.ob-fly.go{perspective-origin:50% 50%;transition:transform .45s var(--ease),perspective-origin .45s var(--ease)}.ob-fly .ob{transition-duration:.45s}.ob-fly .ob.open{transition-duration:.65s}::view-transition-group(book){animation-duration:.45s;animation-timing-function:var(--ease)}@media(prefers-reduced-motion:reduce){.ob,.ob-leaf,.ob-fly.go{transition:none}}.book-head{display:grid;justify-items:center;gap:var(--s7);margin-bottom:var(--s8);text-align:center}.book-head .ob-stage{margin-top:var(--s4);view-transition-name:book}.book-meta{max-width:720px}.book-meta .sub,.book-meta .book-attr{margin-inline:auto}.book-meta h1{margin-bottom:var(--s3)}.book-meta .sub{font-size:var(--t1);line-height:1.4;color:var(--mute);max-width:52ch;margin-bottom:var(--s5)}.book-meta .by{margin-bottom:var(--s2)}.book-meta .facts{font-size:var(--t-1);color:var(--mute);margin-bottom:var(--s5)}.book-cats{list-style:none;padding:0;margin:0 0 var(--s5);display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s2)}.book-count{font-weight:600;margin:0}.book-sec{max-width:720px}.book-keep{padding-left:1.2em;margin:0;max-width:var(--measure)}.book-keep li{margin-bottom:var(--s3)}.book-qs{list-style:none;padding:0;margin:0;display:grid;gap:var(--s5);max-width:var(--measure)}.book-qs b{display:block;font-size:var(--t1);line-height:1.35;letter-spacing:-.02em;margin-bottom:var(--s2)}.book-qs p{margin:0}.back-shelf{margin-top:var(--s6);font-weight:600}.ltiles{list-style:none;padding:0;margin:0;display:grid;gap:var(--s4);grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr))}.ltiles.more{grid-template-columns:repeat(6,minmax(0,1fr))}@media(max-width:1000px){.ltiles.more{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:480px){.ltiles,.ltiles.more{grid-template-columns:1fr 1fr;gap:var(--s3)}}.card.ltile{display:grid;align-content:start;gap:var(--s2);height:100%;padding:var(--s2) var(--s2) var(--s4);border-radius:16px;color:var(--ink);text-decoration:none;font-size:var(--t-1);line-height:1.4;transition:transform .25s ease-out,box-shadow .25s ease-out}.ltile .anim{border-radius:10px;margin-bottom:var(--s1)}.ltile>span,.ltile>b{padding:0 var(--s2)}.ltile-k{font-size:12px;font-weight:500;color:var(--mute)}.ltile b{font-size:15px;line-height:1.3;letter-spacing:-.015em}.ltile-line{color:var(--mute)}@media(max-width:480px){.ltile-line{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}}@media(hover:hover){.ltile:hover{transform:translateY(-3px);box-shadow:0 12px 30px var(--tile-lift)}}@media(prefers-reduced-motion:reduce){.ltile{transition:none}.ltile:hover{transform:none}}.lesson{display:grid;gap:var(--s7);grid-template-columns:minmax(0,440px) minmax(0,1fr);align-items:start}.lesson-anim{position:sticky;top:100px}@media(max-width:860px){.lesson{grid-template-columns:minmax(0,1fr);gap:var(--s6)}.lesson-anim{position:static;max-width:420px}}.lesson header{margin-bottom:var(--s6)}.lesson h1{font-size:clamp(32px,4.2vw,48px);line-height:1.08}.lesson .lede{margin-top:var(--s4)}.lesson .kicker a{color:inherit}.lesson-steps{padding-left:1.4em;margin:0 0 var(--s6);display:grid;gap:var(--s4);max-width:var(--measure)}.lesson-steps li::marker{font-weight:600}.lesson-steps b{display:block}.lesson-steps p{margin:var(--s1) 0 0}.lesson-chapter{border-top:1px solid var(--line);padding-top:var(--s5);max-width:var(--measure);font-size:var(--t-1)}.lesson-chapter p:first-child{font-weight:600;margin-bottom:var(--s2)}.lesson .pager{margin-top:var(--s6)}.lesson+section{margin-top:var(--s8)}.book-attr{max-width:var(--measure);margin-top:var(--s3)}.book-tom-h{margin:var(--s6) 0 var(--s4)}.book-fw{max-width:var(--measure);margin-bottom:var(--s6);scroll-margin-top:96px}.book-fw h3{margin-bottom:var(--s2)}.book-fw ol{padding-left:1.2em}.book-fw li{margin-bottom:var(--s2)}
