/* Reading: the Patience Premium essay page, with a table of contents on the left and the team's margin on the right. */
.reader{display:grid;grid-template-columns:15rem minmax(0,var(--measure)) minmax(16rem,20rem);gap:2.5rem;justify-content:center;padding:2.5rem 2rem 6rem}
.reader .toc{position:sticky;top:76px;align-self:start;max-height:calc(100vh - 96px);overflow:auto;font-size:.8rem;line-height:1.4;scrollbar-width:thin;padding-right:.25rem}
.toc .tt{text-transform:uppercase;letter-spacing:.12em;font-size:.66rem;color:var(--ink-faint);margin:0 0 .75rem;font-weight:650}
.toc a:not(.btn){display:block;color:var(--ink-faint);text-decoration:none;padding:.26rem .6rem;border-left:2px solid transparent;border-radius:0 4px 4px 0}
.toc a:not(.btn):hover{color:var(--ink)}
.toc a.l3{padding-left:1.3rem;font-size:.76rem}
.toc a.on{color:var(--accent);border-left-color:var(--accent);background:var(--tint);font-weight:600}
.toc a .n{float:right;font-size:.66rem;color:var(--accent);font-weight:700}
.toc .tools .btn{justify-content:flex-start}
.toc .tools{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--rule);display:flex;flex-direction:column;gap:.4rem}

.doc{font-family:var(--serif);font-size:1.1875rem;line-height:1.65;color:var(--ink);min-width:0}
.doc-head{margin:0 0 2.6rem}
.doc-head .kicker{margin-bottom:1.1rem}
.doc-head h1{font-size:2.6rem;line-height:1.1;letter-spacing:-.015em;margin:0 0 1rem;font-weight:700}
.doc-head .meta{font-family:var(--sans);font-size:.84rem;color:var(--ink-faint);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:.75rem 0;display:flex;flex-direction:column;gap:.2rem}
.doc-head .meta b,.doc-head .meta strong{color:var(--ink-soft);font-weight:600}
.doc-head .acts{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;font-family:var(--sans)}
.blk{position:relative;scroll-margin-top:84px;border-radius:3px;transition:background .6s}
.blk.flash{background:var(--tint)}
.doc p.blk{margin:0 0 1.3rem}
.doc h2.blk{font-size:1.6rem;line-height:1.2;margin:3rem 0 1rem;letter-spacing:-.01em;font-weight:700}
.doc h3.blk{font-size:1.2rem;margin:2.2rem 0 .75rem;font-weight:700}
.doc h4.blk{font-size:1.05rem;margin:1.8rem 0 .6rem;font-weight:700;font-style:italic}
.doc hr.blk{border:0;height:1.5rem;margin:2rem 0;text-align:center}
.doc hr.blk::after{content:"·  ·  ·";color:var(--ink-faint);letter-spacing:.3em;font-size:1rem}
.doc .li{display:grid;grid-template-columns:1.6rem 1fr;margin:0 0 .55rem}
.doc .li .bul{color:var(--accent);font-family:var(--sans);font-size:.9rem;font-weight:650;padding-top:.15rem}
.doc .li.last{margin-bottom:1.35rem}
.doc .li ul,.doc .li ol{margin:.4rem 0 0;padding-left:1.2rem}
.doc .li li{margin:0 0 .3rem}
.doc a:not(.btn):not(.chip):not(.cite){color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;overflow-wrap:anywhere}
.doc strong{font-weight:700}
.doc code{font-family:var(--mono);font-size:.85em}
.doc .tblk{margin:1.4rem 0 1.8rem;overflow-x:auto;font-family:var(--sans)}
.doc table{border-collapse:collapse;width:100%;font-size:.86rem;line-height:1.45}
.doc table th{text-align:left;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:650;color:var(--ink-faint);padding:.55rem .7rem;border-bottom:1.5px solid var(--ink);vertical-align:bottom}
.doc table td{padding:.6rem .7rem;border-bottom:1px solid var(--rule);vertical-align:top}
.doc table td:first-child{font-weight:550}
.doc table tr:last-child td{border-bottom:1.5px solid var(--ink)}
.doc table a{font-size:.8em}
.doc blockquote{margin:1.5rem 0;padding-left:1.2rem;border-left:2px solid var(--accent);font-style:italic;color:var(--ink-soft)}
.doc .num-figure{font-variant-numeric:tabular-nums}
/* highlights */
mark.hl{background:var(--hl-ochre);color:inherit;border-radius:2px;padding:.05em 0;cursor:pointer;box-decoration-break:clone;-webkit-box-decoration-break:clone}
mark.hl.rose{background:var(--hl-rose)}mark.hl.sage{background:var(--hl-sage)}mark.hl.slate{background:var(--hl-slate)}
mark.hl.other{background:none;border-bottom:2px solid var(--hl-ochre)}
mark.hl.other.rose{border-bottom-color:var(--hl-rose)}mark.hl.other.sage{border-bottom-color:var(--hl-sage)}mark.hl.other.slate{border-bottom-color:var(--hl-slate)}
mark.hl.has-c{border-bottom:2px solid var(--accent-soft)}
mark.hl.focus{outline:2px solid var(--accent);outline-offset:1px}
mark.find{background:var(--tint-2);color:inherit}
/* margin markers */
.blk .mk{position:absolute;right:-2.3rem;top:.15rem;font-family:var(--sans);display:none;align-items:center;gap:.2rem;border:0;background:var(--tint);color:var(--accent);font-size:.68rem;font-weight:700;border-radius:999px;padding:.12rem .4rem;cursor:pointer}
.blk.has .mk{display:inline-flex}
.blk .add{position:absolute;right:-2.3rem;top:.1rem;width:26px;height:26px;border-radius:50%;border:1px solid var(--rule);background:var(--card);color:var(--ink-faint);display:none;place-items:center;cursor:pointer;font-family:var(--sans)}
.blk:hover .add{display:grid}
.blk.has:hover .add{display:none}
/* the margin */
.margin{position:relative;font-family:var(--sans);min-width:0}
.margin .mhead{position:sticky;top:76px;z-index:2;display:flex;flex-direction:column;gap:.5rem;padding-bottom:.75rem;background:var(--paper)}
.mcards{position:relative}
.mcard{position:absolute;left:0;right:0;background:var(--card);border:1px solid var(--rule);border-radius:10px;padding:.65rem .75rem;font-size:.8rem;box-shadow:0 1px 2px rgba(32,32,29,.04);cursor:pointer;transition:top .2s,box-shadow .15s,border-color .15s}
.mcard:hover{border-color:var(--ink-faint)}
.mcard.on{border-color:var(--accent);box-shadow:0 0 0 3px var(--tint),var(--shadow);z-index:3}
.mcard .who{display:flex;align-items:center;gap:.4rem;font-size:.74rem}
.mcard .who b{font-weight:650}
.mcard .who small{color:var(--ink-faint);margin-left:auto;font-size:.68rem}
.mcard .q{font-family:var(--serif);font-style:italic;color:var(--ink-soft);font-size:.8rem;margin:.35rem 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;border-left:2px solid var(--hl-ochre);padding-left:.45rem}
.mcard .t{font-size:.82rem;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.mcard .replies{font-size:.72rem;color:var(--accent);font-weight:650;margin-top:.35rem}
.mcard.resolved{opacity:.55}
.mcard .lock{color:var(--ink-faint)}
/* the selection toolbar */
.seltool{position:absolute;z-index:60;display:flex;align-items:center;gap:2px;background:var(--ink);color:var(--paper);border-radius:10px;padding:4px;box-shadow:var(--shadow-lg);font-family:var(--sans);animation:pop .12s}
.seltool button{display:flex;align-items:center;gap:.35rem;border:0;background:none;color:var(--paper);border-radius:7px;padding:.42rem .55rem;font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap}
.seltool button:hover{background:rgba(255,255,255,.12)}
:root[data-theme="dark"] .seltool button:hover{background:rgba(0,0,0,.12)}
.seltool .sw{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.6);padding:0}
.seltool .sw.ochre{background:#e8c45c}.seltool .sw.rose{background:#d68c78}.seltool .sw.sage{background:#8caa6e}.seltool .sw.slate{background:#6e8caf}
.seltool .sep{width:1px;height:20px;background:rgba(255,255,255,.2);margin:0 2px}
:root[data-theme="dark"] .seltool .sep{background:rgba(0,0,0,.2)}
#readprog{position:fixed;top:0;left:0;height:3px;background:var(--accent);z-index:60;width:0;transition:width .1s linear}
.doc-foot{margin-top:4rem;padding-top:1.5rem;border-top:1px solid var(--rule);font-family:var(--sans);font-size:.84rem;color:var(--ink-faint);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}
.docnav{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem;font-family:var(--sans)}
.docnav a{border:1px solid var(--rule);border-radius:var(--r);padding:.9rem 1rem;text-decoration:none;color:var(--ink);background:var(--card)}
.docnav a small{display:block;color:var(--ink-faint);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}
.docnav a span{font-family:var(--serif);font-weight:700}
.docnav a.next{text-align:right}

@media (max-width:1280px){
  .reader{grid-template-columns:minmax(0,var(--measure)) minmax(15rem,18rem);gap:2rem}
  .reader .toc{display:none}
}
@media (max-width:1000px){
  .reader{grid-template-columns:minmax(0,var(--measure));padding:2rem 1.5rem 6rem}
  .margin{display:none}
  .blk .mk{right:auto;left:-2.6rem}
}
@media (max-width:820px){
  .reader{padding:1.25rem 1.1rem calc(6rem + env(safe-area-inset-bottom))}
  .doc{font-size:1.0625rem;line-height:1.62}
  .doc-head h1{font-size:1.9rem}
  .doc h2.blk{font-size:1.35rem;margin-top:2.4rem}
  .blk .mk{position:static;display:none;margin-left:.35rem;vertical-align:2px}
  .blk.has .mk{display:inline-flex}
  .blk .add{display:none!important}
  .doc .li{grid-template-columns:1.3rem 1fr}
  .doc table{font-size:.8rem}
  .seltool{position:fixed;left:.5rem!important;right:.5rem;bottom:calc(4.6rem + env(safe-area-inset-bottom));top:auto!important;justify-content:space-between;overflow-x:auto}
  .docnav{grid-template-columns:1fr}
}

/* ------------------------------------------------------------------ print / PDF (also used by print.html) */
@page{size:letter;margin:0.8in 0.85in 0.85in}
.print{font-family:var(--serif);color:#20201d;background:#fff;font-size:10.6pt;line-height:1.52}
.print .p-cover{border-bottom:1px solid #20201d;padding-bottom:14pt;margin-bottom:20pt}
.print .p-kicker{font-family:var(--sans);text-transform:uppercase;letter-spacing:.16em;font-size:7.5pt;font-weight:650;color:#8c3b2e;margin:0 0 10pt}
.print h1{font-size:23pt;line-height:1.1;letter-spacing:-.01em;margin:0 0 10pt;font-weight:700}
.print .p-meta{font-family:var(--sans);font-size:8.4pt;color:#55534d;line-height:1.5}
.print .p-meta strong{color:#20201d}
.print h2{font-size:14.5pt;line-height:1.2;margin:20pt 0 7pt;font-weight:700;break-after:avoid;page-break-after:avoid}
.print h3{font-size:11.5pt;margin:14pt 0 5pt;break-after:avoid;page-break-after:avoid}
.print h4{font-size:10.6pt;margin:12pt 0 4pt;font-style:italic;break-after:avoid}
.print p{margin:0 0 7pt;orphans:3;widows:3}
.print .li{display:grid;grid-template-columns:14pt 1fr;margin:0 0 3.5pt;break-inside:avoid}
.print .li .bul{color:#8c3b2e;font-family:var(--sans);font-size:8.5pt;font-weight:650;padding-top:1.5pt}
.print .li.last{margin-bottom:8pt}
.print .li ul,.print .li ol{margin:2pt 0 0;padding-left:12pt}
.print a{color:#8c3b2e;text-decoration:none;overflow-wrap:anywhere}
.print .tblk{margin:8pt 0 12pt;break-inside:avoid}
.print table{border-collapse:collapse;width:100%;font-family:var(--sans);font-size:7.9pt;line-height:1.4}
.print th{text-align:left;font-size:6.6pt;text-transform:uppercase;letter-spacing:.08em;font-weight:650;color:#55534d;padding:4pt 5pt;border-bottom:1pt solid #20201d;vertical-align:bottom}
.print td{padding:4pt 5pt;border-bottom:.5pt solid #e3ded4;vertical-align:top}
.print td:first-child{font-weight:550}
.print tr:last-child td{border-bottom:1pt solid #20201d}
.print table a{font-size:7pt}
.print hr{border:0;height:10pt;margin:10pt 0;text-align:center}
.print hr::after{content:"·  ·  ·";color:#8a8780;letter-spacing:.3em}
.print mark.hl{background:rgba(232,196,92,.38);color:inherit}
.print mark.hl.rose{background:rgba(214,140,120,.32)}.print mark.hl.sage{background:rgba(140,170,110,.32)}.print mark.hl.slate{background:rgba(110,140,175,.30)}
.print .p-note{font-family:var(--sans);font-size:7.8pt;color:#55534d;border-left:2pt solid #8c3b2e;padding:2pt 0 2pt 6pt;margin:3pt 0 8pt;break-inside:avoid}
.print .p-note b{color:#20201d}
.print blockquote{margin:8pt 0;padding-left:9pt;border-left:1.5pt solid #8c3b2e;font-style:italic;color:#55534d}
.print .p-foot{font-family:var(--sans);font-size:7.2pt;color:#8a8780;border-top:.5pt solid #e3ded4;padding-top:6pt;margin-top:22pt}
.print .p-toc{font-family:var(--sans);font-size:8.6pt;columns:2;column-gap:22pt;margin:0 0 6pt;padding:0;list-style:none}
.print .p-toc li{padding:1.5pt 0;break-inside:avoid;display:flex;gap:6pt}
.print .p-toc li span{color:#8a8780;font-variant-numeric:tabular-nums;min-width:12pt}
.print .page-break{break-before:page;page-break-before:always}
