/* Fusionsindex — ranking table with weighted pillars.
   The table spans the full width; entry details open in a row below. */
.rk-page{--rk-max:118rem;padding-bottom:var(--s6)}
.rk-intro,.rk-wrap{width:min(calc(100% - 2.5rem),var(--rk-max));margin:auto}
.rk-intro{padding:var(--s6) 0 var(--s4)}
.rk-intro h1{margin:.4rem 0 1rem}
.rk-intro p{max-width:70ch}

/* opinion notice, top of the methodology page */

/* pillar colours: weight bar, legend and header swatches */
.rk-c1{background:#1a1a1a}
.rk-c2{background:#55524b}
.rk-c3{background:#858278}
.rk-c4{background:#b1aea4}
.rk-c5{background:#d3d0c5}
.rk-sw{display:inline-block;flex:none;width:.6rem;height:.6rem;margin-right:.4rem;border-radius:.1rem}

/* highlights above the table */
.rk-highlights{margin-bottom:var(--s4)}
.rk-highlights h2{margin:0 0 1rem;font-size:var(--text-h3)}
.rk-highlights ul{margin:0;padding-left:1.25rem}
.rk-highlights li{margin-block:.35rem}

/* controls */
.rk-controls{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:.25rem;padding-top:1.25rem;border-top:.0625rem solid var(--color-border)}
.rk-field input{width:100%;min-height:2.6rem;padding:.5rem .75rem;border:.0625rem solid var(--color-input-border);border-radius:.5rem;background:var(--color-soft);color:var(--color-text-primary);font:1rem 'Open Sans',Arial,sans-serif}
.rk-field input::placeholder{color:#8a877f}
.rk-field{flex:0 1 16rem}
.rk-field-country{flex:0 1 31rem}
/* the country field looks like a dropdown; typing still filters, the datalist suggests countries */
.rk-field-country input{padding-right:2.5rem;background:var(--color-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M3 6l5 5 5-5' fill='none' stroke='%23595959' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right .8rem center}
.rk-field-country input::-webkit-calendar-picker-indicator{opacity:0}
.rk-field-sort{display:none;align-items:center;gap:.6rem}
.rk-field-sort label{flex:none;font:.95rem 'Open Sans',Arial,sans-serif;color:var(--color-text-secondary)}
.rk-field-sort select{flex:1;min-width:0;min-height:2.6rem;padding:.5rem 2.5rem .5rem .75rem;border:.0625rem solid var(--color-input-border);border-radius:.5rem;background:var(--color-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M3 6l5 5 5-5' fill='none' stroke='%23595959' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right .8rem center;color:var(--color-text-primary);font:1rem 'Open Sans',Arial,sans-serif;appearance:none;-webkit-appearance:none}

/* table */
.rk-table-wrap{overflow-x:auto}
.rk-table{width:100%;border-collapse:separate;border-spacing:0;font:1.1rem 'Open Sans',Arial,sans-serif}
.rk-table th,.rk-table td{padding:1.6rem .85rem;text-align:left;vertical-align:middle;border-bottom:.0625rem solid var(--color-border)}
.rk-table thead th{padding-top:.6rem;position:sticky;top:0;z-index:2;vertical-align:bottom;background:var(--color-bg);font:700 .88rem/1.25 'Open Sans',Arial,sans-serif;white-space:normal;hyphens:auto;-webkit-hyphens:auto;border-bottom-color:var(--color-text-primary)}
.rk-table thead th button{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.3rem;padding:.2rem 0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.rk-table thead th button{flex-direction:row;align-items:flex-end}
.rk-table thead th.rk-num button{text-align:center}
.rk-table thead th button:hover .rk-h{text-decoration:underline}
.rk-table thead th.rk-num,.rk-table thead th.rk-col-rank{text-align:center}
.rk-table thead th.rk-num button{justify-content:center}
.rk-sort{display:inline-flex;flex:none;opacity:.35}
.rk-sort .arrow-icon{width:.85rem;height:.85rem}
.rk-table thead th[aria-sort] .rk-sort{opacity:1}
.rk-col-rank{width:5.5rem}
.rk-col-overall{width:8rem}
.rk-pillar{width:8.5rem}
/* break "Internationale Vernetzung" between the words, never inside one */
.rk-table thead th[data-sort="vernetzung"]{hyphens:manual;-webkit-hyphens:manual}
.rk-table .rk-num,.rk-table .rk-rank{text-align:center;vertical-align:middle}
.rk-num{font-family:Georgia,serif;font-size:1.5rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.rk-rank{font:700 1.75rem Georgia,serif;font-variant-numeric:tabular-nums;white-space:nowrap}
/* banded ranks ("51–60") are wider than a single rank */
.rk-rank.is-band{font-size:1.05rem}
.rk-name{min-width:18rem;font:1.4rem/1.3 'Open Sans',Arial,sans-serif}
.rk-name b{display:block;font-weight:700}
.rk-meta{display:flex;flex-wrap:wrap;gap:.35rem 1.25rem;margin-top:.45rem;font:1.02rem 'Open Sans',Arial,sans-serif;color:var(--color-text-secondary)}
.rk-tag-i{display:inline-flex;align-items:center;gap:.35rem}
.rk-tag-i svg{flex:none;width:1.1em;height:1.1em}
.rk-row{cursor:pointer}
.rk-row:hover,.rk-row.is-open{background:var(--color-soft)}
/* the open row and its detail read as one rounded block */
.rk-row.is-open td:first-child{border-top-left-radius:.75rem}
.rk-row.is-open td:last-child{border-top-right-radius:.75rem}
.rk-row:focus-visible{outline:.125rem solid var(--color-accent-primary);outline-offset:-.125rem}
.rk-row.is-unranked .rk-name b{color:var(--color-text-secondary)}
.rk-na{color:var(--color-text-secondary)}

.rk-overall{font-weight:700;font-size:1.65rem}

.rk-tag{display:inline-flex;margin-top:.35rem;padding:.15rem .55rem;border:.0625rem solid var(--color-border);border-radius:var(--pill);font:.75rem 'Open Sans',Arial,sans-serif;color:var(--color-text-secondary);white-space:nowrap}
.rk-empty{padding:2rem 0;color:var(--color-text-secondary)}

/* entry card: inline detail row or side panel */
.rk-detail td{padding-top:.25rem;border-radius:0 0 .75rem .75rem;border-bottom-color:transparent;background:var(--color-soft)}
.rk-detail .rk-card{position:sticky;left:.6rem;max-width:min(40rem,calc(100vw - 4rem));padding-bottom:.5rem}
.rk-card-kicker{margin:0 0 .35rem;font:700 .74rem 'Open Sans',Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-secondary)}
.rk-card-name{margin:0;font:1.6rem/1.2 Georgia,serif}
.rk-card .rk-meta{margin:.45rem 0 0}
.rk-card-overall{display:flex;align-items:baseline;gap:.6rem;margin:1rem 0 1.1rem;font:.85rem 'Open Sans',Arial,sans-serif;color:var(--color-text-secondary)}
.rk-big{font:2.6rem/1 Georgia,serif;font-variant-numeric:tabular-nums;color:var(--color-text-primary)}
.rk-card-note{margin:1rem 0 1.1rem;padding:.7rem .9rem;border-radius:.3rem;background:var(--color-bg);font:.88rem/1.55 'Open Sans',Arial,sans-serif}
.rk-bars{display:grid;gap:.7rem;margin:0 0 1.2rem;padding:0;list-style:none}
.rk-bars li{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:.3rem .75rem;font:.85rem 'Open Sans',Arial,sans-serif}
.rk-bar-l{display:flex;align-items:center;flex-wrap:wrap;gap:0 .3rem}
.rk-bar-v{font-family:Georgia,serif;font-size:1rem;font-weight:700;font-variant-numeric:tabular-nums}
.rk-bar{grid-column:1/-1;height:.4rem;border-radius:1rem;background:var(--color-bg);overflow:hidden}
.rk-bar i{display:block;height:100%;background:var(--color-accent-primary)}
.rk-card dl{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;margin:0 0 .9rem;font:.88rem 'Open Sans',Arial,sans-serif}
.rk-card dt{color:var(--color-text-secondary)}
.rk-card dd{margin:0}
.rk-src{margin:0 0 .4rem;font:.8rem/1.6 'Open Sans',Arial,sans-serif;color:var(--color-text-secondary)}

/* methodology */
/* methodology: one readable, centred column with the sections under each other */
html[data-page="fusionsindex/methodik"] .rk-page{--rk-max:60rem}
.rk-method{margin-top:0}
.rk-method h2{margin:0 0 1.25rem}
.rk-method-lead p,.rk-method-cols p,.rk-method-cols li{max-width:none;font-size:1.2rem}
.rk-method-lead p{margin:0 0 1rem}
.rk-weightbar{display:flex;height:.9rem;margin:1.5rem 0;border-radius:1rem;overflow:hidden}
.rk-weightbar i{display:block;height:100%}
.rk-pillars{display:grid;grid-template-columns:1fr;gap:1rem}
.rk-pillar-card{display:flex;flex-direction:column;padding:1.2rem;border:.0625rem solid var(--color-border);border-radius:.55rem;background:var(--color-bg);font:1.1rem/1.55 'Open Sans',Arial,sans-serif}
.rk-pillar-card p{max-width:none;margin:0 0 .9rem}
.rk-pillar-card .rk-pillar-w{display:flex;align-items:center;margin:0;font:2.3rem/1 Georgia,serif}
/* each pillar card is outlined in its pillar's colour from the weight bar */
.rk-pillar-card[class*=rk-pillar-c]{border-width:.125rem}
.rk-pillar-c1{border-color:#1a1a1a}.rk-pillar-c2{border-color:#55524b}.rk-pillar-c3{border-color:#858278}.rk-pillar-c4{border-color:#b1aea4}.rk-pillar-c5{border-color:#d3d0c5}
.rk-pillar-card h3{margin:.5rem 0;font:1.6rem/1.2 Georgia,serif}
.rk-pillar-card ul{margin:0 0 .9rem;padding:0;list-style:none;border-top:.0625rem solid var(--color-border)}
.rk-pillar-card li{display:flex;justify-content:space-between;gap:.75rem;padding:.45rem 0;border-bottom:.0625rem solid var(--color-border)}
.rk-pillar-card li b{font-family:Georgia,serif;font-weight:400;white-space:nowrap}
.rk-method-cols{display:grid;grid-template-columns:1fr;gap:2.5rem;margin-top:var(--s5)}
.rk-method-cols h3{margin:0 0 .75rem;font-size:1.75rem}
.rk-method-cols ol{padding-left:1.25rem}
.rk-sources{max-width:none;margin:var(--s4) 0 0;font:.85rem/1.6 'Open Sans',Arial,sans-serif;color:var(--color-text-secondary)}

.rk-more{max-width:none;margin:var(--s4) 0 0;font:1rem/1.6 'Open Sans',Arial,sans-serif;color:var(--color-text-secondary)}
.rk-more a{color:var(--color-text-primary)}

/* disclaimer */
.rk-disclaimer{margin:var(--s5) 0 0;padding:1.1rem 1.35rem;border-radius:.55rem;background:var(--color-paper);font:.95rem/1.65 'Open Sans',Arial,sans-serif}
.rk-disclaimer h2{margin:0 0 .5rem;font:700 .78rem 'Open Sans',Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.rk-disclaimer p{max-width:none;margin:0 0 .6rem}
.rk-disclaimer p:last-child{margin-bottom:0}

@media(min-width:48rem){
  .rk-intro,.rk-wrap{width:min(calc(100% - 5rem),var(--rk-max))}
}
@media(min-width:64rem){
  
  .rk-disclaimer{padding:1.5rem 1.75rem}
}
@media(min-width:64rem){
  .rk-detail .rk-card{position:static;display:grid;grid-template-columns:minmax(14rem,1fr) minmax(20rem,1.5fr) minmax(16rem,1fr);align-items:start;gap:0 3rem;max-width:none;padding:.5rem .4rem 1.25rem}
  .rk-detail .rk-bars{margin-bottom:0}
}
@media(min-width:88rem){
  /* nothing scrolls sideways at this width, so the head can stick to the page */
  .rk-table-wrap{overflow:visible}
  .rk-table thead th{top:var(--rk-top,0)}
}
/* mid-size screens: narrower columns so the table scrolls less */
@media(min-width:75rem) and (max-width:85rem){
  .rk-table th,.rk-table td{padding-inline:.55rem}
  .rk-name{min-width:13rem}
  .rk-pillar{width:7rem}
}
/* full table: the six score columns share the width the name leaves equally */
@media(min-width:75rem){
  .rk-col-overall,.rk-pillar{width:14%}
}
/* wide enough for every name on one line without scrolling sideways */
@media(min-width:88rem){
  .rk-name b{white-space:nowrap}
}
/* below 75rem the full table no longer fits: every entry becomes a card – rank, name and overall score on
   top, the five pillar scores below, each labelled from data-label */
@media(max-width:74.99rem){
  .rk-field,.rk-field-country,.rk-field-sort{flex:1 1 100%}
  .rk-field-sort{display:flex}
  .rk-controls{margin-bottom:.5rem}
  .rk-table-wrap{overflow:visible}
  .rk-table,.rk-table tbody{display:block}
  .rk-table thead{display:none}
  .rk-row{display:grid;grid-template-columns:3rem repeat(5,minmax(0,1fr));gap:.9rem .35rem;padding:1.15rem .5rem 1.15rem .25rem;border-bottom:.0625rem solid var(--color-border)}
  .rk-table .rk-row td{display:block;padding:0;border:0}
  .rk-table .rk-row .rk-rank{grid-column:1;grid-row:1;align-self:start;text-align:left;font-size:1.2rem;line-height:1.3}
  .rk-table .rk-row .rk-rank.is-band{font-size:.85rem;line-height:1.85}
  .rk-table .rk-row .rk-name{grid-column:2/6;grid-row:1;min-width:0;font-size:1.1rem}
  .rk-table .rk-row .rk-overall{grid-column:6;grid-row:1;align-self:start;font-size:1.45rem}
  .rk-table .rk-row td:nth-child(4){grid-column:2;grid-row:2}
  .rk-table .rk-row td:nth-child(5){grid-column:3;grid-row:2}
  .rk-table .rk-row td:nth-child(6){grid-column:4;grid-row:2}
  .rk-table .rk-row td:nth-child(7){grid-column:5;grid-row:2}
  .rk-table .rk-row td:nth-child(8){grid-column:6;grid-row:2}
  .rk-table .rk-row .rk-num{font-size:1.1rem}
  .rk-table .rk-row .rk-overall{font-size:1.45rem}
  .rk-table .rk-row td[data-label]::before{content:attr(data-label);display:block;margin-bottom:.2rem;font:600 .6rem/1.2 'Open Sans',Arial,sans-serif;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .rk-meta{gap:.2rem .85rem;font-size:.86rem}
  .rk-detail,.rk-table .rk-detail td{display:block}
  .rk-row.is-open{border-radius:.75rem .75rem 0 0}
  .rk-table .rk-detail td{padding:0 .25rem 1.25rem;border-bottom:0}
  .rk-detail .rk-card{position:static;max-width:none}
  .rk-empty{display:block}
}

/* Fusionsindex print view: the full table on A4, laid out like the PDF. */
.rk-actions{margin-top:var(--s4)}
.rk-h-short{display:none}
@media print{
  @page{size:A4;margin:14mm 16mm}
  html[data-page="fusionsindex"] body{background:#fff}
  html[data-page="fusionsindex"] :is(.skip-link,.site-header,.site-footer,.page-back-wrap,.rk-highlights,.rk-controls,.rk-actions,.rk-detail,.rk-sort,.rk-tag-i svg,#cursor-dot,#cursor-ring){display:none !important}
  html[data-page="fusionsindex"] main::before{content:"Bundesverband für Kernfusion e.V.";display:block;padding-bottom:5mm;border-bottom:.3mm solid #1a1a1a;font:11pt Georgia,serif}
  .rk-intro,.rk-wrap{width:auto;margin:0;padding:0}
  .rk-intro h1{margin:10mm 0 3mm;font-size:30pt}
  .rk-intro p{margin:0 0 6mm;font-size:10pt}
  .rk-table{display:table;font-size:9pt}
  .rk-table thead{display:table-header-group}
  .rk-table tbody{display:table-row-group}
  .rk-table thead th{position:static;padding:0 1.5mm 2mm;background:none;font:400 9pt/1.2 Georgia,serif}
  .rk-table thead th button{display:contents}
  .rk-table thead .rk-pillar .rk-h{display:none}
  .rk-table thead .rk-h-short{display:inline}
  .rk-table{table-layout:fixed}
  .rk-table thead th.rk-col-rank{width:10%}
  .rk-table thead th:nth-child(2){width:36%}
  .rk-table thead th.rk-num{width:9%}
  .rk-table thead th.rk-num{text-align:right}
  .rk-table thead th.rk-col-rank{text-align:left}
  .rk-row,.rk-table .rk-row{display:table-row;padding:0;break-inside:avoid}
  .rk-row:hover{background:none}
  .rk-table .rk-row td{display:table-cell;padding:1.6mm 1.5mm;border-bottom:.2mm solid #d4d0c8;vertical-align:top}
  .rk-table .rk-row td[data-label]::before{content:none}
  .rk-table .rk-row .rk-rank,.rk-table .rk-row .rk-rank.is-band{text-align:left;font:400 10pt/1.35 Georgia,serif}
  .rk-table .rk-row .rk-name{min-width:0;font:9pt/1.35 'Open Sans',Arial,sans-serif}
  .rk-name b{font-weight:600}
  .rk-meta{display:block;margin-top:.5mm;font-size:7.5pt}
  .rk-tag-i{display:inline}
  .rk-tag-i+.rk-tag-i::before{content:", "}
  .rk-table .rk-row td.rk-num{width:auto;text-align:right;font:9pt/1.35 'Open Sans',Arial,sans-serif;font-variant-numeric:tabular-nums}
  .rk-table .rk-row td.rk-overall{font-weight:700}
  .rk-more{margin-top:6mm;font-size:9pt}
}
