/* Shared visual language for the atlas, municipality pages and account dialogs. */
:root{--paper:#f5f7f5;--ink:#183c34;--muted:#667972;--green:#246a53;--line:#dce6df;--orange:#418065;--cream:#edf3ee;--surface:#fff;--lime:#c9eb9f;--shadow:0 8px 32px #153f3609;--radius:22px}
body{font-family:Inter,"Avenir Next",Avenir,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;color:var(--ink);background:var(--paper)}
button,input,select,textarea{font-family:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #5b9c7d;outline-offset:3px}button{transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease}h1,h2,h3{color:var(--ink)}h1,.place-grid h2,dialog h2,.workspace-heading h2{font-family:inherit;font-weight:650;letter-spacing:-1px}h1 em{font-style:normal;color:#4b8262}.eyebrow{font-size:10px;letter-spacing:1.7px;color:#668475}.small{font-size:11px!important;line-height:1.65}.muted{line-height:1.65}::selection{background:#d3edb5;color:#173e33}
.header,.map-view .header{height:80px;max-width:none;padding:0 32px;background:#fff;border-bottom:1px solid #e3eae4;gap:24px}.brand{display:grid;grid-template-columns:42px auto;grid-template-rows:auto auto;gap:2px 11px;align-items:center;position:relative;padding:0;text-decoration:none;flex-shrink:0}.brand-symbol{grid-row:1/3;width:42px;height:42px;display:block}.brand .brand-wordmark{font-size:24px!important;font-weight:750!important;line-height:1;letter-spacing:-1.1px}.brand-wordmark>span{font-weight:450}.brand small{position:static;grid-column:2;font-size:8px;letter-spacing:1.7px;color:#6a8074;white-space:nowrap}.header nav{gap:8px}.header nav>a,.header .nav-button{font-size:13px;font-weight:550;padding:11px 17px;border:0;border-radius:12px}.header nav>a:hover,.header .nav-button:hover{background:#f0f5ef}.map-view .header nav>a{background:#eef4eb;color:#315d42}.header #account{margin-left:10px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
.button{border-radius:12px;min-height:42px;padding:12px 18px;gap:12px;font-size:13px}.dark{background:#193f35;color:#fff;box-shadow:0 3px 9px #173d3510}.dark:hover{background:#2b5c49;box-shadow:0 5px 14px #173d3520}.outline{background:#fff;border-color:#dbe5dc;color:#315b48}.outline:hover{background:#f0f6eb;border-color:#9ebca6}.green{background:#267b5b}.button:disabled{box-shadow:none}
/* Keep the map as the full-screen canvas. */
body.map-view{background:#edf3ef}.map-view .workspace{height:calc(100dvh - 80px);min-height:480px}.map-view #map{background:radial-gradient(ellipse at 65% 40%,#f8fbf7 0,#edf4f0 60%,#e5eeea 100%)}.map-view .map-wrap{background:#edf3ef}.leaflet-container{font-family:inherit!important}.map-view .sidebar{left:20px;top:20px;bottom:20px;width:324px;padding:24px 20px;background:#ffffffed;border:1px solid #ffffff;border-radius:24px;box-shadow:0 12px 45px #193f3510;scrollbar-width:thin;scrollbar-color:#cfddd1 transparent}.map-view .intro{margin:0 0 22px}.map-view .intro .eyebrow{font-size:8px;letter-spacing:1.8px;margin-bottom:13px}.map-view .intro h1{font-size:36px;line-height:1.05;font-weight:680;letter-spacing:-1.5px}.map-view .intro h1 em{display:inline-block;color:#5f8965}.map-view .intro-copy{display:block;font-size:12px;line-height:1.6;margin:12px 0 0;color:#7a8b7e}.map-view .intro-copy br{display:none}
.search{height:46px;border:1px solid #dce6df;background:#f6f8f5;border-radius:13px;padding:0 13px;gap:9px;transition:border-color .18s,box-shadow .18s}.search:focus-within{border-color:#71a184;box-shadow:0 0 0 3px #71a18415}.search>svg{width:18px;height:18px;color:#638271;flex-shrink:0}.search input{padding:13px 0;font-size:12px;min-width:0;color:#244638}.search input::placeholder{color:#839087}#object-category{appearance:none;width:100%;height:44px;margin:0 0 10px;padding:0 36px 0 13px;border:1px solid #dce6df;border-radius:13px;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23597665' stroke-width='2'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;font-size:12px;color:#456552}.visited-filter{margin:15px 0 1px;font-size:11px;gap:8px}.visited-filter input{width:15px;height:15px}.list-heading{padding:23px 2px 10px;letter-spacing:1px;font-size:9px}.list-heading #result-count{padding:3px 7px;background:#eaf1e7;border-radius:6px;font-variant-numeric:tabular-nums;letter-spacing:0}.map-view .place-row{border:0;border-radius:13px;padding:12px 9px;margin:2px 0;gap:10px;transition:background .18s}.map-view .place-row:hover{background:#f0f5ec}.map-view .place-row strong{font-size:12px;font-weight:650;color:#284c3d;margin-bottom:4px}.place-row small{font-size:10px;color:#7a887e}.place-row small+small{font-size:9px;color:#839180;margin-top:3px}.map-view .row-icon{width:32px;height:36px;border-radius:11px;background:#edf3e8;color:#628358;font-size:18px}.map-view .row-arrow{font-size:16px;color:#64816c}.more{border-radius:12px;background:#f3f6f0;margin-top:10px;font-size:12px}.more:hover{background:#e8f0e2}
.object-leaders{border:0;border-radius:15px;background:#f1f5ed;padding:14px;gap:12px}.object-leader{gap:5px}.object-leader+.object-leader{padding-top:12px;border-top:1px solid #dde7d8}.object-leader>small{font-size:8px;letter-spacing:1px;color:#728569}.object-leader>button{font-size:12px;color:#385b40;line-height:1.5;font-weight:650}.object-leader>span{font-size:9px;color:#7d8b76}
.map-view .map-wrap>.progress-card{top:20px;right:24px;width:220px;padding:20px;background:#193f35;color:#fff;border:1px solid #254f40;border-radius:22px;box-shadow:0 10px 30px #193f3518;backdrop-filter:none}.map-view .progress-top .eyebrow{color:#c3d6c3;font-size:8px;letter-spacing:1.3px}.map-view .map-wrap>.progress-card .progress-value{margin:14px 0;color:#d7efb6;gap:7px}.map-view .map-wrap>.progress-card .progress-value strong{font-size:44px;font-weight:500;letter-spacing:-2px;font-variant-numeric:tabular-nums}.map-view .progress-value span{font-family:inherit;font-size:23px;color:#9ebe9e}.progress-track{height:5px;background:#416250;border-radius:10px}.progress-track>div{background:#c7e8a0}.map-view .progress-card p{font-size:11px;color:#e4ebde;margin-top:14px;line-height:1.5}.map-view .progress-card small{color:#a6bda8;font-size:9px}.map-legend{border-color:#416250;color:#b9cbb5;font-size:9px;margin-top:14px;padding-top:13px}.dot{background:#a6d978}.dot.unvisited{background:#9bb7aa}
.map-view .workspace-heading.trip-randomizer{top:auto;bottom:36px;left:364px;right:auto;width:258px;padding:19px;border-radius:20px;background:#fffef7f5;border:1px solid #e8eada;box-shadow:var(--shadow)}.map-view .trip-randomizer h2{font-size:14px;font-weight:650;letter-spacing:-.3px;color:#304b3b;margin-bottom:12px}.randomizer-button{border-radius:11px;background:#d6ecb9;color:#2c4b32;min-height:43px;font-size:12px}.randomizer-button:hover:not(:disabled){background:#c4e49f}.randomizer-icon{display:inline-flex;align-items:center;justify-content:center}.randomizer-icon svg{width:22px;height:22px}.randomizer-result{font-size:11px;color:#78816e;margin:12px 0 8px}.randomizer-status{font-size:10px;color:#718064}.randomizer-note{font-size:9px;color:#909682}.map-view .map-reset,.map-view .map-toggle{border-radius:12px;background:#fff;border:1px solid #e3eae1;color:#36573f;box-shadow:0 3px 14px #153f3609;font-size:11px}.map-view .map-note{left:364px;bottom:8px;max-width:calc(100% - 580px);font-size:8px;color:#82958a}.map-name{font-size:10px;color:#305c4a;font-weight:650;text-shadow:0 1px 3px #fff,1px 0 3px #fff,-1px 0 3px #fff}.map-view .leaflet-overlay-pane>svg{filter:drop-shadow(0 7px 12px #315d4b0d)}.map-view .leaflet-control-zoom{border-radius:12px}.map-view .leaflet-control-zoom a{color:#476b54}
/* Municipality pages use the same surfaces, with generous reading space. */
main{max-width:1440px;padding:0 48px}.back{margin:28px 0;font-size:12px;font-weight:550;color:#68816f}.back:hover{color:#246a53}.place-heading{padding:12px 0 30px;border-bottom:0;align-items:flex-start;gap:36px}.place-heading h1{font-size:clamp(32px,3.5vw,49px);font-weight:650;letter-spacing:-1.8px;line-height:1.12;max-width:800px}.place-heading .eyebrow{font-size:9px;color:#75917b}.place-heading .muted{font-size:14px;max-width:650px;margin-top:13px}.municipality-progress{min-width:230px;background:#e9f1e2;padding:20px 23px;border:1px solid #dce8d4;border-radius:20px;gap:7px}.municipality-progress strong{font-size:35px;font-weight:550;letter-spacing:-1.5px;color:#315d3c}.municipality-progress span{font-size:11px;color:#58734e}.municipality-progress progress{height:6px;appearance:none;border:0;border-radius:6px;overflow:hidden;margin:4px 0;background:#d4e1ce}.municipality-progress progress::-webkit-progress-bar{background:#d4e1ce}.municipality-progress progress::-webkit-progress-value{background:#4d8b59;border-radius:6px}.municipality-progress progress::-moz-progress-bar{background:#4d8b59}.municipality-progress small{font-size:10px;color:#79906e;max-width:220px}
.municipality-map-card{border:1px solid #dde7df;border-radius:24px;box-shadow:var(--shadow);background:#fff;margin:0 0 10px}.municipality-map-heading{padding:21px 25px;background:#fff}.municipality-map-heading h2{font-size:19px;font-weight:600;letter-spacing:-.5px}.municipality-map-heading p{font-size:11px;color:#7a8d7f;margin-top:7px}.municipality-map-heading .button{font-size:11px;min-height:37px;padding:9px 13px}.poi-pin{background:#254f43;box-shadow:0 3px 10px #153f3626;border-width:3px}.poi-pin.is-checked{background:#399167}.leaflet-popup-content-wrapper{border-radius:18px;box-shadow:0 10px 30px #183e3820}.leaflet-popup-content{font-family:inherit;line-height:1.6}.poi-popup strong{color:#284e3e}.map-background-note{background:#f8f3df;color:#887747;font-size:11px!important}
.place-grid{grid-template-columns:minmax(0,1fr) 355px;gap:44px;padding:35px 0 64px}.place-grid h2{font-size:25px;font-weight:620;letter-spacing:-.7px}.place-grid p{font-size:14px;line-height:1.9;color:#6a7b70}.place-grid article>h2:not(:first-child){margin-top:28px}.history-chip{border:0;background:#edf3e9;border-radius:10px;padding:11px 15px;font-size:11px;color:#72866c}.history-chip strong{color:#3c6144}.sources{font-size:10px;color:#8c9a8e}.checklist-card{background:#fff;border:1px solid #e0e8df;border-radius:24px;padding:26px;box-shadow:var(--shadow)}.checklist-card>.eyebrow{font-size:8px;line-height:1.5;letter-spacing:1.3px}.checklist-card h2{font-size:26px;margin-bottom:20px}.check-row{padding:19px 0 10px;border-top:1px solid #e8eee4;gap:12px}.check-row input{flex-shrink:0;width:18px;height:18px;margin-top:2px;accent-color:#377654}.check-row strong{font-size:13px;line-height:1.6;color:#31513b}.check-number{color:#93a184;font-size:11px;margin-right:3px}.check-row p{font-size:11px;line-height:1.7;color:#84907f}.check-row:has(input:checked) strong{color:#3c8961}.check-row:has(input:checked){background:linear-gradient(90deg,#f3f8ef,transparent);border-radius:8px}.object-category{font-size:10px;color:#759368;line-height:1.6}.check-actions{margin-left:30px;gap:4px 11px;padding-bottom:9px}.object-more{font-size:11px;color:#557945;text-decoration:none}.object-more:hover{text-decoration:underline}.check-actions .navigation-link{font-size:10px;gap:4px;color:#6b7e66}.check-actions .navigation-link svg{width:14px;height:14px}.checklist-card>.small{font-size:10px!important;margin-top:20px;color:#8a9881}
.object-details{background:#fff;border:1px solid #dde7df;border-radius:24px;padding:32px;margin:32px 0;box-shadow:var(--shadow)}.object-details h2{font-size:30px;line-height:1.2;margin:21px 0 13px}.object-detail-heading .eyebrow{font-size:9px;color:#7d9479}.object-detail-arrows{gap:7px}.object-detail-arrows button{border:1px solid #e0e8dc;border-radius:11px;background:#f5f8f1;color:#52764a;width:36px;height:36px}.object-details .object-detail-categories{font-size:11px;color:#7f9774;margin-bottom:23px}.object-details h3{font-size:17px;font-weight:650;letter-spacing:-.3px;margin-top:29px}.object-detail-section{padding-top:3px}.object-details>.small{font-size:10px!important;color:#8b9a86;line-height:1.7}.navigation-link{border-radius:11px;background:#f7f9f4;border-color:#e1e9db;font-size:12px;color:#4e6b42}.object-detail-footer{margin-top:24px}.object-detail-footer .button{font-size:12px}.object-rating{border-top:1px solid #e6ecdf;margin-top:28px;padding-top:8px}.rating-stars{gap:9px;margin:16px 0}.rating-star span{font-size:38px;color:#d0dcc8}.rating-star.is-selected span,.rating-star:hover span{color:#d5a846}.rating-summary strong{color:#987228}.rating-summary small{color:#8d9983}.rating-stars legend{font-size:11px;color:#839277}.object-rating .small{font-size:10px!important}.object-rating .rating-feedback{color:#488557;font-size:11px}.object-rating h3{margin-top:20px}
.settlements,.comments{border-top:1px solid #dfe7db;padding-top:30px;margin-top:35px}.settlement-row{background:#fff;border:1px solid #e5ebdf;border-radius:11px;padding:13px 16px;margin:8px 0;font-size:12px}.settlement-row small{font-size:10px;color:#829376}.comment{padding:19px;border:1px solid #e1e9dc;border-radius:15px;background:#fff;margin:12px 0}.comment-header strong{font-size:12px}.comment p{font-size:13px}.comment-delete{font-size:10px}.comments form{margin-top:23px}.comments textarea{min-height:120px;resize:vertical}.comments .button{font-size:12px}
/* Forms and dialogs. */
dialog{background:#fff;border:1px solid #e4eade;border-radius:26px;padding:36px;width:460px;box-shadow:0 30px 100px #102c3430;max-height:calc(100dvh - 40px);overflow:auto}dialog::backdrop{background:#173e3a55;backdrop-filter:blur(7px)}dialog .eyebrow{font-size:9px;color:#7d9475;margin-bottom:17px}dialog h2{font-size:32px;line-height:1.15;font-weight:650;letter-spacing:-1.3px}dialog .close{right:15px;top:15px;width:32px;height:32px;border-radius:50%;background:#f3f6ee;font-size:22px;line-height:1;color:#7c8e72}dialog .close:hover{background:#e6eddd}dialog p{font-size:12px;color:#78876e}dialog .small{font-size:10px!important}form label{font-size:11px;font-weight:550;color:#537044}form input,textarea{border-radius:11px;padding:13px;border-color:#dce5d5;background:#fbfcf9;font-size:14px;transition:border-color .18s,box-shadow .18s}form input:focus,textarea:focus{border-color:#86a86e;box-shadow:0 0 0 3px #bdd6a529;outline:2px solid #5b9c7d;outline-offset:2px}.social-button{border-radius:11px;font-size:12px;min-height:45px}.social-button.facebook{background:#2465c9;border-color:#2465c9}.auth-divider{font-size:10px;color:#8b987d}.auth-divider:before,.auth-divider:after{background:#e6ecdf}.form-error{color:#b04c39!important}#switch-auth{font-size:12px;color:#497638;font-weight:550}#toast{background:#1c4638;border:1px solid #42634b;border-radius:14px;box-shadow:0 10px 30px #1a382325;font-size:12px}footer{max-width:1440px;border-color:#e0e7da;padding:27px 48px;font-size:11px}.footer-brand{display:inline-flex;align-items:center;gap:9px;font-weight:650;letter-spacing:-.5px;font-size:16px}.footer-brand img{width:26px;height:26px;border-radius:8px}
@media(min-width:1600px){.map-view .sidebar{width:348px;padding:28px 24px}.map-view .workspace-heading.trip-randomizer{left:388px}.map-view .map-note{left:388px}.map-view .intro h1{font-size:40px}.map-name{font-size:11px}}
@media(min-width:721px) and (max-width:1050px){.header,.map-view .header{padding:0 22px}.header nav{gap:0}.header nav>a,.header .nav-button{padding:10px 12px}.map-view .sidebar{width:270px;padding:21px 17px}.map-view .intro h1{font-size:32px}.map-view .map-wrap>.progress-card{right:18px;width:198px;padding:17px}.map-view .workspace-heading.trip-randomizer{left:310px;bottom:34px;top:auto;width:230px;padding:16px}.map-view .map-note{left:310px;max-width:calc(100% - 520px)}.place-grid{grid-template-columns:minmax(0,1fr) 310px;gap:28px}.checklist-card{padding:20px}.object-details{padding:25px}.place-heading h1{font-size:37px}}
@media(max-width:720px){.header,.map-view .header{height:70px;padding:0 17px;gap:12px}.brand{grid-template-columns:34px auto;gap:2px 8px}.brand-symbol{width:34px;height:34px}.brand .brand-wordmark{font-size:21px!important;letter-spacing:-1px}.brand small{font-size:6px;letter-spacing:1.1px}.header #account{margin-left:0;max-width:124px;padding:10px 12px;min-height:36px;font-size:11px;border-radius:10px}.map-view .workspace{height:calc(100dvh - 70px);min-height:480px}.map-view .sidebar{left:12px;right:12px;top:14px;bottom:72px;width:auto;padding:22px;box-shadow:0 12px 50px #173f3525;border-radius:22px;z-index:800}.map-view .intro{display:none}.map-view .map-wrap>.progress-card{top:14px;right:12px;width:148px;padding:14px;border-radius:17px}.map-view .progress-top .eyebrow{font-size:7px;letter-spacing:.8px}.map-view .map-wrap>.progress-card .progress-value{margin:8px 0 10px}.map-view .map-wrap>.progress-card .progress-value strong{font-size:31px;letter-spacing:-1.2px}.map-view .progress-value span{font-size:17px}.map-view .progress-card p{font-size:9px;line-height:1.5;margin-top:10px}.map-view .map-legend{font-size:7px;letter-spacing:-.1px;margin-top:10px;padding-top:9px}.map-view .map-legend>span{gap:4px}.map-view .workspace-heading.trip-randomizer{top:14px;bottom:auto;left:12px;right:172px;width:auto;padding:14px;border-radius:17px}.map-view .trip-randomizer h2{font-size:12px;margin-bottom:9px;line-height:1.3}.randomizer-button{font-size:10px;min-height:36px;padding:8px 6px;gap:5px}.randomizer-icon svg{width:19px;height:19px}.randomizer-result{font-size:10px;line-height:1.5;margin:10px 0 7px}.randomizer-status{font-size:9px}.randomizer-note{font-size:8px}.map-view .map-toggle{left:12px;bottom:22px;padding:11px 12px;z-index:850;font-size:10px}.map-view .map-reset{bottom:22px;right:60px;padding:11px 12px;font-size:10px}.map-view .map-note{left:14px;bottom:62px;max-width:calc(100% - 28px);font-size:8px}.map-name{font-size:8px}.map-view .leaflet-bottom.leaflet-right{right:8px}.map-view .leaflet-control-zoom a{width:30px;height:30px;line-height:30px}main{padding:0 18px}.back{margin:24px 0}.place-heading{display:block;padding:6px 0 24px}.place-heading h1{font-size:34px;letter-spacing:-1.4px}.place-heading .eyebrow{font-size:8px}.place-heading .muted{font-size:12px}.municipality-progress{margin-top:20px;min-width:0;max-width:none;width:100%;padding:17px 20px;border-radius:17px}.municipality-progress strong{font-size:29px}.municipality-progress small{max-width:none}.municipality-map-card{border-radius:20px}.municipality-map-heading{padding:18px;gap:12px}.municipality-map-heading h2{font-size:17px;letter-spacing:-.4px}.municipality-map-heading p{font-size:10px;line-height:1.6}.municipality-map-heading .button{min-height:34px;font-size:10px}.place-grid{display:flex;gap:28px;padding-top:25px}.place-grid h2{font-size:23px}.checklist-card{padding:22px;border-radius:20px}.object-details{padding:23px 20px;border-radius:20px}.object-details h2{font-size:27px}.place-grid p{font-size:13px;line-height:1.85}.check-row p{font-size:11px}.object-detail-heading .eyebrow{font-size:8px;letter-spacing:1px}.object-detail-arrows button{width:33px;height:33px}.rating-star span{font-size:35px}dialog{padding:32px 24px;border-radius:22px}dialog h2{font-size:29px}footer{padding:24px 18px}.social-button{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Readable category labels across the catalog and municipality pages. */
.place-row small{font-size:12px;color:#52675b;line-height:1.5}
.object-category,.place-row small.object-category,.object-details .object-detail-categories{display:flex;flex-wrap:wrap;gap:5px 6px;margin-top:7px;font-size:12px;line-height:1.5;color:#31513b}
.category-tag{display:inline-block;max-width:100%;padding:3px 8px;border:1px solid #d5e3d4;border-radius:7px;background:#edf4e8;color:#31513b;font-size:12px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
#object-category{font-size:14px;color:#31513b}

/* Stronger contrast and comfortable text sizes for reading content. */
:root{--muted:#465c52}
.map-view .intro-copy{font-size:14px;line-height:1.65;color:#3f554b}
.object-leader>small{font-size:12px;line-height:1.5;letter-spacing:.5px;font-weight:600;color:#3f554b}
.object-leader>button{font-size:14px;color:#284c3d}
.object-leader>span{font-size:13px;line-height:1.6;color:#465c52}
.map-view .place-row strong{font-size:14px;line-height:1.5}
.place-row small{font-size:13px;line-height:1.6;color:#40564b}
.visited-filter,.list-heading{font-size:12px;color:#465c52}
.search input{font-size:14px}
.search input::placeholder{color:#52665b}
.place-grid article p{font-size:16px;line-height:1.8;color:#344b40;max-width:70ch}
.place-grid article .small,.object-details>.small,.object-rating .small{font-size:13px!important;line-height:1.7;color:#465c52}
.sources{font-size:13px;line-height:1.8;color:#40564b}
.sources a{color:#315a43;text-decoration-thickness:1px;text-underline-offset:3px}
.object-detail-heading .eyebrow{font-size:12px;line-height:1.5;letter-spacing:1px;color:#46624e}
.check-row p{font-size:13px;line-height:1.7;color:#465c52}
.checklist-card>.small{font-size:12px!important;color:#465c52}
.place-heading .muted{font-size:15px;color:#465c52}

/* Switch to a full-width atlas before the sidebar crowds the map. */
@media(max-width:1100px){
 .map-view .sidebar{display:none;left:12px;right:auto;top:14px;bottom:72px;width:min(420px,calc(100% - 24px));padding:22px;z-index:800}
 .map-view.places-open .sidebar{display:block}
 .map-view .map-toggle{display:block;position:absolute;top:auto;left:12px;bottom:22px;z-index:850;padding:11px 12px}
 .map-view .header nav>a,.map-view .header #my-trips{display:none}
 .map-view .map-note{left:14px;bottom:62px;max-width:calc(100% - 28px)}
 .place-row>span:not(.row-icon):not(.row-arrow){min-width:0;flex:1}
}
@media(min-width:721px) and (max-width:1100px){
 .map-view .map-wrap>.progress-card{top:20px;right:20px;width:220px;padding:20px}
 .map-view .workspace-heading.trip-randomizer{top:20px;bottom:auto;left:20px;right:258px;width:auto;padding:20px}
 .map-view .trip-randomizer h2{display:block;font-size:16px}
 .map-view .map-reset{bottom:22px;right:66px}
 .map-view .map-note{font-size:10px}
 .map-name{font-size:10px}
}

.planner-controls{display:grid;gap:10px;padding-top:12px}.planner-controls .visited-filter{margin:0}#report-form select{width:100%;padding:11px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font-size:14px}.planner-controls .small{margin:0;color:#465c52}.report-button{border:0;background:transparent;color:#315a43;font-size:13px;padding:7px 0;cursor:pointer}.object-detail-footer{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.object-distance{font-weight:600;color:#315a43!important}.travel-summary{border:1px solid var(--line);border-radius:15px;background:#f5f8f2;padding:17px;margin:20px 0}.travel-summary h3{font-size:16px;line-height:1.4}.summary-numbers{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:18px}.summary-numbers span{font-size:12px;color:#40564b;line-height:1.5}.summary-numbers strong{display:block;font-size:26px;color:#193f35}.summary-trip{display:block;width:100%;border:0;border-top:1px solid var(--line);background:none;color:#284c3d;padding:12px 0;text-align:left;font-size:13px}.summary-trip small{display:block;color:#465c52;margin-top:5px}

/* The search wrapper provides the focus indicator for its input. */
.search input:focus,.search input:focus-visible{outline:none;box-shadow:none}

#municipality-map .leaflet-control-zoom-out{border-bottom:1px solid #ccc;border-radius:0}
.municipality-map-reset{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:0;border-radius:0 0 3px 3px;background:#fff;color:#365b48;cursor:pointer}
.municipality-map-reset:hover{background:#f4f4f4}
.municipality-map-reset:focus-visible{outline:3px solid #418065;outline-offset:2px;position:relative;z-index:1}
.leaflet-touch .municipality-map-reset{width:30px;height:30px}

.about-page{max-width:1080px;margin:0 auto;padding-bottom:70px}.about-heading{max-width:780px;padding:22px 0 38px}.about-heading h1{font-size:clamp(34px,5vw,60px);line-height:1.08}.about-page p{font-size:16px;line-height:1.8;color:#344b40}.about-page h2{font-size:28px;letter-spacing:-.6px}.about-page h3{font-size:19px;line-height:1.4}.about-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0 40px}.about-features article,.photo-invitation,.contact-card,.submission-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px}.about-features p{font-size:15px}.photo-invitation{background:#edf5e6;margin:30px 0}.contact-card{margin:30px 0}.contact-card form{max-width:720px}.contact-card form label{font-size:14px;color:#344b40}.contact-card select{display:block;width:100%;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff;margin-top:7px;font:inherit;color:var(--ink)}.contact-card .small{font-size:13px!important}.permission-checkbox{display:flex;gap:12px;align-items:flex-start;line-height:1.6}.permission-checkbox input{width:18px;flex-shrink:0;margin:4px 0 0}.contact-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.submission-card{margin:24px 0}.submission-body{white-space:pre-wrap;overflow-wrap:anywhere}.submission-image{max-width:100%;max-height:450px;object-fit:contain;border-radius:14px}.review-actions{display:flex;flex-wrap:wrap;gap:10px}.photo-submit-link{font-size:13px;color:#315a43;line-height:1.6}#contact-feedback{overflow-wrap:anywhere}
@media(max-width:1100px){.map-view .header nav>a[data-about]{display:block}}
@media(max-width:720px){.about-features{grid-template-columns:1fr}.about-features article,.photo-invitation,.contact-card,.submission-card{padding:20px}.header nav>a[data-home],.header #my-trips{display:none}.header nav>a[data-about],.map-view .header nav>a[data-about]{display:block;padding:8px 7px;font-size:12px}.header,.map-view .header{gap:6px;padding:0 12px}.brand .brand-wordmark{font-size:19px!important}.brand small{font-size:5px}.about-page h2{font-size:25px}}

/* Municipality population: dated figures, separate from visit progress. */
.municipality-map-heading>div:first-child{min-width:0}
.municipality-population{display:grid;gap:3px;flex-shrink:0;text-align:right;padding-left:24px;border-left:1px solid #dce6df;font-variant-numeric:tabular-nums}
.municipality-population .population-label{font-size:12px;font-weight:600;color:#415d52}
.municipality-population strong{font-size:28px;line-height:1.15;letter-spacing:-.7px;color:#173f35}
.municipality-population small{font-size:12px;line-height:1.5;color:#52685e}
@media(max-width:720px){.municipality-map-heading{align-items:center}.municipality-population{padding-left:16px}.municipality-population strong{font-size:25px}}
@media(max-width:540px){.municipality-population{width:100%;text-align:left;padding:12px 0 0;border-left:0;border-top:1px solid #dce6df;grid-template-columns:1fr auto;align-items:center;column-gap:12px}.municipality-population strong{grid-column:2;grid-row:1 / 3}.municipality-population small{grid-column:1}}

/* Private travel dashboard */
.travel-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:16px 0 28px}.travel-heading h1{font-size:clamp(32px,4vw,52px);margin:8px 0;color:#173f35}.travel-heading p{color:#415d52}.travel-nav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.travel-nav a{background:#fff;border:1px solid #cfddd3;padding:12px 16px;border-radius:12px;color:#244e40;font-weight:600;text-decoration:none}.travel-panel{background:#fff;border:1px solid #dce6df;border-radius:24px;padding:clamp(20px,3vw,36px);margin:24px 0;scroll-margin-top:24px}.travel-panel h2{font-size:26px;margin:0 0 18px;color:#173f35}.travel-panel h3{font-size:18px;color:#244e40}.travel-panel p,.travel-panel label{color:#41564d;line-height:1.7}.travel-panel .small{font-size:13px;color:#52665b}.travel-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.travel-section-heading label{display:flex;align-items:center;gap:10px}.travel-panel input,.travel-panel select,.travel-panel textarea{box-sizing:border-box;max-width:100%;font:inherit;color:#244e40;background:#fff;border:1px solid #bccfc2;border-radius:10px;padding:11px 12px}.travel-panel textarea{width:100%;resize:vertical}.travel-panel label{display:grid;gap:7px;font-weight:600}.travel-numbers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:24px 0}.travel-numbers>div{display:grid;gap:10px;padding:20px;background:#eef4ec;border-radius:16px}.travel-numbers strong{font-size:36px;color:#173f35}.travel-numbers span{color:#415d52;font-size:14px}.travel-columns{display:grid;grid-template-columns:1fr 1fr;gap:32px}.travel-ranking{list-style:none;padding:0}.travel-ranking li{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #e4ebe5;color:#415d52}.travel-panel a{color:#285f4d;text-underline-offset:3px}.travel-form{display:flex;gap:16px;align-items:end;flex-wrap:wrap}.travel-form input{width:160px}.travel-goal-progress{display:grid;grid-template-columns:1fr 1fr;gap:24px}.travel-goal-progress progress{display:block;width:100%;height:12px;accent-color:#3c875c;margin-bottom:8px}.travel-goal-progress span{color:#415d52}.travel-badges{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}.travel-badge{border:1px solid #d9e3dc;border-radius:16px;padding:20px;background:#f7f9f6}.travel-badge.is-earned{background:#edf6dd;border-color:#88b06f}.travel-badge .badge-symbol{font-size:30px;color:#4e723d}.travel-badge p{font-size:14px}.travel-badge small{font-weight:600;color:#365545}.travel-plan{border-top:1px solid #dce6df;padding:24px 0}.travel-plan ol{padding-left:24px}.travel-plan li{margin:16px 0;padding-left:6px}.travel-plan li small{display:block;color:#52685e;margin:5px 0}.travel-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.travel-plan-editor{background:#f1f6ef;padding:24px;border-radius:16px;display:grid;gap:16px;margin:16px 0}.travel-plan-editor select{width:100%}.travel-plan-editor li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0}.travel-plan-editor .travel-actions button{border:1px solid #aac2b0;background:#fff;border-radius:8px;min-width:36px;min-height:36px;color:#214939;font-size:20px}.travel-plan-editor button:disabled{opacity:.4}.travel-diary-entry{border-top:1px solid #dce6df;padding:18px 0;scroll-margin-top:24px}.travel-diary-entry summary{cursor:pointer;font-weight:600;color:#214939}.travel-diary-entry small{display:block;font-weight:400;line-height:1.6;color:#52685e;margin-top:5px}.travel-diary-form{display:grid;gap:16px;margin-top:20px}.travel-diary-form .button{justify-self:start}.travel-feedback{color:#285f4d;font-weight:600}.travel-empty{padding:16px 0}.travel-panel button{cursor:pointer}.travel-panel button:disabled{cursor:default;opacity:.6}
@media(max-width:720px){.travel-heading{align-items:flex-start;flex-direction:column}.travel-numbers{grid-template-columns:1fr 1fr}.travel-columns,.travel-goal-progress{grid-template-columns:1fr}.travel-panel{border-radius:18px}.travel-nav a{padding:10px 12px;font-size:13px}.travel-form{display:grid;grid-template-columns:1fr}.travel-form input{width:100%}.travel-plan-editor{padding:16px}.travel-plan-editor li{flex-wrap:wrap}.travel-numbers>div{padding:16px}.travel-numbers strong{font-size:30px}}

/* Unique achievement emblems: neutral until the target is reached. */
.travel-badge .badge-symbol{display:grid;place-items:center;width:68px;height:68px;margin-bottom:18px;border-radius:20px;background:#e9eeeb;color:#77877f}
.travel-badge .badge-symbol svg{display:block;width:52px;height:52px}
.travel-badge .badge-fill{fill:#f5f7f5}
.travel-badge .badge-accent{stroke:#77877f}
.travel-badge.is-earned{--badge-color:#267653;--badge-soft:#dcefdc;--badge-highlight:#b87b15}
.travel-badge.badge-ten.is-earned{--badge-color:#9c6516;--badge-soft:#faedcc;--badge-highlight:#b87715}
.travel-badge.badge-explorer.is-earned{--badge-color:#2f6790;--badge-soft:#deedf7;--badge-highlight:#c0603e}
.travel-badge.badge-regions.is-earned{--badge-color:#65539a;--badge-soft:#eee5fa;--badge-highlight:#8b64ae}
.travel-badge.badge-tower.is-earned{--badge-color:#8b6339;--badge-soft:#f4e8d4;--badge-highlight:#b56e26}
.travel-badge.badge-museum.is-earned{--badge-color:#a35343;--badge-soft:#f8e5db;--badge-highlight:#bc8436}
.travel-badge.is-earned .badge-symbol{color:var(--badge-color);background:var(--badge-soft)}
.travel-badge.is-earned .badge-fill{fill:var(--badge-soft)}
.travel-badge.is-earned .badge-accent{stroke:var(--badge-highlight)}

/* Goals: settings on the left, achieved progress on the right. */
.travel-goals-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:36px;margin-top:26px;align-items:start}
.travel-goals-settings>h3,.travel-goals-results>h3{margin:0 0 20px}
.travel-goals-settings .travel-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:end}
.travel-goals-settings .travel-form input{width:100%;min-width:0}
.travel-goals-settings .travel-form>button{grid-column:1 / -1;width:auto;justify-self:start;margin:0}
.travel-goals-results{padding-left:36px;border-left:1px solid #dce6df}
.travel-goals-results .travel-goal-progress{grid-template-columns:1fr;gap:18px}
.travel-goal-stat{background:#f0f5ed;border:1px solid #dce6df;border-radius:16px;padding:20px}
.travel-goal-stat h4{margin:0 0 12px;font-size:16px;color:#254e40}
.travel-goal-count{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}
.travel-goal-count strong{font-size:36px;line-height:1.2;color:#173f35;font-variant-numeric:tabular-nums}
.travel-goal-count span{font-size:15px;color:#415d52}
.travel-goal-stat progress{height:12px;overflow:hidden;border:0;border-radius:8px;background:#dce6df;appearance:none}
.travel-goal-stat progress::-webkit-progress-bar{background:#dce6df;border-radius:8px}
.travel-goal-stat progress::-webkit-progress-value{background:#3c875c;border-radius:8px}
.travel-goal-stat progress::-moz-progress-bar{background:#3c875c;border-radius:8px}
.travel-goal-stat>span{font-size:13px}
@media(max-width:780px){.travel-goals-layout{grid-template-columns:1fr;gap:26px}.travel-goals-results{padding:26px 0 0;border-left:0;border-top:1px solid #dce6df}.travel-goals-results .travel-goal-progress{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.travel-goals-settings .travel-form,.travel-goals-results .travel-goal-progress{grid-template-columns:1fr}.travel-goal-stat{padding:18px}}

/* Search suggestions in the trip editor. */
.plan-search-box{min-width:0}.plan-search-box input{width:100%}
.plan-suggestions{background:#fff;border:1px solid #c7d8cc;border-radius:14px;margin-top:8px;max-height:360px;overflow-y:auto;box-shadow:0 8px 24px #173f3510}
.travel-plan-editor .plan-suggestion{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px;margin:0;padding:13px 16px;border:0;border-bottom:1px solid #e4ece6;border-radius:0;background:#fff;text-align:left;color:#244e40;font:inherit;cursor:pointer}
.travel-plan-editor .plan-suggestion:last-child{border-bottom:0}
.travel-plan-editor .plan-suggestion:hover,.travel-plan-editor .plan-suggestion:focus-visible{background:#edf5e7;outline:2px solid #6a9675;outline-offset:-2px}
.plan-suggestion strong{display:block;font-size:15px;line-height:1.5}.plan-suggestion small{display:block;color:#536b5e;font-size:13px;line-height:1.5;margin-top:3px}.suggestion-plus{flex-shrink:0;font-size:24px;color:#3e7654}.plan-search-box .small{margin:10px 0 0}

.delete-plan-dialog{width:440px;max-width:calc(100vw - 32px);box-sizing:border-box;padding:32px;border-radius:24px}
.delete-plan-icon{display:grid;place-items:center;width:58px;height:58px;background:#fae9e5;color:#a43e32;border-radius:18px;margin-bottom:22px}
.delete-plan-icon svg{width:28px;height:28px}
.delete-plan-dialog h2{font-size:27px;letter-spacing:-.7px;color:#173f35;margin:0 0 16px;padding-right:12px}
.delete-plan-dialog p{font-size:15px;line-height:1.7;color:#4e6258;margin:0}
.delete-plan-dialog p strong{color:#284e40;overflow-wrap:anywhere}
.delete-plan-actions{display:flex;gap:12px;margin-top:26px}
.delete-plan-actions .button{flex:1;min-width:0;font-size:14px}
.delete-plan-actions .delete-plan-confirm{background:#a43e32;border:1px solid #a43e32;color:#fff}
.delete-plan-actions .delete-plan-confirm:hover{background:#8b3027;border-color:#8b3027}
@media(max-width:480px){.delete-plan-dialog{padding:26px 22px}.delete-plan-dialog h2{font-size:24px}.delete-plan-actions{flex-direction:column}}


/* Compact catalog with search controls that stay within the scrolling panel. */
.map-view .sidebar{--sidebar-gutter:20px;padding:22px var(--sidebar-gutter);scroll-padding-top:205px}
.map-view .sidebar .intro{display:block;margin:0 0 14px}
.map-view .sidebar .intro>div:first-child{display:block}
.map-view .sidebar .intro .eyebrow{font-size:9px;letter-spacing:1.2px;margin-bottom:8px}
.map-view .sidebar .intro h1{font-size:28px;letter-spacing:-.9px;line-height:1.15}
.intro-title-wide{display:none}
.map-view .sidebar .intro-copy{display:block;margin:8px 0 0;font-size:13px;line-height:1.5;color:#40564b}
.sidebar-search-tools{position:sticky;top:0;z-index:2;display:grid;gap:9px;margin:0 calc(-1 * var(--sidebar-gutter));padding:10px var(--sidebar-gutter) 14px;background:#fff;border-bottom:1px solid #e4ebe5}
.sidebar-search-tools .search{margin:0;padding:0 12px;border-radius:12px;background:#f5f8f5;min-height:46px}
.sidebar-search-tools .search svg{width:20px;height:20px;flex-shrink:0;color:#527663}
.sidebar-search-tools .search input{min-width:0;padding:13px 0;font-size:14px;color:#244e40}
.sidebar-search-tools #object-category{width:100%;min-width:0;margin:0;min-height:44px;padding:10px 12px;border:1px solid #d3dfd7;border-radius:12px;background:#fff;color:#31513b;font-size:14px}
.sidebar-filter-row{display:flex;gap:8px;align-items:stretch}
.sidebar-filter-row .visited-filter,.sidebar-filter-row .nearby-filter{position:relative;display:flex;flex:1;justify-content:center;align-items:center;gap:7px;min-width:0;min-height:42px;margin:0;padding:9px 8px;border:1px solid #d8e3da;border-radius:11px;background:#fff;color:#365947;font-size:12px;font-weight:600;line-height:1.3;cursor:pointer}
.sidebar-filter-row .visited-filter input{position:absolute;width:1px;height:1px;opacity:0;margin:0}
.sidebar-filter-row .visited-filter:has(input:focus-visible){outline:3px solid #5b9c7d;outline-offset:3px}
.filter-check{color:#8b9c91}
.sidebar-filter-row .visited-filter:has(input:checked),.sidebar-filter-row .nearby-filter[aria-pressed="true"]{background:#e7f2df;border-color:#98b589;color:#254e37}
.sidebar-filter-row .visited-filter:has(input:checked) .filter-check{color:#267653}
.sidebar-filter-row .nearby-filter:disabled{opacity:.6;cursor:wait}
.sidebar-search-tools #nearby-note{font-size:11px!important;line-height:1.5;margin:0;color:#40564b}
#global-object-leaders{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin:14px 0 0;padding:0;background:none;border:0;border-radius:0}
#global-object-leaders .object-leader{min-width:0;margin:0;padding:12px;border:1px solid #e0e8dd;border-radius:13px;background:#f3f7ee}
#global-object-leaders .object-leader+ .object-leader{border-top:1px solid #e0e8dd}
#global-object-leaders .object-leader>small{display:block;font-size:12px;line-height:1.5;letter-spacing:0;color:#415b4b}
#global-object-leaders .object-leader>button{display:block;width:100%;font-size:13px;line-height:1.5;margin:6px 0;padding:0;color:#244c3b;text-align:left;overflow-wrap:anywhere}
#global-object-leaders .object-leader>span{display:block;font-size:12px;line-height:1.5;color:#415b4b;overflow-wrap:anywhere}
.map-view .sidebar .list-heading{padding:18px 0 8px;font-size:11px;letter-spacing:.7px;align-items:center}
.map-view .sidebar .place-row{padding:14px 0;gap:11px;border-bottom:1px solid #e7ede7;align-items:center;border-radius:0}
.map-view .sidebar .place-row:hover{background:#f5f8f2}
.map-view .sidebar .place-row .row-icon{width:38px;height:38px;border-radius:12px;background:#eef3ea;color:#517653;flex-shrink:0}
.row-icon svg{display:block;width:23px;height:23px}
.map-view .sidebar .place-row.is-visited .row-icon{background:#e2f1d8;color:#287349}
.map-view .sidebar .row-copy{min-width:0;flex:1}
.map-view .sidebar .place-row strong{font-size:14px;line-height:1.4;margin-bottom:4px;overflow-wrap:anywhere}
.map-view .sidebar .place-row small{font-size:12px;line-height:1.5;color:#40564b}
.map-view .sidebar .place-row .object-category{margin-top:5px;gap:4px}
.map-view .sidebar .category-tag{font-size:12px;line-height:1.4;padding:2px 6px;border-radius:5px;background:#f0f5eb;border-color:#dae5d4;color:#36553c}
.map-view .sidebar .row-arrow{font-size:16px;margin-left:0;flex-shrink:0}
.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}
@media(min-width:1600px){.map-view .sidebar{--sidebar-gutter:24px}.intro-title-wide{display:inline}.intro-title-compact{display:none}.map-view .sidebar .intro h1{font-size:32px}}
@media(max-width:720px){.map-view .sidebar .intro .eyebrow{display:none}.map-view .sidebar .intro h1{font-size:24px}.map-view .sidebar .intro-copy{margin-top:5px;font-size:12px}.sidebar-search-tools{gap:8px}.map-view .sidebar .place-row{padding:13px 0}}

/* Personal travel dashboard: annual activity, milestones and private memories. */
.travel-panel .panel-intro{margin:0 0 20px;font-size:14px}
.travel-section-heading h2{margin-bottom:8px}
.travel-numbers>div{position:relative;gap:7px;border:1px solid #e0e8df}
.travel-numbers>div.stat-year{background:#f3f6fa;border-color:#e0e6ed}
.travel-numbers small{font-size:11px;font-weight:700;letter-spacing:.6px;color:#52665b;padding-right:30px}
.stat-icon{display:grid;place-items:center;color:#49715d}
.stat-icon svg{display:block;width:25px;height:25px}
.travel-numbers .stat-icon{position:absolute;top:17px;right:16px}
.travel-numbers strong{line-height:1.2;font-variant-numeric:tabular-nums;margin-top:8px}
.travel-numbers>div>span:last-child{line-height:1.5}
.travel-activity{margin:28px 0;min-width:0}.travel-activity h3{margin:0;font-size:17px}
.activity-chart{display:grid;grid-template-columns:repeat(12,minmax(32px,1fr));gap:8px;overflow-x:auto;padding:18px 3px 6px;margin-top:12px}
.travel-panel .activity-month{display:flex;flex-direction:column;align-items:center;gap:8px;margin:0;padding:8px 4px;border:1px solid transparent;border-radius:9px;background:transparent;color:#496151;font:inherit;min-width:32px;box-sizing:border-box}
.activity-month:hover,.travel-panel .activity-month.is-selected{background:#eef5e8;border-color:#acc799}
.activity-month:focus-visible,.plan-actions-menu summary:focus-visible,.travel-diary-entry summary:focus-visible{outline:2px solid #398262;outline-offset:3px}
.activity-count{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.activity-label{font-size:12px}
.activity-track{display:flex;align-items:end;width:100%;max-width:38px;height:105px;border-bottom:1px solid #d7e2d8}
.activity-bar{display:block;width:100%;background:#76a374;border-radius:5px 5px 0 0}.activity-bar.is-empty{background:#dce5de}.is-selected .activity-bar:not(.is-empty){background:#245f47}
.travel-panel .activity-hint{margin:10px 0;font-size:12px}
.month-discoveries{background:#f7f9f6;border:1px solid #e0e8df;border-radius:13px;padding:16px;margin-top:14px}
#month-discoveries h4{margin:0 0 12px;font-size:15px;color:#244e40}
#month-discoveries ul{list-style:none;margin:0;padding:0}#month-discoveries li{padding:10px 0;border-bottom:1px solid #e4ebe5}#month-discoveries li:last-child{border-bottom:0}#month-discoveries a{font-weight:600;font-size:14px}#month-discoveries small{display:block;color:#52665b;font-size:12px;margin-top:4px}
.travel-columns h3 small{display:block;font-size:12px;font-weight:400;margin-top:6px;color:#52665b}
.travel-explanation{border-top:1px solid #e5ece6;margin-top:22px;padding-top:14px}.travel-explanation summary{cursor:pointer;color:#486052;font-size:13px;font-weight:600}.travel-explanation p{font-size:13px;margin:12px 0 0;max-width:80ch}
.travel-badges{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.travel-badge{display:flex;flex-direction:column;min-width:0;padding:18px;background:#f8faf7}.travel-badge.is-next{border-color:#90af7c;background:#f1f7ea}
.badge-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-height:58px;margin-bottom:14px}
.travel-badge .badge-symbol{width:48px;height:48px;border-radius:14px;margin:0;flex-shrink:0}.travel-badge .badge-symbol svg{width:38px;height:38px}
.badge-status{font-size:10px;font-weight:600;line-height:1.5;color:#42653c;max-width:70px;text-align:right;padding-top:3px}
.travel-badge h3{font-size:16px;margin:0 0 8px;line-height:1.4;overflow-wrap:anywhere}.travel-badge p{font-size:13px;margin:0 0 18px;line-height:1.5;flex:1}
.travel-badge progress{display:block;width:100%;height:5px;border:0;border-radius:4px;overflow:hidden;background:#dfe7de;appearance:none;margin:0 0 10px}
.travel-badge progress::-webkit-progress-bar{background:#dfe7de}.travel-badge progress::-webkit-progress-value{background:#79a263}.travel-badge progress::-moz-progress-bar{background:#79a263}.travel-badge.is-earned progress::-webkit-progress-value{background:var(--badge-color)}.travel-badge.is-earned progress::-moz-progress-bar{background:var(--badge-color)}
.travel-badge small{display:flex;justify-content:space-between;gap:8px;font-size:11px;font-weight:500;line-height:1.5}.travel-badge small span{white-space:nowrap;font-variant-numeric:tabular-nums}
.goal-statement{font-size:17px;margin:0 0 22px;max-width:32ch}.goal-statement strong{color:#214b39}
.travel-goals-settings .text-button{border:0;background:transparent;color:#426352;font:inherit;font-size:14px;padding:8px 0}
.travel-goal-stat progress{margin-bottom:0}
.travel-plan-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:12px;align-items:start}
.travel-plan-list .travel-plan{padding:20px;border:1px solid #dce6df;border-radius:16px;background:#fafcf8;min-width:0}
.plan-card-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:15px}
.plan-card-icon{display:grid;place-items:center;width:44px;height:44px;background:#edf3e7;border-radius:13px}
.travel-plan h3{margin:0 0 8px;overflow-wrap:anywhere}.travel-plan .plan-meta{font-size:12px;margin:0 0 12px;color:#52665b}.travel-plan .plan-preview{font-size:13px;margin:0 0 18px;overflow-wrap:anywhere;line-height:1.6}
.travel-plan>[data-open-plan]{font-size:13px;padding:10px 14px}
.plan-actions-menu{position:relative}.plan-actions-menu summary{list-style:none;cursor:pointer;padding:6px 10px;border:1px solid #dce6df;border-radius:9px;font-size:16px;letter-spacing:2px;color:#426352;background:#fff}.plan-actions-menu summary::-webkit-details-marker{display:none}
.plan-actions-menu>div{position:absolute;right:0;top:calc(100% + 6px);width:170px;padding:5px;background:#fff;border:1px solid #dce6df;border-radius:11px;box-shadow:0 8px 24px #173f3515;z-index:3}
.plan-actions-menu button{display:block;width:100%;border:0;border-radius:6px;background:#fff;color:#315742;text-align:left;padding:11px;font:inherit;font-size:13px}.plan-actions-menu button:hover{background:#f1f6ec}.plan-actions-menu [data-delete-plan]{color:#9e4035}
.plan-route{margin-top:20px;padding-top:10px;border-top:1px solid #dce6df}.plan-route[hidden]{display:none}.plan-route li{font-size:14px;line-height:1.5;overflow-wrap:anywhere}.plan-route li small{font-size:12px}.plan-route .object-navigation{margin-top:8px}
.plan-empty{grid-column:1 / -1;padding:8px 0}.plan-empty p{font-size:14px;margin:0 0 16px}
.diary-month{margin-top:26px}.diary-month>h3{font-size:15px;margin:0 0 15px}.diary-timeline{border-left:2px solid #e0e8df;margin-left:22px;padding-left:22px}
.diary-timeline .travel-diary-entry{position:relative;border-top:0;border-bottom:1px solid #e5ece6;padding:15px 0}.diary-timeline .travel-diary-entry:last-child{border-bottom:0}
.travel-diary-entry summary{display:flex;gap:15px;align-items:flex-start;list-style:none}.travel-diary-entry summary::-webkit-details-marker{display:none}
.diary-day{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:11px;background:#edf3e9;border:1px solid #dce6d5;color:#3c6049;font-size:16px;font-variant-numeric:tabular-nums;margin-left:-44px}
.diary-entry-copy{min-width:0;flex:1}.diary-entry-title{font-size:15px;line-height:1.5;overflow-wrap:anywhere}.travel-diary-entry small{font-size:12px;margin-top:3px}.diary-note-status{font-weight:600;color:#70664c}.diary-preview{display:block;font-weight:400;font-size:13px;color:#4e6256;line-height:1.6;margin-top:7px;overflow-wrap:anywhere}
.diary-expand{flex-shrink:0;color:#527663;font-size:20px;line-height:1.2}.travel-diary-entry[open] .diary-expand{transform:rotate(180deg)}.travel-diary-entry[open] .diary-preview{display:none}
.diary-timeline .travel-diary-form{padding:18px;border-radius:12px;background:#f5f8f2;margin-top:18px}.travel-diary-form .small:empty{display:none}
@media(max-width:900px){.travel-badges{grid-template-columns:repeat(2,minmax(0,1fr))}.travel-plan-list{grid-template-columns:1fr}}
@media(max-width:600px){.travel-numbers{gap:10px}.travel-numbers>div{padding:14px}.travel-numbers .stat-icon{top:13px;right:10px}.stat-icon svg{width:21px;height:21px}.travel-numbers small{font-size:10px}.travel-numbers>div>span:last-child{font-size:12px}.travel-badges{gap:10px}.travel-badge{padding:14px}.badge-card-heading{flex-wrap:wrap;min-height:76px}.badge-status{text-align:left;max-width:none}.travel-badge h3{font-size:14px}.travel-badge p{font-size:12px}.travel-badge small{flex-wrap:wrap}.travel-activity .travel-section-heading{gap:8px}.activity-chart{gap:4px}.travel-plan-list .travel-plan{padding:17px}.diary-timeline{padding-left:15px}.diary-day{margin-left:-37px}.diary-timeline .travel-diary-form{padding:14px}}
#month-discoveries p{margin:0;padding:10px 0;border-bottom:1px solid #e4ebe5}#month-discoveries p:last-child{border-bottom:0}

/* Atlas cards and controls share a compact visual rhythm. */
.map-view .header nav>a{background:transparent;color:#315d42}
.header nav>a[aria-current="page"],.header .nav-button[aria-current="page"]{background:#e8f1e5;color:#244e38}
.header nav>a:hover:not([aria-current="page"]),.header .nav-button:hover:not([aria-current="page"]){background:#f5f7f3}
.map-view .map-wrap>.progress-card,.map-view .workspace-heading.trip-randomizer{border-radius:20px;padding:20px;box-shadow:0 8px 28px #193f3512}
.map-view .progress-card .map-progress-counts p{margin:6px 0;font-size:12px;line-height:1.5;color:#e5eddf}
.map-progress-counts{margin:14px 0 10px}.map-progress-counts strong{font-size:15px;color:#edf6df;font-variant-numeric:tabular-nums}
.map-view .map-legend{display:flex;flex-wrap:wrap;gap:9px 12px;border-top:1px solid #416250;font-size:10px;color:#d0ddcf}
.map-view .map-legend>span{display:flex;align-items:center;gap:6px;white-space:nowrap}.map-legend .dot{margin:0;width:8px;height:8px;flex-shrink:0}.map-legend .dot.unvisited{background:#c9dcd8}.map-legend .dot.started{background:#d8dfad}.map-legend .dot.completed{background:#39a980}
.map-view .randomizer-status{font-size:11px;margin:12px 0 0;color:#506449;line-height:1.5}.map-view .randomizer-result{margin:0 0 10px}
.randomizer-result a{display:block;text-decoration:none}.randomizer-result a strong{display:block;color:#254f3c;font-size:17px;font-weight:650;line-height:1.4;overflow-wrap:anywhere}.randomizer-result a span{display:block;margin-top:10px;font-size:12px;font-weight:600;color:#426b4a;text-decoration:underline;text-underline-offset:4px}
.map-home-control{display:grid;place-items:center;width:36px;height:36px;padding:0;margin:0;border:0;border-top:1px solid #dce6df;background:#fff;color:#476b54;cursor:pointer;border-radius:0 0 12px 12px}
.map-home-control svg{display:block;width:20px;height:20px;pointer-events:none}.map-home-control:hover{background:#f2f7ee}.map-home-control:focus-visible{outline:2px solid #398262;outline-offset:-3px}
.map-view .leaflet-control-zoom{overflow:visible}.map-view .leaflet-control-zoom a.leaflet-control-zoom-out{border-radius:0;border-bottom:0}.map-view .leaflet-control-zoom a.leaflet-control-zoom-in{border-radius:12px 12px 0 0}
@media(max-width:720px){.map-view .map-wrap>.progress-card,.map-view .workspace-heading.trip-randomizer{padding:14px;border-radius:17px}.map-view .progress-card .map-progress-counts p{font-size:10px}.map-progress-counts strong{font-size:12px}.map-progress-counts{margin:10px 0 8px}.map-view .map-legend{font-size:8px;gap:6px 8px}.map-view .randomizer-status{font-size:10px}.randomizer-result a strong{font-size:13px}.randomizer-result a span{font-size:10px}.map-home-control{width:30px;height:30px}.map-home-control svg{width:17px;height:17px}}

/* About: six clear capabilities, private contributions and concise help. */
.about-heading{max-width:820px;padding-bottom:30px}.about-heading>p:not(.eyebrow){max-width:62ch}.about-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.about-page .about-features{gap:16px;margin:22px 0 32px}.about-features article{padding:24px;position:relative}.about-features h3{margin:15px 0 10px;font-size:19px}.about-features p{margin:0;line-height:1.75;color:#40564a}
.about-feature-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#edf4e7;color:#4b7555}.about-feature-icon svg{display:block;width:25px;height:25px}
.about-purpose{padding:12px 0 6px;max-width:76ch}.about-purpose h2{margin-bottom:12px}.about-purpose p{margin:0;font-size:15px}
.photo-invitation .eyebrow{font-size:11px;letter-spacing:1px}.photo-invitation h2{margin:14px 0}.photo-invitation>p{margin:10px 0}.photo-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;list-style:none;padding:0;margin:24px 0}.photo-steps li{display:flex;align-items:center;gap:10px;min-width:0}.photo-steps li>span{display:grid;place-items:center;background:#dcebcf;width:32px;height:32px;flex-shrink:0;border-radius:50%;font-weight:650;color:#3b6442}.photo-steps strong{font-size:14px;line-height:1.5}.about-page .photo-guidance{font-size:13px;line-height:1.7;max-width:75ch}.photo-invitation>.button{margin-top:12px}
#kontaktai{scroll-margin-top:24px}.contact-card>p{max-width:70ch;font-size:15px}.contact-card form{max-width:none;display:grid;gap:18px;margin-top:24px}.contact-card form>label{margin:0}.contact-card form input:not([type=radio]):not([type=checkbox]):not([type=file]),.contact-card form textarea{width:100%;min-width:0}.contact-card form textarea{font-size:15px;line-height:1.6}.contact-card form>button[type=submit]{width:auto;justify-self:start;min-width:190px}.contact-card form>.small{margin:0}.contact-card #contact-feedback:empty{display:none}.contact-card #contact-feedback{margin:0;font-size:14px}
.contact-modes{display:flex;flex-wrap:wrap;gap:10px;border:0;padding:0;margin:0 0 2px;min-width:0}.contact-modes legend{font-size:14px;color:#344b40;font-weight:600;margin-bottom:12px}.contact-card .contact-modes label{position:relative;display:block;cursor:pointer;font-size:13px}.contact-modes input{position:absolute;width:1px;height:1px;opacity:0;margin:0}.contact-modes span{display:block;padding:12px 16px;border:1px solid #d7e2d9;border-radius:11px;background:#fff;color:#42604c;font-weight:600;line-height:1.5}.contact-modes input:checked+span{border-color:#86aa73;background:#edf5e5;color:#284f33}.contact-modes input:focus-visible+span{outline:2px solid #398262;outline-offset:3px}
#photo-fields{display:grid;gap:18px;background:#f5f8f1;border:1px solid #e1e9da;padding:20px;border-radius:14px}.contact-card .permission-checkbox{display:flex;font-size:13px;line-height:1.65}.contact-card .permission-checkbox input{width:18px;height:18px;min-height:18px;margin:3px 0 0;accent-color:#3a7854}.contact-object-search{min-width:0}.contact-object-search .small{margin:8px 0 0}.contact-object-suggestions{max-height:300px;overflow:auto;border:1px solid #cfddcf;border-radius:11px;background:#fff;margin-top:8px}
.contact-object-suggestions button{display:block;width:100%;text-align:left;padding:12px 14px;background:#fff;color:#284e3b;border:0;border-bottom:1px solid #e6ece4;font:inherit;font-size:14px;cursor:pointer}.contact-object-suggestions button:last-child{border-bottom:0}.contact-object-suggestions button:hover,.contact-object-suggestions button:focus-visible{background:#edf5e7;outline:2px solid #81a477;outline-offset:-2px}.contact-object-suggestions strong,.contact-object-suggestions small{display:block;line-height:1.5}.contact-object-suggestions small{font-size:12px;color:#52665b;margin-top:4px}
.contact-upload{min-width:0}.upload-label{display:block;font-size:14px;font-weight:600;color:#344b40;margin-bottom:9px}.upload-area{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:12px;border:1px dashed #a8c0a1;border-radius:13px;background:#f7faf4;padding:20px}.upload-area>span{font-size:13px;color:#526b58}.upload-area.is-dragging{background:#eaf4df;border-color:#4c8756}.upload-area:focus-within{outline:2px solid #398262;outline-offset:3px}.contact-upload .small{margin:10px 0 0}
.contact-image-preview{display:flex;align-items:center;gap:18px;padding:16px;margin-top:12px;border:1px solid #dce7da;border-radius:13px;background:#f6f9f3}.contact-image-preview img{width:160px;height:110px;object-fit:contain;background:#e9f0e4;border-radius:9px}.contact-image-preview>div{display:grid;gap:12px;min-width:0}.contact-image-preview #contact-file-name{font-size:13px;color:#40564a;overflow-wrap:anywhere}.contact-image-preview .text-button{justify-self:start;font-size:13px;color:#8b493d;text-decoration:underline;text-underline-offset:3px}
.about-faq{margin:34px 0}.about-faq h2{margin-bottom:20px}.about-faq details{border-bottom:1px solid #dce6df;padding:16px 0}.about-faq summary{font-size:15px;font-weight:600;color:#284e3b;cursor:pointer;line-height:1.6}.about-faq details p{font-size:14px;max-width:75ch;margin:12px 0 0;color:#40564a;line-height:1.8}
@media(max-width:720px){.about-heading{padding:16px 0 28px}.about-heading>p:not(.eyebrow){font-size:15px}.about-features article{padding:20px}.photo-steps{grid-template-columns:1fr;gap:12px}.contact-modes{gap:8px}.contact-modes span{font-size:12px;padding:10px 12px}#photo-fields{padding:16px}.contact-image-preview{align-items:flex-start;flex-direction:column}.contact-image-preview img{width:100%;height:180px}.contact-card form>button[type=submit]{width:100%}.about-faq summary{font-size:14px}}

/* Keep account actions distinct and comfortably tappable. */
#profile-dialog .account-security{margin-bottom:24px}
#profile-dialog .profile-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding-top:20px;border-top:1px solid #dde7df}
#profile-dialog .profile-actions .button{margin:0;min-height:48px;text-align:center}
#profile-dialog #delete-own{color:#963e32;border-color:#e8cfc9;background:#fff}
#profile-dialog #delete-own:hover{background:#fff5f2;border-color:#cc9b91}
@media(max-width:600px){
 #profile-dialog .profile-actions{flex-direction:column;align-items:stretch}
 #profile-dialog .profile-actions .button,#profile-dialog #resend-verification{width:100%}
}

.travel-account-removal{margin-top:48px;padding:28px 0 12px;border-top:1px solid #e8cfc9}.travel-account-removal h2{font-size:20px}.travel-account-removal p{max-width:65ch;color:#657669;font-size:14px;line-height:1.7}.travel-account-removal #delete-own{margin-top:12px;color:#963e32;border-color:#e8cfc9;background:#fff}.travel-account-removal #delete-own:hover{background:#fff5f2;border-color:#cc9b91}

/* Public travel guide and crawlable region directory below the atlas. */
.travel-guide{max-width:1160px;margin:40px auto;padding:32px;color:#193f35;line-height:1.75;background:#fff;border:1px solid #dce7df;border-radius:24px}
.travel-guide h2{font-size:28px;letter-spacing:-.5px;margin:12px 0}.travel-guide h3{font-size:19px;margin:22px 0 8px}.travel-guide p{max-width:850px;margin:12px 0}.guide-answers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.guide-regions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 24px;list-style:none;padding:0}.guide-regions a{display:block;padding:8px 0;text-decoration:underline;text-underline-offset:3px}
@media(max-width:720px){.travel-guide{margin:24px 16px;padding:22px}.travel-guide h2{font-size:24px}.guide-answers,.guide-regions{grid-template-columns:1fr}.guide-regions a{min-height:44px}}

/* Public route and theme pages: readable cards, touch-friendly navigation. */
.discovery-page{background:#f7faf4}.discovery-page h1{font-size:clamp(28px,4vw,42px);line-height:1.2;margin:24px 0}.discovery-page h2{font-size:23px;line-height:1.35}
.discovery-links{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}.discovery-links a{padding:10px 14px;min-height:44px;border-radius:12px;background:#e8f0df;font-weight:600}
.discovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}.discovery-card{padding:24px;background:#fff;border:1px solid #d5e1d5;border-radius:18px;min-width:0;overflow-wrap:anywhere}.discovery-card h2{margin:10px 0}.discovery-card a{text-underline-offset:4px}
.discovery-note{padding:20px 24px;background:#eef2df;border-radius:16px;margin:28px 0}.public-stops{padding-left:28px}.public-stops>li{margin:20px 0}.public-stops>li::marker{font-weight:700;font-size:20px}
@media(max-width:720px){.discovery-grid{grid-template-columns:1fr}.discovery-card{padding:18px}.discovery-page .button{white-space:normal}.public-stops{padding-left:22px}.discovery-links a{max-width:100%}}

.trip-picker input{width:100%;max-width:600px;min-height:48px;margin:8px 0}.trip-picker #trip-picked-route:empty{display:none}.trip-picker .day-trips{margin:20px 0}.route-catalog-filters{display:flex;flex-wrap:wrap;gap:16px;align-items:end;margin:24px 0;padding:20px;background:#e8f0df;border-radius:16px}.route-catalog-filters label{flex:1 1 240px}.route-catalog-filters input,.route-catalog-filters select{display:block;width:100%;min-height:48px;margin-top:8px}.route-catalog-filters>a{padding:12px;min-height:44px}
@media(max-width:720px){.route-catalog-filters{padding:16px}.route-catalog-filters label{flex-basis:100%}.day-trip-grid{grid-template-columns:1fr}}

.about-story p+p{margin-top:16px}.about-story .eyebrow{margin-bottom:12px}
