/* New parts of the Books section, drawn with the portal's own tokens. */
.mk-new{font:600 9px/1 var(--sans);letter-spacing:.4px;text-transform:uppercase;color:var(--amber);background:var(--amber-bg);border-radius:5px;padding:3px 5px;margin-left:6px}
.mk-group{margin:0 0 34px}.mk-group-head{display:flex;align-items:baseline;gap:10px;margin:0 0 14px}.mk-group-head h2{margin:0}
.mk-reason{color:var(--amber)}
.mk-back{padding-left:0;margin:0 0 10px}
.mk-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 0 22px}.mk-head h1{margin:0 0 4px}.mk-head p{margin:0;font-size:13px}
.mk-status{font:500 11px var(--sans);border-radius:999px;padding:6px 11px;white-space:nowrap}
.mk-status.ok{color:var(--green);background:var(--green-bg)}.mk-status.need{color:var(--amber);background:var(--amber-bg)}
.mk-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;background:var(--amber-bg);border-radius:12px;padding:14px 16px;margin:0 0 24px;font-size:12.5px}
.mk-banner strong{color:var(--amber)}.mk-banner-actions{display:flex;gap:8px}
.mk-book{display:grid;grid-template-columns:220px minmax(0,1fr);gap:36px;align-items:start;margin:0 0 34px}
.mk-cover{margin:0}.mk-cover .cover{width:220px;aspect-ratio:2/3;height:auto;border:0;border-radius:4px;box-shadow:0 14px 30px #0003;background-size:cover}
.mk-cover figcaption{font-size:11px;margin:12px 0 10px}.mk-cover-actions{display:flex;gap:8px}
.mk-facts{display:grid;grid-template-columns:140px minmax(0,1fr);margin:0;border-top:1px solid var(--line)}
.mk-facts dt,.mk-facts dd{margin:0;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}
.mk-facts dt{color:var(--muted)}.mk-filling{color:var(--faint);font-style:italic}
.mk-fill{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;font-size:11px}
.mk-others{margin:0 0 26px}.mk-others .cv-thumb{width:104px}.mk-others .cv-thumb .cover{width:104px;aspect-ratio:2/3;height:auto;background-size:cover;border:0}
.mk-cap{font-size:10px;color:var(--muted);line-height:1.3}.cv-thumb.on .mk-cap{color:var(--accent);font-weight:600}
.mk-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin:0 0 16px}.mk-tools .filters,.mk-tools .cv-search{margin:0}.mk-tools select{font-size:12px}.mk-tools .cv-search{max-width:260px}
table.data.mk-table td{padding:5px 12px;vertical-align:middle;font-size:12px;white-space:nowrap}table.data.mk-table th{padding:9px 12px}table.data.mk-table td:last-child{white-space:normal;min-width:150px}table.data.mk-table td.mk-tc{width:30px;padding-right:0}.mk-tc .cover{width:26px;height:39px;aspect-ratio:auto;border:0;border-radius:2px;padding:0;background-size:cover;box-shadow:0 2px 5px #0002}
.mk-t{display:block;font:500 14px/1.25 var(--serif)}.mk-a{display:block;font-size:11px}.mk-table .mk-status{font-size:10px;padding:4px 9px}.mk-num{text-align:right;font-variant-numeric:tabular-nums}.mk-warn{color:var(--amber)!important}tr.mk-link{cursor:pointer}tr.mk-link .mk-t{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}tr.mk-link:hover td{background:var(--field)}.mk-count{margin:14px 0 0;font-size:12px}

.mk-tile{position:relative}.mk-tile .books-design-art{position:relative}
.mk-tile-tools{position:absolute;inset:auto 4px 4px 4px;display:none;gap:4px}.mk-tile:hover .mk-tile-tools,.mk-tile:focus-within .mk-tile-tools{display:flex}
.mk-tile-tools button{flex:1;font-size:10px;padding:4px 0;border-radius:6px;border:0;background:var(--surface);color:var(--ink);box-shadow:0 1px 4px #0003}
.mk-tile-tools .mk-hide{color:var(--red,#a23b3b)}
.mk-tile.gone{display:none}
.mk-add{width:104px;aspect-ratio:2/3;border:1.5px dashed var(--line);border-radius:4px;background:transparent;color:var(--muted);display:grid;place-content:center;gap:4px;font-size:11px}
.mk-add span{font-size:22px;line-height:1;color:var(--accent)}
.mk-hidden-link{margin-left:auto;font-size:11px}
.mk-addpanel{display:grid;gap:10px;max-width:460px;margin-top:8px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-size:12px}
.mk-drop{border:1.5px dashed var(--line);border-radius:10px;padding:22px;text-align:center;line-height:1.8}.mk-addrow{display:flex;gap:8px}.mk-addrow input{flex:1}
.mk-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:var(--paper);border-radius:10px;padding:10px 14px;font-size:12px;display:flex;gap:14px;align-items:center;z-index:30}
.mk-toast button{background:none;border:0;color:var(--paper);text-decoration:underline;padding:0}
.mk-preview{position:fixed;top:44px;right:0;bottom:0;z-index:25;width:460px;max-width:100%;overflow:auto;background:var(--paper);border-left:1px solid var(--line);box-shadow:-20px 0 50px #0003;padding:18px 22px}
.mk-preview-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:13px}.mk-preview-head .mk-close{margin-left:auto}
.mk-sketch{font:600 9px/1 var(--sans);letter-spacing:.4px;text-transform:uppercase;color:var(--amber);background:var(--amber-bg);border-radius:5px;padding:3px 5px}
.mk-phone{--ph-paper:#FBFBF7;--ph-ink:#1D1B1A;--ph-muted:rgba(60,60,67,.6);--ph-line:#E5E1D6;--ph-sq:#F4F1EA;width:393px;height:520px;border:10px solid var(--ink);border-bottom:0;border-radius:50px 50px 0 0;background:var(--ph-paper);color:var(--ph-ink);overflow:hidden;font-family:var(--sans)}
:root[data-theme=dark] .mk-phone{--ph-paper:#211F1D;--ph-ink:#fff;--ph-muted:rgba(235,235,245,.6);--ph-line:#4C443F;--ph-sq:#36322E}
.mk-phone .p-icons i{background:var(--ph-ink)}
.mk-ph-body{padding:18px 16px 0}.mk-ph-title{font:500 20px var(--serif);margin:0 0 12px}
.mk-ph-field{height:40px;border-radius:10px;background:var(--ph-sq);display:flex;align-items:center;padding:0 12px;font-size:17px;margin-bottom:6px}
.mk-ph-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:.5px solid var(--ph-line);min-height:72px}
.mk-ph-cover{flex:none;width:48px;height:72px;border-radius:4px;background:#ddd center/cover}
.mk-ph-text{flex:1;min-width:0;display:grid;gap:4px}.mk-ph-t{font-size:17px;line-height:1.25}.mk-ph-a{font-size:15px;color:var(--ph-muted)}
.mk-ph-sqs{display:flex;gap:4px}.mk-sq{width:36px;height:36px;border-radius:11px;background:var(--ph-sq);display:grid;place-items:center}.mk-sq svg{width:20px;height:20px}
.mk-ph-note{font-size:11px;margin:12px 0 0;max-width:393px}

.books-table-cover{display:block;width:26px;height:39px;object-fit:cover;border-radius:2px}.books-title{text-align:left;padding:0;color:var(--ink)}.books-title .mk-t{color:var(--ink)}
.books-main-cover{width:220px;height:330px;object-fit:cover;border-radius:4px;box-shadow:0 14px 30px #0003}.books-designs{display:flex;flex-wrap:wrap;gap:16px}.books-designs figure{margin:0}.books-design-cover{display:block;width:104px;height:156px;object-fit:cover}.books-design-art{position:relative}.books-designs .on{outline:2px solid var(--accent);outline-offset:4px;border-radius:3px}.books-empty{background:var(--field);display:grid;place-items:center;font-family:var(--serif);white-space:normal}.mk-preview{top:0}.mk-ph-cover{object-fit:cover}.mk-sq{font-size:20px}.mk-isbns{margin-top:28px}.mk-isbns summary{padding:14px 0;cursor:pointer}.mk-addpanel[hidden]{display:none}.mk-facts dd{overflow-wrap:anywhere}.mk-table{width:100%}.mk-table th{text-align:left}.mk-phone{max-width:100%}
@media(max-width:900px){.mk-book{grid-template-columns:1fr}.mk-preview{width:100%}}

.mk-tools .cv-search{width:260px;max-width:100%;flex:0 1 260px}.mk-tools .filters{flex:0 1 auto}.mk-tools select{width:auto}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .mk-phone{--ph-paper:#211F1D;--ph-ink:#fff;--ph-muted:rgba(235,235,245,.6);--ph-line:#4C443F;--ph-sq:#36322E}}

/* Item 765 D5: a book with no cover yet keeps its title inside the box. */
.books-empty{overflow:hidden;text-overflow:ellipsis;font-size:9px;line-height:1.15;padding:3px;text-align:center;word-break:break-word;box-sizing:border-box}
.books-table-cover.books-empty{width:26px;height:39px;font-size:5px;padding:1px}
.books-main-cover.books-empty{font-size:20px;padding:20px}
.books-design-cover.books-empty{font-size:11px;padding:8px}
/* Item 765 D8: what didn't publish stays visible. */
.review-failed{margin:12px 20px;padding:12px 14px;border-radius:10px;background:color-mix(in srgb,var(--red) 14%,transparent);border:1px solid color-mix(in srgb,var(--red) 45%,transparent)}
.review-failed ul{margin:6px 0 0;padding-left:18px}.review-failed li span{font-weight:600}
.pill-alert{background:var(--red);color:#fff}
.mk-fetch{display:inline-flex;gap:8px;align-items:center}.mk-pending{opacity:.6}
.mk-banner-alert{background:color-mix(in srgb,var(--red) 16%,transparent);border:1px solid color-mix(in srgb,var(--red) 45%,transparent)}
/* 765 D10: a shelf book still in the queue, and the progress line above the shelves table. */
.mk-status.wait{color:var(--muted);background:var(--field)}
.mk-progress{margin:10px 0 14px;font-size:13px;line-height:1.45}

/* 770: In the app. Long sentences wrap. */
table.data.app-table td{white-space:normal;vertical-align:top;font-size:13px;line-height:1.45;padding:12px}table.data.app-table td:first-child{white-space:nowrap}.app-note{margin-top:14px;font-size:12px}

/* 771: Authors. */
.mk-author{padding:0;color:inherit;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}.mk-author:hover{text-decoration-color:var(--accent)}.author-books{gap:22px}.author-book{width:120px;margin:0}.author-book button{padding:0;display:block}.author-book figcaption{margin-top:8px;display:grid;gap:5px;justify-items:start}.author-book .mk-t{font-size:13px}.author-book .mk-status{font-size:10px;padding:3px 8px}.author-shelves{font-size:11px}
/* 767 D3: each detail's source, and how the details were checked (curators only). */
.mk-fact-source{display:block;margin-top:2px;color:var(--muted,#6b6b6b);font-size:11px}
.mk-sources{margin-top:12px;font-size:12px}
.mk-sources summary{cursor:pointer;font-weight:600}
.mk-sources ul{margin:6px 0 0;padding-left:18px}
.mk-sources li{margin:3px 0}
/* 768: Flag, Issues, Send to Cowork. */
.mk-head-side{display:flex;align-items:center;gap:10px}
.issue-flag.on{border-color:var(--accent,#7a3045);color:var(--accent,#7a3045)}
.books-title + .issue-row-flag{margin-left:6px}
.issue-row-flag{font-size:14px;opacity:.25;padding:2px 6px;vertical-align:top}
tr:hover .issue-row-flag,.issue-row-flag:focus-visible{opacity:.7}
.issue-row-flag.on{opacity:1;color:var(--accent,#7a3045)}
.issue-form{flex-direction:column;align-items:stretch;gap:8px}
.issue-note{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:13px}
.issue-note textarea{font:inherit;font-weight:400;padding:8px 10px;border:1px solid var(--line,#ddd);border-radius:8px;background:var(--bg,#fff);color:inherit;resize:vertical}
.issue-group{margin:22px 0 8px;border-top:1px solid var(--line,#e5e0d8);padding-top:16px}
.issue-group-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.issue-group-head h2{margin:0 0 4px;font-size:17px}
.issue-group-head p{margin:0;font-size:12px}
.issue-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}
.issue-row{display:flex;gap:12px;align-items:center;padding:8px 10px;border-radius:10px;background:var(--panel,rgba(0,0,0,.025))}
.issue-cover{width:34px;height:51px;object-fit:cover;border-radius:3px;flex:none;background:var(--line,#e5e0d8)}
.issue-main{flex:1;min-width:0}
.issue-text{margin:4px 0 0;font-size:13px}
.issue-meta{margin:2px 0 0;font-size:11px}
.issue-actions,.issue-fix{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.issue-fix input{font:inherit;padding:6px 8px;border:1px solid var(--line,#ddd);border-radius:8px;min-width:220px;background:var(--bg,#fff);color:inherit}
.issue-empty{padding:28px;border:1px dashed var(--line,#ddd);border-radius:12px;max-width:640px}
@media (max-width:640px){.issue-group-head{flex-direction:column}.issue-row{flex-wrap:wrap}}

/* Item 772: Books, made simpler (docs/notes/item-772/item-772-simpler-books-v3.html, signed 27 Oct 11:05). */
:root{--px-warn:#A35F17}
:root[data-theme=dark]{--px-warn:#E0A15D}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--px-warn:#E0A15D}}
.px-goal{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:14px 16px;margin:0 0 12px;display:grid;gap:8px}
.px-goal-top{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}
.px-goal-k{display:block;font:600 11px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.px-goal-top strong{font-family:var(--serif);font-weight:500;font-size:20px}
.px-goal-n{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}.px-goal-n b{font-family:var(--serif);font-weight:500;font-size:26px;color:var(--ink)}
.px-goalbar{height:12px;border-radius:99px;background:var(--field);overflow:hidden}.px-goalbar i{display:block;height:100%;min-width:8px;background:var(--accent);border-radius:99px}
.px-goal-sub{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.px-goal-sub b{color:var(--ink)}
.px-goal-eta{color:var(--ink)}
.px-goal-why{margin:0;font-size:12px;color:var(--px-warn)}
.px-act{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:12px 16px;margin:0 0 14px;display:grid;gap:8px}
.px-act-head{display:flex;gap:12px;align-items:baseline;font-size:14px}.px-act-head .muted{font-size:12px}
.px-row{display:grid;grid-template-columns:120px 180px 190px minmax(0,1fr);gap:12px;align-items:center;font-size:13px}
.px-what{font-weight:600}.px-num{font-variant-numeric:tabular-nums}
.px-bar{height:8px;border-radius:99px;background:var(--field);overflow:hidden}.px-bar i{display:block;height:100%;background:var(--accent);border-radius:99px}
.px-paused .px-bar{background:repeating-linear-gradient(45deg,var(--field) 0 6px,var(--line) 6px 12px)}
.px-done .px-bar i{background:var(--green)}
.px-link{padding:0;font-size:12px;text-decoration:underline}
.px-pulse{width:8px;height:8px;border-radius:50%;background:var(--accent);display:inline-block;margin-right:6px;animation:pxp 1.6s ease-in-out infinite}
@keyframes pxp{50%{opacity:.25}}
.px-log{border-top:1px solid var(--line);padding-top:8px;font-size:12.5px}.px-log ul{margin:0;padding-left:18px;display:grid;gap:4px}.px-log .px-link{font-size:12.5px}
.px-sum{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:8px 0 14px}
.px-card{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 16px;border-radius:12px;border:1px solid var(--line);background:var(--surface);text-align:left;font:inherit;color:var(--ink);cursor:pointer}
.px-card[aria-pressed=true],.px-cardlink[aria-pressed=true]{box-shadow:inset 0 0 0 1px var(--accent)}
.px-cardlink{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:0;text-align:left;color:var(--ink);border-radius:8px;width:100%}
.px-n{font-family:var(--serif);font-size:30px;line-height:1.1;font-variant-numeric:tabular-nums}
.px-l{font-weight:600;font-size:14px}.px-s{font-size:12px;color:var(--muted)}
.px-go{border-color:var(--green);cursor:default}.px-go .px-n{color:var(--green)}.px-go>.primary{margin-top:8px}
.px-need{border-color:var(--px-warn)}.px-need .px-n{color:var(--px-warn)}
.px-quiet .px-n{color:var(--muted)}
.px-shelf{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin:0 0 10px;font-size:13px}.px-shelf label{display:inline-flex;gap:6px;align-items:center}
.px-misslink{margin-left:auto;font-size:13px}
.px-live,.px-not{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;white-space:nowrap}
.px-live i,.px-not i{width:8px;height:8px;border-radius:50%;display:inline-block}
.px-live{color:var(--green)}.px-live i{background:var(--green)}
.px-not{color:var(--muted)}.px-not i{border:1.5px solid var(--muted)}
table.data.px-table td{white-space:normal}
.px-next{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:220px;max-width:340px}
.px-why{font-size:12px;width:100%}
.px-btn{padding:5px 10px;font-size:12px}
.px-list{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.px-miss{font-size:12px}
.px-lead.ok{background:var(--wash-green,var(--green-bg))}.px-lead.ok strong{color:var(--green)}
.px-lead.go{background:var(--wash-green,var(--green-bg))}.px-lead.go strong{color:var(--green)}
.px-wallhead{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.px-wallhead h2{margin:0}
.px-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:16px;margin:12px 0}
.px-wallitem{display:grid;gap:4px;padding:0;text-align:left;background:none;border:0;color:var(--ink);font:inherit;cursor:pointer}
.px-wallcover{width:100%;aspect-ratio:2/3;height:auto;object-fit:cover;border-radius:4px;box-shadow:0 6px 16px var(--shadow)}
.px-walltitle{font:500 13px/1.2 var(--serif)}.px-wallcap{font-size:11px}
.px-gaps{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 10px}
.px-gap{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--surface);display:grid;gap:6px;min-width:0;font-size:13px}
.px-gap.on{border-color:var(--accent)}
.px-gap b{font-family:var(--serif);font-size:22px;font-weight:500}
.px-gap .acts{display:flex;gap:6px;flex-wrap:wrap}
.px-gapnotes{font-size:12px;margin:0 0 18px;padding-left:18px;display:grid;gap:4px;max-width:80ch}
.px-fill{border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow-x:auto}
.px-fill table{width:100%;max-width:none;border-collapse:collapse;font-size:13px;min-width:720px}.px-fill tr:last-child td{border-bottom:0}
.px-fill th,.px-fill td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.px-fill th{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}
.px-fill input,.px-fill select,.px-fill textarea{font:inherit;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);width:100%;box-sizing:border-box}
.nav-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);margin-left:auto;margin-right:6px;animation:pxp 1.6s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.px-pulse,.nav-dot{animation:none}}
@media (max-width:900px){.px-row{grid-template-columns:1fr}.px-sum{grid-template-columns:repeat(2,minmax(0,1fr))}}
