:root{color-scheme:light;--bg:#f3f8f7;--surface:#fff;--text:#153d44;--muted:#506b73;--line:#d9e7e4;--accent:#087e82;--on-accent:#fff;--soft:#e4f4f0;--shadow:0 12px 35px #173d4310;--radius:22px;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
:root[data-theme=dark]{color-scheme:dark;--bg:#101c21;--surface:#192b31;--text:#e5f3f0;--muted:#adc5c8;--line:#344b51;--accent:#60d5cd;--on-accent:#10282a;--soft:#203f40;--shadow:0 12px 35px #0002}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:4px}p{color:var(--muted)}h1,h2,h3{line-height:1.15;letter-spacing:-.04em}h1{font-size:clamp(2.1rem,5.5vw,4.5rem);margin:15px 0 24px}h2{font-size:1.6rem;margin-top:0}h3{font-size:1.1rem}.site-header{padding:23px max(24px,calc((100vw - 1120px)/2));display:flex;gap:16px;justify-content:space-between;align-items:center;background:var(--surface);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-size:1.4rem;font-weight:750;letter-spacing:-.06em}.brand-mark{display:grid;place-items:center;width:42px;height:46px;border-radius:15px 15px 21px 21px;background:var(--accent);color:var(--on-accent);font-size:24px;letter-spacing:0}.brand small{display:block;font-size:.72rem;letter-spacing:0;font-weight:400;color:var(--muted)}.header-actions{display:flex;gap:8px;align-items:center}.container{max-width:1120px;margin:0 auto;padding:24px}.hero{padding:45px 0 30px}.hero.compact{padding-top:28px}.eyebrow{text-transform:uppercase;font-size:.78rem;letter-spacing:.11em;font-weight:750;color:var(--accent);margin-bottom:8px}.lead{font-size:1.18rem;max-width:700px;margin-bottom:25px}.button{display:inline-flex;justify-content:center;align-items:center;gap:14px;min-height:46px;padding:10px 18px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text);font-weight:600}.button:hover{background:var(--soft)}.button.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.icon-button{padding:8px 14px;font-size:21px}.section{margin:35px 0}.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.category-card{display:flex;justify-content:space-between;gap:12px;padding:23px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);font-weight:650}.category-card:hover{background:var(--soft)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:27px;box-shadow:var(--shadow)}.accent-panel{background:var(--soft)}.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.badge{display:inline-block;background:var(--soft);padding:5px 12px;color:var(--accent);border-radius:10px;font-size:.8rem}.theme-options,.button-row{display:flex;gap:8px;flex-wrap:wrap}[aria-pressed=true]{background:var(--accent)!important;color:var(--on-accent)!important}.main-nav{display:flex;justify-content:center;gap:12px;padding:15px;background:var(--surface);border-top:1px solid var(--line)}.main-nav a{min-height:46px;padding:10px 22px;border-radius:13px;font-weight:650}.main-nav a[aria-current=page]{background:var(--soft);color:var(--accent)}.site-footer{max-width:1120px;margin:0 auto;display:flex;justify-content:space-between;gap:12px;padding:25px;color:var(--muted);font-size:.8rem;flex-wrap:wrap}.map-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}.map-heading h1{font-size:2.7rem;margin-top:8px}.map-canvas{height:520px;min-height:300px;border-radius:22px;border:1px solid var(--line);z-index:0;background:var(--soft)}.map-empty{margin-top:20px}.map-empty h2{font-size:1.3rem}.empty-state{max-width:800px;margin:55px auto}.empty-state h1{font-size:clamp(2rem,4vw,3rem)}.skip-link{position:absolute;left:16px;top:-80px;z-index:1000;padding:14px;background:var(--surface);border:2px solid var(--accent);border-radius:12px}.skip-link:focus{top:12px}.location-message{max-width:1072px;margin:0 auto;padding:12px 24px;font-size:.85rem}.leaflet-container{font-family:inherit}.leaflet-control-attribution a{color:#135a77}
@media(min-width:761px){.main-nav{position:absolute;top:24px;left:50%;transform:translateX(-50%);padding:0;border:0;background:transparent;gap:2px}.main-nav a{padding:10px 13px;font-size:.9rem}}
@media(max-width:1050px) and (min-width:761px){.main-nav{position:static;transform:none;border-top:1px solid var(--line);padding:14px;background:var(--surface)}}
@media(max-width:760px){body{padding-bottom:calc(80px + env(safe-area-inset-bottom))}.site-header{padding:17px}.container{padding:18px}.brand{font-size:1.2rem}.brand small{font-size:.65rem}.brand-mark{width:34px;height:40px;font-size:21px}.header-actions .button{padding:8px 12px;font-size:.85rem}.hero{padding-top:28px}.hero h1{font-size:clamp(2.1rem,8vw,3.5rem)}.lead{font-size:1.05rem}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.category-card{padding:18px 13px;font-size:.9rem}.split,.feature-grid{grid-template-columns:1fr}.panel{padding:22px}.main-nav{position:fixed;bottom:0;left:0;right:0;z-index:500;gap:4px;padding:10px 8px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -6px 30px #0001}.main-nav a{flex:1;text-align:center;padding:12px 4px;font-size:.85rem;min-width:0}.site-footer{padding:20px 18px}.map-canvas{height:430px}.map-heading h1{font-size:2.2rem}.location-message{padding:10px 18px}.empty-state{margin:25px auto}}
@media(max-width:370px){.brand small{display:none}.site-header{gap:6px}.header-actions{gap:5px}.header-actions .button{padding:8px 10px}.main-nav a{font-size:.78rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Account forms share the same surface, spacing and focus language as the map. */
.account-shell {display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:start;padding:clamp(2rem,6vw,5rem) 0;max-width:1100px;margin:auto}
.account-intro {padding-top:1.5rem}.account-intro h1 {font-size:clamp(2.3rem,5vw,4.2rem);line-height:1.08;letter-spacing:-.045em;margin:.8rem 0 1.5rem}
.account-intro .lead {margin-bottom:2rem}.account-panel {padding:clamp(1.4rem,4vw,2.4rem)}.account-panel h2 {margin-top:0}
.account-form {display:grid;gap:1.25rem;margin-top:1.5rem}.form-field {display:grid;gap:.5rem}.form-field label {font-weight:650;font-size:.95rem}
.form-field input {width:100%;min-height:3.25rem;border:1px solid var(--line);border-radius:14px;background:var(--bg);color:var(--text);font:inherit;padding:.8rem 1rem;box-sizing:border-box}
.form-field input:focus-visible {outline:3px solid var(--accent);outline-offset:3px}.form-submit {width:100%;justify-content:center;min-height:3.25rem}
.account-links {display:grid;gap:1rem;margin-top:1.5rem}.text-link {color:var(--text);text-decoration:underline;text-underline-offset:4px}.text-link:hover {color:var(--accent)}
.field-help,.muted {color:var(--muted);font-size:.9rem;line-height:1.6;margin:0}.form-message {border-radius:14px;padding:1rem;margin-bottom:1.5rem;border:1px solid var(--line);background:var(--bg);line-height:1.6}
.error-message {border-left:4px solid #cc5362}.account-details {display:grid;gap:.4rem;overflow-wrap:anywhere}.account-details dt {color:var(--muted);font-size:.9rem}.account-details dd {margin:0 0 1rem;font-weight:600}
@media (max-width:760px) {.account-shell {grid-template-columns:1fr;gap:1.5rem;padding:1.5rem 0 2rem}.account-intro {padding-top:0}.account-intro h1 {font-size:2.5rem}.account-intro .lead {font-size:1.05rem;margin-bottom:1rem}}

.page-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1rem}.entry-form{display:grid;gap:1.5rem}.entry-form .form-field{margin:.75rem 0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.25rem}.form-field select,.form-field textarea{width:100%;min-height:3.25rem;border:1px solid var(--line);border-radius:14px;background:var(--bg);color:var(--text);font:inherit;padding:.8rem 1rem}.form-field textarea{resize:vertical}.form-field input[type=file]{font-size:.9rem;background:var(--surface)}.optional{font-size:.8rem;font-weight:400;color:var(--muted)}.choice-group,.product-row{border:0;padding:0;margin:1.5rem 0}.choice-group legend,.product-row legend{font-weight:650;margin-bottom:.8rem}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.choice{display:flex;align-items:center;gap:.7rem;min-height:3rem;border:1px solid var(--line);border-radius:14px;padding:.7rem;background:var(--bg)}.choice input{accent-color:var(--accent);width:1.1rem;height:1.1rem;flex-shrink:0}.picker-map{height:330px;margin:1rem 0}.product-row{background:var(--bg);padding:1.2rem;border-radius:18px;border:1px solid var(--line)}.product-row legend{padding:0 .5rem}.product-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr 1fr;gap:.7rem}.product-grid .form-field{min-width:0}.entry-submit{display:grid;gap:1rem}.upload-preview{max-width:100%;max-height:300px;object-fit:contain;border-radius:16px}.photo-strip{display:flex;gap:.8rem;overflow:auto;margin:1rem 0}.photo-strip img{height:110px;width:150px;object-fit:cover;border-radius:14px}.photo-gallery{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem;margin-bottom:1.5rem}.photo-gallery a{flex:0 0 min(70%,650px);scroll-snap-align:start}.photo-gallery img{width:100%;height:360px;object-fit:cover;border-radius:22px}.detail-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:1.5rem}.detail-facts{display:grid;grid-template-columns:1fr 2fr;gap:1rem}.detail-facts dt{color:var(--muted)}.detail-facts dd{margin:0;overflow-wrap:anywhere}.preserve-lines{white-space:pre-line}.product-list{display:grid;gap:1rem}.product-card{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding:1rem 0;overflow-wrap:anywhere}.product-card h3,.product-card p{margin:0 0 .3rem}.product-price{text-align:right;white-space:nowrap;font-weight:750}.product-price small{display:block;font-weight:400;font-size:.75rem;color:var(--muted)}.map-tools{margin-top:1.5rem}.map-filters{display:grid;grid-template-columns:2fr 1.5fr 1fr .8fr auto auto;gap:.8rem;align-items:end;margin-bottom:1rem}.map-filters input,.map-filters select{min-width:0}.result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.result-card{overflow:hidden;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow)}.result-card img{width:100%;height:170px;object-fit:cover}.result-card .result-body{padding:1.25rem}.result-card h3{font-size:1.2rem;margin:.5rem 0}.map-pin{background:var(--accent);color:var(--on-accent);border:3px solid var(--surface);border-radius:50% 50% 50% 8px;box-shadow:var(--shadow);display:grid;place-items:center;font-weight:800;font-family:inherit}.leaflet-popup-content .popup-item{border-bottom:1px solid #ddd;padding:.6rem 0}.leaflet-popup-content .popup-item:last-child{border:0}.leaflet-popup-content a{display:inline-block;margin:.5rem 0;color:#087e82;text-decoration:underline}.leaflet-popup-content img{width:100%;height:130px;max-height:130px;object-fit:cover;border-radius:10px}.leaflet-popup-content h3{margin:.5rem 0}.result-body p{margin:.3rem 0}.machine-selection{outline:4px solid var(--accent);outline-offset:4px}
@media(max-width:1050px){.map-filters{grid-template-columns:2fr 1.5fr 1fr}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-grid .form-field:first-child{grid-column:1/-1}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.form-grid,.detail-grid,.result-grid{grid-template-columns:1fr}.map-filters{grid-template-columns:1fr 1fr}.map-filters .form-field:first-child{grid-column:1/-1}.photo-gallery a{flex-basis:90%}.photo-gallery img{height:260px}.choice-grid{grid-template-columns:1fr 1fr}.choice{font-size:.9rem}.detail-facts{grid-template-columns:1fr;gap:.3rem}.detail-facts dd{margin-bottom:.8rem}.product-card{flex-wrap:wrap}.product-price{text-align:left}.entry-submit .button{width:100%}.picker-map{height:290px}}

.hero h1,.result-card h3,.panel h2{overflow-wrap:anywhere}.detail-grid>*,.map-filters>*,.form-grid>*{min-width:0}.detail-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}
@media(max-width:760px){.detail-grid{grid-template-columns:minmax(0,1fr)}}

.report-tabs{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 1.5rem}.report-tabs a[aria-current=page]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.review-list{display:grid;gap:1rem}.review-row{display:flex;justify-content:space-between;align-items:center;gap:1.5rem}.review-row h2{font-size:1.3rem;margin:.7rem 0}.review-row p{margin:.4rem 0}.review-row>div{min-width:0}.review-row>.button{flex-shrink:0}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin:2rem 0;flex-wrap:wrap}.comparison-scroll{overflow:auto}.comparison-table{width:100%;border-collapse:collapse;min-width:620px;text-align:left}.comparison-table th,.comparison-table td{padding:1rem;vertical-align:top;border-bottom:1px solid var(--line);overflow-wrap:anywhere;max-width:300px}.comparison-table thead{color:var(--muted)}.proposed-value{background:var(--soft);font-weight:600}.review-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.photo-choice{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--bg)}.photo-choice img{width:100%;height:170px;object-fit:cover}.photo-choice span{display:flex;gap:.5rem;align-items:center;padding:1rem}.photo-choice input{accent-color:var(--accent)}.history-snapshots{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:1.5rem}.history-list{padding:0;list-style:none}.history-list li{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.history-list time{color:var(--muted);font-size:.9rem}.notification-link{display:grid;place-items:center;min-width:32px;height:32px;padding:0 .4rem;border-radius:50%;background:var(--accent);color:var(--on-accent);font-size:.85rem;font-weight:700}.product-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.8rem;font-size:.85rem}.machine-actions{margin-bottom:1.5rem;gap:.8rem}summary{cursor:pointer;color:var(--accent);font-weight:600}details[open] summary{margin-bottom:1rem}
@media(max-width:760px){.review-row{align-items:start;flex-direction:column}.review-photos{grid-template-columns:1fr 1fr}.history-snapshots{grid-template-columns:1fr}.report-tabs .button{font-size:.85rem;padding:.7rem}.notification-link{min-width:28px;height:28px}.comparison-table th,.comparison-table td{padding:.7rem}}

/* Reviews use native radio controls with visible keyboard focus. */
.review-heading,.review-meta{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.review-score{display:grid;gap:.2rem}.review-score strong{font-size:1.8rem;color:var(--accent)}
.review-score span,.review-card time{font-size:.85rem;color:var(--muted)}
.experience-list{display:grid;gap:1rem;margin-top:1.5rem}.review-card{padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius);overflow-wrap:anywhere}
.review-stars{color:var(--accent);letter-spacing:.1em;white-space:nowrap}
.rating-choice{border:0;padding:0;margin:0}.rating-choice legend{font-weight:700;margin-bottom:.8rem}
.rating-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem}
.rating-options label{position:relative;cursor:pointer}.rating-options input{position:absolute;top:.75rem;left:.65rem;accent-color:var(--accent)}
.rating-options label>span{display:grid;gap:.3rem;border:1px solid var(--line);border-radius:1rem;padding:1rem .75rem 1rem 2rem;height:100%}
.rating-options small{font-size:.75rem;color:var(--muted)}.rating-options input:checked+span{background:var(--surface);border:2px solid var(--accent);padding:calc(1rem - 1px) calc(.75rem - 1px) calc(1rem - 1px) calc(2rem - 1px)}
.rating-options input:focus-visible+span{outline:3px solid var(--accent);outline-offset:3px}
@media(max-width:600px){.rating-options{grid-template-columns:1fr}.rating-options label>span{grid-template-columns:4rem 1fr;align-items:center;padding:.8rem .8rem .8rem 2rem}.rating-options input:checked+span{padding:calc(.8rem - 1px) calc(.8rem - 1px) calc(.8rem - 1px) calc(2rem - 1px)}}

.operator-reply{background:var(--soft);border-left:3px solid var(--accent);border-radius:14px;padding:1rem 1.2rem;margin-top:1rem;overflow-wrap:anywhere}.operator-reply .eyebrow{margin-top:0}.operator-reply p:last-of-type{margin-bottom:.7rem}

.stat-number{font-size:2.5rem;color:var(--accent)}.crew-ranking{padding-left:1.5rem}.crew-ranking li{padding:1rem .5rem;border-bottom:1px solid var(--line)}.crew-ranking li a{font-weight:650;text-decoration:underline}.crew-ranking li strong{float:right}.favorite-remove{border:0;background:transparent;padding:1rem 0;font:inherit;color:var(--muted)}@media(max-width:500px){.crew-ranking li strong{float:none;display:block}}

.operator-logo { width: 96px; height: 96px; object-fit: contain; border-radius: 20px; background: var(--surface); padding: 8px; }
.map-pin.promoted { background: var(--accent); border: 3px solid white; border-radius: 16px; box-shadow: 0 4px 14px #0004; }
.premium-pin { display: grid; place-items: center; width: 100%; height: 100%; overflow: hidden; border-radius: 12px; }
.premium-pin img { width: 100%; height: 100%; object-fit: contain; background: white; }

.moderation-photo{max-width:100%;max-height:500px;border-radius:20px;object-fit:contain}.user-text{white-space:pre-wrap;overflow-wrap:anywhere}
/* One shared field style also covers labels with nested inputs and compact forms. */
.account-form form{display:grid;gap:1rem}.account-form label{display:grid;gap:.5rem;font-weight:600}.account-form input:not([type=hidden]):not([type=checkbox]):not([type=radio]),.account-form select,.account-form textarea{width:100%;min-width:0;min-height:48px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--bg);color:var(--text);font:inherit}.account-form textarea{min-height:100px;resize:vertical}.account-form code{overflow-wrap:anywhere}.account-form form>.button{justify-self:start}.account-form label:has(input[type=checkbox]){display:block}textarea:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.map-page{overflow:hidden;padding:0;--map-nav-height:0px}.map-page>.site-header,.map-page>.site-footer,.map-page>.location-message{display:none}.map-page>.container{position:fixed;inset:0 0 var(--map-nav-height);max-width:none;padding:0;margin:0}.map-stage{position:relative;height:100%;width:100%}.map-stage .map-canvas{height:100%;min-height:0;width:100%;border:0;border-radius:0}.map-page .main-nav{z-index:900}.map-overlay-tools{position:absolute;z-index:700;left:20px;top:20px;display:flex;gap:8px;flex-wrap:wrap;max-width:calc(100% - 40px)}.map-overlay-tools .button{box-shadow:var(--shadow);gap:8px;font-size:.9rem}.map-filter-overlay{position:absolute;left:20px;top:82px;width:min(380px,calc(100% - 40px));max-height:calc(100% - 110px);overflow:auto;z-index:750;padding:22px}.map-filter-overlay[hidden],.map-sheet[hidden],.map-toast[hidden]{display:none}.map-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.map-panel-heading h2{font-size:1.25rem;margin:0}.map-filter-overlay .account-form{gap:16px;margin-top:18px}.map-filter-overlay .form-grid{gap:12px}.map-toast{position:absolute;left:20px;top:82px;z-index:650;max-width:min(360px,calc(100% - 40px));background:var(--surface);color:var(--text);border-radius:16px;border:1px solid var(--line);padding:12px 16px;box-shadow:var(--shadow);font-size:.85rem;pointer-events:none}.map-sheet{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);width:min(480px,calc(100% - 32px));height:56dvh;max-height:60dvh;background:var(--surface);border:1px solid var(--line);border-radius:26px;box-shadow:0 -8px 50px #0003;z-index:800;display:flex;flex-direction:column;animation:sheet-rise .25s ease-out}.map-sheet-heading{position:relative;height:46px;flex-shrink:0;display:flex;align-items:center;justify-content:center;touch-action:pan-y}.sheet-grip{width:40px;height:5px;background:var(--line);border-radius:10px}.map-sheet-heading .button{position:absolute;right:12px;top:5px;min-height:36px;height:36px;width:36px;padding:0;font-size:24px}.map-sheet-content{padding:0 22px 22px;overflow:auto;overscroll-behavior:contain}.map-sheet-content h2{margin:10px 0 8px;font-size:1.5rem;overflow-wrap:anywhere}.sheet-distance{margin:0 0 12px;font-size:.9rem}.sheet-location{background:none;border:0;padding:0 0 12px;color:var(--accent);text-align:left}.sheet-photo{display:block;width:100%;height:clamp(90px,17dvh,155px);object-fit:cover;border-radius:16px;margin:0 0 12px}.sheet-photo[hidden]{display:none}.sheet-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.sheet-actions .button{flex:1;white-space:nowrap;padding:10px 14px}.sheet-actions .sheet-details{flex-basis:100%}.sheet-machine-tabs{display:flex;gap:8px;overflow:auto;margin-bottom:12px}.sheet-machine-tabs .button{flex-shrink:0;font-size:.85rem}.map-add-mode{cursor:crosshair}.map-sheet-open .leaflet-bottom{bottom:calc(56dvh + 30px)}.map-stage .leaflet-control-attribution{max-width:100%;font-size:10px}.map-stage .leaflet-bar{border:1px solid var(--line)!important;border-radius:14px!important;overflow:hidden;box-shadow:var(--shadow)}
@keyframes sheet-rise{from{opacity:0;translate:0 40px}to{opacity:1;translate:0 0}}
@media(min-width:761px){.map-page .main-nav{position:fixed;top:20px;right:20px;left:auto;transform:none;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow);padding:4px}.map-page .main-nav a{font-size:.85rem;padding:10px}.map-overlay-tools{max-width:calc(100% - 400px)}}
@media(max-width:760px){.map-overlay-tools{left:12px;top:max(12px,env(safe-area-inset-top));max-width:calc(100% - 24px);gap:6px}.map-overlay-tools .button{font-size:.78rem;padding:10px;gap:5px;min-height:44px}.map-filter-overlay{left:12px;top:68px;width:calc(100% - 24px);max-height:calc(100% - 82px)}.map-toast{left:12px;top:68px}.map-sheet{left:0;bottom:0;transform:none;width:100%;height:56dvh;max-height:60dvh;border-radius:24px 24px 0 0;animation-name:sheet-rise}.map-sheet-content{padding:0 18px 18px}.map-sheet-open .leaflet-bottom{bottom:calc(56dvh + 8px)}}
@media(prefers-reduced-motion:reduce){.map-sheet{animation:none}}
