@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url('./fonts/DMSans-400-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url('./fonts/DMSans-400-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 500; font-display: swap; src: url('./fonts/DMSans-500-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 500; font-display: swap; src: url('./fonts/DMSans-500-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url('./fonts/DMSans-600-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url('./fonts/DMSans-600-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url('./fonts/DMSans-700-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url('./fonts/DMSans-700-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 600; font-display: swap; src: url('./fonts/PlayfairDisplay-600-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 600; font-display: swap; src: url('./fonts/PlayfairDisplay-600-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 700; font-display: swap; src: url('./fonts/PlayfairDisplay-700-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 700; font-display: swap; src: url('./fonts/PlayfairDisplay-700-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
:root{--bg:#f4f1e9;--ink:#18332a;--muted:#718077;--line:#d9dfd6;--green:#1f5b45;--lime:#c8e064;--card:#fffdf8;--orange:#e88955;--shadow:0 15px 40px #18332a12}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'DM Sans',sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}.app{display:flex;min-height:100vh}.side{width:250px;background:#10261f;color:#eef3e6;padding:28px 18px;display:flex;flex-direction:column}.brand{font:700 24px 'Playfair Display',serif;padding:0 14px 35px}.brand span{color:var(--lime)}.nav{display:grid;gap:7px}.nav button{background:transparent;color:#adc0b5;text-align:left;padding:13px 14px;border-radius:10px}.nav button.active,.nav button:hover{background:#214438;color:#fff}.nav b{margin-right:10px}.side-footer{margin-top:auto;color:#8da198;padding:14px;font-size:12px}.main{flex:1;max-width:1250px;margin:auto;padding:32px 42px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.eyebrow{color:var(--orange);font-weight:700;text-transform:uppercase;letter-spacing:1.5px;font-size:11px}.title{font:700 37px 'Playfair Display',serif;margin:5px 0}.sub,.empty{color:var(--muted)}.profile{display:flex;align-items:center;gap:10px;font-weight:600}.avatar{width:38px;height:38px;border-radius:50%;background:var(--lime);display:grid;place-items:center}.hero{background:var(--green);color:#fff;border-radius:18px;padding:28px 30px;overflow:hidden;position:relative;box-shadow:var(--shadow)}.hero:after{content:'✦';position:absolute;right:20%;top:-40px;font-size:220px;color:#ffffff0b}.hero h2{font:700 27px 'Playfair Display',serif;margin:7px 0}.hero p{color:#c6d8ca;margin:0 0 22px}.primary{background:var(--lime);color:#173328;border-radius:9px;padding:12px 17px;font-weight:700}.ghost{background:#ffffff18;color:white;border:1px solid #ffffff35;border-radius:9px;padding:11px 15px;margin-left:8px}.danger{background:#f7d7c9;color:#7f2f16;border-radius:9px;padding:11px 15px;margin-left:8px}.status{margin-top:16px;color:#dbe8df}.status.success{color:var(--lime)}.status.error{color:#ffb69c}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.stat,.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:19px;box-shadow:var(--shadow)}.stat small{color:var(--muted)}.stat strong{font-size:25px;display:block;margin-top:8px}.grid{display:grid;grid-template-columns:1.35fr 1fr;gap:20px}.card h3{margin:0 0 16px;font-size:17px}.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.card-head h3{margin:0}.card-head select{border:1px solid var(--line);border-radius:8px;padding:7px 9px;background:white;max-width:58%}/* isolation kapselt die z-index-Ebenen von Leaflet, damit Modal und Mobil-Navigation darüber bleiben */.map{height:330px;border-radius:11px;overflow:hidden;position:relative;z-index:0;isolation:isolate;background:#dbe6d2}.leaflet-container{height:100%;font:inherit;background:#dbe6d2}.pin{flex:0 0 auto;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--card);border:2px solid var(--green);box-shadow:0 3px 8px #18332a55;font-size:14px;line-height:1}.pin-start{background:var(--lime);border-color:#4a7a2e}.pin-end{background:var(--orange);border-color:#8a4526;color:#fff}.map-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0 6px}.chip{background:var(--green);color:#fff;border-radius:20px;padding:8px 14px;font-weight:600}.map-hint{color:var(--muted);font-size:12px}.event{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.event:last-child{border:0}.event-text{flex:1;min-width:0}.event-text strong{display:block}.event-text small{color:var(--muted)}.link{background:none;color:var(--green);font-size:12px;font-weight:600;padding:4px;text-decoration:underline}.link-danger{color:#a8321a}.coords{display:grid;grid-template-columns:1fr 1fr;gap:12px}.column{display:grid;gap:20px;align-content:start}.chip:disabled{background:var(--line);color:var(--muted);cursor:not-allowed}.weather-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.weather-cell{background:#f2f4ec;border-radius:10px;padding:11px 13px}.weather-cell small{color:var(--muted);display:block}.weather-cell strong{font-size:17px}.weather-compare{background:var(--green);color:#fff;border-radius:10px;padding:11px 13px;margin:14px 0 0}.weather-compare.empty{background:#f2f4ec;color:var(--muted)}.weather-meta,.weather-summary{color:var(--muted);font-size:12px;margin:10px 0 0}.weather-summary:empty{display:none}.adventure{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.adventure:last-child{border:0}.thumb{width:58px;height:58px;border-radius:10px;background:linear-gradient(135deg,#456d5a,#c0d792);display:grid;place-items:center;font-size:24px;flex:0 0 auto}.adventure strong{display:block}.adventure small{color:var(--muted)}.badge{margin-left:auto;background:#edf3dc;color:#55722f;padding:5px 8px;height:25px;border-radius:20px;font-size:11px;white-space:nowrap}.badge-recording{background:#d8f0e0;color:#1f5b45}.badge-paused{background:#f3ecd5;color:#7a6320}.badge-interrupted{background:#f7d7c9;color:#7f2f16}.modal{display:none;position:fixed;inset:0;background:#10261f99;place-items:center;padding:20px;z-index:1000}.modal.open{display:grid}.form{background:var(--card);padding:25px;border-radius:16px;width:min(480px,100%)}.form h2{margin-top:0;font:700 25px 'Playfair Display',serif}.form input,.form select,.form textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;margin:6px 0 12px;background:white}.form textarea{height:90px}.form-actions{text-align:right}.form-error{color:#a8321a;margin:0 0 10px;min-height:1em;font-weight:600}.mobile-nav{display:none}@media(max-width:800px){.side{display:none}.main{padding:22px 16px 90px}.profile{display:none}.title{font-size:30px}.stats{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.map{height:270px}.coords{grid-template-columns:1fr}.hero{padding:22px}.hero h2{font-size:23px}.hero button{margin:5px 4px 5px 0}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#10261f;z-index:3;justify-content:space-around;padding:10px}.mobile-nav button{background:none;color:#c7d5c9;font-size:11px}}
.grid-gear{margin-top:20px}@media(min-width:801px){.grid-gear{grid-template-columns:1fr 1fr}}.gear-group{margin-bottom:14px}.gear-group h4{margin:0 0 4px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:1.2px;font-weight:700}.gear{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.gear:last-child{border:0}.gear .event-text small{display:block;color:var(--muted)}.gear-note{font-style:italic}.gear-total{color:var(--muted);font-size:12px;margin:14px 0 0}.gear-total:empty{display:none}.inline-form{display:flex;gap:8px;margin-bottom:10px}.inline-form input{flex:1;min-width:0;padding:10px;border:1px solid var(--line);border-radius:8px;background:white}#packing-error:empty{display:none;min-height:0}.pack-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}.pack-assign{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.pack-assign select{max-width:200px;border:1px solid var(--line);border-radius:8px;padding:7px 9px;background:white;color:var(--ink)}.pack-add{display:flex;gap:8px;margin-bottom:6px}.pack-add select{flex:1;min-width:0;border:1px solid var(--line);border-radius:8px;padding:9px;background:white}.pack-item{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid var(--line)}.pack-item:last-child{border:0}.pack-item input[type=checkbox]{flex:0 0 auto;width:19px;height:19px;accent-color:var(--green)}.pack-item.packed .event-text strong{text-decoration:line-through;color:var(--muted)}.pack-quantity{display:flex;align-items:center;gap:5px;font-weight:600}.step{width:24px;height:24px;border-radius:50%;background:#eef2e7;color:var(--green);font-weight:700;line-height:1}.pack-total{background:var(--green);color:#fff;border-radius:10px;padding:11px 13px;margin:14px 0 0;font-size:13px}
.form-hint{color:var(--muted);font-size:12px;margin:0 0 10px}.check{display:flex;align-items:center;gap:10px;padding:10px 0}.form .check input{width:auto;margin:0;height:19px;accent-color:var(--green)}.stars{color:#cf9a2b;letter-spacing:1px}.favorite-mark{color:#c0452a}.pin-favorite{border-color:#c0452a;background:#f7d7c9}.favorite-toggle{font-size:15px;color:#c0452a;text-decoration:none;padding:4px 2px}.adventure .link{display:inline-block;margin-top:6px;padding:2px 0}
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px}.photo{margin:0;background:#f2f4ec;border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.photo-open{display:block;width:100%;padding:0;background:none}.photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#dbe6d2}.photo figcaption{padding:8px 10px;display:grid;gap:3px;font-size:12px}.photo figcaption small{color:var(--muted)}.photo-meta{font-size:11px}.photo figcaption .link{justify-self:start;padding:2px 0}#photo-preview{width:100%;max-height:230px;object-fit:cover;border-radius:10px;margin-bottom:14px;background:#e7ece2}#photo-preview:not([src]){display:none}.viewer{margin:0;padding:16px;background:var(--card);border-radius:16px;max-width:min(920px,100%);text-align:center}.viewer img{display:block;max-width:100%;max-height:68vh;margin:0 auto;border-radius:10px}.viewer figcaption{color:var(--muted);margin:12px 0}.viewer .ghost{background:var(--green);color:#fff;border:0;margin:0}
.insight-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.insight{background:#f2f4ec;border-radius:10px;padding:11px 13px}.insight small{display:block;color:var(--muted)}.insight strong{display:block;font-size:19px;margin-top:4px}.insight-note{margin-top:4px;font-size:11px}.insight-head{margin:20px 0 10px;font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted)}.band{display:grid;grid-template-columns:105px 1fr 135px;gap:10px;align-items:center;margin-bottom:9px}.band-bar{height:10px;border-radius:6px;background:#e7ece2;overflow:hidden}.band-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--lime))}.band-value{color:var(--muted);text-align:right}.gear-warning{display:block;color:#a8321a}.place{display:flex;align-items:flex-start;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.place:last-child{border:0}.place-meta{display:block;font-size:11px}.place-rating{margin-left:auto;text-align:right;white-space:nowrap}
@media(max-width:800px){.band{grid-template-columns:1fr;gap:4px}.band-value{text-align:left}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(125px,1fr))}}
