:root{--bg:#f6f7f5;--surface:#fff;--surface-2:#eef1ed;--text:#1b1f1c;--muted:#5d665f;--border:#d9ded8;--accent:#0f5132;--accent-text:#fff;--accent-soft:#d7ebe0;--accent-soft-text:#0f5132;--warn-bg:#fff4d6;--warn-text:#5c4300;--price:#0f5132;--map-water:#cfe0ea;--map-land:#f3f4ef;--map-border:#a9b3ab;--radius:12px;--sidebar:420px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.4}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#121513;--surface:#1b1f1c;--surface-2:#252a26;--text:#e8ece9;--muted:#9aa49d;--border:#333a35;--accent:#5cc08f;--accent-text:#0b1a12;--accent-soft:#1f3a2c;--accent-soft-text:#9fe0bf;--warn-bg:#3a2f12;--warn-text:#f3d98a;--price:#7fd6a9;--map-water:#18222a;--map-land:#232825;--map-border:#48524b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#121513;--surface:#1b1f1c;--surface-2:#252a26;--text:#e8ece9;--muted:#9aa49d;--border:#333a35;--accent:#5cc08f;--accent-text:#0b1a12;--accent-soft:#1f3a2c;--accent-soft-text:#9fe0bf;--warn-bg:#3a2f12;--warn-text:#f3d98a;--price:#7fd6a9;--map-water:#18222a;--map-land:#232825;--map-border:#48524b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--text);margin:0}button,input,select{font:inherit;color:inherit}a{color:var(--accent)}.app{flex-direction:column;height:100dvh;display:flex}.topbar{padding:10px 16px;padding-top:max(10px, env(safe-area-inset-top));background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:10px;display:flex}.brand{white-space:nowrap;align-items:center;gap:8px;font-weight:700;display:flex}.topsearch{flex:1;min-width:0;display:flex}.topbar input{border:1px solid var(--border);background:var(--surface-2);border-radius:999px;flex:1;min-width:0;padding:9px 12px}.icon-btn{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:50%;flex:none;width:40px;height:40px}.banner{background:var(--warn-bg);color:var(--warn-text);padding:8px 16px;font-size:.9rem}.layout{grid-template-columns:var(--sidebar) 1fr;flex:1;min-height:0;display:grid}.sidebar{border-right:1px solid var(--border);background:var(--bg);flex-direction:column;display:flex;overflow-y:auto}.map{min-height:0;position:relative}.map-loading{height:100%;color:var(--muted);place-items:center;display:grid}.tabs{display:none}@media (width<=760px){.brand span{display:none}.layout{grid-template-columns:1fr}.sidebar{border-right:none}.tabs{background:var(--surface);border-bottom:1px solid var(--border);display:flex}.tabs button{cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;flex:1;padding:10px;font-weight:600}.tabs button[aria-selected=true]{border-bottom-color:var(--accent);color:var(--accent)}.view-liste .map,.view-karte .sidebar{display:none}}.filters-toggle{color:var(--accent);cursor:pointer;background:0 0;border:none;align-self:flex-start;margin:12px 16px 0;padding:0;font-weight:600}.filters-toggle .badge{background:var(--accent);color:var(--accent-text);border-radius:999px;margin-left:8px;padding:1px 8px;font-size:.8rem}.filters{padding:4px 16px 8px}.filters section,.filters details{border-bottom:1px solid var(--border);padding:10px 0}.filters h3,.filters summary{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);cursor:pointer;margin:0 0 8px;font-size:.8rem;font-weight:700}.filters details:not([open]) summary{margin-bottom:0}.hint{text-transform:none;letter-spacing:0;margin-left:8px;font-weight:400}.group h4{margin:10px 0 6px;font-size:.85rem;font-weight:600}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:6px 11px;font-size:.9rem;display:inline-flex}.chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.chip.soft{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-soft-text)}.chip .tag,.chip .count{opacity:.75;font-size:.75rem}.row-group{flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}.row{align-items:center;gap:8px;margin-top:8px;display:flex}.row-group .row{margin-top:0}.row label{color:var(--muted);font-size:.9rem}select{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:6px 8px}.link{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.result-count{color:var(--muted);padding:10px 16px 4px;font-size:.85rem}.list{flex-direction:column;gap:8px;margin:0;padding:4px 16px 16px;list-style:none;display:flex}.card{text-align:left;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);cursor:pointer;width:100%;padding:12px 14px}.card:hover{border-color:var(--accent)}.card.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.card-head{justify-content:space-between;gap:8px;display:flex}.name{font-weight:650}.meta{color:var(--muted);font-size:.85rem}.road{color:#fff;background:#1d4fa3;border-radius:4px;margin-right:6px;padding:0 6px;font-size:.8rem;font-weight:700;display:inline-block}.price{color:var(--price);white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:700}.brands{margin-top:4px;font-size:.85rem}.icons{flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px;display:flex}.icons span{opacity:.55}.icons span.hit{opacity:1}.icons .score{color:var(--accent);opacity:1;margin-left:auto;font-size:.8rem;font-weight:600}.empty{color:var(--muted);padding:16px}.attribution{color:var(--muted);margin-top:auto;padding:10px 16px;font-size:.75rem}.detail{padding:16px}.detail header{align-items:flex-start;gap:10px;display:flex}.detail h2{margin:0;font-size:1.25rem}.back{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:50%;flex:none;width:36px;height:36px}.button{border-radius:var(--radius);text-align:center;margin:14px 0;padding:12px;font-weight:650;text-decoration:none;display:block}.button.primary{background:var(--accent);color:var(--accent-text)}.detail section{border-top:1px solid var(--border);padding:10px 0}.detail h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 6px;font-size:.8rem}.detail p{margin:4px 0}.prices{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin:0;display:grid}.prices div{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:8px 10px}.prices dt{color:var(--muted);font-size:.8rem}.prices dd{color:var(--price);font-variant-numeric:tabular-nums;margin:0;font-size:1.1rem;font-weight:700}.small{color:var(--muted);font-size:.8rem}.features{margin:0;padding:0;list-style:none}.features li{grid-template-columns:24px 1fr auto auto;align-items:center;gap:8px;padding:4px 0;display:grid}.features .value{font-weight:600}.features .source{color:var(--muted);text-align:right;min-width:90px;font-size:.75rem}.features li.unknown{color:var(--muted)}.features li.unknown .value{font-style:italic;font-weight:400}.features li.no .value{color:#b3261e}.pin{background:var(--accent);color:#fff;cursor:pointer;border:2px solid #fff;border-radius:50% 50% 50% 0;place-items:center;width:30px;height:30px;font-size:14px;font-weight:800;display:grid;transform:rotate(-45deg);box-shadow:0 1px 4px #00000059}.pin>*{transform:rotate(45deg)}.pin-parkplatz{background:#1d4fa3}.pin-autohof{background:#8a4b08}.pin.selected{outline:3px solid #f2b705;width:38px;height:38px}.me{background:#1a73e8;border:3px solid #fff;border-radius:50%;width:16px;height:16px;display:block;box-shadow:0 0 0 6px #1a73e840}.meta.closed{color:#b3261e;font-weight:600}button.brand{cursor:pointer;font:inherit;background:0 0;border:none;padding:0;font-weight:700}.start{background:var(--bg);min-height:100dvh;padding-block:24px 48px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px))}.start-inner{flex-direction:column;gap:20px;max-width:640px;margin:0 auto;display:flex}.start-head{align-items:center;gap:10px;font-size:1.1rem;font-weight:700;display:flex}.start h1{letter-spacing:-.01em;text-wrap:balance;margin:12px 0 0;font-size:clamp(1.7rem,5vw,2.4rem);line-height:1.15}.lead{color:var(--muted);max-width:60ch;margin:-8px 0 0;font-size:1.02rem}.search{gap:8px;display:flex}.combo{flex:1;min-width:0;position:relative}.combo input{border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;padding:14px 16px;font-size:1.05rem}.combo input:focus{border-color:var(--accent);outline:none}button.primary,button.secondary{border-radius:var(--radius);cursor:pointer;border:2px solid var(--accent);padding:12px 18px;font-weight:650}button.primary{background:var(--accent);color:var(--accent-text)}button.secondary{background:var(--surface);color:var(--accent)}button.primary:disabled,button.secondary:disabled{opacity:.45;cursor:not-allowed}button.wide{flex:1}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.suggestions{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-height:60vh;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.suggestions li{cursor:pointer;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:9px 10px;display:grid}.suggestions li.active,.suggestions li:hover{background:var(--surface-2)}.s-kind{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.72rem;font-weight:700}.s-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.s-meta{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.82rem}.quick-roads{flex-wrap:wrap;gap:8px;margin-top:-8px;display:flex}.road-btn{cursor:pointer;border:none;margin:0;padding:4px 12px;font-size:.95rem}.road-btn:hover{filter:brightness(1.15)}.start-section h2{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 10px;font-size:.8rem;font-weight:700}.start-section .chip{padding:9px 14px;font-size:.95rem}.hint-text{color:var(--muted);margin:8px 0 0;font-size:.8rem}.start-actions{flex-wrap:wrap;gap:8px;display:flex}.notice{background:var(--warn-bg);color:var(--warn-text);border-radius:8px;margin:4px 16px;padding:8px 12px;font-size:.88rem}.nearbar{background:var(--accent-soft);color:var(--accent-soft-text);border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:6px 16px 0;padding:8px 12px;font-size:.9rem;display:flex}.nearbar .road{margin-right:0}.place-dot{background:#f2b705;border:3px solid #fff;border-radius:50%;width:14px;height:14px;display:block;box-shadow:0 0 0 5px #f2b7054d}.exit{color:var(--accent);font-weight:600}.check{cursor:pointer;align-items:flex-start;gap:8px;margin-top:10px;display:flex}.check input{accent-color:var(--accent);margin-top:3px}.check small{color:var(--muted);font-size:.8rem;display:block}.maps{flex-direction:column;gap:8px;margin:14px 0;display:flex}.maps-row{flex-wrap:wrap;gap:8px;display:flex}.maps-row .button{cursor:pointer;font:inherit;flex:160px;margin:0;font-weight:650}.button.secondary{background:var(--surface);color:var(--accent);border:2px solid var(--accent)}.button.primary{border:2px solid var(--accent)}.maps-choice{border-radius:var(--radius);background:var(--surface-2);padding:10px 12px}.maps-choice p{margin:0 0 8px;font-weight:600}.small-link{align-self:flex-start;font-size:.82rem}
