/* site/ui/record-rail.css */
/* The right rail reads as one archival publication, with calm typography and spacing. */
body.sbui #sidebar.sidebar{box-sizing:border-box;--sb-rail-bg:#141817;--sb-rail-bg2:#1d2421;--sb-rail-text:#f0e9dc;--sb-rail-muted:#b8bdb2;--sb-rail-gold:#cdb582;--sb-rail-line:#cdb58226;background:linear-gradient(145deg,#202722,#131816 60%)!important;border-left:1px solid #cdb58238!important;box-shadow:-14px 0 44px #0003!important}
body.sbui #sidebar #panelBody{line-height:1.7;overflow-wrap:anywhere}
body.sbui #sidebar #panelBody :is(.sb-dossier-title,.sb-region-title,.sb-cycle-title){font-family:Georgia,'Times New Roman',serif!important;font-weight:400!important;letter-spacing:-.025em!important;line-height:1.12!important}
body.sbui #sidebar #panelBody :is(.sb-dossier-section,.sb-region-section){border-radius:2px!important;box-shadow:none!important}
body.sbui #sidebar #panelBody :is(.sb-dossier-summary,.sb-region-summary){font-size:14px!important;line-height:1.8!important}
body.sbui #sidebar #panelBody :is(.sb-dossier-section-title,.sb-region-section-title){letter-spacing:.13em!important;font-size:10px!important}
body.sbui #sidebar #panelBody :is(.sb-dossier-link-card,.sb-region-link-card){border-radius:4px!important;padding:13px!important;background:#ffffff03!important}
body.sbui #sidebar #panelBody .character-record{--record-text:var(--sb-rail-text,#f0e9dc);--record-muted:var(--sb-rail-muted,#b8bdb2);--record-gold:var(--sb-rail-gold,#cdb582);--record-line:var(--sb-rail-line,#cdb58226);display:block!important;margin:0!important;padding:0 24px 24px!important;color:var(--record-text)!important;font:14px/1.75 system-ui,sans-serif;min-width:0}
.character-record *{box-sizing:border-box}
.character-record .record-cover{margin:0 -24px 26px;padding:22px 24px 26px;background:radial-gradient(ellipse at 0 0,#b6a16b12,transparent 70%);border-bottom:1px solid var(--record-line)}
.record-register{display:flex;flex-direction:column;gap:4px;font:9px/1.6 ui-monospace,monospace;letter-spacing:.11em;color:var(--record-gold);margin-bottom:20px}.record-register span:last-child{opacity:.6;text-transform:uppercase;font-size:8px}
.record-portrait{margin:0 0 23px;position:relative;padding:7px;border:1px solid var(--record-line);background:#060b0933;box-shadow:0 12px 28px #0002}
.record-portrait img{display:block;width:100%;aspect-ratio:1;object-fit:cover;object-position:center 28%;border-radius:0;cursor:zoom-in}
.record-portrait figcaption{padding:9px 2px 2px;font:8px/1.6 ui-monospace,monospace;letter-spacing:.10em;color:var(--record-muted)}
.record-monogram{height:150px;border:1px solid var(--record-line);display:grid;place-items:center;color:var(--record-gold);font:62px Georgia,serif;margin-bottom:20px;background:repeating-linear-gradient(135deg,transparent 0 14px,#cdb58204 14px 15px)}
.record-eyebrow{font:9px ui-monospace,monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--record-gold)}
.record-title h2{font:400 clamp(32px,3vw,42px)/1.06 Georgia,serif;letter-spacing:-.03em;margin:10px 0 17px;color:var(--record-text)}
.record-cycles{display:flex;gap:6px;flex-wrap:wrap}.record-cycles span{padding:4px 8px;border:1px solid var(--record-line);color:var(--record-gold);font:9px/1.5 ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase}
.record-section{padding:0;margin:0 0 27px}.record-section>header{display:flex;gap:10px;align-items:center;margin:0 0 13px}.record-section>header>span{font:10px ui-monospace,monospace;color:var(--record-gold);opacity:.7}.record-section h3{font:400 21px/1.2 Georgia,serif;color:var(--record-text);margin:0}.record-section>header:after{content:'';height:1px;background:var(--record-line);flex:1;margin-left:4px}
.record-prose p{margin:0 0 15px;color:var(--record-muted);font:14px/1.85 system-ui,sans-serif}.record-prose p:last-child{margin-bottom:0}.record-lede p{color:var(--record-text);font:17px/1.65 Georgia,serif}.record-biography .record-prose{padding-left:12px;border-left:1px solid var(--record-line)}
.record-facts{margin:0 0 30px;display:grid;gap:0;border-top:1px solid var(--record-line);border-bottom:1px solid var(--record-line)}.record-facts>div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;padding:12px 0;border-bottom:1px solid var(--record-line)}.record-facts>div:last-child{border:0}.record-facts dt{font:9px/1.6 ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--record-gold)}.record-facts dd{margin:0;font:12px/1.65 system-ui,sans-serif;color:var(--record-text)}
.record-places{display:grid;gap:7px}.record-place{width:100%;display:grid;grid-template-columns:22px minmax(0,1fr) 14px;gap:10px;align-items:center;text-align:left;padding:14px 11px;border:1px solid var(--record-line);border-radius:3px;background:#cdb58205;color:var(--record-text);font:inherit;cursor:pointer;transition:background .18s,border-color .18s,transform .18s}.record-place strong{display:block;font:500 13px/1.45 system-ui,sans-serif}.record-place small{display:block;margin-top:5px;font:10px/1.5 system-ui,sans-serif;color:var(--record-muted)}.record-place-number{color:var(--record-gold);font:10px ui-monospace,monospace}.record-place>span:last-child{color:var(--record-gold)}.record-place:hover{background:#cdb58215;border-color:var(--record-gold);transform:translateX(2px)}.record-place.is-unmapped{cursor:default;opacity:.65}.record-place:focus-visible,.record-document:focus-visible{outline:2px solid var(--record-gold);outline-offset:3px}
.record-route{margin:28px 0;padding:18px 0;border-top:1px solid var(--record-line);border-bottom:1px solid var(--record-line)}.record-route-label>span{color:var(--record-gold);font:9px ui-monospace,monospace;letter-spacing:.18em}.record-route-label p{color:var(--record-muted);font-size:12px;line-height:1.7;margin:8px 0}
body.sbui #sidebar #panelBody .character-record .char-route-native{margin:16px 0 0!important;border:1px solid var(--record-line)!important;border-radius:3px!important;background:#0000000a!important;box-shadow:none!important}
body.sbui #sidebar #panelBody .character-record .char-route-native-head{padding:15px!important;display:block!important;background:none!important}.character-record .char-route-pill{margin-top:9px;white-space:normal}.character-record .char-route-title{font:400 19px/1.4 Georgia,serif;color:var(--record-text)}.character-record .char-route-preview,.character-record .char-route-progress,.character-record .char-route-stop-meta{color:var(--record-muted)}
body.sbui #sidebar #panelBody .character-record .char-route-native-body{padding:15px!important}.character-record .char-route-stops{position:relative;border-left:1px solid var(--record-line);padding-left:12px}.character-record .char-route-stop{position:relative;box-shadow:none!important}.character-record .char-route-stop:before{content:'';position:absolute;left:-17px;top:20px;width:7px;height:7px;background:var(--record-gold);border-radius:50%}.character-record .char-route-stop-title{color:var(--record-text)}.character-record .char-route-btn{min-height:38px;white-space:normal;border-radius:3px;color:var(--record-text);border-color:var(--record-line)}
.record-documents{display:grid;gap:6px}.record-document{display:flex;width:100%;justify-content:space-between;gap:12px;text-align:left;padding:13px 0;background:none;border:0;border-bottom:1px solid var(--record-line);color:var(--record-text);font:13px/1.5 system-ui,sans-serif;cursor:pointer}.record-document>span:last-child{color:var(--record-gold)}.record-notes{background:#cdb58208;padding:16px;border-left:2px solid var(--record-gold)}.record-notes p{font:italic 14px/1.7 Georgia,serif}.record-muted{color:var(--record-muted);font-size:12px}
.record-gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px}.record-gallery figure{margin:0}.record-gallery button{border:1px solid var(--record-line);padding:3px;background:none;display:block;width:100%;cursor:zoom-in}.record-gallery img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.record-gallery figcaption{font:10px/1.6 system-ui,sans-serif;color:var(--record-muted);margin-top:6px}
.record-colophon{display:flex;flex-direction:column;gap:5px;padding-top:17px;border-top:1px solid var(--record-line);font:9px/1.6 ui-monospace,monospace;letter-spacing:.12em;color:var(--record-gold)}.record-colophon span{font-size:8px;color:var(--record-muted)}
html[data-theme=light] body.sbui #sidebar.sidebar{--sb-rail-bg:#f4efe5;--sb-rail-bg2:#fffaf1;--sb-rail-text:#282c26;--sb-rail-muted:#596050;--sb-rail-gold:#806638;--sb-rail-line:#80663830;background:linear-gradient(145deg,#fffaf1,#f4efe5)!important;border-color:#80663830!important;box-shadow:-12px 0 40px #4a392014!important}
html[data-theme=light] .character-record .record-portrait{background:#fffaf1}html[data-theme=light] .character-record .char-route-btn{background:#fff8eb}
@media(max-width:600px){body.sbui #sidebar #panelBody .character-record{padding:0 19px 24px!important}.character-record .record-cover{margin-left:-19px;margin-right:-19px;padding:20px 19px}.record-title h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){.record-place{transition:none}.record-place:hover{transform:none}}

.record-route-itinerary{margin-top:15px}.record-route-itinerary>summary{cursor:pointer;color:var(--record-gold);font:11px/1.6 system-ui,sans-serif;padding:9px 0;border-top:1px solid var(--record-line)}
.record-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.record-observations{padding:0 0 0 18px;margin:12px 0;color:var(--record-text);line-height:1.85}.record-observations li{padding:3px 0 6px 4px}.record-observations li::marker{color:var(--record-gold)}.record-section>.record-place{margin:9px 0;width:100%}

.record-place.record-reference{grid-template-columns:minmax(0,1fr) 14px}.record-reference.is-unmapped{grid-template-columns:minmax(0,1fr)}.record-actions button{padding:9px 13px;border:1px solid var(--record-line);border-radius:3px;background:transparent;color:var(--record-gold);font:11px/1.4 system-ui,sans-serif;cursor:pointer}.record-actions button:hover{background:#cdb58215}.record-actions button:focus-visible{outline:2px solid var(--record-gold);outline-offset:3px}
/* Shared place records: editorial spacing, quiet metadata, secondary atmosphere. */
body.sbui #sidebar .record-metadata{margin:14px 18px;border-block:1px solid var(--sb-rail-line);padding:10px 0}
.record-metadata>summary,.record-atmosphere>summary{cursor:pointer;color:var(--sb-rail-muted);font:12px/1.6 system-ui,sans-serif;letter-spacing:.035em;padding:8px 0}
.record-metadata>summary:focus-visible,.record-atmosphere>summary:focus-visible{outline:2px solid var(--sb-rail-gold);outline-offset:3px}
body.sbui #sidebar .record-metadata .sb-dossier-meta-grid{margin:12px 0!important}
body.sbui #sidebar .record-atmosphere{margin:12px 18px 22px;padding:10px 0;border-top:1px solid var(--sb-rail-line)}
body.sbui #sidebar .record-atmosphere :is(#sbRuptureHUD,#bmKeepingLaunch){margin:8px 0!important;width:100%!important;box-sizing:border-box}
body.sbui #sidebar :is(.sb-dossier--landmark,.sb-region-dossier){color:var(--sb-rail-text)}
body.sbui #sidebar :is(.sb-dossier--landmark .sb-dossier-hero,.sb-region-hero){background:transparent!important;border-radius:0!important;box-shadow:none!important;padding:26px 22px!important}
body.sbui #sidebar :is(.sb-dossier-copy,.sb-region-note){font-size:15px!important;line-height:1.85!important}
body.sbui #sidebar :is(.sb-dossier-section,.sb-region-shell){margin:16px 18px!important;padding:18px 0!important;background:transparent!important;border:0!important;border-top:1px solid var(--sb-rail-line)!important}
body.sbui #sidebar :is(.sb-dossier-kicker,.sb-region-kicker,.sb-dossier-section-title){font-size:10px!important;color:var(--sb-rail-gold)!important}
body.sbui #sidebar .sb-dossier-title,body.sbui #sidebar .sb-region-title{font-size:30px!important;line-height:1.16!important}
body.sbui #sidebar #panelActionsRail{position:static!important;border-top:1px solid var(--sb-rail-line)!important}
body.sbui #sidebar #panelActionsRail.sb-actions-relocated{display:none!important}

/* Landmark hierarchy: identity first, then useful controls, then the full record. */
body.sbui #sidebar .landmark-controls-dock{
  margin:0 18px 6px;
  padding:14px 0 16px;
  border-bottom:1px solid var(--sb-rail-line);
}
body.sbui #sidebar .landmark-controls-dock[hidden]{display:none!important}
body.sbui #sidebar .landmark-controls-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin:0 0 10px;
}
body.sbui #sidebar .landmark-controls-head>span{
  color:var(--sb-rail-gold);
  font:800 9px/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.16em;
  text-transform:uppercase;
}
body.sbui #sidebar .landmark-controls-head>small{
  color:var(--sb-rail-muted);
  font:10px/1.45 system-ui,sans-serif;
  text-align:right;
}
body.sbui #sidebar .landmark-controls-dock>.panel-actions{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:6px!important;
  margin:0!important;
  padding:0!important;
}
body.sbui #sidebar .landmark-controls-dock>.panel-actions :is(button,a){
  min-width:0!important;
  min-height:36px!important;
  margin:0!important;
  padding:7px 5px!important;
  border-radius:4px!important;
  white-space:nowrap!important;
  font-size:9.5px!important;
  letter-spacing:-.01em!important;
  text-align:center!important;
}
body.sbui #sidebar .landmark-controls-dock>.panel-actions #radioBtn,
body.sbui #sidebar .landmark-controls-dock>.panel-actions #streetViewBtn{
  grid-column:1/-1!important;
}
body.sbui #sidebar .landmark-controls-dock>.panel-actions :is(#openArchiveBtn,#starBtn,#pinBtn){
  grid-row:auto!important;
}
body.sbui #sidebar .record-atmosphere--landmark{
  margin-top:18px;
  padding-top:0;
  border:1px solid color-mix(in srgb,var(--sb-rail-gold) 20%,transparent);
  border-radius:4px;
  background:color-mix(in srgb,var(--sb-rail-bg2) 72%,transparent);
  overflow:hidden;
}
body.sbui #sidebar .record-atmosphere--landmark>summary{
  list-style:none;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:12px 13px;
  color:var(--sb-rail-text);
}
body.sbui #sidebar .record-atmosphere--landmark>summary::-webkit-details-marker{display:none}
body.sbui #sidebar .record-atmosphere--landmark>summary::after{
  content:"+";
  color:var(--sb-rail-gold);
  font:18px/1 Georgia,serif;
}
body.sbui #sidebar .record-atmosphere--landmark[open]>summary::after{content:"−"}
body.sbui #sidebar .record-atmosphere-title{
  color:var(--sb-rail-gold);
  font:800 9px/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.16em;
  text-transform:uppercase;
}
body.sbui #sidebar .record-atmosphere-sub{
  color:var(--sb-rail-muted);
  font:10px/1.35 system-ui,sans-serif;
  text-align:right;
}
body.sbui #sidebar .record-atmosphere--landmark :is(#sbRuptureHUD,#bmKeepingLaunch){
  width:calc(100% - 24px)!important;
  margin:0 12px 10px!important;
}
body.sbui #sidebar .record-atmosphere--landmark #sbRuptureHUD{margin-top:2px!important}

/* Related reading: treat linked documents like archival records, not generic search results. */
body.sbui #sidebar .sb-related-reading{
  padding-bottom:8px!important;
}
body.sbui #sidebar .sb-related-reading-intro{
  margin:-2px 0 14px;
  color:var(--sb-rail-muted);
  font:13px/1.65 Georgia,"Times New Roman",serif;
}
body.sbui #sidebar .sb-related-reading-search{
  display:grid;
  gap:6px;
  margin:0 0 12px;
}
body.sbui #sidebar .sb-related-reading-search>span{
  color:var(--sb-rail-gold);
  font:800 8px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.16em;
  text-transform:uppercase;
}
body.sbui #sidebar .sb-related-reading-search .search{
  width:100%!important;
  min-height:38px!important;
  margin:0!important;
  padding:9px 11px!important;
  border:1px solid color-mix(in srgb,var(--sb-rail-gold) 18%,transparent)!important;
  border-radius:4px!important;
  background:color-mix(in srgb,var(--sb-rail-bg2) 72%,transparent)!important;
  color:var(--sb-rail-text)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.02)!important;
  font:11.5px/1.3 system-ui,sans-serif!important;
}
body.sbui #sidebar .sb-related-reading-search .search::placeholder{color:color-mix(in srgb,var(--sb-rail-muted) 74%,transparent)}
body.sbui #sidebar .sb-related-reading-list{
  display:grid;
  gap:7px;
}
body.sbui #sidebar .sb-related-record{
  display:grid;
  grid-template-columns:24px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  margin:0!important;
  padding:11px 10px!important;
  border:1px solid color-mix(in srgb,var(--sb-rail-gold) 11%,transparent);
  border-radius:4px;
  background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(255,255,255,.008));
  transition:border-color .16s ease,background .16s ease,transform .16s ease;
}
body.sbui #sidebar .sb-related-record:hover{
  transform:translateX(2px);
  border-color:color-mix(in srgb,var(--sb-rail-gold) 26%,transparent);
  background:color-mix(in srgb,var(--sb-rail-gold) 5%,transparent);
}
body.sbui #sidebar .sb-related-record-index{
  align-self:start;
  padding-top:2px;
  color:var(--sb-rail-gold);
  font:800 8px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.08em;
  opacity:.72;
}
body.sbui #sidebar .sb-related-record-copy{min-width:0}
body.sbui #sidebar .sb-related-record-title{
  color:var(--sb-rail-text);
  font:500 13.5px/1.35 Georgia,"Times New Roman",serif;
}
body.sbui #sidebar .sb-related-record-meta{
  margin-top:5px;
  color:var(--sb-rail-gold);
  font:700 7.5px/1.35 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.1em;
  text-transform:uppercase;
  opacity:.76;
}
body.sbui #sidebar .sb-related-record-note{
  margin-top:5px;
  color:var(--sb-rail-muted);
  font:10.5px/1.5 system-ui,sans-serif;
}
body.sbui #sidebar .sb-related-open{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 9px;
  border:1px solid color-mix(in srgb,var(--sb-rail-gold) 30%,transparent);
  border-radius:3px;
  background:transparent;
  color:var(--sb-rail-gold);
  cursor:pointer;
  font:800 8px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.11em;
  text-transform:uppercase;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}
body.sbui #sidebar .sb-related-open:hover,
body.sbui #sidebar .sb-related-open:focus-visible{
  border-color:var(--sb-rail-gold);
  background:color-mix(in srgb,var(--sb-rail-gold) 10%,transparent);
  color:var(--sb-rail-text);
}
html[data-theme="light"] body.sbui #sidebar .sb-related-record{background:rgba(255,255,255,.56);border-color:rgba(121,91,43,.11)}
html[data-theme="light"] body.sbui #sidebar .sb-related-reading-search .search{background:rgba(255,255,255,.68)!important}
#sbuiDrawerContent .collection-loading{padding:14px;border:1px solid #cdb58255;color:inherit;font-size:14px;line-height:1.6}
@media(max-width:600px){body.sbui #sidebar :is(.sb-dossier-title,.sb-region-title){font-size:27px!important}.record-metadata>summary,.record-atmosphere>summary{min-height:44px;display:list-item;padding:12px 0}}

/* Discovery and investigation share the archival typography. */
.directory-count{font:11px/1.6 system-ui,sans-serif;opacity:.75;margin:12px 0}
.directory-group{border-top:1px solid #cdb58230;margin:8px 0;padding-top:4px}
.directory-group>summary{cursor:pointer;padding:15px 8px;font:13px/1.5 Georgia,serif;letter-spacing:.025em;color:inherit}
.directory-group .sbui-choice{margin:0 0 0 8px!important;padding:13px 12px!important;border-bottom:1px solid #cdb58218!important}
.directory-group>summary:focus-visible,.caseboard-start button:focus-visible{outline:2px solid #cdb582;outline-offset:2px}
.caseboard-start{grid-column:1/-1;margin:16px;padding:22px;border:1px solid #cdb58244;border-radius:5px;background:#1c2229;color:#eee8dd}
.caseboard-start[hidden]{display:none!important}.caseboard-start h3{font:normal 25px/1.25 Georgia,serif;margin:10px 0 8px}.caseboard-start-lede{max-width:700px;margin:0 0 18px;color:#c7c9c7;font:13px/1.7 system-ui,sans-serif}.caseboard-start ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding-left:20px}.caseboard-start li{padding-left:4px}.caseboard-start li::marker{color:#cdb582}.caseboard-start strong{display:block;font-size:13px}.caseboard-start li span{display:block;color:#c3c5c7;font:12px/1.7 system-ui,sans-serif;margin-top:6px}.caseboard-start button{border:1px solid #cdb58288;background:transparent;color:#e6d3aa;padding:12px 16px;border-radius:3px;cursor:pointer;min-height:44px}
html[data-theme="light"] .caseboard-start{background:#f4efe5;color:#27332e}html[data-theme="light"] .caseboard-start-lede,html[data-theme="light"] .caseboard-start li span{color:#53605a}html[data-theme="light"] .caseboard-start button{color:#5e4724}
body.sbui :is(.sbui-top-tools button,.sbui-sheet-toolbar button,#sbuiWorkspaceTabs button){min-height:44px}
body.sbui #map .leaflet-marker-icon:focus-visible{outline:3px solid #f2d58b;outline-offset:4px;border-radius:50%}
@media(max-width:700px){.caseboard-start{padding:18px;margin:10px}.caseboard-start ol{grid-template-columns:1fr;gap:14px}.directory-group>summary{min-height:44px}.directory-group .sbui-choice{min-height:48px}.caseboard-start h3{font-size:22px}}


/* Accessibility pass: readable utility text and one dependable keyboard focus language. */
body.sbui #sidebar :is(
  .record-register,
  .record-register span,
  .record-portrait figcaption,
  .record-eyebrow,
  .record-cycles span,
  .record-facts dt,
  .record-route-label>span,
  .record-colophon,
  .record-colophon span,
  .landmark-controls-head>span,
  .record-atmosphere-title,
  .sb-related-record-meta,
  .sb-related-open
){
  font-size:10px!important;
}
body.sbui #sidebar .record-register span:last-child{opacity:.78}
body.sbui #sidebar .sb-related-record-meta{opacity:.88}
body.sbui #sidebar :is(button,a[href],input,select,textarea,summary,[tabindex]:not([tabindex="-1"])):focus-visible{
  outline:2px solid var(--sb-rail-gold,#cdb582)!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 1px var(--sb-rail-bg,#141817)!important;
}
body.sbui #map :is(.leaflet-marker-icon,.region-bubble,[role="button"]):focus-visible{
  outline:3px solid #f2d58b!important;
  outline-offset:4px!important;
  border-radius:4px;
}
html[data-theme="light"] body.sbui #map :is(.leaflet-marker-icon,.region-bubble,[role="button"]):focus-visible{
  outline-color:#6b5126!important;
}
@media (prefers-contrast:more){
  body.sbui #sidebar{--sb-rail-muted:#d4d8cf;--sb-rail-line:#cdb58255}
  body.sbui #sidebar :is(.record-register span:last-child,.sb-related-record-meta){opacity:1}
}


/* Homepage rail: observance now lives with the municipal population record. */
body.sbui #sidebar .home-dossier .record-atmosphere--home{
  margin:14px 0 2px!important;
  padding:0!important;
  border:1px solid color-mix(in srgb,var(--sb-rail-gold) 18%,var(--sb-rail-line))!important;
  border-radius:5px!important;
  background:linear-gradient(155deg,color-mix(in srgb,var(--sb-rail-bg2) 86%,transparent),color-mix(in srgb,var(--sb-rail-bg) 92%,transparent))!important;
  overflow:hidden!important;
  box-shadow:inset 0 1px rgba(255,255,255,.018)!important;
}
body.sbui #sidebar .home-dossier .record-atmosphere--home>summary{
  list-style:none!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:10px!important;
  align-items:center!important;
  padding:11px 12px 9px!important;
  border-bottom:1px solid color-mix(in srgb,var(--sb-rail-line) 80%,transparent)!important;
  color:var(--sb-rail-text)!important;
  cursor:default!important;
}
body.sbui #sidebar .home-dossier .record-atmosphere--home>summary::-webkit-details-marker{display:none!important}
body.sbui #sidebar .home-dossier .record-atmosphere--home>summary::marker{content:""}
body.sbui #sidebar .home-dossier .record-atmosphere--home :is(#sbRuptureHUD,#bmKeepingLaunch){
  width:calc(100% - 20px)!important;
  margin:10px 10px 0!important;
  box-sizing:border-box!important;
}
body.sbui #sidebar .home-dossier .record-atmosphere--home #bmKeepingLaunch{
  margin-bottom:10px!important;
}

/* Favorites: use the same civic green / parchment / brass language as the rail. */
body.sbui #sidebar .sb-favorites-panel{
  margin:14px 18px 2px!important;
  padding:11px 12px 9px!important;
  border-top:1px solid var(--sb-rail-line)!important;
  background:transparent!important;
}
body.sbui #sidebar .sb-favorites-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin:0 0 10px!important;
}
body.sbui #sidebar .sb-favorites-kicker{
  display:block!important;
  margin-bottom:4px!important;
  color:color-mix(in srgb,var(--sb-rail-gold) 78%,var(--sb-rail-muted))!important;
  font:800 8px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;
  letter-spacing:.17em!important;
}
body.sbui #sidebar #sbFavoritesTitle{
  margin:0!important;
  color:var(--sb-rail-text)!important;
  font:400 20px/1.15 Georgia,"Times New Roman",serif!important;
  letter-spacing:.01em!important;
  text-transform:none!important;
}
body.sbui #sidebar .sb-favorites-count{
  min-width:27px!important;
  height:27px!important;
  display:grid!important;
  place-items:center!important;
  padding:0 7px!important;
  border:1px solid color-mix(in srgb,var(--sb-rail-gold) 24%,var(--sb-rail-line))!important;
  border-radius:999px!important;
  background:color-mix(in srgb,var(--sb-rail-gold) 7%,var(--sb-rail-bg2))!important;
  color:var(--sb-rail-gold)!important;
  font:800 9px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;
}
body.sbui #sidebar .sb-favorites-list{
  display:grid!important;
  gap:7px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
body.sbui #sidebar .sb-favorite-row{
  margin:0!important;
  padding:0!important;
  list-style:none!important;
  background:transparent!important;
}
body.sbui #sidebar .sb-favorite-row .favlink{
  appearance:none!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:22px minmax(0,1fr) 16px!important;
  gap:9px!important;
  align-items:center!important;
  margin:0!important;
  padding:10px 11px!important;
  border:1px solid color-mix(in srgb,var(--sb-rail-gold) 12%,var(--sb-rail-line))!important;
  border-radius:4px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.026),rgba(255,255,255,.008))!important;
  color:var(--sb-rail-text)!important;
  box-shadow:none!important;
  text-align:left!important;
  cursor:pointer!important;
  transition:border-color .16s ease,background .16s ease,transform .16s ease!important;
}
body.sbui #sidebar .sb-favorite-row .favlink:hover,
body.sbui #sidebar .sb-favorite-row .favlink:focus-visible{
  transform:translateX(2px)!important;
  border-color:color-mix(in srgb,var(--sb-rail-gold) 30%,var(--sb-rail-line))!important;
  background:color-mix(in srgb,var(--sb-rail-gold) 5%,var(--sb-rail-bg2))!important;
  outline:none!important;
}
body.sbui #sidebar .sb-favorite-star,
body.sbui #sidebar .sb-favorite-arrow{
  color:var(--sb-rail-gold)!important;
}
body.sbui #sidebar .sb-favorite-copy{
  min-width:0!important;
  display:grid!important;
  gap:3px!important;
}
body.sbui #sidebar .sb-favorite-copy strong{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  color:var(--sb-rail-text)!important;
  font:500 13.5px/1.3 Georgia,"Times New Roman",serif!important;
}
body.sbui #sidebar .sb-favorite-copy small{
  color:var(--sb-rail-muted)!important;
  font:700 8px/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
body.sbui #sidebar .sb-favorites-empty{
  display:grid!important;
  grid-template-columns:22px minmax(0,1fr)!important;
  gap:9px!important;
  align-items:start!important;
  margin:0!important;
  padding:11px!important;
  border:1px solid var(--sb-rail-line)!important;
  border-radius:4px!important;
  background:rgba(255,255,255,.014)!important;
  color:var(--sb-rail-muted)!important;
  list-style:none!important;
}
body.sbui #sidebar .sb-favorites-empty>span{color:var(--sb-rail-gold)!important}
body.sbui #sidebar .sb-favorites-empty strong{
  display:block!important;
  margin-bottom:3px!important;
  color:var(--sb-rail-text)!important;
  font:500 13px/1.3 Georgia,"Times New Roman",serif!important;
}
body.sbui #sidebar .sb-favorites-empty small{
  display:block!important;
  color:var(--sb-rail-muted)!important;
  font:11px/1.5 system-ui,sans-serif!important;
}

/* Final rail destination: creator record. */
body.sbui #sidebar .sb-architect-rail-link{
  position:relative!important;
  display:grid!important;
  gap:5px!important;
  margin:14px 18px 2px!important;
  padding:11px 38px 9px 12px!important;
  border:1px solid color-mix(in srgb,var(--sb-rail-gold) 20%,var(--sb-rail-line))!important;
  border-radius:5px!important;
  background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--sb-rail-gold) 9%,transparent),transparent 42%),linear-gradient(155deg,rgba(255,255,255,.025),rgba(255,255,255,.006))!important;
  color:var(--sb-rail-text)!important;
  text-decoration:none!important;
  box-shadow:none!important;
  transition:border-color .18s ease,background .18s ease,transform .18s ease!important;
}
body.sbui #sidebar .sb-architect-rail-link::after{
  content:"→";
  position:absolute;
  right:15px;
  top:50%;
  transform:translateY(-50%);
  color:var(--sb-rail-gold);
  font:20px/1 Georgia,serif;
}
body.sbui #sidebar .sb-architect-rail-link:hover,
body.sbui #sidebar .sb-architect-rail-link:focus-visible{
  transform:translateY(-1px)!important;
  border-color:color-mix(in srgb,var(--sb-rail-gold) 38%,var(--sb-rail-line))!important;
  background:color-mix(in srgb,var(--sb-rail-gold) 5%,var(--sb-rail-bg2))!important;
  outline:none!important;
}
body.sbui #sidebar .sb-architect-rail-kicker{
  color:var(--sb-rail-gold)!important;
  font:800 8px/1.25 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;
  letter-spacing:.17em!important;
}
body.sbui #sidebar .sb-architect-rail-title{
  color:var(--sb-rail-text)!important;
  font:400 18px/1.2 Georgia,"Times New Roman",serif!important;
}
body.sbui #sidebar .sb-architect-rail-copy{
  max-width:29ch!important;
  color:var(--sb-rail-muted)!important;
  font:11px/1.5 system-ui,sans-serif!important;
}
body.sbui #sidebar .sb-architect-rail-action{
  margin-top:3px!important;
  color:color-mix(in srgb,var(--sb-rail-gold) 82%,var(--sb-rail-text))!important;
  font:800 8px/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}

/* Character bibliography: First appearance remains in facts; Appears in follows it. */
.character-record .record-appearances{margin:-12px 0 30px;padding:14px 0 0;border-top:1px solid var(--record-line)}
.record-appearances-head{display:flex;justify-content:space-between;gap:14px;align-items:baseline;margin:0 0 10px}
.record-appearances-head>span{color:var(--record-gold);font:800 9px/1.4 ui-monospace,monospace;letter-spacing:.16em}
.record-appearances-head p{margin:0;color:var(--record-muted);font:10px/1.5 system-ui,sans-serif;text-align:right}
.record-appearance-list{display:grid;gap:7px}
.record-appearance{width:100%;display:grid;grid-template-columns:24px minmax(0,1fr) 16px;gap:10px;align-items:center;text-align:left;padding:12px 11px;border:1px solid var(--record-line);border-radius:3px;background:#cdb58205;color:var(--record-text);font:inherit;text-decoration:none;cursor:pointer;transition:background .18s,border-color .18s,transform .18s}
button.record-appearance{appearance:none}
.record-appearance:hover,.record-appearance:focus-visible{background:#cdb58215;border-color:var(--record-gold);transform:translateX(2px);outline:none}
.record-appearance:focus-visible{outline:2px solid var(--record-gold);outline-offset:3px}
.record-appearance-number{color:var(--record-gold);font:10px/1 ui-monospace,monospace}
.record-appearance-copy{min-width:0;display:grid;gap:4px}
.record-appearance-copy strong{color:var(--record-text);font:500 13px/1.4 Georgia,serif;white-space:normal}
.record-appearance-copy small{color:var(--record-muted);font:9px/1.45 ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase}
.record-appearance>span:last-child{color:var(--record-gold)}
.record-appearance.is-unavailable{cursor:default;opacity:.68}
.record-appearance.is-unavailable:hover{transform:none;background:#cdb58205;border-color:var(--record-line)}

/* Connection handles stay fully inside the card and clear of the header copy. */
#caseboardCanvas .cb-node .cb-connector{top:10px!important;left:12px!important;right:auto!important;width:28px!important;height:28px!important;box-sizing:border-box;box-shadow:0 0 0 3px rgba(0,0,0,.16)!important;touch-action:none}
#caseboardCanvas .cb-node .cb-connector::after{inset:8px!important;pointer-events:none}
#caseboardCanvas .cb-node .cb-connector:hover{box-shadow:0 0 0 5px rgba(240,80,90,.12)!important}
#caseboardCanvas .cb-node .cb-node-head{padding-left:32px}
.record-documents .record-reference{min-width:0}
.record-documents .record-reference>span:first-child{min-width:0;overflow-wrap:anywhere}

/* site/ui/visual-system.css */
/* St. Brielle shared visual language.
   Section identity survives through accent variables; chrome stays consistent. */
:root{
  --sb-vs-bg:#141817;
  --sb-vs-panel:#1d2421;
  --sb-vs-panel-2:#252d29;
  --sb-vs-paper:#f0e9dc;
  --sb-vs-muted:#aeb7af;
  --sb-vs-gold:#cdb582;
  --sb-vs-line:rgba(205,181,130,.18);
  --sb-vs-radius:4px;
  --sb-vs-radius-lg:6px;
  --sb-vs-shadow:0 18px 60px rgba(0,0,0,.28);
  --sb-vs-serif:Georgia,"Times New Roman",serif;
  --sb-vs-sans:system-ui,-apple-system,"Segoe UI",sans-serif;
  --sb-vs-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
html[data-theme="light"]{
  --sb-vs-bg:#f4efe5;
  --sb-vs-panel:#fffaf1;
  --sb-vs-panel-2:#eee7da;
  --sb-vs-paper:#282c26;
  --sb-vs-muted:#596050;
  --sb-vs-gold:#806638;
  --sb-vs-line:rgba(128,102,56,.20);
  --sb-vs-shadow:0 18px 55px rgba(74,57,32,.12);
}

/* Shared chrome */
body.sbui :is(#sidebar,#archivePanel,#caseboardPanel,#sbuiDrawer,.char-rail){
  border-color:var(--sb-vs-line)!important;
  box-shadow:var(--sb-vs-shadow)!important;
}
body.sbui :is(#sidebar,#archivePanel,#caseboardPanel,#sbuiDrawer) :is(button,.btn,.action,input,select,textarea){
  border-radius:var(--sb-vs-radius)!important;
}
body.sbui :is(#archivePanel,#caseboardPanel,#sbuiDrawer,.char-rail) :is(button,.btn,.action){
  font-family:var(--sb-vs-sans)!important;
}
body.sbui :is(#archivePanel,#caseboardPanel,#sbuiDrawer,.char-rail) :is(h1,h2,h3,.archive-title,.caseboard-title,.sbui-drawer-head h2,.char-rail-title){
  font-family:var(--sb-vs-serif)!important;
  letter-spacing:-.02em!important;
}
body.sbui :is(#archivePanel,#caseboardPanel,#sbuiDrawer,.char-rail) :is(.badge,.pill,.record-eyebrow,.sbui-workspace-kicker){
  font-family:var(--sb-vs-mono)!important;
  letter-spacing:.10em!important;
}

/* Archive: same municipal shell, violet only as a sectional accent. */
body.sbui #archivePanel{
  --archive-accent:#ad91cb;
  --sbui-ink:var(--sb-vs-bg);
  --sbui-panel:var(--sb-vs-panel);
  --sbui-line:var(--sb-vs-line);
  --sbui-paper:var(--sb-vs-paper);
  --sbui-muted:var(--sb-vs-muted);
  --sbui-gold:var(--sb-vs-gold);
  background:var(--sb-vs-bg)!important;
  border-radius:var(--sb-vs-radius-lg)!important;
}
body.sbui .archive-header{
  background:linear-gradient(135deg,color-mix(in srgb,var(--archive-accent) 7%,var(--sb-vs-panel)),var(--sb-vs-panel))!important;
  border-bottom:1px solid var(--sb-vs-line)!important;
}
body.sbui .archive-card{
  border-radius:var(--sb-vs-radius)!important;
  background:linear-gradient(145deg,var(--sb-vs-panel-2),var(--sb-vs-panel))!important;
  border-color:var(--sb-vs-line)!important;
  padding:19px!important;
}
body.sbui .archive-card:hover{
  background:color-mix(in srgb,var(--archive-accent) 5%,var(--sb-vs-panel-2))!important;
  border-color:color-mix(in srgb,var(--archive-accent) 42%,var(--sb-vs-line))!important;
}
body.sbui .archive-card .badge{
  color:color-mix(in srgb,var(--archive-accent) 72%,var(--sb-vs-paper))!important;
  border-color:color-mix(in srgb,var(--archive-accent) 35%,transparent)!important;
  background:color-mix(in srgb,var(--archive-accent) 7%,transparent)!important;
}
body.sbui .archive-card .archive-open{
  background:var(--sb-vs-gold)!important;
  color:#18201e!important;
  border-color:var(--sb-vs-gold)!important;
}
body.sbui .archive-collection-bar{
  color:var(--sb-vs-gold)!important;
  background:var(--sb-vs-panel)!important;
  border-color:var(--sb-vs-line)!important;
}
body.sbui #archivePanel :is(input,select){
  background:var(--sb-vs-panel)!important;
  border-color:var(--sb-vs-line)!important;
  color:var(--sb-vs-paper)!important;
}

/* City Life: retain paper, but use the same old-gold rules, radius and typography. */
body.sbui #sbuiDrawer.sbui-city-drawer{
  --city-accent:#6f806a;
  background:#f3eee3!important;
  color:#26352f!important;
  border-radius:var(--sb-vs-radius-lg)!important;
  border-color:#bfb7a8!important;
}
body.sbui #sbuiDrawer.sbui-city-drawer .sbui-drawer-head{
  background:#f3eee3!important;
  border-color:#c9c0b1!important;
}
body.sbui #sbuiDrawer.sbui-city-drawer .city-grid>section{
  border-radius:var(--sb-vs-radius)!important;
  border-color:#cbc2b4!important;
  box-shadow:none!important;
}
body.sbui #sbuiDrawer.sbui-city-drawer :is(.city-kicker,.city-text-link,.city-news-controls a){
  color:#6e5433!important;
}
body.sbui #sbuiDrawer.sbui-city-drawer :is(.city-news-controls button,.sbui-choice){
  border-radius:var(--sb-vs-radius)!important;
}
body.sbui #sbuiDrawer.sbui-city-drawer .city-news-controls button{
  background:#eee5d7!important;
  border-color:#c2b39e!important;
  color:#604b33!important;
}

/* Presence uses the same paper system as City Life, not a separate UI language. */
body.sbui .char-rail{
  background:#f3eee3!important;
  border-radius:var(--sb-vs-radius-lg)!important;
  border-color:#bfb7a8!important;
}
body.sbui .char-rail-header,
body.sbui .char-rail-actions{
  border-color:#c9c0b1!important;
}
body.sbui .char-rail-actions{background:#e8e4d8!important}
body.sbui .char-rail-list .char-rail-item{
  border-radius:var(--sb-vs-radius)!important;
  border-color:#d0c7b8!important;
  background:#fcf8ef!important;
}
body.sbui .char-rail-list .char-rail-item:hover{
  background:#e8eadf!important;
  border-color:#8a9b83!important;
}

/* Repeated interface controls share proportions everywhere. */
body.sbui :is(#archivePanel,#caseboardPanel,#sbuiDrawer,.char-rail) :is(button,.btn,.action){
  min-height:40px;
}
body.sbui :is(#archivePanel,#caseboardPanel,#sbuiDrawer,.char-rail) :is(input,select,textarea){
  min-height:40px;
  font-family:var(--sb-vs-sans);
}
body.sbui :is(#archivePanel,#caseboardPanel,#sbuiDrawer,.char-rail) :focus-visible{
  outline:2px solid var(--sb-vs-gold)!important;
  outline-offset:3px!important;
}

@media(max-width:700px){
  body.sbui .archive-card{padding:17px!important}
  body.sbui :is(#archivePanel,#caseboardPanel,#sbuiDrawer,.char-rail) :is(button,.btn,.action,input,select){min-height:44px}
}
