/* SignalNids Rando V1.2.0 — interface mobile/PWA, sans modification des données */
:root{--sn-bottom-height:74px;--sn-safe-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:82px}body{max-width:100%;overflow-x:clip}
.site-shell,main,.wrap,.sn-panel,.sn-editor-grid,.sn-detail-layout,.sn-browse-main,.sn-community-content{min-width:0}
.sn-nav-extras{display:none}
.sn-bottom-nav{display:none}
.sn-quick-dialog{border:0;padding:0;background:#fff;color:#163d2c;max-width:430px;width:calc(100% - 24px);border-radius:24px 24px 18px 18px;box-shadow:0 24px 75px #0a2c1d4d;position:fixed;inset:auto 12px calc(var(--sn-bottom-height) + var(--sn-safe-bottom) + 10px);margin:0 auto;overflow:hidden;max-height:calc(100dvh - var(--sn-bottom-height) - var(--sn-safe-bottom) - 28px);overflow-y:auto}
.sn-quick-dialog::backdrop{background:rgba(6,28,18,.57);backdrop-filter:blur(3px)}
.sn-quick-title{display:flex;align-items:flex-start;justify-content:space-between;padding:23px 22px 12px;gap:12px}
.sn-quick-title span{display:block;color:#4d8b67;font-size:10px;letter-spacing:.12em;font-weight:800}
.sn-quick-title h2{margin:3px 0 0;font-family:Manrope,sans-serif;font-size:23px;color:#103f2b;line-height:1.25}
.sn-quick-title button{display:grid;place-items:center;border:0;border-radius:13px;background:#edf4ee;color:#1a5539;min-height:42px;min-width:42px}
.sn-quick-link{margin:9px 17px;display:flex;align-items:center;gap:11px;border:1px solid #e1eee3;padding:15px 13px;border-radius:17px;background:#f7fbf8;text-decoration:none!important}
.sn-quick-link>.icon{margin-left:auto;width:17px;height:17px}
.sn-quick-link>span:nth-child(2){display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.sn-quick-link strong{font-size:14px;color:#17422e;line-height:1.3}
.sn-quick-link small{font-size:11px;line-height:1.4;color:#688372}
.sn-quick-icon{flex-shrink:0;background:#dff1e5;color:#146e48;border-radius:13px;display:grid;place-items:center;width:45px;height:45px}
.sn-quick-report{background:#fff9f4;border-color:#ffdfc8}
.sn-quick-report .sn-quick-icon{background:#ffe9dc;color:#b34221}
.sn-quick-dialog>p{margin:14px 23px 22px;font-size:11px;line-height:1.6;color:#6a7e70}
.sn-quick-dialog a:focus-visible,.sn-quick-dialog button:focus-visible{outline:3px solid #35a46d;outline-offset:2px}
/* Covers physical smartphones, landscape phones, tablets and installed standalone PWA. */
@media(max-width:820px){
 :root{--sn-bottom-height:66px}
 .topbar{position:sticky;top:0;z-index:1100;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
 .topbar-inner{height:61px;min-height:61px;gap:8px;padding-inline:max(15px,env(safe-area-inset-left,0px)) max(15px,env(safe-area-inset-right,0px))}
 .brand{min-width:0;flex-shrink:1;gap:7px}.brand-title{font-size:clamp(16px,4.4vw,21px);overflow:hidden;text-overflow:ellipsis}.brand-symbol,.brand-symbol .icon{width:34px;height:34px}
 .nav-toggle{min-width:43px;min-height:43px;border-radius:12px;background:#edf5ee;display:grid;place-items:center;flex-shrink:0}
 .nav{background:#fff!important;position:absolute;top:61px;left:0;right:0;max-height:calc(100dvh - 61px - var(--sn-bottom-height) - var(--sn-safe-bottom));overflow-y:auto;overscroll-behavior:contain;padding:12px max(16px,env(safe-area-inset-right)) 17px max(16px,env(safe-area-inset-left));box-shadow:0 14px 27px #183e2b26;gap:2px}
 .nav>a:not(.btn){min-height:43px;padding:10px 12px!important}
 .nav .nav-auth{margin:7px 0 0!important;min-height:40px;width:auto}
 .sn-nav-extras{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:12px;margin-top:8px;border-top:1px solid #e1eae2}
 .sn-nav-extras>a{display:flex;align-items:center;gap:6px;padding:9px 10px;background:#f3f8f4;border-radius:12px;font-size:11px;font-weight:700;line-height:1.35;color:#31523e;min-height:45px}
 .sn-nav-extras .icon{width:16px;height:16px}
 .site-shell{padding-bottom:calc(var(--sn-bottom-height) + var(--sn-safe-bottom) + 10px);min-height:100dvh}
 .site-shell>.footer{display:none}
 .sn-bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;align-items:stretch;left:0;right:0;bottom:0;height:calc(var(--sn-bottom-height) + var(--sn-safe-bottom));padding:4px max(3px,env(safe-area-inset-right,0px)) var(--sn-safe-bottom) max(3px,env(safe-area-inset-left,0px));background:#fffffff5;border-top:1px solid #dbe8dc;box-shadow:0 -8px 23px #0d402419;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:1260}
 .sn-bottom-nav>a,.sn-bottom-nav>button{color:#667e6c;border:0;background:none;text-decoration:none!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-family:Manrope,sans-serif;font-size:10px;font-weight:750;line-height:1.35;letter-spacing:-.02em;min-width:0;padding:1px 0;white-space:nowrap;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
 .sn-bottom-nav .icon{width:23px;height:23px;stroke-width:2}
 .sn-bottom-nav>.is-active{color:#0c6943}
 .sn-bottom-nav>.is-active:not(.sn-bottom-add) .icon{stroke-width:2.65}
 .sn-bottom-nav .sn-bottom-add{position:relative;color:#19553b;gap:1px}
 .sn-add-circle{display:grid;place-items:center;background:#126645;color:#fff;border:3px solid #fff;border-radius:50%;width:52px;height:52px;box-shadow:0 5px 14px #11533641;margin-top:-23px}
 .sn-add-circle>.icon{width:25px;height:25px;stroke-width:2.5}
 .sn-bottom-nav>a:focus-visible,.sn-bottom-nav>button:focus-visible{outline:3px solid #2aaf75;outline-offset:-3px;border-radius:10px}
 .sn-bottom-nav a:active,.sn-bottom-nav button:active{opacity:.7}
 .sn-quick-dialog{z-index:1900}
 .sn-home-grid>*,.sn-browse-right>*,.sn-editor-grid>*,.sn-detail-layout>*{min-width:0}
 .sn-panel,.sn-trail-card{max-width:100%}
 .sn-map-panel,.sn-full-map-card,.sn-editor-map-frame,.sn-detail-map-card{overflow:hidden}
 .sn-home-map,.sn-browse-map,.sn-route-map,.sn-editor-map,.sn-full-map{width:100%;max-width:100%}
 .sn-filter-bar,.sn-sidebar-filter,.sn-community-side{min-width:0}
 .sn-full-map{height:min(68dvh,690px);min-height:400px}
 .sn-full-map-card{padding-bottom:0}
 /* Search and forms must remain usable when native keyboard is open. */
 body.sn-touch-editing .sn-bottom-nav{display:none}
 body.sn-touch-editing .site-shell{padding-bottom:calc(14px + var(--sn-safe-bottom))}
 .footer-grid{min-width:0}
}
@media(max-width:620px){
 .wrap{padding-inline:16px}
 .topbar-inner{padding-inline:13px}
 .sn-hero,.sn-hero-inner{min-height:0}
 .sn-hero-inner{padding-top:47px;padding-bottom:49px}
 .sn-hero h1{font-size:clamp(2.7rem,11.5vw,3.9rem);overflow-wrap:break-word}
 .sn-hero-content{min-width:0}
 .sn-search{max-width:100%}
 .sn-search input{min-width:0;width:100%}
 .sn-editor-head h1,.sn-interior-hero h1,.sn-map-page-head h1{overflow-wrap:anywhere}
 .sn-editor-map{height:min(53dvh,430px);min-height:290px}
 .sn-editor-map-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 .sn-editor-map-actions .btn{min-width:0;line-height:1.15;padding:10px 6px;font-size:11px}
 .sn-editor-map-actions .btn:last-child{grid-column:1/-1}
 .sn-editor-load-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
 .sn-editor-load-actions>.btn,.sn-editor-load-actions>.sn-file-button{min-width:0;width:100%;white-space:normal;font-size:11px;padding-inline:8px}
 .sn-editor-fields .form-stack input:not([type=radio]):not([type=checkbox]),.sn-editor-fields textarea,.sn-editor-fields select,.auth-card input{max-width:100%;min-width:0;font-size:16px}
 .sn-filter-search input{min-width:0}
 .sn-detail-hero-actions{display:flex;flex-wrap:wrap;gap:7px}
 .sn-detail-hero-actions>.btn{min-width:0}
 .sn-detail-side,.sn-browse-right{min-width:0}
 .sn-pagination{flex-wrap:wrap;gap:7px}
 .sn-full-map{height:calc(100dvh - 210px);min-height:360px;max-height:680px}
 .sn-community-hero-actions{gap:8px}
 .sn-quick-dialog{width:calc(100% - 18px);left:9px;right:9px}
}
@media(max-width:350px){.sn-bottom-nav>a,.sn-bottom-nav>button{font-size:9px}.sn-bottom-nav .icon{width:21px;height:21px}.sn-add-circle{width:48px;height:48px}.brand-title{font-size:15px}.sn-nav-extras{grid-template-columns:1fr}}
@media(display-mode:standalone){.topbar{background:#fff}.sn-bottom-nav{background:#fff}}
@media(prefers-reduced-motion:reduce){.sn-quick-dialog{scroll-behavior:auto}}

/* Simple standalone install help page */
.sn-pwa-guide{padding-block:clamp(32px,6vw,80px) 95px}.sn-pwa-guide h1{font-size:clamp(2.1rem,4vw,3.8rem);color:#123e2c;margin:10px 0}.sn-pwa-subtitle{color:#6d8073;max-width:700px;font-size:14px}.sn-pwa-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin:32px 0 25px}.sn-pwa-guide-card{padding:27px 22px}.sn-pwa-guide-card h2{font-size:20px;color:#174a32;margin:14px 0 9px}.sn-pwa-guide-card p{font-size:13px;color:#64786b;line-height:1.7}.sn-pwa-guide-symbol{width:49px;height:49px;background:#e7f6eb;border-radius:15px;color:#126a45;display:grid;place-items:center}.sn-pwa-guide-symbol .icon{width:27px;height:27px}
@media(max-width:820px){.sn-pwa-guide-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.sn-pwa-guide-grid{grid-template-columns:1fr}.sn-pwa-guide-card{padding:22px}.sn-pwa-guide{padding-bottom:35px}}
