/* Eine feste Oberfläche: schwarzes Glas, weiße Schrift und Linien-Icons.
   Zonenfarben bleiben als fachliche Legende in den kleinen Vorschauen. */
html {color-scheme:dark;--bg-card:#17191d;--text-color:#fff;--link-color:#fff;--accent-color:#fff}
body.siw_body {color:#f5f6f7;background:#080a0c;--bg-card:#17191d;--text-color:#fff;--link-color:#fff}
body.siw_body :is(.siw_header,.siw_infoleiste,.siw_panel_inhalt,.siw_baumenu,.siw_kartenfeld,
 .siw_baupopover,.siw_linie_entwurf,.siw_start_karte,.siw_modal_karte,.siw_baukompakt p) {
 background:rgba(8,10,13,.82);color:#f5f6f7;
 border:1px solid rgba(255,255,255,.17);
 box-shadow:0 12px 36px #0005,inset 0 1px 0 #ffffff08;
 backdrop-filter:blur(20px) saturate(.65);-webkit-backdrop-filter:blur(20px) saturate(.65);
}
body.siw_body .siw_header {border-width:0 0 1px;box-shadow:none}
body.siw_body .siw_infoleiste {border-width:0 0 1px;box-shadow:none}
body.siw_body :is(h1,h2,h3,h4,.siw_ueberschrift,.siw_start_unter,.siw_start_hinweis,
 .siw_start_ebenen_titel,.siw_stat span,.siw_klein,.siw_zeit_wert,.siw_infoleiste_ebene_text small) {color:#e5e7eb}
body.siw_body :is(button,select,input[type=number],summary,.jupi_nav_back) {
 color:#f5f6f7;background:rgba(255,255,255,.055);border-color:#ffffff30;box-shadow:none;
 border-radius:8px;accent-color:#fff;
}
body.siw_body button:hover,body.siw_body summary:hover,body.siw_body .jupi_nav_back:hover {background:#ffffff1f;border-color:#ffffff70;color:#fff}
body.siw_body :is(button[aria-pressed=true],.siw_wkz_aktiv,.siw_str_aktiv,.siw_dichte_aktiv,
 .siw_gelaende_aktiv,.siw_bauebene_aktiv,.siw_kat_aktiv,.siw_ebene_aktiv,.siw_start_knopf_haupt),
body.siw_body details[open]>summary {background:#ffffff24;color:#fff;border-color:#ffffffb3;box-shadow:inset 0 0 0 1px #ffffff38}
body.siw_body :is(button,select,input,summary,a):focus-visible {outline:2px solid #fff;outline-offset:3px}
body.siw_body button:disabled {opacity:.35}
body.siw_body :is(.siw_str span,.siw_dichte b,.siw_dichte small,.siw_start_lehrsatz,
 .siw_infoleiste_marke,.siw_kartenfeld_kopf,.siw_aufgabe,.siw_tempo_gruppe) {background:#ffffff0a;color:#f5f6f7;border-color:#ffffff28}
body.siw_body .siw_dichte_aktiv {background:#ffffff24}
body.siw_body :is(select,input[type=number]) {background:#15171b;color:#fff;min-height:34px;max-width:100%;padding:4px 8px;border:1px solid #ffffff30}
body.siw_body input[type=range] {accent-color:white;max-width:55%}
body.siw_body .siw_spuren {gap:10px}
body.siw_body .siw_spuren input[type=number] {width:90px}
body.siw_body .siw_start {background:#02040770;backdrop-filter:blur(5px)}
body.siw_body :is(.siw_ton,.siw_einst) {background:rgba(8,10,13,.82);color:#fff;border:1px solid #ffffff30}
body.siw_body .siw_modal {background:#02040785}
body.siw_body .siw_meldung {background:#0b0d10e8;color:#fff;border:1px solid #ffffff40;backdrop-filter:blur(14px)}
body.siw_body .siw_icon {color:inherit}
body.siw_body .siw_zeit_wert {display:inline-flex;align-items:center;gap:5px}
body.siw_body .siw_zeit_wert .siw_icon {width:15px;height:15px}
body.siw_body .siw_start_knopf {display:flex;justify-content:center;align-items:center;gap:8px}
body.siw_body .siw_gelaende_liste {display:flex;flex-wrap:wrap;gap:6px}
body.siw_body .siw_gelaende_knopf {display:flex;align-items:center;gap:6px;min-height:38px;padding:6px 10px;font:inherit;font-size:.8rem;cursor:pointer}
body.siw_body .siw_gelaende_knopf .siw_icon {width:21px;height:21px}
body.siw_body .siw_gebaeude_karte b {display:flex;align-items:center;gap:5px}
body.siw_body .jupi_sprachen_liste,body.siw_body .jupi_sprachmenue {background:#101216;color:white}
@media(prefers-reduced-motion:reduce) {body.siw_body * {transition:none!important}}

/* Auch die älteren, stärker qualifizierten Themenregeln überschreiben. */
html[data-theme] body.siw_body #main-content button {background:#ffffff0e;color:#fff;border-color:#ffffff30}
html[data-theme] body.siw_body #main-content :is(button[aria-pressed=true],.siw_wkz_aktiv,.siw_str_aktiv,.siw_dichte_aktiv,.siw_gelaende_aktiv,.siw_bauebene_aktiv) {
 background:#ffffff24;color:#fff;border-color:#ffffffb3;box-shadow:inset 0 0 0 1px #ffffff38;
}
html[data-theme] body.siw_body #main-content button:hover {background:#ffffff2a;border-color:#ffffff80}
html body.siw_body header.siw_header a.jupi_nav_back {color:#fff;background:#ffffff0c;border:1px solid #ffffff35}
body.siw_body #main-content .siw_aufgabe li {color:#e5e7eb}
body.siw_body #main-content .siw_dichte_aktiv :is(b,small) {background:#ffffff0a;color:#fff}
body.siw_body .jupi_sprachen_icon {font-size:0;width:20px;height:20px;display:inline-block;border:1px solid #fff;border-radius:50%;position:relative;box-sizing:border-box}
body.siw_body .jupi_sprachen_icon:before {content:'';position:absolute;inset:0 5px;border:1px solid #fff;border-radius:50%}
body.siw_body .jupi_sprachen_icon:after {content:'';position:absolute;left:0;right:0;top:8px;border-top:1px solid #fff}
body.siw_body #jupi_sprachen_wahl {display:inline-flex;align-items:center;gap:8px;max-width:100%}
body.siw_body #jupi_sprachen_wahl select {width:160px;max-width:100%}
body.siw_body :is(.siw_ebene_nummer,.siw_ebene_status,.siw_ebene_status_gesperrt) {color:#fff;background:#ffffff14;border-color:#ffffff30}
body.siw_body .siw_ebene_status {display:flex;align-items:center;gap:4px}
body.siw_body .siw_ebene_status .siw_icon {width:13px;height:13px}
body.siw_body #siw_snap {display:flex;align-items:center;justify-content:center;gap:7px;min-height:34px;margin:0}
@media(max-width:560px) {body.siw_body #jupi_sprachen_wahl select {width:130px}}
body.siw_body [data-kat=werkzeuge] {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 14px}
body.siw_body [data-kat=werkzeuge][hidden] {display:none}
body.siw_body [data-kat=werkzeuge]>:not(label) {grid-column:1/-1}
body.siw_body [data-kat=werkzeuge] .siw_spuren {display:flex;align-items:center;justify-content:space-between;font-size:.78rem}
body.siw_body [data-kat=werkzeuge] .siw_spuren input[type=range] {min-width:40px;width:50%}
body.siw_body [data-kat=werkzeuge] .siw_klein {line-height:1.45;margin:2px 0}
@media(max-width:700px) {
 body.siw_body [data-kat=werkzeuge] {grid-template-columns:minmax(0,1fr)}
 body.siw_body [data-kat=werkzeuge] .siw_spuren input[type=range] {width:55%}
}
body.siw_body .siw_start {inset:var(--siw-header-height,58px) 0 0;padding:16px}
body.siw_body .siw_start_karte {max-height:calc(100dvh - var(--siw-header-height,58px) - 32px);box-sizing:border-box}
body.siw_body .siw_meldung {top:calc(var(--siw-hud-bottom,72px) + 8px);bottom:auto;width:max-content;max-width:min(540px,calc(100vw - 32px));box-sizing:border-box;border-radius:12px;line-height:1.45}
body.siw_body .siw_panel_rechts {top:calc(var(--siw-hud-bottom,72px) + 8px)}
@media(max-width:1450px) {body.siw_body .siw_infoleiste_nachfrage {display:none}}
@media(max-width:900px) {
 body.siw_body .siw_meldung {left:12px;max-width:calc(100vw - 90px);transform:translateY(-10px)}
 body.siw_body .siw_meldung.siw_sichtbar {transform:translateY(0)}
}
/* Kartenbesitz ist eine fachliche Farblegende, keine allgemeine Auswahl. */
html[data-theme] body.siw_body #siw_land_raster button[data-besitz=true]{background:#244f3c;border-color:#80dfa5;opacity:1}
html[data-theme] body.siw_body #siw_land_raster button[data-kaufbar=true]{background:#21465b;border-color:#61c4f5}
body.siw_body .siw_land_raster button:disabled:not([data-besitz=true]){opacity:.65}
html[data-theme] body.siw_body #main-content #siw_kompass{background:#0a1319dd;border-radius:50%}
/* Kleine Nordrose direkt beim Wetter, Abriss jederzeit am unteren Rand. */
body.siw_body #siw_kompass{position:relative;inset:auto;flex:0 0 32px;width:32px;height:32px;min-height:32px;padding:2px;align-self:center}
body.siw_body #siw_kompass_rose b{top:0;font-size:9px;line-height:10px}
body.siw_body #siw_kompass_rose i{top:9px;font-size:15px;line-height:15px}
body.siw_body .siw_zeit_anzeige{align-items:center}
html[data-theme] body.siw_body #main-content #siw_abriss{position:fixed;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:24;width:48px;height:48px;padding:10px;background:#0a1319ee}
body.siw_body #siw_abriss .siw_icon{width:26px;height:26px}
body.siw_body .siw_baumenu{max-width:calc(100vw - 140px);box-sizing:border-box}
@media(max-width:600px){body.siw_body .siw_baumenu{left:8px;transform:none;max-width:calc(100vw - 76px)}}
@media(max-width:600px){
 body.siw_body .siw_infoleiste_aktionen{flex-wrap:wrap;min-width:0;max-width:100%;gap:5px}
 body.siw_body .siw_zeit_anzeige{flex-wrap:wrap}
}

/* Feste Anzeigefächer: Wetter, Datum und Zahlen dürfen Nachbarn nicht schieben. */
body.siw_body .siw_infoleiste_stats {
 display:grid;grid-template-columns:5.5rem 6.5rem 8.5rem 6.5rem;overflow:visible;
}
body.siw_body .siw_infoleiste_stats .siw_stat {min-width:0;padding:.35rem .45rem}
body.siw_body .siw_stat strong {font-variant-numeric:tabular-nums;white-space:nowrap}
body.siw_body .siw_zeit_anzeige {
 display:grid;grid-template-columns:8.7rem 6.7rem 6.3rem 32px;gap:.35rem;
}
body.siw_body .siw_zeit_wert {min-width:0;white-space:nowrap;overflow:hidden;font-variant-numeric:tabular-nums}
body.siw_body .siw_zeit_wert .siw_icon {flex:none}
body.siw_body #siw_kompass {overflow:hidden}
@media (min-width:901px) and (max-width:1200px) {
 body.siw_body .siw_infoleiste {flex-wrap:wrap}
 body.siw_body .siw_infoleiste_ebene {flex:1 1 100%}
 body.siw_body .siw_infoleiste_stats {grid-template-columns:4.5rem 5.5rem 7.5rem 5.5rem}
}
@media(max-width:900px) {
 body.siw_body .siw_infoleiste_stats {width:100%;grid-template-columns:1fr 1.15fr 1.55fr 1fr;gap:.25rem}
 body.siw_body .siw_infoleiste_aktionen {width:100%;flex-wrap:wrap;gap:.35rem}
 body.siw_body .siw_zeit_anzeige {width:100%;grid-template-columns:1.3fr 1.1fr 1fr 32px;font-size:.72rem}
}
@media(max-width:420px) {
 body.siw_body .siw_infoleiste_stats .siw_stat {padding:.3rem .2rem}
 body.siw_body .siw_infoleiste_stats .siw_stat span {font-size:.58rem;letter-spacing:0;white-space:nowrap}
 body.siw_body .siw_infoleiste_stats .siw_stat strong {font-size:.8rem}
}
