/* read/: the reader and the editor's desk. Tokens from site.css; this file only lays the desk out. */
.reader{--rd-nav:#0c2a3d;--rd-ink:var(--fg);--rd-soft:#eef1f3;--rd-ok:#0f766e;--rd-rev:#b45309;--rd-cont:#1d4ed8;--rd-sign:#15803d;--rd-read:#5c5f66;
  margin:-.4rem 0 0}
.rd-strip{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;background:var(--rd-nav);color:#e6e9ec;border-radius:10px;padding:.55rem .9rem;margin:0 0 .6rem;position:sticky;top:52px;z-index:40}
.rd-strip-left,.rd-strip-right{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.rd-brand{color:#fff;font-weight:700;text-decoration:none}
.rd-brand .badge{margin-left:.3rem}
.rd-progress{font-size:.82rem;color:#c9d3da}
.rd-progress b{color:#4ec2ea}
.rd-meter{font-size:.82rem;color:#c9d3da;font-variant-numeric:tabular-nums}
.rd-meter b{color:#fff}
.rd-meter.neg b{color:#f6b26b}
.rd-btn{border:1px solid #4ec2ea;background:transparent;color:#e6e9ec;border-radius:6px;padding:.35rem .7rem;font:inherit;font-size:.82rem;cursor:pointer;min-height:32px}
.rd-btn:hover{background:rgba(78,194,234,.15)}
.rd-btn[aria-pressed="true"]{background:#4ec2ea;color:var(--rd-nav);font-weight:700}
.rd-helpbox{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:.6rem 1rem;margin:0 0 .6rem;font-size:.9rem}
.rd-helpbox p{margin:.3rem 0}
kbd{font-family:var(--mono);font-size:.8em;border:1px solid var(--line2);border-bottom-width:2px;border-radius:4px;padding:0 .3em;background:#fff}
.rd-filters{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center;margin:0 0 .6rem;font-size:.85rem}
.rd-filters .chip{border:1px solid var(--line2);background:var(--panel);border-radius:999px;padding:.2rem .7rem;cursor:pointer;font:inherit;font-size:.82rem;color:var(--dim)}
.rd-filters .chip[aria-pressed="true"]{background:var(--rd-nav);color:#fff;border-color:var(--rd-nav)}
.rd-filters .sep{color:var(--line2);margin:0 .2rem}
.rd-main{display:grid;grid-template-columns:220px minmax(0,1fr) 380px;gap:1rem;align-items:start}
.rd-toc{position:sticky;top:112px;max-height:calc(100vh - 124px);overflow:auto;font-size:.84rem;padding-right:.3rem}
.rd-toc h4{margin:.6rem 0 .25rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--dim2)}
.rd-toc a{display:flex;gap:.4rem;align-items:baseline;padding:.16rem .3rem;border-radius:5px;color:var(--fg);text-decoration:none;line-height:1.3}
.rd-toc a:hover{background:var(--panel2)}
.rd-toc a.here{background:#e6f4f2;font-weight:600}
.rd-toc a .n{color:var(--dim2);font-variant-numeric:tabular-nums;min-width:1.4em;font-size:.76rem}
.rd-toc a .st{margin-left:auto;width:8px;height:8px;border-radius:50%;background:transparent;border:1px solid var(--line2);flex:0 0 auto;align-self:center}
.rd-toc a.folded{opacity:.45}
.st-reading{background:#bfdbfe!important;border-color:#60a5fa!important}
.st-read{background:#cbd5e1!important;border-color:#94a3b8!important}
.st-review{background:#fed7aa!important;border-color:#fb923c!important}
.st-continue{background:#c7d2fe!important;border-color:#818cf8!important}
.st-signed{background:#bbf7d0!important;border-color:#4ade80!important}
.rd-content{min-width:0}
.rd-ch{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:1.2rem 1.5rem 1.4rem;margin:0 0 1rem;scroll-margin-top:120px}
.rd-ch.folded{padding:.6rem 1.2rem}
.rd-ch.folded .rd-body,.rd-ch.folded .rd-chfoot{display:none}
.rd-ch.folded .rd-chhead{margin:0}
.rd-ch.current{border-color:var(--accent);box-shadow:0 0 0 3px rgba(15,118,110,.12)}
.rd-chhead{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin:0 0 .6rem;font-size:.82rem;color:var(--dim)}
.rd-chhead h2{margin:0;font-size:1.5rem;flex:1 1 100%;order:-1}
.rd-ch.folded .rd-chhead h2{font-size:1.05rem;flex:1 1 auto;order:0}
.rd-chhead .fold{margin-left:auto;border:1px solid var(--line2);background:#fff;border-radius:5px;font:inherit;font-size:.78rem;padding:.15rem .5rem;cursor:pointer;color:var(--dim)}
.rd-state{display:inline-flex;gap:.2rem;flex-wrap:wrap}
.rd-state button{border:1px solid var(--line2);background:#fff;border-radius:999px;font:inherit;font-size:.74rem;padding:.12rem .55rem;cursor:pointer;color:var(--dim)}
.rd-state button[aria-pressed="true"]{color:#fff;border-color:transparent}
.rd-state button[data-s="reading"][aria-pressed="true"]{background:#2563eb}
.rd-state button[data-s="read"][aria-pressed="true"]{background:#475569}
.rd-state button[data-s="review"][aria-pressed="true"]{background:var(--rd-rev)}
.rd-state button[data-s="continue"][aria-pressed="true"]{background:#4f46e5}
.rd-state button[data-s="signed"][aria-pressed="true"]{background:var(--rd-sign)}
.rd-body{font-family:var(--serif);font-size:1.07rem;line-height:1.72}
.rd-body .blk{position:relative;padding-right:2.2rem;border-radius:6px}
.rd-body .blk.hl{background:#fffbeb}
.rd-body .blk.readblk{box-shadow:inset 3px 0 0 #cbd5e1}
.rd-body .blk > *{margin-top:0}
.rd-body .blk .cbtn{position:absolute;right:0;top:.15rem;width:1.7rem;height:1.7rem;border:1px solid var(--line2);background:#fff;border-radius:50%;font-size:.8rem;cursor:pointer;color:var(--dim);opacity:0;transition:opacity .15s;font-family:var(--sans)}
.rd-body .blk:hover .cbtn,.rd-body .blk.has .cbtn{opacity:1}
.rd-body .blk.has .cbtn{background:#fff7ed;border-color:#f0c9a0;color:var(--rd-rev);font-weight:700}
.rd-body img{display:block;margin:1rem auto}
.rd-body pre{font-size:.82rem}
.rd-comments{font-family:var(--sans);font-size:.88rem;margin:.3rem 0 .8rem;padding-left:.7rem;border-left:3px solid #f0c9a0}
.rd-comments .c{background:#fff7ed;border-radius:6px;padding:.4rem .6rem;margin:.25rem 0;position:relative}
.rd-comments .c .when{display:block;font-size:.74rem;color:var(--dim2)}
.rd-comments .c .del{position:absolute;right:.4rem;top:.3rem;border:0;background:transparent;color:var(--dim2);cursor:pointer;font-size:.9rem}
.rd-comments form{display:flex;gap:.4rem;margin:.3rem 0}
.rd-comments textarea{flex:1;font:inherit;font-size:.88rem;border:1px solid var(--line2);border-radius:6px;padding:.4rem .5rem;min-height:2.6rem;resize:vertical}
.rd-comments button{border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:6px;font:inherit;font-size:.82rem;padding:.3rem .7rem;cursor:pointer;align-self:flex-end}
.rd-chfoot{margin-top:1rem;padding-top:.7rem;border-top:1px solid var(--line);font-size:.85rem;color:var(--dim);display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
.rd-chfoot .cost{font-variant-numeric:tabular-nums}
.rd-partnote{color:var(--dim2);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;margin:1.2rem 0 .4rem}
.rd-graph{position:sticky;top:112px;max-height:calc(100vh - 124px);overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:.7rem .8rem}
.rd-graph h3{margin:0 0 .3rem;font-size:.95rem}
.rd-graph .gtabs{display:flex;gap:.3rem;margin:0 0 .5rem}
.rd-graph .gtabs button{border:1px solid var(--line2);background:#fff;border-radius:5px;font:inherit;font-size:.76rem;padding:.15rem .5rem;cursor:pointer;color:var(--dim)}
.rd-graph .gtabs button[aria-pressed="true"]{background:var(--rd-nav);color:#fff;border-color:var(--rd-nav)}
.rd-graph svg{width:100%;height:auto;display:block}
.rd-graph .glegend{font-size:.74rem;color:var(--dim);display:flex;gap:.6rem;flex-wrap:wrap;margin:.4rem 0 0}
.rd-graph .glegend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:.25rem;vertical-align:-1px}
.rd-graph .gedges{font-size:.78rem;color:var(--dim);margin:.5rem 0 0;padding-left:1rem}
.rd-graph .gedges li{margin:.15rem 0}
.rd-graph .gedges b{color:var(--fg);font-weight:600}
.rd-export{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:.7rem 1rem;margin:1rem 0;font-size:.88rem}
.rd-export .row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin:.3rem 0}
.rd-export button,.rd-export label.btn{border:1px solid var(--line2);background:#fff;border-radius:6px;font:inherit;font-size:.82rem;padding:.3rem .7rem;cursor:pointer;color:var(--fg)}
.rd-export input[type=file]{display:none}
.rd-export textarea{width:100%;font-family:var(--mono);font-size:.78rem;min-height:9rem;border:1px solid var(--line2);border-radius:6px;padding:.5rem}
.rd-node{cursor:pointer}
.rd-node text{font-family:var(--sans);font-size:11px;fill:var(--fg)}
.rd-node.center text{font-weight:700;font-size:12px}
.rd-node.art text{fill:#115e59}
.rd-edge{stroke:#cbd5e1;stroke-width:1.2}
.rd-edge.seq{stroke:#94a3b8;stroke-dasharray:3 3}
.rd-edge.art{stroke:#99d6ce}
.rd-elabel{font-size:9px;fill:#8a8d94;font-family:var(--sans)}
.rd-bar{cursor:pointer}
@media (max-width:1100px){.rd-main{grid-template-columns:200px minmax(0,1fr)}.rd-graph{grid-column:1 / -1;position:static;max-height:none}}
@media (max-width:760px){.rd-main{grid-template-columns:1fr}.rd-toc{position:static;max-height:14rem}.rd-strip{position:static}.rd-ch{padding:.9rem 1rem}}
@media print{.rd-strip,.rd-toc,.rd-graph,.rd-filters,.rd-export,.cbtn,.rd-state,.fold{display:none!important}.rd-ch{border:0;box-shadow:none}}
