/* Large type by default; status by words; links underlined; ~70-character lines; 44px targets; visible focus. */
:root { --ink: #1b1b1b; --muted: #4a4a4a; --paper: #fbfaf6; --line: #c9c4b8; --link: #9b3b22; --accent: #9b3b22; --shade: #efebe1; --focus: #1f1c19; --warn: #7a3d00; font-size: 112.5%; }
html.larger { font-size: 131.25%; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 1rem/1.6 Georgia, "Iowan Old Style", "Times New Roman", serif; }
a { color: var(--link); text-decoration: underline; text-underline-offset: 2px; }
a:hover { color: #6e2915; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.skip { position: absolute; left: -9999px; top: 0; background: #fff; padding: .6rem 1rem; z-index: 100; }
.skip:focus { left: 1rem; }
.vh { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
h1, h2, h3, h4 { font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; line-height: 1.25; }
h1 { font-size: 1.9rem; margin: .4rem 0 .6rem; }
h2 { font-size: 1.4rem; margin: 1.6rem 0 .5rem; }
h3 { font-size: 1.15rem; }
.muted { color: var(--muted); }
main { display: block; padding: 0 1rem 6rem; max-width: 76rem; margin: 0 auto; }
main:focus { outline: none; }

header.site { border-bottom: 1px solid var(--line); background: #fff; }
.site-in { max-width: 76rem; margin: 0 auto; padding: .3rem 1rem; display: flex; flex-wrap: wrap; align-items: center; gap: .2rem 1rem; }
.brand { color: var(--ink); text-decoration: none; min-height: 44px; display: inline-flex; align-items: center; }
.brand img { display: block; height: 43px; width: auto; }
header.site nav a[aria-current="page"] { color: var(--ink); font-weight: 700; text-decoration-color: var(--accent); text-decoration-thickness: 3px; }
@media (max-width: 600px) { .brand img { height: 34px; } }
header.site nav { display: flex; flex-wrap: wrap; gap: 0 .2rem; margin-left: auto; }
header.site nav a, footer.site nav a { min-height: 44px; min-width: 44px; display: inline-flex; align-items: center; padding: 0 .55rem; font-family: system-ui, sans-serif; }
.proto { max-width: 76rem; margin: 0 auto; padding: 0 1rem .3rem; font: .85rem system-ui, sans-serif; color: var(--muted); }
footer.site { border-top: 1px solid var(--line); padding: 1rem; text-align: center; font-family: system-ui, sans-serif; font-size: .95rem; }
footer.site nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 0 .5rem; }
.auto-line { margin: 0 auto .5rem; max-width: 40rem; }
.domain { color: var(--muted); margin: .3rem 0 0; }

.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; padding: .45rem 1rem; border: 2px solid var(--accent); border-radius: 6px; background: #fff; color: var(--accent);
  font: 600 1rem system-ui, sans-serif; text-decoration: none; cursor: pointer; margin: .2rem .3rem .2rem 0; text-align: center; }
.btn.primary { background: var(--accent); color: #fff; }
.btn.danger { border-color: #8a1c1c; color: #8a1c1c; }
.btn.small { font-size: .95rem; padding: .3rem .8rem; }
.btn.linkish { border-color: transparent; text-decoration: underline; background: transparent; }
.btn[aria-pressed="true"], .btn.on { background: var(--accent); color: #fff; }
.narrow { max-width: 42rem; margin: 0 auto; }
.lede { font-size: 1.15rem; max-width: 40rem; }
.notice { border: 2px solid var(--warn); background: #fff8ef; padding: .6rem 1rem; border-radius: 6px; max-width: 42rem; }
.flash { border-left: 6px solid var(--accent); background: #eef4fb; padding: .5rem .9rem; }
.crumbs a { display: inline-flex; min-height: 44px; align-items: center; }

/* Home */
.home { max-width: 60rem; margin: 0 auto; }
.promise h1 { font-size: 2.2rem; margin-top: 1.4rem; }
.inhand .choose { border: 0; padding: 0; margin: 0; }
.inhand legend h2 { margin: .8rem 0 .4rem; }
.choice { display: flex; align-items: center; gap: .6rem; min-height: 48px; padding: .3rem .8rem; border: 2px solid var(--line); border-radius: 8px; margin: .35rem 0; background: #fff; cursor: pointer; max-width: 36rem; font-family: system-ui, sans-serif; }
.choice input { width: 1.4rem; height: 1.4rem; margin: 0; accent-color: var(--accent); }
.choice:has(input:checked) { border-color: var(--accent); background: #eef4fb; }
.way { display: none; border-left: 4px solid var(--accent); padding: .4rem 0 .4rem 1rem; margin: .8rem 0 1.2rem; max-width: 46rem; }
.inhand:has(#k-deed:checked) .way-deed, .inhand:has(#k-tax:checked) .way-tax, .inhand:has(#k-address:checked) .way-address, .inhand:has(#k-map:checked) .way-map { display: block; }
.field { margin: .7rem 0; }
.field > label, .paste > label, .narrow label[for] { display: block; font: 600 1rem system-ui, sans-serif; margin-bottom: .2rem; }
.fieldrow { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .8rem; }
.ex { color: var(--muted); margin: .1rem 0; font-size: .95rem; }
input[type=text], input[type=search], input:not([type]), select, textarea { font: 1.05rem system-ui, sans-serif; min-height: 44px; padding: .35rem .6rem; border: 2px solid #6b665c; border-radius: 6px; background: #fff; color: var(--ink); max-width: 100%; }
textarea { width: 100%; }
input[size="3"] { width: 5rem; }
.has-err input, .has-err select, input[aria-invalid="true"] { border-color: #8a1c1c; }
.fielderr { color: #8a1c1c; font: 600 .98rem system-ui, sans-serif; margin: .2rem 0; }
.fielderr::before { content: "To fix: "; }
.meridian { font-family: system-ui, sans-serif; }
fieldset.two { border: 0; padding: 0; margin: 0; display: inline-flex; gap: .3rem; }
.stop { position: relative; display: inline-flex; }
.stop input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.stop span { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 52px; padding: .3rem .7rem; border: 2px solid #6b665c; background: #fff; font: 600 .98rem system-ui, sans-serif; border-radius: 6px; }
.stop input:checked + span { background: var(--accent); color: #fff; border-color: var(--accent); }
.stop input:focus-visible + span { outline: 3px solid var(--focus); outline-offset: 2px; }
.stop.big span { min-width: 88px; }
fieldset.stops { border: 0; padding: 0; margin: .3rem 0; display: flex; flex-wrap: wrap; gap: .3rem; align-items: center; }
fieldset.stops legend { font: 600 .95rem system-ui, sans-serif; padding: 0; margin-bottom: .2rem; float: left; width: 100%; }
fieldset.stops.wide .stop span { min-width: 120px; }
.stop.mixed span { font-style: italic; }
.statement img { max-width: 100%; height: auto; border: 1px solid var(--line); }
.pictures { margin-top: 2rem; }
.pics { display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) { .pics { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.from { font-family: system-ui, sans-serif; }
.from a { display: inline-flex; min-height: 44px; align-items: center; }
.how3 { font-size: 1.1rem; }
.who { margin-top: 1.5rem; }

/* Figures: width/height reserve the space; captions always visible */
.fig { margin: 1rem 0; min-width: 0; max-width: 100%; }
img, svg { max-width: 100%; }
.figframe { position: relative; display: block; line-height: 0; background: #e8e4da; }
.figframe img, .figframe svg { width: 100%; height: auto; display: block; }
.figframe .overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.overlay .outline { fill: none; stroke: #ffde00; stroke-width: 4; stroke-linejoin: round; paint-order: stroke; }
.overlay .north rect, .overlay .scale rect { fill: rgba(255,255,255,.9); }
.overlay .north path { fill: #111; }
.overlay text, .cm-svg text { font: 600 14px system-ui, sans-serif; fill: #111; text-anchor: middle; }
.overlay .scale path { stroke: #111; stroke-width: 4; }
figcaption { font: .95rem/1.45 system-ui, sans-serif; color: var(--ink); margin-top: .4rem; line-height: 1.45; }
.placeholder { display: flex; align-items: center; justify-content: center; line-height: 1.4; color: var(--muted); font-family: system-ui, sans-serif; padding: 1rem; }
.placeholder.ratio-4x3 { aspect-ratio: 4 / 3; } .placeholder.ratio-640x420 { aspect-ratio: 640 / 420; }
.svgframe { background: #fff; border: 1px solid var(--line); }

/* Confirm */
.confirm-grid { display: grid; gap: 1rem; }
@media (min-width: 900px) { .confirm-grid { grid-template-columns: 3fr 2fr; } }
.cfacts p { margin: .2rem 0; }
.cname { font-size: 1.25rem; }
.townline { font-weight: 600; }
.cbuttons { margin: 1rem 0; }
@media (max-width: 899px) { .confirm .cbuttons { position: sticky; bottom: 0; background: var(--paper); padding: .5rem 0; border-top: 1px solid var(--line); } }

/* Report */
.rtop h1 { margin-bottom: .2rem; }
.savelink a { display: inline-flex; min-height: 44px; align-items: center; }
.rgrid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
@media (min-width: 1000px) { .rgrid { grid-template-columns: 16rem minmax(0, 46rem); } }
.column { max-width: 46rem; }
.rail { font-family: system-ui, sans-serif; font-size: .98rem; }
@media (min-width: 1000px) { .rail { position: sticky; top: .5rem; align-self: start; max-height: calc(100vh - 1rem); overflow: auto; } .sheetclose { display: none !important; } }
.railh { font-size: 1.05rem; margin: .6rem 0 .2rem; }
.seclist { list-style: none; padding: 0; margin: 0; }
.seclist li { display: flex; flex-wrap: wrap; gap: 0 .4rem; align-items: baseline; border-bottom: 1px solid #e3dfd4; padding: .1rem 0; }
.seclist a { min-height: 44px; display: inline-flex; align-items: center; }
.sword { color: var(--muted); font-size: .9rem; } .dword { margin-left: auto; font-size: .9rem; }
.levels { display: flex; gap: .3rem; }
.stopbtn { display: inline-flex; min-height: 44px; min-width: 64px; align-items: center; justify-content: center; border: 2px solid #6b665c; border-radius: 6px; text-decoration: none; font-weight: 600; color: var(--ink); background: #fff; }
.stopbtn.on { background: var(--accent); color: #fff; border-color: var(--accent); }
.levelhint { font-size: .9rem; color: var(--muted); }
.rl a { display: inline-flex; min-height: 44px; align-items: center; }
@media (max-width: 999px) {
  .rail .sheet { display: none; }
  .rail .sheet:target { display: block; position: fixed; left: 0; right: 0; bottom: 0; max-height: 75vh; overflow: auto; background: #fff; border-top: 3px solid var(--accent); padding: .5rem 1rem 4.5rem; z-index: 40; box-shadow: 0 -4px 18px rgba(0,0,0,.2); }
  .rail .rl { display: inline-block; margin-right: 1rem; }
  .bottombar { position: fixed; left: 0; right: 0; bottom: 0; display: flex; background: #fff; border-top: 1px solid var(--line); z-index: 50; }
  .bottombar a { flex: 1; min-height: 52px; display: flex; align-items: center; justify-content: center; font: 600 1rem system-ui, sans-serif; }
}
@media (min-width: 1000px) { .bottombar { display: none; } }
.rsec { border-top: 2px solid var(--line); margin-top: 1.4rem; scroll-margin-top: 1rem; }
.sechead { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .8rem; }
.sechead h2 { margin: 1rem 0 .4rem; }
.depthpick { margin-left: auto; font-family: system-ui, sans-serif; }
details > summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; }
.depthpick > summary { display: inline-flex; min-height: 44px; min-width: 64px; align-items: center; justify-content: center; border: 2px solid #6b665c; border-radius: 6px; padding: 0 .7rem; cursor: pointer; font-weight: 600; background: #fff; list-style: none; }
.depthpick > summary::-webkit-details-marker { display: none; }
.depthpick[open] > summary { background: var(--shade); }
.depthpanel { background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: .6rem .9rem; margin-top: .4rem; }
.dp-row .q { margin: .4rem 0 0; font-weight: 600; }
.buys { font-size: .92rem; color: var(--muted); padding-left: 1.1rem; }
.mixed { font: italic .95rem system-ui, sans-serif; color: var(--muted); }
.sent { margin: .5rem 0; }
.sent .cite { color: var(--ink); text-decoration-color: #8f8a7f; }
.sent .cite:hover { color: var(--link); }
sup.num { font: 700 .72rem system-ui, sans-serif; color: var(--link); margin-left: .15rem; }
.mark { font: italic .95rem system-ui, sans-serif; color: var(--muted); }
.fullcite { font: .85rem system-ui, sans-serif; color: var(--muted); display: block; }
.hint { font: .95rem system-ui, sans-serif; background: #eef4fb; padding: .3rem .6rem; border-radius: 4px; display: inline-block; }
.aside-block { margin: .8rem 0 .8rem 1.4rem; padding-left: .9rem; border-left: 3px solid var(--line); }
.aside-block h4 { margin: .3rem 0; font-size: 1rem; }
.sub { margin: 1.2rem 0 .3rem; }
.waiting { font: 600 1.02rem system-ui, sans-serif; }
.waiting.down { border: 2px solid var(--warn); border-radius: 6px; padding: .3rem .9rem; background: #fff8ef; }
.placeholder-text span { display: block; height: 1rem; background: #ebe7dd; margin: .6rem 0; border-radius: 3px; }
.placeholder-text span:nth-child(2) { width: 85%; } .placeholder-text span:nth-child(3) { width: 60%; }
.oneline { font-style: italic; }
.ledger { background: var(--shade); border: 1px solid #d9d3c4; border-radius: 6px; padding: .4rem .9rem; margin: 1rem 0; font-family: system-ui, sans-serif; font-size: .98rem; }
.lrow { display: grid; grid-template-columns: 8rem minmax(0, 1fr); gap: .6rem; border-bottom: 1px solid #d9d3c4; padding: .4rem 0; }
.lrow:last-child { border-bottom: 0; }
.lhead { font-weight: 700; margin: 0; }
.lbody p, .lbody ul { margin: 0 0 .3rem; }
.lbody details > summary { min-height: 44px; display: inline-flex; align-items: center; cursor: pointer; color: var(--link); text-decoration: underline; }
@media (max-width: 599px) { .lrow { grid-template-columns: minmax(0, 1fr); gap: 0; } }
.errand { background: #fff; border: 1px solid #d9d3c4; border-radius: 6px; padding: .4rem .7rem; margin: .4rem 0; }
.errand p { margin: .1rem 0; }
.ek { display: inline-block; min-width: 6.5rem; font-weight: 700; }
.secbtns { display: flex; flex-wrap: wrap; gap: .3rem; align-items: center; }
.secbtns form { display: inline; }
.allwehave { font: italic .98rem system-ui, sans-serif; color: var(--muted); margin-right: 1rem; }
.lastsearched { font: italic .95rem system-ui, sans-serif; color: var(--muted); }
.inventory { background: #fff; border: 1px solid var(--line); border-radius: 6px; padding: .3rem 1rem; margin-top: 1rem; }
.countline { font-family: system-ui, sans-serif; }
.topcard { display: grid; gap: .8rem; }
@media (min-width: 700px) { .topcard { grid-template-columns: 3fr 2fr; } }
.topcard .facts p { margin: .2rem 0; }
.tendates { padding-left: 1.2rem; } .tendates .d, .timeline .d { font: 700 .95rem system-ui, sans-serif; margin-right: .3rem; }
.timeline { padding-left: 1.2rem; } .timeline li, .tendates li { margin: .3rem 0; }
.moreof { display: flex; flex-wrap: wrap; gap: .2rem; }
.tablewrap { overflow-x: auto; }
table.register { border-collapse: collapse; width: 100%; font: .95rem system-ui, sans-serif; background: #fff; }
table.register caption { text-align: left; font-weight: 600; padding: .3rem 0; caption-side: top; }
table.register th, table.register td { border: 1px solid #d0cabd; padding: .3rem .45rem; text-align: left; vertical-align: top; }
table.register th { background: var(--shade); }
.aswritten { color: var(--muted); font-size: .9rem; }
@media (max-width: 699px) {
  table.register thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  table.register tr { display: block; border: 1px solid #d0cabd; margin: .4rem 0; }
  table.register td { display: grid; grid-template-columns: 7rem minmax(0, 1fr); border: 0; border-bottom: 1px solid #eee; }
  table.register td::before { content: attr(data-h); font-weight: 700; }
}
.tallyline { font: 600 1.05rem system-ui, sans-serif; }
.pagelist a { display: inline-flex; min-height: 44px; align-items: center; }
.applybar, .pinned { position: sticky; bottom: 0; background: #fff; border-top: 2px solid var(--accent); padding: .4rem 1rem; display: flex; flex-wrap: wrap; align-items: center; gap: .3rem 1rem; z-index: 30; }
.applybar[hidden] { display: none; }
.applybar p, .pinned p { margin: 0; font: 600 1rem system-ui, sans-serif; }
.applybar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 55; box-shadow: 0 -3px 12px rgba(0,0,0,.12); }
.reportpage main { padding-bottom: 6rem; }
@media (max-width: 999px) { .reportpage .applybar { bottom: 53px; } .reportpage main { padding-bottom: 10rem; } }

/* Evidence panel: beside the text on a wide screen, beneath the passage on a phone */
.evpanel { background: #fff; border: 2px solid var(--accent); border-radius: 8px; padding: .6rem 1rem; margin: .6rem 0; font-family: system-ui, sans-serif; font-size: .98rem; }
.evpanel:focus { outline: 3px solid var(--focus); }
.evh { font-size: 1.1rem; margin: .2rem 0 .5rem; }
.evimg img { max-width: 100%; height: auto; min-height: 8rem; background: #eee; display: block; }
.evdl { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); gap: .3rem .6rem; }
.evdl dt { font-weight: 700; } .evdl dd { margin: 0; }
.needscheck { font-style: italic; color: var(--warn); }
.citation > summary { min-height: 44px; display: inline-flex; align-items: center; cursor: pointer; }
@media (min-width: 1500px) { .evslot.docked .evpanel { position: fixed; right: 1rem; top: 5rem; width: 24rem; max-height: calc(100vh - 7rem); overflow: auto; z-index: 45; box-shadow: 0 4px 18px rgba(0,0,0,.2); } }

/* Catalog */
.catalog { max-width: 52rem; margin: 0 auto; }
.presets { display: flex; flex-wrap: wrap; gap: .2rem; margin: .5rem 0; }
.catsearch { margin: .6rem 0; font-family: system-ui, sans-serif; }
.catsearch > label { font-weight: 600; display: block; }
.searchrow { display: flex; gap: .4rem; flex-wrap: wrap; } .searchrow input { flex: 1; min-width: 12rem; }
.filters { border: 0; padding: 0; margin: .4rem 0; display: flex; flex-wrap: wrap; gap: .3rem; }
.filters legend { font-weight: 600; padding: 0; float: left; width: 100%; }
.chip { position: relative; display: inline-flex; }
.chip input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.chip span { min-height: 44px; display: inline-flex; align-items: center; padding: 0 .8rem; border: 2px solid #6b665c; border-radius: 22px; background: #fff; }
.chip input:checked + span { background: var(--accent); color: #fff; border-color: var(--accent); }
.chip input:focus-visible + span { outline: 3px solid var(--focus); outline-offset: 2px; }
.grp { border: 1px solid var(--line); border-radius: 8px; margin: .5rem 0; background: #fff; }
.grp > summary { min-height: 52px; display: flex; flex-wrap: wrap; align-items: center; gap: 0 .8rem; padding: .3rem .9rem; cursor: pointer; font-family: system-ui, sans-serif; }
.gtitle { font-weight: 700; font-size: 1.1rem; } .gcount { color: var(--muted); }
.setall { padding: 0 .9rem; }
.rows { list-style: none; margin: 0; padding: 0 .9rem .5rem; }
.row { border-top: 1px solid #e3dfd4; padding: .5rem 0; }
.row[hidden] { display: none; }
.row .q { margin: .2rem 0 0; font-size: 1.05rem; }
.row .pn { margin: 0; color: var(--muted); }
.row .inbasic { margin: .1rem 0; font: 600 .9rem system-ui, sans-serif; }
.row .how, .row .cost, .row .rowstatus, .row .searched { margin: .1rem 0; font: .95rem system-ui, sans-serif; }
.row details.more > summary { min-height: 44px; display: inline-flex; align-items: center; cursor: pointer; color: var(--link); text-decoration: underline; font-family: system-ui, sans-serif; }
.has-pinned main { padding-bottom: 7rem; }
.menulist { list-style: none; padding: 0; } .menulist .btn { width: 100%; justify-content: flex-start; }
.twocol { display: grid; gap: 1rem; } @media (min-width: 700px) { .twocol { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
label.check { display: inline-flex; gap: .5rem; align-items: center; min-height: 44px; }
label.check input { width: 1.4rem; height: 1.4rem; }
.choices { border: 0; padding: 0; }
.rlist .place { border-top: 2px solid var(--line); }
.writeline span { display: inline-block; width: 70%; border-bottom: 1px solid #333; height: 1.2rem; }
.kept { white-space: pre-wrap; font-size: .85rem; }
blockquote { border-left: 4px solid var(--line); margin: .6rem 0; padding: .2rem .9rem; }

@media print {
  header.site nav, .rail, .bottombar, .applybar, .pinned, .secbtns, .depthpick, .noprint, .skip, .addlist, .evslot { display: none !important; }
  body { font: 12pt Georgia, serif; background: #fff; } main { padding: 0; }
  .ledger { background: #eee !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  a { color: #000; }
}

/* Corner map: one 150-px panel per corner, never scaled, so every word is 12 px or larger (review M5) */
.cornermap { background: #fff; border: 1px solid var(--line); padding: .5rem; }
.cm-legend { font: 14px/1.4 system-ui, sans-serif; margin: 0 0 .4rem; }
.cm-legend .k.oak, .cm-legend .k.fir, .cm-legend .k.other { font-size: 16px; }
.k.oak { color: #2f6b1f; } .k.fir { color: #0a4a85; } .k.other { color: #8a5a00; }
.cm-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, 150px); gap: .5rem; justify-content: center; }
.cm-panel { width: 150px; border: 1px solid #d8d2c4; border-radius: 4px; font: 14px system-ui, sans-serif; text-align: center; padding-top: .2rem; }
.cm-key { font-weight: 700; } .cm-n { color: var(--muted); }
.cm-svg { width: 150px; height: 150px; max-width: none; display: block; }
.cm-svg .ring { fill: none; stroke: #9a9488; stroke-dasharray: 4 4; }
.cm-svg .ringlabel { font: 600 12px system-ui, sans-serif; fill: #444; text-anchor: middle; }
.cm-svg .post { stroke: #111; stroke-width: 2.5; }
.cm-svg circle.oak { fill: #2f6b1f; } .cm-svg circle.fir { fill: #0a4a85; } .cm-svg circle.other { fill: #8a5a00; }
.cm-svg .north path { fill: #111; } .cm-svg .north text { font: 600 12px system-ui, sans-serif; text-anchor: middle; fill: #111; }
.pic .cornermap { padding: .3rem; }
.ckey { font-family: system-ui, sans-serif; }
.figwait { margin: .3rem 0 0; font-weight: 600; }
.tl-scope { color: var(--muted); font-size: .9rem; }
.sources a, .lbody a, .nexts a, .evpanel a { overflow-wrap: anywhere; }
.stops { flex-wrap: wrap; }

/* locator: north and scale words are HTML so they never shrink below 12px with the picture (review M5) */
.figframe { position: relative; }
.ov-north, .ov-scale { position: absolute; background: rgba(255,255,255,.92); color: #111; font: 600 .8125rem/1.2 system-ui, sans-serif; padding: .15rem .4rem; border-radius: 4px; }
.ov-north { left: .4rem; top: .4rem; } .ov-north .arrow { font-size: .75rem; }
.ov-scale { right: .4rem; bottom: .4rem; }
/* Before the surveyors (sample) and the evidence panel's index tables */
.bts table.bts { border-collapse: collapse; width: 100%; font-size: 0.95em; }
.bts table.bts th, .bts table.bts td { border-top: 1px solid #d8d2c4; padding: 0.35em 0.5em; text-align: left; vertical-align: top; }
.bts .gaps ol > li, .btssources ol > li { margin-bottom: 0.5em; }
.bts .mark { font-style: italic; color: #5a5040; }
.bts-box { margin: 1em 0; }
.bts a { overflow-wrap: anywhere; }
table.idx { border-collapse: collapse; font-size: 0.95em; }
table.idx th, table.idx td { border-top: 1px solid #d8d2c4; padding: 0.2em 0.6em 0.2em 0; text-align: left; vertical-align: top; }
.qcite { color: #5a5040; font-size: 0.9em; }
/* Before the surveyors, plain text (Fable's reader version) */
.bts ol.plainlist, .bts ul.plainlist { margin: .25rem 0 1rem 1.5rem; padding: 0; }
.bts ol.plainlist li, .bts ul.plainlist li { margin: .15rem 0; }
.bts p.indent { margin-left: 1.5rem; }
.bts .plainhead { letter-spacing: .02em; }
/* Printable page (/report/:id/print): the report alone, no navigation and no owner controls */
.printview header.site nav, .printview .rail, .printview .bottombar, .printview .applybar, .printview .pinned, .printview .secbtns,
.printview .depthpick, .printview .noprint, .printview .addlist, .printview .evslot, .printview main form, .printview .savelink,
.printview .rl, .printview .private, .printview .public, .printview .leave, .printview [data-check], .printview .mixed,
.printview .levelpick, .printview .flash, .printview footer.site nav { display: none !important; }
.printhint { border: 1px solid var(--line); padding: .5rem .75rem; margin: 0 0 1rem; }
@media print { .printhint { display: none !important; } }

/* ===== Your Land History 1.1 (Team S1) ===== */
body { background: var(--paper); }
.sitenav { display: flex; flex-wrap: wrap; gap: 0 .2rem; margin-left: auto; }
.sitemenu { display: none; margin-left: auto; }
.sitemenu > summary { padding: 0 .8rem; font: 600 1rem system-ui, sans-serif; border: 2px solid var(--line); border-radius: 8px; }
.sitemenu nav { display: flex; flex-direction: column; position: absolute; right: 1rem; background: #fff; border: 1px solid var(--line); padding: .3rem; z-index: 60; box-shadow: 0 6px 18px rgba(0,0,0,.15); }
.site-in { position: relative; }
@media (max-width: 760px) { .sitenav { display: none; } .sitemenu { display: block; } }
footer.site .who { max-width: 44rem; margin: .3rem auto .4rem; }
footer.site .tagline { margin: 0 0 .4rem; font-style: italic; font-family: Georgia, serif; }
.promise .lede { font-size: 1.35rem; margin: 0 0 .4rem; }
.inhand .tabs { display: flex; flex-wrap: wrap; gap: .4rem; }
.inhand .tabs .choice { margin: 0; flex: 0 1 auto; }
@media (max-width: 600px) { .inhand .tabs { flex-direction: column; } .inhand .tabs .choice { max-width: none; } }
.inhand:has(#w-legal:checked) .way-legal, .inhand:has(#w-lot:checked) .way-lot, .inhand:has(#w-address:checked) .way-address { display: block; }
@supports not selector(:has(*)) { .way { display: block; } }
.flabel { font: 600 1rem system-ui, sans-serif; margin: .2rem 0; }
.sublabel { display: block; margin-top: .5rem; font-family: system-ui, sans-serif; }
.phrase { align-items: center; gap: .4rem; flex-wrap: wrap; }
.phrase select { min-height: 44px; }
.ordivider { display: flex; align-items: center; gap: .6rem; max-width: 30rem; color: var(--muted); font-family: system-ui, sans-serif; }
.ordivider::before, .ordivider::after { content: ""; flex: 1; border-top: 1px solid var(--line); }
.mapline, .sampleline { font-family: system-ui, sans-serif; margin: .6rem 0; }
.mapline a, .sampleline a { display: inline-flex; min-height: 44px; align-items: center; }
.sampleline { font-size: 1.15rem; font-weight: 600; }
.hooks ul { padding-left: 1.2rem; }
.hooks li { margin: .3rem 0; }
.offer form { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
/* the report */
.report .column { max-width: 46rem; margin: 0 auto; }
.rtop { max-width: 46rem; margin: 0 auto; }
.placeline { color: var(--muted); font-family: system-ui, sans-serif; margin: 0 0 .6rem; }
.lead { font-size: 1.3rem; line-height: 1.5; margin: .8rem 0; }
.seerec { font: .9rem system-ui, sans-serif; white-space: nowrap; }
.samplenote { background: var(--shade); border-left: 4px solid var(--accent); padding: .6rem .9rem; margin: .6rem 0; }
.waitline { background: #fff; border: 1px solid var(--line); padding: .6rem .9rem; border-radius: 6px; }
.ctlrow { max-width: 46rem; margin: .6rem auto 0; display: flex; flex-wrap: wrap; align-items: center; gap: .2rem 1rem; font: .95rem system-ui, sans-serif; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: .2rem 0; background: var(--paper); }
.ctlrow > a, .ctlgroup a { min-height: 44px; display: inline-flex; align-items: center; padding: 0 .15rem; }
.ctlgroup a.on { font-weight: 700; text-decoration: none; color: var(--ink); }
.ctlword { font-weight: 600; }
.ctlrow .contents { position: relative; }
.ctlrow .contents > summary { font-weight: 600; }
.ctlrow .contents ol { position: absolute; z-index: 30; background: #fff; border: 1px solid var(--line); padding: .5rem 1rem .5rem 2rem; min-width: 18rem; box-shadow: 0 6px 18px rgba(0,0,0,.15); margin: 0; }
.ctlrow .contents li { min-height: 36px; }
.sword { color: var(--muted); font-size: .9rem; }
.ctlhint { max-width: 46rem; margin: .3rem auto 0; color: var(--muted); font: .9rem system-ui, sans-serif; }
@media (min-width: 1000px) { .ctlrow { position: sticky; top: 0; z-index: 20; } }
.rsec h2 { margin: 1rem 0 .5rem; }
.stateline { font-family: system-ui, sans-serif; color: var(--muted); font-style: italic; }
.oneline { color: var(--ink); }
sup.rn { font: 700 .75rem system-ui, sans-serif; line-height: 0; }
sup.rn a { display: inline-block; min-width: 32px; min-height: 32px; line-height: 32px; text-align: center; vertical-align: middle; text-decoration: none; margin: -12px -6px -12px -4px; }
.written p { margin: .4rem 0 .8rem; }
.recordsays { margin: .8rem 0; border: 1px solid var(--line); border-radius: 6px; background: #fff; padding: 0 .8rem; }
.recordsays > summary { font: 600 1rem system-ui, sans-serif; }
.recs { padding-left: 1.2rem; margin: .3rem 0 .8rem; }
.recs li { margin: .25rem 0; }
.recs.plain { list-style: disc; }
.aside-block { margin-left: 1rem; border-left: 3px solid var(--shade); padding-left: .8rem; }
.aside-block h4 { margin: .6rem 0 .2rem; font-size: 1rem; }
figcaption .notice-line { display: block; }
figcaption .srcline, .srcline { display: block; font-size: .85rem; color: var(--muted); }
.regnote { font: .9rem system-ui, sans-serif; color: var(--muted); }
.deeper { margin: .6rem 0 1rem; }
.hooked .steps { padding-left: 1.4rem; }
.hooked .steps > li { margin: .8rem 0 1.2rem; }
.hooked .steps h3 { margin: .2rem 0; }
.hooked .steps p { margin: .15rem 0; }
.ek { font-weight: 600; font-family: system-ui, sans-serif; }
.appendix .ablock { margin: .6rem 0; border-top: 1px solid var(--line); }
.appendix .ablock > summary { font: 600 1.05rem system-ui, sans-serif; }
.appendix .fixed { font-size: .95rem; }
.appendix .version { color: var(--muted); font-size: .9rem; }
.tablewrap { overflow-x: auto; max-width: 100%; }
table.looked { border-collapse: collapse; width: 100%; font-size: .9rem; }
table.looked th, table.looked td { border-bottom: 1px solid var(--line); padding: .35rem .4rem; text-align: left; vertical-align: top; }
@media (max-width: 700px) {
  table.looked thead { display: none; }
  table.looked tr { display: block; border: 1px solid var(--line); border-radius: 6px; margin: .5rem 0; padding: .3rem .5rem; background: #fff; }
  table.looked th, table.looked td { display: block; border: 0; padding: .15rem 0; }
  table.looked td:empty { display: none; }
  table.looked td::before { content: attr(data-label) ": "; font-weight: 600; font-family: system-ui, sans-serif; }
}
.errands { padding-left: 1.2rem; }
.errand p { margin: .15rem 0; }
form.inline { display: inline; }
.notyet li { margin: .3rem 0; }
.tendates, .timeline { padding-left: 1.2rem; }
.tendates .d, .timeline .d { font-weight: 700; font-family: system-ui, sans-serif; margin-right: .3rem; }
.morelist a { display: inline-flex; min-height: 44px; align-items: center; }
.prose { max-width: 46rem; }
.prose h2 { margin-top: 1.4rem; }
.kindnav { display: flex; flex-wrap: wrap; gap: .3rem 1rem; font-family: system-ui, sans-serif; margin: .5rem 0 1rem; }
.kindnav a { min-height: 44px; display: inline-flex; align-items: center; }
.kind .rows { list-style: none; padding: 0; }
.kind .row { border-top: 1px solid var(--line); padding: .4rem 0; }
.kind .row h3 { margin: .2rem 0; font-size: 1.05rem; }
.kind .row p { margin: .1rem 0; }
.inbasic { font: .85rem system-ui, sans-serif; color: var(--accent); }
.prevnext { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin: 2rem 0 1rem; font-family: system-ui, sans-serif; }
.chapters li { margin: .3rem 0; }
.book { border-top: 1px solid var(--line); }
main, .report, .column { overflow-wrap: anywhere; }
img, svg, table { max-width: 100%; }
@media (max-width: 999px) { main { padding-bottom: 7rem; } }
@media print {
  .ctlrow, .ctlhint, .deeper, .sitemenu, .sitenav, .bottombar, .check, .waitline, .addlist, form.inline { display: none !important; }
  .recordsays, .ablock { border: 0; }
}
@media (max-width: 760px) { header.site .sitenav { display: none; } header.site .sitemenu { display: block; } header.site .sitemenu nav { display: flex; flex-direction: column; } }
@media (min-width: 761px) { header.site .sitemenu { display: none; } }
/* Team S3: the appendix's "Everything we looked at" table. The page-wide overflow-wrap: anywhere (above)
   let the browser squeeze the first columns to a few letters ("Fou / nd") at 1280 wide and with Larger text.
   On wide screens the columns get fixed shares of the width; words break only when one word cannot fit. */
table.looked th, table.looked td { overflow-wrap: break-word; word-break: normal; hyphens: manual; }
@media (min-width: 701px) {
  table.looked { table-layout: fixed; }
  table.looked thead th:nth-child(1) { width: 23%; }
  table.looked thead th:nth-child(2) { width: 15%; }
  table.looked thead th:nth-child(3) { width: 14%; }
  table.looked thead th:nth-child(4) { width: 24%; }
  table.looked thead th:nth-child(5) { width: 24%; }
}
/* Team S3: "See everything a report can look for" on the home page and beside the search box. */
.catlink { font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.hooks .catlink { margin: .7rem 0 0; }
.hooks .catlink a, a.catlink { display: inline-flex; align-items: center; min-height: 44px; }
.searchrow a.catlink { align-self: center; padding: 0 .2rem; }
.catlink a > span, a.catlink > span { margin-left: .3em; }

/* The books (Team KG, Oct 10, 2026; MERGE_RULINGS ruling 12). Two stacked book entries, each with its cover;
   each book's own page with contents, sample pages, author note, citation, reuse terms and corrections.
   The typeset cover stands in until Team KE's cover images are staged in public/books/covers/. */
.books, .bookpage { max-width: 46rem; margin: 0 auto; padding: 0 1rem 2rem; }
.books .lede { font-size: 1.08rem; }
.bookentry { display: grid; grid-template-columns: 9.5rem minmax(0, 1fr); gap: 1.4rem; padding: 1.6rem 0; border-top: 1px solid var(--line); }
.bookentry:first-of-type { margin-top: 1rem; }
.bookinfo h2, .bookinfo h1 { margin: 0 0 .2rem; }
.bookinfo h2 a { color: var(--ink); text-decoration: none; }
.bookinfo h2 a:hover, .bookinfo h2 a:focus { text-decoration: underline; }
.bookinfo cite { font-style: normal; }
.booksub { margin: 0; font-style: italic; }
.bookby { margin: .15rem 0 .7rem; font-family: system-ui, sans-serif; font-weight: 600; }
.choose { font-family: system-ui, sans-serif; font-size: .98rem; }
.booklinks { list-style: none; padding: 0; margin: .9rem 0 .5rem; display: flex; flex-wrap: wrap; gap: .5rem; }
.booklinks .size { font-weight: 400; margin-left: .35rem; opacity: .85; }
.edline, .pub { font-family: system-ui, sans-serif; font-size: .93rem; color: var(--muted); margin: .25rem 0; }
.bookcover { display: block; aspect-ratio: 7 / 10; background: #fff; border: 1px solid var(--line); box-shadow: 0 1px 4px rgba(0, 0, 0, .14); overflow: hidden; color: var(--ink); text-decoration: none; align-self: start; }
.bookcover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.typecover { display: flex; flex-direction: column; height: 100%; box-sizing: border-box; padding: 12% 10% 10%; background: #fbfaf6; border-top: 4px solid #9b3b22; }
.typecover .tc-title { display: flex; flex-direction: column; font: 600 1.32rem/1.08 Georgia, "Iowan Old Style", serif; }
.typecover .tc-sub { margin-top: .5rem; font: 600 .78rem/1.25 system-ui, sans-serif; color: #9b3b22; }
.typecover .tc-by { margin-top: auto; font: .72rem/1.3 system-ui, sans-serif; }
.bookhead { display: grid; grid-template-columns: 12rem minmax(0, 1fr); gap: 1.6rem; margin: .5rem 0 1.5rem; }
.bookcover.big .tc-title { font-size: 1.62rem; }
.bookpage .chapters { padding-left: 1.1rem; }
.bookpage .chapters li { margin: .25rem 0; }
.bookpage .chapters a { display: inline-block; min-height: 32px; padding: .15rem 0; }
.samples { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; margin: .8rem 0 1.4rem; }
.samples figure { margin: 0; }
.samples img { display: block; width: 100%; height: auto; border: 1px solid var(--line); background: #fff; }
.cite { background: #fff; border: 1px solid var(--line); border-radius: 6px; padding: .7rem .9rem; font-size: .98rem; overflow-wrap: break-word; }
.reuse, .books .contact, .bookpage .contact { font-size: .98rem; }
.formats p, .reuseblock p { max-width: 40rem; }
.formats, .reuseblock { border-top: 1px solid var(--line); padding-top: .4rem; margin-top: .6rem; }
@media (max-width: 600px) {
  .bookentry { grid-template-columns: minmax(0, 1fr); gap: .8rem; }
  .bookentry .bookcover { width: 7.5rem; }
  .typecover .tc-title { font-size: 1.02rem; }
  .typecover .tc-sub, .typecover .tc-by { font-size: .58rem; }
  .bookhead { grid-template-columns: minmax(0, 1fr); gap: .8rem; }
  .bookhead .bookcover { width: 8.5rem; }
  .bookcover.big .tc-title { font-size: 1.15rem; }
  .booklinks .btn { width: 100%; justify-content: flex-start; }
  .booklinks li { flex: 1 1 100%; }
  .samples { grid-template-columns: minmax(0, 1fr); }
}
@media print { .booklinks, .books .reuseblock button, .bookpage button { display: none; } }
