@font-face { font-family: "Fraunces"; font-style: normal; font-weight: 300 900; font-display: swap;
  src: url(fonts/fraunces-normal-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Fraunces"; font-style: normal; font-weight: 300 900; font-display: swap;
  src: url(fonts/fraunces-normal-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Source Serif 4"; font-style: normal; font-weight: 200 900; font-display: swap;
  src: url(fonts/source-serif-4-normal-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Source Serif 4"; font-style: normal; font-weight: 200 900; font-display: swap;
  src: url(fonts/source-serif-4-normal-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Source Serif 4"; font-style: italic; font-weight: 200 900; font-display: swap;
  src: url(fonts/source-serif-4-italic-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Source Serif 4"; font-style: italic; font-weight: 200 900; font-display: swap;
  src: url(fonts/source-serif-4-italic-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
  --bg: #f4f0e8; --card: #fbf8f2; --ink: #1b1c20; --ink-soft: #4b4d55; --line: #d6cfc0; --grid: #e2dccf;
  --accent: #1f3f78; --accent-ink: #f4f0e8; --debt: #b8472e; --focus: #1d4ed8;
  --f-interest: #b87708; --f-GF10: #3c5a8a; --f-GF07: #3f8a7a; --f-GF09: #6f5aa8; --f-GF04: #7a8a3c; --f-GF01x: #8a7f6f; --f-GF03: #5a6f80; --f-GF02: #465246; --f-other: #b8ad98;
  --g-RO: #b8472e; --g-PL: #3c5a8a; --g-HU: #2c6e61; --g-EU27_2020: #6b6b6b; --g-DE: #1b1c20;
  --band0: #e7e0d2; --band1: #d8cfbd; --single: #1f3f78;
  --serif: "Source Serif 4", Georgia, serif; --display: "Fraunces", Georgia, serif; --sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; --bar-h: 3rem;
}
html[data-theme="dark"] {
  --bg: #14120f; --card: #1c1a16; --ink: #ece7dc; --ink-soft: #b0aa9e; --line: #36322b; --grid: #2a2722;
  --accent: #9db8f0; --accent-ink: #14120f; --debt: #f08a6e; --focus: #8ab4ff;
  --f-interest: #f0b43c; --f-GF10: #7f9fd6; --f-GF07: #6fc4b0; --f-GF09: #a896dc; --f-GF04: #b3c46a; --f-GF01x: #b3a996; --f-GF03: #8fa6b8; --f-GF02: #8a9a88; --f-other: #6f685c;
  --g-RO: #f08a6e; --g-PL: #7f9fd6; --g-HU: #6fc4b0; --g-EU27_2020: #b0aa9e; --g-DE: #ece7dc;
  --band0: #24211c; --band1: #302c25; --single: #9db8f0;
}
@media (prefers-color-scheme: dark) { html:not([data-theme="light"]) {
  --bg: #14120f; --card: #1c1a16; --ink: #ece7dc; --ink-soft: #b0aa9e; --line: #36322b; --grid: #2a2722;
  --accent: #9db8f0; --accent-ink: #14120f; --debt: #f08a6e; --focus: #8ab4ff;
  --f-interest: #f0b43c; --f-GF10: #7f9fd6; --f-GF07: #6fc4b0; --f-GF09: #a896dc; --f-GF04: #b3c46a; --f-GF01x: #b3a996; --f-GF03: #8fa6b8; --f-GF02: #8a9a88; --f-other: #6f685c;
  --g-RO: #f08a6e; --g-PL: #7f9fd6; --g-HU: #6fc4b0; --g-EU27_2020: #b0aa9e; --g-DE: #ece7dc;
  --band0: #24211c; --band1: #302c25; --single: #9db8f0;
} }
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--serif); font-size: 1.125rem; line-height: 1.62; }
a { color: var(--accent); text-underline-offset: .18em; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.skip { position: absolute; left: .5rem; top: -4rem; z-index: 60; background: var(--ink); color: var(--bg); padding: .5rem .9rem; border-radius: .3rem; }
.skip:focus { top: .5rem; }
.vh { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.topbar { position: sticky; top: 0; z-index: 30; display: flex; align-items: center; gap: .8rem; min-height: var(--bar-h); padding: .3rem 1rem;
  background: color-mix(in srgb, var(--bg) 92%, transparent); backdrop-filter: blur(8px); border-bottom: 1px solid var(--line); font-family: var(--sans); font-size: .9rem; }
.home { color: var(--ink); font-weight: 650; text-decoration: none; white-space: nowrap; }
.topnav { display: flex; gap: .95rem; overflow-x: auto; scrollbar-width: none; min-width: 0; flex: 1 1 auto; }
.topnav::-webkit-scrollbar { display: none; }
.topnav a { color: var(--ink-soft); text-decoration: none; white-space: nowrap; padding: .55rem 0; }
.topnav a[aria-current="true"], .topnav a:hover { color: var(--ink); box-shadow: inset 0 -2px 0 var(--debt); }
.chip { color: var(--ink); border: 1px solid var(--line); border-radius: 999px; padding: .3rem .7rem; text-decoration: none; white-space: nowrap; min-height: 44px; display: inline-flex; align-items: center; }
.icon-btn { width: 44px; height: 44px; flex: 0 0 44px; border-radius: 50%; border: 1px solid var(--line); background: transparent; color: var(--ink); display: inline-grid; place-items: center; cursor: pointer; }
.wrap { max-width: 44rem; margin: 0 auto; padding: 0 1.1rem; }
[id] { scroll-margin-top: calc(var(--bar-h) + .6rem); }
h1, h2, h3 { font-family: var(--display); font-weight: 600; line-height: 1.12; letter-spacing: -.01em; }
h1 { font-size: clamp(2.1rem, 5.4vw, 3.6rem); margin: .2em 0 .35em; }
h2 { font-size: clamp(1.6rem, 4vw, 2.5rem); margin: 0 0 .5em; }
h3 { font-size: 1.3rem; margin: 1.8em 0 .5em; }
p { margin: 0 0 1em; }
.kicker { font-family: var(--sans); font-size: .82rem; text-transform: uppercase; letter-spacing: .12em; color: var(--debt); font-weight: 650; margin: 0; }
.deck { font-size: 1.25rem; color: var(--ink-soft); }
.byline, .small, .unit { font-family: var(--sans); font-size: .85rem; color: var(--ink-soft); }
.hero { padding: 2.6rem 1.1rem 1rem; }
.chapter { padding: 4.5rem 0 1.5rem; border-top: 1px solid var(--line); }
.ch-num { font-family: var(--sans); color: var(--debt); font-size: .85rem; letter-spacing: .1em; text-transform: uppercase; display: block; margin-bottom: .5rem; font-weight: 650; }
.answer { background: var(--card); border: 1px solid var(--line); border-left: 4px solid var(--debt); border-radius: 10px; padding: 1rem 1.2rem; margin: 1.2rem 0 1.6rem; font-size: 1.15rem; }
.answer p:last-child { margin: 0; }
.fig-wide { max-width: 62rem; margin: 1.6rem auto 2rem; padding: 0 1.1rem; }
.fig-wide figcaption, .fig-wide .unit { font-family: var(--sans); font-size: .84rem; color: var(--ink-soft); margin-top: .6rem; max-width: 44rem; }
.chart { width: 100%; height: auto; display: block; font-family: var(--sans); overflow: visible; }
.chart text { fill: var(--ink-soft); font-size: 12px; }
.chart .gl { stroke: var(--grid); }
.chart .gl.zero { stroke: var(--ink-soft); }
.chart .gl.lim { stroke: var(--debt); stroke-dasharray: 4 3; }
.chart .rowl { fill: var(--ink); font-size: 14px; font-weight: 600; }
.chart .tot { fill: var(--ink); font-weight: 700; font-size: 14px; }
.chart .l100 { stroke: var(--ink); stroke-width: 2; }
.chart .l100t { fill: var(--ink); font-weight: 600; }
.chart .hatch { fill: none; stroke: var(--debt); stroke-width: 2.5; }
.chart .brace { fill: none; stroke: var(--debt); stroke-width: 2; }
.legend { list-style: none; padding: 0; margin: .7rem 0 0; display: flex; flex-wrap: wrap; gap: .3rem 1rem; font-family: var(--sans); font-size: .85rem; }
.legend i { display: inline-block; width: .8rem; height: .8rem; border-radius: 2px; margin-right: .35rem; vertical-align: -.05rem; }
.hatch-key { background: transparent; outline: 2.5px solid var(--debt); outline-offset: -2px; }
.chart .s-interest, .legend .s-interest { fill: var(--f-interest); background: var(--f-interest); }
.chart .s-GF10, .legend .s-GF10 { fill: var(--f-GF10); background: var(--f-GF10); }
.chart .s-GF07, .legend .s-GF07 { fill: var(--f-GF07); background: var(--f-GF07); }
.chart .s-GF09, .legend .s-GF09 { fill: var(--f-GF09); background: var(--f-GF09); }
.chart .s-GF04, .legend .s-GF04 { fill: var(--f-GF04); background: var(--f-GF04); }
.chart .s-GF01x, .legend .s-GF01x { fill: var(--f-GF01x); background: var(--f-GF01x); }
.chart .s-GF03, .legend .s-GF03 { fill: var(--f-GF03); background: var(--f-GF03); }
.chart .s-GF02, .legend .s-GF02 { fill: var(--f-GF02); background: var(--f-GF02); }
.chart .s-other, .legend .s-other { fill: var(--f-other); background: var(--f-other); }
.ctrl { font-family: var(--sans); display: flex; gap: 1rem; align-items: center; margin-bottom: .4rem; }
.ctrl label { font-size: .95rem; white-space: nowrap; }
.ctrl output { font-family: var(--display); font-size: 1.6rem; font-weight: 650; color: var(--ink); margin-left: .3rem; font-variant-numeric: tabular-nums; }
input[type="range"] { flex: 1; accent-color: var(--debt); min-height: 44px; }
.chart .band.b0 { fill: var(--band0); } .chart .band.b1 { fill: var(--band1); }
.chart .bandl { fill: var(--ink); font-size: 11px; }
.chart .ln { fill: none; stroke-width: 2.6; stroke-linejoin: round; }
.chart .ln.debt { stroke: var(--debt); }
.chart .lbl { font-weight: 650; font-size: 13px; }
.chart .lbl.debt { fill: var(--debt); } .chart .lbl.def { fill: var(--ink); }
.chart .bar { fill: var(--ink-soft); } .chart .bar.single { fill: var(--single); }
.chart .edp { stroke: var(--debt); stroke-dasharray: 2 3; } .chart .edpt { fill: var(--debt); font-size: 11px; }
.chart .ln.g-RO { stroke: var(--g-RO); } .chart .lbl.g-RO { fill: var(--g-RO); }
.chart .ln.g-PL { stroke: var(--g-PL); } .chart .lbl.g-PL { fill: var(--g-PL); }
.chart .ln.g-HU { stroke: var(--g-HU); } .chart .lbl.g-HU { fill: var(--g-HU); }
.chart .ln.g-EU27_2020 { stroke: var(--g-EU27_2020); } .chart .lbl.g-EU27_2020 { fill: var(--g-EU27_2020); }
.chart .ln.g-DE { stroke: var(--g-DE); } .chart .lbl.g-DE { fill: var(--g-DE); }
.chart .ln.g-RO { stroke-width: 3.6; }
table.data { border-collapse: collapse; width: 100%; font-family: var(--sans); font-size: .9rem; margin: .8rem 0; }
table.data th, table.data td { padding: .45rem .5rem; border-bottom: 1px solid var(--line); text-align: left; }
table.data td { font-variant-numeric: tabular-nums; }
table.data td.n, table.data tbody td:not(:first-child) { white-space: nowrap; }
.table-scroll { overflow-x: auto; }
details.tbl { margin: 1.2rem 0; font-family: var(--sans); }
details.tbl summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; font-weight: 600; color: var(--accent); }
.govs { font-family: var(--sans); font-size: .9rem; padding-left: 1.6rem; }
.govs li { margin: .2rem 0; } .govs span { color: var(--ink-soft); }
.rating-grid { display: grid; gap: 1.2rem; margin: 1.4rem 0; }
@media (min-width: 720px) { .rating-grid { grid-template-columns: 13rem 1fr; } }
.ladder { margin: 0; font-family: var(--sans); }
.ladder figcaption { font-size: .82rem; color: var(--ink-soft); margin-bottom: .4rem; }
.ladder ol { list-style: none; padding: 0; margin: 0; }
.ladder li { display: grid; grid-template-columns: 3.5rem 3.5rem 1fr; gap: .4rem; padding: .28rem .6rem; font-variant-numeric: tabular-nums; border-left: 4px solid var(--accent); }
.ladder li.sp { border-left-color: var(--ink-soft); color: var(--ink-soft); }
.ladder li.here { background: color-mix(in srgb, var(--debt) 16%, transparent); font-weight: 700; color: var(--ink); }
.ladder li.here + li { border-top: 2px solid var(--ink); }
.ladder b { color: var(--debt); }
.ladder .lg { font-size: .8rem; display: flex; gap: .8rem; margin-top: .4rem; }
.ladder .k::before { content: ""; display: inline-block; width: .7rem; height: .7rem; margin-right: .3rem; background: var(--accent); vertical-align: -.05rem; }
.ladder .k.sp::before { background: var(--ink-soft); }
.agencies { display: grid; gap: .9rem; }
.agency { background: var(--card); border: 1px solid var(--line); border-radius: 10px; padding: .9rem 1rem; }
.agency h3 { margin: 0; font-size: 1.1rem; }
.agency .rt { font-family: var(--display); font-size: 1.8rem; font-weight: 650; margin: .1rem 0; }
.agency .ol { font-family: var(--sans); font-size: .88rem; color: var(--debt); }
.agency p { font-size: 1rem; }
.sources { padding: 4rem 1.1rem 2rem; border-top: 1px solid var(--line); font-size: .95rem; }
.sources li { margin-bottom: .45rem; overflow-wrap: anywhere; }
.related { font-family: var(--sans); }
footer.site { border-top: 1px solid var(--line); padding: 2rem 1.1rem 4rem; font-family: var(--sans); font-size: .85rem; color: var(--ink-soft); text-align: center; }
footer.site a { color: var(--ink-soft); }
.nf { padding-top: 4rem; }
@media (max-width: 640px) {
  body { font-size: 1.06rem; }
  .topbar { gap: .5rem; padding: .3rem .6rem; } .home { font-size: .8rem; }
  .fig-wide .chart text { font-size: 17px; } .chart .rowl, .chart .tot { font-size: 18px; } .chart .bandl { font-size: 12px; } .chart .lbl { font-size: 16px; }
  .chapter { padding-top: 3.5rem; }
}
.tl-scroll { overflow-x: auto; }
@media (max-width: 640px) {
  .tl-scroll .chart { min-width: 720px; }
  .fig-wide .tl-scroll .chart text { font-size: 12px; }
  .fig-wide .tl-scroll .chart .bandl { font-size: 11px; }
  .fig-wide .tl-scroll .chart .lbl { font-size: 13px; }
}
@media (max-width: 640px) { .hero { padding-top: 1.4rem; } .deck { font-size: 1.1rem; } #din-100-de-lei { padding-top: 2.2rem; } }
.chart .edpzone { fill: var(--debt); fill-opacity: .08; }
