
:root{font-family:system-ui,Arial,sans-serif;color:#1c2937;background:#f4f7fb}*{box-sizing:border-box}main{max-width:1160px;margin:30px auto;padding:0 18px}header{background:#163c61;color:white;padding:22px 28px;border-radius:14px}h1{margin:0 0 6px}header p{margin:0;color:#d6e4f2}.panel{background:white;border:1px solid #dce4ee;border-radius:12px;padding:20px;margin:16px 0}label{display:block;font-weight:650;margin:8px 0}input[type=file]{width:100%;padding:12px;border:1px dashed #9aaec2;border-radius:8px}button{border:0;border-radius:8px;background:#1463a5;color:white;padding:12px 20px;font-weight:650;cursor:pointer}button:disabled{opacity:.5;cursor:default}.row{display:flex;gap:16px;flex-wrap:wrap;align-items:end}.row>*{flex:1;min-width:220px}.hint{color:#536679;font-size:14px}.thumbs,.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:12px;margin-top:12px}.tile{border:1px solid #dce4ee;border-radius:9px;overflow:hidden;background:#fff}.tile img{width:100%;height:140px;object-fit:cover;display:block}.tile .filename{padding:8px;font-size:13px;overflow-wrap:anywhere}.refslot{border:1px solid #dce4ee;border-radius:9px;padding:10px;background:#f8fafc}.refslot img{width:100%;height:140px;object-fit:contain;background:#edf2f7;border-radius:6px}.refslot .placeholder{height:140px;display:flex;align-items:center;justify-content:center;color:#65788a;border:1px dashed #b4c5d5;border-radius:6px}.refslot input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.refslot .actions{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.refslot button{padding:8px 10px;font-size:13px}.refslot .remove{background:#66798c}.refslot .filename{font-size:12px;overflow-wrap:anywhere;min-height:30px;margin-top:5px}progress{width:100%;height:18px}#status{white-space:pre-wrap}a{color:#145e9d}#results{min-height:40px}#viewer{position:fixed;inset:0;background:rgba(5,12,22,.97);color:white;z-index:1000;display:none;flex-direction:column;align-items:center;justify-content:center;padding:15px}#viewer.active{display:flex}#viewer img{max-width:94vw;max-height:78vh;object-fit:contain}#viewer .controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:12px}#viewer button{background:#315f85}#viewer .info{max-width:90vw;overflow-wrap:anywhere;text-align:center;margin-top:8px}#viewerClose{position:absolute;right:18px;top:12px}#viewer .controls button{min-width:95px}@media(max-width:600px){#viewer img{max-height:65vh}}

.sitehead{background:#fff;border:1px solid #dce4ee;border-radius:14px;padding:13px 20px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#173b5c}.brand img{width:150px;max-width:38vw;height:auto;object-fit:contain}.brand span{font-weight:700;font-size:15px}.navlinks{display:flex;flex-wrap:wrap;gap:7px}.navlinks a{color:#204d74;text-decoration:none;border:1px solid #dbe6f1;border-radius:7px;padding:8px 10px;font-size:13px;background:#f5f8fc}.navlinks a:hover,.navlinks a:focus-visible{background:#e4effa;text-decoration:underline}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:12px;margin:12px 0}.step{background:#f4f8fc;border:1px solid #e2ebf5;border-radius:10px;padding:13px}.step strong{display:block;color:#163c61;margin-bottom:5px}.step p{margin:0;font-size:14px;line-height:1.5}.faq details{border-top:1px solid #e2e9f1;padding:12px 0}.faq summary{font-weight:650;cursor:pointer}.faq p{line-height:1.55;color:#40566a;margin:8px 0 0}.footer{font-size:13px;text-align:center;color:#607287;padding:12px 0 28px}.footer a{margin:0 6px}header .hero{display:flex;align-items:center;gap:14px}header .hero img{width:66px;height:66px;object-fit:cover;border-radius:15px;border:2px solid #d4e9f7}header h1{margin-bottom:5px}@media(max-width:640px){.sitehead{align-items:flex-start}.navlinks{width:100%}.navlinks a{flex:1 1 auto;text-align:center}}

/* Sprachumschalter */
.langbar{display:flex;align-items:center;gap:8px;flex-shrink:0}
.langbar label{font-weight:650;font-size:13px;color:#284e70;margin:0}
.langbar select{padding:8px 12px;min-width:125px;border:1px solid #c7d6e6;border-radius:8px;background:white;color:#183f62;font:inherit;font-size:13px;cursor:pointer}
.langbar select:focus-visible{outline:3px solid #81b8e9;outline-offset:2px}
.sitehead .navlinks{justify-content:flex-end}
.sitehead .langbar{margin-left:auto}
.langbar option{color:#183f62}
.gallery .tile{cursor:pointer;color:#1b2936;text-decoration:none}
.gallery .tile:hover{border-color:#6aa6d9;box-shadow:0 2px 7px rgba(18,65,102,.14)}
.gallery .tile:focus-visible{outline:3px solid #327ec0;outline-offset:2px}
@media(max-width:860px){.sitehead .langbar{margin-left:0}}
@media(max-width:640px){.langbar{width:100%;justify-content:space-between}.langbar select{flex:1;max-width:230px}}

/* Anzeigen werden unabhängig von der Galerie gerendert und nie neu initialisiert. */
.ad-placement{background:#fff;border:1px solid #dce4ee;border-radius:12px;margin:16px 0;padding:10px 15px 15px;min-width:0;overflow:hidden}
.ad-caption{display:block;text-align:center;color:#607287;font-size:12px;margin:0 0 10px}
.ad-placement .adsbygoogle{width:100%;max-width:100%;min-height:0;overflow:hidden}
.ad-privacy{margin:12px 6px 0;line-height:1.5}
@media(max-width:600px){.ad-placement{padding:9px 8px 14px}}

/* Ergebnisbereinigung – nur das betroffene Bild entfernen, Galerie bleibt stabil. */
.gallery .tile{position:relative;min-width:0}
.gallery .tile-open{display:block;width:100%;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.gallery .tile-open:focus-visible{outline:3px solid #327ec0;outline-offset:-3px}
.gallery .tile-reject{position:absolute;top:6px;right:6px;z-index:2;width:34px;height:34px;padding:0;border:1px solid rgba(255,255,255,.8);border-radius:50%;background:rgba(70,28,35,.84);color:#fff;font-size:20px;line-height:1;box-shadow:0 1px 5px rgba(0,0,0,.25)}
.gallery .tile-reject:hover,.gallery .tile-reject:focus-visible{background:#b32636}
.result-undo{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px;color:#536679;font-size:14px}
.result-undo button{padding:8px 12px;background:#4c6175;font-size:13px}
#viewer .viewer-reject{background:#912d3f}
#viewer .viewer-reject:hover{background:#b32636}

/* Ein einziger klarer Datenschutzhinweis im Einführungsbereich. */
.privacy-note{background:#f2f7fc;border-left:4px solid #4685b8;border-radius:6px;padding:13px 15px;color:#31495e;font-size:14px;line-height:1.55;margin-top:14px}
.desktop-download .desktop-head{display:flex;align-items:flex-start;gap:16px}
.desktop-download .desktop-icon{font-size:32px;background:#ecf3f9;min-width:60px;width:60px;height:60px;display:grid;place-items:center;border-radius:12px}
.desktop-download h2{margin-top:0}
.desktop-download p{line-height:1.5}
.download-link{display:inline-flex;align-items:center;background:#1463a5;color:#fff;text-decoration:none;border-radius:8px;font-weight:700;padding:12px 18px;margin:4px 0 2px}
.download-link:hover,.download-link:focus-visible{background:#0f4e82;color:#fff}
@media(max-width:520px){.desktop-download .desktop-head{display:block}.desktop-download .desktop-icon{margin-bottom:12px}.download-link{width:100%;justify-content:center;text-align:center}}

/* Original-Treffer lokal in gewählten Ordner oder USB-Stick kopieren. */
.copy-panel{margin:14px 0 16px;padding:16px;border:1px solid #d0deec;background:#f6faff;border-radius:10px}
.copy-panel h3{margin:0 0 8px;color:#163c61;font-size:17px}
.copy-panel p{line-height:1.5}
.copy-actions{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin:12px 0 8px}
.copy-choice{min-width:230px;flex:1 1 260px}
.copy-choice label{margin:0 0 5px;font-size:14px}
.copy-choice select{min-height:43px;width:100%;padding:9px;border:1px solid #bdcfe2;border-radius:7px;background:#fff;font:inherit;color:#183b5c}
.copy-actions button{min-height:43px;padding:10px 14px}
#cancelCopy{background:#657586}
#copyProgress{margin:8px 0 0}
#copyStatus{margin-top:8px;overflow-wrap:anywhere}
@media(max-width:620px){.copy-actions button{width:100%}}

/* 1.1: Auch bei noch unbefüllten Anzeigen bleibt der Platz nachvollziehbar sichtbar. */
.ad-placement .adsbygoogle{display:block;min-height:90px}
.ads-diagnostics{border-style:dashed;border-color:#8eacc8;background:#f3f8ff}
.ads-diagnostics p{margin:7px 0}
