#reading-dialog.has-library .reading-header{min-height:86px}
.library-heading{display:flex;gap:60px;align-items:start;margin:0 0 25px}
.library-heading h3{font-size:34px;font-weight:450;line-height:1.15;letter-spacing:-.025em;max-width:19ch;margin:0}
.library-heading>p{font-size:14px;line-height:1.65;max-width:46ch;margin:0 0 0 auto}
.reading-shelf{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 50px;margin-bottom:60px}
.shelf-work{padding:0 0 24px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;min-width:0}
.shelf-select{padding:0;text-align:left;display:flex;flex-direction:column;align-items:start;flex:1;min-width:0;width:100%}
.shelf-reading{margin-top:4px}
.shelf-reading a{display:inline-block;padding:10px 0;font-size:13px;line-height:1.5;color:var(--red);text-underline-offset:4px}
.work-drawing{display:block;width:100%;height:auto;overflow:visible;pointer-events:none;color:var(--ink)}
.work-drawing path{fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.work-drawing .drawing-ink{stroke:var(--ink)}
.work-drawing .drawing-red{stroke:var(--red)}
.work-drawing .drawing-echo{stroke:var(--ink);stroke-width:.65;opacity:.35}
.work-drawing text{font:23px Hand,cursive;fill:var(--ink)}
.shelf-work .work-drawing{margin:0 0 15px;transition:transform .35s var(--ease)}
.shelf-select:hover .work-drawing{transform:translateY(-4px)}
.shelf-work strong{font-size:20px;font-weight:500;line-height:1.25;letter-spacing:-.015em;max-width:25ch}
.shelf-question{font-family:Hand,cursive;font-size:24px;line-height:1.15;display:block;margin:13px 0;max-width:28ch;color:var(--muted)}
.shelf-work small{font-size:12px;line-height:1.5;color:var(--muted);display:block;margin-top:auto}
.shelf-open{font-size:12px;margin-top:15px;color:var(--red);display:block}
.shelf-open>span{display:inline-block;margin-left:20px}
.shelf-select[aria-pressed="true"] strong{color:var(--red);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.library-work{scroll-margin-top:160px}
.library-work-heading{display:flex;justify-content:space-between;gap:50px;align-items:start}
.library-work-heading h3{font-size:36px;font-weight:450;letter-spacing:-.025em;line-height:1.15;margin:0 0 12px;max-width:25ch;scroll-margin-top:170px}
.library-work-heading p{font-size:12px;color:var(--muted);margin:0;line-height:1.5}
#library-full-reading{max-width:290px;flex-shrink:0;display:flex;flex-direction:column;gap:12px;align-items:start}
.library-work a{font-size:14px;color:var(--red);line-height:1.5;text-underline-offset:4px}
.library-modes{display:flex;gap:30px;border-bottom:1px solid var(--line);margin:30px 0 25px}
.library-modes button{font-size:14px;padding:12px 0;border-bottom:1px solid transparent;text-align:left}
.library-modes button[aria-pressed="true"]{color:var(--red);border-color:var(--red)}
.drawing-layout{display:grid;grid-template-columns:1.65fr 1fr;gap:55px;align-items:center}
.library-drawing{padding:30px 0}
.library-drawing .work-drawing{pointer-events:auto}
.library-drawing [data-drawing-part]{cursor:pointer}
.library-drawing [data-drawing-part] path{transition:stroke .25s}
.library-drawing .is-current path{stroke:var(--red)}
.library-drawing .is-current text{fill:var(--red)}
.drawing-steps{display:flex;gap:15px;flex-wrap:wrap;border-top:1px solid var(--line);padding:12px 0}
.drawing-steps button{font-size:13px;padding:8px 0;text-align:left;line-height:1.5}
.drawing-steps button[aria-pressed="true"]{color:var(--red);text-decoration:underline;text-underline-offset:4px}
#drawing-explanation h4{font-family:Hand,cursive;font-size:31px;line-height:1.1;font-weight:400;margin:0 0 20px}
#drawing-explanation p{font-size:15px;line-height:1.7;max-width:48ch;margin:0 0 20px}
#drawing-explanation a{font-size:13px}
.library-scope{font-size:12px!important;line-height:1.65!important;color:var(--muted);max-width:85ch;margin:30px 0 0}
.library-text{max-width:72ch;padding:10px 0 20px}
.library-text h4,.library-argument h4{font-family:Hand,cursive;font-size:32px;font-weight:400;line-height:1.2;margin:0 0 25px}
.library-text>p,.library-argument p{font-size:16px;line-height:1.75}
.library-text a{display:block;width:fit-content;margin-top:18px}
.library-argument{display:grid;grid-template-columns:1.4fr 1fr;gap:70px;padding:20px 0 40px}
.library-argument>div>a{display:block;width:fit-content;margin:18px 0}
.argument-entry-points{border-top:1px solid var(--line);padding-top:6px}
.argument-entry-points>a{padding:12px 0;border-bottom:1px solid var(--line);width:100%!important;margin:0!important}
.library-map-field{min-width:0}
#library-argument-map{width:100%;overflow:visible;touch-action:pan-y}
#library-argument-map .edge{fill:none;stroke:var(--line);stroke-width:1;opacity:.6}
#library-argument-map .edge.selected{stroke:var(--red);stroke-width:1.5;opacity:1}
#library-argument-map .node{cursor:grab;touch-action:none;outline:none}
#library-argument-map .node:active{cursor:grabbing}
#library-argument-map .core{fill:var(--ink)}
#library-argument-map .ring{stroke:var(--muted);stroke-width:1;fill:var(--paper)}
#library-argument-map .hit{fill:transparent;stroke:none}
#library-argument-map text{fill:var(--ink);font:16px Human,sans-serif;paint-order:stroke;stroke:var(--paper);stroke-width:4px;stroke-linejoin:round}
#library-argument-map .selected .ring{stroke:var(--red);stroke-width:2}
#library-argument-map .selected .core{fill:var(--red)}
#library-argument-map .selected text{fill:var(--red)}
#library-argument-map .node:focus-visible .ring{stroke:var(--red);stroke-width:4}
#library-argument-map .pin-mark{display:none;fill:none;stroke:var(--red);stroke-width:1.3}
#library-argument-map .pinned .pin-mark{display:block}
.library-map-controls{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:12px 0;gap:30px}
.library-map-controls button{font-size:13px;padding:8px 0;text-align:left}
.library-map-controls button[aria-pressed="true"]{color:var(--red)}
#library-argument-detail{padding-top:30px}
#library-argument-detail a{display:block;margin:20px 0}
@media(max-width:900px){.reading-shelf{gap:25px}.shelf-work strong{font-size:18px}.shelf-question{font-size:22px}.library-work-heading{gap:30px}.library-work-heading h3{font-size:30px}.drawing-layout{gap:30px}.library-heading{gap:30px}}
@media(max-width:600px){.library-heading{display:block;margin-bottom:15px}.library-heading h3{font-size:29px;max-width:22ch;margin:0 0 18px}.library-heading>p{font-size:13px;margin:0;max-width:45ch}.reading-shelf{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 21px;margin-bottom:45px}.shelf-work{padding-bottom:18px}.shelf-work .work-drawing{margin:0 0 12px}.shelf-work strong{font-size:16px;line-height:1.3;max-width:17ch}.shelf-question{font-size:20px;line-height:1.15;margin:10px 0 13px}.shelf-work small{font-size:12px;line-height:1.5}.shelf-open{font-size:12px;margin-top:13px}.shelf-open>span{margin-left:6px}.library-work-heading{display:block}.library-work-heading h3{font-size:29px;max-width:22ch;scroll-margin-top:150px}.library-work-heading p{font-size:12px}#library-full-reading{margin-top:20px;max-width:none}.library-work a{font-size:13px}.library-modes{gap:24px;margin:25px 0 18px}.library-modes button{font-size:12px;line-height:1.5;max-width:90px}.drawing-layout{display:block}.library-drawing{padding:18px 0}.drawing-steps{gap:0 23px;margin-top:10px;display:grid;grid-template-columns:1fr 1fr}.drawing-steps button{font-size:13px;min-height:44px}#drawing-explanation{padding-top:22px}#drawing-explanation h4{font-size:29px;margin-bottom:15px}#drawing-explanation p{font-size:14px;line-height:1.7}#drawing-explanation a{font-size:13px}.library-scope{font-size:12px!important;margin-top:25px}.library-text h4,.library-argument h4{font-size:29px}.library-text>p,.library-argument p{font-size:15px;line-height:1.75}.library-argument{display:block;padding-top:10px}.argument-entry-points{margin-top:30px}}
@media(prefers-reduced-motion:reduce){.work-drawing,.work-drawing path{transition:none!important}.shelf-select:hover .work-drawing{transform:none}}

@media(max-width:600px){#reading-dialog.has-library .reading-header{min-height:75px}}

.library-back{font-size:13px;padding:10px 0;border-bottom:1px solid var(--line);margin-bottom:25px;color:var(--muted)}
.library-back span{margin-right:14px}.library-heading h3{scroll-margin-top:170px}
@media(max-width:600px){.library-heading h3{scroll-margin-top:145px}}

#library-work-title:focus-visible,.library-heading h3:focus-visible{outline:2px solid var(--red);outline-offset:5px}

/* Catalogue and selected reading are distinct; titles carry the selection. */
#reading-library[data-library-screen="catalogue"] .library-work{display:none}
#reading-library[data-library-screen="work"]>.library-heading,
#reading-library[data-library-screen="work"]>.library-paper-entry,
#reading-library[data-library-screen="work"]>.reading-shelf{display:none}
.shelf-copy{display:flex;flex-direction:column;align-items:flex-start;flex:1;min-width:0}
.shelf-copy strong{display:block}.shelf-copy small{margin-top:auto}
@media(max-width:600px){
 .reading-shelf{grid-template-columns:1fr;gap:22px;margin-bottom:24px}
 .shelf-work{display:flex;padding:4px 0 23px}
 .shelf-select{display:grid;grid-template-columns:80px minmax(0,1fr);gap:18px;align-items:start}
 .shelf-reading{margin:0 0 0 98px}.shelf-reading a{font-size:12px;min-height:44px;padding:10px 0}
 .shelf-work .work-drawing{margin:9px 0 0;min-height:75px;object-fit:contain}
 .shelf-work strong{font-size:23px;line-height:1.18;max-width:none;overflow-wrap:anywhere}
 .shelf-question{font-family:Human,Arial,sans-serif;font-size:14px;line-height:1.5;margin:10px 0 12px;color:var(--ink)}
 .shelf-copy small{font-size:12px}.shelf-open{min-height:36px;display:flex;align-items:center;margin-top:5px}
 .library-view-options{font-size:11px;margin-top:9px}
 .library-heading h3{font-size:28px}.library-paper-entry{display:none}
}

.shelf-heading{grid-column:1/-1;font-size:17px;font-weight:500;margin:15px 0 0;padding-bottom:10px;border-bottom:1px solid var(--line)}

.library-story-entry{padding:22px 0 0;margin:28px 0 0;border-top:1px solid var(--line)}
.library-story-entry a{display:inline-block;font-size:14px;line-height:1.5;padding:5px 0}.library-story-entry p{font-size:13px;line-height:1.6;color:var(--muted);max-width:70ch;margin:7px 0 0}

/* Argument atlas: propositions and directed, named inferences. */
.argument-reading{margin:0 0 20px}.argument-thesis{font:20px/1.5 Paper,Georgia,serif;max-width:65ch}.argument-follow{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:20px;border-bottom:1px solid var(--rule,var(--line));font:12px/1.4 Interface,Human,sans-serif}.argument-follow button{font:inherit;min-height:44px;text-align:left}.argument-follow span{color:var(--muted);white-space:nowrap}
svg[data-argument-atlas] .node .ring{fill:none;stroke:var(--muted);stroke-width:1}svg[data-argument-atlas] .node .hit{fill:transparent;stroke:none}svg[data-argument-atlas] .claim-label{font:15px/1.3 Interface,Human,sans-serif;fill:var(--ink);stroke:none;paint-order:normal}svg[data-argument-atlas] .node.selected .claim-label{fill:var(--accent,var(--red));font-style:normal;font-weight:600}svg[data-argument-atlas] .argument-stage{font:16px Hand,Interface,sans-serif;fill:var(--muted);stroke:none}svg[data-argument-atlas] marker path{fill:none;stroke:var(--accent,var(--red));stroke-width:1.3}svg[data-argument-atlas] .edge{opacity:.28;stroke:var(--rule,var(--line));stroke-width:1.1}svg[data-argument-atlas] .edge.selected{opacity:1;stroke:var(--accent,var(--red));stroke-width:1.5}svg[data-argument-atlas] .edge[data-relation="challenge"],svg[data-argument-atlas] .edge[data-relation="hypothesis"]{stroke-dasharray:5 5}
.argument-relation-heading{font:15px/1.4 Interface,Human,sans-serif!important;margin:22px 0 12px!important}.argument-inferences ul{list-style:none;padding:0;margin:0}.argument-inferences li{padding:12px 0;border-top:1px solid var(--rule,var(--line));display:flex;gap:16px;align-items:start}.argument-inferences li button{display:flex;flex-direction:column;gap:4px;text-align:left;font:14px/1.5 Interface,Human,sans-serif;flex:1;min-width:0}.argument-inferences li button em{font-style:normal;color:var(--accent,var(--red));padding:2px 0 2px 20px;position:relative}.argument-inferences li button em:before{content:'→';position:absolute;left:0}.argument-inferences li a{font:12px/1.5 Interface,Human,sans-serif;white-space:nowrap;padding:10px 0}.argument-scope{font:12px/1.65 Interface,Human,sans-serif!important;color:var(--muted);margin:20px 0!important}
@media(max-width:680px){.argument-thesis{font-size:19px}.argument-follow{font-size:12px;gap:8px}svg[data-argument-atlas] .claim-label{font-size:16px}.argument-inferences li button{font-size:14px}}

/* A small shelf of expressive posters; views live inside the selected work. */
.reading-shelf{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 28px}.shelf-work{border:0;padding:0 0 15px}.shelf-select{display:flex;gap:0;position:relative}.shelf-work .work-drawing{aspect-ratio:1.2;object-fit:contain;border-bottom:1px solid var(--line);padding:25px 6px;margin:0 0 18px}.shelf-copy{width:100%}.shelf-work strong,.shelf-work strong.inquiry-keyword{font:400 29px/1.13 Hand,cursive;letter-spacing:0;max-width:17ch}.shelf-question{font:13px/1.5 Human,Arial,sans-serif;margin:12px 0;color:var(--muted)}.shelf-copy small{font-size:11px;line-height:1.5;margin-top:0}.shelf-open{position:absolute;right:0;bottom:8px;font-size:22px;margin:0;min-height:30px}.shelf-reading{margin:0;padding-right:24px}.shelf-reading a{font-size:12px;padding:10px 0}.shelf-heading{margin-top:24px}.shelf-select:focus-visible{outline:2px solid var(--red);outline-offset:6px}.shelf-select:hover strong{color:var(--red)}
@media(max-width:900px){.reading-shelf{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.reading-shelf{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}.shelf-work .work-drawing{min-height:0;padding:10px 0;margin-bottom:14px;aspect-ratio:1.1}.shelf-work strong,.shelf-work strong.inquiry-keyword{font-size:25px;overflow-wrap:normal}.shelf-question{font-size:12px;line-height:1.5;margin:10px 0}.shelf-copy small{font-size:11px}.shelf-reading{margin:0}.shelf-reading a{font-size:12px;line-height:1.5}.shelf-open{display:none}.library-heading>p{font-size:14px}.shelf-heading{font-size:16px;margin-top:12px}.argument-inferences li a{font-size:11px}}

svg[data-argument-atlas] .inference-type{font:11px/1.3 Interface,Human,sans-serif;fill:var(--accent,var(--red));stroke:none;pointer-events:none}
