/* Finalization contract: header, canvas, discovery dock, and reader have distinct zones. */
@font-face{font-family:Semesta Sans;src:url('./fonts/OpenSans-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Semesta Serif;src:url('./fonts/LiberationSerif-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Semesta Naskh;src:url('./fonts/NotoNaskhArabic-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--font:'Semesta Sans',Arial,sans-serif;--serif:'Semesta Serif',Georgia,serif;--muted:#b2c3ca;--panel:#0d171f;--reader-width:clamp(460px,42vw,680px);--arabic-size:24px}
#universe{container-type:size}
#universe>.vignette{box-shadow:none}
button,input,summary,select{font-family:var(--font)}
button,summary{touch-action:manipulation}
.top-right{top:18px;right:24px;font-size:12px;letter-spacing:0}
.top-right button{width:44px;height:44px;font:16px var(--font);background:#0d171f}
.identity{top:20px;left:24px}.identity small{font-size:10px;letter-spacing:1px}
#space-breadcrumbs,.reader-open #universe #space-breadcrumbs{left:24px;top:70px;transform:none;max-width:calc(100% - 100px);background:#09131bef;border-radius:4px}
#space-breadcrumbs button,#space-breadcrumbs span{font-size:13px;padding:9px;min-height:44px}
.cosmos-on #focus-heading,.cosmos-overview #focus-heading{top:124px;left:24px;transform:none;text-align:left;max-width:calc(100% - 110px);width:auto}
.cosmos-on #focus-title,.cosmos-overview #focus-title{font:26px/1.3 var(--serif);max-height:none;overflow:visible;text-align:left}
.cosmos-on #focus-subtitle,.cosmos-overview #focus-subtitle{font-size:13px;line-height:1.6;letter-spacing:0;opacity:1;color:var(--muted);max-width:500px;margin:8px 0 0}
#focus-title:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
#space-controls{top:20px;left:50%;transform:translateX(-50%);flex-direction:row}
#space-controls button,#space-continuations button{font-size:12px;min-height:44px;background:#0d171f}
#space-continuations{left:24px;transform:none;max-width:calc(100% - 100px)}
.cosmos-on .bottom-space,.bottom-space{left:50%;transform:translateX(-50%);bottom:68px;width:min(600px,calc(100% - 160px));z-index:9}
#search-form{background:#0d171f;border:1px solid #647d86;padding:4px 10px;min-height:50px}
#search{font-size:14px;min-width:0}#search-go{min-width:44px;min-height:44px}
.cosmos-on #suggestions,#suggestions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;justify-content:center}
#suggestions button{font-size:12px;min-height:44px;background:#0d171f;border:1px solid var(--line);padding:6px 12px;border-radius:4px}
#suggestions button:nth-child(n+3){display:none}
#navigation-hint,.cosmos-on #navigation-hint{font-size:12px;line-height:1.5;white-space:normal;background:#060b12ee;padding:4px 8px;margin:6px 0 0;color:#c0ced2}
#search-panel{position:absolute;bottom:100%;left:0;width:100%;max-height:55dvh;overflow:auto;background:#0d171f;border:1px solid #647d86;border-radius:6px;padding:12px;overscroll-behavior:contain;box-shadow:0 8px 30px #0008}
#search-results{position:static;max-height:none;overflow:visible;background:none;border:0;padding:0;box-shadow:none}
#search-count{font-size:12px;line-height:1.5;margin:0 0 10px;color:var(--muted)}
#search-results [role=option]{padding:12px 8px;border-bottom:1px solid var(--line);cursor:pointer;text-align:left}
#search-results [aria-selected=true],#search-results [role=option]:hover{background:#243640;outline:1px solid #b5c6ce}
#search-results strong{display:block;font-size:14px;color:var(--ink);font-weight:600;overflow-wrap:anywhere}
#search-results small{display:block;font-size:12px;color:var(--muted);line-height:1.6}
#search-pages{display:flex;flex-wrap:wrap;gap:8px}#search-pages p{font-size:13px}
#search-pages button{min-height:44px;font-size:13px;background:#172a35;border:1px solid var(--line);padding:6px 10px}
#space-directory{left:24px;bottom:234px;font-size:13px;max-width:min(440px,calc(100% - 100px));z-index:8}
#space-directory summary{min-height:44px;background:#0d171f;padding:10px 14px;max-width:100%;font-size:13px;white-space:normal}
.space-directory-list{max-height:42dvh}.space-directory-list button{font-size:14px;min-height:44px;overflow-wrap:anywhere}
#space-pages{right:80px;bottom:234px;font-size:12px}
#space-note,.cosmos-overview #space-note,.reader-open #universe #space-note{display:none}
.sample-badge{position:absolute;left:24px;bottom:12px;min-height:44px;font-size:12px;background:#0d171f;border:1px solid #647d86;color:#d0dce1;padding:6px 12px;z-index:8;border-radius:4px}
.cosmos-on #network-key,#network-key{display:block;right:80px;bottom:12px;min-height:44px;font-size:12px;background:#0d171f;border:1px solid #647d86;border-radius:4px;padding:6px 12px;z-index:8}
#relation-tools{position:absolute;left:24px;bottom:234px;z-index:8;max-width:calc(100% - 110px);background:#0d171f;padding:8px 12px;border:1px solid var(--line);font-size:12px;border-radius:4px}
#relation-status{display:block;color:#e5d0a7}#relation-tools label{display:flex;align-items:center;gap:8px;min-height:44px}#show-candidates{width:24px;height:24px}
.cosmos-on #focus-actions,#focus-actions{left:24px;right:auto;bottom:355px;transform:none;z-index:8;gap:8px}
#focus-actions button{min-height:44px;min-width:44px;font-size:13px;background:#0d171f}
.reader-open #focus-actions,.search-open #focus-actions{display:none}
#status,.cosmos-on #status{bottom:204px;font-size:13px;background:#0d171f;z-index:10;border-radius:4px;max-width:calc(100% - 60px)}
#status:empty{display:none}
.camera-tools,.cosmos-on .camera-tools{right:12px;gap:4px}.camera-tools button,.cosmos-on .camera-tools button{min-width:44px;min-height:44px;background:#0d171f}
.node-label{font-size:13px;line-height:1.45;max-width:260px;min-height:44px;padding:7px 10px;white-space:normal;background:#0d171f;color:#eef0e8;border:1px solid #61777d80;text-shadow:none}
.node-label span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.node-label small{display:block;font-size:12px;color:#c1cfd5}
.node-label[aria-pressed=true]{max-width:300px;outline:2px solid var(--gold)}.node-label[aria-pressed=true] span{display:block}
#branch-label-guides line{stroke:#8396a1;stroke-width:.6;opacity:.2}
.space-label,.space-group-label{font-family:var(--font);font-size:13px;max-width:260px;min-height:44px;background:#0d171fe8;text-shadow:none}
.space-label span{max-width:240px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.space-label small,.cosmos-overview .space-group-label small{font-size:12px;opacity:1;color:var(--muted)}
.cosmos-overview .space-collection-label{font-family:var(--serif);font-size:22px;background:#09131be8;text-shadow:none;letter-spacing:0}
.candidates-hidden .relation-card.candidate{display:none}
dialog{--arabic-size:24px;background:#0d171f}#source-content{padding:16px 24px 30px;scrollbar-gutter:stable;overflow-wrap:anywhere}
.dialog-top{padding:8px 16px;font-size:12px;letter-spacing:.4px;gap:8px;min-height:60px;background:#0d171f}
.dialog-top #reader-expand{font-size:12px;border:1px solid #647d86;padding:4px 10px;border-radius:4px;line-height:1.4;margin-left:auto}
#dialog-eyebrow{font-size:11px}.dialog-top button{flex-shrink:0}
dialog h2{font:26px/1.35 var(--serif);margin:0 0 8px}dialog h3{font-size:16px;line-height:1.5;margin:16px 0 8px}
dialog p,dialog .translation{font-size:16px;line-height:1.85}dialog .fine,dialog .empty{font-size:13px;line-height:1.7;color:#bdcdd4}
dialog .source-locator{margin:0 0 10px}dialog summary{font-size:13px;min-height:44px;color:#bdcdd4}
dialog pre{font-size:12px}dialog .arabic,dialog .ayah-arabic{font:var(--arabic-size)/2 'Semesta Naskh','Noto Naskh Arabic',serif;color:#eef0e8;white-space:pre-wrap;margin:0 0 16px;overflow-wrap:anywhere}
dialog .source-chunk{padding:12px 0 18px;scroll-margin-top:8px}dialog .translation-label{font-size:12px;letter-spacing:0;margin:12px 0 6px;color:#e2c386}
.reading-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;margin:8px 0}
.reading-tools button,.reading-tools select,.source-link,.chunk-choice{min-height:44px;min-width:44px;font-size:13px;border:1px solid #647d86;background:#152731;color:#eef0e8;padding:6px 10px;border-radius:4px}
.reading-tools label{display:flex;align-items:center;gap:4px}.reading-tools select{max-width:96px}
.chunk-index{margin:0 0 12px}.chunk-index p{font-size:13px}.chunk-directory{margin-bottom:6px}
.relation-card{padding:12px 0;border-bottom:1px solid #61777d80}.relation-badge{display:inline-block;font-size:12px;background:#1c303a;padding:4px 8px;border-radius:4px;margin:0}
.candidate .relation-badge{border:1px dashed #e2c386;color:#e2c386}.citation-path{font-size:14px;color:#eef0e8;line-height:1.8;overflow-wrap:anywhere}
.footnote{display:inline-grid;place-items:center;vertical-align:super;min-width:28px;min-height:28px;background:#243640;color:#e2c386;border:1px solid #647d86;border-radius:4px;margin:0 3px}
dialog .translation .footnote sup{font-size:12px}.footnote-note{display:block;font-size:13px;line-height:1.6;background:#243640;padding:8px;color:#eef0e8}
.reader-full dialog{inset:0;width:100%;height:100dvh;--reader-width:100%}.reader-full #source-content{width:min(900px,100%);margin:0 auto}.reader-full #universe{visibility:hidden;pointer-events:none}
@container (max-width:650px){
 .identity small,.top-right>span{display:none}#space-controls{left:auto;right:68px;transform:none;top:14px}
 #space-breadcrumbs{left:12px;max-width:calc(100% - 78px)}
 .cosmos-on #focus-heading,.cosmos-overview #focus-heading{left:16px;top:120px;max-width:calc(100% - 88px)}
 .cosmos-on #focus-title,.cosmos-overview #focus-title{font-size:24px}
 .bottom-space,.cosmos-on .bottom-space{width:calc(100% - 28px)}
 #space-directory,#relation-tools{left:14px;max-width:calc(100% - 88px)}
 .sample-badge{left:14px;font-size:12px;padding:4px 8px}#network-key{right:14px}
 .space-label{max-width:190px}.space-label span{max-width:170px}.node-label{max-width:210px}
 #navigation-hint{display:none}.cosmos-on #navigation-hint{display:none}
 #suggestions{justify-content:flex-start}#suggestions button{font-size:12px;padding:4px 8px;flex:1}
 #focus-actions{left:14px}.camera-tools{top:42%}
 #status{bottom:210px}
}
/* A reader alongside <650px of canvas becomes a bottom sheet instead. */
@media(max-width:1100px){
 .reader-open #universe{width:100%;height:32dvh}
 dialog{inset:auto 0 0;width:100%;height:68dvh;border-left:0;border-top:1px solid #647d86}
 .reader-open #universe :is(.identity,.top-right,#focus-heading,#focus-actions,.bottom-space,#status,#space-controls,#space-directory,#space-pages,#space-continuations,#space-note,.sample-badge,.snapshot-note,#network-key,#relation-tools){display:none}
 .reader-open #universe #space-breadcrumbs{top:4px;left:8px;max-width:calc(100% - 66px);font-size:12px}
 .reader-open #universe .camera-tools{top:56px;right:8px;gap:2px;transform:none;flex-direction:row}
 .reader-open #universe .camera-tools button{width:44px;height:44px;font-size:18px}
 .reader-open #universe .camera-tools button:nth-child(n+3){display:none}
 #source-content{padding:12px 18px 24px}.dialog-top{padding:6px 12px}
 .reader-full dialog{inset:0;height:100dvh}
}
@media(max-width:400px){.dialog-top{flex-wrap:wrap;gap:2px}#dialog-eyebrow{max-width:90px}.dialog-top #reader-expand{max-width:110px}dialog h2{font-size:24px}#source-content{padding:10px 14px 24px}.reading-tools{gap:6px}.reading-tools button,.reading-tools select{font-size:12px}.identity{left:16px;top:18px}.top-right{right:12px;top:14px}}
@media(max-height:600px){#focus-heading{max-height:90px;overflow:auto}#space-directory,#relation-tools{bottom:204px}#suggestions{display:none!important}.cosmos-on #focus-actions{bottom:300px}#search-panel{max-height:50dvh}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@container (max-width:650px){.cosmos-on #network-key{right:14px}.cosmos-on #navigation-hint{display:none}.cosmos-on #status{bottom:210px}}
#source h2:focus-visible{outline:2px solid var(--gold);outline-offset:4px}

#status,.cosmos-on #status{top:210px;bottom:auto;left:24px;transform:none;max-width:calc(100% - 100px);padding:6px 10px;text-align:left}

/* Buya 22 Oct: labels belong to the sky; their hit areas stay transparent. */
.node-label,.space-label,.space-group-label,.cosmos-overview .space-collection-label,
.node-label:hover,.node-label:focus-visible,.space-label:hover,.space-label:focus-visible,
.cosmos-overview .space-collection-label:hover,.cosmos-overview .space-collection-label:focus-visible{
 background:transparent;border:0;box-shadow:none;text-shadow:0 1px 2px #02060c;
 -webkit-text-stroke:.45px #02060c;paint-order:stroke fill;
}
.node-label{font-size:11.5px;line-height:1.4;max-width:220px;padding:4px 6px;min-height:44px}
.node-label small,.space-label small{font-size:11px;color:#bdcbd0}
.node-label[aria-pressed=true]{outline:none;color:#f0d49b;max-width:260px}
.node-label[aria-pressed=true]::before{content:'•';position:absolute;left:-5px;color:#f0d49b}
.node-label:focus-visible,.space-label:focus-visible{text-decoration:underline;text-underline-offset:4px;outline:none}
.space-label,.space-group-label{font-size:12px}
.cosmos-overview .space-collection-label{font-size:18px}
#space-breadcrumbs,.reader-open #universe #space-breadcrumbs{background:transparent}
#space-breadcrumbs button,#space-breadcrumbs span{font-size:12px;text-shadow:0 1px 2px #02060c;-webkit-text-stroke:.4px #02060c;paint-order:stroke fill}
.cosmos-on #focus-title,.cosmos-overview #focus-title{font-size:22px;text-shadow:0 1px 2px #02060c;-webkit-text-stroke:.4px #02060c;paint-order:stroke fill}
.cosmos-on #focus-subtitle,.cosmos-overview #focus-subtitle{font-size:12px}
dialog h2{font-size:22px}dialog p,dialog .translation{font-size:15px}
dialog .fine,dialog .empty,dialog summary{font-size:12px}
@media(max-width:400px){dialog h2{font-size:21px}}
#source h2:focus-visible{outline:none;text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:1px;text-underline-offset:5px}

/* Buya 22 Oct: keep the sky free from the search dock and duplicate actions. */
#space-directory{bottom:24px}#space-pages{bottom:24px}
.cosmos-on #focus-actions,#focus-actions{bottom:24px;left:24px}
#back-branch{background:transparent!important;border:0;color:var(--muted);padding:6px 0;font-size:12px!important}
#focus-heading #relation-tools{position:static;max-width:none;width:max-content;max-width:100%;margin:8px 0 0;padding:0;border:0;background:transparent;pointer-events:auto;font-size:11px}
#relation-tools label{min-height:36px}#show-candidates{width:18px;height:18px}
#relation-status{color:var(--muted)}
@container (max-width:650px){#space-directory{bottom:18px}.cosmos-on #focus-actions{bottom:18px;left:14px}}

/* Final controls use one text size; source titles and readings retain hierarchy. */
#space-breadcrumbs button,#space-breadcrumbs span,#space-controls button,#space-continuations button,
#space-directory summary,.space-directory-list button,#back-branch,
#focus-subtitle,#relation-tools,.node-label,.node-label small,.space-label small,
.dialog-top #reader-expand,.reading-tools,.reading-tools button,.reading-tools select{font-size:12px}
@media(max-width:1100px){.reader-open #universe .camera-tools button:nth-child(n+3){display:inline-flex;align-items:center;justify-content:center}}
#focus-heading #relation-tools{font-size:12px}
.source-link,.chunk-choice,dialog summary,dialog .fine,dialog .empty{font-size:12px}

#asteroid-belt{position:absolute;inset:0;pointer-events:none;z-index:2}.belt-rock{--asteroid-radius:2px;position:absolute;display:block;width:max(44px,calc(var(--asteroid-radius)*2));height:max(44px,calc(var(--asteroid-radius)*2));transform:translate(-50%,-50%);pointer-events:auto;color:#e9d6ad;text-decoration:none}.belt-rock:before{content:'';position:absolute;left:50%;top:50%;width:calc(var(--asteroid-radius)*2);height:calc(var(--asteroid-radius)*2);transform:translate(-50%,-50%) rotate(-14deg);background:radial-gradient(ellipse at 25% 20%,#a79679,#4b5052 55%,#1d2934);clip-path:polygon(12% 18%,42% 0,80% 9%,100% 46%,82% 89%,46% 100%,6% 76%,0 41%)}.belt-rock span{position:absolute;top:calc(50% + var(--asteroid-radius) + 7px);left:50%;transform:translateX(-50%);white-space:nowrap;font-size:11px;opacity:0;background:#07101ce8;padding:4px 7px;border-radius:4px}.belt-rock:hover span,.belt-rock:focus-visible span{opacity:1}.belt-rock:focus-visible{outline:1px solid #e9c985;outline-offset:2px;border-radius:50%}.asteroid-belt-link{position:absolute;right:26px;bottom:25px;z-index:4;color:#e9c985;background:#101c2de8;border:1px solid #2a3d54;border-radius:6px;padding:9px 12px;font:12px 'Open Sans',sans-serif;text-decoration:none}.asteroid-belt-link[hidden],#asteroid-belt[hidden],.belt-rock[hidden]{display:none}@media(max-width:700px){.asteroid-belt-link{right:14px;bottom:115px;font-size:11px}}
/* Public topic associations retain the base Semesta and its source fields. */
#asteroid-associations,#asteroid-sources{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
#asteroid-associations line{stroke:#8996ff;stroke-width:.65;stroke-opacity:.8;stroke-dasharray:none;stroke-linecap:round;fill:none}
#asteroid-catalog{position:absolute;right:24px;bottom:24px;z-index:8;width:min(360px,calc(100vw - 28px));max-height:65vh;overflow:auto;border:1px solid #33465a;border-radius:10px;background:#0a1422f5;color:#dce6ee;box-shadow:0 8px 30px #0005;font:13px 'Open Sans',sans-serif}
#asteroid-catalog summary{padding:13px 16px;cursor:pointer;color:#e9d6ad}
#asteroid-catalog[open]{padding:0 14px 14px}
#asteroid-catalog[open] summary{margin:0 -14px}
#asteroid-catalog form{display:flex;gap:6px}
#asteroid-catalog input{min-width:0;flex:1;background:#101f30;border:1px solid #43566b;border-radius:5px;color:inherit;padding:8px}
#asteroid-catalog button{min-height:44px;border:1px solid #33465a;border-radius:5px;background:#101e2d;color:inherit;padding:8px 10px;font:inherit;text-align:left;cursor:pointer}
#asteroid-catalog button:hover,#asteroid-catalog button[aria-pressed=true]{border-color:#d5b77c;background:#253142}
#asteroid-catalog button:focus-visible,#asteroid-catalog input:focus-visible{outline:2px solid #e9d6ad;outline-offset:2px}
#asteroid-catalog nav{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
#asteroid-catalog h2{font-size:17px;line-height:1.4}
#asteroid-catalog p{line-height:1.65;color:#b9c9d8}
#asteroid-catalog .asteroid-source-directory{display:grid;gap:5px;max-height:220px;overflow:auto;margin:12px 0}
.asteroid-source-point{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;pointer-events:auto;border:0;background:transparent;border-radius:50%;cursor:pointer}
.asteroid-source-point::before{content:'';position:absolute;inset:19px;border-radius:50%;background:#e2ebff;box-shadow:0 0 5px #9dbbff40}
.asteroid-source-point:focus-visible{outline:2px solid #e9d6ad}
.belt-rock{border:0;background:transparent;cursor:pointer;padding:0}
#asteroid-catalog[hidden],#asteroid-sources[hidden],#asteroid-associations[hidden],.asteroid-source-point[hidden]{display:none}
@media(max-width:700px){#asteroid-catalog{right:14px;bottom:82px;max-height:55vh}#asteroid-catalog[open]{max-height:62vh}}
#asteroid-catalog nav[hidden],#asteroid-catalog form[hidden]{display:none}
#asteroid-catalog.topic-selected{max-height:65vh}
.selected-asteroid span{opacity:1;font-size:13px;border:1px solid #806d4d;max-width:200px;white-space:normal;text-align:center}
.selected-asteroid::before{background:radial-gradient(ellipse at 25% 20%,#d6bd8b,#615c50 55%,#263241)}
@media(max-width:700px){#asteroid-catalog.topic-selected{max-height:43vh;bottom:70px}#asteroid-catalog .asteroid-source-directory{max-height:110px}#asteroid-catalog.topic-selected h2{margin-top:6px}}
#semesta-topic-rock-layer{position:absolute;inset:0;pointer-events:none;z-index:3}
#semesta-topic-rock-layer canvas{position:absolute;pointer-events:none}
#semesta-topic-rock-layer[hidden]{display:none}
.topic-has-3d .selected-asteroid::before{opacity:0}
#asteroid-belt .belt-rock span{pointer-events:none}
#asteroid-belt .belt-rock:hover span{opacity:0}
#asteroid-belt .belt-rock.belt-nearest span,#asteroid-belt .belt-rock:focus-visible span{opacity:1}
#theme-focus-toggle{position:absolute;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:9;min-height:48px;min-width:184px;max-width:calc(100% - 28px);padding:12px 24px;border:1px solid #eddbb5;border-radius:6px;background:#eddbb5;color:#101923;font:14px var(--font);cursor:pointer;box-shadow:0 3px 16px #0006}
#theme-focus-toggle:hover{background:#f5e7ca}
#theme-focus-toggle:focus-visible{outline:2px solid #e9d6ad;outline-offset:3px}
#theme-focus-toggle[hidden]{display:none}
#universe.theme-selected #asteroid-catalog{bottom:calc(88px + env(safe-area-inset-bottom,0px))}
.theme-focus-mode #cosmic-atmosphere{opacity:.3}
.theme-focus-mode .asteroid-source-point::before{display:none}
.theme-focus-label{position:absolute;box-sizing:border-box;width:180px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:normal;text-align:left;color:#dce7f0;padding:2px 4px;font:12px/16px var(--font)}
.belt-rock span,.theme-focus-label{background:transparent;border:0;border-radius:0;box-shadow:none;text-shadow:0 1px 2px #02060c;-webkit-text-stroke:.45px #02060c;paint-order:stroke fill}
.theme-focus-label[hidden]{display:none}
@media(max-width:700px){#universe.theme-selected #space-directory{bottom:calc(144px + env(safe-area-inset-bottom,0px))}.theme-focus-label{width:160px;font-size:11px;line-height:15px}}
/* Recorded source ↔ theme grouping, separate from scholarly graph edges. */
#node-theme-lines,#node-theme-rocks{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}
#node-theme-lines line{stroke:#8996ff;stroke-width:.65;stroke-opacity:.8;fill:none}
#node-theme-lines[hidden],#node-theme-rocks[hidden],#node-theme-panel[hidden],#theme-origin-return[hidden]{display:none}
.node-theme-rock span{width:140px;max-width:140px;white-space:normal;transform:none;text-align:left;opacity:1;font-size:12px}
.node-theme-rock span[hidden]{display:none}
#node-theme-panel{position:absolute;right:24px;bottom:88px;z-index:8;width:min(300px,calc(100% - 28px));max-height:40vh;overflow:auto;border:1px solid #33465a;border-radius:8px;background:#0a1422f5;padding:0 12px;color:#dce6ee;font:13px var(--font)}
#node-theme-panel summary{min-height:44px;padding:12px 0;color:#eddbb5;cursor:pointer}
#node-theme-panel button,.source-theme-choices button{min-height:44px;background:transparent;border:1px solid #43566b;border-radius:4px;padding:8px 10px;color:inherit;font:13px var(--font);text-align:left;cursor:pointer}
#node-theme-panel div>button{display:block;width:100%;margin:6px 0}
#node-theme-panel button:hover,.source-theme-choices button:hover{border-color:#eddbb5}
#node-theme-panel button:focus-visible,.source-theme-choices button:focus-visible{outline:2px solid #eddbb5;outline-offset:2px}
.source-theme-choices{display:flex;flex-wrap:wrap;gap:8px;max-height:200px;overflow:auto}.source-theme-choices p,.source-theme-choices nav{width:100%}
#source-related-themes{border-top:1px solid #43566b;margin-top:24px;padding-top:12px}
#source-related-themes h3{font:16px var(--font);color:#eddbb5}
#theme-origin-return{position:absolute;left:24px;z-index:9;min-height:44px;padding:6px 0;border:0;background:transparent;color:#eddbb5;text-shadow:0 1px 2px #02060c;-webkit-text-stroke:.4px #02060c;paint-order:stroke fill;font:13px var(--font);cursor:pointer}
#theme-origin-return:focus-visible{outline:2px solid #eddbb5;outline-offset:3px}
@media(max-width:700px){#node-theme-panel{right:14px;bottom:76px;max-height:30vh}#theme-origin-return{left:16px}}
