.sanji-library{max-width:1200px;margin:0 auto;padding:54px 40px 64px}.sanji-library-heading{margin-bottom:44px}.sanji-library-heading h1{letter-spacing:.12em;margin:12px 0 14px;font:38px/1.4 Songti SC,STSong,serif}.sanji-library-heading p{color:var(--tx-3);font-size:12px;line-height:1.9}.sanji-library-heading .sanji-library-intro{color:var(--tx-1);letter-spacing:.09em;margin-bottom:9px;font-size:15px}.sanji-library-heading nav{color:var(--tx-3);align-items:center;gap:15px;margin-top:24px;font-size:12px;display:flex}.sanji-library-heading nav a{color:var(--tx-2);text-decoration:none}.sanji-library-heading nav a:hover{color:var(--ac)}.sanji-library-heading nav a:last-child{margin-left:auto}.sanji-shelf{border-top:1px solid var(--bdr);padding:24px 0 32px;scroll-margin-top:24px}.sanji-shelf-heading{align-items:baseline;gap:15px;display:flex}.sanji-section-number{color:var(--tx-3);letter-spacing:.16em;font:10px/1.4 Georgia,serif}.sanji-shelf-heading h2{letter-spacing:.05em;font-size:15px;font-weight:500}.sanji-shelf-heading h2 span{color:var(--tx-2);font-size:12px;font-weight:400}.sanji-shelf-subtitle{color:var(--tx-3);letter-spacing:.2em;margin-left:auto;font:12px/1.5 Songti SC,STSong,serif}.sanji-books{--book-width:140px;flex-wrap:wrap;justify-content:center;gap:52px 36px;max-width:1040px;margin:38px auto 0;padding:8px 5px 28px;display:flex}.sanji-book{width:var(--book-width);aspect-ratio:7/10;perspective:900px;color:#39392f;outline-offset:10px;-webkit-tap-highlight-color:transparent;border-radius:4px;flex-shrink:0;text-decoration:none;display:block;position:relative}.sanji-book:focus-visible{outline:2px solid var(--ac)}.sanji-shelf-note{color:var(--tx-3);letter-spacing:.05em;margin-top:20px;font-size:11px;line-height:1.9}.sanji-library-about{border-top:1px solid var(--bdr);margin-top:12px;padding-top:28px}.sanji-library-about h2{align-items:baseline;gap:16px;margin-bottom:16px;font-size:15px;display:flex}.sanji-library-about p{color:var(--tx-2);font-size:13px;line-height:2}.sanji-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--tx-0);background:0 0;border:0;margin:0;padding:0;inset:0;overflow:hidden}.sanji-dialog[open]{place-items:center;display:grid}.sanji-dialog::backdrop{-webkit-backdrop-filter:blur(9px)saturate(.8);backdrop-filter:blur(9px)saturate(.8);background:#10100c70;animation:.25s both sanji-backdrop-in}.sanji-reader{background:var(--bg-page,var(--bg-0));transform-origin:75%;perspective:2400px;border-radius:10px;flex-direction:column;width:min(1180px,100vw - 64px);height:min(840px,100dvh - 64px);min-height:0;animation:.72s cubic-bezier(.2,.72,.2,1) both sanji-book-arrive;display:flex;position:relative;box-shadow:0 30px 100px #0007,0 0 0 1px #8d826b35}.sanji-reader.is-expanded{border-radius:0;width:100vw;height:100dvh}.sanji-reader-paper{border-radius:inherit;pointer-events:none;grid-template-columns:1fr 1fr;display:grid;position:absolute;inset:0;overflow:hidden}.sanji-reader-paper span:first-child{background:linear-gradient(270deg,#64543819,#0000 32px)}.sanji-reader-paper span:last-child{background:linear-gradient(90deg,#64543819,#0000 32px)}.sanji-reader-paper:after{content:"";background:#81765c29;width:1px;position:absolute;top:0;bottom:0;left:50%}.sanji-reader-opening-cover{z-index:20;pointer-events:none;transform-origin:0;width:50%;height:100%;transform-style:preserve-3d;backface-visibility:hidden;animation:.66s cubic-bezier(.3,.65,.3,1) .16s both sanji-cover-open;position:absolute;top:0;left:50%}.sanji-reader-opening-cover .sanji-book-object{--book-w:clamp(180px, 40vw, 560px);backface-visibility:hidden;transform:none}.sanji-reader-opening-cover .sanji-book-ribbon{display:none}.sanji-reader-header,.sanji-reader-content,.sanji-outline-spread,.sanji-reader-footer,.sanji-reader-mobile-tabs{z-index:1;animation:.32s .34s both sanji-reader-ink;position:relative}.sanji-reader-header{border-bottom:1px solid var(--bdr);flex-shrink:0;justify-content:space-between;align-items:center;gap:20px;padding:19px 24px;display:flex}.sanji-reader-header h2{letter-spacing:.05em;margin:5px 0 0;font:20px/1.4 Songti SC,STSong,serif}.sanji-reader-volume{color:var(--tx-3);letter-spacing:.14em;font-size:10px}.sanji-reader-toolbar{flex-shrink:0;align-items:center;gap:12px;display:flex}.sanji-reader-toolbar button{width:32px;height:32px;color:var(--tx-2);border:1px solid var(--bdr);background:0 0;border-radius:5px;place-items:center;font-size:25px;display:grid}.sanji-reader-toolbar button:hover{background:var(--bg-1);color:var(--ac)}.sanji-reader-standalone{color:var(--tx-2);white-space:nowrap;font-size:11px;text-decoration:none}.sanji-reader-content{flex-direction:column;flex:1;min-height:0;display:flex}.sanji-reader-content>a{border-top:1px solid var(--bdr);order:2;padding:9px 24px;font-size:11px}.sanji-reader-spread{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0;display:grid}.sanji-reader-text,.sanji-reader-video{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--bdr-med) transparent;min-width:0;min-height:0;overflow-y:auto}.sanji-reader-text{padding:22px 30px 24px 24px}.sanji-reader-video{padding:22px 24px 24px 30px}.sanji-reader-search{gap:8px;display:flex}.sanji-reader-search input{background:var(--bg-1);min-width:0;color:var(--tx-1);border:1px solid var(--bdr-med);border-radius:5px;flex:1;padding:9px 11px;font-size:12px}.sanji-reader-search button{color:var(--ac);border:1px solid var(--ac-bdr);border-radius:5px;padding:7px 14px;font-size:12px}.sanji-reader-chapter-filter{color:var(--tx-3);align-items:center;gap:10px;margin-top:12px;font-size:11px;display:flex}.sanji-reader-chapter-filter select{min-width:0;color:var(--tx-1);background:var(--bg-1);border:1px solid var(--bdr-med);border-radius:4px;flex:1;padding:7px;font-size:11px}.sanji-reader-result{color:var(--tx-3);justify-content:space-between;gap:10px;padding:18px 0 5px;font-size:10px;display:flex}.sanji-reader .quote-entry{border:0;border-bottom:1px solid var(--bdr);background:0 0;border-radius:0;margin:0;padding:18px 0}.sanji-reader .quote-entry>small{color:var(--tx-3);font-size:10px;line-height:1.8}.sanji-reader .course-quotes blockquote{color:var(--tx-1);margin:12px 0;font-size:14px;line-height:1.95}.sanji-reader .quote-entry>a{color:var(--ac);font-size:10px}.sanji-reader .course-actions{gap:12px;margin-top:15px}.sanji-reader .course-actions button,.sanji-reader .course-actions a{font-size:10px}.sanji-reader .course-actions .outline-button{padding:7px 10px}.sanji-reader .course-player{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.sanji-reader .course-player h2{margin-bottom:15px;font-size:15px}.sanji-reader .course-player>label{color:var(--tx-3);font-size:11px}.sanji-reader .course-player select{margin-top:8px;padding:9px;font-size:11px}.sanji-reader .course-player iframe{border-radius:5px;margin-top:18px}.sanji-reader .muted-note{font-size:11px;line-height:1.8}.sanji-reader-toc{border-top:1px solid var(--bdr);margin-top:26px;padding-top:20px}.sanji-reader-toc h3{justify-content:space-between;gap:10px;margin-bottom:14px;font-size:14px;display:flex}.sanji-reader-toc h3 small{color:var(--tx-3);font-size:10px;font-weight:400}.sanji-reader-toc>button{text-align:left;width:100%;color:var(--tx-2);border-radius:4px;justify-content:space-between;gap:12px;padding:10px;font-size:11px;line-height:1.7;display:flex}.sanji-reader-toc>button span:first-child{overflow-wrap:anywhere}.sanji-reader-toc>button small,.sanji-reader-toc>button>span:only-child{color:var(--tx-3);flex-shrink:0}.sanji-reader-toc>button:hover,.sanji-reader-toc>button[aria-pressed=true]{color:var(--ac);background:#a58e4f13}.sanji-reader .source-note{margin-top:26px;font-size:10px;line-height:1.8}.sanji-reader-pagination{color:var(--tx-3);justify-content:space-between;align-items:center;padding-top:22px;font-size:11px;display:flex}.sanji-reader-pagination button{color:var(--ac);padding:8px 0}.sanji-reader button:disabled{opacity:.4;cursor:default}.sanji-reader button:focus-visible,.sanji-reader a:focus-visible{outline:2px solid var(--ac);outline-offset:3px}.sanji-reader-status{z-index:2;color:var(--tx-2);padding:12px 24px;font-size:12px;position:relative}.sanji-reader-status button{color:var(--ac);text-decoration:underline}.sanji-reader-footer{border-top:1px solid var(--bdr);color:var(--tx-3);flex-shrink:0;justify-content:space-between;gap:15px;padding:10px 24px;font-size:10px;display:flex}.sanji-reader-mobile-tabs{display:none}.sanji-outline-spread{flex:1;grid-template-columns:1fr 1fr;min-height:0;display:grid;overflow-y:auto}.sanji-outline-spread>section{padding:42px}.sanji-outline-spread h3{margin:14px 0 22px;font:24px/1.6 Songti SC,STSong,serif}.sanji-outline-spread p,.sanji-outline-spread li{color:var(--tx-2);font-size:13px;line-height:2}.sanji-outline-spread ol{padding-left:20px}.sanji-outline-spread li{margin-bottom:20px}.sanji-outline-seal{writing-mode:vertical-rl;color:#a75a49;letter-spacing:.25em;border:1px solid #a75a49;margin-top:32px;padding:9px 5px;font:18px/1.5 Songti SC,STSong,serif;display:inline-block}.sanji-reader.is-closing{animation:.28s ease-in both sanji-book-return}.sanji-reader.is-closing .sanji-reader-opening-cover{animation:.28s ease-in both sanji-cover-close}.sanji-reader.is-closing .sanji-reader-header,.sanji-reader.is-closing .sanji-reader-content,.sanji-reader.is-closing .sanji-outline-spread{animation:.15s reverse both sanji-reader-ink}@keyframes sanji-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes sanji-book-arrive{0%{transform:translate(var(--book-from-x,0px), var(--book-from-y,0px)) scale(var(--book-from-sx,1), var(--book-from-sy,1))}to{transform:translate(0)scale(1)}}@keyframes sanji-cover-open{0%{opacity:1;transform:rotateY(0)}88%{opacity:1}to{opacity:0;transform:rotateY(-179deg)}}@keyframes sanji-reader-ink{0%{opacity:0}to{opacity:1}}@keyframes sanji-book-return{0%{opacity:1;transform:none}to{transform:translate(var(--book-from-x,0px), var(--book-from-y,0px)) scale(var(--book-from-sx,.2), var(--book-from-sy,.2));opacity:0}}@keyframes sanji-cover-close{0%{opacity:0;transform:rotateY(-179deg)}to{opacity:1;transform:rotateY(0)}}@media (max-width:1100px){.sanji-books{--book-width:128px;gap:48px 28px;max-width:760px}.sanji-reader{width:calc(100vw - 36px);height:calc(100dvh - 36px)}.sanji-reader-text{padding:18px 22px 22px 20px}.sanji-reader-video{padding:18px 20px 22px 22px}}@media (max-width:700px){.sanji-library{padding:34px 20px 50px}.sanji-library-heading h1{font-size:31px}.sanji-library-heading .sanji-library-intro{font-size:13px}.sanji-library-heading p{font-size:10px}.sanji-library-heading nav{gap:12px}.sanji-shelf-heading{gap:10px}.sanji-shelf-heading h2{font-size:13px}.sanji-shelf-heading h2 span{font-size:10px}.sanji-shelf-subtitle{letter-spacing:.05em;font-size:10px}.sanji-books{--book-width:clamp(92px, 26vw, 112px);gap:42px 18px;margin-top:28px;padding:5px 0 24px}.sanji-shelf-note{font-size:10px}.sanji-reader{border-radius:8px;width:calc(100vw - 16px);height:calc(100dvh - 24px)}.sanji-reader-header{gap:10px;padding:14px 16px}.sanji-reader-header h2{font-size:17px}.sanji-reader-volume{font-size:9px}.sanji-reader-toolbar{gap:8px}.sanji-reader-toolbar button{width:29px;height:29px;font-size:22px}.sanji-reader-standalone{display:none}.sanji-reader-mobile-tabs{border-bottom:1px solid var(--bdr);flex-shrink:0;gap:20px;padding:0 16px;display:flex}.sanji-reader-mobile-tabs button{color:var(--tx-2);border-bottom:2px solid #0000;padding:11px 5px;font-size:12px}.sanji-reader-mobile-tabs button[aria-selected=true]{color:var(--ac);border-bottom-color:var(--ac)}.sanji-reader-spread{grid-template-columns:minmax(0,1fr)}.sanji-reader-spread[data-mobile-tab=reading] .sanji-reader-video,.sanji-reader-spread[data-mobile-tab=video] .sanji-reader-text{display:none}.sanji-reader-text,.sanji-reader-video{padding:18px}.sanji-reader-paper span:last-child,.sanji-reader-paper:after{display:none}.sanji-reader-paper{background:var(--bg-page,var(--bg-0));display:block}.sanji-reader-content>a{padding:10px 18px;font-size:10px}.sanji-reader-footer{padding:9px 16px;font-size:9px}.sanji-reader-footer span:last-child{display:none}.sanji-outline-spread{display:block}.sanji-outline-spread>section{padding:24px}.sanji-outline-spread>section+section{border-top:1px solid var(--bdr)}}@media (max-width:359px){.sanji-library{padding-left:16px;padding-right:16px}.sanji-books{--book-width:112px;gap:42px 28px}.sanji-shelf-heading h2 span{margin-top:4px;display:block}}@media (prefers-reduced-motion:reduce){.sanji-book-object{transition:none}.sanji-reader,.sanji-reader-header,.sanji-reader-content,.sanji-outline-spread,.sanji-reader-footer,.sanji-reader-mobile-tabs,.sanji-dialog::backdrop{animation:none!important}.sanji-reader-opening-cover{display:none}}
