[hidden]{display:none!important}
:root{
  --bg:#071321;--bg2:#0b1a2c;--panel:#10243a;--panel2:#0d1d31;
  --text:#f5f9fd;--muted:#9db0c4;--line:rgba(255,255,255,.09);
  --blue:#39a5eb;--blue2:#7bcfff;--red:#e21f3d;--gold:#f3c16f;--green:#5bd5a5;
  --safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);
  --shadow:0 24px 60px rgba(0,0,0,.28);--soft:0 12px 30px rgba(0,0,0,.2);
  --font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:
radial-gradient(circle at 0 0,rgba(57,165,235,.15),transparent 28%),
radial-gradient(circle at 100% 24%,rgba(123,207,255,.1),transparent 24%),
linear-gradient(180deg,#071321 0%,#09182a 48%,#071321 100%);color:var(--text);font-family:var(--font);line-height:1.5}
body{padding-bottom:calc(82px + var(--safe-bottom));overflow-x:hidden}
button,a{font:inherit;color:inherit}button{cursor:pointer}img{display:block;max-width:100%}svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.boot{position:fixed;inset:0;z-index:999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#071321;transition:opacity .35s ease}
.boot.hide{opacity:0;pointer-events:none}.boot img{width:82px;height:82px;border-radius:20px;box-shadow:var(--shadow);z-index:2}.boot strong{font-size:17px;z-index:2}.boot-glow{position:absolute;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(57,165,235,.28),transparent 68%);filter:blur(8px);animation:pulse 2.3s ease-in-out infinite}@keyframes pulse{50%{transform:scale(1.08);opacity:.72}}
.app-header{position:sticky;top:0;z-index:70;display:flex;align-items:center;justify-content:space-between;padding:calc(10px + var(--safe-top)) 14px 11px;background:rgba(7,19,33,.83);backdrop-filter:blur(18px) saturate(1.35);border-bottom:1px solid rgba(255,255,255,.06)}
.brand{display:flex;align-items:center;gap:10px;border:0;background:transparent;padding:0;text-align:left}.brand img{width:71px;height:auto}.brand small{display:block;color:var(--blue2);font-size:9px;letter-spacing:.16em;font-weight:850}.brand strong{display:block;font-size:17px;line-height:1.1}.surprise-top{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.05);display:grid;place-items:center}.surprise-top svg{width:20px;height:20px}
.page{display:none;padding:13px 14px 26px;animation:pageIn .32s ease}.page.active{display:block}@keyframes pageIn{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:none}}
.hero{position:relative;min-height:548px;border-radius:30px;overflow:hidden;border:1px solid rgba(255,255,255,.11);box-shadow:var(--shadow);background:#0a1728;margin-bottom:13px}
.hero-slide{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .65s ease}.hero-slide.active{opacity:1;pointer-events:auto}.hero-slide>video,.hero-slide>img{width:100%;height:100%;object-fit:cover;filter:brightness(1.18) saturate(1.1) contrast(1.02);transform:scale(1.015)}
.hero-slide.active>video,.hero-slide.active>img{animation:heroZoom 8s ease-out both}@keyframes heroZoom{from{transform:scale(1.07)}to{transform:scale(1.015)}}
.hero-bottom-fade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,19,33,.02) 0%,rgba(7,19,33,.05) 38%,rgba(7,19,33,.68) 68%,rgba(7,19,33,.96) 100%)}
.hero-copy{position:absolute;left:0;right:0;bottom:0;padding:24px 20px 25px;z-index:2}.hero-tag{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.14);background:rgba(7,19,33,.4);backdrop-filter:blur(10px);border-radius:999px;padding:6px 10px;color:#e2f4ff;font-size:10px;letter-spacing:.13em;font-weight:850}.hero-tag i{width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px rgba(226,31,61,.18);animation:live 1.4s ease-in-out infinite}.hero-tag.city i{background:var(--green);box-shadow:0 0 0 4px rgba(91,213,165,.17)}@keyframes live{50%{transform:scale(.7);opacity:.7}}
.hero h1,.hero h2{margin:12px 0 10px;font-size:clamp(38px,10vw,50px);line-height:.94;letter-spacing:-.055em}.hero h2{font-size:42px}.hero em{font-style:normal;color:var(--blue2)}.hero p{margin:0 0 17px;max-width:520px;color:#d9e7f2;font-size:15px;text-shadow:0 1px 8px rgba(0,0,0,.35)}.hero-actions{display:flex;gap:9px;flex-wrap:wrap}.button{min-height:47px;display:inline-flex;align-items:center;justify-content:center;padding:0 15px;border-radius:15px;text-decoration:none;font-weight:800;border:1px solid transparent}.button.primary{background:linear-gradient(180deg,#4ab2f4,#2d91d9);color:#fff;box-shadow:0 10px 24px rgba(57,165,235,.27)}.button.glass{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);backdrop-filter:blur(10px)}
.hero-dots{position:absolute;top:15px;right:15px;z-index:4;display:flex;gap:6px}.hero-dots button{width:8px;height:8px;border:0;border-radius:99px;padding:0;background:rgba(255,255,255,.42);transition:.25s}.hero-dots button.active{width:24px;background:#fff}
.live-strip{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;margin-bottom:13px;padding:12px 14px;border:1px solid rgba(123,207,255,.14);border-radius:19px;background:linear-gradient(135deg,rgba(20,48,76,.88),rgba(9,25,43,.96));box-shadow:var(--soft)}.live-pulse{width:11px;height:11px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(91,213,165,.14)}.live-strip strong,.live-strip small{display:block}.live-strip small{margin-top:2px;color:var(--muted);font-size:12px}.live-strip button{width:39px;height:39px;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.04)}.live-strip svg{width:18px;height:18px}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:14px}.metric-grid article{min-width:0;padding:12px 8px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(18,41,65,.92),rgba(9,24,41,.98));text-align:center;box-shadow:var(--soft)}.metric-grid span{display:block;color:var(--blue2);font-size:9px;letter-spacing:.09em;font-weight:850;text-transform:uppercase}.metric-grid strong{display:block;margin:4px 0 2px;font-size:24px;line-height:1}.metric-grid small{display:block;color:var(--muted);font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.block,.detail-section,.source-note{margin-bottom:14px;padding:16px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,rgba(16,36,58,.94),rgba(8,22,38,.98));box-shadow:var(--soft)}.section-header{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin-bottom:12px}.section-header small,.page-intro>small,.team-content>small{display:block;color:var(--blue2);font-size:9.5px;letter-spacing:.14em;font-weight:850}.section-header h2,.page-intro h1,.team-content h2{margin:2px 0 0;letter-spacing:-.035em}.section-header h2{font-size:22px}.section-header button{border:0;background:transparent;color:var(--blue2);font-weight:760;font-size:12px}
.news-rail,.story-rail{display:grid;grid-auto-flow:column;grid-auto-columns:79%;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:2px}.news-card,.story-card{scroll-snap-align:start}.story-card{position:relative;min-height:230px;border:1px solid rgba(255,255,255,.09);border-radius:21px;overflow:hidden;padding:0;background:#0a1727;text-align:left}.story-card img{width:100%;height:230px;object-fit:cover;filter:brightness(.94)}.story-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 37%,rgba(6,17,30,.92) 100%)}.story-card>div{position:absolute;left:14px;right:14px;bottom:14px;z-index:2}.story-card small{display:block;color:var(--blue2);font-size:9px;letter-spacing:.13em;font-weight:850}.story-card strong{display:block;margin-top:4px;font-size:19px;line-height:1.08}.play-badge{position:absolute;top:12px;right:12px;z-index:2;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.9);color:#071321;font-size:13px}.story-card.featured{grid-auto-columns:86%}
.surprise-card{position:relative;overflow:hidden;margin-bottom:14px;padding:22px 18px;border-radius:27px;border:1px solid rgba(123,207,255,.18);background:linear-gradient(135deg,#153b5d,#0b1c30 66%,#101b34);box-shadow:var(--shadow)}.surprise-card>*{position:relative;z-index:2}.surprise-card small{color:var(--blue2);font-size:9px;letter-spacing:.15em;font-weight:850}.surprise-card h2{margin:7px 0 9px;font-size:29px;line-height:1.04;letter-spacing:-.045em}.surprise-card p{margin:0 0 15px;color:#c9d8e4;font-size:13.5px}.surprise-card button{display:inline-flex;align-items:center;gap:8px;min-height:47px;padding:0 15px;border:0;border-radius:15px;background:#fff;color:#071321;font-weight:850}.surprise-card button svg{width:18px;height:18px}.surprise-orb{position:absolute!important;border-radius:50%;filter:blur(3px);z-index:1!important}.surprise-orb.one{width:190px;height:190px;right:-70px;top:-60px;background:radial-gradient(circle,rgba(123,207,255,.25),transparent 70%);animation:float 7s ease-in-out infinite}.surprise-orb.two{width:140px;height:140px;left:-55px;bottom:-65px;background:radial-gradient(circle,rgba(226,31,61,.17),transparent 70%);animation:float 8s ease-in-out infinite reverse}@keyframes float{50%{transform:translateY(14px)}}
.page-intro{margin:5px 0 16px}.page-intro h1{font-size:36px;line-height:1}.page-intro p{margin:8px 0 0;color:var(--muted);font-size:14px}.play-intro{padding:14px;border:1px solid rgba(123,207,255,.12);border-radius:23px;background:linear-gradient(135deg,rgba(25,62,96,.7),rgba(9,23,39,.9))}
.news-toolbar{margin-bottom:12px}.filter-row{display:flex;gap:7px;overflow-x:auto;padding-bottom:8px}.filter-row button{white-space:nowrap;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.03);color:var(--muted);padding:8px 12px;font-size:12px;font-weight:760}.filter-row button.active{background:var(--blue);border-color:var(--blue);color:#fff}.refresh-button{display:flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--blue2);padding:5px 1px;font-size:12px;font-weight:760}.refresh-button svg{width:17px;height:17px}.news-grid{display:grid;gap:11px}.news-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,#10253c,#091726);box-shadow:var(--soft);text-align:left;padding:0}.news-card img{width:100%;height:190px;object-fit:cover;filter:brightness(.94)}.news-card-body{padding:14px}.news-meta{display:flex;justify-content:space-between;gap:8px;align-items:center}.source-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;background:rgba(57,165,235,.14);color:var(--blue2);font-size:9px;letter-spacing:.09em;font-weight:850}.source-pill.city{background:rgba(91,213,165,.13);color:var(--green)}.news-meta time{color:var(--muted);font-size:11px}.news-card h2,.news-card h3{margin:9px 0 7px;line-height:1.12;letter-spacing:-.025em}.news-card h2{font-size:23px}.news-card h3{font-size:18px}.news-card p{margin:0;color:#b8c9d9;font-size:13px}.news-card.featured img{height:235px}.source-note strong{font-size:14px}.source-note p{margin:4px 0 0;color:var(--muted);font-size:12.5px}
.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.video-card{position:relative;min-height:190px;border:1px solid var(--line);border-radius:21px;overflow:hidden;background:#0a1727;padding:0;text-align:left}.video-card img{width:100%;height:190px;object-fit:cover;filter:brightness(.95)}.video-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(6,17,30,.94) 100%)}.video-card div{position:absolute;left:12px;right:12px;bottom:12px;z-index:2}.video-card small{display:block;color:var(--blue2);font-size:8.5px;letter-spacing:.12em;font-weight:850}.video-card strong{display:block;margin-top:3px;line-height:1.08}.video-card span{display:block;margin-top:8px;color:#fff;font-size:12px}.hero-video-card{grid-column:1/-1;min-height:330px}.hero-video-card img{height:330px}.hero-video-card strong{font-size:25px}.quiz{position:relative;overflow:hidden;padding:18px;border-radius:25px;border:1px solid rgba(123,207,255,.16);background:linear-gradient(145deg,#173b5d,#0b1b2e);box-shadow:var(--shadow)}.quiz>*{position:relative;z-index:2}.quiz-glow{position:absolute;z-index:1;width:230px;height:230px;right:-90px;top:-100px;border-radius:50%;background:radial-gradient(circle,rgba(123,207,255,.23),transparent 68%)}.quiz header{display:flex;justify-content:space-between;gap:10px}.quiz header small{color:var(--blue2);font-size:9px;letter-spacing:.13em;font-weight:850}.quiz header span{color:var(--muted);font-size:10px}.quiz h2{margin:13px 0;font-size:23px;line-height:1.1}.quiz-options{display:grid;gap:8px}.quiz-options button{border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.05);padding:12px;text-align:left;font-weight:730}.quiz-options button.correct{background:rgba(91,213,165,.14);border-color:rgba(91,213,165,.4)}.quiz-options button.wrong{background:rgba(226,31,61,.13);border-color:rgba(226,31,61,.35)}.quiz>p{min-height:20px;margin:10px 0 0;color:#d9e7f2;font-size:13px}.quiz-next{margin-top:9px;border:0;border-radius:14px;background:#fff;color:#071321;min-height:43px;padding:0 13px;font-weight:850}
.more-menu{display:grid;gap:8px;margin-bottom:14px}.more-menu button{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#10243a,#0a1727);padding:12px;text-align:left}.more-menu>button>span{width:42px;height:42px;border-radius:13px;background:rgba(57,165,235,.12);color:var(--blue2);display:grid;place-items:center;font-size:20px}.more-menu strong,.more-menu small{display:block}.more-menu small{color:var(--muted);font-size:12px;margin-top:2px}.more-menu b{font-size:24px;color:var(--muted);font-weight:400}.dossier-grid{display:grid;gap:9px}.dossier-card{border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.035);padding:14px;text-align:left}.dossier-top,.entry-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.status{display:inline-flex;padding:4px 7px;border-radius:999px;background:rgba(123,207,255,.12);color:var(--blue2);font-size:8.5px;letter-spacing:.09em;font-weight:850}.status.warn{color:var(--gold);background:rgba(243,193,111,.12)}.status.ok{color:var(--green);background:rgba(91,213,165,.12)}.dossier-card time,.entry-top time{color:var(--muted);font-size:10.5px}.dossier-card h3{margin:8px 0 5px;font-size:18px}.dossier-card p{margin:0;color:var(--muted);font-size:12.5px}.progress{display:flex;gap:4px;margin-top:11px}.progress i{flex:1;height:3px;border-radius:3px;background:rgba(255,255,255,.08)}.progress i.on{background:var(--blue2)}.entry{padding:12px 0;border-bottom:1px solid var(--line)}.entry:last-child{border-bottom:0}.entry-top span{color:var(--blue2);font-size:9px;letter-spacing:.09em;font-weight:850}.entry h3{margin:6px 0 5px;font-size:16px}.entry p{margin:0;color:var(--muted);font-size:12.5px}.team-section{overflow:hidden;margin-bottom:14px;border:1px solid var(--line);border-radius:25px;background:linear-gradient(145deg,#10243a,#091725);box-shadow:var(--soft)}.team-cover{width:100%;height:235px;object-fit:cover;filter:brightness(.95)}.team-content{padding:16px}.team-content h2{font-size:24px}.member{display:flex;align-items:center;gap:11px;padding:11px 0;border-top:1px solid var(--line)}.member img{width:52px;height:52px;border-radius:50%;object-fit:cover}.member strong,.member span{display:block}.member span{color:var(--muted);font-size:12px;margin-top:2px}.contact-button{display:flex;align-items:center;justify-content:center;margin-top:10px;min-height:47px;border-radius:15px;background:#fff;color:#071321;text-decoration:none;font-weight:850}.legal-links{display:grid;gap:7px;padding:15px;border:1px solid var(--line);border-radius:21px;background:rgba(255,255,255,.025)}.legal-links a{display:flex;justify-content:space-between;align-items:center;text-decoration:none;padding:8px 1px;border-bottom:1px solid var(--line)}.legal-links a:last-child{border-bottom:0}.legal-links span{color:var(--blue2)}.disclaimer{color:var(--muted);font-size:11px}
.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:80;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:6px 7px calc(8px + var(--safe-bottom));background:rgba(5,15,27,.94);backdrop-filter:blur(19px) saturate(1.4);border-top:1px solid rgba(255,255,255,.07)}.bottom-nav button{border:0;border-radius:14px;background:transparent;color:#78899d;padding:7px 2px 5px;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10px;font-weight:740}.bottom-nav svg{width:20px;height:20px}.bottom-nav button.active{color:#fff;background:rgba(255,255,255,.06)}.bottom-nav button.active svg{color:var(--blue2)}
.modal{position:fixed;inset:0;z-index:140}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.62);backdrop-filter:blur(7px)}.modal-card{position:absolute;left:0;right:0;bottom:0;max-height:93vh;overflow:auto;border-radius:28px 28px 0 0;background:linear-gradient(180deg,#11243b,#071523);border-top:1px solid rgba(255,255,255,.12);padding:7px 16px calc(20px + var(--safe-bottom));box-shadow:0 -20px 60px rgba(0,0,0,.45);animation:modalUp .28s ease}@keyframes modalUp{from{transform:translateY(24%);opacity:.5}to{transform:none;opacity:1}}.modal-handle{width:42px;height:4px;border-radius:99px;background:rgba(255,255,255,.25);margin:2px auto 12px}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-head>div{display:flex;align-items:center;gap:8px}.modal-head span{display:inline-flex;padding:5px 8px;border-radius:999px;background:rgba(57,165,235,.14);color:var(--blue2);font-size:9px;letter-spacing:.09em;font-weight:850}.modal-head small{color:var(--muted)}.modal-head button{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.04);font-size:25px;line-height:1}.modal-card>h2{margin:10px 0 13px;font-size:27px;line-height:1.04;letter-spacing:-.04em}.modal-media{width:100%;max-height:440px;border-radius:19px;object-fit:cover;background:#000}.modal-section{padding:14px 0;border-bottom:1px solid var(--line)}.modal-section:last-child{border-bottom:0}.modal-section h3{margin:0 0 7px;color:var(--muted);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.modal-section p{margin:0;color:#d7e4ef}.modal-section ul{margin:0;padding-left:19px;color:#d7e4ef}.modal-section li{margin:5px 0}.modal-link{display:inline-flex;margin-top:11px;color:var(--blue2);font-weight:760}.modal-actions{position:sticky;bottom:calc(-20px - var(--safe-bottom));display:grid;grid-template-columns:1fr 1.25fr;gap:8px;margin:14px -16px calc(-20px - var(--safe-bottom));padding:11px 16px calc(12px + var(--safe-bottom));background:rgba(7,21,35,.94);backdrop-filter:blur(14px);border-top:1px solid var(--line)}.modal-actions button{height:46px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.04);font-weight:760}.modal-actions .primary{border-color:var(--blue);background:var(--blue);color:#fff}.toast{position:fixed;z-index:200;left:50%;bottom:calc(96px + var(--safe-bottom));transform:translateX(-50%);max-width:calc(100% - 30px);border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(7,18,31,.96);box-shadow:var(--shadow);padding:10px 14px;white-space:nowrap;font-size:13px}
@media(min-width:700px){.page{max-width:900px;margin:0 auto}.hero{min-height:650px}.news-rail,.story-rail{grid-auto-columns:43%}.news-grid{grid-template-columns:repeat(2,1fr)}.news-card.featured{grid-column:1/-1}.video-grid{grid-template-columns:repeat(3,1fr)}.hero-video-card{grid-column:span 2;grid-row:span 2}.dossier-grid{grid-template-columns:repeat(2,1fr)}.bottom-nav{left:50%;right:auto;transform:translateX(-50%);width:min(620px,100%);border-radius:22px 22px 0 0}.modal-card{left:50%;right:auto;width:min(720px,100%);transform:translateX(-50%)}@keyframes modalUp{from{transform:translate(-50%,24%);opacity:.5}to{transform:translate(-50%,0);opacity:1}}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Live-Feed: Quellen, Kategorien und Warnungen */
.filter-row{scrollbar-width:none}.filter-row::-webkit-scrollbar{display:none}.filter-row button{flex:0 0 auto}
.source-pill.vellmar{background:rgba(91,213,165,.13);color:var(--green)}
.source-pill.nordhessen{background:rgba(143,151,255,.14);color:#aeb5ff}
.source-pill.verkehr{background:rgba(255,176,72,.15);color:#ffc173}
.source-pill.warnung{background:rgba(255,93,105,.16);color:#ff9aa2}
.source-pill.fraktion{background:rgba(57,165,235,.14);color:var(--blue2)}
.news-category{display:inline-flex;margin-top:10px;color:#8299ae;font-size:9px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
.news-card.group-warnung{border-color:rgba(255,93,105,.34);box-shadow:inset 4px 0 0 rgba(255,93,105,.65),var(--soft)}
.news-card.group-warnung.featured{background:linear-gradient(145deg,#401b25,#160c15)}
.news-card.group-verkehr{border-color:rgba(255,176,72,.2)}
.news-card.group-nordhessen{border-color:rgba(143,151,255,.18)}
.news-card .news-meta{align-items:flex-start}.news-card .source-pill{max-width:72%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.live-strip small{line-height:1.25}
@media(max-width:420px){.news-card .source-pill{max-width:68%}.filter-row{margin-right:-14px;padding-right:14px}}


/* Wetter für Vellmar – identische Daten wie auf der Homepage */
.weather-panel{margin:0 0 14px;padding:14px;border:1px solid rgba(123,207,255,.15);border-radius:22px;background:linear-gradient(145deg,#173b5d,#0b1b2e);box-shadow:var(--soft);color:#fff}
.weather-panel-head,.weather-panel-main,.weather-panel-details{display:flex;align-items:center}.weather-panel-head{justify-content:space-between;gap:8px}.weather-panel-head span{font-size:9px;font-weight:880;letter-spacing:.13em;color:var(--blue2)}.weather-panel-head small{font-size:9px;color:var(--muted)}
.weather-panel-main{gap:10px;margin-top:9px}.weather-panel-icon{width:39px;text-align:center;font-size:30px;line-height:1}.weather-panel-main>strong{font-size:34px;line-height:1;letter-spacing:-.055em}.weather-panel-main div{display:grid;gap:2px;min-width:0}.weather-panel-main b{font-size:14px;line-height:1.15}.weather-panel-main small{font-size:10.5px;color:#b8c9d9}
.weather-panel-details{flex-wrap:wrap;gap:6px 11px;margin-top:11px;padding-top:9px;border-top:1px solid rgba(255,255,255,.1);font-size:10px;font-weight:720;color:#d7e4ef}.weather-panel a{display:inline-block;margin-top:8px;color:var(--blue2);font-size:9px;text-decoration:none}.weather-panel[data-state="error"]{background:linear-gradient(145deg,#2b3744,#172434)}

/* Politikradar in der App */
.party-radar{margin:22px 0 6px;padding:16px;border:1px solid rgba(108,205,255,.18);border-radius:25px;background:linear-gradient(150deg,#0c2942,#071827);box-shadow:var(--soft);color:#fff}.party-radar-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.party-radar-head small{display:block;color:var(--blue2);font-size:9px;font-weight:900;letter-spacing:.14em}.party-radar-head h2{margin:2px 0 0;font-size:25px;letter-spacing:-.04em}.party-radar-head>span{font-size:9.5px;color:#a8bdcc;text-align:right}.party-filter-row{margin:13px 0 12px}.party-filter-row button{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);color:#c8d9e5}.party-filter-row button.active{background:#fff;color:#092239;border-color:#fff}.party-news-grid{display:grid;gap:10px}.party-card{display:block;width:100%;padding:15px;border:1px solid rgba(255,255,255,.11);border-radius:18px;background:rgba(255,255,255,.055);color:#fff;text-align:left;text-decoration:none}.party-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px}.party-source{padding:5px 8px;border-radius:999px;background:rgba(67,195,255,.15);color:#8bdcff;font-size:8.5px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.party-card[data-group="bundestag"] .party-source{background:rgba(117,128,255,.17);color:#ccd0ff}.party-card[data-group="hessen"] .party-source{background:rgba(255,255,255,.09);color:#fff}.party-card[data-group="kommunal"] .party-source{background:rgba(255,76,88,.15);color:#ffc0c5}.party-card time{font-size:8.5px;color:#8ea7b9}.party-card h3{margin:0 0 7px;font-size:15px;line-height:1.3}.party-card p{margin:0;color:#adbfcc;font-size:10.5px;line-height:1.5}.party-card strong{display:inline-block;margin-top:10px;color:var(--blue2);font-size:9px}.party-legal-note{margin:12px 2px 0;color:#8fa6b6;font-size:8.7px;line-height:1.5}


/* 99-PRO performance and accessibility refinements */
img{height:auto}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}

.page:not(.active){content-visibility:auto;contain-intrinsic-size:780px}
.news-card img{aspect-ratio:16/9;object-fit:cover}

/* Premium-Nachrichtenkarten: hochwertige redaktionelle Hierarchie */
.news-card{isolation:isolate;border-color:rgba(141,202,239,.18);background:linear-gradient(160deg,#102b45 0%,#0a1b2d 62%,#081522 100%);box-shadow:0 18px 44px rgba(0,8,18,.28),inset 0 1px 0 rgba(255,255,255,.035);transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}.news-card:active{transform:scale(.992)}
.news-card-media{position:relative;overflow:hidden;background:#10263c}.news-card-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,13,24,0) 43%,rgba(4,13,24,.82) 100%);pointer-events:none}.news-card img{display:block;height:188px;filter:none;transform:scale(1.002);transition:transform .45s cubic-bezier(.2,.7,.2,1)}.news-card:hover img{transform:scale(1.035)}
.news-card-topic{position:absolute;left:13px;bottom:12px;z-index:2;max-width:78%;padding:6px 10px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(5,20,34,.7);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.news-card-body{display:flex;flex-direction:column;min-height:232px;padding:16px 16px 15px}.news-meta{margin-bottom:11px}.source-pill{max-width:74%;padding:5px 9px;border:1px solid rgba(111,209,255,.16);background:rgba(51,169,232,.1);font-size:8.5px;letter-spacing:.075em;text-transform:uppercase}.news-meta time{font-size:9.5px;letter-spacing:.02em}
.news-card h2,.news-card h3{position:relative;margin:0 0 10px;padding-left:12px;color:#fff;font-weight:880;letter-spacing:-.035em;text-wrap:balance}.news-card h2:before,.news-card h3:before{content:"";position:absolute;left:0;top:.12em;bottom:.12em;width:3px;border-radius:4px;background:linear-gradient(180deg,#62cdf7,#168dc8)}.news-card h2{font-size:25px;line-height:1.08}.news-card h3{font-size:19px;line-height:1.14}
.news-card p{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;margin:0;color:#b7c9d8;font-size:12.5px;line-height:1.55}.news-card-action{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:15px;color:#71d2ff;font-size:10px;font-weight:850}.news-card-action b{font-size:16px;line-height:1;transition:transform .2s ease}.news-card:hover .news-card-action b{transform:translateX(3px)}
.news-card.featured .news-card-body{min-height:245px}.news-card.featured img{height:235px}.news-card.featured h2{font-size:27px}.news-card.group-nordhessen h2:before,.news-card.group-nordhessen h3:before{background:linear-gradient(180deg,#a9b6ff,#6676ed)}.news-card.group-verkehr h2:before,.news-card.group-verkehr h3:before{background:linear-gradient(180deg,#ffd083,#e59a22)}.news-card.group-warnung h2:before,.news-card.group-warnung h3:before{background:linear-gradient(180deg,#ff9da6,#e33d4d)}.news-card.group-vellmar h2:before,.news-card.group-vellmar h3:before{background:linear-gradient(180deg,#70e2bc,#2fb384)}
@media(min-width:700px){.news-card:hover{transform:translateY(-4px);border-color:rgba(112,210,255,.36);box-shadow:0 25px 58px rgba(0,8,18,.36),inset 0 1px 0 rgba(255,255,255,.055)}}

/* Premium-Politikradar in der App */
.party-news-grid{gap:12px}.party-card{position:relative;overflow:hidden;min-height:238px;padding:18px 17px 16px;border-color:rgba(255,255,255,.13);background:linear-gradient(155deg,rgba(255,255,255,.085),rgba(255,255,255,.025));box-shadow:0 15px 34px rgba(0,6,14,.18);transition:transform .22s ease,border-color .22s ease,background .22s ease}.party-card-accent{position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#21a9e4,#75d9ff)}.party-card[data-group="bundestag"] .party-card-accent{background:linear-gradient(90deg,#7482ff,#b8c0ff)}.party-card[data-group="hessen"] .party-card-accent{background:linear-gradient(90deg,#d9e5ed,#fff)}.party-card[data-group="kommunal"] .party-card-accent{background:linear-gradient(90deg,#e51f2c,#ff747d)}
.party-card-top{margin:2px 0 13px}.party-source{max-width:72%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid rgba(113,211,255,.13);background:rgba(55,183,240,.09);font-size:8px}.party-kicker{display:block;margin-bottom:6px;color:#8fa9bb;font-size:8px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.party-card h3{position:relative;margin:0 0 10px;padding-left:11px;font-size:18px;line-height:1.18;letter-spacing:-.025em;text-wrap:balance}.party-card h3:before{content:"";position:absolute;left:0;top:.15em;bottom:.15em;width:3px;border-radius:4px;background:#55c8f6}.party-card[data-group="bundestag"] h3:before{background:#8994ff}.party-card[data-group="hessen"] h3:before{background:#e5edf2}.party-card[data-group="kommunal"] h3:before{background:#ef3c48}.party-card p{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;color:#b8c9d5;font-size:11px;line-height:1.55}.party-card strong{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08);font-size:9.5px}.party-card strong b{font-size:15px;transition:transform .2s ease}.party-card:hover strong b{transform:translateX(3px)}
@media(min-width:700px){.party-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.party-card:hover{transform:translateY(-3px);border-color:rgba(109,210,255,.32);background:linear-gradient(155deg,rgba(255,255,255,.11),rgba(255,255,255,.04))}}


/* FINAL: kompakte Premium-Nachrichtenlisten nach ausgewähltem Design */
.news-grid{display:grid;gap:11px}
.news-list-card{display:grid;grid-template-columns:132px minmax(0,1fr);overflow:hidden;min-height:132px;padding:0;border:1px solid rgba(113,202,246,.2);border-radius:18px;background:linear-gradient(155deg,#0d2b46 0%,#071827 100%);box-shadow:0 14px 34px rgba(0,7,16,.24);text-align:left}
.news-list-card.featured{grid-column:auto}
.news-list-card .news-card-media{height:100%;min-height:132px;aspect-ratio:auto}
.news-list-card .news-card-media:after{background:linear-gradient(180deg,rgba(3,14,24,.03) 45%,rgba(3,14,24,.55) 100%)}
.news-list-card .news-card-media img,.news-list-card.featured .news-card-media img{width:100%;height:100%;min-height:132px;object-fit:cover}
.news-list-card .news-card-topic{left:9px;top:9px;bottom:auto;max-width:calc(100% - 18px);padding:5px 8px;font-size:7.5px}
.news-list-card .news-card-body,.news-list-card.featured .news-card-body{min-height:132px;padding:12px 13px 11px}
.news-list-card .news-meta{margin-bottom:7px}.news-list-card .source-pill{max-width:68%;padding:4px 7px;font-size:7.2px}.news-list-card .news-meta time{font-size:7.8px}
.news-list-card h2,.news-list-card h3,.news-list-card.featured h2{margin:0 0 7px;padding:0;color:#fff;font-size:14.5px;line-height:1.18;letter-spacing:-.022em;text-wrap:pretty}.news-list-card h2:before,.news-list-card h3:before{display:none}
.news-list-card p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:0;color:#afc2d0;font-size:9.5px;line-height:1.4}
.news-list-card .news-card-action{margin-top:auto;padding-top:7px;font-size:8.4px}.news-list-card .news-card-action b{font-size:14px}
.news-list-card.group-vellmar{border-left:3px solid #33b982}.news-list-card.group-nordhessen{border-left:3px solid #6c7df0}.news-list-card.group-verkehr{border-left:3px solid #e69b28}.news-list-card.group-warnung{border-left:3px solid #e6404e}.news-list-card.group-fraktion{border-left:3px solid #24a8e3}

.party-news-grid{display:grid;grid-template-columns:1fr;gap:11px}
.party-list-card{display:grid;grid-template-columns:132px minmax(0,1fr);overflow:hidden;min-height:132px;padding:0;border:1px solid rgba(113,202,246,.2);border-radius:18px;background:linear-gradient(155deg,#0d2b46 0%,#071827 100%);box-shadow:0 14px 34px rgba(0,7,16,.24)}
.party-card-media{position:relative;overflow:hidden;min-height:132px;background:#10283f}.party-card-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,14,24,.03) 45%,rgba(3,14,24,.55) 100%)}.party-card-media img{display:block;width:100%;height:100%;min-height:132px;object-fit:cover}
.party-topic{position:absolute;z-index:2;left:9px;top:9px;max-width:calc(100% - 18px);padding:5px 8px;border-radius:999px;background:#168fd0;color:#fff;font-size:7.5px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.party-list-card[data-group="bundestag"] .party-topic{background:#6676ed}.party-list-card[data-group="hessen"] .party-topic{background:#7b47d2}.party-list-card[data-group="kommunal"] .party-topic{background:#d98210}
.party-card-body{display:flex;min-width:0;flex-direction:column;padding:12px 13px 11px}.party-list-card .party-card-top{margin:0 0 5px}.party-list-card .party-source{max-width:66%;padding:4px 7px;font-size:7.2px}.party-list-card time{font-size:7.8px}.party-full-source{display:block;overflow:hidden;margin-bottom:6px;color:#9fb4c4;font-size:7.7px;white-space:nowrap;text-overflow:ellipsis}
.party-list-card h3{margin:0 0 7px;padding:0;color:#fff;font-size:14.5px;line-height:1.18;letter-spacing:-.022em;text-wrap:pretty}.party-list-card h3:before{display:none}.party-list-card p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:0;color:#afc2d0;font-size:9.5px;line-height:1.4}.party-list-card strong{margin-top:auto;padding-top:7px;font-size:8.4px}.party-list-card strong b{font-size:14px}
.party-list-card[data-group="bund"]{border-left:3px solid #24a8e3}.party-list-card[data-group="bundestag"]{border-left:3px solid #6676ed}.party-list-card[data-group="hessen"]{border-left:3px solid #8c58dc}.party-list-card[data-group="kommunal"]{border-left:3px solid #e1931d}
@media(max-width:380px){.news-list-card,.party-list-card{grid-template-columns:108px minmax(0,1fr)}.news-list-card .news-card-body,.party-card-body{padding:10px}.news-list-card h2,.news-list-card h3,.news-list-card.featured h2,.party-list-card h3{font-size:13.3px}.news-list-card p,.party-list-card p{display:none}}
@media(min-width:700px){.news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.news-list-card,.party-list-card{grid-template-columns:150px minmax(0,1fr)}.party-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* KORREKTUR: App-Nachrichten wie im freigegebenen Smartphone-Entwurf */
.news-grid,.party-news-grid{display:grid;grid-template-columns:1fr;gap:10px}
.news-list-card,.party-list-card{grid-template-columns:38% minmax(0,1fr);min-height:124px;border-radius:15px;border:1px solid rgba(93,174,225,.28);background:linear-gradient(160deg,#0b2b47 0%,#061726 100%);box-shadow:0 12px 28px rgba(0,7,16,.25)}
.news-list-card .news-card-media,.party-card-media{min-height:124px;height:100%;aspect-ratio:auto}
.news-list-card .news-card-media img,.party-card-media img{min-height:124px;height:100%;object-fit:cover}
.news-list-card .news-card-media:after,.party-card-media:after{background:linear-gradient(180deg,rgba(2,12,22,.02) 42%,rgba(2,12,22,.48) 100%)}
.news-list-card .news-card-topic,.party-topic{left:8px;top:8px;padding:4px 7px;border-radius:6px;font-size:7px;letter-spacing:.055em;box-shadow:0 5px 14px rgba(0,0,0,.3)}
.news-list-card .news-card-body,.party-card-body{min-height:124px;padding:10px 11px 9px}
.news-list-card .news-meta,.party-list-card .party-card-top{margin-bottom:5px}
.news-list-card .source-pill,.party-list-card .party-source{max-width:66%;padding:0;border:0;background:none;color:#a9c3d4;font-size:7.2px;font-weight:720;letter-spacing:0;text-transform:none}
.news-list-card .source-pill:before,.party-list-card .party-source:before{content:"";display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:#2cb9f1;vertical-align:middle}
.news-list-card .news-meta time,.party-list-card time{font-size:7.6px;color:#b5c8d7}
.party-full-source{display:none}
.news-list-card h2,.news-list-card h3,.news-list-card.featured h2,.party-list-card h3{margin:0;padding:0;font-size:14px;line-height:1.17;letter-spacing:-.022em;display:block;overflow:visible;-webkit-line-clamp:unset;text-wrap:pretty}
.news-list-card p,.party-list-card p{display:none}
.news-list-card .news-card-action,.party-list-card strong{margin-top:auto;padding-top:5px;border:0;color:#69d3ff;font-size:0}
.news-list-card .news-card-action b,.party-list-card strong b{margin-left:auto;font-size:15px}
.news-list-card.group-vellmar{border-left:3px solid #43bf75}.news-list-card.group-nordhessen{border-left:3px solid #6678ee}.news-list-card.group-verkehr{border-left:3px solid #e49a22}.news-list-card.group-warnung{border-left:3px solid #e13a48}.news-list-card.group-fraktion{border-left:3px solid #25a9e2}
.party-list-card[data-group="bund"]{border-left:3px solid #159de4}.party-list-card[data-group="bundestag"]{border-left:3px solid #6878f3}.party-list-card[data-group="hessen"]{border-left:3px solid #a14ce4}.party-list-card[data-group="kommunal"]{border-left:3px solid #e3981e}
@media(max-width:380px){.news-list-card,.party-list-card{grid-template-columns:36% minmax(0,1fr)}.news-list-card h2,.news-list-card h3,.news-list-card.featured h2,.party-list-card h3{font-size:13px}}
@media(min-width:700px){.news-grid,.party-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.news-list-card,.party-list-card{grid-template-columns:40% minmax(0,1fr)}}

/* Korrektur: thematische SVG-Bilder und vollständig sichtbares Datum */
.news-card img,.news-list-card .news-card-media img,.party-card-media img{object-fit:cover;object-position:center center}
.news-meta{display:flex;align-items:flex-start;gap:8px;min-width:0}
.news-meta .source-pill{min-width:0;max-width:none;flex:1 1 auto}
.news-meta time{flex:0 0 auto;white-space:nowrap;min-width:max-content;text-align:right;overflow:visible;font-variant-numeric:tabular-nums}


/* FINAL: Bildfreie Flat-News-Karten in der App */
.news-flat-card,.party-flat-card{position:relative;display:flex;flex-direction:column;overflow:hidden;min-height:190px;padding:0;border:1px solid rgba(100,190,235,.24);border-radius:17px;background:linear-gradient(155deg,#0e304d 0%,#071a2b 100%);box-shadow:0 13px 30px rgba(0,7,16,.24);text-align:left}
.news-flat-card:before,.party-flat-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#25a9e2,#72d9ff)}
.news-flat-card.group-vellmar:before{background:linear-gradient(90deg,#36b67e,#82dfb5)}.news-flat-card.group-nordhessen:before{background:linear-gradient(90deg,#6678ee,#b8c0ff)}.news-flat-card.group-verkehr:before{background:linear-gradient(90deg,#e29520,#ffd175)}.news-flat-card.group-warnung:before{background:linear-gradient(90deg,#df3443,#ff8b95)}
.party-flat-card[data-group="bundestag"]:before{background:linear-gradient(90deg,#6878f3,#bcc4ff)}.party-flat-card[data-group="hessen"]:before{background:linear-gradient(90deg,#914dd9,#d6adff)}.party-flat-card[data-group="kommunal"]:before{background:linear-gradient(90deg,#db8513,#ffd277)}
.news-flat-top,.party-flat-top{display:flex;align-items:center;gap:7px;padding:15px 14px 0;min-width:0}
.news-flat-top .news-card-topic,.party-flat-top .party-topic,.party-flat-top .party-source{position:static;display:inline-flex;min-width:0;max-width:52%;padding:5px 8px;border-radius:999px;background:rgba(47,179,235,.14);color:#dff5ff;font-size:7.7px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.party-flat-top .party-source{max-width:34%;background:rgba(255,255,255,.08);color:#c9dbe7;text-transform:none;letter-spacing:0;font-weight:760}
.news-flat-top time,.party-flat-top time{margin-left:auto;flex:0 0 auto;min-width:max-content;color:#c5d5df;font-size:8.5px;font-weight:760;white-space:nowrap;overflow:visible}
.news-flat-card .news-card-body,.party-flat-card .party-card-body{display:flex;flex:1;flex-direction:column;min-height:0;padding:12px 14px 13px}
.news-flat-card .news-meta{margin:0 0 8px}.news-flat-card .source-pill{display:inline-flex;max-width:100%;padding:0;border:0;background:none;color:#a9c1d1;font-size:8px;font-weight:730;letter-spacing:0;text-transform:none;white-space:normal}
.news-flat-card h2,.news-flat-card h3,.news-flat-card.featured h2,.party-flat-card h3{display:block;overflow:visible;margin:0 0 8px;padding:0;color:#fff;font-size:15.5px;line-height:1.19;letter-spacing:-.026em;-webkit-line-clamp:unset;text-wrap:pretty}
.news-flat-card h2:before,.news-flat-card h3:before,.party-flat-card h3:before{display:none}
.news-flat-card p,.party-flat-card p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin:0;color:#b7cad7;font-size:10px;line-height:1.45}
.party-flat-card .party-full-source{display:block;margin-bottom:7px;color:#a8bfce;font-size:8px;white-space:normal}
.news-flat-card .news-card-action,.party-flat-card strong{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:10px;border-top:1px solid rgba(255,255,255,.09);color:#6bd3ff;font-size:8.8px;font-weight:850}
.news-flat-card .news-card-action b,.party-flat-card strong b{font-size:15px}
@media(min-width:700px){.news-grid,.party-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.news-flat-card,.party-flat-card{min-height:210px}}
@media(max-width:380px){.news-flat-top,.party-flat-top{flex-wrap:wrap}.news-flat-top time,.party-flat-top time{margin-left:auto}.news-flat-card h2,.news-flat-card h3,.news-flat-card.featured h2,.party-flat-card h3{font-size:14px}.news-flat-card p,.party-flat-card p{-webkit-line-clamp:2}}
