:root{--ink:#193d31;--accent:#eda75f;--muted:#607367;--line:#e1e8df;--paper:#fff;--shadow:0 14px 45px #163b4026}*{box-sizing:border-box}body{margin:0;font:16px/1.5 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#eef2ed}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{opacity:.55;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bf6c29;outline-offset:3px}a{color:#386d50}header{height:76px;background:var(--ink);color:#fff;display:flex;align-items:center;padding:0 28px;gap:30px;border-bottom:2px solid var(--accent)}.brand{font-size:27px;font-weight:800;letter-spacing:-1.2px;display:flex;align-items:center;gap:11px;text-decoration:none;color:white;white-space:nowrap}.brand-for{font-size:16px;font-weight:450;letter-spacing:0}.brandmark{background:var(--accent);color:var(--ink);font-size:27px;width:35px;height:39px;border-radius:9px;transform:rotate(-8deg);display:grid;place-items:center}.branddot{color:var(--accent)}.tagline{font-size:14px;color:#d3dfd3}.header-actions{margin-left:auto;display:flex;gap:10px}.quiet,.profile-button{border:1px solid #ffffff30;background:transparent;color:white;padding:9px 14px;border-radius:9px;font-size:14px}.profile-button{background:#325744}.profile-button span{margin-left:10px}main{height:calc(100dvh - 76px);position:relative;overflow:hidden}#map{height:100%;background:#dbe6dc;z-index:0}.map-top{position:absolute;top:24px;left:calc(50% + 155px);transform:translateX(-50%);display:flex;background:white;border-radius:30px;padding:5px;z-index:4;box-shadow:var(--shadow)}.map-top button{border:0;background:transparent;border-radius:24px;padding:9px 18px;font-size:14px}.map-top .selected{background:var(--ink);color:white}.area{position:absolute;top:85px;left:calc(50% + 155px);transform:translateX(-50%);background:white;border:1px solid var(--line);border-radius:24px;padding:9px 16px;z-index:4;box-shadow:var(--shadow);font-size:14px;white-space:nowrap}.map-actions{position:absolute;right:24px;top:24px;display:grid;gap:7px;z-index:4}.map-actions button{width:42px;height:42px;background:white;border:0;border-radius:10px;box-shadow:var(--shadow);font-size:24px}aside{position:absolute;left:24px;top:24px;bottom:24px;width:385px;z-index:5;background:white;border-radius:20px;box-shadow:var(--shadow);overflow:auto}.panel-inner{padding:25px 23px;background-image:repeating-radial-gradient(ellipse at -90% -10%,transparent 0px,transparent 25px,#24432e06 26px,#24432e06 27px);background-size:100% 180px;background-repeat:no-repeat}.eyebrow{font-size:11px;letter-spacing:1.6px;font-weight:750;color:#97602d}h1{font-size:30px;font-weight:800;letter-spacing:-1px;line-height:1.2;margin:10px 0 22px}h2{font-size:21px;line-height:1.3;letter-spacing:-.5px;margin:0 0 10px}.modes{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:4px;background:#edf1e8;border-radius:12px;margin:0 0 16px}.modes button{border:0;background:transparent;border-radius:8px;padding:10px 3px;font-size:15px;font-weight:600}.modes .active{background:var(--ink);color:white;box-shadow:0 3px 6px #193d3120}.search{display:flex;align-items:center;gap:9px;border:1px solid #dce4d7;border-radius:10px;padding:0 12px;height:45px;background:white}.search span{font-size:25px}.search input{background:transparent;border:0;outline:none;min-width:0;width:100%;font-size:16px}.subfilters{display:flex;gap:6px;overflow:auto;margin:12px 0 18px}.subfilters:empty{margin:0 0 22px}.subfilters button{white-space:nowrap;border:1px solid #dce4d7;border-radius:18px;padding:6px 12px;font-size:13px;background:white}.subfilters .active{background:#e9efdf;border-color:#739266}.list-heading{display:flex;align-items:baseline;justify-content:space-between;gap:5px}.list-heading h2{font-size:20px}.list-heading button{font-size:13px;background:none;border:0;text-decoration:underline;white-space:nowrap;color:#566c5d}.count{font-size:12px;line-height:1.5;color:var(--muted);margin:0 0 17px}.card{display:flex;width:100%;text-align:left;align-items:center;gap:12px;border:1px solid var(--line);padding:14px 12px;margin-bottom:11px;border-radius:12px;background:white}.card:hover{background:#f7f9f2;border-color:#a6b69a}.card-icon{width:44px;height:49px;flex-shrink:0;border-radius:9px;display:grid;place-items:center;background:var(--bg);color:var(--color)}svg:not(.leaflet-zoom-animated):not(.leaflet-attribution-flag){width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.card-body{flex:1;min-width:0}.card strong{display:block;font-size:15px;line-height:1.4}.card small{display:block;font-size:12px;color:var(--muted);margin-top:5px;line-height:1.4}.distance{font-size:12px;white-space:nowrap;font-weight:600}.editorial{font-size:12px;color:#97602d;margin-top:5px;display:block}.source-note{font-size:12px;line-height:1.7;color:var(--muted);margin-top:24px}.pin{width:35px;height:35px;border-radius:50% 50% 50% 7px;transform:rotate(-45deg);background:white;color:var(--color);border:2px solid var(--color);box-shadow:0 3px 9px #1234;display:grid;place-items:center}.pin svg{transform:rotate(45deg);width:18px;height:18px}.cluster{width:40px;height:40px;border:3px solid white;background:var(--ink);color:white;border-radius:50%;display:grid;place-items:center;font-weight:700;box-shadow:0 3px 12px #1234}.map-caption{position:absolute;bottom:27px;right:27px;font-size:11px;letter-spacing:1px;color:#edddba;background:#193d31;padding:12px 16px;border-radius:6px;z-index:3;box-shadow:3px 3px 0 var(--accent)}.map-caption span{display:block;font-family:Georgia,serif;font-size:17px;letter-spacing:0;margin-top:5px;color:white}#toast{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);max-width:90%;background:var(--ink);color:white;border-radius:12px;padding:12px 18px;z-index:1000;font-size:14px;display:none}.handle{display:none}.back{border:0;background:#eef3e8;border-radius:20px;padding:9px 13px;margin-bottom:20px;font-size:14px}.detail-icon{height:74px;display:grid;place-items:center;background:var(--bg);color:var(--color);border-radius:13px;margin-bottom:20px}.detail-icon svg{width:37px;height:37px}#detail h2{font-size:27px}#detail p{font-size:15px;line-height:1.65}.info{background:#f4f7f1;border-radius:10px;padding:12px;font-size:13px;line-height:1.8}.primary{display:block;width:100%;text-align:center;background:var(--ink);color:white;text-decoration:none;border:0;border-radius:10px;padding:12px 15px;margin-top:14px;font-size:15px}.secondary{border:1px solid #cbd8c6;background:#f8faf5;border-radius:10px;padding:10px 12px;text-align:center;font-size:14px}.detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.detail-actions .primary{margin:0}.detail-actions a{display:grid;place-items:center;text-decoration:none}.empty{padding:18px 0;color:var(--muted);font-size:14px;line-height:1.65}.load-more{width:100%;border:1px solid #cbd8c6;padding:11px;border-radius:10px;background:#edf3e7}.photo-section{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.photo-section h3{font-size:18px;margin:0 0 5px}.photo-section .hint{margin:0 0 14px}.photo-item{margin:18px 0;background:#f5f7f1;padding:10px;border-radius:12px}.photo-item img{display:block;width:100%;max-height:280px;object-fit:contain;border-radius:8px;background:#e8eee2}.photo-item p{margin:8px 0;font-size:14px!important}.photo-meta{font-size:12px;color:var(--muted)}.photo-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.photo-buttons button{font-size:12px;border:1px solid #bdcbb6;background:white;border-radius:20px;padding:6px 10px}.photo-buttons .voted{background:var(--ink);color:white}.leaflet-control-attribution{font-size:11px!important}dialog{width:min(510px,94vw);max-height:90dvh;overflow:auto;border:0;border-radius:20px;padding:28px;color:var(--ink);box-shadow:var(--shadow)}dialog::backdrop{background:#102a24a6;backdrop-filter:blur(4px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.close{border:0;background:#eef2e8;border-radius:50%;font-size:24px;width:34px;height:34px}.dialog-top+h2{font-size:28px;margin-bottom:16px}dialog p{font-size:15px}form label{display:block;margin-top:16px;font-size:14px;font-weight:600}form input:not([type=checkbox]),form select{display:block;width:100%;padding:11px;border:1px solid #cbd8c6;border-radius:9px;margin-top:6px;background:white;color:var(--ink)}form label.check{display:flex;gap:9px;align-items:flex-start;font-weight:400;line-height:1.5}form .check input{width:18px;height:18px;flex-shrink:0;accent-color:var(--ink)}.hint{font-size:12px!important;color:var(--muted);font-weight:400;line-height:1.6}.form-error{color:#a23b25;font-size:14px}.profile-stats{display:flex;gap:10px;margin:20px 0}.profile-stats div{flex:1;background:#edf2e4;border-radius:12px;padding:13px;font-size:12px}.profile-stats strong{font-size:25px;display:block}.saved-item{display:block;width:100%;padding:10px 0;border:0;border-bottom:1px solid var(--line);background:white;text-align:left}.privacy-line{background:#f1f4eb;padding:12px;border-radius:9px;font-size:13px!important}.file-pick{border:1px dashed #879d79;border-radius:10px;padding:12px}.file-pick input{border:0!important;padding:0!important;font-size:13px}#photoPreview{width:100%;max-height:220px;object-fit:contain;margin-top:15px;border-radius:9px}[hidden]{display:none!important}
@media(max-width:700px){header{height:65px;padding:0 15px;gap:8px}.brand{font-size:23px;gap:8px}.brandmark{width:28px;height:32px;font-size:23px}.brand-for{font-size:13px}.tagline{display:none}.header-actions{gap:6px}.quiet,.profile-button{font-size:12px;padding:8px}.profile-button span{display:none}main{height:calc(100dvh - 65px)}aside{top:auto;bottom:0;left:0;width:100%;height:48%;border-radius:23px 23px 0 0;transition:height .25s}.panel-inner{padding:3px 20px 30px}.handle{display:flex;width:100%;height:26px;border:0;background:white;align-items:center;justify-content:center;position:sticky;top:0;z-index:2}.handle span{width:40px;height:4px;border-radius:6px;background:#cad3cc}aside.expanded{height:86%}.eyebrow{font-size:10px}h1{font-size:25px;margin:6px 0 13px}.modes{margin-bottom:12px}.modes button{padding:8px;font-size:14px}.search{height:42px}.subfilters{margin:10px 0 14px}.subfilters:empty{margin-bottom:16px}.map-top{left:50%;top:14px}.area{left:50%;top:73px}.map-actions{right:12px;top:128px}.map-actions button{width:37px;height:37px}.map-caption{display:none}.leaflet-bottom{bottom:48%}.leaflet-control-attribution{max-width:70%;font-size:9px!important}#toast{bottom:50%;width:90%}dialog{padding:22px;max-height:90dvh}.detail-actions{grid-template-columns:1fr 1fr}}

fieldset{border:1px solid var(--line);border-radius:10px;margin:18px 0 0;padding:8px 14px 14px}legend{font-size:14px;font-weight:600;padding:0 5px}fieldset .check{margin-top:8px}
@media(max-width:700px){#map{height:46%}aside{height:54%}.leaflet-bottom{bottom:0}#browse>.eyebrow{display:none}#browse h1{margin-top:3px}#toast{bottom:56%}}

textarea{font:inherit;color:var(--ink);width:100%;display:block;border:1px solid #cbd8c6;border-radius:9px;padding:11px;margin-top:6px;resize:vertical}textarea:focus-visible{outline:3px solid #bf6c29;outline-offset:3px}.community-section{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.community-section h3{font-size:18px}.review-item{border-bottom:1px solid var(--line);padding:12px 0}.review-item p{white-space:pre-wrap;overflow-wrap:anywhere}.review-summary{color:#80521f;font-weight:700}.review-meta{font-size:13px;color:var(--muted)}.feedback-link{display:block;border:0;background:none;text-align:left;text-decoration:underline;padding:16px 0;color:#386d50;font-size:14px}.stars>div{display:flex;justify-content:space-between;gap:6px}.stars label{display:flex;align-items:center;flex-direction:column;gap:3px;cursor:pointer;margin:0;padding:5px 8px;border-radius:8px}.stars label:has(:checked){background:#f8d7ad}.stars span[aria-hidden]{font-size:28px;color:#a46620}.stars input{width:18px!important;margin:0!important;accent-color:var(--ink)}.star-number{font-size:13px}.my-feedback{margin-top:24px}.my-feedback summary{cursor:pointer}.feedback-entry{border-bottom:1px solid var(--line);padding:12px 0;font-size:14px;overflow-wrap:anywhere}.feedback-entry p{white-space:pre-wrap}.review-item .photo-buttons{margin-bottom:5px}

.category-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 16px}.category-buttons button{background:#f2f5ef;border:1px solid #d5dfce;border-radius:12px;text-align:left;padding:13px 14px;font-size:15px;font-weight:650;transition:background .15s,color .15s}.category-buttons button:hover{background:#e3ecdb}.category-buttons button.active{background:var(--ink);color:white;border-color:var(--ink)}.home-hint{font-size:15px;line-height:1.6;color:var(--muted);margin:20px 0 8px}#categoryResults{margin-top:20px;animation:reveal .2s ease-out}.compact-card{padding:12px 0;margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0;gap:14px}.compact-card small{font-size:13px}.compact-card .distance{font-size:13px}.count{font-size:13px;margin-bottom:8px}.map-point{display:grid;place-items:center}.pin{width:var(--pin-size);height:var(--pin-size);border-radius:50%;transform:none;box-shadow:0 2px 7px #193d313b}.pin svg{transform:none;width:60%;height:60%}.pin-large{border-width:3px;background:#fff6e7;box-shadow:0 0 0 4px #ffffffa6,0 3px 12px #193d3140}.pin-small{border-width:1.5px}.small-cluster{width:28px;height:28px;font-size:11px;background:#f5f7f1;color:#4c6858;border:1px solid #91a28c;box-shadow:0 2px 5px #193d3120}.map-legend{position:absolute;bottom:28px;right:24px;display:flex;align-items:center;gap:15px;z-index:3;background:#fffffff2;border:1px solid #dbe4d4;border-radius:12px;padding:10px 14px;font-size:12px;box-shadow:var(--shadow)}.map-legend span{display:flex;align-items:center;gap:6px}.map-legend i{display:block;border:2px solid #36755b;border-radius:50%;background:white}.map-legend .legend-large{width:19px;height:19px;background:#fff0d9}.map-legend .legend-normal{width:13px;height:13px}.map-legend .legend-small{width:8px;height:8px;border-width:1px}aside.home-collapsed{bottom:auto;max-height:calc(100% - 48px)}@keyframes reveal{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){#categoryResults{animation:none}.category-buttons button{transition:none}}@media(max-width:700px){.category-buttons{grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px}.category-buttons button{font-size:13px;padding:11px 5px;text-align:center;border-radius:9px}aside.home-collapsed{bottom:0;max-height:none;height:42%}body:has(aside.home-collapsed) #map{height:58%}.home-hint{margin:12px 0 0;font-size:14px}.home-collapsed .source-note{margin:0}.home-collapsed .feedback-link{padding:10px 0}.map-legend{top:12px;bottom:auto;left:12px;right:auto;gap:8px;padding:7px 9px;font-size:11px}.map-top{top:55px}.map-actions{top:110px}.area{top:108px;max-width:65%;font-size:13px}#categoryResults{margin-top:14px}.list-heading h2{font-size:18px}.panel-inner{padding-left:16px;padding-right:16px}.count{font-size:12px}.source-note{margin-top:12px}}

.stay-symbol{display:grid;place-items:center;flex-shrink:0;width:30px;color:#9a592b}.stay-symbol svg{width:26px;height:26px}.member-actions{display:grid;gap:10px;margin:22px 0}.coordinate-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}#useMapCenter{margin-top:14px}#placeDialog input{min-width:0}

/* Four wheels, one direction. */
.four-mark{position:relative;display:block!important;width:38px;height:38px}.four-mark i{position:absolute;width:7px;height:7px;border-radius:50%;background:currentColor}.four-mark i:nth-child(1){left:3px;top:3px}.four-mark i:nth-child(2){right:3px;top:3px}.four-mark i:nth-child(3){left:3px;bottom:3px}.four-mark i:nth-child(4){right:3px;bottom:3px}.four-mark b{position:absolute;inset:0;text-align:center;font-size:27px;line-height:38px}.header-actions select{width:58px;padding:8px;border:1px solid #ccd5cc;border-radius:9px;background:white;color:#193d31;font:inherit}.discovery-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:8px;margin:12px 0}.discovery-actions button{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:48px;margin:0;font-size:14px;line-height:1.5;padding:10px;border-width:1px;border-style:solid}.discovery-actions .primary{border-color:var(--ink)}.home-collapsed #nearbyStatus:empty{display:none}.trip-tabs{display:flex;gap:8px;margin:15px 0}.ai-planner{padding:16px;background:#edf3e7;border-radius:12px;margin:18px 0}.ai-planner summary{cursor:pointer;font-weight:700}.trip-stop{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px 0;border-bottom:1px solid #dce2d8}.trip-stop label{font-size:14px}.trip-stop select{width:90px}.stop-actions{display:flex;gap:4px;align-items:center}.stop-actions button{padding:7px;min-width:36px}.trip-search-result{display:block;width:100%;padding:10px;text-align:left;border:0;border-bottom:1px solid #ddd;background:white;font:inherit}.trip-history-card{padding:16px;background:#f0f3eb;border-radius:12px;margin:12px 0}.trip-history-card button{margin:5px}.parking-advice{padding:16px;background:#edf2e8;border-radius:12px;margin:18px 0}.parking-advice h3{margin:0 0 8px}.parking-advice button{display:block;width:100%;text-align:left;margin-top:8px;padding:10px;background:white;border:1px solid #cdd9c8;border-radius:8px}.hero-carousel{position:relative;margin:12px 0}.hero-carousel img{display:block;width:100%;height:200px;object-fit:cover;border-radius:12px}.carousel-controls{display:flex;justify-content:space-between;align-items:center;margin-top:6px}.carousel-controls button{min-width:42px;padding:8px}.hero-carousel p{font-size:14px;margin:6px 0}.trip-route-label{background:white;padding:8px;border-radius:8px;font:14px system-ui}.header-actions{gap:6px}@media(max-width:700px){.header-actions #install{display:none}.brand{font-size:21px}.four-mark{width:30px;height:30px}.four-mark b{line-height:30px;font-size:22px}.discovery-actions{margin:8px 0}#tripDialog{max-height:90dvh}.hero-carousel img{height:180px}}

.brandmark.four-mark{transform:none;background:transparent;object-fit:contain;border-radius:0}

/* Compact map controls and recognizable categories. */
.map-top{padding:0;border-radius:12px;overflow:hidden}
.map-top select{border:0;background:white;color:var(--ink);font:inherit;font-size:14px;font-weight:650;min-height:44px;padding:10px 30px 10px 14px;cursor:pointer}
.map-legend{display:block;font-size:12px;padding:0;min-width:100px}
.map-legend summary{padding:12px 14px;cursor:pointer;font-size:14px;font-weight:600}
.legend-items{display:flex;gap:14px;padding:0 14px 12px;align-items:center}
.legend-items span{display:flex;align-items:center;gap:6px;white-space:nowrap}
.category-buttons button{display:flex;align-items:center;justify-content:flex-start;gap:9px;min-height:46px;text-align:left;font-size:14px;line-height:1.25}
.category-buttons svg{width:22px;height:22px;flex:0 0 22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.category-buttons button:focus-visible,.map-top select:focus-visible,.map-legend summary:focus-visible{outline:3px solid #d4844c;outline-offset:2px}
@media(max-width:700px){.map-top{top:12px;left:12px;transform:none}.map-legend{top:12px;right:60px;left:auto;bottom:auto}.map-legend[open]{max-width:calc(100vw - 24px)}.legend-items{flex-direction:column;align-items:flex-start;gap:10px}.map-actions{top:12px}.category-buttons button{gap:6px;padding:10px 8px}.category-buttons svg{width:20px;height:20px;flex-basis:20px}.area{top:70px}}

.social-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}.social-actions .primary{margin:0}.shared-stops{display:grid;gap:8px;margin:20px 0}.shared-stop{display:grid;gap:4px;text-align:left;border:1px solid var(--line);border-radius:12px;padding:14px;background:#f4f6ef;color:var(--ink)}.shared-stop span{font-size:14px;color:#626e61}.shared-stop strong{font-size:16px}.shared-stop small{font-size:14px}.trip-history-card button{margin:4px 4px 0 0}.photo-buttons button{min-height:40px}.photo-buttons .voted{background:#193d31;color:#fff}.photo-buttons button:disabled{opacity:.65}
/* Trip planner: choose a place, explore it, then arrange the days. */
#tripDialog{width:min(960px,96vw)}#tripForm{max-width:100%}.trip-destination{background:#f0f4eb;border:1px solid var(--line);padding:0 16px 12px;border-radius:14px}.trip-destination .quiet{color:var(--ink);border-color:#bfceb5;text-align:left}.destination-results{display:grid;gap:2px}.destination-results button{display:grid;text-align:left;background:white;border:1px solid var(--line);padding:10px 12px;min-height:48px;border-radius:8px}.destination-results small{font-size:13px;color:var(--muted)}.trip-explore{border-top:1px solid var(--line);margin-top:24px;padding-top:14px}.explore-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.explore-heading h3{font-size:20px;margin:0}.explore-heading label{margin:0;min-width:100px}.explore-heading select{margin-top:3px;padding:7px}.quota-status{padding:10px 12px;background:white;border:1px solid #d4dfc9;border-radius:8px;font-size:14px!important}#tripMap{height:320px;border-radius:14px;background:#dde8d8;isolation:isolate}#tripMap .leaflet-bottom{bottom:0}#tripMap .leaflet-control-attribution{max-width:100%}.planner-marker>div{height:34px;width:34px;border-radius:50%;border:2px solid #527454;background:#fff;display:grid;place-items:center;box-shadow:0 2px 6px #1234}.planner-marker .in-trip{background:var(--ink);color:white;border-color:#eda75f}.planner-marker svg{width:19px;height:19px}.trip-recommendations{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.trip-recommendation{display:flex;align-items:center;gap:10px;text-align:left;padding:12px;border:1px solid var(--line);background:#f7f9f3;border-radius:12px;min-width:0}.trip-recommendation>span:nth-child(2){flex:1;min-width:0}.trip-recommendation strong{font-size:14px;display:block;overflow-wrap:anywhere}.trip-recommendation small{display:block;font-size:12px;color:var(--muted)}.recommendation-icon{display:grid;place-items:center;width:30px;flex-shrink:0}.trip-schedule{margin-top:26px}.trip-day{border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin-top:10px}.trip-day h4{margin:0;font-size:16px}.trip-day h4 span{font-weight:400;font-size:14px;color:var(--muted);margin-left:6px}.trip-day .trip-stop:last-child{border:0}.trip-stop-name{font-weight:650;border:0;background:none;text-align:left;padding:0;text-decoration:underline;text-underline-offset:3px}.trip-stop select{width:150px}.trip-stop label{margin-top:8px}.planner-day-label{display:block;font-size:14px;font-weight:600}.planner-day-label select{display:block;width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;margin-top:6px}#tripPlacePhoto img{width:100%;height:200px;object-fit:cover;border-radius:12px}.planner-parking{padding:8px 10px;background:#eff4e8;border-radius:8px;font-size:14px!important}
@media(max-width:600px){#tripDialog{width:96vw;padding:18px}.trip-recommendations{grid-template-columns:1fr}#tripMap{height:260px}.trip-day{padding:10px}.trip-stop{grid-template-columns:minmax(0,1fr) auto}.stop-actions{flex-direction:column}.trip-stop select{max-width:100%;width:140px}.explore-heading h3{font-size:18px}}
#nearbyDialog{width:min(940px,96vw)}#nearbyMap{height:320px;background:#e1e9dc;border-radius:14px;isolation:isolate}#nearbyMap .leaflet-bottom{bottom:0}#nearbyMap .leaflet-control-attribution{max-width:100%}.nearby-tools{display:flex;flex-wrap:wrap;align-items:end;gap:8px;margin:14px 0}.nearby-tools label,.nearby-ai label{font-size:14px;font-weight:600;display:block}.nearby-tools select,.nearby-ai select,#navigationTargets select{display:block;border:1px solid #c7d6bf;border-radius:9px;padding:10px;background:white;color:var(--ink);margin-top:5px;width:100%}.nearby-tools label{min-width:110px}.nearby-ai{background:#eef3e6;border-radius:14px;padding:18px;margin-top:24px}.nearby-ai h3{margin-top:0}.nearby-parking{display:block;width:100%;border:1px solid var(--line);border-radius:8px;padding:10px;text-align:left;background:white;margin-top:7px;font-size:14px}.nearby-proposal-stop{background:white;border:1px solid var(--line);border-radius:12px;padding:14px;margin:12px 0}.nearby-proposal-stop>button{display:flex;gap:10px;align-items:center;width:100%;border:0;background:none;text-align:left;padding:0}.nearby-proposal-stop>button span{display:grid;place-items:center;min-width:30px;height:30px;background:var(--ink);color:white;border-radius:50%}.visit-budget{background:#fff3df;padding:12px;border-radius:10px}.navigation-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.navigation-buttons a{display:block;text-decoration:none;padding:10px 12px;background:#eef3e7;border:1px solid #c9d6be;border-radius:9px;font-size:14px}.navigation-leg{padding:12px 0;border-bottom:1px solid var(--line)}#navigationTargets label{display:block;font-size:14px;margin:12px 0}#downloadTripGPX{display:block;text-decoration:none;margin-top:20px}#nearbyPlacePhoto img{width:100%;height:200px;object-fit:cover;border-radius:12px}#navigatePlannedPlace{width:100%;margin-top:8px}#nearbyPlaceDialog .social-actions .primary{width:auto;flex:1}.nearby-ai .coordinate-fields{margin-bottom:12px}@media(max-width:600px){#nearbyDialog{padding:18px}#nearbyMap{height:270px}.nearby-tools button{flex:1}.nearby-tools label{flex:1}}

/* One optical weight across category icons and map markers. */
svg.place-glyph{stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;overflow:visible;flex-shrink:0}.category-tabs button svg.place-glyph{width:24px;height:24px}.pin svg.place-glyph{width:58%;height:58%;stroke-width:1.9}.pin-small svg.place-glyph{stroke-width:2.1}.recommendation-icon{border-radius:12px;background:#edf2ed;padding:9px;display:grid;place-items:center}.access-card{border:1px solid #dce5dc;border-radius:16px;background:#f2f6f1;padding:16px;margin:16px 0;font-size:14px}.access-card h3{font-size:15px;margin:0 0 10px}.access-caution{background:#fff2df;border-color:#e9bd83}.access-badges{display:flex;flex-wrap:wrap;gap:6px}.access-badges span{border-radius:7px;padding:5px 8px;background:#fff;font-size:12px;font-weight:600}.access-fields{border:1px solid #dce5dc;border-radius:14px;padding:16px;margin:20px 0}.access-fields legend{font-weight:650;padding:0 6px}.vehicle-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px}.vehicle-checks .check{display:flex;align-items:center;gap:8px;font-size:13px;margin:0}.vehicle-checks input{width:18px;height:18px;flex:none}.access-observation{border-left:3px solid #df9958;padding:4px 12px;margin:12px 0;font-size:13px}@media(max-width:380px){.vehicle-checks{grid-template-columns:1fr}}

.access-list-badge{color:#865020!important;font-weight:650!important;font-size:11px!important}

/* An open map with an unobtrusive, recoverable bottom sheet. */
.map-top select+select{border-left:1px solid #e1e8df}.map-style-control select{min-height:40px;border:1px solid #dce4d7;border-radius:9px;background:white;padding:8px 12px;color:#193d31;font:14px system-ui;box-shadow:0 2px 8px #193d3122}.price-card{margin:16px 0;padding:16px;border:1px solid #eadac0;border-radius:14px;background:#fff9ef}.price-card h3{font-size:15px;margin:0 0 8px}.price-card p{margin:6px 0;font-size:14px}#panelPeek{font-size:14px;font-weight:650}.brandmark.four-mark{width:38px;height:38px}.map-minimized .panel-inner{visibility:hidden}.handle{touch-action:manipulation}
@media(max-width:700px){.brandmark.four-mark{width:33px;height:33px}.map-top{max-width:calc(100% - 72px)}.map-top select{font-size:13px;padding-left:10px;padding-right:20px;min-width:0}.map-legend{top:66px;left:12px;right:auto;min-width:90px}.area{top:119px}.map-minimized,aside.home-collapsed.map-minimized{height:64px!important;max-height:64px!important;bottom:0;overflow:hidden}.map-minimized .handle{height:64px;flex-direction:column;gap:8px}.map-browsing #map{height:calc(100% - 64px)!important}.map-browsing #map .leaflet-bottom{bottom:0!important}#map .leaflet-control-attribution{max-width:100%;font-size:9px!important}body:has(aside.home-collapsed) #map .leaflet-bottom{bottom:0}.map-browsing #toast{bottom:80px}.handle[aria-expanded=false]{background:#fff}.map-minimized .panel-inner{pointer-events:none}}
@media(prefers-reduced-motion:reduce){aside{transition:none}}

.stay-symbol{color:#25466d}.pin:has(svg){transition:box-shadow .15s}.journey-context{padding:18px;border-radius:16px;background:#f1f5ef;margin-bottom:18px}.journey-context h3{font-size:22px;margin:16px 0 8px}.context-actions{display:flex;flex-wrap:wrap;gap:8px}.context-actions button{font-size:14px;flex:1;min-width:150px}.context-place{display:flex;justify-content:space-between;gap:12px;width:100%;border:0;border-bottom:1px solid #dce5dc;text-align:left;background:transparent;padding:12px 0}.context-place small{font-size:12px;white-space:nowrap}.food-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.food-cards article{background:white;border:1px solid #e1e8df;border-radius:12px;padding:14px}.food-cards h4{margin:5px 0;font-size:16px}.food-cards small{font-size:12px;color:#607367}.food-cards p{font-size:14px}.food-cards a,.guide-source{font-size:12px}.sync-card{border:1px solid #d6e1ec;background:#f0f5fa;border-radius:14px;padding:16px;margin:16px 0}.sync-card p{font-size:14px}#foodDialog{width:min(700px,96vw)}@media(max-width:500px){.food-cards{grid-template-columns:1fr}.context-place{flex-direction:column;gap:4px}.journey-context{padding:14px}.context-actions button{min-width:120px}}

[data-category=parking]:not(.active) svg{color:#25466d}

.local-context-details{margin-top:16px}.local-context-details summary{font-weight:650;cursor:pointer;padding:10px 0}
.food-experience{margin:24px 0 12px;padding:20px;border-radius:20px;background:#faf2e5;border:1px solid #ebdcc5}.food-experience h3{margin:8px 0 12px}.food-venue{background:var(--paper,#fff);padding:16px;border-radius:14px;margin:12px 0}.food-venue h4{margin:8px 0}.food-venue small{color:#655b4d}.food-verification{padding:14px;border-radius:12px;background:#faf2e5;font-size:13px;line-height:1.6}.food-verification a{color:#805025}.food-experience .primary{width:100%}
.source-footer{margin-top:24px;border-top:1px solid #dce2df;padding-top:16px;color:#607169;font-size:13px}.source-footer summary{display:flex;align-items:center;gap:8px;cursor:pointer}.source-footer svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}.translation-note{font-size:12px;color:#66776c;margin:4px 0 14px}.translation-note button{border:0;background:none;text-decoration:underline;color:inherit;padding:4px}.europe-search{margin:14px 0}.europe-search summary{cursor:pointer;font-weight:600}.europe-search label{display:block;margin:10px 0}.europe-search select{max-width:100%;padding:8px}.europe-food{border-top:1px solid #dce2df;margin-top:20px;padding-top:14px}
.history-map{height:210px;border-radius:16px;overflow:hidden;margin-top:12px;background:#e9eee5}.history-stop-list{font-size:13px;line-height:1.6;padding-left:22px}.trip-story{white-space:pre-wrap;border-left:3px solid #c56b2d;padding:8px 14px;background:#f5f3eb;border-radius:0 10px 10px 0}.contribute-map{position:absolute;z-index:6;width:48px;height:48px;display:grid;place-items:center;padding:0;background:#28735a;color:white;border:2px solid white;border-radius:50%;font-size:32px;line-height:1;box-shadow:0 3px 14px #153c3433}.contribution-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contribution-choices button{min-height:76px}.contact-row{padding:12px 0;border-bottom:1px solid #dce3dc;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.received-trip{display:flex;flex-direction:column;gap:6px;width:100%;text-align:left;margin:8px 0}#requestContact{margin-top:24px}#contactTripSharing{padding-bottom:20px;border-bottom:1px solid #dce3dc;margin-bottom:20px}

.trip-history-card .quiet,.contact-row .quiet,#contactTripSharing .quiet{color:#385447}
.place-rating{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:5px 0;font-size:12px;line-height:1.5;color:#536558;font-weight:400}.rating-stars{display:inline-block;position:relative;letter-spacing:1px;color:#cdd4ce;white-space:nowrap;font-size:15px}.rating-stars>span+span{position:absolute;left:0;top:0;overflow:hidden;color:#95631e}.rating-empty{color:#798779;font-size:15px}.trip-recommendation>span:nth-child(2){min-width:0}.trip-recommendation strong{overflow-wrap:anywhere}.context-place .place-rating{font-size:12px}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #b7652c;outline-offset:3px}@media(prefers-reduced-motion:reduce){#panel{transition:none!important}}
#nearbyPlaces{grid-template-columns:1fr}#nearbyPlaces .trip-recommendation{min-height:96px}#moreNearby{width:100%}.context-place{flex-wrap:wrap}.context-place>.place-rating{flex-basis:100%;order:3}

#mainAreaGuide,.area-guide-launch{margin:10px 0}#mainAreaGuide{width:100%}.area-guide-card{padding:18px;background:#f2f4ed;border:1px solid #dde5d9;border-radius:16px;margin:14px 0}.area-guide-card h4{margin:18px 0 5px}.area-guide-card p{font-size:15px;line-height:1.65}.area-guide-catalog{margin:24px 0}#areaGuideContent .source-footer{margin-top:24px}

.guide-highlight{border-left:3px solid #bd713b;padding:4px 12px;margin:12px 0}.guide-highlight p{margin:4px 0}

/* Fixed SVG geometry avoids font-dependent plus alignment. */
.contribute-map .contribute-plus{display:block;width:24px;height:24px;flex:none;pointer-events:none}
.discovery-actions button{gap:8px}.discovery-actions .action-icon{display:block;width:24px;height:24px;flex:0 0 24px;pointer-events:none}.discovery-actions button>span{min-width:0}

.category-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}.destination-search{display:flex;gap:8px;margin:10px 0}.destination-search input{min-width:0;flex:1;padding:12px;border:1px solid var(--line);border-radius:10px;font:inherit}.destination-search button{margin:0}#destinationMatches button{display:block;width:100%;padding:10px;text-align:left;border:0;border-bottom:1px solid var(--line);background:white;font:inherit}.category-buttons button{min-width:0}.category-label{overflow-wrap:anywhere}

#browse{position:relative}#destinationMatches:not([hidden]){position:absolute;top:125px;left:0;right:0;z-index:12;max-height:210px;overflow:auto;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px #193d3126;padding:6px}#destinationMatches button:last-child{border-bottom:0}

.destination-search{position:relative}#destinationSearch #destinationMatches:not([hidden]){top:calc(100% + 6px)}

.source-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:20px;background:#edf2ec;color:#365546;font-size:12px;font-weight:600}.area-guide-card{border:1px solid var(--line);padding:18px;border-radius:16px;margin:14px 0}

/* Keep the close action reachable while long dialog content scrolls. */
dialog{--dialog-inset:28px;scroll-padding-top:76px}
dialog>.dialog-top{position:sticky;top:calc(-1 * var(--dialog-inset));z-index:1100;margin:calc(-1 * var(--dialog-inset)) calc(-1 * var(--dialog-inset)) 18px;padding:12px 16px 12px var(--dialog-inset);min-height:68px;gap:16px;background:var(--paper);border-bottom:1px solid var(--line)}
dialog>.dialog-top .close{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;line-height:1;font-size:28px}
@media(max-width:700px){dialog{--dialog-inset:22px}}

.destination-country{padding:8px 10px 4px;font-size:12px;font-weight:700;color:var(--muted);background:#f2f5f0}

/* Keep the account identity visible on desktop and small screens. */
.profile-button{display:inline-flex;align-items:center;gap:7px;min-width:0;max-width:260px}
.profile-button .profile-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profile-button .profile-status{display:inline-flex;align-items:center;justify-content:center;flex:none;width:18px;height:18px;border-radius:50%;background:#fff;color:#24543f;font-size:12px}
.profile-button.is-signed-in{background:#24543f;color:#fff}
@media(max-width:700px){.profile-button{max-width:160px}.header-actions{min-width:0}.profile-button .profile-label{display:block}.profile-button .profile-status{display:inline-flex}}
@media(max-width:380px){.profile-button{max-width:125px}}

/* Search follows the viewport automatically; no persistent overlay obscures it. */
#area{display:none!important}
.pin-anchored{position:relative;box-shadow:0 1px 3px #193d3126}
.pin-anchored::after{content:"";position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--color)}
@media(max-width:700px){aside{transition:none}}

/* Narrow-screen layout: let grid/flex children shrink before text overflows. */
@media(max-width:700px){
 header{padding-inline:max(10px,env(safe-area-inset-left));gap:6px}
 header .brand{flex:none;font-size:21px;gap:5px}
 header .brand-for{font-size:12px}
 header .brandmark.four-mark{width:28px;height:28px}
 .header-actions{flex:1;min-width:0;gap:5px;align-items:center}
 .header-actions #language{flex:none;width:48px;min-width:0;padding-inline:5px}
 .header-actions .profile-button{flex:1;max-width:none;min-width:0;padding-inline:7px;gap:4px}
 .profile-button span{margin-left:0}
 #locationSettings{flex:none;padding-inline:7px}
 .profile-button .profile-status{width:15px;height:15px;font-size:10px}
 .category-buttons button{flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:5px;padding:9px 3px;min-width:0;overflow-wrap:anywhere;font-size:12px}
 .category-buttons .category-label{max-width:100%;min-width:0}
 .category-buttons svg{flex:none;width:22px;height:22px}
 .discovery-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
 .discovery-actions button{min-width:0;overflow-wrap:anywhere}
 .panel-inner,dialog form,dialog section,dialog label,.card-body,.context-place>span{min-width:0;max-width:100%}
 dialog{max-width:calc(100vw - 20px);overflow-wrap:anywhere}
 dialog input,dialog select,dialog textarea{min-width:0;max-width:100%;font-size:16px;box-sizing:border-box}
 .coordinate-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
 .context-place{flex-wrap:wrap}.context-place small{white-space:normal}
 .dialog-top .eyebrow{min-width:0;overflow-wrap:anywhere}
 #tripDialog,#nearbyDialog{--dialog-inset:18px}
 .trip-tabs,.nearby-tools,.detail-actions,.social-actions{flex-wrap:wrap}
 .trip-tabs>*{min-width:0}
}
@media(max-width:420px){
 .coordinate-fields{grid-template-columns:minmax(0,1fr)}
 .explore-heading{flex-wrap:wrap}
}

/* Category cells also need to fit the narrow desktop sidebar. */
.category-buttons button{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px;overflow-wrap:anywhere}
.category-buttons .category-label{max-width:100%;min-width:0}
.category-buttons svg{flex:none}

#nearby.active{background:var(--ink);color:white;border-color:var(--ink)}
.van-position-marker{border:2px solid white;border-radius:50%;background:#dc7c38;color:white;box-shadow:0 2px 8px #0005;display:grid;place-items:center}.van-position-marker svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}.area-center-marker{font-size:26px;color:#287caa}
@media(max-width:600px){#nearbyMap{height:clamp(120px,23dvh,185px)}#nearbyDialog .nearby-tools{margin:8px 0}#nearbyLocation{font-size:13px}}

.entry-clean #categories,.entry-clean #search,.entry-clean label.search,.entry-clean #mainAreaGuide,.entry-clean .europe-search,.entry-clean #homeHint,.entry-clean #destinationAdvice{display:none!important}

.entry-clean #mapDiscoveryStatus,.entry-clean #browse>.hint,.entry-clean #browse>label{display:none!important}

.guide-video{display:block;width:100%;height:clamp(200px,45vw,360px);border:0;border-radius:12px;margin:12px 0}

#nearbyPanel{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.nearby-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.nearby-heading h2{font-size:20px;margin:0}.nearby-heading button{font-size:12px}.nearby-inline #destinationAdvice,.nearby-inline #categoryResults,.nearby-inline #mainAreaGuide,.nearby-inline .europe-search,.nearby-inline #mapDiscoveryStatus{display:none!important}#nearbyPanel .nearby-ai{padding:12px;margin-top:16px}#nearbyPanel summary{cursor:pointer;font-weight:600}#nearbyPanel .nearby-notes{font-size:12px;margin-top:20px;color:#526256}#nearbyPanel label:has(#nearbyCategory){display:none}#nearbyPanel .nearby-tools{margin:10px 0}#nearbyPanel .nearby-tools button{font-size:12px;padding:8px}#nearbyPanel .nearby-tools select{padding:8px}#nearbyPanel .trip-recommendation{min-height:72px}

.nearby-inline #browse>label.search,.nearby-inline #homeHint{display:none!important}#nearbyPanel>.nearby-tools:has(#nearbyCategory){display:none}

#tripPanel{border-top:1px solid var(--line);padding-top:14px;margin-top:14px;min-width:0}#tripPanel label{display:block;font-size:14px;margin:12px 0}#tripPanel input,#tripPanel textarea,#tripPanel select{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box;font:inherit;font-size:16px;padding:10px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);margin-top:5px}#tripPanel .coordinate-fields{grid-template-columns:repeat(2,minmax(0,1fr))}#tripPanel .trip-recommendations{grid-template-columns:1fr}#tripPanel .nearby-notes{font-size:12px;color:var(--muted);margin-top:20px}#planTrip.active{background:var(--ink);color:white}.trip-inline #categories,.trip-inline #browse>label.search,.trip-inline #homeHint,.trip-inline #categoryResults,.trip-inline #destinationAdvice,.trip-inline #mainAreaGuide,.trip-inline .europe-search,.trip-inline #mapDiscoveryStatus{display:none!important}#tripPanel .detail-actions{flex-wrap:wrap}#tripPanel .trip-tabs{flex-wrap:wrap}

/* Expand the existing planner sheet; keep fields and scroll state in the same DOM. */
.trip-inline #panel{transition:height .32s cubic-bezier(.22,.7,.25,1),width .32s ease,left .32s ease,border-radius .32s ease}
#panel.trip-fullscreen{top:auto;bottom:0;left:0;width:100%;height:100%;max-height:100%;border-radius:0;z-index:8}
#tripPanel>.nearby-heading{position:sticky;top:0;z-index:3;background:white;padding:10px 0;flex-wrap:wrap}
#tripPanel>.nearby-heading h2{flex:1;min-width:120px}
#expandTrip{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:42px;white-space:nowrap}
#panel.trip-fullscreen .panel-inner{max-width:900px;margin:auto}
@media(max-width:700px){#panel.trip-fullscreen{height:100%!important;max-height:100%!important;bottom:0;top:auto}#tripPanel>.nearby-heading{top:26px}#expandTrip{font-size:13px;padding:8px 10px}#tripPanel>.nearby-heading #closeTrip{flex-basis:100%;text-align:right;padding-top:0;padding-bottom:4px}}
@media(prefers-reduced-motion:reduce){.trip-inline #panel{transition:none!important}}

/* Pull-to-refresh stays inside the content panel, away from map gestures. */
#panel{overscroll-behavior-y:contain}
.pull-refresh-hint{position:sticky;top:0;z-index:20;height:44px;margin-bottom:-44px;display:flex;align-items:center;justify-content:center;background:#193d31;color:white;border-radius:12px;padding:8px 12px;font-size:14px;pointer-events:none;box-shadow:0 3px 12px #193d3126}
.pull-refresh-hint[hidden]{display:none}

/* Draggable sheet handle, shared by exploration and trip planning. */
#panel[data-position]{transition:height .28s ease,width .28s ease}
#panel[data-position=low]{top:auto;bottom:0;height:56px!important;max-height:56px!important;overflow:hidden}
#panel[data-position]>.handle{display:flex;position:sticky;top:0;z-index:25;height:44px;width:100%;align-items:center;justify-content:center;background:white;border:0;touch-action:none;cursor:ns-resize;user-select:none;flex-direction:row}
#panel[data-position]>.handle span{display:block;width:44px;height:5px;border-radius:6px;background:#9dab9f}
#panel[data-position] #tripPanel>.nearby-heading{top:44px}
#panel.panel-dragging{transition:none!important;overflow:hidden}
#panel.panel-dragging .panel-inner{visibility:visible}
@media(max-width:700px){#panel[data-position=half]{height:50%!important;max-height:50%!important;bottom:0;top:auto}#panel[data-position=full]{height:100%!important;max-height:100%!important}body:has(#panel[data-position]) #map{height:100%!important}body:has(#panel[data-position]) #map .leaflet-bottom{bottom:0}#panel[data-position] .panel-inner{padding-top:10px}#expandTrip{display:none}}
@media(prefers-reduced-motion:reduce){#panel[data-position]{transition:none}}

/* Full-width personal page, independent of the map's bottom sheet. */
.account-page{position:fixed;inset:74px 0 0;z-index:900;background:#fff;overflow-y:auto;overscroll-behavior:contain;padding:0 max(24px,calc((100vw - 800px)/2)) 32px;animation:account-in .22s ease-out;box-sizing:border-box}.account-page[hidden]{display:none}.account-page .dialog-top{position:sticky;top:0;background:white;z-index:2;padding:16px 0;display:flex;align-items:center;justify-content:space-between}.account-page input,.account-page select{max-width:100%;box-sizing:border-box}.account-open #panel,.account-open .map-top{visibility:hidden}.account-logout{display:block;margin:32px 0 0;width:100%}.profile-portrait{width:96px;height:96px;border-radius:50%;background:#eef2e8;display:grid;place-items:center;margin:12px 0;overflow:hidden;color:#264b3c}.profile-portrait svg{width:54px;height:54px}.profile-portrait img{width:100%;height:100%;object-fit:cover}.map-style-buttons{display:flex;gap:4px;background:white;border-radius:12px;padding:4px;box-shadow:0 2px 10px #0002}.map-style-buttons button{width:42px;height:42px;border:0;border-radius:9px;display:grid;place-items:center;background:white;color:#294b3c;padding:8px}.map-style-buttons button[aria-pressed=true]{background:#244b3c;color:white}.map-style-buttons svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}@keyframes account-in{from{transform:translateY(-24px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:700px){.account-page{inset:64px 0 0;padding:0 18px 28px}.account-page .member-actions{display:grid;grid-template-columns:1fr 1fr}.account-page .profile-stats{gap:8px}.account-page .dialog-top{padding:12px 0}}@media(prefers-reduced-motion:reduce){.account-page{animation:none}}
/* Place contribution: location first, category second. */
#placeDialog{width:min(720px,100%);max-width:100%;box-sizing:border-box}
#proposalMap{height:clamp(240px,36dvh,360px);width:100%;border-radius:18px;overflow:hidden;background:#e7ebe4}
.proposal-marker{background:none;border:0}.proposal-marker>span{position:relative;width:52px;height:52px;display:grid;place-items:center;background:var(--pin-color);border:3px solid white;border-radius:50%;box-shadow:0 3px 12px #0005;color:white;box-sizing:border-box}.proposal-marker>span:after{content:'';position:absolute;top:46px;left:15px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:13px solid var(--pin-color)}.proposal-marker svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:1.7}.proposal-marker b{font-size:30px}
#proposalDetails{border:0;padding:0;margin:22px 0 0;min-width:0}#proposalDetails[hidden]{display:none}#proposalDetails legend{font-size:20px;font-weight:700;margin-bottom:12px}#confirmProposalPosition{width:100%;margin:0 0 12px}#proposalPosition{font-size:13px;color:#56675f}#placeDialog .dialog-top{position:sticky;top:-1px;background:white;z-index:1100}#placeDialog details{margin:12px 0}#placeDialog .coordinate-fields input{width:100%;box-sizing:border-box}
@media(max-width:700px){#placeDialog{height:100dvh;max-height:100dvh;width:100%;margin:0;border-radius:0;padding:18px;overflow:auto}#placeDialog h2{margin:12px 0}#placeDialog h3{font-size:18px}}
#communityCredits{border:1px solid #dce5d8;background:#f7f9f4;border-radius:18px;padding:18px;margin:20px 0}#communityCredits p{font-size:14px;line-height:1.55}.credit-badges{display:grid;grid-template-columns:1fr 1fr;gap:10px}.credit-badge{display:grid;gap:8px;padding:14px;border:1px solid #cad8c3;border-radius:14px;background:white;font-size:13px}.credit-badge svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.7}.credit-badge.locked{color:#6c746d;background:#eff1ed}.credit-badge.unlocked{color:#244b3c;border-color:#638b60}.credit-ranking{list-style:none;padding:0}.credit-ranking li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #dce5d8}#communityCredits details{margin-top:16px}#accountContent>.sync-card{margin-top:28px}
.avatar-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 8px;margin:16px 0}.avatar-choice{display:flex;flex-direction:column;align-items:center;gap:8px;border:0;background:none;color:var(--ink);padding:4px;cursor:pointer}.avatar-circle{width:68px;height:68px;display:grid;place-items:center;border:3px solid transparent;border-radius:50%;background:#eef2e8;overflow:hidden;box-sizing:border-box}.avatar-choice[aria-pressed=true] .avatar-circle{border-color:#c56b2d;box-shadow:0 0 0 3px #f8e6d4}.avatar-circle svg{width:40px;height:40px;stroke:currentColor;stroke-width:1.6;fill:none}.avatar-circle img{width:100%;height:100%;object-fit:cover}.avatar-choice small{font-size:12px;line-height:1.2;text-align:center}#photoCropCanvas{display:block;width:min(256px,100%);height:auto;border-radius:50%;touch-action:none;cursor:grab;margin:16px auto;background:#eee}#photoCrop input[type=range]{padding:0;accent-color:#c56b2d}.van-position-marker img{width:100%;height:100%;object-fit:cover;border-radius:50%}

.site-purpose{display:block;margin:12px 0 8px;line-height:1.5;font-size:12px;color:var(--muted)}

.travel-party{min-width:0;margin:16px 0;padding:12px;border:1px solid #d6dfd3;border-radius:16px}.travel-party legend{font-weight:650;padding:0 5px}.travel-party .hint{margin:4px 0 10px}.travel-party-options{display:flex;flex-wrap:wrap;gap:8px}.travel-party-options label{position:relative;display:block;margin:0;cursor:pointer}.travel-party-options input{position:absolute;width:1px;height:1px;opacity:0}.travel-party-options span{display:block;padding:10px 14px;min-height:44px;box-sizing:border-box;border:1px solid #c8d4c5;border-radius:24px;background:#f7f9f4;color:#204237}.travel-party-options input:checked+span{background:#204237;color:white;border-color:#204237}.travel-party-options input:focus-visible+span{outline:3px solid #dc803d;outline-offset:3px}.travel-party>.hint:last-child{margin:10px 0 0;font-size:12px}

#placeReactions button{margin:0 8px 8px 0;min-height:44px}#placeReactions button[aria-pressed="true"]{background:#204237;color:#fff;border-color:#204237}

#placeReport{margin:24px 0}#placeReport summary{cursor:pointer;padding:12px 0;font-weight:600}#placeReport form{padding:12px;border:1px solid #d6dfd3;border-radius:12px}#placeReport select,#placeReport textarea{width:100%;box-sizing:border-box}
