:root{--ink:#173b34;--green:#2f8f68;--lime:#a9dc86;--cream:#f4f0e5;--paper:#fffdf7;--line:#d9dfd2}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.3;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.06'/%3E%3C/svg%3E")}main{width:min(1180px,calc(100% - 32px));margin:auto;padding:70px 0}header{text-align:center;max-width:700px;margin:0 auto 36px}.eyebrow{font-size:11px;letter-spacing:.22em;font-weight:700;color:var(--green)}h1,h2{font-family:"Playfair Display",serif;margin:7px 0}h1{font-size:clamp(45px,7vw,76px);line-height:1}header p{color:#60746e;font-size:17px}.entry-card,.map-card,.trips{background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 50px #305a4910}.entry-card{max-width:900px;margin:auto;padding:22px}form{display:grid;grid-template-columns:1fr 2fr auto;gap:14px;align-items:end}label{font-size:12px;font-weight:700;letter-spacing:.04em}input{display:block;width:100%;margin-top:8px;padding:14px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);font:inherit;outline:none}input:focus{border-color:var(--green);box-shadow:0 0 0 3px #2f8f6818}button{border:0;border-radius:9px;background:var(--ink);color:white;padding:15px 20px;font:600 14px inherit;cursor:pointer;white-space:nowrap}button:hover{background:var(--green)}button:disabled{opacity:.6}.entry-card #message{margin:10px 0 0;min-height:18px;text-align:center;font-size:13px;color:#a54337}.stats{display:grid;grid-template-columns:repeat(3,1fr);max-width:760px;margin:38px auto;text-align:center}.stats div+div{border-left:1px solid #cdd7ce}.stats strong,.stats span{display:block}.stats strong{font:700 30px "Playfair Display",serif}.stats span{font-size:12px;color:#71817c}.map-card,.trips{padding:26px;margin-top:25px}.section-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:18px}.section-title h2{font-size:27px}.legend{font-size:12px;color:#71817c}.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;background:var(--lime);margin-right:6px}#map{height:520px;background:#e7eee7;border-radius:12px;overflow:hidden}.leaflet-control-attribution{font-size:8px}.trip-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.trip{border:1px solid var(--line);border-radius:12px;padding:16px;display:grid;grid-template-columns:45px 1fr;gap:12px}.trip .flag{display:grid;place-items:center;width:45px;height:45px;border-radius:50%;background:#e7f2e5;font-size:21px}.trip h3{font-size:15px;margin:0 0 5px}.trip p{font-size:12px;color:#71817c;margin:2px 0}.empty{grid-column:1/-1;text-align:center;color:#71817c;padding:30px}@media(max-width:700px){main{padding:35px 0}form{grid-template-columns:1fr}button{width:100%}.trip-list{grid-template-columns:1fr}.map-card,.trips{padding:15px}#map{height:400px}.section-title{align-items:start;gap:10px}.stats strong{font-size:23px}}
input{height:47px}
.test-site-notice{position:fixed;right:18px;bottom:18px;z-index:10000;display:flex;align-items:center;gap:9px;padding:10px 15px;border:1px solid #d39d25;border-radius:999px;background:#fff3c4;color:#624609;box-shadow:0 8px 24px #173b3426;font-size:12px;font-weight:700;letter-spacing:.04em}.test-site-notice .test-site-dot{width:8px;height:8px;border-radius:50%;background:#d69200;box-shadow:0 0 0 4px #d6920024}.test-site-notice b{font:inherit}@media(max-width:500px){.test-site-notice{right:10px;bottom:10px;padding:8px 12px;font-size:11px}}
/* Compact language selector shared by the public and signed-in navigation. */
.language-switcher{display:inline-flex;align-items:center;padding:3px;border:1px solid var(--line,#d8ddd8);border-radius:999px;background:var(--card,#fff)}
.language-switcher button{min-width:34px;padding:6px 8px;border:0;border-radius:999px;background:transparent;color:inherit;font:600 11px/1 "DM Sans",sans-serif;letter-spacing:.08em;cursor:pointer}
.language-switcher button.active{background:var(--green,#24724b);color:#fff}
@media(max-width:700px){.language-switcher button{min-width:30px;padding:6px}.private-nav .language-switcher{order:2}}
