:root{
  color-scheme:dark;--bg:#04080d;--panel:#07131e;--panel2:#0a1926;--text:#edf8ff;--muted:#89a1b0;
  --line:rgba(126,220,255,.17);--line2:rgba(126,220,255,.38);--cyan:#7edcff;--green:#75ebba;--amber:#efc66f;--red:#ff8992
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 60% 0,rgba(48,145,205,.13),transparent 38rem),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:60;opacity:.18;background:repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 4px)}
a{color:inherit;text-decoration:none}.timeline-shell{width:min(1540px,calc(100% - 30px));margin:auto;padding:24px 0 38px}
.timeline-topbar{display:flex;justify-content:space-between;gap:20px;padding:11px 4px 22px;color:#7693a5;font:600 11px ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase}
.timeline-brand{color:#dff6ff}.timeline-brand::before{content:"";display:inline-block;width:8px;height:8px;margin-right:10px;border-radius:50%;background:var(--cyan);box-shadow:0 0 16px var(--cyan)}
.site-nav,.timeline-status{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.site-nav a{padding:6px 7px;border-radius:7px}.site-nav a:hover{background:rgba(126,220,255,.06);color:#e4f8ff}.timeline-status .live{color:var(--green)}
.timeline-hero{position:relative;display:grid;grid-template-columns:1.25fr .75fr;gap:28px;align-items:end;padding:58px 8px 36px;overflow:hidden;border-radius:24px}
.timeline-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(4,8,13,.96),rgba(4,8,13,.64),rgba(4,8,13,.88)),url("/assets/talonlab-culture.webp");background-size:cover;background-position:center;opacity:.55}
.timeline-hero>*{position:relative;z-index:1}.eyebrow,.label{color:var(--cyan);font:700 11px ui-monospace,monospace;letter-spacing:.22em;text-transform:uppercase}
.timeline-hero h1{font-size:clamp(58px,9vw,126px);line-height:.86;letter-spacing:-.065em;margin:16px 0 24px}.timeline-hero p{max-width:820px;color:#9cb1bf;font-size:18px;line-height:1.7;margin:0}
.hero-note{padding:20px;border-left:1px solid var(--line2);color:#8fa6b5}.hero-note span{display:block;color:#64879b;font:700 10px ui-monospace,monospace;letter-spacing:.18em}.hero-note strong{display:block;margin-top:9px;color:#d4ebf5;line-height:1.55}
.instrument{border:1px solid var(--line);border-radius:26px;background:linear-gradient(145deg,rgba(9,23,35,.94),rgba(5,13,20,.92));overflow:hidden}
.instrument-head{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:24px 26px;border-bottom:1px solid var(--line)}
.year-line{display:flex;align-items:baseline;gap:18px;margin-top:4px}.year-line strong{font-size:clamp(46px,7vw,82px);letter-spacing:-.06em;line-height:1}.year-line span{color:var(--green);font:700 10px ui-monospace,monospace;letter-spacing:.14em}
.snapshot-thesis{margin:10px 0 0;color:#7896a8;max-width:760px}.play-button{border:1px solid var(--line2);background:rgba(16,47,66,.42);color:#d6f2ff;border-radius:999px;padding:11px 16px;font:700 10px ui-monospace,monospace;letter-spacing:.14em;cursor:pointer}
.snapshot-zone{padding:18px 20px 12px;background:rgba(3,11,18,.55);border-bottom:1px solid var(--line)}
.snapshot-rail{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-inline:contain;padding:4px 3px 12px;scrollbar-width:thin;scroll-snap-type:x proximity}
.snapshot-button{flex:0 0 88px;min-height:62px;padding:9px 8px;border:1px solid var(--line);border-radius:12px;background:#07131e;color:#668698;cursor:pointer;scroll-snap-align:center;text-align:left;transition:.18s ease}
.snapshot-button span{display:block;color:#456b7f;font:700 8px ui-monospace,monospace;letter-spacing:.08em}.snapshot-button b{display:block;margin-top:7px;color:#9ab9c9;font:700 12px ui-monospace,monospace}.snapshot-button.heat-ready{border-color:rgba(239,198,111,.25)}.snapshot-button.heat-ready span{color:var(--amber)}
.snapshot-button.active{border-color:rgba(126,220,255,.58);background:rgba(39,119,160,.18);box-shadow:0 0 22px rgba(75,180,230,.09)}.snapshot-button.active b{color:#effbff}
.rail-note{display:flex;justify-content:space-between;gap:18px;color:#557487;font:700 8px ui-monospace,monospace;letter-spacing:.09em}.rail-note b{color:#789aaa}
.lens-zone{display:flex;justify-content:space-between;gap:22px;align-items:end;padding:18px 22px;border-bottom:1px solid var(--line);background:rgba(5,14,22,.68)}
.lens-buttons{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.lens-button{border:1px solid var(--line);background:#07131e;color:#6f8c9d;border-radius:999px;padding:8px 11px;font:700 9px ui-monospace,monospace;letter-spacing:.08em}.lens-button.active{color:#e6f8ff;border-color:rgba(126,220,255,.5);background:rgba(37,119,163,.2)}.lens-button:disabled{opacity:.35}
.readiness{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.readiness span{padding:8px 10px;border:1px solid rgba(126,220,255,.10);border-radius:10px;color:#607f91;font:700 8px ui-monospace,monospace;letter-spacing:.08em}.readiness b{color:#c8e8f6;margin-left:4px}
.instrument-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(330px,.65fr)}.map-panel{border-right:1px solid var(--line)}
.panel-head,.ledger-head{display:flex;justify-content:space-between;align-items:end;gap:16px;padding:20px 22px;border-bottom:1px solid var(--line)}.panel-head h2,.ledger-head h2,.change-panel h2{margin:7px 0 0;font-size:23px}.confidence{display:flex;gap:12px;color:#607f91;font:600 9px ui-monospace,monospace;text-transform:uppercase}
.map-stage{position:relative;min-height:590px;overflow:hidden;background:linear-gradient(180deg,#0a1a24 0%,#06121a 100%)}
.map-stage::before{content:"";position:absolute;inset:7% 3% 11%;z-index:1;background:radial-gradient(circle at 50% 45%,rgba(126,220,255,.06),transparent 62%);pointer-events:none}
.coastline-map{position:absolute;inset:7% 3% 11%;width:94%;height:82%;object-fit:fill;opacity:1;filter:drop-shadow(0 0 5px rgba(77,157,190,.18));z-index:2}
.spatial-overlay{position:absolute;inset:7% 3% 11%;width:94%;height:82%;z-index:4;pointer-events:auto;overflow:visible}
.grid-tint{stroke:none}.grid-area{stroke-width:.28;stroke-dasharray:.75 .5;vector-effect:non-scaling-stroke;filter:url(#areaGlow);transition:opacity .3s ease}.grid-area.frozen{stroke-dasharray:none}
.flow-line{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke;filter:url(#flowGlow)}
.flow-node{stroke:#07131e;stroke-width:.16;vector-effect:non-scaling-stroke}.flow-halo{fill:none;stroke-width:.72;vector-effect:non-scaling-stroke}
.area-label-layer{position:absolute;inset:7% 3% 11%;z-index:5;pointer-events:none}.area-map-label{position:absolute;transform:translate(-50%,-50%);padding:3px 6px;border-radius:6px;background:rgba(3,10,15,.68);backdrop-filter:blur(3px);font:800 10px ui-monospace,monospace;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;text-shadow:0 1px 5px rgba(0,0,0,.9);border:1px solid color-mix(in srgb,var(--culture) 45%, transparent);color:var(--culture);pointer-events:auto;cursor:pointer;appearance:none;transition:opacity .18s ease,transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.map-status{position:absolute;left:18px;right:18px;bottom:15px;z-index:8;padding:13px 15px;border:1px solid var(--line);background:rgba(4,12,19,.86);backdrop-filter:blur(10px)}.map-status strong{display:block;margin-top:8px;color:#cce7f3;font-size:13px}.map-status small{display:block;margin-top:5px;color:#607d8e;line-height:1.45}
.proxy-badge,.data-chip{display:inline-block;padding:7px 9px;border:1px solid rgba(239,198,111,.25);border-radius:999px;color:var(--amber);font:700 9px ui-monospace,monospace;letter-spacing:.13em}
.proxy-badge.frozen{color:var(--green);border-color:rgba(117,235,186,.25)}
.ledger-panel{padding-bottom:20px}.ledger-intro{padding:0 22px;color:#708b9b;font-size:12px;line-height:1.55}.ledger{display:grid;gap:8px;padding:4px 20px}.flow-ledger{display:grid;gap:7px;padding:16px 20px 2px;border-top:1px solid var(--line);margin-top:12px}.flow-ledger::before{content:"INFLUENCE ARROWS";color:var(--amber);font:700 9px ui-monospace,monospace;letter-spacing:.14em;margin-bottom:2px}.flow-row{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid rgba(239,198,111,.14);border-radius:11px;background:rgba(18,15,8,.22);font-size:11px}.flow-row span{color:#9bb2bf}.flow-row b{color:var(--amber);font:700 9px ui-monospace,monospace;letter-spacing:.08em}
.ledger-row{position:relative;width:100%;padding:14px;border:1px solid color-mix(in srgb,var(--culture,var(--cyan)) 25%, var(--line));border-radius:14px;background:rgba(4,13,21,.62);color:inherit;text-align:left;overflow:hidden;appearance:none;cursor:pointer;transition:opacity .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}
.ledger-row::before{content:"";position:absolute;left:0;bottom:0;height:3px;width:var(--bar);background:var(--culture,var(--cyan));opacity:.72}.ledger-top{display:flex;justify-content:space-between;gap:12px}.ledger-name{font-weight:700;color:var(--culture,var(--text))}.ledger-code{color:#53788c;font:700 10px ui-monospace,monospace}.ledger-meta{display:flex;justify-content:space-between;gap:8px;margin-top:8px;color:#59798c;font:700 8px ui-monospace,monospace;text-transform:uppercase}
.empty-ledger{padding:18px;border:1px dashed var(--line);border-radius:14px;color:#638093;line-height:1.55}
.lower-grid{display:grid;grid-template-columns:1.15fr .85fr;border-top:1px solid var(--line)}.mechanism-panel{border-right:1px solid var(--line)}.mechanism-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:20px}.mechanism-card{padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(5,15,23,.7)}.mechanism-card span{color:var(--green);font:700 9px ui-monospace,monospace;letter-spacing:.13em}.mechanism-card strong{display:block;margin-top:8px;font-size:13px}.mechanism-card small{display:block;margin-top:6px;color:#6b8798;line-height:1.45}
.change-panel{padding:22px}.change-panel p{color:#7893a4;line-height:1.65}.change-meter{display:grid;grid-template-columns:92px 1fr 76px;gap:10px;align-items:center;margin-top:12px;color:#668598;font:700 9px ui-monospace,monospace;letter-spacing:.1em}.change-meter>div{height:6px;border-radius:999px;background:#07131e;overflow:hidden}.change-meter i{display:block;height:100%;width:var(--w,50%);background:linear-gradient(90deg,#286f94,var(--cyan));transition:width .3s ease}.change-meter b{color:#a8c7d7;font-size:9px}
.integrity-note{display:grid;grid-template-columns:.7fr 1.3fr;gap:30px;padding:28px;border-top:1px solid var(--line);background:rgba(4,12,19,.56)}.integrity-note h2{margin:8px 0 0;font-size:27px}.integrity-note p{margin:0;color:#809baa;line-height:1.7}
footer{display:flex;justify-content:space-between;gap:20px;padding:24px 5px 0;color:#587486;font:600 10px ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:1050px){.timeline-topbar{flex-wrap:wrap}.site-nav{order:3;width:100%}.timeline-hero,.instrument-grid,.lower-grid,.integrity-note{grid-template-columns:1fr}.map-panel,.mechanism-panel{border-right:0;border-bottom:1px solid var(--line)}.mechanism-list{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.ledger-row.is-highlighted .ledger-description{max-height:320px}.timeline-shell{width:calc(100% - 16px);padding-top:10px}.timeline-status,.site-nav{display:none}.timeline-hero{padding:34px 5px 24px}.hero-note{border-left:0;border-top:1px solid var(--line);padding-left:0}.instrument-head{align-items:flex-start;flex-direction:column}.year-line{display:block}.year-line span{display:block;margin-top:8px}.snapshot-zone{padding:14px 10px 10px}.snapshot-button{flex-basis:76px}.lens-zone{align-items:flex-start;flex-direction:column}.readiness{justify-content:flex-start}.map-stage{min-height:420px}.panel-head{align-items:flex-start;flex-direction:column}.confidence{display:none}.area-map-label{font-size:7px;padding:2px 4px}.mechanism-list{grid-template-columns:1fr}.change-meter{grid-template-columns:76px 1fr 62px}.integrity-note{padding:22px}footer{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.grid-area,.change-meter i{transition:none}}

/* Culture inspection interaction */
.culture-shape{pointer-events:all;cursor:pointer;transition:opacity .18s ease,filter .18s ease}
.culture-flow{pointer-events:none;transition:opacity .18s ease}
.culture-shape.is-dimmed{opacity:.10}
.culture-shape.is-highlighted{opacity:1;filter:drop-shadow(0 0 .85px var(--culture,#7edcff))}
.culture-flow.is-dimmed{opacity:.06!important}
.culture-flow.is-related{opacity:.58!important}
.culture-flow.is-highlighted{opacity:1!important}
.area-map-label.is-dimmed{opacity:.18}
.area-map-label.is-highlighted{opacity:1;transform:translate(-50%,-50%) scale(1.12);border-color:var(--culture);box-shadow:0 0 14px color-mix(in srgb,var(--culture) 38%, transparent)}
.ledger-row.is-dimmed{opacity:.34}
.ledger-row.is-highlighted{opacity:1;border-color:color-mix(in srgb,var(--culture) 72%, white 4%);background:color-mix(in srgb,var(--culture) 8%, rgba(4,13,21,.9));box-shadow:0 0 18px color-mix(in srgb,var(--culture) 13%, transparent)}
.ledger-row:focus-visible,.area-map-label:focus-visible{outline:2px solid var(--culture,var(--cyan));outline-offset:2px}
.ledger-description{display:block;max-height:0;opacity:0;overflow:hidden;margin-top:0;transition:max-height .24s ease,opacity .18s ease,margin-top .18s ease}
.ledger-row.is-highlighted .ledger-description{max-height:240px;opacity:1;margin-top:11px}
.culture-type{display:inline-block;padding:4px 6px;border:1px solid color-mix(in srgb,var(--culture) 32%, transparent);border-radius:999px;color:color-mix(in srgb,var(--culture) 82%, white 12%);font:700 8px ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase}
.culture-description{display:block;margin-top:8px;color:#a3bac7;font-size:11px;line-height:1.5}
.culture-carriers{display:block;margin-top:8px;color:#698797;font:600 9px ui-monospace,monospace;line-height:1.45}
.culture-carriers b{color:#89a7b8;letter-spacing:.08em;text-transform:uppercase}
.culture-hint{display:block;margin-top:8px;color:#506f82;font:700 8px ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase}
