@font-face{font-family:"Source Serif 4";src:url(fonts/source-serif-4-normal-latin.woff2) format("woff2");font-weight:200 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:"Source Serif 4";src:url(fonts/source-serif-4-normal-latin-ext.woff2) format("woff2");font-weight:200 900;font-style:normal;font-display:swap;unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Source Serif 4";src:url(fonts/source-serif-4-italic-latin.woff2) format("woff2");font-weight:200 900;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F}
@font-face{font-family:"Source Serif 4";src:url(fonts/source-serif-4-italic-latin-ext.woff2) format("woff2");font-weight:200 900;font-style:italic;font-display:swap;unicode-range:U+0100-024F,U+1E00-1EFF}
@font-face{font-family:"IBM Plex Sans";src:url(fonts/IBMPlexSans-latin.woff2) format("woff2");font-weight:100 700;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+2212,U+2192,U+25CB,U+25CF,U+25CC,U+21BA}
@font-face{font-family:"IBM Plex Sans";src:url(fonts/IBMPlexSans-latin-ext.woff2) format("woff2");font-weight:100 700;font-display:swap;unicode-range:U+0100-024F,U+1E00-1EFF}

/* Light: paper and ink, one dark red for family killings and threads. Dark: the same at night. No decoration. */
:root{
  --bg:#f4efe8;--surface:#ece5dc;--card:#faf7f2;--text:#1d1714;--muted:#4c423c;--rule:#d8cec2;--line:#d8cec2;--fg:#1d1714;--mut:#7a6e66;
  --acc:#9c1f2b;--accent:#9c1f2b;--accent-ink:#8a1a25;--focus:#1f55b0;
  --mk:#3a312c;--mk-a:#3a312c;--mk-u:#b9ada2;--fam:#a3202d;--th:#c0262f;--th-r:#6c625b;--th-w:#c9a35a;--law:#1f55b0;
  --top-bg:#1d1714;--top-fg:#f4efe8;--top-mut:#bdb1a7;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;--sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--top:50px;color-scheme:light
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#141010;--surface:#1d1817;--card:#221c1a;--text:#f1e9e2;--muted:#cbbfb6;--rule:#3a302c;--line:#3a302c;--fg:#f1e9e2;--mut:#9d9087;
  --acc:#ff7b7f;--accent:#ff7b7f;--accent-ink:#ff8f92;--focus:#9cc4ff;
  --mk:#d9cdc4;--mk-a:#d9cdc4;--mk-u:#5b504a;--fam:#ff5a62;--th:#ff4f58;--th-r:#9d9087;--th-w:#e3bd6d;--law:#8fb6ff;
  --top-bg:#0b0808;--top-fg:#f1e9e2;--top-mut:#9d9087;color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#141010;--surface:#1d1817;--card:#221c1a;--text:#f1e9e2;--muted:#cbbfb6;--rule:#3a302c;--line:#3a302c;--fg:#f1e9e2;--mut:#9d9087;
  --acc:#ff7b7f;--accent:#ff7b7f;--accent-ink:#ff8f92;--focus:#9cc4ff;
  --mk:#d9cdc4;--mk-a:#d9cdc4;--mk-u:#5b504a;--fam:#ff5a62;--th:#ff4f58;--th-r:#9d9087;--th-w:#e3bd6d;--law:#8fb6ff;
  --top-bg:#0b0808;--top-fg:#f1e9e2;--top-mut:#9d9087;color-scheme:dark}
*{box-sizing:border-box}
[hidden]{display:none!important}
svg [hidden],svg[hidden]{display:none}
.defs{position:absolute;width:0;height:0;overflow:hidden}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--top) + 12px)}
body{margin:0;background:var(--bg);color:var(--text);font:400 18px/1.62 var(--serif);text-rendering:optimizeLegibility;overflow-x:hidden}
a{color:var(--accent-ink);text-underline-offset:2px}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
strong{font-weight:650}
.skip-link{position:absolute;left:-999px;top:8px;background:var(--surface);color:var(--text);padding:8px 12px;z-index:50}.skip-link:focus{left:8px}

/* top bar: slim, quiet */
.topbar{position:sticky;top:0;z-index:30;height:var(--top);display:flex;align-items:center;gap:10px;padding:0 14px;padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));background:var(--top-bg);color:var(--top-fg);font:500 14px/1 var(--sans)}
.brand{display:flex;align-items:center;gap:9px;color:var(--top-fg);text-decoration:none;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.brand-mark{flex:none;display:inline-flex;gap:3px}.brand-mark i{width:6px;height:6px;border-radius:50%;background:var(--top-fg)}.brand-mark i:last-child{background:none;box-shadow:inset 0 0 0 1.4px #ff8a74}
.topnav{display:flex;gap:16px;margin-left:12px}.topnav a{color:var(--top-mut);text-decoration:none;white-space:nowrap}.topnav a:hover{color:var(--top-fg)}
.spacer{flex:1}
.chip{color:var(--top-mut);text-decoration:none;padding:6px 7px;border-radius:6px}.chip[aria-current="page"]{color:var(--top-fg);background:rgba(255,255,255,.1)}
.icon-btn{flex:none;border:1px solid rgba(255,255,255,.18);background:transparent;color:var(--top-fg);border-radius:8px;width:36px;height:36px;display:grid;place-items:center;cursor:pointer}
:root[data-theme="dark"] .i-moon,:root:not([data-theme]) .i-moon{display:none}
:root[data-theme="light"] .i-sun{display:none}
@media (prefers-color-scheme:light){:root:not([data-theme]) .i-moon{display:inline}:root:not([data-theme]) .i-sun{display:none}}
@media (max-width:980px){.topnav{display:none}}

/* hero: the first cell of the story, beside the map */
.hero{grid-column:1;grid-row:1;padding:56px 0 30px}
.kicker{font:600 13px/1.35 var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--accent-ink);margin:0 0 12px}
h1{font:700 39px/1.1 var(--serif);margin:0 0 18px;letter-spacing:-.012em;text-wrap:balance}
.deck{font-size:19.5px;line-height:1.55;color:var(--muted);margin:0}
.deck strong{color:var(--text)}

/* the chart */
.chart{display:block;width:100%;height:auto}
.chart .yr{stroke:var(--text);opacity:.12}.chart .yl{font:500 15px var(--sans);fill:var(--muted)}
.chart .base{stroke:var(--text);opacity:.35}
.chart .law{stroke:var(--law);stroke-width:1.4;stroke-dasharray:3 4}.chart .lawt{font:600 17px var(--sans);fill:var(--law)}
.chart .mk{transition:fill .5s,stroke .5s,opacity .5s}
.chart .k-k,.chart .k-b{fill:var(--mk)}
.chart .k-a{fill:none;stroke:var(--mk-a);stroke-width:1.1}
.chart .k-u{fill:var(--mk-u)}
.chart .threads path{fill:none;stroke:var(--th);stroke-width:2.4;stroke-linecap:round;opacity:0;transition:opacity .6s,stroke .5s}
.chart .threads circle{opacity:0;transition:opacity .6s}
.chart .tp{fill:var(--card);stroke:var(--th);stroke-width:2}.chart .ta{fill:var(--th)}
[data-mode="hero"] .chart .mk{opacity:.5}[data-mode="family"] .chart .mk:not(.fam),[data-mode="threads"] .chart .mk,[data-mode="asked"] .chart .mk,[data-mode="granted"] .chart .mk{opacity:.22}
[data-mode="family"] .chart .mk.fam{opacity:1}
[data-mode="family"] .chart .k-k.fam,[data-mode="family"] .chart .k-b.fam{fill:var(--fam)}
[data-mode="family"] .chart .k-a.fam{stroke:var(--fam);stroke-width:1.4}
[data-mode="hero"] .chart .threads *,[data-mode="threads"] .chart .threads *,[data-mode="asked"] .chart .threads *,[data-mode="granted"] .chart .threads *{opacity:1}
[data-mode="asked"] .chart .threads path:not(.f){opacity:.18}
[data-mode="granted"] .chart .threads path.o-respins,[data-mode="granted"] .chart .tp.o-respins{stroke:var(--th-r)}
[data-mode="granted"] .chart .threads path.o-renuntare,[data-mode="granted"] .chart .tp.o-renuntare{stroke:var(--th-w)}
[data-mode="granted"] .chart .threads path.o-altul{opacity:.25}
.legend{display:flex;flex-wrap:wrap;gap:6px 14px;font:500 13px/1.3 var(--sans);color:var(--muted);margin:8px 2px 0}
.legend .lg{display:inline-block;width:11px;height:11px;border-radius:2px;margin-right:6px;vertical-align:-1px}
.legend .k-k{background:var(--mk)}.legend .k-a{border:1.4px solid var(--mk-a)}.legend .k-u{background:var(--mk-u)}.legend .k-k.fam{background:var(--fam)}
.legend .th{width:18px;height:8px;border:1.8px solid var(--th);border-bottom:0;border-radius:9px 9px 0 0}
.legend .o-admis{background:var(--th)}.legend .o-respins{background:var(--th-r)}.legend .o-renuntare{background:var(--th-w)}
.stagefig .legend .lo,.stagefig .legend .lt,.stagefig .legend .lf{display:none}
.stagefig[data-mode="family"] .legend .lf{display:inline}
.stagefig[data-mode="hero"] .legend .lt,.stagefig[data-mode="threads"] .legend .lt,.stagefig[data-mode="asked"] .legend .lt{display:inline}
.stagefig[data-mode="granted"] .legend .lo{display:inline}

/* the story: steps on the left, the chart pinned on the right */
.story{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:44px;max-width:1320px;margin:0 auto;padding:0 20px}
.hero{grid-column:1;grid-row:1;padding:56px 0 30px}
.stage{grid-column:2;grid-row:1/span 2;align-self:start;position:sticky;top:calc(var(--top) + 10px);height:calc(100vh - var(--top) - 20px);display:flex;align-items:center}
.stagefig{position:relative;margin:0;width:100%;border-radius:18px;background:var(--card);border:1px solid var(--rule);padding:16px 16px 10px}
.steps{grid-column:1;grid-row:2;padding:0 0 30vh}
.step{background:var(--card);border:1px solid var(--rule);border-radius:14px;padding:20px 22px 8px;margin:0 0 62vh;opacity:.55;transition:opacity .4s}
.step.on,.step:focus-within{opacity:1}
.step:first-child{margin-top:8vh}
.step h2{font:700 25px/1.18 var(--serif);margin:0 0 10px;text-wrap:balance}
.step p{margin:0 0 13px;font-size:17px;line-height:1.58}

.after{max-width:760px;margin:0 auto;padding:10px 20px 0}
.helpbox{border-left:4px solid var(--acc);background:var(--card);border-radius:8px;padding:12px 16px;font:500 16px/1.5 var(--sans)}
.helpbox p{margin:0}

/* EU chart */
.eu{display:block;width:100%;max-width:640px;height:auto;margin:10px 0 4px}
.eu .cn{font:500 13.5px var(--sans);fill:var(--muted)}.eu .vl{font:600 12.5px var(--sans);fill:var(--muted)}
.eu .gl{stroke:var(--rule);stroke-width:1.5}.eu .dot{fill:var(--mk)}
.eu .hl{fill:var(--acc);font-weight:700}.eu .dot.hl{fill:var(--acc)}.eu .eu{font-weight:700;fill:var(--text)}
#cty{font:500 17px var(--sans);padding:10px 12px;border-radius:9px;border:1px solid var(--rule);background:var(--card);color:var(--text);min-height:46px;max-width:100%;margin:0 0 10px}
.cout{font:500 16px/1.5 var(--sans);min-height:1.5em}
.limits{padding-left:20px}.limits li{margin:0 0 8px}
h3{font:700 21px/1.2 var(--serif);margin:22px 0 10px}
/* sections */
.sec{max-width:760px;margin:0 auto;padding:46px 20px 6px}
.sec.wide{max-width:1240px}
.sec h2{font:700 30px/1.16 var(--serif);margin:0 0 14px;text-wrap:balance}
.sec p{margin:0 0 15px}
.anchor{margin-left:8px;font:500 16px var(--sans);color:var(--muted);text-decoration:none;opacity:0}
h2:hover .anchor,.anchor:focus-visible{opacity:1}
.help{font:500 15px/1.5 var(--sans);color:var(--muted);margin:0 0 14px}
/* table */
.tablewrap{overflow-x:auto;border:1px solid var(--rule);border-radius:12px;background:var(--card)}
.tbl{border-collapse:collapse;width:100%;font:500 14.5px/1.35 var(--sans);font-variant-numeric:tabular-nums}
.tbl th,.tbl td{padding:8px 10px;border-bottom:1px solid var(--rule);text-align:right;white-space:nowrap}
.tbl th:first-child{text-align:left}
.tbl thead th{font-weight:600;color:var(--muted);background:var(--surface);position:sticky;top:0}
.tbl tr.dia th,.tbl tr.dia td{border-top:2px solid var(--rule)}
/* sources, share, footer */
.sources{font-size:15.5px;padding-left:20px}.sources li{margin:0 0 8px}
.share{margin:16px 0 4px}.share-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.share-label{font:600 14px var(--sans);margin-right:4px;color:var(--muted)}
.ic{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer}
.ic:hover,.ic:focus-visible{color:var(--accent);border-color:var(--accent)}
@media (pointer:coarse){.ic{width:44px;height:44px}}
.share-msg{font:500 13px var(--sans);color:var(--muted);margin:6px 0 0;min-height:1em}
.site-footer{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;padding:26px 16px 40px;margin-top:40px;font:500 14px var(--sans);color:var(--muted);border-top:1px solid var(--rule)}
.site-footer a{color:var(--muted)}
.place-page main{max-width:640px;margin:10vh auto;padding:0 20px}
.place-page img{max-width:100%;height:auto;border-radius:10px;border:1px solid var(--rule)}
.tbl tbody tr.on{background:var(--surface)}

@media (max-width:900px){
  .hero{padding:18px 16px 12px}
  .kicker{margin-bottom:6px}
  h1{font-size:28px;margin-bottom:10px}
  .deck{font-size:16.5px;line-height:1.5}
  .story{display:block;padding:0}
  .stage{position:sticky;top:var(--top);height:auto;z-index:5;background:var(--bg);padding:6px 8px 4px;border-bottom:1px solid var(--rule);display:block}
  .stagefig{border-radius:10px;padding:6px 6px 4px}
  .chart{max-height:34svh;width:100%}
  .legend{font-size:11.5px;gap:3px 10px;margin-top:4px}
  .steps{padding:4vh 14px 20vh}
  .step{margin:0 0 46vh;padding:16px 16px 6px;opacity:1}
  .step:first-child{margin-top:4vh}
  .step h2{font-size:22px}.step p{font-size:16.5px}
  .sec{padding:36px 16px 4px}.sec h2{font-size:25px}
  body{font-size:17.5px}
  .tbl{font-size:13.5px}.tbl th,.tbl td{padding:7px 8px}
  .after{padding:10px 16px 0}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* reading rail: dots in the gutter beside the widest column, labels on hover only */
.rail{display:none}
@media(min-width:1360px){
.rail{--col:1240px;--gut:1.25rem;display:flex;flex-direction:column;position:fixed;top:50%;left:calc(50% + var(--col)/2 + var(--gut));transform:translateY(-50%);z-index:40;margin:0;padding:.4rem 0;max-height:calc(100vh - 7rem)}
.rail::before{content:"";position:absolute;left:calc(.875rem - .5px);top:1.1rem;bottom:1.1rem;width:1px;background:var(--line)}
.rail-dot{position:relative;display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;text-decoration:none;border-radius:50%}
.rail-dot .dot{width:7px;height:7px;border-radius:50%;background:var(--mut);box-shadow:0 0 0 3px var(--bg);transition:transform .2s,background .2s;flex:none}
.rail-dot:hover .dot,.rail-dot:focus-visible .dot{background:var(--acc);transform:scale(1.25)}
.rail-dot[aria-current=true] .dot{background:var(--acc);transform:scale(1.45)}
.rail-label{position:absolute;right:calc(100% + .3rem);top:50%;transform:translate(6px,-50%);padding:.22rem .65rem;border:1px solid var(--line);border-radius:.5rem;background:var(--bg);color:var(--fg);box-shadow:0 6px 20px rgba(0,0,0,.14);font:600 .82rem/1.3 var(--sans);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s}
.rail-dot:hover .rail-label,.rail-dot:focus-visible .rail-label{opacity:1;transform:translate(0,-50%)}
}
@media(prefers-reduced-motion:reduce){.rail .dot,.rail-label{transition:none}}
@media(forced-colors:active){.rail::before{background:CanvasText}.rail-dot .dot{background:CanvasText;box-shadow:none}.rail-dot[aria-current=true] .dot{background:Highlight}}
.rail{transition:opacity .3s}.rail.away{opacity:0;pointer-events:none}

/* the threads one by one */
.ledger{list-style:none;padding:0;margin:8px 0 0;columns:2 520px;column-gap:40px}
.ledger li{break-inside:avoid;padding:8px 0 9px;border-bottom:1px solid var(--rule)}
.ledger .lw{display:block;font:600 13px/1.3 var(--sans);color:var(--muted)}
.ledger .lbar{display:block;width:100%;height:18px;margin:3px 0}
.ledger .lt{stroke:var(--rule);stroke-width:2}
.ledger .lg{stroke:var(--th);stroke-width:4;stroke-linecap:round}.ledger .lg.o-respins{stroke:var(--th-r)}.ledger .lg.o-renuntare{stroke:var(--th-w)}.ledger .lg.o-altul{stroke:var(--mk-u)}
.ledger .tp{fill:var(--card);stroke:var(--th);stroke-width:2}.ledger .tp.o-respins{stroke:var(--th-r)}.ledger .tp.o-renuntare{stroke:var(--th-w)}.ledger .tp.o-altul{stroke:var(--mk-u)}
.ledger .ta{fill:var(--text)}
.ledger .ld{display:block;font:500 14.5px/1.45 var(--sans);color:var(--text)}
.ledger .ld b{font-weight:700}
