*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--font-serif: Georgia, "Times New Roman", Times, serif;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--color-bg: #f4f2ee;--color-surface: #ffffff;--color-primary: #1a3a5c;--color-primary-dark: #0d2137;--color-primary-mid: #1e4976;--color-text: #1a1a1a;--color-muted: #888;--color-border: #e5e5e5;--radius: 12px;--shadow-sm: 0 1px 4px rgba(0,0,0,.06);--shadow-md: 0 4px 18px rgba(26,58,92,.09)}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-serif);background:var(--color-bg);color:var(--color-text);line-height:1.5;min-height:100vh}button{font-family:inherit;cursor:pointer}a{color:var(--color-primary)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:4px}.app{font-family:var(--font-serif);background:var(--color-bg);min-height:100vh;padding-bottom:60px}.container{padding:14px 13px 0;max-width:720px;margin:0 auto}.header{background:linear-gradient(135deg,var(--color-primary-dark),var(--color-primary) 60%,var(--color-primary-mid));padding:30px 18px 26px;text-align:center;position:relative;overflow:hidden}.header__bg-pattern{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 15% 50%,rgba(255,255,255,.05) 0%,transparent 45%),radial-gradient(circle at 85% 20%,rgba(255,255,255,.07) 0%,transparent 35%);pointer-events:none}.header__content{position:relative}.header__kicker{font-size:10px;letter-spacing:.25em;color:#7fb3d3;margin-bottom:5px;text-transform:uppercase}.header__title{margin:0 0 5px;font-size:clamp(20px,5vw,30px);color:#fff;font-weight:400}.header__sub{margin:0 auto;color:#a8c8e0;max-width:400px;font-size:13px;line-height:1.6;font-style:italic}.header__pill{margin-top:10px;display:inline-flex;align-items:center;gap:5px;background:#ffffff14;border-radius:20px;padding:3px 12px;font-size:11px;color:#7fb3d3}.header__count{margin-top:8px;display:inline-block;background:#2e7d32;color:#fff;border-radius:20px;padding:3px 14px;font-size:12px;font-weight:700}.profil{background:var(--color-surface);border-radius:14px;padding:18px 18px 16px;border:2px solid var(--color-primary);margin-bottom:14px;box-shadow:var(--shadow-md)}.profil__head{display:flex;align-items:center;gap:8px;margin-bottom:14px}.profil__title-icon{font-size:18px}.profil__title{font-weight:700;color:var(--color-primary);font-size:14px}.profil__reset{margin-left:auto;background:none;border:1px solid #999;border-radius:6px;padding:2px 10px;font-size:11px;color:#555;font-family:inherit}.profil__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profil__field{min-width:0}.profil__label{font-size:11px;font-weight:700;color:#555;margin-bottom:5px;text-transform:uppercase;letter-spacing:.06em}.profil__chips{display:flex;gap:5px;flex-wrap:wrap}.profil__select{width:100%;padding:7px 10px;border-radius:8px;border:2px solid #ddd;font-size:13px;font-family:inherit;background:#f9f9f9;color:#333}.profil__gemeinde-row{margin-top:12px}.profil__gemeinde-info{margin-top:10px;padding:10px 12px;background:#fafaf8;border-radius:8px;border:1px solid var(--color-border);font-size:13px;line-height:1.7;color:#333}.profil__gemeinde-link{display:inline-block;margin-top:8px;padding:5px 12px;border-radius:7px;background:#854f0b;color:#fff;text-decoration:none;font-size:12px;font-weight:700}.profil__active-hint{margin-top:10px;padding:7px 12px;background:#e8f0fe;border-radius:8px;font-size:12px;color:var(--color-primary)}.chip{padding:5px 12px;border-radius:99px;font-size:13px;border:2px solid #ddd;background:#f9f9f9;color:#555;font-weight:400;font-family:inherit;transition:all .12s}.chip--selected{border-color:var(--color-primary);background:var(--color-primary);color:#fff;font-weight:700}.search{position:relative;margin-bottom:10px}.search__icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);font-size:15px;pointer-events:none}.search__input{width:100%;padding:10px 13px 10px 35px;border-radius:10px;border:2px solid #ddd;font-size:13px;font-family:inherit;background:#fff;outline:none;transition:border-color .12s}.search__input:focus{border-color:var(--color-primary)}.filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:7px}.filters--kategorie{gap:5px;margin-bottom:10px}.filter-chip{padding:4px 12px;border-radius:16px;border:2px solid #ddd;background:#fff;color:#666;font-size:12px;font-weight:400;font-family:inherit}.filter-chip--selected{border-color:var(--color-primary);background:var(--color-primary);color:#fff;font-weight:700}.filter-chip--disabled{opacity:.4}.cat-chip{padding:3px 10px;border-radius:14px;border:1.5px solid #bbb;background:#fff;color:#555;font-size:11px;font-weight:400;font-family:inherit}.cat-chip--selected{border-color:#444;background:#333;color:#fff;font-weight:700}.result-count{font-size:12px;color:#555;margin-bottom:8px}.no-results{text-align:center;padding:40px 0;color:#555;font-style:italic}.karte{--akzent: #555;--farbe: #f5f5f5;background:#fff;border-radius:12px;overflow:hidden;border:1px solid var(--color-border);box-shadow:var(--shadow-sm);margin-bottom:9px}.karte--highlight{border:2px solid var(--akzent);box-shadow:0 2px 14px color-mix(in srgb,var(--akzent) 12%,transparent)}.karte[data-ebene=Bund][data-kategorie=Familie]{--akzent: #c62828;--farbe: #fce4ec}.karte[data-ebene=Bund][data-kategorie="Energie & Klima"]{--akzent: #e65100;--farbe: #fff3e0}.karte[data-ebene=Bund][data-kategorie=Wirtschaft]{--akzent: #283593;--farbe: #e8eaf6}.karte[data-ebene=Bund][data-kategorie=Bildung]{--akzent: #6a1b9a;--farbe: #f3e5f5}.karte[data-ebene=Bund][data-kategorie=Soziales],.karte[data-ebene=Vorarlberg][data-kategorie=Familie]{--akzent: #2e7d32;--farbe: #e8f5e9}.karte[data-ebene=Vorarlberg][data-kategorie=Wohnen]{--akzent: #1565c0;--farbe: #e3f2fd}.karte[data-ebene=Vorarlberg][data-kategorie="Energie & Klima"]{--akzent: #e65100;--farbe: #fff3e0}.karte[data-ebene=Vorarlberg][data-kategorie=Soziales]{--akzent: #2e7d32;--farbe: #e8f5e9}.karte[data-ebene=Vorarlberg][data-kategorie=Wirtschaft]{--akzent: #880e4f;--farbe: #fce4ec}.karte[data-ebene=Vorarlberg][data-kategorie=Bildung]{--akzent: #6a1b9a;--farbe: #f3e5f5}.karte[data-ebene=Gemeinde][data-kategorie="Energie & Klima"]{--akzent: #854f0b;--farbe: #faeeda}.karte__head{width:100%;padding:13px 15px;border:none;text-align:left;font-family:inherit;display:flex;align-items:flex-start;gap:10px;background:#fff}.karte__head--open{background:var(--farbe)}.karte__emoji{font-size:24px;flex-shrink:0;line-height:1.1;margin-top:1px}.karte__main{flex:1;min-width:0}.karte__title-row{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-bottom:3px}.karte__title{font-size:14px;font-weight:700;color:var(--color-text)}.karte__meta{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.karte__kategorie{font-size:11px;color:var(--akzent);font-weight:600}.karte__betrag{font-size:11px;color:#555;font-style:italic}.karte__chevron{font-size:14px;color:#bbb;flex-shrink:0;margin-top:4px;transition:transform .2s}.karte__chevron--open{transform:rotate(180deg)}.karte__body{padding:0 15px 15px;border-top:1px solid color-mix(in srgb,var(--akzent) 20%,transparent)}.karte__desc{font-size:13px;color:#333;line-height:1.65;margin:11px 0 10px}.karte__voraus{margin-bottom:10px}.karte__voraus-label{font-size:10px;font-weight:700;color:#555;letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px}.karte__voraus-item{display:flex;gap:6px;font-size:12px;color:#444;line-height:1.5;margin-bottom:3px}.karte__check{color:var(--akzent);font-weight:700;flex-shrink:0}.karte__action{background:var(--farbe);border-radius:8px;padding:9px 12px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.karte__stelle{font-size:12px;color:#333}.karte__stelle strong{font-weight:700}.karte__link{padding:6px 13px;border-radius:7px;background:var(--akzent);color:#fff;text-decoration:none;font-size:12px;font-weight:700;font-family:inherit}.karte__geprueft{margin-top:9px;font-size:11px;color:#555;line-height:1.5}.karte__geprueft--unverified{background:#fff8e1;border:1px solid #ffd54f;border-radius:6px;padding:7px 10px;color:#6d4c00}.badge{font-size:10px;padding:2px 8px;border-radius:99px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:#eee;color:#555}.badge--beliebt{background:var(--akzent);color:#fff}.badge--ebene-Bund{background:#e6f1fb;color:#185fa5}.badge--ebene-Vorarlberg{background:#eaf3de;color:#3b6d11}.badge--ebene-Gemeinde{background:#faeeda;color:#854f0b}.badge--match-sehr-passend{background:#e8f5e9;color:#2e7d32}.badge--match-passend{background:#e3f2fd;color:#1565c0}.badge--match-bedingt{background:#fff8e1;color:#e65100}.badge--match-allgemein{background:#f3e5f5;color:#6a1b9a}.footer{max-width:720px;margin:28px auto 0;padding:0 13px}.footer__notice{background:#fff;border-radius:10px;padding:12px 16px;border:1px solid var(--color-border);margin-bottom:12px;font-size:11px;color:#555;line-height:1.7}.footer__notice--datenschutz{background:#e8f0fe;border-color:#c5d5f5;color:var(--color-primary)}.footer__notice strong{color:#555}.footer__notice--datenschutz strong{color:var(--color-primary)}.footer__legal-links{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:10px}.footer__legal-link{background:none;border:none;color:var(--color-primary);font-size:12px;text-decoration:underline;font-family:inherit;padding:0}.footer__quellen{text-align:center;font-size:11px;color:#555;padding-bottom:8px;line-height:1.8}.footer__quellen a{color:var(--color-primary)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-box{background:#fff;border-radius:14px;max-width:580px;width:100%;max-height:80vh;overflow-y:auto;padding:28px 28px 24px;box-shadow:0 20px 60px #00000040;animation:slideUp .2s ease}@keyframes slideUp{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.modal-title{font-size:17px;font-weight:700;color:var(--color-primary);margin:0}.modal-close{background:none;border:1px solid #999;border-radius:8px;width:32px;height:32px;font-size:16px;color:#333;display:flex;align-items:center;justify-content:center}.modal-tabs{display:flex;gap:6px;margin-bottom:20px;border-bottom:2px solid #f0f0f0;padding-bottom:12px;flex-wrap:wrap}.modal-tab{padding:5px 14px;border-radius:20px;border:2px solid var(--color-border);background:#f9f9f9;color:#555;font-size:13px;font-weight:400;font-family:inherit}.modal-tab--active{border-color:var(--color-primary);background:var(--color-primary);color:#fff;font-weight:700}.legal-content{font-size:13px;line-height:1.8;color:#333}.legal-content h3{font-size:12px;font-weight:700;color:var(--color-primary);margin:16px 0 5px;text-transform:uppercase;letter-spacing:.05em}.legal-content p{margin-bottom:8px}.legal-content a{color:var(--color-primary)}.legal-content__highlight{background:#e8f5e9;border-radius:8px;padding:10px 14px;margin-bottom:14px}.legal-content__stand{color:#555;font-size:11px;margin-top:16px}.legal-content__table{width:100%;border-collapse:collapse;font-size:12px;margin-bottom:8px}.legal-content__table th,.legal-content__table td{text-align:left;vertical-align:top;padding:6px 8px;border-bottom:1px solid #eee}.legal-content__table th{background:#fafafa;font-weight:700;color:#555}@media (max-width: 600px){.modal-box{padding:20px 16px 18px;max-height:90vh}.legal-content__table{font-size:11px}.legal-content__table th,.legal-content__table td{padding:5px 6px}}.error-fallback{max-width:520px;margin:60px auto;padding:24px;background:#fff;border:1px solid var(--color-border);border-radius:12px;font-size:14px;line-height:1.6;color:#333;text-align:center}.error-fallback h1{font-size:18px;color:var(--color-primary);margin-bottom:10px}
