:root{
  --bg:#07101c;
  --panel:#0f1a2a;
  --panel2:#142033;
  --line:rgba(182,199,223,.16);
  --line-strong:rgba(182,199,223,.26);
  --text:#eef2f6;
  --muted:#9ba8ba;
  --blue:#74abd8;
  --green:#6ac58b;
  --red:#e7847c;
  --gold:#f3be36;
  --silver:#d6dde8;
  --bronze:#dd9147;
  --yellow:#ddc36b;
  --shadow:0 16px 42px rgba(0,0,0,.28);
}
*{box-sizing:border-box}
html,body{width:100%;height:100%;overflow:hidden}
html{color-scheme:dark}
body{
  margin:0;
  background:
    radial-gradient(circle at 13% 0%,rgba(42,116,181,.14),transparent 31%),
    linear-gradient(180deg,#07101c 0%,#081321 45%,#07101b 100%);
  color:var(--text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
button,select,input{font:inherit}
button{color:inherit}
.app-shell{
  width:min(1920px,calc(100vw - clamp(12px,1.5vw,26px)));
  height:100vh;height:100svh;height:100dvh;
  margin:0 auto;
  padding:clamp(8px,1dvh,14px) 0;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  gap:clamp(7px,.85dvh,12px);
  overflow:hidden;
}
.topbar{
  display:flex;
  align-items:center;
  gap:clamp(12px,1.2vw,22px);
  min-height:0;
  padding:0 clamp(4px,.3vw,8px);
}
.brand-mark{
  width:clamp(54px,6.8dvh,74px);
  height:clamp(54px,6.8dvh,74px);
  flex:0 0 auto;
  border-radius:clamp(13px,1.6dvh,18px);
  background:linear-gradient(145deg,#2b2b25,#141b27);
  border:1px solid rgba(243,190,54,.14);
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:clamp(4px,.45dvh,6px);
  padding:clamp(10px,1.35dvh,14px);
  box-shadow:var(--shadow);
}
.brand-mark span{display:block;width:18%;border-radius:3px 3px 1px 1px;background:linear-gradient(180deg,#ffd454,#e8a817);box-shadow:0 0 12px rgba(243,190,54,.16)}
.brand-mark span:nth-child(1){height:42%}.brand-mark span:nth-child(2){height:82%}.brand-mark span:nth-child(3){height:60%}
.title-block{min-width:0}
.title-line{display:flex;align-items:baseline;gap:clamp(8px,.7vw,13px)}
.title-line h1,.year-select{
  margin:0;
  font-size:clamp(2rem,4.8dvh,3.8rem);
  line-height:.92;
  letter-spacing:-.045em;
  font-weight:900;
}
.title-line h1{white-space:nowrap}
.year-select{
  appearance:none;background:transparent;border:0;color:var(--text);padding:0 1.05em 0 0;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,#8ea0b8 50%),linear-gradient(135deg,#8ea0b8 50%,transparent 50%);
  background-position:calc(100% - .55em) 55%,calc(100% - .38em) 55%;background-size:.16em .16em,.16em .16em;background-repeat:no-repeat;
}
.year-select:focus{outline:1px solid rgba(120,184,245,.4);border-radius:8px}
#headerSubline{margin:clamp(4px,.55dvh,7px) 0 0;color:var(--muted);font-size:clamp(.74rem,1.35dvh,.98rem);font-weight:650}
main{
  min-height:0;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:clamp(6px,.7dvh,10px);overflow:hidden;
}
.week-nav{
  display:grid;grid-template-columns:minmax(230px,1fr) clamp(48px,5.5dvh,62px) clamp(48px,5.5dvh,62px) minmax(230px,1fr);
  gap:clamp(8px,.8vw,14px);align-items:stretch;padding:0 clamp(3px,.25vw,6px);
}
.week-card,.week-arrow{border:1px solid var(--line-strong);background:linear-gradient(180deg,rgba(20,32,51,.95),rgba(12,22,36,.98));box-shadow:0 7px 20px rgba(0,0,0,.18)}
.week-card{min-height:clamp(56px,7dvh,76px);border-radius:clamp(11px,1.35dvh,16px);padding:clamp(7px,.9dvh,11px) clamp(13px,1.2vw,22px);text-align:left;display:grid;align-content:center;gap:1px;cursor:default}
.week-card--next{cursor:pointer;text-align:right}
.week-card--next:hover{border-color:rgba(120,184,245,.48);background:linear-gradient(180deg,rgba(25,40,63,.98),rgba(13,24,39,.98))}
.week-card__label{font-size:clamp(.56rem,.88dvh,.72rem);font-weight:900;letter-spacing:.065em;color:#8eafe0}
.week-card__kw{font-size:clamp(1.18rem,2.2dvh,1.7rem);font-weight:900;line-height:1.05}
.week-card__date{font-size:clamp(.72rem,1.18dvh,.95rem);font-weight:550;color:#c1ccdb;white-space:nowrap}
.week-arrow{border-radius:clamp(11px,1.35dvh,16px);cursor:pointer;font-size:clamp(1.7rem,3.5dvh,2.6rem);font-weight:300;line-height:1;display:grid;place-items:center;padding:0;transition:.15s ease}
.week-arrow:hover:not(:disabled){transform:translateY(-1px);border-color:rgba(120,184,245,.52);background:#18283d}
.week-arrow:disabled{opacity:.25;cursor:not-allowed}
.global-note,.status{margin:0 clamp(3px,.25vw,6px);padding:clamp(5px,.65dvh,8px) clamp(10px,.8vw,14px);border-radius:10px;font-size:clamp(.62rem,1dvh,.82rem)}
.global-note{border:1px solid rgba(243,190,54,.24);background:rgba(243,190,54,.07);color:#edd993}
.status{text-align:center;color:var(--muted);border:1px solid var(--line);background:rgba(14,24,39,.84)}
.status.error{color:#ffaaa4;border-color:rgba(255,118,109,.3)}
.hidden{display:none!important}
.boards-grid{
  min-height:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(8px,.7vw,12px);
  padding:0 clamp(3px,.25vw,6px);
  overflow:hidden;
}
.country-panel{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:clamp(5px,.55dvh,8px)}
.panel-head{min-height:0;padding:0 2px}
.panel-kicker{font-size:clamp(.55rem,.82dvh,.7rem);font-weight:760;letter-spacing:.075em;color:#89a9ce;text-transform:uppercase}
.panel-head h2{margin:2px 0 0;font-size:clamp(1rem,1.8dvh,1.35rem);line-height:1.05;font-weight:720;letter-spacing:-.018em;color:#edf2f7}
.panel-meta{margin:2px 0 0;font-size:clamp(.63rem,1dvh,.8rem);color:#b9c4d1;font-weight:560;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.panel-note{margin:2px 0 0;font-size:clamp(.6rem,.96dvh,.78rem);color:#d6c77d;font-weight:540;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chart-panel{
  min-height:0;border:1px solid var(--line-strong);border-radius:clamp(10px,1.25dvh,15px);background:linear-gradient(180deg,rgba(13,24,39,.97),rgba(10,19,32,.98));box-shadow:var(--shadow);overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr);
}
.chart-columns,.chart-row{display:grid;grid-template-columns:clamp(36px,2.8vw,46px) clamp(34px,2.8vw,44px) clamp(30px,2.6vw,40px) minmax(0,1fr) clamp(32px,2.5vw,42px);align-items:center;padding:0 clamp(4px,.35vw,6px)}
.chart-columns{min-height:clamp(30px,3.6dvh,40px);color:#98a8ba;font-size:clamp(.56rem,.9dvh,.76rem);font-weight:720;letter-spacing:.022em;border-bottom:1px solid var(--line-strong)}
.chart-columns>div:nth-child(2),.chart-columns>div:nth-child(3){text-align:center;color:#79a9d5}
.chart-columns>div:last-child{text-align:center}
.info-dot{display:inline-grid;place-items:center;width:1.15em;height:1.15em;border:1px solid #4a88bf;border-radius:50%;font-size:.7em;color:#72a8d8;margin-left:.16em}
.chart-list{list-style:none;padding:0;margin:0;min-height:0;height:100%;overflow:hidden;display:grid;grid-template-rows:repeat(20,minmax(0,1fr))}
.chart-row{min-height:0;border-bottom:1px solid rgba(182,199,223,.095);background:linear-gradient(90deg,rgba(19,31,49,.56),rgba(12,22,36,.18))}
.chart-row:last-child{border-bottom:0}
.chart-row:hover{background:linear-gradient(90deg,rgba(27,45,70,.74),rgba(13,25,41,.44))}
.rank{width:clamp(28px,2.45dvh,36px);height:clamp(22px,2.55dvh,30px);border-radius:clamp(6px,.7dvh,9px);display:grid;place-items:center;font-weight:900;font-size:clamp(.9rem,1.75dvh,1.22rem);background:rgba(28,40,59,.96);border:1px solid rgba(255,255,255,.05)}
.top1 .rank{background:linear-gradient(180deg,#ffd64d,#e2a41a);color:#111827}
.top2 .rank{background:linear-gradient(180deg,#eef2f8,#c9d3df);color:#162132}
.top3 .rank{background:linear-gradient(180deg,#e9a75c,#cc7d2d);color:#191e27}
.prev-cell,.woc-cell{justify-self:start;font-size:clamp(.76rem,1.28dvh,.98rem);font-weight:720;line-height:1.02;transform:translateX(-2px)}
.prev-cell.up{color:var(--green)}.prev-cell.down{color:var(--red)}.prev-cell.same{color:#c4cfda}.prev-cell.new{color:var(--yellow)}.prev-cell.return{color:#bdc9d6}
.woc-cell{color:#cbd6e2}
.song{min-width:0;display:flex;align-items:baseline;gap:clamp(2px,.18vw,4px);overflow:hidden;white-space:nowrap}
.song-title{font-size:clamp(.88rem,1.65dvh,1.26rem);font-weight:690;color:#e9eef4;letter-spacing:-.012em;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto}
.song-sep{font-size:clamp(.8rem,1.2dvh,.95rem);color:#78899d;flex:0 0 auto}
.artist{font-size:clamp(.72rem,1.28dvh,1rem);font-weight:460;color:#aeb9c7;letter-spacing:-.004em;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto}
.extra{display:none}
.play-link{justify-self:center;width:clamp(26px,2.65dvh,34px);height:clamp(26px,2.65dvh,34px);display:grid;place-items:center;border:1px solid rgba(190,206,225,.32);border-radius:50%;color:#dde8f4;text-decoration:none;font-size:clamp(.72rem,1dvh,.92rem);transition:.15s ease;background:rgba(9,17,29,.5)}
.play-link:hover{transform:scale(1.06);border-color:#86aacd;background:rgba(18,30,47,.88)}
.empty-state{display:grid;place-items:center;text-align:center;color:#a9b7c8;font-size:clamp(.7rem,1.15dvh,.9rem);padding:1.1em .7em;background:rgba(15,26,42,.65)}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media (max-width: 1500px){
  .song-title{font-size:clamp(.82rem,1.5dvh,1.15rem)}
  .artist{font-size:clamp(.68rem,1.18dvh,.92rem)}
}
@media (max-height: 900px){
  .chart-columns{min-height:30px}
  .panel-head h2{font-size:clamp(.95rem,1.6dvh,1.18rem)}
  .song-title{font-size:clamp(.78rem,1.42dvh,1.02rem)}
  .artist{font-size:clamp(.66rem,1.08dvh,.84rem)}
}


/* v18 – eigene, gut lesbare Farbwelten pro Land */
.country-panel--de .panel-kicker{color:#8fb99f}
.country-panel--de .panel-head h2{color:#eef4ef}
.country-panel--de .panel-meta{color:#bdcdbf}
.country-panel--de .panel-note{color:#d7c987}
.country-panel--de .chart-panel{
  background:linear-gradient(180deg,rgba(16,27,26,.97),rgba(10,20,20,.98));
  border-color:rgba(146,184,160,.25);
}
.country-panel--de .chart-columns{color:#9bb0a5}
.country-panel--de .chart-columns>div:nth-child(2),
.country-panel--de .chart-columns>div:nth-child(3){color:#7db59c}
.country-panel--de .chart-row{background:linear-gradient(90deg,rgba(24,39,36,.58),rgba(12,22,22,.18))}
.country-panel--de .chart-row:hover{background:linear-gradient(90deg,rgba(31,52,48,.74),rgba(15,27,27,.42))}
.country-panel--de .song-title{color:#ecf3ee}
.country-panel--de .artist{color:#b8c8bf}
.country-panel--de .song-sep{color:#7f988d}
.country-panel--de .woc-cell{color:#c8dbd0}
.country-panel--de .play-link{border-color:rgba(186,214,200,.32);color:#e5f0ea}
.country-panel--de .play-link:hover{border-color:#8fb99f;background:rgba(19,34,32,.9)}

.country-panel--uk .panel-kicker{color:#8fa4c8}
.country-panel--uk .panel-head h2{color:#edf1f8}
.country-panel--uk .panel-meta{color:#bdc5d6}
.country-panel--uk .panel-note{color:#d5c987}
.country-panel--uk .chart-panel{
  background:linear-gradient(180deg,rgba(16,22,38,.97),rgba(11,18,32,.98));
  border-color:rgba(145,164,205,.24);
}
.country-panel--uk .chart-columns{color:#9eaac0}
.country-panel--uk .chart-columns>div:nth-child(2),
.country-panel--uk .chart-columns>div:nth-child(3){color:#82a5d8}
.country-panel--uk .chart-row{background:linear-gradient(90deg,rgba(24,31,53,.58),rgba(12,20,35,.18))}
.country-panel--uk .chart-row:hover{background:linear-gradient(90deg,rgba(33,42,69,.74),rgba(15,24,42,.42))}
.country-panel--uk .song-title{color:#edf1f8}
.country-panel--uk .artist{color:#b4bfd0}
.country-panel--uk .song-sep{color:#7d89a2}
.country-panel--uk .woc-cell{color:#ccd6e6}
.country-panel--uk .play-link{border-color:rgba(191,205,230,.32);color:#e7eef8}
.country-panel--uk .play-link:hover{border-color:#8fa4c8;background:rgba(21,29,50,.9)}

.country-panel--us .panel-kicker{color:#c69898}
.country-panel--us .panel-head h2{color:#f5efef}
.country-panel--us .panel-meta{color:#d3c2c2}
.country-panel--us .panel-note{color:#d8c987}
.country-panel--us .chart-panel{
  background:linear-gradient(180deg,rgba(28,21,28,.97),rgba(18,15,23,.98));
  border-color:rgba(197,150,150,.24);
}
.country-panel--us .chart-columns{color:#b8a4a8}
.country-panel--us .chart-columns>div:nth-child(2),
.country-panel--us .chart-columns>div:nth-child(3){color:#d09fa6}
.country-panel--us .chart-row{background:linear-gradient(90deg,rgba(43,31,39,.56),rgba(20,17,24,.18))}
.country-panel--us .chart-row:hover{background:linear-gradient(90deg,rgba(58,40,50,.72),rgba(24,20,28,.42))}
.country-panel--us .song-title{color:#f4eeee}
.country-panel--us .artist{color:#ccb9bf}
.country-panel--us .song-sep{color:#9a7f88}
.country-panel--us .woc-cell{color:#e1cfd5}
.country-panel--us .play-link{border-color:rgba(225,192,198,.30);color:#f3e9ec}
.country-panel--us .play-link:hover{border-color:#c69898;background:rgba(35,24,32,.9)}


/* v19 – Rangnahe Anordnung */
.song{transform:translateX(-3px)}
.chart-columns > div:nth-child(4){transform:translateX(-3px)}


/* v20 – VW/WoC-Überschriften weiter links, Info-Kreise entfernt */
.chart-columns > div:nth-child(2){transform:translateX(-7px);text-align:left}
.chart-columns > div:nth-child(3){transform:translateX(-9px);text-align:left}
.info-dot{display:none!important}

/* v23 – Seitenumschaltung */
.page-switch{margin-left:auto;display:flex;align-items:center;gap:6px;align-self:center;white-space:nowrap}
.page-switch a,.page-switch__active{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 11px;border-radius:9px;border:1px solid rgba(150,170,196,.22);font-size:clamp(.58rem,.9dvh,.74rem);font-weight:760;letter-spacing:.055em;text-decoration:none}
.page-switch a{color:#aebdd0;background:rgba(13,24,39,.58)}
.page-switch a:hover{color:#edf3fa;border-color:rgba(127,166,207,.48);background:rgba(24,39,60,.88)}
.page-switch__active{color:#e8eef6;background:rgba(67,91,122,.38);border-color:rgba(147,175,207,.34)}

/* v23 – Seite 2: eigene Farbwelten */
.country-panel--dance .panel-kicker{color:#c195ce}.country-panel--dance .panel-head h2{color:#f2edf5}.country-panel--dance .panel-meta{color:#d0bfd5}.country-panel--dance .panel-note{color:#d8c587}
.country-panel--dance .chart-panel{background:linear-gradient(180deg,rgba(28,20,36,.97),rgba(18,14,25,.98));border-color:rgba(193,143,207,.25)}
.country-panel--dance .chart-columns{color:#b3a0bb}.country-panel--dance .chart-columns>div:nth-child(2),.country-panel--dance .chart-columns>div:nth-child(3){color:#c290d1}
.country-panel--dance .chart-row{background:linear-gradient(90deg,rgba(44,29,54,.56),rgba(22,17,29,.18))}.country-panel--dance .chart-row:hover{background:linear-gradient(90deg,rgba(58,38,70,.73),rgba(27,20,35,.42))}
.country-panel--dance .song-title{color:#f2edf5}.country-panel--dance .artist{color:#cbbbcf}.country-panel--dance .song-sep{color:#987fa0}.country-panel--dance .woc-cell{color:#ddcee1}

.country-panel--nl .panel-kicker{color:#d7a16e}.country-panel--nl .panel-head h2{color:#f5efe9}.country-panel--nl .panel-meta{color:#d1c0ad}.country-panel--nl .panel-note{color:#d9c47d}
.country-panel--nl .chart-panel{background:linear-gradient(180deg,rgba(31,25,19,.97),rgba(20,17,14,.98));border-color:rgba(207,157,105,.25)}
.country-panel--nl .chart-columns{color:#b9aa9b}.country-panel--nl .chart-columns>div:nth-child(2),.country-panel--nl .chart-columns>div:nth-child(3){color:#cf9b69}
.country-panel--nl .chart-row{background:linear-gradient(90deg,rgba(48,38,27,.56),rgba(24,20,16,.18))}.country-panel--nl .chart-row:hover{background:linear-gradient(90deg,rgba(64,48,33,.72),rgba(29,23,18,.42))}
.country-panel--nl .song-title{color:#f4eee8}.country-panel--nl .artist{color:#cdbfaf}.country-panel--nl .song-sep{color:#9d8975}.country-panel--nl .woc-cell{color:#dfd1c2}

.country-panel--fr .panel-kicker{color:#7eb2cc}.country-panel--fr .panel-head h2{color:#edf4f7}.country-panel--fr .panel-meta{color:#b8cbd3}.country-panel--fr .panel-note{color:#d7c781}
.country-panel--fr .chart-panel{background:linear-gradient(180deg,rgba(15,27,34,.97),rgba(10,20,26,.98));border-color:rgba(116,174,201,.25)}
.country-panel--fr .chart-columns{color:#9db4be}.country-panel--fr .chart-columns>div:nth-child(2),.country-panel--fr .chart-columns>div:nth-child(3){color:#73acc8}
.country-panel--fr .chart-row{background:linear-gradient(90deg,rgba(22,40,49,.57),rgba(12,23,29,.18))}.country-panel--fr .chart-row:hover{background:linear-gradient(90deg,rgba(29,53,65,.73),rgba(15,28,35,.42))}
.country-panel--fr .song-title{color:#edf4f7}.country-panel--fr .artist{color:#b6c9d1}.country-panel--fr .song-sep{color:#7895a2}.country-panel--fr .woc-cell{color:#c9dce4}
@media(max-width:900px){.page-switch{gap:3px}.page-switch a,.page-switch__active{padding:0 7px}}

/* v25 – Suche, Historie, Favoriten, Export und Interaktionen */
main{display:flex;flex-direction:column;gap:clamp(5px,.62dvh,9px);min-height:0;overflow:hidden}
.boards-grid{flex:1 1 auto;min-height:0}
.tools-bar{display:flex;align-items:center;gap:clamp(7px,.6vw,12px);padding:0 clamp(3px,.25vw,6px);min-height:34px;flex:0 0 auto}
.chart-search{display:flex;align-items:center;min-width:min(28vw,420px);height:32px;border:1px solid rgba(154,176,203,.25);border-radius:9px;overflow:hidden;background:rgba(11,21,35,.78)}
.chart-search input{min-width:0;flex:1;height:100%;border:0;outline:0;background:transparent;color:#dfe7ef;padding:0 10px;font-size:clamp(.66rem,1.05dvh,.84rem)}
.chart-search input::placeholder{color:#728196}
.chart-search button,.decade-switch button,.tool-actions button{height:30px;border:1px solid rgba(148,169,196,.22);background:rgba(17,29,46,.74);color:#aebbc9;border-radius:8px;cursor:pointer;font-size:clamp(.57rem,.9dvh,.73rem);font-weight:720;letter-spacing:.025em}
.chart-search button{height:100%;border-width:0 0 0 1px;border-radius:0;padding:0 11px;color:#9ebbd8}
.chart-search button:hover,.decade-switch button:hover,.tool-actions button:hover{color:#edf2f7;background:rgba(30,46,68,.92);border-color:rgba(128,164,201,.45)}
.decade-switch{display:flex;gap:4px;flex:1 1 auto;justify-content:center}
.decade-switch button{min-width:38px;padding:0 7px}
.tool-actions{display:flex;gap:5px;margin-left:auto}
.tool-actions button{padding:0 10px;white-space:nowrap}
.row-fav{flex:0 0 auto;width:17px;height:20px;padding:0;border:0;background:transparent;color:#718096;cursor:pointer;font-size:.88rem;line-height:1;opacity:.44;transform:translateY(1px)}
.chart-row:hover .row-fav,.row-fav.is-fav{opacity:1}.row-fav.is-fav{color:#d8bd61}
.song-title.song-click,.artist.artist-click{cursor:pointer}
.song-title.song-click:hover{text-decoration:underline;text-decoration-color:rgba(220,229,238,.35);text-underline-offset:2px}
.artist.artist-click:hover{color:#d2dae4}
.chart-row.active-row{position:relative;box-shadow:inset 3px 0 0 rgba(221,197,113,.8),inset 0 0 0 1px rgba(221,197,113,.16);background:linear-gradient(90deg,rgba(53,54,47,.46),rgba(22,28,38,.36))!important}
.play-link{border:1px solid rgba(190,206,225,.32);font-family:inherit;cursor:pointer;padding:0}
.play-popover{position:fixed;z-index:1200;display:flex;flex-direction:column;min-width:188px;padding:6px;border:1px solid rgba(157,181,210,.34);border-radius:10px;background:#111d2c;box-shadow:0 18px 55px rgba(0,0,0,.5)}
.play-popover.hidden{display:none}.play-popover a{padding:8px 10px;border-radius:7px;color:#cbd6e2;text-decoration:none;font-size:.78rem}.play-popover a:hover{background:#1d3048;color:#fff}
.chart-modal{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:22px}.chart-modal.hidden{display:none}.chart-modal__backdrop{position:absolute;inset:0;background:rgba(2,7,13,.72);backdrop-filter:blur(5px)}
.chart-modal__card{position:relative;width:min(900px,94vw);max-height:min(76vh,760px);display:grid;grid-template-rows:auto minmax(0,1fr);border:1px solid rgba(153,178,208,.3);border-radius:16px;background:linear-gradient(180deg,#121f31,#0b1624);box-shadow:0 28px 80px rgba(0,0,0,.56);overflow:hidden}
.chart-modal__card>header{display:flex;align-items:center;padding:12px 14px;border-bottom:1px solid rgba(154,176,203,.17)}.chart-modal__card h3{margin:0;font-size:1.05rem;font-weight:720;color:#e9eef4}.modal-close{margin-left:auto;width:32px;height:32px;border:0;border-radius:8px;background:rgba(255,255,255,.04);color:#aeb9c7;font-size:1.35rem;cursor:pointer}.modal-close:hover{background:rgba(255,255,255,.09);color:#fff}
.chart-modal__body{overflow:auto;padding:12px 14px}.tool-loading,.tool-empty{padding:28px 14px;text-align:center;color:#9facbc}.tool-hint{margin:0 0 10px;color:#8595a8;font-size:.72rem}
.result-list{display:grid;gap:5px}.result-row{display:grid;grid-template-columns:44px minmax(0,1fr) 120px;align-items:center;gap:9px;padding:8px 10px;border:1px solid rgba(151,173,200,.13);border-radius:9px;background:rgba(16,28,44,.68);text-decoration:none;color:inherit}.result-row:hover{border-color:rgba(131,167,205,.36);background:rgba(27,42,62,.82)}.result-rank{font-weight:800;color:#d4bf78}.result-main{min-width:0;display:grid}.result-main strong{color:#e6ebf1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.82rem}.result-main small{color:#aab6c4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-meta{text-align:right;color:#8294aa;font-size:.68rem;line-height:1.35}
.history-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:9px 10px;border-bottom:1px solid rgba(153,175,201,.12)}.history-card strong{color:#e7edf3}.history-card span{color:#aebac8;font-size:.75rem}.history-card small{grid-column:1/-1;color:#77889c;font-size:.66rem}
.compare-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.compare-card{display:grid;gap:5px;padding:12px;border:1px solid rgba(153,175,201,.15);border-radius:10px;background:rgba(13,24,39,.72)}.compare-card strong{color:#dfe7ef}.compare-card span{color:#a5b1bf;font-size:.75rem}.compare-card a{color:#8fb6db;font-size:.7rem;text-decoration:none}
.export-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.export-card{display:grid;gap:7px;padding:12px;border:1px solid rgba(153,175,201,.15);border-radius:10px;background:rgba(13,24,39,.72)}.export-card strong{color:#dfe7ef}.export-card button{height:34px;border:1px solid rgba(151,175,203,.24);border-radius:8px;background:#15263a;color:#bdc9d6;cursor:pointer}.export-card button:hover{background:#1f354f;color:#fff}
@media(max-width:1100px){.decade-switch button:nth-child(even){display:none}.chart-search{min-width:260px}.tool-actions button{padding:0 7px}.compare-grid,.export-grid{grid-template-columns:1fr 1fr}}
@media(max-height:820px){.tools-bar{min-height:29px}.chart-search,.chart-search button,.decade-switch button,.tool-actions button{height:27px}.chart-modal__card{max-height:82vh}}

/* v29 – dauerhafter Suchindex */
.index-intro{font-size:.82rem;line-height:1.45;color:#b8c5d3;margin-bottom:13px}
.index-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.index-stat{display:grid;gap:3px;padding:10px 11px;border:1px solid rgba(143,166,195,.2);border-radius:10px;background:rgba(12,23,37,.72)}
.index-stat strong{font-size:.76rem;color:#e2e9f0}.index-stat span{font-size:.72rem;color:#9fbbd6}.index-stat small{font-size:.64rem;color:#7f8ea0}
.index-progress{margin:8px 0 12px}.index-progress__bar{height:9px;border-radius:999px;background:rgba(108,128,153,.18);overflow:hidden;border:1px solid rgba(145,165,190,.13)}.index-progress__bar span{display:block;height:100%;background:linear-gradient(90deg,#6c9abe,#82b39a);border-radius:inherit;transition:width .2s ease}.index-progress__meta{display:flex;justify-content:space-between;margin-top:5px;color:#8999aa;font-size:.67rem}.index-progress__meta b{color:#cbd7e2}
.index-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.index-actions button,.index-actions a{min-height:31px;padding:0 11px;border:1px solid rgba(145,166,192,.25);border-radius:8px;background:rgba(19,32,50,.84);color:#b9c9d9;font:inherit;font-size:.68rem;font-weight:720;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.index-actions button:hover,.index-actions a:hover{color:#f0f4f7;border-color:rgba(131,174,207,.5);background:rgba(29,46,68,.94)}.index-actions button:disabled{opacity:.38;cursor:default}
.index-message{padding:8px 10px;border-radius:8px;background:rgba(80,126,157,.1);border:1px solid rgba(100,152,186,.18);color:#a9c0d3;font-size:.7rem}.index-errors{margin-top:7px;padding:7px 9px;border-radius:8px;background:rgba(162,93,83,.08);color:#c6a19b;font-size:.64rem;line-height:1.35}
@media(max-width:850px){.index-stats{grid-template-columns:1fr}}

/* v32: Karriere-Suche – ein Song pro Interpret, keine Wochen-Dubletten */
.career-summary{display:flex;align-items:baseline;gap:7px;margin:0 0 9px;padding:7px 10px;border:1px solid rgba(212,191,120,.18);border-radius:9px;background:rgba(212,191,120,.055);color:#aebac8;font-size:.74rem}.career-summary b{color:#e1c875;font-size:1.08rem}
.career-list{display:grid;gap:5px}.career-card{display:grid;grid-template-columns:34px minmax(0,1fr) 112px 58px;align-items:center;gap:9px;padding:8px 9px;border:1px solid rgba(151,173,200,.13);border-radius:9px;background:rgba(16,28,44,.68)}.career-card:hover{border-color:rgba(131,167,205,.28);background:rgba(23,38,57,.78)}
.career-no{font-size:.7rem;color:#64778d;text-align:center}.career-main{min-width:0;display:grid;gap:2px}.career-main>strong{font-size:.84rem;color:#e7edf3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.career-main>small{font-size:.67rem;color:#93a2b4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.career-charts{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}.career-chart{padding:2px 5px;border:1px solid rgba(129,157,189,.18);border-radius:5px;background:rgba(255,255,255,.025);font-size:.61rem;color:#90a5ba;text-decoration:none}.career-chart b{color:#d7bf70}.career-chart:hover{border-color:rgba(212,191,120,.4);color:#c6d3df}
.career-time{display:grid;text-align:right;line-height:1.18}.career-time>b{color:#cad4de;font-size:.77rem}.career-time>span,.career-time>small{color:#71849a;font-size:.59rem}.career-best{display:grid;text-align:center;border-left:1px solid rgba(151,173,200,.12);padding-left:7px}.career-best span{font-size:.5rem;letter-spacing:.08em;color:#65778c}.career-best b{font-size:1rem;color:#d8c071}
@media(max-width:760px){.career-card{grid-template-columns:28px minmax(0,1fr) 52px}.career-time{display:none}.career-main>strong{white-space:normal}.career-chart{font-size:.58rem}}

/* v34 – Kurzbiografie mit Bild links */
.artist-bio{display:grid;grid-template-columns:108px minmax(0,1fr);align-items:start;gap:12px;margin:0 0 11px;padding:12px 14px;border:1px solid rgba(137,169,203,.22);border-radius:11px;background:linear-gradient(135deg,rgba(31,50,72,.72),rgba(15,27,43,.76));box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.artist-bio__media{width:108px;height:128px;align-self:start;border-radius:10px;overflow:hidden;border:1px solid rgba(156,180,207,.22);background:linear-gradient(180deg,rgba(24,38,56,.9),rgba(13,22,35,.95));box-shadow:0 10px 24px rgba(0,0,0,.22)}
.artist-bio__media.is-broken{display:none}
.artist-bio__img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;background:#132131}
.artist-bio__content{min-width:0}
.artist-bio__top{display:flex;align-items:baseline;gap:9px;min-width:0}.artist-bio__top strong{min-width:0;color:#e8edf3;font-size:.93rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.artist-bio__eyebrow{flex:0 0 auto;color:#d5bd70;font-size:.56rem;font-weight:800;letter-spacing:.11em}
.artist-bio p{margin:7px 0 8px;color:#b8c4d0;font-size:.75rem;line-height:1.48}.artist-bio__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:7px;border-top:1px solid rgba(146,169,197,.11);color:#718397;font-size:.59rem}.artist-bio__foot a{color:#8fb4d5;text-decoration:none;font-weight:680}.artist-bio__foot a:hover{color:#c3d8ea;text-decoration:underline;text-underline-offset:2px}.artist-bio--empty{display:block;background:rgba(18,30,46,.55)}.artist-bio--empty strong{color:#aebdcb}.artist-bio--empty p{margin-bottom:0;color:#7f90a3}
@media(max-width:700px){.artist-bio{grid-template-columns:84px minmax(0,1fr);gap:10px;padding:10px 11px}.artist-bio__media{width:84px;height:100px}.artist-bio__top{align-items:flex-start;flex-direction:column;gap:3px}.artist-bio__top strong{white-space:normal}.artist-bio__foot{align-items:flex-start;flex-direction:column;gap:4px}}
@media(max-width:520px){.artist-bio{grid-template-columns:1fr}.artist-bio__media{width:92px;height:112px}}

