:root{color-scheme:light;--surface:#fcfbf7;--surface-2:#efede6;--page:#fcfaf2;--page-muted:#f0ede3;--soft-ink:#77766d;--shadow-ink:#312c2520}
:root[data-theme=dark]{color-scheme:dark;--paper:#141817;--ink:#e7e8e0;--muted:#a0a69d;--line:#303932;--surface:#1c231f;--surface-2:#242d27;--page:#202720;--page-muted:#283127;--soft-ink:#a4ad9e;--shadow-ink:#0006;--purple:#bca4da}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.topbar-actions{display:flex;align-items:center;gap:12px}.theme-toggle{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;color:var(--soft-ink);background:var(--surface);font-size:19px;display:grid;place-items:center}.connection-status{color:var(--soft-ink)}.hero-description,.stats,.sort-wrap label,.collection-hint,.sync-message{color:var(--muted)}h1 em{color:var(--purple)}.stats strong{color:var(--ink)}.view-switch{background:var(--surface-2)}.view-switch button{color:var(--muted)}.view-switch button.active{background:var(--surface);color:var(--ink)}.search-wrap input{color:var(--ink)}.search-wrap input::placeholder{color:var(--muted)}.tag-pill{background:var(--surface);border-color:var(--line);color:var(--soft-ink);font-size:11px;padding:9px 15px}.tag-pill:hover{background:var(--surface-2)}.tag-pill.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.tag-pill .tag-symbol{color:var(--purple)}.tag-pill.active .tag-symbol{color:inherit}.sort-wrap select,.tag-select-wrap select{background-color:var(--surface);border:1px solid var(--line);color:var(--soft-ink);border-radius:7px;padding:10px;font-size:11px;max-width:145px}.sort-wrap{margin-left:auto}.tag-select-wrap{margin-left:auto}.tag-select-wrap+.sort-wrap{margin-left:0}.search-wrap{max-width:300px}.icon-button{color:var(--soft-ink)}.add-link{background:var(--surface);border-color:var(--line);color:var(--ink)}.add-subtitle{color:var(--muted)}.paper-note{background:var(--page-muted);border-color:var(--line)}.note-star{color:var(--soft-ink)}.note-caption{color:var(--muted)}.notion-icon{border-color:var(--line)}.empty-state p{color:var(--muted)}.empty-state button{background:var(--surface);color:var(--ink);border-color:var(--line)}.collection-heading #result-count{color:var(--muted)}.collection{min-height:420px}.concept-covers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;align-items:end;padding:13px 24px 0;perspective:1800px}.concept-book{position:relative;display:block;width:100%;height:322px;border:0;border-radius:3px 8px 2px 2px;background:transparent;padding:0;text-align:left;transform-style:flat;transition:transform .35s cubic-bezier(.2,.7,.2,1);outline-offset:7px}.concept-book:hover,.concept-book:focus-visible{transform:translateY(-12px) rotateY(-8deg) rotateZ(-1deg)}.book-cover{position:absolute;inset:0 5px 0 0;background:linear-gradient(90deg,#0004 0,#ffffff24 3%,#0001 6%,transparent 11%,#fff1 94%,#0002 99%),var(--cover);color:#f7edd6;border:1px solid #0002;border-radius:3px 6px 1px 1px;display:flex;flex-direction:column;padding:21px 20px 19px;box-shadow:5px 3px 11px var(--shadow-ink);z-index:2;overflow:hidden}.book-cover::after{content:'';position:absolute;inset:8px;border:1px solid #eadcc231;pointer-events:none}.cover-pages{position:absolute;inset:5px 0 3px 10px;background:repeating-linear-gradient(90deg,#e5decb 0 1px,#f5eddb 1px 3px);border-radius:0 7px 3px 0;transform:translateX(3px) rotateY(-3deg)}.cover-spine{position:absolute;left:-3px;top:0;bottom:1px;width:9px;background:var(--cover);filter:brightness(.65);border-radius:3px 0 0 0}.cover-volume{font-size:6px;letter-spacing:1.4px;line-height:1.7;opacity:.65;margin-left:5px}.cover-ornament{height:112px;font-family:var(--serif);font-size:91px;font-weight:400;line-height:1;display:grid;place-items:center;color:#eee1ba;opacity:.85}.cover-title{font-family:var(--serif);font-size:31px;line-height:1.04;letter-spacing:-.5px;font-weight:400;margin:2px 0 10px;max-width:170px}.cover-subtitle{font-family:var(--serif);font-style:italic;font-size:12px;line-height:1.45;opacity:.65}.cover-footer{border-top:1px solid #eee0c743;padding-top:11px;display:flex;justify-content:space-between;gap:7px;margin-top:auto;font-size:7px;letter-spacing:.5px}.cover-footer>span:last-child{font-size:6px}.cover-style-1{height:340px}.cover-style-1 .cover-ornament{font-size:78px}.cover-style-2{height:300px}.cover-style-2 .cover-ornament{font-size:86px}.cover-style-3{height:328px}.cover-style-3 .cover-title{font-style:italic}.shelf-wood{margin-top:2px}.shelf-caption{color:var(--muted);line-height:1.7}.shelf-caption .shelf-name{color:var(--soft-ink)}.concept-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:4px 0 30px}.index-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:28px}.index-top{display:flex;align-items:center;justify-content:space-between}.index-symbol{font-size:27px;color:var(--cover)}.index-volume{font-size:8px;color:var(--muted);letter-spacing:2px}.index-card h3{font-family:var(--serif);font-size:30px;font-weight:400;letter-spacing:-.7px;margin:18px 0 8px}.index-card p{font-size:12px;color:var(--muted);line-height:1.8;margin:0 0 23px}.index-chapter{display:flex;justify-content:space-between;width:100%;padding:12px 0;border:0;border-top:1px solid var(--line);background:transparent;color:var(--soft-ink);font-size:11px;text-align:left}.index-chapter:hover{color:var(--ink)}.index-chapter>span:last-child{opacity:.5}.index-chapters{margin-top:8px}dialog{background:var(--paper);border-color:var(--line)}dialog h2{color:var(--ink)}dialog p{color:var(--muted)}.schema-strip span{border-color:var(--line);color:var(--soft-ink)}.dialog-icon{border-color:var(--line)}.dialog-close{color:var(--muted)}.dialog-link{color:var(--purple)}
#book-dialog{width:min(1050px,calc(100vw - 60px));max-width:1050px;padding:0;border-radius:6px 10px 10px 6px;border:0;overflow:visible;box-shadow:0 40px 100px #0006;perspective:1800px;background:transparent}#book-dialog::backdrop{background:#111915aa;backdrop-filter:blur(10px)}.open-book-spread{display:grid;grid-template-columns:34% 66%;min-height:550px;max-height:calc(100dvh - 100px);border-radius:inherit;overflow:hidden;background:var(--page);box-shadow:inset 0 0 0 1px var(--line)}.open-book-cover{background:linear-gradient(90deg,transparent 88%,#0001 94%,#0003 100%),var(--cover);padding:35px 28px 27px;color:#f6ecd6;position:relative;transform-origin:right center;overflow-y:auto}.open-book-cover .eyebrow{font-size:7px;letter-spacing:1.8px;color:#e7decb99;line-height:1.7}.open-book-symbol{display:block;font-size:42px;color:#f4dfb7;margin:15px 0}.open-book-cover h2{font-family:var(--serif);font-weight:400;color:#fff1d8;font-size:35px;line-height:1.05;letter-spacing:-1px;margin:0 0 12px}.open-book-cover>p:not(.eyebrow){color:#f1e7d0b3;font-size:12px;line-height:1.7}.open-book-cover #open-book-volume{font-size:9px;opacity:.6;margin:20px 0}#chapter-list{margin:29px -11px 38px}.chapter-button{width:100%;background:transparent;display:flex;align-items:center;gap:8px;border:0;border-radius:6px;padding:12px 11px;text-align:left;color:#f8ecd0a3;font-size:11px}.chapter-button.active,.chapter-button:hover{color:#fff1d9;background:#ffffff14}.chapter-number{font-size:8px;opacity:.45}.chapter-count{margin-left:auto;font-size:9px;opacity:.6}.chapter-name{flex:1}.book-owner{font-size:6px;letter-spacing:1.7px;color:#e7decb7f;line-height:1.8}.open-book-right{display:flex;flex-direction:column;min-width:0;background:linear-gradient(90deg,#0001 0,transparent 17px),var(--page)}#book-page{padding:55px 46px 34px;overflow-y:auto;min-height:0;flex:1;outline:0}.page-heading .eyebrow{color:var(--soft-ink);font-size:8px}.page-heading h3{font-family:var(--serif);font-size:44px;letter-spacing:-1.5px;line-height:1.1;font-weight:400;margin:18px 0 12px}.page-intro{font-family:var(--serif);font-style:italic;font-size:15px!important;color:var(--muted);line-height:1.6!important}.contents-list{margin:32px 0 42px}.contents-chapter{display:flex;align-items:center;gap:14px;width:100%;border:0;border-bottom:1px solid var(--line);padding:21px 0;background:transparent;text-align:left;color:var(--ink)}.contents-number{font-family:var(--serif);font-size:14px;color:var(--muted)}.contents-title{font-family:var(--serif);font-size:21px}.contents-dots{border-bottom:1px dotted var(--line);flex:1;align-self:end;margin-bottom:4px;min-width:8px}.contents-count{font-size:10px;color:var(--muted);white-space:nowrap}.contents-arrow{color:var(--cover);font-size:16px}.contents-chapter:hover .contents-title{color:var(--cover)}.book-colophon{font-size:7px!important;letter-spacing:2px;margin-top:36px;color:var(--muted)}.close-book{position:absolute;z-index:5;right:15px;top:10px;width:30px;height:30px;border-radius:50%;border:0;font-size:25px;color:var(--muted);background:transparent}.page-footer{margin:0 35px 0 46px;border-top:1px solid var(--line);padding:17px 0;display:flex;justify-content:space-between;font-size:6px;letter-spacing:1.6px;color:var(--muted)}#page-number{font-family:var(--serif);font-size:12px;letter-spacing:0}.saved-article{padding:24px 0;border-top:1px solid var(--line)}.chapter-articles{margin-top:30px}.article-title{font-family:var(--serif);font-size:23px;letter-spacing:-.4px;line-height:1.3;text-decoration:none;color:var(--ink);display:block}.article-title:hover{color:var(--cover)}.article-arrow{display:inline-block;margin-left:8px;color:var(--cover);font-family:var(--sans);font-size:17px}.article-meta{display:flex;flex-wrap:wrap;gap:16px;color:var(--muted);font-size:9px;margin:13px 0}.article-note{font-size:12px!important;color:var(--soft-ink);white-space:pre-wrap;overflow-wrap:anywhere;margin:15px 0}.article-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:14px}.article-tags span{font-size:8px;padding:4px 7px;border:1px solid var(--line);color:var(--muted);border-radius:4px}.opening{animation:book-arrive .45s cubic-bezier(.2,.8,.2,1)}.opening .open-book-cover{animation:unfold-cover .7s cubic-bezier(.2,.8,.2,1)}.turning{animation:turn-page .3s ease;transform-origin:left center}@keyframes book-arrive{from{opacity:0;transform:translateY(35px) scale(.92) rotate(-2deg)}to{opacity:1;transform:none}}@keyframes unfold-cover{from{transform:rotateY(80deg);filter:brightness(.55)}to{transform:rotateY(0);filter:none}}@keyframes turn-page{from{opacity:.15;transform:perspective(1200px) rotateY(-9deg) translateX(9px)}to{opacity:1;transform:none}}
:root[data-theme=dark] .shelf-wood{background:linear-gradient(#494236,#363229);border-color:#514a3d;box-shadow:0 10px 15px -9px #000}:root[data-theme=dark] .index-symbol{color:var(--cover-light)}:root[data-theme=dark] .contents-arrow,:root[data-theme=dark] .article-arrow{color:var(--cover-light)}:root[data-theme=dark] .article-title:hover,:root[data-theme=dark] .contents-chapter:hover .contents-title{color:var(--cover-light)}:root[data-theme=dark] .stats .stat-divider{background:var(--line)}:root[data-theme=dark] .search-wrap,:root[data-theme=dark] .search-wrap kbd{background:var(--surface);border-color:var(--line)}:root[data-theme=dark] footer{color:var(--muted)}
@media(max-width:1150px){.concept-covers{gap:20px;padding:13px 15px 0}.cover-title{font-size:26px}.book-cover{padding:20px 16px}.cover-volume{font-size:5px}.cover-footer{font-size:6px}.cover-footer>span:last-child{font-size:5px}.tag-select-wrap{margin-left:0}.tag-select-wrap+.sort-wrap{margin-left:auto}}
@media(max-width:850px){.concept-covers{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px;padding:10px 15px 0}.concept-book{height:310px}.cover-style-1{height:328px}.cover-style-2{height:295px}.cover-style-3{height:315px}.cover-title{font-size:31px;max-width:210px}.open-book-spread{grid-template-columns:36% 64%}.open-book-cover{padding:29px 20px}.open-book-cover h2{font-size:30px}#book-page{padding:43px 28px 30px}.page-footer{margin-left:28px;margin-right:28px}.contents-title{font-size:18px}.contents-chapter{gap:9px}.contents-dots{display:none}.contents-count{margin-left:auto}}
@media(max-width:700px){.topbar-actions{gap:8px}.theme-toggle{width:28px;height:28px;font-size:17px}.hero-description{max-width:290px;line-height:1.6}.stats{gap:10px;flex-wrap:wrap;font-size:9px}.stats strong{font-size:12px}.concept-covers{gap:24px 16px;padding:7px 10px 0}.concept-book{height:264px}.cover-style-1{height:279px}.cover-style-2{height:245px}.cover-style-3{height:264px}.book-cover{padding:17px 14px 15px}.cover-title{font-size:25px;line-height:1.04;max-width:150px}.cover-volume{font-size:4px;letter-spacing:1px}.cover-ornament{height:83px;font-size:68px}.cover-style-1 .cover-ornament{font-size:63px}.cover-style-2 .cover-ornament{font-size:65px}.cover-subtitle{font-size:10px}.cover-footer{flex-direction:column;gap:5px;padding-top:9px;font-size:6px}.cover-footer>span:last-child{font-size:5px}.tag-pill{font-size:10px;padding:8px 12px}.concept-index{grid-template-columns:1fr;gap:15px}.index-card{padding:22px}.index-card h3{font-size:27px}.shelf-caption{align-items:flex-start;gap:8px;font-size:8px}.shelf-number{max-width:92px;text-align:right}.collection-heading #result-count{font-size:8px}#book-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 36px);margin:auto;border-radius:9px;overflow:hidden}.open-book-spread{display:flex;flex-direction:column;min-height:0;max-height:calc(100dvh - 36px)}.open-book-cover{padding:23px 22px 13px;overflow:visible;flex:none}.open-book-cover .eyebrow{font-size:6px;margin-bottom:12px}.open-book-symbol{display:none}.open-book-cover h2{font-size:28px;max-width:230px;margin:0 0 8px}.open-book-cover>p:not(.eyebrow){font-size:10px;line-height:1.6;max-width:255px;margin:0}.open-book-cover #open-book-volume{margin:10px 0;font-size:8px}.book-owner{display:none}#chapter-list{display:flex;gap:5px;overflow-x:auto;margin:12px -3px 0;padding-bottom:5px;scrollbar-width:thin}.chapter-button{flex:0 0 auto;width:auto;padding:8px;font-size:10px;gap:6px}.chapter-number{display:none}.chapter-count{font-size:8px}.open-book-right{min-height:0;flex:1;max-height:calc(100dvh - 250px)}#book-page{padding:28px 22px 22px}.page-heading h3{font-size:32px;letter-spacing:-1px;margin-top:12px}.page-intro{font-size:13px!important}.contents-list{margin:19px 0 25px}.contents-chapter{padding:17px 0;gap:10px}.contents-title{font-size:18px}.contents-number{font-size:12px}.contents-count{font-size:9px}.contents-arrow{font-size:14px}.page-footer{margin:0 22px;padding:13px 0;font-size:5px}.book-colophon{font-size:6px!important;letter-spacing:1.4px}.close-book{color:#f2e6d5;right:8px;top:11px;background:#0001}.article-title{font-size:20px}.article-meta{font-size:8px;gap:10px}.saved-article{padding:19px 0}.article-note{font-size:11px!important}.chapter-articles{margin-top:23px}.opening .open-book-cover{animation:none}}
@media(max-width:350px){.book-cover{padding:16px 11px 13px}.cover-title{font-size:22px}.cover-volume{letter-spacing:.6px}.cover-subtitle{font-size:9px}.concept-covers{gap:22px 13px;padding:7px 7px 0}.concept-book{height:250px}.cover-style-1{height:265px}.cover-style-2{height:235px}.cover-style-3{height:250px}.connection-status{padding:7px 8px}.small-arrow{display:none}.topbar-actions{gap:5px}}

:root[data-theme=dark] .search-wrap{border-radius:7px;padding:0 10px}.cover-pages{z-index:1}.book-cover{z-index:2}

@media(max-width:700px){.tag-select-wrap{display:block;order:5;width:100%;margin-left:0}.tag-select-wrap select{width:100%;max-width:none;padding:10px 12px}.tag-select-wrap+.sort-wrap{margin-left:auto}}

.cover-title,.article-title,.open-book-cover h2{overflow-wrap:anywhere}.open-book-spread{min-height:min(550px,calc(100dvh - 100px))}@media(max-width:350px){.cover-title{font-size:20px}}@media(max-width:700px){.open-book-spread{min-height:0}}

/* The entire moving book lives in the reader's clipped stage. */
.book-in-flight{opacity:0;transition:none}
.motion-source{position:fixed;width:220px;height:310px;opacity:0;pointer-events:none}
#book-dialog{width:min(1000px,calc(100vw - 48px));max-width:1000px;max-height:calc(100dvh - 48px);overflow:hidden;isolation:isolate;perspective:none;border-radius:9px;background:var(--page)}
.open-book-spread{grid-template-columns:1fr 1fr;min-height:min(570px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);height:min(620px,calc(100dvh - 48px));overflow:hidden}
.open-book-cover,.open-book-right{min-width:0;min-height:0}.open-book-cover{padding:38px 35px 25px}.open-book-cover h2{font-size:38px;max-width:360px}.open-book-cover>p:not(.eyebrow){max-width:330px}.open-book-right{max-height:none}#book-page{padding:52px 35px 30px}.page-heading h3{font-size:40px}.page-footer{margin-left:35px;margin-right:35px}.chapter-name,.contents-title{min-width:0;overflow-wrap:anywhere}.contents-count{flex-shrink:0}.contents-chapter{gap:11px}.contents-title{font-size:20px}.contents-dots{min-width:0}.open-book-cover #chapter-list{margin-bottom:28px}
#book-dialog.is-opening .open-book-cover{visibility:hidden}
#book-dialog.is-lifting .open-book-spread{opacity:0}
.book-motion-stage{position:absolute;inset:0;z-index:6;pointer-events:none;overflow:clip;perspective:2200px;perspective-origin:center center;contain:paint}
.reader-book{position:absolute;top:0;bottom:0;left:50%;width:50%;transform-style:preserve-3d;transform-origin:left center;will-change:transform}
.reader-book-pages{position:absolute;inset:3px 3px 3px 0;border-radius:0 8px 8px 0;background:linear-gradient(90deg,#0002,transparent 9%),var(--page);border-right:3px double #c4bba7;box-shadow:inset 15px 0 24px #0002,8px 10px 20px #0003}
.reader-book-hinge{position:absolute;inset:0;transform-origin:left center;transform-style:preserve-3d;will-change:transform}
.reader-book-front,.reader-book-back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:2px 8px 8px 2px;box-shadow:inset 0 0 0 1px #0002;overflow:hidden}
.reader-book-front{transform:translateZ(2px);padding:clamp(24px,4vw,48px);z-index:auto}
.reader-book-front .cover-volume{font-size:8px;letter-spacing:1.4px;margin-left:0}.reader-book-front .cover-ornament{flex:1;font-size:100px;height:auto;min-height:50px;max-height:190px}.reader-book-front .cover-title{font-size:clamp(30px,3.9vw,46px);max-width:none;margin:16px 0}.reader-book-front .cover-subtitle{font-size:16px;line-height:1.5}.reader-book-front .cover-footer{font-size:10px;padding-top:20px;margin-top:auto;flex-direction:row}.reader-book-front .cover-footer>span:last-child{font-size:8px}.reader-book-front::after{inset:16px}
.reader-book-back{transform:rotateY(180deg) translateZ(2px);background:linear-gradient(90deg,#fff1,transparent 80%,#0003),var(--cover);border-radius:8px 2px 2px 8px}.reader-book-back::after{content:'✦';position:absolute;inset:22px;border:1px solid #eadcc23a;display:grid;place-items:center;font:72px var(--serif);color:#eee1ba80}
#book-dialog .close-book{z-index:8;width:32px;height:32px;top:11px;right:11px;background:var(--page);color:var(--soft-ink);box-shadow:0 0 0 1px var(--line)}
/* Compact, equal-height toolbar controls; a tag is never wider than its row. */
.toolbar{gap:14px;min-width:0;flex-wrap:wrap}.toolbar>*{min-width:0}.tag-select-wrap{flex:0 1 160px;min-width:120px;margin-left:auto}.tag-select-wrap select,.sort-wrap select{height:38px;appearance:none;border:1px solid var(--line);border-radius:6px;padding:0 27px 0 11px;font-size:11px;line-height:1.3;background-color:var(--surface);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='8'%3E%3Cpath d='m2 2 3 3 3-3' fill='none' stroke='%23949889'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;box-shadow:none;text-overflow:ellipsis;min-width:0;max-width:100%}.tag-select-wrap select{width:100%}.sort-wrap{flex-shrink:0}.search-wrap{min-width:160px}.concept-covers{row-gap:40px}.concept-book{min-width:0}.book-cover .cover-title{hyphens:auto}.index-card{min-width:0}.index-card h3,.index-chapter{overflow-wrap:anywhere}.collection-heading>div{min-width:0}.collection-heading h2{overflow-wrap:anywhere}
@media(max-width:850px){.open-book-cover{padding:31px 24px 23px}.open-book-cover h2{font-size:31px}#book-page{padding:45px 26px 26px}.page-footer{margin-left:26px;margin-right:26px}.contents-dots{display:none}.contents-title{font-size:19px}.contents-count{margin-left:auto}.reader-book-front{padding:30px}.reader-book-front .cover-title{font-size:32px}.reader-book-front .cover-subtitle{font-size:13px}}
@media(max-width:700px){#book-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 32px);border-radius:9px}.open-book-spread{height:min(720px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);min-height:0;display:flex;flex-direction:column}.open-book-cover{padding:24px 22px 16px;max-height:44%;flex:none;overflow:auto}.open-book-cover h2{font-size:28px;max-width:calc(100% - 24px)}.open-book-cover>p:not(.eyebrow){font-size:10px;max-width:none}.open-book-cover #chapter-list{margin:12px 0 0;padding-bottom:5px;max-width:100%;overflow-x:auto}.open-book-right{flex:1;min-height:0;max-height:none}#book-page{padding:27px 22px 22px}.page-heading h3{font-size:32px}.contents-title{font-size:18px}.contents-count{font-size:9px}.page-footer{margin:0 22px}.reader-book{left:0;width:100%}.reader-book-front{padding:34px 30px}.reader-book-front .cover-title{font-size:38px}.reader-book-front .cover-subtitle{font-size:14px}.reader-book-front .cover-ornament{max-height:150px;font-size:90px}.reader-book-front .cover-footer{font-size:9px}.reader-book-front .cover-footer>span:last-child{font-size:7px}.tag-select-wrap{order:5;flex:1 1 100%;min-width:0;width:100%;margin:0}.tag-select-wrap select{height:38px;padding:0 30px 0 12px}.search-wrap{min-width:0}.sort-wrap{flex:1;min-width:0}.sort-wrap label{display:none}.tag-select-wrap+.sort-wrap{margin-left:auto}.toolbar{gap:11px}.concept-covers{row-gap:28px}.contents-arrow{flex-shrink:0}}
@media(max-width:350px){.open-book-cover h2{font-size:24px}.open-book-cover{padding:23px 18px 14px}#book-page{padding:24px 18px 20px}.page-footer{margin:0 18px}.reader-book-front{padding:32px 25px}.reader-book-front .cover-title{font-size:32px}.reader-book-front .cover-volume{font-size:6px}.view-switch button{padding-left:10px;padding-right:10px}.toolbar{gap:9px}}
@media(prefers-reduced-motion:reduce){.book-in-flight{opacity:1}.book-motion-stage{display:none}.turning{animation:none}}

#book-dialog.is-lifting{background:transparent;box-shadow:none}.reader-book-front{box-shadow:inset 0 0 0 1px #0002,8px 15px 28px #0003}

[hidden]{display:none!important}
.collection-heading{flex-wrap:wrap}.collection-actions{display:flex;align-items:center;gap:18px}.add-book-button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:7px;padding:10px 14px;font-size:11px;white-space:nowrap}.add-book-button:hover{background:var(--surface-2)}
.library-notice{padding:14px 18px;margin:0 0 24px;border:1px solid var(--line);border-radius:7px;font-size:12px;color:var(--ink);background:var(--surface);line-height:1.7}
#add-book-dialog{max-height:calc(100dvh - 32px);overflow:auto}#add-book-dialog h2{margin-bottom:12px}#add-book-form{margin-top:24px}#add-book-form label{display:block;font-size:11px;font-weight:500;margin:20px 0 9px;color:var(--ink)}#add-book-form label span{font-weight:400;color:var(--muted)}#add-book-form input{width:100%;min-width:0;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);padding:13px;font-size:12px}#add-book-form input::placeholder{color:var(--muted)}.field-hint{font-size:10px!important;line-height:1.65!important;color:var(--muted)}.form-error{color:#b76359!important;font-size:11px!important;white-space:pre-wrap}.create-book-button{width:100%;border:0;border-radius:7px;padding:14px;font-size:12px;background:var(--ink);color:var(--paper);margin-top:9px}.create-book-button:disabled{opacity:.6}
.book-search-bar{display:flex;align-items:center;flex:none;gap:10px;margin:42px 35px 0;padding:0 12px;height:42px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--muted);min-width:0}.book-search-bar>span{font-size:24px}.book-search-bar input{border:0;background:transparent;color:var(--ink);font-size:12px;min-width:0;flex:1;width:100%;height:100%;outline:none}.book-search-bar input::placeholder{color:var(--muted)}.book-search-bar:focus-within{outline:2px solid var(--purple);outline-offset:2px}.book-search-bar input::-webkit-search-cancel-button{appearance:none}.book-search-bar button{border:0;background:transparent;color:var(--muted);font-size:22px;padding:2px 4px}.open-book-right #book-page{padding-top:30px}.search-result-chapter{font-size:10px;border:0;background:transparent;color:var(--muted);padding:0;margin:0 0 12px;text-align:left;overflow-wrap:anywhere}.search-result-chapter:hover{color:var(--ink)}.book-search-empty{padding:20px 0;font-size:12px;line-height:1.8}.search-chapters{margin-bottom:20px}.saved-article mark,.contents-title mark{background:#cbb76b38;color:inherit;border-radius:2px;padding:0 1px}
@media(max-width:850px){.book-search-bar{margin:42px 26px 0}.collection-actions{gap:12px}}
@media(max-width:700px){.collection-heading>div:first-child{flex-wrap:wrap;row-gap:7px}.collection-actions{margin-left:auto}.add-book-button{padding:9px 12px;font-size:10px}.book-search-bar{margin:15px 22px 0;height:38px}.book-search-bar input{font-size:11px}.open-book-right #book-page{padding-top:24px}#add-book-dialog{padding:29px 24px}#add-book-form label{margin-top:16px}}
@media(max-width:350px){.book-search-bar{margin-left:18px;margin-right:18px}.collection-heading{gap:12px}.collection-heading>div:first-child{flex:1}.collection-heading #result-count{flex-basis:100%;margin-left:14px}}

/* The shelf shows narrow spines; the full cover appears when a book opens. */
.collection{min-height:365px}
.concept-spine-track{display:flex;align-items:flex-end;gap:7px;min-height:334px;padding:20px 24px 0;perspective:none;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--line) transparent;scroll-padding:24px;overscroll-behavior-x:contain}
.shelf-spine{display:block;flex:0 0 var(--book-width);width:var(--book-width);height:var(--book-height);min-width:0;padding:0;color:#f6f1e8;border:1px solid #00000024;border-radius:3px 4px 0 0;background:linear-gradient(90deg,#0003 0%,#fff2 6%,transparent 12%,#fff1 79%,#0001 94%,#0003 100%),var(--book-colour);box-shadow:2px 0 3px var(--shadow-ink);transform-style:flat;transform-origin:center bottom;outline-offset:-3px;transition:transform .23s,box-shadow .23s;overflow:hidden}
.shelf-spine:hover,.shelf-spine:focus-visible{transform:translateY(-12px) rotate(-2deg);box-shadow:5px 8px 10px var(--shadow-ink);z-index:2}
.shelf-spine .book-title{font-size:18px;font-weight:400;letter-spacing:.3px;max-height:calc(100% - 101px)}
.shelf-spine.label .book-title{font-size:17px;padding:12px 8px;max-height:calc(100% - 81px)}
.shelf-spine.italic .book-title{font-size:19px}
.shelf-spine .imprint{font-size:8px;letter-spacing:1.1px;bottom:15px}
.shelf-spine .book-symbol{font-size:19px}
.concept-spine-track .bookend{margin-right:26px}
.shelf-spine.book-in-flight{opacity:0;transition:none}
@media(max-width:700px){.collection{min-height:315px}.concept-spine-track{min-height:282px;padding:20px 10px 0;gap:5px;scroll-padding:10px}.shelf-spine{height:calc(var(--book-height) * .82);width:calc(var(--book-width) * .86);flex-basis:calc(var(--book-width) * .86)}.shelf-spine .book-title{font-size:16px}.shelf-spine.label .book-title{font-size:15px;padding:10px 7px}.shelf-spine.italic .book-title{font-size:17px}.shelf-spine .imprint{font-size:7px}.concept-spine-track .bookend{margin-left:6px}}
@media(prefers-reduced-motion:reduce){.shelf-spine.book-in-flight{opacity:1}}
