.shelf-picker { margin-bottom: 28px; padding: 22px; color: var(--ink); }
.shelf-picker h2 { margin: 10px 0; font: 30px/1.15 Georgia, serif; }
.shelf-picker p, .anilist-writing p, .feedback-dialog p, .together-heading p { font: 15px/1.6 Arial, sans-serif; color: #57534c; }
.companion-picks { display: grid; gap: 16px; margin-top: 18px; }
.companion-pick { display: grid; grid-template-columns: 72px minmax(0,1fr); gap: 16px; padding: 16px 0; border-top: 1px solid #bbb4a2; }
.companion-pick > img { width: 72px; height: 105px; object-fit: cover; }
.companion-pick h3, .companion-pick h4 { margin: 0; font: 22px/1.25 Georgia, serif; overflow-wrap: anywhere; }
.companion-pick p { margin: 8px 0; font: 14px/1.5 Arial, sans-serif; }
.companion-pick-actions, .companion-library-actions, .feedback-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.companion-pick button, .companion-library-actions button, .anilist-writing .text-action, .sync-job button, .together-heading button, [data-together-refresh], .feedback-actions button { min-height: 44px; padding: 10px 12px; border: 1px solid #8a8374; color: var(--ink); background: var(--paper); font: 14px/1.4 Arial, sans-serif; cursor: pointer; }
.companion-library-actions { margin-top: 12px; }
/* A shelf pick: quiet "Not tonight · Started it · Share" on the left, the deck's Tonight (decision.css) on the right. */
.companion-pick-actions { align-items: center; justify-content: space-between; gap: 4px 12px; }
.companion-pick-quiet { display: flex; flex-wrap: wrap; align-items: center; gap: 0 8px; margin-left: -6px; color: var(--ink); }
.companion-pick-actions > .decision { margin-left: auto; }
.viewing-note { color: #555047; font: 14px/1.5 Arial, sans-serif; }
.affinity-evidence { grid-column: 1 / -1; padding-bottom: 10px; border-bottom: 1px solid #d4cdbb; }
.affinity-evidence summary { padding: 8px 0; color: var(--blue); font: 14px/1.5 Arial,sans-serif; cursor: pointer; }
.affinity-evidence > p, .affinity-evidence article p { margin: 6px 0; color: #5c574e; font: 14px/1.55 Arial,sans-serif; }
.affinity-evidence article { display:grid; grid-template-columns:40px minmax(0,1fr); gap:12px; padding:10px 0; }
.affinity-evidence img { width:40px; height:58px; object-fit:cover; }
.affinity-evidence a { color:var(--ink); font:16px/1.4 Arial,sans-serif; }
.anilist-writing { margin-top:28px; padding-top:24px; border-top:1px solid #aaa697; }
.anilist-writing h3, .together-heading h3 { font:28px/1.2 Georgia,serif; }
.anilist-writing label, .feedback-dialog label { display:grid; gap:8px; margin:16px 0; color:var(--ink); font:16px/1.5 Arial,sans-serif; }
.anilist-writing select, .feedback-dialog select, .feedback-dialog input { width:100%; min-width:0; min-height:48px; padding:10px; border:1px solid #989181; border-radius:0; background:var(--paper); color:var(--ink); font:16px Arial,sans-serif; }
.anilist-writing button { max-width:100%; white-space:normal; }
.anilist-writing .primary, .shelf-picker > .primary { min-height:48px; padding:12px 16px; font-size:14px !important; letter-spacing:.03em; line-height:1.4; }
#anilistSyncStatus { margin:18px 0; font:15px/1.5 Arial,sans-serif; }
#anilistSyncJobs { max-height:420px; overflow:auto; margin-top:14px; }
.sync-job { padding:14px 0; border-top:1px solid #bbb4a2; }
.sync-job b { font:16px/1.4 Arial,sans-serif; }
.sync-job p { margin:5px 0 10px; }
.sync-job button { margin:0 6px 6px 0; }
.feedback-dialog { width:min(520px,calc(100% - 28px)); max-height:calc(100dvh - 40px); margin:auto; padding:26px; border:1px solid var(--ink); background:var(--paper); color:var(--ink); overflow:auto; }
.feedback-dialog::backdrop { background:rgba(0,0,0,.72); }
.feedback-dialog h2 { font:30px/1.2 Georgia,serif; overflow-wrap:anywhere; }
.feedback-actions { justify-content:flex-end; }
.feedback-actions .primary { background:var(--ink);color:var(--paper); }
#feedbackError { color:#a12519; }
.together-heading { padding:16px 0; }
.match-watch-ideas > p { font:15px/1.5 Arial,sans-serif; }
@media(max-width:640px) {
    .shelf-picker { padding:18px; }
    .companion-pick { grid-template-columns:54px minmax(0,1fr);gap:12px; }
    .companion-pick > img { width:54px;height:80px; }
    .feedback-dialog { padding:20px; }
}
