.dorfkarte{gap:var(--abstand-4);grid-template-columns:minmax(0,1fr) 360px;align-items:start;display:grid}.dorfkarte.kompakt{grid-template-columns:1fr}.dorfkarte .check{gap:var(--abstand-2);font-size:var(--schrift-klein);min-height:var(--klickflaeche);cursor:pointer;grid-column:1;align-items:center;display:inline-flex}.dorfkarte .check input{width:20px;height:20px;accent-color:var(--accent)}@media (width<=920px){.dorfkarte{grid-template-columns:1fr}}@media (width>=921px){.dorfkarte.voll{grid-template-rows:auto 1fr}}.dorfkarte .map{border-radius:var(--rundung-gross);border:var(--linie) solid var(--line);background:linear-gradient(var(--map-top), var(--map-bot));min-width:0;position:relative;overflow:hidden}.dorfkarte svg.karte-svg{aspect-ratio:8/5;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.dorfkarte svg.zoomed{cursor:grab;touch-action:none}.dorfkarte svg.dragging{cursor:grabbing}.dorfkarte .ohne-js{inset:auto var(--abstand-4) 40% var(--abstand-4);text-align:center;background:var(--surface);padding:var(--abstand-3);border-radius:var(--rundung);position:absolute}.dorfkarte .zoom{gap:6px;display:grid;position:absolute;top:10px;right:10px}.dorfkarte .zoom button{width:var(--klickflaeche);height:var(--klickflaeche);border-radius:var(--rundung);border:var(--linie) solid var(--line);background:var(--surface);color:var(--fg);font:600 20px/1 var(--f-text);cursor:pointer}.dorfkarte.kompakt .zoom{display:none}.dorfkarte .legend{background:color-mix(in srgb, var(--surface) 90%, transparent);border:var(--linie) solid var(--line);border-radius:var(--rundung);font-size:var(--schrift-mini);flex-wrap:wrap;gap:6px 12px;max-width:calc(100% - 20px);padding:5px 9px;display:flex;position:absolute;bottom:10px;left:10px}.dorfkarte .legend span{align-items:center;gap:6px;display:inline-flex}.dorfkarte .legend i{border:2px solid var(--on-fill);width:11px;height:11px;display:inline-block}.dorfkarte .legend .s{background:var(--fill)}.dorfkarte .legend .i{background:var(--surface);border-style:dashed;border-color:var(--muted)}.dorfkarte .legend .x{background:var(--stale)}.dorfkarte .quelle{font-family:var(--f-pixel);font-size:var(--schrift-mini);letter-spacing:.05em;text-transform:uppercase;background:var(--surface);color:var(--warn);border:var(--linie-stark) solid var(--warn);border-radius:var(--rundung);padding:2px 8px;position:absolute;top:10px;left:10px}.dorfkarte .quelle.live{color:var(--ok);border-color:var(--ok)}.dorfkarte .osm{color:var(--muted);background:color-mix(in srgb, var(--surface) 85%, transparent);border-radius:var(--rundung);padding:1px 6px;font-size:11px;position:absolute;bottom:10px;right:10px}.dorfkarte .hint{font-size:var(--schrift-mini);color:var(--muted);background:color-mix(in srgb, var(--surface) 90%, transparent);border-radius:var(--rundung);border:var(--linie) solid var(--line);padding:3px 8px;position:absolute;top:44px;left:10px}@media (width<=560px){.dorfkarte .legend,.dorfkarte .osm{max-width:none;margin:6px;display:flex;position:static}.dorfkarte .map{padding-bottom:2px}}.dorfkarte .hot{cursor:pointer;outline:none}.dorfkarte .hot .ring{fill:none;stroke:#0000;stroke-width:2.5px;stroke-dasharray:6 4}.dorfkarte .hot:hover .ring,.dorfkarte .hot:focus-visible .ring,.dorfkarte .hot.active .ring{stroke:var(--accent)}.dorfkarte .hot.active,.dorfkarte .hot:focus-visible{filter:drop-shadow(0 0 3px color-mix(in srgb, var(--fill) 75%, transparent))}.dorfkarte .lbl{opacity:0;transition:opacity var(--tempo);pointer-events:none}.dorfkarte .lbl.on,.dorfkarte .show-all .lbl{opacity:1}.dorfkarte .lbl rect{fill:var(--surface);stroke:var(--line)}.dorfkarte .lbl.active rect{stroke:var(--accent);stroke-width:2px}.dorfkarte .lbl text{font-family:var(--f-text);fill:var(--fg);font-size:11.5px}.dorfkarte .lbl .n{font-weight:600}.dorfkarte .lbl .v{font-family:var(--f-zahl);fill:var(--accent);font-weight:400}.dorfkarte .lbl .v.warn{fill:var(--warn)}.dorfkarte .lbl .v.alarm{fill:var(--bad)}.dorfkarte .lbl .v.alt{fill:var(--stale)}.dorfkarte .lbl .v.idee{fill:var(--muted);font-style:italic;font-family:var(--f-text)}.dorfkarte .lbl line{stroke:var(--muted);stroke-width:1px}.dorfkarte .flow{stroke:var(--water-hi);stroke-width:1.6px;fill:none;stroke-dasharray:5 11;stroke-linecap:round;animation:2.4s linear infinite kf-flow}@keyframes kf-flow{to{stroke-dashoffset:-32px}}.dorfkarte .drop{stroke:var(--water-hi);stroke-width:1.4px;stroke-linecap:round;fill:none;animation:1.4s ease-in infinite kf-drip}@keyframes kf-drip{0%{opacity:0;transform:translateY(-3px)}30%{opacity:1}to{opacity:0;transform:translateY(6px)}}.dorfkarte .star{fill:#f9f9f9;opacity:var(--stars)}.dorfkarte .hund{transition:transform .32s steps(4,end)}.dorfkarte .versteck.raus .hund{transform:translateX(var(--dx))}.dorfkarte .versteck.raus .rute{transform-box:fill-box;transform-origin:100% 100%;animation:.3s steps(2,end) infinite kf-wedeln}@keyframes kf-wedeln{50%{transform:rotate(-35deg)}}.dorfkarte[data-saison=winter] .map{background:linear-gradient(var(--map-top), color-mix(in srgb, var(--snow) 40%, var(--map-bot)))}.dorfkarte .wetter{pointer-events:none}.dorfkarte .flocke{fill:var(--snow);stroke:var(--edge);stroke-width:.5px;opacity:.9;animation:12s linear infinite kf-schnee}@keyframes kf-schnee{to{transform:translate(-30px,540px)}}.dorfkarte .blatt{animation:7s ease-in infinite kf-blatt}@keyframes kf-blatt{0%{opacity:0;transform:translate(0)}15%{opacity:1}50%{transform:translate(5px,12px)}85%{opacity:1}to{opacity:0;transform:translate(-2px,24px)}}@media (prefers-reduced-motion:reduce){.dorfkarte .hund{transition:none}.dorfkarte .versteck.raus .rute,.dorfkarte .flocke,.dorfkarte .blatt{animation:none}}.dorfkarte .panel{grid-row:span 2;gap:14px;min-width:0;padding:18px;display:grid}.dorfkarte .kind{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px}.dorfkarte .panel h2{font-size:27px}.dorfkarte .sensors{gap:10px;display:grid}.dorfkarte .sensor{border:var(--linie) solid var(--line);border-radius:var(--rundung);background:var(--bg);gap:4px;padding:12px;display:grid}.dorfkarte .sensor .top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.dorfkarte .sensor .nm{font-weight:600}.dorfkarte .sensor .val{font-family:var(--f-zahl);color:var(--accent);font-variant-numeric:tabular-nums;font-size:30px;line-height:1.1}.dorfkarte .sensor .val small{font-family:var(--f-text);font-size:var(--schrift-klein);color:var(--muted);margin-left:4px}.dorfkarte .sensor .meta{font-size:var(--schrift-mini);color:var(--muted)}.dorfkarte .sensor .meta b{color:var(--warn);font-weight:600}.dorfkarte .sensor.alt .val{color:var(--stale);font-size:20px}.dorfkarte .idea{border:1.5px dashed var(--line);border-radius:var(--rundung);gap:8px;padding:14px;display:grid}.dorfkarte .idea b{font-family:var(--f-head);font-size:19px}.dorfkarte .actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dorfkarte>details.technik{grid-column:1/-1;min-width:0}.dorfkarte>details.technik .steckbrief th{width:auto}.dorfkarte>details.technik .steckbrief thead th{border-bottom-width:var(--linie-stark)}@media (width>=761px){.dorfkarte>details.technik .steckbrief td:nth-child(3),.dorfkarte>details.technik .steckbrief td:nth-child(5){white-space:nowrap}}.dorfkarte>details.technik p{font-size:var(--schrift-mini);color:var(--muted)}@media (width<=760px){.dorfkarte>details.technik .technik-inhalt{padding-left:var(--abstand-4)}.dorfkarte>details.technik .steckbrief thead{display:none}.dorfkarte>details.technik .steckbrief tr{padding-block:var(--abstand-2);border-bottom:var(--linie) solid var(--line);display:block}.dorfkarte>details.technik .steckbrief td{gap:var(--abstand-2);overflow-wrap:anywhere;border:0;grid-template-columns:7.5em minmax(0,1fr);padding:2px 0;display:grid}.dorfkarte>details.technik .steckbrief td:before{content:attr(data-spalte);color:var(--muted);font-weight:600}}
