/* Timeline Weaver — layered on Toponym Forge's style.css (copied to src/shared/tf-style.css). */
nav.suite{font-size:.85rem;color:var(--muted);margin-bottom:.4rem}nav.suite a,footer a{color:var(--accent);font-weight:600}
.skip{position:absolute;left:-999px}.skip:focus{left:.5rem;top:.5rem;background:#fff;padding:.4rem;z-index:9}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:3px solid var(--gold);outline-offset:1px}
h3{margin:.2rem 0;font-size:1rem;color:#4a2e1a}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:.9rem}.grid3>*,.grid2>*{min-width:0}
.zoom{display:inline-flex;gap:.3rem;align-items:center}.zoom input{width:9rem;max-width:40vw}
/* timeline */
.tl-scroll{overflow-x:auto;overflow-y:hidden;border:1px solid var(--line);border-radius:8px;background:#fffdf7;max-width:100%}
.tl{position:relative;min-height:3rem}
.tl-axis{position:relative;height:1.7rem;border-bottom:1px solid var(--line);margin-left:var(--lab)}
.tl-tick{position:absolute;top:0;bottom:0;border-left:1px solid #eadcbf;font-size:.72rem;color:var(--muted);padding-left:3px;white-space:nowrap}
.tl-now{position:absolute;top:0;bottom:0;border-left:2px dashed var(--accent);pointer-events:none;z-index:1}
.tl-now span{position:absolute;top:0;left:3px;font-size:.7rem;color:var(--accent);font-weight:700;white-space:nowrap;background:#fffdf7}
.tl-lane{display:flex;border-bottom:1px solid #f0e4cc}
.tl-label{position:sticky;left:0;z-index:2;flex:none;width:var(--lab);padding:.3rem .4rem;font-size:.82rem;font-weight:600;color:#3a1f10;background:#fbf3e3;border-right:1px solid var(--line);overflow-wrap:anywhere}
.tl-track{position:relative;flex:none}
.tl-item{position:absolute;height:22px;font-size:.75rem;line-height:22px;white-space:nowrap;cursor:pointer;border:0;padding:0;background:none;color:#3a1f10;text-align:left}
.tl-item.span{background:var(--c,#b8862b);color:#fff;border-radius:4px;padding:0 4px;overflow:hidden;text-overflow:ellipsis;opacity:.9}
.tl-item.point::before{content:"";display:inline-block;width:11px;height:11px;margin:0 4px 0 -6px;vertical-align:-1px;background:var(--c,#8b3a1e);transform:rotate(45deg);border:1px solid #fff}
.tl-item:hover,.tl-item:focus-visible{z-index:3;opacity:1}.tl-item.point span{background:#fffdf7cc;padding:0 2px}
.tl-empty{padding:1rem;color:var(--muted)}
.t-founding{--c:#2e6b3a}.t-war{--c:#b3261e}.t-conflict{--c:#c2571a}.t-treaty{--c:#2a5d8f}.t-disaster{--c:#5b3a6b}.t-reign{--c:#b8862b}.t-discovery{--c:#1f7a7a}.t-era{--c:#7a6a52}.t-custom{--c:#6b4a2a}
.chip{display:inline-block;font-size:.72rem;padding:.05rem .45rem;border-radius:99px;background:var(--c);color:#fff;white-space:nowrap}
/* editor, list, weave */
fieldset.when{border:1px dashed var(--line);border-radius:8px;margin:.4rem 0;display:flex;flex-wrap:wrap;gap:.5rem;align-items:end}
fieldset.when legend{font-weight:600;color:#4a2e1a}fieldset.when input[type=number]{width:6.5rem}fieldset.when select{max-width:16rem}
#editor select[multiple]{width:100%;min-height:5rem}#editor textarea{font-family:inherit}
.filters input[type=number]{width:6rem}
#eventTable td{vertical-align:top}#eventTable td.when{white-space:nowrap;font-size:.88rem}#eventTable .note{color:var(--muted);font-size:.86rem}
#eventTable td.links{font-size:.84rem;color:var(--muted);max-width:14rem}#eventTable td.ago{white-space:nowrap;font-size:.85rem;color:var(--muted)}
.suggestions{list-style:none;padding:0;margin:.3rem 0;display:grid;gap:.5rem}
.suggestions li{border:1px solid var(--line);border-radius:8px;padding:.5rem .6rem;background:#fffdf7;display:flex;flex-wrap:wrap;gap:.4rem .8rem;align-items:center;justify-content:space-between}
.suggestions li.locked{border-color:var(--gold);background:#fbf1dc}.suggestions .what{min-width:0;flex:1 1 15rem}.suggestions .note{color:var(--muted);font-size:.88rem}
.lock,.dice{background:none;border:1px solid transparent;font-size:.95rem;padding:.1rem .3rem}.lock[aria-pressed=true]{border-color:var(--gold);background:#f3e4c4}
.rival{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center;font-size:.88rem;margin:.3rem 0}.rival input{width:5.5rem}
.pro{margin-top:.6rem;padding:.6rem;border:2px dashed var(--gold);border-radius:8px;color:#6b5a48;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
@media (max-width:700px){.zoom input{width:6rem}}
@media print{
  .no-print,.toolbar,nav.suite,footer .studio,#errors,.skip{display:none!important}
  body{background:#fff}.card{box-shadow:none;border:0;padding:0;break-inside:avoid-page}main{max-width:none}
  .tl-scroll{overflow:visible;border:0}.tl-label{position:static}.tl-item.span{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  #eventTable{font-size:.8rem}.chip{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
