:root{--ink:#1c231f;--muted:#667168;--lime:#c4f452;--paper:#fff;--soft:#f4f6f1;--line:#e3e8df;--green:#267447;--blue:#456bb5;--radius:16px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--soft);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,a{touch-action:manipulation}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #618d21;outline-offset:3px}button svg,span svg{width:19px;height:19px;display:block;flex-shrink:0}button{border:0;background:none}button svg{pointer-events:none}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;background:var(--lime);padding:15px;z-index:10000}.skip-link:focus{top:8px}
.prototype-bar{height:32px;background:#eaf2d9;display:flex;align-items:center;justify-content:space-between;padding:0 30px;font-size:12px;color:#4c5e38;border-bottom:1px solid #dce7cd}.prototype-bar strong{font-weight:700}.prototype-bar button{font-size:12px;padding:4px 0}.header{height:88px;background:#171d19;color:white;display:flex;align-items:center;padding:0 30px;gap:40px}.brand{text-decoration:none;display:flex;align-items:center;gap:12px;font-size:18px;letter-spacing:.5px;font-weight:820;line-height:1.1;flex-shrink:0}.brand small{display:block;font-size:10px;letter-spacing:2px;font-weight:550;margin-top:7px;color:#b7c2b7}.brand-mark{width:38px;height:38px;background:var(--lime);border-radius:8px;position:relative;display:block}.brand-mark:before{position:absolute;content:"";height:3px;left:9px;right:9px;top:13px;background:#172217}.brand-mark i{position:absolute;width:3px;height:20px;top:12px;left:9px;background:#172217;border-radius:1px}.brand-mark i:nth-child(2){left:18px;top:7px;height:25px}.brand-mark i:nth-child(3){left:27px}.main-nav{display:flex;align-items:stretch;align-self:stretch;gap:28px}.nav-item{color:#b8c1b8;font-size:14px;position:relative;white-space:nowrap;padding:0 2px;font-weight:550}.nav-item.active{color:white}.nav-item.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--lime)}.header-actions{margin-left:auto;display:flex;align-items:center;gap:15px}.login-button{display:flex;align-items:center;gap:8px;background:var(--lime);color:#1e2b17;padding:12px 15px;border-radius:9px;font-size:14px;font-weight:700;white-space:nowrap}.icon-button{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;position:relative}.icon-button:hover{background:#ffffff14}.notification-button #notification-count{position:absolute;right:0;top:0;background:var(--lime);font-size:10px;color:#152014;border-radius:20px;min-width:15px;padding:2px}
.workspace{height:calc(100dvh - 120px);min-height:560px;display:flex;position:relative;overflow:hidden}.explorer{width:380px;flex-shrink:0;background:white;display:flex;flex-direction:column;z-index:401;border-right:1px solid var(--line)}.search-area{padding:26px 24px 0}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.8px;color:#6b7865;margin-bottom:10px}h1{font-size:29px;line-height:1.16;letter-spacing:-1.2px;margin:0;font-weight:750;max-width:290px}.intro{font-size:14px;line-height:1.6;color:var(--muted);margin:12px 0 20px}.search-box{display:flex;align-items:center;gap:9px;background:var(--soft);border:1px solid #e0e6db;border-radius:10px;padding:13px 12px;color:#647060}.search-box input{width:100%;min-width:0;border:0;outline:0;background:transparent;font-size:14px;color:var(--ink)}.search-box:focus-within{box-shadow:0 0 0 2px #8fb23d;border-color:transparent}.search-box input:focus-visible{outline:none}.search-box kbd{border:1px solid #d8dfd1;background:#fff;border-radius:4px;font:12px monospace;width:18px;text-align:center;color:#84907c}.search-meta{font-size:12px;display:flex;align-items:center;gap:4px;margin:10px 0 18px;font-weight:600;color:#5d6d52;flex-wrap:wrap}.search-meta svg{width:13px;height:13px}.small-muted{font-weight:400;color:#7b8577}.equipment-filters{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}.filter-chip{border:1px solid #dce3d7;border-radius:7px;display:inline-flex;align-items:center;gap:5px;padding:8px 9px;font-size:12px;min-height:34px;transition:background .15s}.filter-chip:hover{background:#f4f7ef}.filter-chip[aria-pressed=true]{background:#e9f8cc;border-color:#96ba52;color:#314f1e}.filter-chip svg{width:14px;height:14px}.activity-filter{display:flex;background:#f3f5f0;padding:4px;border-radius:8px;gap:2px;margin-bottom:20px}.activity-filter button{font-size:12px;padding:9px 4px;flex:1;border-radius:5px;white-space:nowrap;color:#65725f}.activity-filter .selected{background:white;box-shadow:0 1px 4px #18261516;color:#25331d;font-weight:650}.results-head{border-top:1px solid var(--line);padding:14px 24px 11px;display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:12px;color:var(--muted);flex-shrink:0}#result-count{font-weight:650;color:#3d4838}.sort-label{font-size:0}.sort-label select{border:0;background:white;font-size:12px;color:#697361;max-width:124px;padding:3px}.results{overflow:auto;flex:1;padding:0 14px 14px;scrollbar-width:thin;scrollbar-color:#d5ddcc transparent}.spot-card{display:block;text-align:left;width:100%;padding:16px 12px;border:1px solid transparent;border-bottom-color:var(--line);border-radius:10px;margin-bottom:3px;transition:background .15s}.spot-card:hover{background:#f4f7ee}.spot-card.selected{border-color:#a5c65f;background:#f3f9e8}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px;gap:8px}.place-type{font-size:10px;text-transform:uppercase;letter-spacing:.7px;display:inline-flex;align-items:center;gap:4px;color:#6a755d;font-weight:650}.place-type.private{color:#876742}.place-type svg{width:12px;height:12px}.distance{font-size:12px;color:#8a9382;font-variant-numeric:tabular-nums}.spot-card h2{font-size:17px;letter-spacing:-.4px;margin:0 0 5px;font-weight:700}.spot-neighborhood{font-size:12px;color:#76816b}.equip-summary{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:12px;color:#5f6c57;line-height:1.6}.equip-summary .tag{background:#f0f3ea;padding:3px 6px;border-radius:4px}.card-status{display:flex;align-items:center;gap:6px;margin-top:12px;font-size:12px;font-weight:600;color:var(--green)}.card-status svg{width:14px;height:14px}.card-status.planned{color:var(--blue)}.card-status.quiet{color:#899180;font-weight:450}.explorer-footer{border-top:1px solid var(--line);padding:13px 24px;font-size:11px;color:#7b866e;display:flex;align-items:center;gap:7px}.mini-dot{width:5px;height:5px;border-radius:50%;background:#94ad70}
.map-section{flex:1;min-width:0;position:relative;background:#f6f7f7}.map-section #map{position:absolute;inset:0;background:#f6f7f7;z-index:1}.leaflet-tile-pane{filter:none}.leaflet-control-attribution{font:10px/1.6 -apple-system,sans-serif!important;background:#fffffff2!important}.leaflet-control-zoom{border:1px solid #d6dece!important;box-shadow:0 3px 12px #263e1510!important;border-radius:8px!important;overflow:hidden}.leaflet-control-zoom a{width:34px!important;height:34px!important;line-height:34px!important;color:#465b37!important}.leaflet-top.leaflet-right{top:68px;right:13px}.map-top{position:absolute;top:24px;left:24px;right:24px;z-index:402;display:flex;justify-content:space-between;align-items:center;gap:8px;pointer-events:none}.map-location{font-size:11px;font-weight:700;letter-spacing:1px;display:flex;align-items:center;gap:6px;padding:11px 12px;background:#fffffff0;border:1px solid #e4e9df;border-radius:7px;box-shadow:0 2px 8px #24351808}.map-location svg{width:15px;height:15px}.map-fit{pointer-events:auto;background:white;border:1px solid #dde5d5;box-shadow:0 2px 8px #24351808;border-radius:7px;font-size:12px;padding:10px 12px;display:flex;align-items:center;gap:6px}.map-fit svg{width:15px;height:15px}.map-legend{position:absolute;bottom:37px;left:24px;z-index:401;border-radius:8px;background:#fffffff2;border:1px solid #dee6d5;box-shadow:0 3px 15px #293e0910;display:flex;align-items:center;gap:16px;padding:12px 14px;font-size:11px;color:#56644c;max-width:calc(100% - 48px);flex-wrap:wrap}.map-legend>span{display:flex;align-items:center;gap:6px}.legend-dot{width:9px;height:9px;border-radius:50%}.present{background:#52904c}.scheduled{background:#577bc3}.neutral{background:#ffffff;border:2px solid #889578}.legend-caption{color:#85917c;margin-left:2px}.map-hint{position:absolute;left:50%;bottom:108px;transform:translateX(-50%);z-index:401;background:#172315eb;color:white;font-size:12px;border-radius:30px;padding:12px 18px;display:flex;gap:8px;align-items:center;white-space:nowrap;box-shadow:0 5px 20px #18241525}.map-hint svg{width:15px;height:15px}.map-error{z-index:403;position:absolute;top:88px;left:24px;right:65px;background:#fff3ce;padding:13px;border:1px solid #dec882;border-radius:8px;font-size:13px}.map-marker{background:transparent!important;border:0!important;display:grid!important;place-items:center;cursor:pointer}
.marker-inner{display:grid;place-items:center;position:relative;width:40px;height:40px;min-width:0;padding:0;border:1px solid #d5dce0;border-radius:50%;background:#fff;color:#2b2e33;font:650 14px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;box-shadow:0 3px 10px #25334730,0 1px 2px #25334715;transition:box-shadow .18s,transform .18s}
.marker-symbol{display:grid;place-items:center}.marker-symbol svg{width:23px;height:23px;stroke-width:1.75}
.marker-inner.occupied{background:#168354;color:#fff;border:2px solid #fff;box-shadow:0 0 0 5px #1da66c22,0 3px 10px #174c3230}
.marker-presence{position:absolute;top:30px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:4px;padding:4px 8px;min-width:37px;border:2px solid #fff;border-radius:20px;background:#11764a;color:#fff;box-shadow:0 2px 5px #174c3220;white-space:nowrap}.marker-presence svg{width:14px;height:14px}.marker-presence b{font-size:14px;font-weight:750}
.marker-planned{position:absolute;right:-5px;bottom:-4px;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#2869d4;color:#fff;border:2px solid #fff}.marker-planned svg{width:13px;height:13px}
.marker-inner.active{box-shadow:0 0 0 4px var(--lime),0 4px 14px #17221b38;transform:scale(1.12)}
.map-marker:hover .marker-inner{transform:translateY(-2px) scale(1.1)}
.leaflet-marker-icon:focus-visible{outline:3px solid #2869d4;outline-offset:3px;border-radius:24px}
.place-tooltip{background:#fff;border:1px solid #e0e5e1;border-radius:6px;box-shadow:0 2px 8px #1b2a1f12;padding:7px 10px;font:500 13px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#26372e}
.leaflet-tooltip-top.place-tooltip:before{border-top-color:#e0e5e1}

.detail-panel{width:390px;flex-shrink:0;z-index:404;overflow:auto;background:white;border-left:1px solid var(--line)}.detail-head{padding:24px;position:relative;border-bottom:1px solid var(--line)}.detail-close{position:absolute;right:14px;top:12px;background:#f0f4e9}.detail-head h2{font-size:27px;letter-spacing:-.8px;line-height:1.15;margin:14px 0 8px}.detail-head p{font-size:13px;color:var(--muted);line-height:1.5;margin:0}.demo-tag{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:#788e60;font-weight:700}.detail-body{padding:22px 24px}.detail-body h3{font-size:15px;margin:0 0 12px}.features-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.feature{display:flex;align-items:center;gap:7px;font-size:12px;padding:10px 8px;background:#f5f7f1;border:1px solid #e5eadd;border-radius:7px}.feature svg{width:16px;height:16px;color:#537735}.feature.unknown{color:#7d8970;background:white;border-style:dashed}.section-gap{margin-top:25px}.live-box{border:1px solid #cfe1c8;background:#f1f8ec;padding:15px;border-radius:10px}.live-box strong{font-size:14px;display:flex;gap:6px;align-items:center}.live-box p{font-size:12px;line-height:1.6;color:#64755a;margin:8px 0 0}.primary-button{background:var(--lime);color:#233818;font-size:14px;font-weight:700;border:1px solid #b4df47;border-radius:8px;padding:12px 15px;display:inline-flex;align-items:center;justify-content:center;gap:7px}.secondary-button{background:white;border:1px solid #d5dfca;border-radius:8px;padding:12px 15px;font-size:14px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:7px}.full{width:100%}.button-row{display:flex;gap:8px;margin-top:14px}.button-row>*{flex:1}.text-button{font-size:12px;color:#627453;text-decoration:underline;text-underline-offset:3px;padding:10px 0}.micro-note{font-size:11px;color:#829176;line-height:1.5;margin:10px 0}.mobile-switch{display:none}.empty-state{text-align:center;padding:45px 20px;color:#7a856f;font-size:14px;line-height:1.7}.empty-state svg{width:36px;height:36px;margin:0 auto 15px;color:#8ea67b}.empty-state h2{font-size:18px;color:#34452c;line-height:1.3}.empty-state button{margin-top:12px}
dialog{border:0;border-radius:18px;box-shadow:0 20px 80px #1420094d;padding:0;width:min(480px,calc(100vw - 28px));max-height:calc(100dvh - 44px);color:var(--ink);overflow:auto}dialog::backdrop{background:#17201466;backdrop-filter:blur(3px)}.modal-head{padding:24px 26px 18px;position:relative;border-bottom:1px solid var(--line)}.modal-head h2{font-size:23px;line-height:1.2;letter-spacing:-.6px;margin:10px 35px 8px 0}.modal-head p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}.modal-head .icon-button{position:absolute;right:14px;top:14px;background:#f2f5ed}.modal-body{padding:23px 26px}.modal-body p{font-size:14px;line-height:1.7;color:#64705b}.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:2000;background:#202e19;color:#fff;box-shadow:0 5px 25px #0003;padding:14px 20px;border-radius:10px;font-size:14px;max-width:calc(100vw - 32px);width:max-content}.check-line{display:flex;gap:10px;font-size:14px;align-items:flex-start;line-height:1.5;margin:16px 0}.check-line input{width:17px;height:17px;accent-color:#507430;flex-shrink:0;margin-top:2px}.divider{height:1px;background:var(--line);margin:20px 0}.form-field{display:block;font-size:13px;font-weight:600;margin:0 0 16px}.form-field input,.form-field select,.form-field textarea{display:block;width:100%;padding:11px;border:1px solid #d6dfce;border-radius:7px;margin-top:7px;background:white;color:var(--ink);min-height:43px;font-size:16px;font-weight:400}.form-field small{display:block;font-size:12px;line-height:1.5;font-weight:400;color:#758169;margin-top:6px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-error{font-size:13px;line-height:1.5;padding:12px;border-radius:7px;color:#9f3528;background:#fff0e8;margin:12px 0}.profile-avatar{display:inline-grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#e5eddb;color:#496832;font-size:11px;font-weight:700;border:2px solid white}.profile-avatar:nth-child(2){background:#dae6f2;color:#486e98}.avatar-row{display:flex;align-items:center}.avatar-row .profile-avatar+ .profile-avatar{margin-left:-7px}.avatar-row>span:last-child:not(.profile-avatar){font-size:12px;margin-left:7px;color:#647458}.training-card{padding:15px;border:1px solid #dde4d6;border-radius:10px;margin:10px 0;background:white}.training-card h4{font-size:15px;margin:0 0 7px}.training-meta{font-size:12px;line-height:1.6;color:#6c785f}.training-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.training-count{background:#eef2e8;font-size:11px;padding:4px 7px;border-radius:5px;white-space:nowrap}.training-note{font-size:13px;line-height:1.5;color:#64705d;margin:10px 0}.training-card .button-row{margin-top:12px}.training-card .button-row button{font-size:12px;padding:9px 8px}.activity-card{margin:0 10px 14px}.activity-card .place-link{font-size:16px;font-weight:700;padding:0;text-align:left;margin-bottom:10px}.tiny-actions{display:flex;gap:12px;margin-top:7px}.tiny-actions button{font-size:11px;padding:5px 0;color:#6a7c5c;text-decoration:underline;text-underline-offset:3px}.joined-label{color:#46712a;background:#eff7e5;padding:4px 7px;border-radius:4px;font-size:11px;white-space:nowrap}.notification{border-bottom:1px solid var(--line);padding:13px 0}.notification strong{font-size:14px}.notification p{font-size:13px;margin:5px 0}.notification small{color:#88937e;font-size:11px}.danger{color:#9c3a30}.account-summary{display:flex;align-items:center;gap:12px;padding:16px;background:var(--soft);border:1px solid var(--line);border-radius:10px;margin-bottom:16px}.account-summary .profile-avatar{width:44px;height:44px;font-size:14px}.account-summary strong{font-size:15px;display:block}.account-summary small{font-size:12px;color:#75846a}.status-pill{font-size:10px;font-weight:600;border-radius:4px;padding:3px 6px;background:#eaf4dd;color:#567830}.access-note{padding:11px 12px;background:#faf5e9;border:1px solid #eee0bd;border-radius:7px;font-size:12px;line-height:1.6;color:#826737;margin-top:14px}.field-help{font-size:12px;line-height:1.5;color:#74826a}.time-badge{background:#edf1f8;color:#476396;border-radius:5px;font-size:11px;padding:4px 7px}.detail-sticky-actions{position:sticky;bottom:0;background:#fffffff7;border-top:1px solid var(--line);padding:14px 24px;backdrop-filter:blur(8px)}
@media(min-width:1400px){.explorer{width:408px}.search-area{padding:30px 28px 0}.results-head{padding-left:28px;padding-right:28px}.header{gap:65px}.main-nav{gap:38px}.detail-panel{width:405px}}
@media(max-width:1150px){.header{gap:25px;padding:0 22px}.main-nav{gap:18px}.brand{font-size:15px}.brand small{font-size:8px}.explorer{width:345px}.search-area{padding:24px 19px 0}.results-head{padding:13px 19px}.detail-panel{position:absolute;right:0;top:0;bottom:0;width:360px;box-shadow:-8px 0 28px #23341a14}.header-actions{gap:5px}.login-button{font-size:12px}.nav-item{font-size:12px}.map-legend{gap:9px}.map-legend .legend-caption{display:none}}
@media(max-width:760px){.prototype-bar{height:29px;padding:0 15px;font-size:10px}.prototype-bar button{font-size:11px}.notice-wide{display:none}.prototype-bar>span:after{content:" · Echte Plätze · Demo";font-weight:400}.header{height:67px;padding:0 15px;gap:10px}.brand{font-size:14px;gap:8px}.brand small{font-size:8px;letter-spacing:1px;margin-top:5px}.brand-mark{width:33px;height:33px;transform:scale(.9);transform-origin:left center;margin-right:-3px}.main-nav{position:fixed;bottom:0;left:0;right:0;height:56px;justify-content:space-around;z-index:600;background:#171d19;gap:0;padding-bottom:env(safe-area-inset-bottom)}.nav-item{font-size:12px;flex:1;padding:0 3px}.nav-item.active:after{top:0;bottom:auto;left:15px;right:15px;height:2px}.header-actions{gap:2px}.notification-button{width:31px;height:34px}.login-button{padding:9px 10px;font-size:11px;gap:5px}.login-button svg{width:15px;height:15px}.workspace{height:calc(100dvh - 152px);min-height:0;display:block;overflow:hidden}.explorer{width:100%;position:absolute;inset:0;background:white;border:0;pointer-events:none}.search-area{padding:18px 16px 0;pointer-events:auto;background:white;box-shadow:0 2px 8px #1b32090b}.eyebrow{display:none}h1{font-size:23px;max-width:none;letter-spacing:-.8px}.intro{font-size:12px;margin:6px 0 12px}.search-box{padding:10px 11px}.search-box input{font-size:14px}.search-box kbd{display:none}.search-meta{margin:8px 0 12px;font-size:11px}.equipment-filters{gap:5px;margin-bottom:12px;flex-wrap:nowrap;overflow-x:auto;padding:2px 0 4px}.filter-chip{font-size:11px;padding:7px;flex-shrink:0;min-height:32px}.activity-filter{margin-bottom:0;background:#f2f5ec;border-radius:7px 7px 0 0}.activity-filter button{font-size:11px;padding:8px 4px}.map-section{position:absolute;top:255px;left:0;right:0;bottom:0}.results-head,.results,.explorer-footer{display:none}.map-top{top:14px;left:13px;right:13px}.map-location{display:none}.map-fit{font-size:11px;padding:8px 10px;margin-left:auto}.map-hint{bottom:89px;padding:10px 14px;font-size:11px}.map-legend{left:10px;bottom:18px;padding:8px;gap:9px;font-size:9px;max-width:calc(100% - 20px)}.leaflet-top.leaflet-right{top:52px;right:3px}.mobile-switch{position:fixed;display:flex;gap:2px;left:50%;bottom:80px;transform:translateX(-50%);z-index:405;border-radius:30px;box-shadow:0 3px 20px #1728092a;background:#fff;padding:4px;border:1px solid #dce5d1}.mobile-switch button{font-size:12px;padding:10px 15px;border-radius:24px;display:flex;align-items:center;gap:5px}.mobile-switch .selected{background:#26391f;color:white}.mobile-switch svg{width:14px;height:14px}body.mobile-list .explorer{pointer-events:auto}body.mobile-list .map-section{display:none}body.mobile-list .results-head{display:flex}body.mobile-list .results{display:block;padding-bottom:70px}body.mobile-list .explorer-footer{display:none}body.mobile-list .search-area{box-shadow:none}.detail-panel{position:fixed;inset:auto 0 56px 0;max-height:calc(100dvh - 100px);width:100%;border-radius:19px 19px 0 0;border:1px solid #dce3d5;box-shadow:0 -12px 70px #172b2133;z-index:550}.detail-head{padding:24px 20px 20px}.detail-head h2{font-size:26px}.detail-body{padding:20px}.detail-sticky-actions{padding:12px 20px}.toast{bottom:140px;font-size:13px}.modal-head{padding:22px}.modal-body{padding:22px}dialog{max-height:calc(100dvh - 30px)}body[data-view=mine] .map-section,body[data-view=trainings] .map-section{display:none}body[data-view=mine] .explorer,body[data-view=trainings] .explorer{pointer-events:auto}body[data-view=mine] .results,body[data-view=trainings] .results{display:block}body[data-view=mine] .mobile-switch,body[data-view=trainings] .mobile-switch{display:none}body[data-view=mine] .results-head,body[data-view=trainings] .results-head{display:flex}.map-error{left:13px;right:55px;top:55px;font-size:11px;padding:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
svg{width:19px;height:19px;flex-shrink:0;vertical-align:middle}.planned-small{margin-left:auto;font-weight:400;color:#78866e}.section-count{display:inline-block;margin-left:5px;font-weight:500;color:#6f7f61;font-size:13px}.profile-link{display:flex;align-items:center;text-align:left;gap:7px;font-size:13px;border-radius:7px;padding:5px 3px;min-height:38px}.profile-link:hover{background:#e8efdf}.profile-link small{font-size:12px;color:#728065}.participant-list{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:10px}.training-time{display:flex;gap:6px;align-items:center;font-size:13px;line-height:1.6;color:#627357;flex-wrap:wrap}.training-time svg{width:14px;height:14px}.training-top h4{margin-bottom:5px}.activity-card .place-link{display:flex;gap:8px;align-items:center}.activity-card>.training-meta{margin-bottom:12px}.my-actions{padding:5px 10px 12px}.my-presence{margin:0 10px 18px}.optional{font-size:11px;color:#718168;font-weight:400;margin-left:5px}.equipment-options{border:0;padding:0;margin:0 0 22px}.equipment-options legend{font-size:13px;font-weight:650}.equipment-options .check-line{margin:10px 0}.text-button svg{width:14px;height:14px;margin-right:4px}.tiny-actions .danger{color:#9c3a30}.modal-body .access-note{margin:0 0 20px}.modal-body .access-note p{color:inherit}.training-card .training-count{font-size:12px}.detail-head h2:focus-visible{outline-offset:5px}.detail-panel .field-help,.live-box p,.detail-panel .micro-note{font-size:12px}.training-card .tiny-actions button{font-size:12px;min-height:32px}.text-button{min-height:36px}.filter-chip:hover,.secondary-button:hover{border-color:#96b275}.primary-button:hover{background:#b6e647}.main-nav button:hover{color:white}.icon-button:hover{background:#e8efdf;color:#203917}.header .icon-button:hover{background:#ffffff14;color:white}.form-field textarea{resize:vertical;min-height:80px}.training-note{overflow-wrap:anywhere}.sort-label select{max-width:145px}
@media(max-width:760px){.map-section{top:var(--search-height,255px)}.map-hint{bottom:100px}.map-legend{bottom:12px}.mobile-switch{bottom:66px}.detail-open .mobile-switch{display:none}body[data-view=mine] .results,body[data-view=trainings] .results{padding-top:6px;padding-bottom:18px}.detail-panel{overscroll-behavior:contain}.profile-link{min-height:42px}.tiny-actions button{min-height:40px!important}.filter-chip{min-height:36px}.map-fit{min-height:36px}.features-grid{gap:7px}.feature{font-size:12px}.form-row{gap:10px}.form-field input[type=date]{padding:10px 6px;font-size:14px}.form-field input[type=time]{font-size:16px}.modal-head h2{font-size:22px}.workspace{min-height:250px}}
@media(max-width:760px){body:not(.mobile-list)[data-view=places] .explorer{background:transparent}.mobile-list .explorer{background:white}.map-hint{pointer-events:none}.login-button #account-label{font-size:0}.login-button #account-label:after{content:'Demo';font-size:12px}body[data-auth=member] .login-button #account-label:after{content:'Jamie'}.brand{font-size:13px}.header{padding:0 12px;gap:6px}.brand small{font-size:8px}.header-actions{gap:0}.login-button{padding:9px}.map-legend{gap:8px}.legend-caption{display:none}.results-head{font-size:13px}.spot-card h2{font-size:18px}}
.intro,.modal-body p{font-size:16px}.filter-chip,.activity-filter button,.form-field,.text-button,.training-time,.profile-link,.feature,.training-card .button-row button{font-size:14px}.spot-neighborhood,.equip-summary,.card-status,.results-head{font-size:13px}.detail-body .field-help,.training-note{font-size:14px}.prototype-bar,.prototype-bar button,.place-type,.demo-tag,.eyebrow,.explorer-footer,.status-pill,.joined-label,.training-count,.legend-caption,.time-badge,.optional{font-size:12px}.training-card .tiny-actions button{font-size:13px}.map-legend{font-size:12px}.map-location{font-size:12px}.brand small{font-size:10px}.training-card h4{font-size:16px}.profile-link small{font-size:12px}.modal-body .field-help,.modal-body .micro-note{font-size:13px}.activity-filter button{padding-left:3px;padding-right:3px;font-size:13px}.filter-chip{padding:8px}.feature{line-height:1.4}.map-hint{font-size:13px}.training-meta{font-size:13px}.detail-head p{font-size:14px}
@media(max-width:760px){.intro{font-size:14px}.prototype-bar,.prototype-bar button{font-size:11px}.brand small{font-size:8px}.filter-chip{font-size:13px;min-height:38px}.activity-filter button{font-size:12px}.map-legend{bottom:66px;font-size:11px;justify-content:center;width:max-content;left:50%;transform:translateX(-50%);max-width:calc(100% - 20px);gap:8px;padding:8px}.map-hint{bottom:115px;font-size:12px}.feature{font-size:13px}.nav-item{font-size:13px}.main-nav{padding-left:4px;padding-right:4px}.text-button{font-size:13px}.demo-tag{font-size:11px}}
@media(max-width:360px){.brand{font-size:12px}.brand small{letter-spacing:.6px}.brand-mark{margin-right:-5px}.nav-item{font-size:12px}.map-legend{font-size:10px;gap:6px}.prototype-bar{padding:0 10px}.intro{font-size:13px}}
@media(max-height:700px) and (max-width:760px){.search-area{padding-top:12px}.intro{display:none}.search-box{margin-top:12px}.search-meta{margin-bottom:7px}.equipment-filters{margin-bottom:7px}.map-hint{display:none}.map-legend{display:none}}

/* Map controls and real-presence badges. */
.map-section,.map-section #map{background:#edf1f3}
.map-top{top:20px;left:20px;right:20px;align-items:flex-start}
.map-summary{background:#fffffff5;border:1px solid #e2e6ea;border-radius:15px;padding:13px 16px;box-shadow:0 4px 18px #23344912;max-width:calc(100% - 165px)}
.map-location{background:transparent;border:0;box-shadow:none;letter-spacing:1px;color:#69727d;font-size:11px;padding:0;line-height:1.4}
.map-presence{display:flex;align-items:center;gap:7px;font-size:14px;line-height:1.5;margin-top:4px;color:#596472}.map-presence svg{width:16px;height:16px}.map-presence.has-presence{color:#11764a;font-weight:650}
.map-fit{box-shadow:0 4px 18px #23344912;border-color:#e2e6ea;border-radius:12px;font-size:13px;min-height:44px;padding:11px 13px}
.map-legend{border-color:#e2e6ea;background:#fffffff5;box-shadow:0 4px 18px #23344912;color:#4f5b69;border-radius:14px;font-size:12px;gap:10px 16px;padding:11px 14px;left:20px;bottom:34px;max-width:calc(100% - 40px)}
.legend-symbol{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;flex-shrink:0}.legend-symbol svg{width:15px;height:15px}.legend-symbol.neutral{background:#fff;color:#2b2e33;border:1px solid #cbd2da}.legend-symbol.present{background:#168354;color:#fff}.legend-symbol.scheduled{background:#2869d4;color:#fff}.legend-caption:empty{display:none}
.map-hint{background:#fffffff0;color:#586372;border:1px solid #e2e6ea;box-shadow:0 3px 15px #2334490d;border-radius:12px;bottom:109px;font-size:13px}
.place-tooltip{padding:10px 13px;border:0;border-radius:10px;box-shadow:0 4px 18px #23344925;color:#2b2e33}.place-tooltip strong{display:block;font-size:13px;line-height:1.5}.place-tooltip span{display:block;font-size:12px;color:#526172;margin-top:2px}
.explorer-footer{justify-content:space-between;gap:8px}.sources-link{font-size:12px;color:#435748;text-align:left;min-height:36px;padding:0;background:none;border:0;text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.map-top{left:12px;right:12px;top:12px}.map-summary{padding:10px 12px;max-width:calc(100% - 55px);border-radius:12px}.map-location{font-size:10px}.map-presence{font-size:12px}.map-fit{font-size:0;padding:10px;min-width:42px}.map-fit svg{width:19px;height:19px}.map-legend{left:12px;bottom:70px;transform:none;width:calc(100% - 24px);padding:9px 11px;gap:8px 16px;font-size:12px;max-width:calc(100% - 24px)}.legend-detail{display:none}.legend-symbol{width:22px;height:22px}.map-hint{display:none}.leaflet-top.leaflet-right{top:92px;right:12px}}
@media(prefers-reduced-motion:reduce){.marker-inner{transition:none}}
@media(max-width:760px){body[data-view=places]:not(.mobile-list) .search-area h1,body[data-view=places]:not(.mobile-list) .search-area .intro{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}body[data-view=places]:not(.mobile-list) .search-area{padding-top:14px}}

/* Place provenance stays next to the researched facts. */
.place-sources{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:16px 0;padding:12px 0;color:#586851;font-size:13px;line-height:1.6}.place-sources summary{cursor:pointer;font-weight:600;min-height:28px}.place-sources p{margin:8px 0}.place-sources ul{padding-left:18px;margin:8px 0}.place-sources li+li{margin-top:8px}.place-sources a{color:#395c31;text-underline-offset:3px;overflow-wrap:anywhere}.training-top .demo-tag{margin-left:4px;font-size:10px}.detail-head .demo-tag{padding-right:32px;display:inline-block}

.auth-tabs,.auth-links{display:flex;gap:10px;margin:16px 0;justify-content:space-between}.auth-tabs>*{flex:1}.auth-disabled{margin:0;padding:0;border:0;opacity:.6}.connection-state{margin:8px 20px;padding:12px;background:#fff1d7;color:#775518;font-size:13px;line-height:1.5;pointer-events:auto}.auth-disabled .check-line{font-size:13px}@media(max-width:760px){.login-button #account-label:after{content:'Konto'}}body[data-backend=cloud] .prototype-bar>span:after{content:' · Gemeinsame Trainings'}@media(max-width:760px){body[data-backend=cloud][data-auth=member] .login-button #account-label{font-size:12px;max-width:96px;overflow:hidden;text-overflow:ellipsis}body[data-backend=cloud][data-auth=member] .login-button #account-label:after{content:none}}

/* Playful outdoor map: illustrated places, quiet geography, clear live counts. */
.map-section,.map-section #map{background:#edf2dd}
.map-section{font-family:ui-rounded,"SF Pro Rounded",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.map-top{gap:14px}
.map-summary{border:3px solid white;border-radius:24px;background:#fffef8;padding:14px 18px;box-shadow:0 5px 0 #aac5b044,0 10px 28px #31493812}
.map-location{color:#576b64;letter-spacing:.6px;font-weight:750;font-size:12px}
.map-presence{margin-top:7px;color:#334c45;font-weight:650;font-size:14px;gap:9px}
.map-presence>svg{box-sizing:content-box;padding:7px;background:#ffe774;border-radius:13px;width:19px;height:19px;flex:none;stroke-width:2.2}
.map-presence.has-presence>svg{color:white;background:#098e61}
.map-fit{border:3px solid white;border-radius:50px;background:#ffed77;color:#354335;box-shadow:0 4px 0 #ccbd5944,0 8px 20px #31493814;font-weight:750;min-height:48px;padding:11px 16px;transition:transform .15s,box-shadow .15s}
.map-fit:hover{background:#ffe55e;transform:translateY(-2px);box-shadow:0 6px 0 #ccbd5944,0 10px 20px #31493814}
.map-fit svg{width:18px;height:18px;stroke-width:2.4}
.leaflet-control-zoom{border:3px solid white!important;border-radius:22px!important;box-shadow:0 5px 0 #acc4b344,0 8px 20px #31493812!important;overflow:hidden}
.leaflet-control-zoom a{width:41px!important;height:41px!important;line-height:41px!important;color:#374e45!important;background:#fffef8!important;font-size:25px!important;border-color:#edf2e8!important}
.leaflet-top.leaflet-right{top:127px;right:20px}
.map-legend{border:3px solid white;border-radius:40px;background:#fffef8;box-shadow:0 5px 0 #aac5b044,0 10px 25px #31493812;padding:10px 16px;color:#3f564c;font-weight:650;gap:12px 18px}
.legend-symbol.neutral{background:#fff0a5;border:0;color:#67571c}
.legend-symbol.present{background:#098e61}.legend-symbol.scheduled{background:#557be9}
.map-hint{border:2px solid white;background:#fffef8;color:#496154;border-radius:40px;box-shadow:0 4px 0 #aac5b033;padding:11px 17px;bottom:111px}
.map-marker .marker-inner{height:76px;width:64px;background:transparent;border:0;border-radius:50%;box-shadow:none;color:#354b40;transition:transform .2s}
.marker-symbol{position:absolute;inset:0;pointer-events:none;z-index:2}
.marker-symbol>svg{display:none}
.park-sticker{position:absolute;left:50%;bottom:0;width:106px;height:106px;max-width:none;transform:translateX(-50%);object-fit:contain;filter:drop-shadow(0 3px 2px #2d665735);user-select:none;-webkit-user-drag:none}
.marker-inner::before{content:"";position:absolute;left:50%;top:52px;transform:translateX(-50%);width:35px;height:12px;border-radius:50%;background:#5f8c7060;box-shadow:0 2px 5px #57785b20}
.marker-inner.occupied::before{width:54px;height:22px;top:47px;background:#38d29188;box-shadow:0 0 0 5px #43d89633}
.map-marker .marker-inner.active{transform:translateY(-4px) scale(1.12);box-shadow:none}
.marker-inner.active::before{width:52px;height:21px;top:48px;background:#ffe360;box-shadow:0 0 0 5px #fff9c580}
.map-marker:hover .marker-inner{transform:translateY(-5px) scale(1.1)}
.marker-presence{top:57px;z-index:3;min-width:44px;padding:4px 8px;border:3px solid white;background:#07875b;box-shadow:0 3px 0 #075e4228,0 4px 8px #184b3120;gap:5px}
.marker-presence b{font-size:14px}.marker-presence svg{width:15px;height:15px}
.marker-planned{width:27px;height:27px;right:-2px;bottom:6px;z-index:3;background:#557be9;border:3px solid white;box-shadow:0 3px 0 #30489a22}
.marker-planned svg{width:14px;height:14px}
.leaflet-marker-icon:focus-visible{outline:3px solid #3157bf;outline-offset:2px;border-radius:22px}
.place-tooltip{border:2px solid white;background:#fffef8;border-radius:17px;padding:11px 15px;box-shadow:0 4px 0 #a8bdac66,0 8px 20px #31493815}
.place-tooltip strong{color:#304b3f}.place-tooltip span{color:#507060;font-size:13px}
.leaflet-tooltip-top:before{border-top-color:#fffef8}
.maplibregl-map{font:inherit}.maplibregl-canvas{outline:none}
@media(max-width:760px){
 .map-top{gap:8px}.map-summary{border-width:2px;border-radius:20px;padding:10px 12px;max-width:calc(100% - 57px)}
 .map-location{font-size:11px}.map-presence{font-size:12px;margin-top:4px;gap:6px}.map-presence>svg{padding:5px;width:16px;height:16px;border-radius:10px}
 .map-fit{min-width:47px;min-height:47px;padding:10px;border-width:2px}
 .leaflet-top.leaflet-right{top:108px;right:12px}.leaflet-control-zoom{border-width:2px!important;border-radius:18px!important}.leaflet-control-zoom a{width:36px!important;height:36px!important;line-height:36px!important}
 .map-legend{border-width:2px;gap:8px 12px;padding:8px 10px;border-radius:28px;font-size:12px}
 .map-marker .marker-inner.active{transform:translateY(-3px) scale(1.06)}
}
@media(prefers-reduced-motion:reduce){.map-marker .marker-inner,.map-fit{transition:none}}

/* Calendar handoff and opt-in colleague notifications. */
.my-actions{display:grid;gap:9px}
.calendar-actions{display:grid;gap:10px;margin:20px 0}.calendar-actions a{text-decoration:none;text-align:center;justify-content:center}
.calendar-event-list{margin:20px 0}.calendar-event-row{display:flex;gap:14px;align-items:center;padding:15px 0;border-top:1px solid var(--line)}.calendar-event-row>div{min-width:0;flex:1}.calendar-event-row strong{display:block;font-size:15px}.calendar-event-row span{display:block;font-size:13px;line-height:1.5;margin-top:4px;color:var(--muted)}
.friend-list{margin-top:18px}.friend-row{display:flex;align-items:center;gap:12px;padding:15px 0;border-top:1px solid var(--line)}.friend-row>div{flex:1;min-width:0}.friend-row strong{display:block;overflow-wrap:anywhere}.friend-row small{display:block;margin-top:4px;color:var(--muted);font-size:13px}.friend-row .profile-avatar{flex-shrink:0}.friend-row button{padding:9px 12px}
.notification .text-button{display:block;margin-top:8px}.calendar-event-row .secondary-button{flex-shrink:0;min-height:42px;padding:10px 12px}
[data-form=friend-preferences] .check-line{align-items:flex-start;padding:14px 0;font-size:16px;line-height:1.4}[data-form=friend-preferences] .check-line input{margin-top:4px;flex-shrink:0}
@media(max-width:420px){.calendar-event-row{align-items:flex-start;gap:8px}.calendar-event-row strong{font-size:14px}.calendar-event-row .secondary-button{font-size:12px;padding:10px 8px}.friend-row{gap:8px}.friend-row .profile-avatar{width:32px;height:32px}}

/* Lesbarkeit, Tastatur und dauerhaft erreichbare Rechtstexte. */
.distance,.spot-neighborhood,.card-status.quiet,.micro-note,.demo-tag,.small-muted,
.notification small,.field-help,.feature.unknown,.account-summary small,.form-field small,
.planned-small,.section-count,.profile-link small,.optional,.explorer-footer,.empty-state{color:#52604f}
.search-box:focus-within{outline:3px solid #41661e;outline-offset:3px;box-shadow:none;border-color:#617653}
.form-field input,.form-field select,.form-field textarea{border-color:#7a856f}
.form-field input:focus-visible,.form-field select:focus-visible,.form-field textarea:focus-visible{outline-color:#41661e}
.modal-body a,.field-help a{color:#315c26;text-decoration:underline;text-underline-offset:3px}
.legal-footer{min-height:48px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 22px;padding:4px 12px;background:#fff;border-top:1px solid #cad3c2;position:relative;z-index:600}
.legal-footer a{font-size:14px;line-height:1.4;padding:8px 2px;color:#34472f;text-underline-offset:3px}
.workspace{height:calc(100dvh - 168px)}
.map-privacy{position:absolute;inset:0;z-index:403;background:#f4f6f1;padding:clamp(16px,4vw,48px);overflow:auto;display:flex;flex-direction:column;justify-content:safe center;align-items:flex-start}
.map-privacy h2{font-size:24px;line-height:1.3;margin:0 0 12px;color:#1c231f}
.map-privacy p,.map-privacy>a{max-width:600px;font-size:16px;line-height:1.6;margin:0 0 14px;color:#374732}
.map-privacy .button-row{flex-wrap:wrap;max-width:600px;gap:10px;margin-top:4px}
.map-privacy .button-row button{min-height:44px;flex:1 1 190px}
.map-section[data-map-enabled=false] .map-top,.map-section[data-map-enabled=false] .map-legend,.map-section[data-map-enabled=false] .map-hint{display:none}
.map-disable{position:absolute;z-index:405;bottom:29px;right:12px;background:white;border:1px solid #73836b;border-radius:7px;padding:10px;font-size:14px;line-height:1.3;text-decoration:underline;text-underline-offset:3px}
.map-section[data-map-enabled=true] .map-legend{bottom:85px}
.map-hint{bottom:150px}
.icon-button,.notification-button{min-width:38px;min-height:38px}
@media(max-width:760px){
 .legal-footer{position:fixed;left:0;right:0;bottom:56px;min-height:44px;gap:0 12px;padding:2px 8px}
 .legal-footer a{font-size:12px;padding:8px 0}
 .workspace{height:calc(100dvh - 196px)}
 .mobile-switch{bottom:112px}
 .detail-panel{bottom:100px;max-height:calc(100dvh - 140px)}
 .map-privacy{padding:18px 16px 90px;justify-content:flex-start}
 .map-privacy h2{font-size:20px}
 .map-privacy p,.map-privacy>a{font-size:14px;line-height:1.5}
 .map-disable{bottom:65px;font-size:12px}
 .map-section[data-map-enabled=true] .map-legend{bottom:110px}
 .toast{bottom:155px}
}
@media(max-width:380px){.legal-footer{gap:0 9px}.legal-footer a{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.content-report-link{display:inline-block;margin-top:12px;padding:6px 0;color:#496332;font-size:13px;text-decoration:underline;text-underline-offset:3px}.content-report-link:focus-visible{outline:3px solid #41661e;outline-offset:3px}
