:root{--thread-ink:#865365;--thread-soft:#f2e7eb;--thread-rule:color-mix(in srgb,var(--thread-ink) 28%,var(--paper));--thread-text:var(--ink,#252b34)}
[data-theme=dark]{--thread-ink:#e4adbf;--thread-soft:#35232b;--thread-rule:#62414e}
[data-thread-control],.thread-browser,.terrain-thread-controls{font-family:'DM Sans',Arial,sans-serif}
[data-thread-control] a,.thread-browser a,.terrain-thread-controls a{color:var(--thread-ink);text-underline-offset:3px}
[data-thread-control] :focus-visible,.thread-browser :focus-visible,.terrain-thread-controls :focus-visible{outline:2px solid var(--thread-ink);outline-offset:4px}
.reader-thread-discovery{position:fixed;left:24px;top:102px;z-index:11;max-width:148px;font-size:11px;line-height:1.6}
#reader-thread-discover{border:0;padding:6px 0;background:none;color:var(--muted);font-size:11px;cursor:pointer}
#reader-thread-discover:hover{color:var(--thread-ink)}
.reader-thread-entry{display:block;margin:10px 0 2px;border-top:1px solid var(--thread-rule);padding-top:8px;font-size:11px;line-height:1.65;max-width:100%;text-align:left}
.thread-entry-label{display:block;color:var(--muted);font-size:10px;margin-bottom:4px}
.reader-thread-entry a{display:flex;flex-wrap:wrap;gap:3px 10px;padding:5px 0;text-decoration:none;color:var(--thread-ink);min-height:32px}
.thread-entry-action{font-size:10px;color:var(--muted)}
.reader-thread-entry a:hover .thread-entry-action{color:var(--thread-ink)}
.word.thread-support{background:var(--thread-soft);text-decoration-line:underline;text-decoration-color:var(--thread-ink);text-decoration-thickness:1px;text-underline-offset:4px;border-radius:2px}
.word.thread-support.selected{box-shadow:inset 0 -2px var(--thread-ink)}
.reader-thread-journey{position:fixed;z-index:26;right:22px;bottom:150px;width:198px;max-height:46dvh;overflow:auto;overscroll-behavior:contain;padding:14px;background:color-mix(in srgb,var(--paper) 97%,transparent);color:var(--thread-text);border:1px solid var(--thread-rule);border-radius:5px;font-size:11px;line-height:1.7}
.thread-journey-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 7px;font-size:10px;color:var(--muted)}
.thread-journey-heading strong{font-weight:500;color:var(--thread-ink);font-size:12px}
.thread-journey-heading>span:last-child{margin-left:auto;font-variant-numeric:tabular-nums}
.thread-stop-title{margin:8px 0 4px;font-weight:500;color:var(--thread-text)}
.thread-context{margin-top:6px}
.thread-context>summary,.thread-connection>summary,.thread-evidence>summary{cursor:pointer;color:var(--muted);font-size:10px;line-height:1.65;padding:4px 0}
.thread-context>summary{color:var(--thread-text);font-size:11px}
.thread-connection-explanation{margin:8px 0;font-size:11px;line-height:1.85}
.thread-connection blockquote{margin:10px 0;font:400 14px/1.85 'Libre Caslon Text',Georgia,serif;white-space:pre-line;overflow-wrap:anywhere}
.thread-evidence{margin:8px 0}
.thread-evidence ul{list-style:none;padding:0;margin:4px 0}
.thread-evidence li{margin:8px 0;font-size:10px;overflow-wrap:anywhere}
.thread-evidence li span{display:block;color:var(--muted)}
.reader-thread-journey>nav{display:flex;flex-wrap:wrap;gap:7px 10px;margin-top:10px;padding-top:8px;border-top:1px solid var(--thread-rule)}
.reader-thread-journey>nav a{font-size:10px;text-decoration:none;min-height:26px;display:inline-flex;align-items:center}
.reader-thread-journey [aria-disabled=true]{font-size:10px;opacity:.4;min-height:26px;display:inline-flex;align-items:center}
.thread-junction{margin-top:6px;font-size:10px}
.thread-junction>span{display:block;color:var(--muted)}
.thread-junction a{display:block;padding:4px 0;text-decoration:none}
.thread-origin-return{display:inline-block;margin-top:8px;padding:4px 0;font-size:10px}
dialog.thread-browser{width:min(420px,calc(100% - 32px));max-height:80dvh;padding:24px;border:1px solid var(--thread-rule);border-radius:6px;background:var(--paper);color:var(--thread-text);font-size:12px;line-height:1.8;overscroll-behavior:contain}
dialog.thread-browser::backdrop{background:#18202b40;backdrop-filter:blur(3px)}
.thread-browser-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}
.thread-browser-heading h2{margin:0;font:400 24px/1.3 'Libre Caslon Text',Georgia,serif}
.thread-browser-heading button{width:36px;height:36px;border:0;background:none;font-size:24px;color:var(--muted);cursor:pointer}
.thread-browser>p{color:var(--muted);font-size:11px}
.thread-browser-list article{margin-top:20px;padding-top:18px;border-top:1px solid var(--thread-rule)}
.thread-browser-list h3{font:400 19px/1.4 'Libre Caslon Text',Georgia,serif;margin:0 0 8px}
.thread-browser-list p{margin:0 0 10px;color:var(--muted);font-size:12px}
.thread-browser-list article>span{display:block;font-size:10px;color:var(--muted)}
.thread-browser-list article>a{display:inline-block;padding:10px 0;font-size:12px}
#terrain-thread-browser{position:absolute;z-index:4;top:auto;left:auto;right:28px;bottom:112px;max-width:min(310px,calc(100% - 56px));color:var(--thread-text);font-size:11px;background:var(--paper);border:1px solid var(--thread-rule);border-radius:5px;padding:8px 12px}
#terrain-thread-browser>summary{cursor:pointer;color:var(--muted);padding:3px 0}
#terrain-thread-browser[open]{max-height:55dvh;overflow:auto}
#terrain-thread-browser [data-thread-browser-list]{padding:6px 0}
#terrain-thread-browser [data-thread-browse]{display:block;width:100%;padding:12px 0;border-top:1px solid var(--thread-rule);color:var(--thread-ink);font-size:13px}
#terrain-thread-browser [data-thread-browse] span{display:block;font-size:11px;line-height:1.8;color:var(--muted);margin-top:5px}
.terrain-thread-controls{position:absolute;z-index:4;left:28px;bottom:90px;display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;max-width:calc(100% - 114px);padding:8px 12px;background:var(--paper);border:1px solid var(--thread-rule);border-radius:5px;font-size:11px;color:var(--thread-ink)}
.terrain-thread-controls button{font-size:10px;border:0;background:none;color:var(--muted);padding:6px 0;cursor:pointer}
.terrain-thread-controls a{font-size:10px;text-decoration:none;display:inline-block;padding:6px 0}
.terrain-thread-controls [data-thread-clear]{padding:3px 7px;font-size:18px;line-height:1}
#terrain-map[data-thread-active=true] [data-book]{opacity:calc(1 - var(--terrain-reveal,1)*.67)}
html[data-terrain-arriving] #terrain-thread-browser,html[data-terrain-arriving] .terrain-thread-controls,html[data-terrain-arriving] #terrain-selection:has([data-thread-preview]){opacity:var(--terrain-reveal,0)}
.thread-route{fill:none;stroke:var(--thread-ink);stroke-width:1.8;stroke-dasharray:6 5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none;opacity:.76}
.thread-route.is-strong{stroke-width:2.6;opacity:.95}
.terrain-thread-stop{cursor:pointer;outline:none}
.thread-stop-target{fill:transparent;stroke:none;pointer-events:all}
.thread-stop-halo{fill:var(--paper);fill-opacity:.88;stroke:transparent;stroke-width:1.5}
.thread-stop-dot{fill:var(--paper);stroke:var(--thread-ink);stroke-width:1.5}
.is-strong .thread-stop-dot{stroke-width:2.6}
.thread-stop-number{fill:var(--thread-ink);font:500 10px 'DM Sans',Arial,sans-serif;text-anchor:middle;dominant-baseline:central;pointer-events:none}
.terrain-thread-stop.is-current .thread-stop-dot{fill:var(--thread-ink)}
.terrain-thread-stop.is-current .thread-stop-number{fill:var(--paper)}
.terrain-thread-stop.is-current .thread-stop-halo,.terrain-thread-stop:hover .thread-stop-halo,.terrain-thread-stop:focus-visible .thread-stop-halo{stroke:var(--thread-ink)}
.terrain-thread-stop.is-tentative .thread-stop-dot{stroke-dasharray:3 3}
.thread-origin{pointer-events:none}
.thread-origin-stem{fill:none;stroke:var(--thread-ink);stroke-width:1.5}
.thread-origin-pin{fill:var(--paper);stroke:var(--thread-ink);stroke-width:1.5}
.thread-junctions{margin-top:16px;border-top:1px solid var(--thread-rule);padding-top:4px}
[data-thread-preview] .selection-source mark{background:var(--thread-soft);text-decoration:underline;text-decoration-color:var(--thread-ink);text-underline-offset:3px}
[data-thread-preview] .echo-evidence{font-size:10px;line-height:1.8;color:var(--muted);margin:8px 0}
[data-thread-preview] .selection-source{margin:0 0 16px}
#terrain-selection{max-height:calc(100dvh - 240px)}
.thread-preview-dismiss{position:absolute;top:10px;right:10px;width:32px;height:32px;border:0;background:var(--paper);color:var(--muted);font-size:20px;cursor:pointer;border-radius:3px}
[data-thread-preview] .selection-address{padding-right:24px}
[data-thread-preview] button:disabled{opacity:.4;cursor:default}
@media(max-width:1100px){.reader-thread-journey{width:176px;right:16px;font-size:10px}.reader-thread-discovery{left:18px;max-width:100px}}
@media(max-width:760px){#terrain-thread-browser{left:auto;top:auto;right:16px;bottom:80px;max-width:calc(100% - 32px)}.terrain-thread-controls{left:16px;bottom:132px;max-width:calc(100% - 80px);gap:4px 10px;padding:6px 10px}.terrain-thread-controls>span{flex-basis:100%}#terrain-selection:has([data-thread-preview]){top:120px;max-height:46dvh}[data-thread-preview] .selection-source{font-size:15px}}
@media(max-width:640px){.reader-thread-discovery{left:auto;right:16px;top:106px;max-width:calc(100% - 32px);display:flex;align-items:start;gap:12px;pointer-events:none}.reader-thread-discovery>*{pointer-events:auto}.reader-thread-discovery>.reader-thread-entry{background:var(--paper);padding:8px 10px;border:1px solid var(--thread-rule);border-radius:4px;margin-top:0;max-width:220px}.reader-thread-journey{left:16px;right:16px;bottom:124px;width:auto;max-height:48dvh;padding:9px 12px}.thread-journey-heading{font-size:10px}.thread-context{margin-top:2px}.reader-thread-journey>nav{margin-top:5px;padding-top:5px;justify-content:space-between}.reader-thread-journey>nav a{min-height:30px}.thread-origin-return{margin-top:1px}.thread-junction{display:flex;align-items:baseline;gap:10px;margin-top:2px}.thread-junction>span{font-size:9px}.thread-junction a{font-size:10px}.thread-context[open] .thread-connection-explanation{max-width:60ch}.thread-entry-action{font-size:10px}}
@media(prefers-reduced-motion:reduce){.thread-route,.terrain-thread-stop,.reader-thread-journey{transition:none;animation:none}}
@media(max-width:640px){.reader-thread-journey{max-height:32dvh}.thread-preview-dismiss{width:44px;height:44px;top:6px;right:6px}[data-thread-preview] .selection-address{padding-right:36px}.thread-origin-return{position:sticky;bottom:0;background:var(--paper);display:block}}
@media print{.reader-thread-discovery,.reader-thread-journey,.thread-browser{display:none!important}}

@media(max-width:760px){.map-hint{left:16px;transform:none;text-align:left;width:calc(100% - 170px);max-width:calc(100% - 170px)}}
@media(max-width:760px){#terrain-selection:not(:has([data-thread-preview])){max-height:40dvh}}
