#tfdb-network {
  position: relative;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: clamp(680px, 78vh, 980px);
  font-family: Ballinger, Arial, sans-serif;
  color: #FFFFFF;
}
#tfdb-network * { box-sizing: border-box; }
#tfdb-network button,
#tfdb-network input { font: inherit; }

#tfdb-network .tfdb-app {
  position: relative;
  display: grid;
  grid-template-columns: 232px minmax(0, 1fr);
  width: 100%;
  height: 100%;
  min-height: inherit;
  overflow: hidden;
  border-radius: 4px;
  background: #12465E;
}

#tfdb-network .tfdb-panel.left {
  position: relative;
  z-index: 20;
  min-width: 0;
  padding: 16px 16px 64px;
  overflow: visible;
  background: #12465E;
  border-right: 1px solid rgba(255,255,255,.12);
}

#tfdb-network .tfdb-graph-wrap {
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  background: #12465E;
}
#tfdb-network .tfdb-graph { position:absolute; inset:0; opacity:1; transition:opacity 180ms ease; }
#tfdb-network .tfdb-graph.soft-changing { opacity:.62; }
#tfdb-network .tfdb-loading {
  position:absolute; inset:0; z-index:10; display:grid; place-items:center; padding:40px;
  color:rgba(255,255,255,.55); background:#12465E; font:400 12px/16px Ballinger,Arial,sans-serif; pointer-events:none;
}
#tfdb-network .tfdb-status { display:none; }

#tfdb-network .tfdb-control { margin:0 0 22px; }
#tfdb-network .tfdb-label,
#tfdb-network .tfdb-year-head label {
  display:block; margin:0 0 8px; color:rgba(255,255,255,.50);
  font-family:Ballinger,Arial,sans-serif; font-size:10px; font-style:normal; font-weight:500; line-height:12px;
  letter-spacing:1px; text-transform:uppercase; font-feature-settings:'dlig' on;
}

#tfdb-network .tfdb-combobox { position:relative; }
#tfdb-network .tfdb-combobox-field { position:relative; width:100%; }
#tfdb-network input[type="search"] {
  width:100%; height:32px; padding:7px 38px 7px 10px; color:rgba(255,255,255,.72); background:rgba(5,33,47,.10);
  border:1px solid rgba(255,255,255,.14); border-radius:4px; outline:none;
  font:400 12px/16px Ballinger,Arial,sans-serif;
}
#tfdb-network input[type="search"]::placeholder { color:rgba(255,255,255,.36); }
#tfdb-network input[type="search"]::-webkit-search-cancel-button { display:none; }
#tfdb-network input[type="search"]:focus { border-color:rgba(255,255,255,.28); }
#tfdb-network .tfdb-person-toggle {
  position:absolute; top:0; right:0; display:grid; place-items:center; width:32px; height:32px; padding:0;
  color:rgba(255,255,255,.76); background:transparent; border:0; border-left:1px solid rgba(255,255,255,.10); border-radius:0 4px 4px 0;
  cursor:pointer; outline:none;
}
#tfdb-network .tfdb-person-toggle:focus-visible { outline:1px solid rgba(255,255,255,.65); outline-offset:-2px; }
#tfdb-network .tfdb-person-toggle-icon { transform:translateY(-1px); font:400 16px/16px Ballinger,Arial,sans-serif; }
#tfdb-network .tfdb-options {
  position:absolute; z-index:120; left:0; right:0; top:calc(100% + 5px); max-height:280px; overflow:auto; display:none; padding:4px;
  color:#05212F; background:#F3F7F9; border-radius:4px; box-shadow:0 8px 20px rgba(0,0,0,.15);
}
#tfdb-network .tfdb-options.open { display:block; }
#tfdb-network .tfdb-person-option {
  display:block; width:100%; padding:7px 8px; text-align:left; color:#05212F; background:transparent; border:0; border-radius:3px;
  font:400 12px/16px Ballinger,Arial,sans-serif; cursor:pointer;
}
#tfdb-network .tfdb-person-option:hover,
#tfdb-network .tfdb-person-option.active { background:rgba(18,70,94,.08); }
#tfdb-network .tfdb-option-empty { padding:8px; color:rgba(5,33,47,.5); font:400 12px/16px Ballinger,Arial,sans-serif; }
#tfdb-network .tfdb-search-note { display:none; }
#tfdb-network .tfdb-trajectory { display:none !important; }

#tfdb-network .tfdb-year { margin:0 0 24px; padding:0; border:0; }
#tfdb-network .tfdb-year-head { display:flex; justify-content:space-between; gap:10px; align-items:baseline; margin-bottom:9px; }
#tfdb-network .tfdb-year-head label { margin:0; }
#tfdb-network .tfdb-year-value {
  color:#FFF; text-align:right; font:500 10px/12px Ballinger,Arial,sans-serif; text-transform:uppercase; font-feature-settings:'dlig' on;
}
#tfdb-network input[type="range"] {
  width:100%; height:16px; margin:0; appearance:none; -webkit-appearance:none; background:transparent; cursor:pointer; outline:none !important;
}
#tfdb-network input[type="range"]:focus,
#tfdb-network input[type="range"]:focus-visible { outline:none !important; box-shadow:none !important; }
#tfdb-network input[type="range"]::-webkit-slider-runnable-track { height:1px; background:rgba(255,255,255,.62); }
#tfdb-network input[type="range"]::-moz-range-track { height:1px; background:rgba(255,255,255,.62); }
#tfdb-network input[type="range"]::-webkit-slider-thumb {
  width:12px; height:12px; margin-top:-5.5px; appearance:none; -webkit-appearance:none; border:0; border-radius:50%; background:#FFF;
  transition:transform 100ms ease;
}
#tfdb-network input[type="range"]::-moz-range-thumb {
  width:12px; height:12px; border:0; border-radius:50%; background:#FFF; transition:transform 100ms ease;
}
#tfdb-network input[type="range"]:hover::-webkit-slider-thumb,
#tfdb-network input[type="range"]:active::-webkit-slider-thumb { transform:scale(1.25); }
#tfdb-network input[type="range"]:hover::-moz-range-thumb,
#tfdb-network input[type="range"]:active::-moz-range-thumb { transform:scale(1.25); }
#tfdb-network .tfdb-year-range {
  display:flex; justify-content:space-between; margin-top:4px; color:rgba(255,255,255,.30); font:400 8px/8px Ballinger,Arial,sans-serif;
  font-feature-settings:'dlig' on;
}

#tfdb-network .tfdb-check {
  display:grid; grid-template-columns:20px 1fr; gap:8px; align-items:start; margin:0 0 16px; color:#FFF;
  font:400 12px/16px Ballinger,Arial,sans-serif; font-feature-settings:'dlig' on; cursor:pointer;
}
#tfdb-network .tfdb-check input {
  width:20px; height:20px; margin:0; appearance:none; -webkit-appearance:none; border:1px solid rgba(255,255,255,.75); border-radius:4px; background:transparent;
}
#tfdb-network .tfdb-check input:checked { background:#FFF; box-shadow:inset 0 0 0 5px #12465E; }

#tfdb-network .tfdb-pro-list { display:grid; gap:12px; margin-top:18px; }
#tfdb-network .tfdb-pro-control {
  display:flex; align-items:center; gap:8px; width:100%; padding:0; color:rgba(255,255,255,.27); background:transparent; border:0;
  text-align:left; font:400 12px/16px Ballinger,Arial,sans-serif; cursor:default;
}
#tfdb-network .tfdb-pro-control svg { flex:0 0 auto; }
#tfdb-network .tfdb-pro-control sup { margin-left:2px; font-size:8px; letter-spacing:.6px; text-transform:uppercase; }

#tfdb-network .tfdb-actions { position:absolute; left:16px; right:16px; bottom:16px; display:flex; align-items:center; gap:16px; }
#tfdb-network .tfdb-button {
  display:flex; flex:1 1 auto; min-width:0; padding:8px 12px; justify-content:center; align-items:center; gap:8px; color:#05212F; background:#FFF; border:0;
  border-radius:4px; font:500 10px/16px Ballinger,Arial,sans-serif; letter-spacing:.5px; text-transform:uppercase; cursor:pointer;
}
#tfdb-network .tfdb-help-button {
  display:flex; flex:0 0 32px; width:32px; height:32px; padding:0; justify-content:center; align-items:center; color:#FFF; background:transparent;
  border:1px solid rgba(255,255,255,.18); border-radius:4px; font:400 16px/16px Ballinger,Arial,sans-serif; letter-spacing:.8px; text-transform:uppercase; cursor:pointer;
}

#tfdb-network .tfdb-overlay-panel {
  position:absolute; z-index:80; display:flex; flex-direction:column; min-width:0; color:#05212F; background:#F3F7F9; border-radius:4px;
  box-shadow:0 8px 20px rgba(0,0,0,.15); opacity:0; visibility:hidden; pointer-events:none; transform:translateY(4px);
  transition:opacity 160ms ease, transform 180ms ease, visibility 0s linear 180ms;
}
#tfdb-network .tfdb-overlay-panel.open { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0); transition-delay:0s; }
#tfdb-network .tfdb-help-panel { top:16px; bottom:16px; left:16px; width:min(360px, calc(100% - 32px)); }
#tfdb-network .tfdb-details-panel { top:16px; right:16px; bottom:16px; width:min(280px, calc(100% - 32px)); }
#tfdb-network .tfdb-panel-scroll { flex:1 1 auto; min-height:0; overflow:auto; padding:16px; }
#tfdb-network .tfdb-panel-heading {
  margin:0 0 12px; color:#05212F; font-family:"Barlow Semi Condensed",Arial,sans-serif; font-size:16px; font-style:normal; font-weight:700;
  line-height:24px; letter-spacing:.32px; text-transform:uppercase; font-feature-settings:'dlig' on;
}
#tfdb-network .tfdb-panel-copy,
#tfdb-network .tfdb-description,
#tfdb-network .tfdb-basic-copy,
#tfdb-network .tfdb-continuity-note {
  color:#05212F; font:400 14px/18px Ballinger,Arial,sans-serif; font-feature-settings:'dlig' on;
}
#tfdb-network .tfdb-panel-copy p { margin:0 0 9px; }
#tfdb-network .tfdb-panel-caption {
  margin:16px 0 8px; color:#05212F; font:500 10px/12px Ballinger,Arial,sans-serif; letter-spacing:1px; text-transform:uppercase;
}
#tfdb-network .tfdb-help-legend { display:grid; gap:7px; }
#tfdb-network .tfdb-help-legend-row { display:grid; grid-template-columns:40px 1fr; gap:8px; align-items:center; font:400 12px/16px Ballinger,Arial,sans-serif; }
#tfdb-network .tfdb-help-line { height:4px; border-radius:999px; }
#tfdb-network .tfdb-panel-close {
  flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:calc(100% - 32px); margin:0 16px; padding:12px 0 13px;
  color:#05212F; background:transparent; border:0; border-top:1px solid rgba(5,33,47,.12); border-radius:0;
  font:500 10px/16px Ballinger,Arial,sans-serif; letter-spacing:.5px; text-transform:uppercase; cursor:pointer;
}

#tfdb-network .tfdb-edge-title,
#tfdb-network .tfdb-entity-title {
  margin:0 0 10px; color:#05212F; font-family:"Barlow Semi Condensed",Arial,sans-serif; font-size:16px; font-weight:700; line-height:24px;
  letter-spacing:.32px; text-transform:uppercase;
}
#tfdb-network .tfdb-edge-meta { margin:0 0 12px; color:rgba(5,33,47,.60); font:400 10px/12px Ballinger,Arial,sans-serif; }
#tfdb-network .tfdb-pill {
  display:inline-block; margin:0 4px 8px 0; padding:2px 5px; color:#05212F; border:1px solid rgba(5,33,47,.15); border-radius:999px;
  font:500 8px/12px Ballinger,Arial,sans-serif; text-transform:uppercase;
}

#tfdb-network .tfdb-transition {
  display:grid;
  grid-template-columns:1fr;
  gap:2px;
  margin:2px 0 16px;
}
#tfdb-network .tfdb-transition-row {
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:8px;
  align-items:baseline;
}
#tfdb-network .tfdb-transition-year {
  color:rgba(5,33,47,.45);
  font:400 14px/18px Ballinger,Arial,sans-serif;
  letter-spacing:0;
}
#tfdb-network .tfdb-transition-name {
  min-width:0;
  color:#0075C9;
  font:400 14px/18px Ballinger,Arial,sans-serif;
  letter-spacing:0;
  text-transform:none;
}
#tfdb-network .tfdb-transition-name a,
#tfdb-network .tfdb-transition-name span {
  color:inherit;
}
#tfdb-network .tfdb-transition-arrow {
  width:34px;
  color:rgba(5,33,47,.45);
  text-align:center;
  font:400 18px/16px Ballinger,Arial,sans-serif;
}

#tfdb-network .tfdb-founders { margin:4px 0 10px; color:#0075C9; font:400 14px/18px Ballinger,Arial,sans-serif; }
#tfdb-network .tfdb-description { margin-top:12px; white-space:pre-wrap; }
#tfdb-network .tfdb-continuity-note { margin-top:16px; padding-top:12px; border-top:1px solid rgba(5,33,47,.12); color:rgba(5,33,47,.62); }
#tfdb-network .tfdb-inline-link,
#tfdb-network .tfdb-title-link,
#tfdb-network .tfdb-entity-link { color:#0075C9; text-decoration:none; }
#tfdb-network .tfdb-inline-link:hover,
#tfdb-network .tfdb-title-link:hover,
#tfdb-network .tfdb-entity-link:hover { text-decoration:underline; }
#tfdb-network .tfdb-title-link { color:#0075C9; }

#tfdb-network .tfdb-current-layer { position:absolute; inset:0; z-index:65; pointer-events:none; overflow:hidden; }
#tfdb-network .tfdb-current-label {
  position:absolute;
  transform:none;
  color:rgba(255,255,255,.30);
  white-space:nowrap;
  font-family:Ballinger,Arial,sans-serif;
  font-style:normal;
  font-weight:400;
}
#tfdb-network .tfdb-hover {
  display:none; position:fixed; z-index:9999; pointer-events:none; max-width:340px; padding:5px 7px; color:#FFF; background:#05212F; border-radius:3px;
  font:400 10px/12px Ballinger,Arial,sans-serif;
}

@media (max-width:900px) {
  #tfdb-network { min-height:720px; }
  #tfdb-network .tfdb-app { grid-template-columns:210px minmax(0,1fr); }
  #tfdb-network .tfdb-panel.left { padding-left:12px; padding-right:12px; }
  #tfdb-network .tfdb-help-panel { left:12px; }
  #tfdb-network .tfdb-details-panel { right:12px; }
}
@media (max-width:680px) {
  #tfdb-network { min-height:860px; }
  #tfdb-network .tfdb-app { display:grid; grid-template-columns:1fr; grid-template-rows:auto minmax(560px,1fr); }
  #tfdb-network .tfdb-panel.left { padding-bottom:16px; border-right:0; border-bottom:1px solid rgba(255,255,255,.12); }
  #tfdb-network .tfdb-actions { position:static; margin-top:18px; }
  #tfdb-network .tfdb-pro-list { display:none; }
  #tfdb-network .tfdb-help-panel,
  #tfdb-network .tfdb-details-panel { left:10px; right:10px; width:auto; max-height:75%; }
  #tfdb-network .tfdb-details-panel { top:auto; bottom:10px; }
  #tfdb-network .tfdb-help-panel { top:10px; bottom:10px; max-height:none; }
}
