.river-app{--ink:#123b40;--ink-2:#185b59;--cream:#f5f7f0;--paper:#fffefa;--coral:#2b746e;--line:#dce7dd;font-family:Manrope,system-ui,sans-serif;color:var(--ink);background:#f5f7f0}
.river-app :is(button,a,input):focus-visible{outline:3px solid #398587;outline-offset:3px}
.app-head{position:sticky;top:0;z-index:900;background:#f5f7f0f2;border-bottom:1px solid #dbe4db;backdrop-filter:blur(18px)}
.head-inner,.app-shell,.app-footer{width:min(1200px,100% - 64px);margin-inline:auto}
.head-inner{height:74px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.wordmark{display:inline-flex;align-items:center;gap:8px;font-size:30px;font-weight:800;letter-spacing:-.07em;line-height:1;white-space:nowrap}
.wordmark-point{color:#509779;margin-left:-7px}.wordmark-logo{width:33px;height:33px;border-radius:11px;display:grid;place-items:center;background:#124b4a;color:#d9e8a2;letter-spacing:0}.wordmark-logo svg{width:22px}
.app-nav{display:flex;align-items:center;gap:6px;padding:5px;background:#e9efe6;border-radius:15px}
.app-nav :is(a,button){display:flex;align-items:center;justify-content:center;gap:7px;padding:8px 13px;background:none;border-radius:11px;font-size:13px;font-weight:800;color:#425e58}
.app-nav [aria-current=page]{background:#fdfef9;color:#154a49;box-shadow:0 2px 5px #14342b15}
.app-nav svg,.head-actions svg,.hero-link svg,.pill-button svg,.app-search svg,.dialog-head svg{width:18px;height:18px;flex:none}
.app-nav.mobile{display:none}.head-actions{display:flex;align-items:center;gap:10px}
.head-location,.account-button{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;background:white;border:1px solid #dbe7df;border-radius:12px;padding:9px 11px;font-weight:800;font-size:12px}.account-button{height:39px;width:39px;justify-content:center;color:#184947;background:#e2efe7}
.app-shell{padding-bottom:34px}.river-hero{position:relative;isolation:isolate;overflow:hidden;margin:25px 0 29px;border-radius:26px;background:#124847;color:#fffdf0;padding:31px 36px 28px;min-height:291px}
.river-illustration{position:absolute;width:60%;height:100%;right:0;top:0;z-index:-2;overflow:hidden}
.river-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(88deg,#124847 0%,#124847 37%,#124847b8 47%,transparent 64%);z-index:-1;pointer-events:none}
.region-tag{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border-radius:20px;background:#43685b;color:#eff6d9;font-size:10px;font-weight:800;letter-spacing:.15em}
.region-tag span{width:6px;height:6px;border-radius:50%;background:#d9e59a}
.river-hero h1{font-size:clamp(40px,5.35vw,74px);line-height:.99;font-weight:800;letter-spacing:-.07em;margin:14px 0 10px}
.river-hero em{font-style:normal;color:#dae9a9}.river-hero p{margin:0 0 20px;color:#e2eae0;font-size:14px;font-weight:600}
.hero-link{display:inline-flex;align-items:center;gap:8px;border-radius:11px;padding:10px 13px;background:#f4df9f;color:#163f3d;font-size:13px;font-weight:800}
.river-app #map-section{scroll-margin-top:91px;padding:0}.app-shell[data-screen=map] #map-section,.app-shell[data-screen=friends] #map-section{padding-top:24px}
.explore-top{display:flex;justify-content:space-between;align-items:end;gap:10px;margin:0 0 13px}.river-app .section-kicker{color:#507768;font-weight:800;letter-spacing:.14em;font-size:10px;margin:0 0 5px}.explore-top h2{font-size:clamp(27px,3.5vw,40px);letter-spacing:-.055em;margin:0;line-height:1.1}
.river-app .pill-button{display:inline-flex;align-items:center;gap:7px;background:#e3efe8;color:#1c5556;border-radius:12px;border:1px solid #d0e4d9;white-space:nowrap}
.app-search{padding:11px 15px;display:flex;align-items:center;gap:10px;background:#fffefa;border-radius:13px;border:1px solid #dce7dd;margin-bottom:12px}.app-search span{display:grid;place-items:center}.app-search input{background:none;border:0;flex:1;min-width:0;color:var(--ink);outline:none;font-weight:700}.app-search:focus-within{box-shadow:0 0 0 2px #489081}
.river-app .category-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0 0 15px}
.river-app .cat-button{display:grid;place-items:center;gap:7px;padding:12px 5px 9px;border-radius:15px;background:#fffefa;border:1px solid #dce7dd;color:var(--ink);min-width:0;font-size:13px}
.river-app .cat-button:hover,.river-app .cat-button[aria-pressed=true]{background:#e7f0e5;border-color:#79a69b;color:#174e49}
.river-app .cat-button .cat-badge{width:43px;height:43px;border-radius:13px}.river-app .cat-button .cat-badge svg{width:64%;height:64%}
.river-app .sub-row{gap:6px;font-size:13px}.river-app .sub-row [aria-pressed=true]{background:#1c5d5c}
.river-app .map-layout{grid-template-columns:minmax(0,1.67fr) minmax(290px,1fr);gap:15px}
.river-app .map-card{border:1px solid #cddfd7;box-shadow:none;height:clamp(410px,55vh,590px);min-height:0;border-radius:19px}
.app-shell[data-screen=friends] .map-card,.app-shell[data-screen=map] .map-card{height:clamp(450px,70vh,710px)}
.river-app #map{background:#dce7dc;position:relative}.river-app .leaflet-tile-pane{filter:saturate(.74) contrast(.91) brightness(1.04)}
.river-app .map-status{background:#fffefa;color:#1c5051}.river-app .places-panel{padding:17px;border:1px solid #dce7dd;box-shadow:none;border-radius:19px}
.river-app .panel-top h3,.social-panel h3{font-size:22px;letter-spacing:-.035em}
.river-app #placesList{max-height:450px}.river-app .listing:hover{background:#eff5ee}
.river-app .listing .cat-badge{width:39px;height:39px;border-radius:12px}
.app-footer{border-top:1px solid #dbe6dc;display:flex;gap:18px;align-items:center;padding:16px 0 24px;color:#51736b;font-size:12px}
.app-footer .wordmark{font-size:20px;color:#234f49}.app-footer .wordmark-logo{width:24px;height:24px;border-radius:8px}.app-footer .wordmark-logo svg{width:16px}.app-footer a:last-child:not(.wordmark){margin-left:auto}
.social-panel h3{margin:0 0 5px}.social-panel p,.social-panel small,#accountBody p{color:#516d64;line-height:1.55}
.social-intro{margin:6px 0 14px}.social-form{display:flex;gap:7px}.social-form input{min-width:0;flex:1}
.social-form input,#accountBody input{border:1px solid #d3e2d9;border-radius:10px;padding:10px 11px;background:#fcfdf8;color:var(--ink)}
.social-action,.account-action{display:inline-flex;justify-content:center;align-items:center;gap:7px;padding:10px 12px;background:#155653;color:#fffefa;border-radius:10px;font-weight:800;font-size:13px}
.social-action.light,.account-action.light{background:#e4efe7;color:#23544b}.social-action.small{font-size:11px;padding:7px 9px}
.friend-card{display:flex;align-items:center;gap:9px;margin-top:6px;padding:9px 0;border-bottom:1px solid #e9eee7}
.friend-card>div{flex:1;min-width:0;overflow-wrap:anywhere}.friend-card>div b,.friend-card>div small{display:block}
.friend-avatar,.friend-pin{display:grid;place-items:center;color:#1c5556;background:#e1efb6;border:2px solid #fff;width:36px;height:36px;border-radius:50%;font-weight:800;flex:none}
.friend-pin{width:43px;height:43px;border-width:3px;box-shadow:0 2px 12px #123c4066}
.friend-map-note{position:absolute;z-index:500;top:16px;left:16px;max-width:calc(100% - 78px);background:#fffefa;padding:9px 12px;border-radius:10px;color:#285752;font-size:12px;font-weight:800}
.share-box{background:#e8f3eb;border-radius:12px;padding:10px 11px;margin:14px 0}.share-box p{font-size:12px;margin:5px 0 8px}.share-box .social-action{width:100%}
.friend-card-controls{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
#socialMessage{font-size:12px;color:#2f5c53;min-height:1.45em;margin:5px 0}
#accountDialog{width:min(440px,100% - 32px);padding:20px;border:1px solid #dce8df;border-radius:18px;box-shadow:0 12px 40px #173f3a44;color:var(--ink);background:#fffefa}
#accountDialog::backdrop{background:#143b3b65}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.dialog-head h2{margin:0;font-size:23px;letter-spacing:-.045em}.dialog-head button{padding:3px 9px;background:#e9f1e8;border-radius:8px;font-size:20px}
#accountBody form{display:grid;gap:10px;margin-block:12px}#accountBody label{font-size:12px;display:grid;gap:3px;font-weight:800}
.account-links{display:flex;gap:12px;flex-wrap:wrap}.account-links a{font-size:13px;color:#245d55;text-decoration:underline}
@media(max-width:800px){
 .head-inner,.app-shell,.app-footer{width:calc(100% - 30px)}.head-inner{height:61px}.wordmark{font-size:28px}.app-nav.desktop{display:none}
 .app-nav.mobile{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;bottom:0;left:0;right:0;z-index:1000;gap:3px;padding:5px 10px max(5px,env(safe-area-inset-bottom));border-radius:17px 17px 0 0;background:#fffefa;border-top:1px solid #dae6dc;box-shadow:0 -5px 18px #183b3c12}
 .app-nav.mobile :is(a,button){flex-direction:column;padding:5px;gap:2px;font-size:11px}.app-nav.mobile [aria-current=page]{background:#e4f0e1;box-shadow:none}
 .river-hero{margin:12px 0 22px;padding:20px 17px;min-height:225px;border-radius:19px}.river-illustration{width:69%;opacity:.94}.river-hero:after{background:linear-gradient(86deg,#124847 0%,#124847 24%,#124847e3 46%,#12484705 84%)}
 .river-hero h1{font-size:clamp(35px,9.5vw,52px);margin-top:12px}.river-hero p{font-size:12px;max-width:190px;margin-bottom:12px}.hero-link{padding:8px 10px}
 .river-app #map-section{scroll-margin-top:73px}.river-app .map-layout{grid-template-columns:1fr;gap:10px}
 .river-app .map-card{height:350px}.app-shell[data-screen=friends] .map-card,.app-shell[data-screen=map] .map-card{height:min(470px,48svh)}
 .river-app .places-panel{padding:13px}.river-app #placesList{max-height:280px}
 .app-shell[data-screen=home] #placesPanel{order:-1}
 .river-app .category-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.river-app .cat-button{grid-template-columns:auto auto;justify-content:start;gap:5px;padding:5px;line-height:1.1;font-size:11px}.river-app .cat-button .cat-badge{width:30px;height:30px;border-radius:9px}
 .river-app .pill-button{font-size:11px;padding:7px 8px}.river-app .pill-button svg{width:15px;height:15px}
 .app-footer{padding-bottom:67px;gap:9px}.app-footer a:last-child:not(.wordmark){margin-left:0}
}
