:root{font-family:system-ui,-apple-system,sans-serif;color:#203b37;background:#f4f5ef}*{box-sizing:border-box}body{margin:0}header{background:#163f39;color:#fff;padding:24px max(24px,calc((100vw - 1100px)/2));display:flex;gap:30px;align-items:center}.brand{font:700 25px Georgia,serif}header span+span{font-size:13px;color:#d5e2d9}main{max-width:1100px;margin:40px auto;padding:0 24px}h1{font-size:32px;margin-bottom:8px}p{line-height:1.8}form,.toolbar{display:flex;gap:16px;flex-wrap:wrap;align-items:end}label{display:grid;gap:7px;font-size:13px}input,select,button{font:inherit;padding:11px 14px;border:1px solid #bbc9c0;border-radius:7px}input{min-width:270px}button{background:#1d6150;color:white;cursor:pointer}button:disabled{opacity:.5}button:hover{background:#124739}small{color:#52655d}#login{background:white;padding:24px;border-radius:12px;margin-top:28px}#message{color:#8a3e18;min-height:24px}.card{background:#fff;border:1px solid #dce3d8;border-radius:12px;padding:26px;margin:20px 0;box-shadow:0 3px 12px #1232}h2{font-size:21px;margin:12px 0}.meta{font-size:12px;color:#64726a}.post{white-space:pre-wrap;border-left:3px solid #d8dfcd;padding-left:16px;color:#52605b;font-size:14px}.choice{display:flex;gap:10px;padding:10px;background:#f6f8f3;margin:8px 0}.choice input{min-width:0}details{margin:18px 0}summary{cursor:pointer;font-weight:600}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.7 system-ui;background:#f5f6f2;padding:16px}a{color:#28614e;overflow-wrap:anywhere}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}#runs{max-width:560px}.saved{color:#28704b;font-weight:600}@media(max-width:600px){header span+span{display:none}main{margin-top:25px}.card{padding:18px}select{max-width:100%!important}.toolbar label{width:100%}}
[hidden]{display:none!important}

/* Adopted compass-and-book identity. */
header{background:#fff;color:#183449;border-bottom:1px solid #dce4e9;padding-top:16px;padding-bottom:16px}.brand{display:inline-flex;align-items:center;gap:10px;font:700 25px system-ui,-apple-system,sans-serif;white-space:nowrap}.brand img{display:block;flex-shrink:0}header span+span{color:#536b7b}

.shelf-controls{display:flex;gap:16px;flex-wrap:wrap;margin-top:24px;align-items:end}.shelf-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px 16px}.shelf-grid.compact{grid-template-columns:repeat(8,minmax(0,1fr));gap:16px 12px}.book-card{min-width:0}.book-cover{position:relative;aspect-ratio:2/3;background:#e7eef0;color:#183449;border-left:5px solid #b8cdd2;border-radius:3px 7px 7px 3px;padding:12px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.book-cover>span{font-weight:650;font-size:14px;overflow:hidden}.book-cover small{font-size:10px}.book-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:white}.book-info h2{font-size:14px;line-height:1.5;margin:8px 0 4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.book-author{font-size:12px;margin:0;color:#536b7b}.candidate-state{font-size:11px}.book-detail{font-size:12px;margin:8px 0}.book-detail summary{font-weight:400}.book-detail .post{padding-left:8px;font-size:13px}.posts.shelf-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.posts.shelf-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.posts .book-card{padding:12px;background:white;border:1px solid #dce4e9;border-radius:8px;display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;align-content:start}.posts .book-info h2{margin-top:0}.shelf-post,.posts .book-detail{grid-column:1/-1}.shelf-post p{font-size:14px;line-height:1.65;margin:5px 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.shelf-post a{font-size:12px}.empty-shelf{grid-column:1/-1}@media(max-width:900px){.shelf-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.shelf-grid.compact{grid-template-columns:repeat(6,minmax(0,1fr))}.posts.shelf-grid,.posts.shelf-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){main{padding:0 14px}.shelf-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 10px}.shelf-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 8px}.posts.shelf-grid,.posts.shelf-grid.compact{grid-template-columns:minmax(0,1fr)}.shelf-controls{gap:12px}.shelf-controls label:last-child{width:100%}.shelf-controls input{min-width:0;width:100%}.book-cover{padding:6px}.book-cover>span{font-size:12px}.book-info h2{font-size:12px}.book-author{font-size:11px}.posts .book-info h2{font-size:14px}}
/* Bookshelf workspace: compact controls, quiet secondary settings. */
:root{color:#183449;background:#fafbfc}main{max-width:1440px;margin:24px auto;padding:0 28px}header{padding:12px 28px}.page-heading h1{font-size:27px;margin:0}.page-heading p{font-size:13px;color:#637786;margin:5px 0 0}.page-heading{margin-bottom:18px}#message{font-size:12px;margin:4px 0;min-height:0}#message:empty{display:none}.shelf-controls{margin-top:14px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #e1e7eb}.search-label{flex:1;max-width:400px}.search-label input{width:100%;min-width:0;background:#fff;border-color:#d5dfe5}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.segmented{display:inline-flex;padding:3px;background:#eef2f5;border-radius:8px;gap:2px}.segmented button{background:transparent;color:#526878;border:0;font-size:13px;padding:9px 15px;border-radius:6px;white-space:nowrap}.segmented button[aria-pressed=true]{background:#118c99;color:#fff}.segmented button:hover{background:#dce9ed}.segmented button[aria-pressed=true]:hover{background:#087780}.quiet{color:#526878;background:white;border-color:#d5dfe5;font-size:12px}.quiet:hover,.quiet[aria-pressed=true]{background:#e2edf0;color:#183449}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #27a9b5;outline-offset:3px}.collection-meta{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:12px 0 20px}.collection-meta #summary{font-size:12px;color:#637786;margin:0}.collection-settings{margin:0;max-width:65%;font-size:12px}.collection-settings>summary{font-weight:400;color:#526878;text-align:right}.collection-settings[open]{padding:12px;border:1px solid #dce4e9;border-radius:8px;background:white}.collection-settings .toolbar{margin-top:12px;align-items:end}.collection-settings select{max-width:100%;width:100%;font-size:12px}.collection-settings label{min-width:0;max-width:100%}.collection-settings button{font-size:12px}.book-cover{background:#edf2f4;border-color:#bdcfd5;box-shadow:0 2px 5px #18344910}.book-cover>span{line-height:1.55;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;flex:0 1 auto}.book-author{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.book-detail summary{color:#56717e}.book-detail[open]{background:#fff;padding:10px;border:1px solid #dce4e9;border-radius:6px}.shelf-grid{row-gap:24px}.shelf-grid.compact .book-cover{padding:8px}.posts .book-cover{box-shadow:none}.posts .book-card{gap:12px;padding:14px}.posts.compact .book-card{grid-template-columns:60px minmax(0,1fr);padding:10px;gap:8px}.candidate-state{color:#6b7c87}.posts .shelf-post small{font-size:11px;color:#6b7c87}
@media(min-width:1200px){.shelf-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.shelf-grid.compact{grid-template-columns:repeat(8,minmax(0,1fr))}}
@media(max-width:600px){header{padding:10px 14px}.brand{font-size:22px}.brand img{width:38px;height:38px}main{padding:0 14px;margin-top:18px}.page-heading h1{font-size:24px}.shelf-controls{gap:8px}.shelf-controls .search-label{flex-basis:100%;max-width:none}.segmented button{padding:9px 12px}.density{margin-left:auto}.collection-meta{flex-wrap:wrap;gap:8px;margin:12px 0 16px}.collection-settings{max-width:100%;width:100%}.collection-settings>summary{text-align:left}.collection-settings label{width:100%}.shelf-controls #review-mode{padding:6px 10px}.book-cover small{font-size:9px}.shelf-grid.compact .book-cover{padding:5px}.shelf-grid.compact .book-cover>span{font-size:11px}.posts .book-cover>span{font-size:11px}}
.shelf-layout{display:flex;align-items:flex-start;gap:24px}.shelf-layout>#cards{flex:1;min-width:0}#book-panel{flex:0 0 350px;position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto;background:#fff;border:1px solid #dce4e9;border-radius:10px;padding:18px}#close-panel{display:block;margin-left:auto;margin-bottom:14px}.panel-book{display:flex;gap:14px;align-items:start}.panel-book>.book-cover{width:68px;flex:0 0 68px}.panel-book h2{font-size:17px;margin:0 0 8px}.panel-book .book-cover span{font-size:10px}.panel-book .book-cover small{display:none}#book-panel h3{font-size:16px;margin:22px 0 12px}.panel-post{border:1px solid #e1e7eb;border-radius:8px;padding:14px;margin-bottom:12px}.panel-post .meta{margin:0 0 8px;line-height:1.7}.panel-post time{font-size:11px;color:#637786}.panel-post-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.8}.panel-post img{width:100%;height:auto;border-radius:5px;margin-bottom:8px}.panel-post a,.purchase-links a{font-size:13px}.purchase-links a{display:block;padding:12px;border:1px solid #cbdde1;border-radius:6px;margin:8px 0}.cover-button{display:block;width:100%;padding:0;border:0;background:transparent!important;text-align:left;cursor:pointer}.open-book{padding:5px 0;margin-top:6px;color:#526878;background:transparent!important;border:0;font-size:12px;text-align:left}.book-card.selected .book-cover{outline:2px solid #1199a2;outline-offset:3px}.posts .open-book{grid-column:1/-1}.panel-open .shelf-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.panel-open .shelf-grid.compact{grid-template-columns:repeat(5,minmax(0,1fr))}.panel-open .posts.shelf-grid,.panel-open .posts.shelf-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:1000px){#book-panel{flex-basis:310px}.panel-open .shelf-grid,.panel-open .shelf-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.panel-open .posts.shelf-grid,.panel-open .posts.shelf-grid.compact{grid-template-columns:1fr}}@media(max-width:700px){#book-panel{position:fixed;inset:0;top:0;max-height:100dvh;width:100%;border:0;border-radius:0;z-index:10;padding:16px}.panel-open{overflow:hidden}.panel-open .shelf-controls,.panel-open .collection-meta{visibility:hidden}.panel-open #cards{visibility:hidden}#book-panel #close-panel{position:sticky;top:0;background:white;z-index:1}}

.source-tabs{margin-top:14px;max-width:100%;flex-wrap:wrap}.source-tabs+#source-help{margin:6px 0 0;font-size:11px}

.processing-errors{margin:16px 0;padding:14px;background:#fff6e8;border-left:3px solid #a86518;border-radius:5px;font-size:13px}.processing-errors p{margin:6px 0}

#review-pages{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0;font-size:12px}

.reprocess-preview{font-size:12px}.reprocess-preview label{display:inline-grid;max-width:100%;margin-right:12px}.reprocess-preview>summary{font-weight:400;color:#526878}#preview-result p{margin:6px 0}

.incomplete-toggle{display:flex;align-items:center;gap:6px;font-size:12px}.incomplete-toggle input{min-width:0;width:auto}.incomplete-badge{display:inline-block;background:#fff1d9;color:#835019;padding:2px 5px;border-radius:4px}.panel-post>button{display:block;margin-top:12px}

dialog{max-width:min(560px,90vw);border:1px solid #c9d8de;border-radius:12px;padding:24px;color:#18384c}dialog::backdrop{background:#132c4266}dialog label{display:block;margin:18px 0}dialog label input{width:auto;margin-right:8px}dialog button{margin-right:8px}#operations{margin:18px 0}#operations .card{margin:8px 0;padding:12px}

.multiple-books{flex-basis:100%;min-width:0;border:1px solid #c9d8de;border-radius:8px;padding:12px}.multiple-books[hidden]{display:none}.multiple-books label{display:flex;align-items:flex-start;gap:8px;margin:12px 0;overflow-wrap:anywhere}.multiple-books input{width:auto;flex:none;margin-top:4px}

.site-footer{max-width:1440px;margin:48px auto 24px;padding:0 28px;display:flex;gap:20px;font-size:12px}.policy-page{max-width:760px}.policy-page header{margin:-40px -24px 36px;padding:16px 24px}.policy-page h1{margin-top:0}.policy-page h2{margin-top:34px}.policy-page li{line-height:1.8;margin:7px 0}.policy-note{padding:14px 16px;background:#fff6e8;border-left:3px solid #a86518;border-radius:5px}.policy-page .site-footer{margin:48px 0 24px;padding:0}
