:root{
  color-scheme:dark;
  --bg:#050505;--panel:#111;--panel2:#181818;--text:#f4f4f4;--muted:#aaa;
  --line:#777;--focus:#ffd84d;--accent:#7cc8ff;--border:#444;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow:hidden}
button,input{font:inherit}button{color:var(--text);background:#1b1b1b;border:1px solid var(--border);border-radius:999px;padding:.55rem .85rem;cursor:pointer}
button:hover,button:focus-visible{border-color:var(--focus);outline:none}button[aria-pressed="true"]{background:var(--text);color:#000;border-color:var(--text)}
.app{height:100%;width:100vw;display:grid;grid-template-rows:auto 1fr auto}
header{display:flex;align-items:center;gap:1rem;padding:.8rem 1rem;border-bottom:1px solid #222;background:rgba(5,5,5,.97);z-index:20}
.brand{min-width:max-content}.brand strong{display:block;font-size:1rem}.brand span{color:var(--muted);font-size:.75rem}
.mode-tabs,.controls{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}.controls{margin-left:auto}#zoom-label{min-width:9rem;text-align:center;color:var(--muted);font-size:.78rem}
main{position:relative;min-height:0}.view{position:absolute;inset:0;display:none}.view.active{display:block}
#timeline{min-height:0}#timeline-workspace{height:100%;min-height:0;display:flex;flex-direction:row;background:var(--bg)}
#timeline-viewport{order:0;position:relative;flex:1 1 auto;min-width:0;min-height:0;width:auto;overflow:hidden;cursor:default;touch-action:none;user-select:none;background:radial-gradient(circle at 50% 50%,#111 0,#050505 60%)}
#timeline-viewport:focus-visible{outline:1px solid var(--focus);outline-offset:-2px}
#grid-layer,#event-layer,#era-layer{position:absolute;inset:0;pointer-events:none}.grid-line{position:absolute;top:0;bottom:0;width:1px;background:#181818}.grid-line.major{background:#292929}.grid-label{position:absolute;top:.45rem;transform:translateX(-50%);font-size:.59rem;color:#565656;white-space:nowrap;letter-spacing:.02em}.grid-unit{position:absolute;right:.65rem;top:.45rem;color:#555;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase}
.axis{position:absolute;left:0;right:0;top:50%;height:2px;transform:translateY(-1px);background:linear-gradient(90deg,transparent 0,#555 4%,#999 50%,#555 96%,transparent 100%);pointer-events:none}
.axis::before,.axis::after{content:"";position:absolute;top:50%;width:13%;height:8px;transform:translateY(-50%);pointer-events:none}.axis::before{left:0;background:linear-gradient(90deg,#050505,transparent)}.axis::after{right:0;background:linear-gradient(270deg,#050505,transparent)}
.focus-line{position:absolute;top:6%;bottom:6%;left:50%;width:1px;background:linear-gradient(180deg,transparent,var(--focus) 22%,var(--focus) 78%,transparent);opacity:.48;pointer-events:none;z-index:8}.focus-line::after{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;border:2px solid var(--focus);border-radius:50%;background:var(--bg);transform:translate(-50%,-50%)}
.open-end{position:absolute;top:50%;transform:translateY(-50%);z-index:6;display:flex;align-items:center;gap:.35rem;color:#626262;pointer-events:none;text-transform:uppercase;letter-spacing:.08em;font-size:.58rem}.open-end strong{font-size:1.25rem;font-weight:400;color:#777;line-height:1}.open-past{left:.55rem}.open-future{right:.55rem;flex-direction:row-reverse}
.era{position:absolute;top:calc(var(--era-top-inset,12px) + (var(--era-lane,0) * var(--era-lane-step,33px)));height:var(--era-height,29px);appearance:none;background:linear-gradient(90deg,rgba(124,200,255,.055),rgba(124,200,255,.018));border:0;border-top:1px solid #313131;border-bottom:1px solid #242424;border-left:1px solid #5b5b5b;border-radius:0;padding:0 .55rem;font:inherit;text-align:left;pointer-events:auto;cursor:pointer;opacity:.82;overflow:hidden;transition:opacity .16s,border-color .16s,background .16s,filter .16s,top .14s ease-out}
.era.era-close{opacity:.52}
.era:hover,.era:focus-visible{opacity:1;border-top-color:#7a9baa;border-bottom-color:#4d6975;border-left-color:#c9eaff;background:linear-gradient(90deg,rgba(124,200,255,.14),rgba(124,200,255,.035));filter:drop-shadow(0 0 5px rgba(142,216,255,.18));outline:none}
.era-copy{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;height:100%;min-width:0;max-width:calc(100% - 18px)}
.era-title{display:block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#aaa;transition:color .16s}
.era-count{display:block;font-size:.64rem;color:#777;margin-top:.12rem;transition:color .16s}
.era:hover .era-title,.era:focus-visible .era-title{color:#f5fbff}
.era:hover .era-count,.era:focus-visible .era-count{color:#bfe8ff}
.era.era-active{opacity:.96;border-top-color:#927f3d;border-bottom-color:#675a30;border-left-color:#ffd84d;background:linear-gradient(90deg,rgba(255,216,77,.16),rgba(87,188,236,.075),rgba(255,216,77,.025));filter:drop-shadow(0 0 4px rgba(255,216,77,.13))}
.era.era-active .era-title{color:#fff0a8}
.era.era-active .era-count{color:#c7dfe8}
.era.era-selected{opacity:1;border-left-width:2px;box-shadow:inset 0 0 0 1px rgba(255,216,77,.18),0 0 8px rgba(255,216,77,.10)}
.era.era-active:hover,.era.era-active:focus-visible{border-top-color:#b8ddeb;border-bottom-color:#728f9b;border-left-color:#fff4bd;background:linear-gradient(90deg,rgba(255,216,77,.20),rgba(124,200,255,.15),rgba(124,200,255,.045));filter:drop-shadow(0 0 6px rgba(142,216,255,.24))}
.era.era-active:hover .era-title,.era.era-active:focus-visible .era-title{color:#ffffff}
.era.era-active:hover .era-count,.era.era-active:focus-visible .era-count{color:#d9f2ff}
.era::after{content:"";position:absolute;top:0;bottom:0;right:0;width:1px;background:#696969}
.era.era-provisional-end::after{background:repeating-linear-gradient(180deg,#767676 0 3px,transparent 3px 6px)}
.era.era-open-end{border-right:0;background:linear-gradient(90deg,rgba(124,200,255,.075),rgba(124,200,255,.025),transparent)}
.era.era-open-end::after{display:none}
.era.era-open-start{border-left:0;background:linear-gradient(90deg,transparent,rgba(124,200,255,.025),rgba(124,200,255,.075))}
.era.era-open-start:hover,.era.era-open-start:focus-visible{border-left:0}
.era-end-hint{position:absolute;right:.35rem;top:50%;transform:translateY(-54%);font-size:.9rem;color:#777;line-height:1}
.era.era-open-end .era-end-hint{color:#9dcde3;font-size:1rem}
.era:hover .era-end-hint,.era:focus-visible .era-end-hint{color:#d8f3ff}
.event-node{position:absolute;top:50%;width:0;height:0;pointer-events:auto;z-index:4;--stack-depth:0;transition:top .16s ease-out}
.event-marker{--marker-w:10px;--marker-h:8px;position:absolute;left:0;top:0;width:var(--marker-w);height:var(--marker-h);border:0;border-radius:0;background:#d8d8d8;box-shadow:none;opacity:.92;cursor:pointer;transition:filter .16s,background .16s,opacity .16s}
.event-node.above .event-marker{clip-path:polygon(0 0,100% 0,50% 100%);transform:translate(-50%,-100%)}
.event-node.below .event-marker{clip-path:polygon(50% 0,100% 100%,0 100%);transform:translate(-50%,0)}
.event-node[data-significance="5"] .event-marker{--marker-w:16px;--marker-h:13px;background:#f0f0f0}
.event-node[data-significance="4"] .event-marker{--marker-w:13px;--marker-h:10px;background:#bdbdbd}
.event-node[data-criticality="anchor"] .event-marker{opacity:1}
.event-node[data-criticality="major"] .event-marker{opacity:.82}
.event-node.nearest .event-marker,.event-node.selected .event-marker,.event-node.hovered .event-marker,.event-node.focused .event-marker{background:#ffd84d;filter:drop-shadow(0 0 2px rgba(255,216,77,.95)) drop-shadow(0 0 7px rgba(255,216,77,.38))}
.event-node[data-id="anchor-resurrection"] .event-marker{background:#ffd84d;filter:drop-shadow(0 0 2px rgba(255,216,77,.95)) drop-shadow(0 0 8px rgba(255,216,77,.42))}
.event-node[data-id="anchor-creation"] .event-marker{background:#d8d8d8}
.event-node.hidden-at-scale{display:none}
.event-label{position:absolute;width:max-content;max-width:calc(100vw - 2em);left:0;opacity:0;transform:translateX(-50%);transition:opacity .14s;pointer-events:none;text-align:center}.event-node.above .event-label{bottom:15px}.event-node.below .event-label{top:15px}.event-title{font-weight:750;font-size:.79rem;line-height:1.15;text-shadow:0 2px 8px #000,0 0 3px #000}.event-date{display:none;color:var(--accent);font-size:.68rem;margin-top:.22rem;text-shadow:0 2px 6px #000}.event-ref{display:none;color:#aaa;font-size:.64rem;margin-top:.22rem;text-shadow:0 2px 6px #000}.event-node.show-label .event-label{opacity:1;pointer-events:auto;cursor:pointer}.event-node.show-date .event-date{display:block}.event-node.show-ref .event-ref{display:block}.event-node.full-card .event-label{padding:.55rem .65rem;border:1px solid #444;border-radius:11px;background:rgba(14,14,14,.94);box-shadow:0 8px 30px rgba(0,0,0,.38)}.event-node.nearest .event-marker,.event-node.selected .event-marker{border-color:var(--focus);box-shadow:0 0 0 5px rgba(255,216,77,.14)}.event-node[data-id="anchor-resurrection"] .event-marker{background:var(--focus);border-color:var(--focus);box-shadow:0 0 0 5px rgba(255,216,77,.12)}.event-node[data-id="anchor-creation"] .event-marker{border-style:double;background:#111}.event-hit{position:absolute;left:0;top:0;width:30px;height:30px;transform:translate(-50%,-50%);border:0;background:transparent;padding:0;border-radius:50%;cursor:pointer}.event-hit:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
.focus-readout{position:absolute;left:50%;bottom:.8rem;transform:translateX(-50%);display:grid;justify-items:center;gap:.1rem;min-width:min(430px,80vw);padding:.45rem .8rem;background:rgba(0,0,0,.74);border:1px solid #292929;border-radius:10px;pointer-events:none;z-index:10;text-align:center}.focus-kicker{font-size:.57rem;letter-spacing:.14em;color:#777}.focus-readout strong{font-size:.82rem}.focus-readout #focus-date{font-size:.69rem;color:var(--accent)}
.timeline-help{position:absolute;left:1rem;bottom:.8rem;max-width:min(610px,calc(50vw - 1rem));background:rgba(0,0,0,.66);border:1px solid #2c2c2c;border-radius:10px;padding:.5rem .65rem;color:#858585;font-size:.7rem;pointer-events:none;z-index:9}
#detail{order:1;flex:0 0 clamp(300px,32vw,470px);align-self:stretch;width:clamp(300px,32vw,470px);height:100%;max-height:none;overflow:auto;background:#101010;border:0;border-left:1px solid #555;border-radius:0;padding:1rem 1.05rem;z-index:30;box-shadow:-16px 0 48px rgba(0,0,0,.34);user-select:text;animation:slideTray .2s ease-out}#detail[hidden]{display:none}@keyframes slideTray{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:translateX(0)}}#detail h2{margin:.15rem 0 .2rem;font-size:1.08rem}#detail .meta{color:var(--accent);font-size:.78rem}#detail p{line-height:1.43;color:#ddd;margin:.7rem 0}.detail-grid{display:grid;grid-template-columns:1fr;gap:.55rem;margin:.7rem 0}.detail-cell{background:#151515;border:1px solid #2e2e2e;border-radius:9px;padding:.55rem}.detail-cell b{display:block;color:#8f8f8f;font-size:.61rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.22rem}.detail-cell span{font-size:.78rem}.source{border-top:1px solid #333;margin-top:.6rem;padding-top:.6rem;color:var(--muted);font-size:.8rem}.flag{display:inline-block;margin:.35rem 0;padding:.23rem .45rem;border:1px dashed #777;color:#bbb;font-size:.68rem;border-radius:5px}.projection-note{margin:.6rem 0;padding:.48rem .6rem;border-left:2px solid #777;background:#171717;color:#aaa;font-size:.74rem;line-height:1.35}.close-detail{float:right}
#directives{height:100%;overflow:auto;padding:2rem;max-width:1200px;margin:auto}.directive-intro{max-width:820px}.directive-intro h1{margin-top:0}.directive-intro p{color:#cfcfcf;line-height:1.5}.family-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin-top:1.5rem}.family{background:var(--panel);border:1px solid #333;border-radius:14px;padding:1rem}.family h3{margin:0;font-size:.95rem}.family p{color:var(--muted);font-size:.82rem;line-height:1.4}.family .count{font-size:1.5rem;font-weight:700;margin-top:.8rem}.family .count span{font-size:.7rem;color:var(--muted);font-weight:400}
footer{border-top:1px solid #222;padding:.45rem 1rem;color:var(--muted);font-size:.7rem;display:flex;justify-content:space-between;gap:1rem}
#timeline-viewport.travel-backward{cursor:w-resize}#timeline-viewport.travel-forward{cursor:e-resize}#timeline-viewport.travel-idle{cursor:crosshair}#timeline-viewport.travel-backward::after,#timeline-viewport.travel-forward::after{position:absolute;top:50%;z-index:7;transform:translateY(-50%);color:#8d8d8d;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;text-shadow:0 2px 8px #000}#timeline-viewport.travel-backward::after{content:"hold · backward";left:1rem}#timeline-viewport.travel-forward::after{content:"hold · forward";right:1rem}
@media(max-width:759px){header{align-items:flex-start;flex-direction:column;padding:.6rem .75rem}.controls{margin-left:0}.brand{min-width:0}.timeline-help{display:none}#directives{padding:1rem}#timeline-workspace{position:relative;display:block}#timeline-viewport{position:absolute;inset:0}#detail{position:absolute;left:0;right:0;bottom:0;width:100%;max-height:46%;border:1px solid #555;border-radius:16px 16px 0 0;animation:riseTray .2s ease-out}@keyframes riseTray{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.detail-grid{grid-template-columns:1fr 1fr}.focus-readout{bottom:.55rem}}
@media(max-width:460px){#detail{inset:0;max-height:none;border-radius:0}.detail-grid{grid-template-columns:1fr}.focus-readout{min-width:74vw}footer{display:none}}

/* v0.8 bounded study window */
.open-end {
  max-width: 12rem;
  line-height: 1.2;
  color: #5f5f5f;
}
.open-end span {
  white-space: nowrap;
}


/* v0.9 edge-aware boundaries + future sequence */
#duration-layer{position:absolute;inset:0;pointer-events:none;z-index:3}
.duration-span{position:absolute;top:calc(50% + 46px);height:36px;border:1px solid #595959;border-radius:8px;background:linear-gradient(90deg,rgba(255,216,77,.08),rgba(255,216,77,.16),rgba(255,216,77,.08));color:#ddd;pointer-events:auto;cursor:pointer;overflow:hidden;padding:.25rem .5rem;text-align:center;min-width:8px}
.duration-span::before,.duration-span::after{content:"";position:absolute;top:-4px;bottom:-4px;width:1px;background:#aaa}.duration-span::before{left:0}.duration-span::after{right:0}.duration-span span{display:block;font-size:.67rem;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.duration-span small{display:block;color:#9a9a9a;font-size:.55rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#today-marker{position:absolute;top:9%;bottom:9%;width:1px;background:linear-gradient(180deg,transparent,#62a7ff 18%,#62a7ff 82%,transparent);z-index:5;pointer-events:none;opacity:.55}#today-marker span{position:absolute;top:10%;left:5px;color:#62a7ff;font-size:.59rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.event-node.edge-left .event-label{transform:translateX(0);text-align:left;left:10px}.event-node.edge-right .event-label{transform:translateX(-100%);text-align:right;left:-10px}

.open-end{z-index:11;padding:.2rem .35rem;background:rgba(5,5,5,.8);border-radius:8px}.open-end[hidden]{display:none}.open-end strong{font-size:1.55rem;color:#9a9a9a}.open-past{left:.35rem}.open-future{right:.35rem}
@media(max-width:759px){.duration-span{top:calc(50% + 34px);height:30px}.duration-span small{display:none}}


/* v0.12 future-state lanes */
.duration-span.span-below{
  top:calc(50% + 46px);
}
.duration-span.span-above{
  top:calc(50% - 84px);
}

.duration-span.span-millennium{
  border-color:#d7b84a;
  background:
    linear-gradient(90deg,
      rgba(255,216,77,.07),
      rgba(255,216,77,.18),
      rgba(255,216,77,.07));
  color:#f3e7ad;
}

.duration-span.span-eternal{
  border-color:#86d9ff;
  color:#f8fdff;
  background:
    linear-gradient(90deg,
      rgba(31,112,170,.40),
      rgba(87,188,236,.42) 28%,
      rgba(255,219,105,.30) 68%,
      rgba(255,244,185,.22));
  box-shadow:
    0 0 0 1px rgba(255,255,255,.08) inset,
    0 0 16px rgba(90,196,255,.18);
}
.duration-span.span-eternal::before{
  background:#dff6ff;
}
.duration-span.span-eternal::after{
  display:none;
}
.duration-span.span-eternal small{
  color:#e0f5ff;
}
.duration-span.open-ended{
  border-radius:8px 0 0 8px;
  padding-right:2rem;
}
.duration-span.open-ended .span-infinity{
  position:absolute;
  right:.45rem;
  top:50%;
  transform:translateY(-53%);
  font-size:1.35rem;
  line-height:1;
  font-weight:400;
  color:#fff3a8;
  text-shadow:0 0 8px rgba(255,232,120,.35);
}

@media(max-width:759px){
  .duration-span.span-below{top:calc(50% + 34px)}
  .duration-span.span-above{top:calc(50% - 68px)}
}


/* v0.13 collision lanes + hit-state model */
.event-node.collision-stack .event-label{
  backdrop-filter:blur(2px);
}
.event-node.hovered,
.event-node.focused,
.event-node.selected{
  z-index:80 !important;
}
.event-node.focused .event-hit:focus-visible{
  outline-color:#8ed8ff;
}
.event-node.visited:not(.selected):not(.hovered):not(.focused) .event-marker{
  opacity:1;
}
.event-node[data-layout-hit="collision"] .event-label{
  /* collision state is intentionally structural, not visually loud */
}

/* Optional developer view: add ?debugHits=1 later to expose boxes if desired. */


/* v0.14 mirrored eternity fields */
#eternity-layer{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  overflow:hidden;
}
.eternity-field{
  position:absolute;
  top:0;
  bottom:0;
  transition:left .14s ease,width .14s ease,opacity .18s ease;
}
.eternity-field[hidden]{display:none}

.eternity-before{
  left:0;
  background:
    linear-gradient(90deg,
      rgba(255,241,171,.11) 0%,
      rgba(88,185,232,.10) 55%,
      rgba(42,121,176,.04) 100%);
  border-right:1px solid rgba(134,217,255,.13);
  box-shadow:inset -16px 0 30px rgba(69,164,214,.035);
}
.eternity-after{
  right:0;
  background:
    linear-gradient(90deg,
      rgba(42,121,176,.04) 0%,
      rgba(88,185,232,.10) 45%,
      rgba(255,241,171,.11) 100%);
  border-left:1px solid rgba(134,217,255,.13);
  box-shadow:inset 16px 0 30px rgba(69,164,214,.035);
}

/* Keep the timeline itself above the soft eternity background. */
#grid-layer{z-index:1}
.axis{z-index:2}
#era-layer{z-index:2}
#duration-layer{z-index:3}
#event-layer{z-index:4}

/* Right-open eternal state: no finishing edge. */
.duration-span.open-ended{
  border-right:0;
  border-radius:8px 0 0 8px;
  padding-right:2.15rem;
}
.duration-span.open-ended::after{display:none}

/* Left-open premortal state: no beginning edge. */
.duration-span.open-started{
  border-left:0;
  border-radius:0 8px 8px 0;
  padding-left:2.15rem;
}
.duration-span.open-started::before{display:none}

.duration-span .span-infinity{
  position:absolute;
  top:50%;
  transform:translateY(-53%);
  font-size:1.35rem;
  line-height:1;
  font-weight:400;
  color:#fff3a8;
  text-shadow:0 0 8px rgba(255,232,120,.35);
}
.duration-span .span-infinity-end{right:.45rem}
.duration-span .span-infinity-start{left:.45rem}

/* Mirror the eternal-life palette into the premortal state. */
.duration-span.span-premortal{
  border-color:#86d9ff;
  color:#f8fdff;
  background:
    linear-gradient(90deg,
      rgba(255,244,185,.22),
      rgba(255,219,105,.30) 32%,
      rgba(87,188,236,.42) 72%,
      rgba(31,112,170,.40));
  box-shadow:
    0 0 0 1px rgba(255,255,255,.08) inset,
    0 0 16px rgba(90,196,255,.18);
}
.duration-span.span-premortal::after{background:#dff6ff}
.duration-span.span-premortal small{color:#e0f5ff}

/* At the open edges, top and bottom lines continue cleanly to the screen edge. */
.duration-span.open-ended,
.duration-span.open-started{
  overflow:hidden;
}

@media(max-width:759px){
  .duration-span.open-ended,
  .duration-span.open-started{
    padding-left:1.6rem;
    padding-right:1.6rem;
  }
}


/* v0.15 viewport-edge eternity spans */

/* Open eternity spans terminate only where meaning terminates.
   The right eternal state has no closing edge; the premortal state has
   no opening edge. */
.duration-span.open-ended{
  right:0;
  border-right:0 !important;
  border-radius:8px 0 0 8px;
}
.duration-span.open-started{
  left:0;
  border-left:0 !important;
  border-radius:0 8px 8px 0;
}

/* Keep the infinity glyph just inside the physical screen edge. */
.duration-span.open-ended .span-infinity-end{right:.55rem}
.duration-span.open-started .span-infinity-start{left:.55rem}

/* v0.16 same-day event context */

.same-day-group{margin:.75rem 0;padding:.6rem;border:1px solid #2f2f2f;border-radius:9px;background:#141414;display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}
.same-day-group>b{font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:#8f8f8f;margin-right:.2rem}
.same-day-group button{padding:.35rem .55rem;font-size:.72rem}


/* v0.19 era collision lanes */
@media (max-height:600px){
  .era-title{font-size:.66rem}
  .era-count{font-size:.58rem;margin-top:.05rem}
  .era-copy{max-width:calc(100% - 15px)}
  .era-end-hint{font-size:.78rem}
}


/* v0.21 corpus ingestion / chronology review */
.corpus-status{display:block;margin-top:.12rem;font-size:.62rem;letter-spacing:.03em;color:#777}
.corpus-status[data-ready="true"]{color:#a9d9ef}
.event-node[data-time-review="true"] .event-date::before{content:"≈ ";color:#f0ca62}
.event-node[data-generated="true"] .event-ref{opacity:.78}
.review-note{margin:.55rem 0;padding:.45rem .55rem;border-left:2px solid #d6b94e;background:rgba(214,185,78,.07);font-size:.72rem;color:#d7c98f}

.corpus-status[data-failed="true"]{color:#ffd56b;font-weight:700}


/* v0.24 semantic era hierarchy */
.era.era-level-0{
  font-weight:600;
  background:linear-gradient(90deg,rgba(124,200,255,.085),rgba(124,200,255,.025));
  border-top-color:#3d515b;
  border-bottom-color:#28343a;
}
.era.era-level-0 .era-title{font-size:.72rem;letter-spacing:.065em;color:#b8c5ca}
.era.era-level-0 .era-count{color:#708086}

.era.era-level-1{
  height:calc(var(--era-height,29px) - 4px);
  margin-top:2px;
  background:linear-gradient(90deg,rgba(255,255,255,.035),rgba(124,200,255,.012));
  border-top-color:#292f32;
  border-bottom-color:#202527;
  border-left-color:#48545a;
}
.era.era-level-1 .era-title{font-size:.65rem;letter-spacing:.045em;color:#929da1;text-transform:none}
.era.era-level-1 .era-count{font-size:.58rem;color:#626c70}
.era-child-mark{display:inline-block;margin-right:.28rem;color:#6f8b98}

.era.era-level-1.era-active{
  background:linear-gradient(90deg,rgba(255,216,77,.11),rgba(87,188,236,.055),rgba(255,216,77,.018));
}
.era.era-level-1.era-active .era-title{color:#eadb91}
.era.era-level-1:hover .era-title,.era.era-level-1:focus-visible .era-title{color:#f5fbff}

@media (max-height:600px){
  .era.era-level-0 .era-title{font-size:.65rem}
  .era.era-level-1 .era-title{font-size:.59rem}
  .era.era-level-1 .era-count{font-size:.53rem}
}


/* v0.25 desktop side aside */
@media(min-width:760px){
  #detail .close-detail{
    position:sticky;
    top:0;
    z-index:2;
    float:right;
    margin-left:.5rem;
    background:#171717;
  }
  #detail .source{font-size:.74rem}
  #detail .flag{max-width:calc(100% - 4.5rem)}
}
@media(min-width:1400px){
  #detail{flex-basis:460px;width:460px}
}
@media(max-height:620px) and (min-width:760px){
  #detail{padding:.75rem .9rem}
  #detail h2{font-size:1rem}
  #detail p{margin:.5rem 0}
  .detail-grid{gap:.4rem;margin:.5rem 0}
  .detail-cell{padding:.45rem .5rem}
}


/* v0.26 virtualized event rendering */
#event-layer{contain:layout paint style}
.event-node[data-generated="true"] .event-marker{opacity:.70}
.event-node[data-generated="true"].nearest .event-marker,
.event-node[data-generated="true"].selected .event-marker,
.event-node[data-generated="true"].hovered .event-marker,
.event-node[data-generated="true"].focused .event-marker{opacity:1}
@media(max-height:600px){
  .event-node[data-generated="true"] .event-marker{
    --marker-w:8px;
    --marker-h:6px;
  }
}
