:root{--bar:#3b4a2b;--bar-2:#4d5e37;--cream:#f6f1e3;--card:#fffdf6;--sand:#eee4cc;--sand-2:#e4d6b2;--green:#3f5f2a;--green-soft:#e3ead3;--olive:#8a9655;--gold:#d9a441;--gold-soft:#f6e7bf;--orange:#e0773a;--orange-soft:#fbe3d0;--sky:#3f7f9a;--text:#2a2a22;--muted:#7a7564;--line:#e7dfcb;--warn:#b5651d;--radius:16px;--nav-h:70px;--bar-h:54px;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);color:var(--text);background:var(--cream);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{background:var(--cream);min-height:100%;margin:0}body{overscroll-behavior-y:none}h1,h2,h3,h4{color:var(--text);margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,sans-serif;font-weight:700;line-height:1.2}p{margin:0;line-height:1.4}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}small{font-size:.78rem}.muted{color:var(--muted)}.small{font-size:.8rem}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--green);font-size:.72rem;font-weight:700}.app{flex-direction:column;min-height:100dvh;display:flex}.main{padding-bottom:calc(var(--nav-h) + var(--safe-bottom) + 12px);flex:1}.screen{flex-direction:column;gap:14px;width:100%;max-width:640px;margin:0 auto;padding:14px 16px 24px;display:flex}.boot{text-align:center;background:var(--bar);min-height:100vh;color:var(--cream);place-content:center;gap:8px;padding:24px;display:grid}.boot h1{color:var(--cream);letter-spacing:.12em}.preview{background:var(--sand);color:var(--bar);text-align:center;padding:4px 16px;font-size:.72rem}.topbar{z-index:5;background:var(--bar);color:var(--cream);min-height:calc(var(--bar-h) + var(--safe-top));padding:var(--safe-top) 8px 0;grid-template-columns:44px 1fr 44px;align-items:center;display:grid;position:sticky;top:0}.topbar-btn{width:44px;height:44px;color:var(--cream);place-items:center;font-size:1.35rem;line-height:1;display:grid}.topbar-title{text-align:center;letter-spacing:.01em;color:var(--cream);font-size:1.05rem;font-weight:600}.nav{z-index:10;background:var(--card);border-top:1px solid var(--line);padding-bottom:var(--safe-bottom);height:calc(var(--nav-h) + var(--safe-bottom));grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -3px 12px #3b4a2b12}.nav-item{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:48px;font-size:.7rem;display:flex}.nav-item.active{color:var(--text);font-weight:700}.nav-icon{border-radius:999px;padding:6px 18px;font-size:1.2rem;line-height:1}@media (width>=700px){.nav{border:1px solid var(--line);border-radius:16px 16px 0 0;max-width:640px;margin:0 auto;left:0;right:0}}.home-hero{min-height:300px;color:var(--cream);text-align:center;background:radial-gradient(circle at 70% 25%,#f1c77b 0%,#f1c77b00 38%),linear-gradient(#5b6f45 0%,#a88a57 60%,#6e5233 100%);margin:-14px -16px 0;padding:18px 16px 84px;position:relative;overflow:hidden}.home-hero:after{content:"";clip-path:polygon(0 62%,12% 40%,28% 56%,46% 26%,64% 52%,80% 34%,100% 54%,100% 100%,0 100%);background:#29341e8c;height:42%;position:absolute;bottom:0;left:-10%;right:-10%}.home-hero>*{z-index:1;position:relative}.home-hero h1{color:var(--cream);letter-spacing:.08em;text-shadow:0 2px 10px #0000004d;font-size:2.5rem;font-weight:800;line-height:1.05}.home-hero .dates{text-shadow:0 1px 6px #00000059;margin-top:4px;font-size:1.05rem}.pill{color:var(--text);background:#f6f1e3f0;border-radius:999px;margin-top:16px;padding:9px 18px;font-size:.92rem;font-weight:700;display:inline-block;box-shadow:0 4px 12px #0000002e}.stats-card{background:var(--card);text-align:center;border-radius:18px;grid-template-columns:repeat(4,1fr);margin:-58px 0 0;padding:14px 6px;display:grid;position:relative;box-shadow:0 8px 22px #3b4a2b21}.stat{flex-direction:column;align-items:center;gap:2px;display:flex}.stat-icon{font-size:1.5rem;line-height:1.1}.stat strong{color:var(--text);font-size:1.3rem}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:10px;padding:16px;display:flex}.card h2{font-size:1.1rem}.card h3{font-size:1.02rem}.card.focus{background:linear-gradient(135deg,#f7e9c4,#fbf4df);border-color:#ead49c}.card.ready{border-color:var(--olive);background:#f2f5e8}.card.notready{border-color:var(--warn);background:#fbf1e3}.section-head{justify-content:space-between;align-items:baseline;display:flex}.trip-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.trip-list li{grid-template-columns:40px 1fr;align-items:center;gap:12px;padding:10px 0;display:grid;position:relative}.trip-list li:not(:last-child):before{content:"";background:repeating-linear-gradient(180deg, var(--olive) 0 4px, transparent 4px 8px);width:2px;position:absolute;top:50px;bottom:-6px;left:19px}.trip-list strong{display:block}.trip-list small{color:var(--muted)}.trip-ico{background:var(--green-soft);border-radius:50%;place-items:center;width:40px;height:40px;font-size:1.1rem;display:grid}.trip-ico.home{background:var(--gold-soft)}.btn{border:1px solid var(--line);background:var(--card);min-height:48px;color:var(--text);text-align:center;cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:6px;padding:10px 8px;font-size:.92rem;font-weight:700;display:flex}.btn-primary{background:var(--green);color:var(--cream);border-color:var(--green)}.btn-quiet{border-color:var(--line);font-weight:600}.btn:disabled{opacity:.55;cursor:default}.btn-big{border-radius:16px;min-height:56px;font-size:1.05rem}.linkbutton{color:var(--green);cursor:pointer;background:0 0;border:0;min-height:44px;padding:0 4px;font-weight:700}.linkbutton.quiet{color:var(--muted);align-self:flex-start;min-height:36px;font-weight:600}.textlink,.back{color:var(--green);align-items:center;min-height:44px;font-weight:700;display:inline-flex}.tiles{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.tile{background:var(--card);border:1px solid var(--line);text-align:center;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:96px;padding:14px 8px;font-size:.86rem;font-weight:700;display:flex}.tile span{font-size:1.5rem}.tile.primary{background:var(--green);color:var(--cream);border-color:var(--green)}.daystrip{scrollbar-width:none;top:calc(var(--safe-top) + var(--bar-h));background:var(--cream);z-index:2;padding:4px 0 6px;gap:8px;margin:0 -16px;padding-inline:16px;display:flex;position:sticky;overflow-x:auto}.daystrip::-webkit-scrollbar{display:none}.day-chip{border:1px solid var(--line);background:var(--card);border-radius:14px;flex-direction:column;flex:none;justify-content:center;align-items:center;width:60px;min-height:66px;display:flex}.day-chip small{color:var(--muted);font-size:.7rem}.day-chip strong{color:var(--text);font-size:1.25rem}.day-chip.active{background:var(--bar);border-color:var(--bar)}.day-chip.active small,.day-chip.active strong{color:var(--cream)}.day-chip.is-today:not(.active){border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}.dayhero{border-radius:var(--radius);min-height:150px;color:var(--cream);background:radial-gradient(circle at 80% 18%,#f3c77a 0%,#f3c77a00 40%),linear-gradient(#5f7a52 0%,#a88a5c 70%,#6b5137 100%);flex-direction:column;justify-content:flex-end;gap:4px;padding:22px 16px 16px;display:flex;position:relative;overflow:hidden}.dayhero:after{content:"";clip-path:polygon(0 60%,15% 36%,32% 54%,50% 26%,70% 50%,88% 34%,100% 52%,100% 100%,0 100%);background:#29341e73;height:40%;position:absolute;bottom:0;left:-10%;right:-10%}.dayhero>*{position:relative}.dayhero h1{color:var(--cream);text-shadow:0 2px 8px #0000004d;font-size:1.6rem}.dayhero p{color:var(--cream);font-size:.95rem}.dayhero small{color:var(--cream);font-weight:600}.daynote{background:var(--card);border-left:4px solid var(--warn);color:var(--text);border-radius:8px;padding:8px 10px;font-size:.9rem}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--card);border:1px solid var(--line);color:var(--text);border-radius:999px;padding:4px 10px;font-size:.8rem}.chip.road{background:var(--gold);color:var(--text);border-color:var(--gold);font-weight:700}.toolbar{justify-content:flex-end;margin-bottom:-6px;display:flex}.timeline{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.row{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}.row.now{border-color:var(--gold);box-shadow:0 0 0 2px #d9a44159}.row.open{border-color:var(--olive)}.row-head{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:52px 40px 1fr 16px;align-items:center;gap:10px;width:100%;min-height:60px;padding:12px;display:grid}.row-time{font-variant-numeric:tabular-nums;flex-direction:column;display:flex}.row-time strong{color:var(--text);font-size:.98rem}.row-time small{color:var(--muted)}.row-icon{background:var(--green-soft);border-radius:50%;place-items:center;width:40px;height:40px;font-size:1.1rem;display:grid}.row-main{flex-direction:column;gap:2px;display:flex;position:relative}.row-title{font-weight:700}.chev{color:var(--muted);text-align:right}.nowtag{background:var(--gold);color:var(--text);letter-spacing:.06em;text-transform:uppercase;vertical-align:middle;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:.65rem;font-style:normal;font-weight:800}.dot-tbc{background:var(--warn);border-radius:50%;width:9px;height:9px;position:absolute;top:4px;right:0}.row-body{border-top:1px dashed var(--line);background:var(--sand);flex-direction:column;gap:10px;padding:12px 14px 14px;display:flex}.block{flex-direction:column;gap:8px;display:flex}.block h3{font-size:1rem}.block h4{margin-top:4px;font-size:.9rem}.facts{gap:20px;margin:0;display:flex}.facts dt{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem}.facts dd{margin:0;font-weight:700}.steps{flex-direction:column;gap:4px;margin:0;padding-left:20px;font-size:.92rem;display:flex}.plain{flex-direction:column;gap:4px;margin:0;padding-left:18px;font-size:.92rem;display:flex}.plain.compact{padding-left:0;list-style:none}.note{background:var(--card);border-left:4px solid var(--olive);border-radius:8px;padding:8px 10px;font-size:.9rem}.tbc{color:var(--warn);background:#fbf1e3;border:1px solid #ecd2ab;border-radius:8px;padding:6px 10px;font-size:.82rem;font-weight:600;display:inline-block}.daynav{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tabs{border-bottom:1px solid var(--line);gap:0;display:flex}.tab{min-height:46px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex:1;padding:0 4px;font-weight:600;position:relative}.tab.active{color:var(--text);font-weight:700}.tab.active:after{content:"";background:var(--green);border-radius:3px;height:3px;position:absolute;bottom:-1px;left:12%;right:12%}.tabs-scroll{scrollbar-width:none;display:flex;overflow-x:auto}.tabs-scroll::-webkit-scrollbar{display:none}.tabs-scroll .tab{white-space:nowrap;flex:1 0 auto;padding:0 14px}.tabcount{background:var(--sand-2);color:var(--text);border-radius:999px;margin-left:6px;padding:1px 7px;font-size:.7rem}.meallist{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.meal{border-bottom:1px solid var(--line);grid-template-columns:62px 36px 1fr 16px;align-items:center;gap:10px;padding:11px 4px;display:grid}.meal.is-today{background:#fbf4df;border-radius:12px}.meal-date{flex-direction:column;align-items:flex-start;display:flex}.meal-date small{color:var(--muted);font-size:.8rem}.meal-date strong{color:var(--text);font-size:.95rem}.meal-ico{text-align:center;font-size:1.3rem}.meal-main{flex-direction:column;gap:2px;font-size:.92rem;display:flex}.meal-main>strong{font-weight:700}.supper-plan{flex-direction:column;gap:0;display:flex}.supper-row{border-bottom:1px solid var(--line);grid-template-columns:62px 1fr;gap:10px;padding:10px 0;font-size:.92rem;display:grid}.supper-row small{color:var(--muted);font-size:.8rem}.menu{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.menu-item{background:var(--card);border:1px solid var(--line);border-radius:16px;grid-template-columns:44px 1fr 16px;align-items:center;gap:12px;min-height:64px;padding:12px;display:grid}.menu-icon{text-align:center;background:var(--gold-soft);border-radius:14px;place-items:center;width:44px;height:44px;font-size:1.4rem;display:grid}.menu-text{flex-direction:column;display:flex}.menu-text small{color:var(--muted)}.checks{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.checks li{background:var(--card);border:1px solid var(--line);border-radius:16px;gap:12px;padding:12px;display:flex}.checks li span:last-child{flex-direction:column;display:flex}.checks small{color:var(--muted)}.check{color:#fff;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-weight:800;display:grid}.check.ok{background:var(--olive)}.check.warn{background:var(--warn)}.status{color:var(--green);align-self:flex-start;font-size:.85rem;font-weight:700}.status.paid{color:#3f6b2e}.progress{flex-direction:column;gap:6px;display:flex}.bar{background:var(--sand-2);border-radius:999px;height:6px;overflow:hidden}.bar span{background:var(--green);border-radius:999px;height:100%;transition:width .2s;display:block}.cat-title{font-size:1.15rem}.checklist{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.check-item label{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:30px 1fr auto;align-items:center;gap:12px;min-height:52px;padding:12px 4px;display:grid}.check-item input{opacity:0;width:1px;height:1px;position:absolute}.check-item .box{border:2px solid var(--olive);color:#fff;background:var(--card);border-radius:6px;place-items:center;width:24px;height:24px;font-weight:800;display:grid}.check-item.done .box{background:var(--green);border-color:var(--green)}.check-item input:focus-visible+.box{outline:3px solid var(--bar);outline-offset:2px}.check-text{flex-direction:column;gap:2px;display:flex}.qty{color:var(--green);font-style:normal;font-weight:700}.tbc-inline{color:var(--warn);font-weight:600}.store{letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:3px 8px;font-size:.68rem;font-weight:700}.store-FRESH{color:#3f6b2e;background:#e7f0d8}.store-FROZEN{color:#285a73;background:#dcebf3}.store-LONG_LIFE{background:var(--sand);color:var(--bar)}.addrow{grid-template-columns:1fr auto;gap:8px;display:grid}.addrow input,.select,.textarea{font:inherit;border:1px solid var(--line);background:var(--card);min-height:48px;color:var(--text);border-radius:14px;width:100%;padding:12px}.addrow .btn{padding:0 20px}.map-card{padding:0;overflow:hidden}.map-card svg{width:100%;height:auto;display:block}.legend{flex-direction:column;gap:10px;padding:12px 14px;display:flex}.legend label{align-items:center;gap:10px;min-height:34px;font-weight:600;display:flex}.legend input{width:20px;height:20px;accent-color:var(--green)}.swatch{border-radius:3px;flex:none;width:26px;height:6px}.turns{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.turns li{grid-template-columns:26px 1fr;gap:12px;padding:10px 0;display:grid;position:relative}.turns li:not(:last-child):before{content:"";background:var(--olive);width:2px;position:absolute;top:30px;bottom:-4px;left:12px}.turn-dot{background:var(--card);border:2px solid var(--olive);border-radius:50%;width:24px;height:24px}.turns .end .turn-dot{background:var(--orange);border-color:var(--orange)}.picnic-card{flex-direction:column;gap:8px;display:flex}.picnic-img{background:linear-gradient(#9bb17a,#c9a86c 70%,#7d5f3b);border-radius:12px;height:120px}.booking{padding:0;overflow:hidden}.booking-row{grid-template-columns:1fr 96px;gap:12px;padding:14px;display:grid}.booking-pic{background:linear-gradient(120deg,#7d8b4a,#c4a06a 60%,#8d6b43);border-radius:12px;height:96px}.booking-body{flex-direction:column;gap:6px;display:flex}.booking .btn{width:100%}.chipscroll{scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.chipscroll::-webkit-scrollbar{display:none}.fchip{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:999px;flex:none;min-height:40px;padding:0 16px;font-weight:600}.fchip.active{background:var(--bar);color:var(--cream);border-color:var(--bar)}.sightings{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.sighting{background:var(--card);border:1px solid var(--line);border-radius:16px;gap:12px;padding:12px;display:flex}.sighting-main{flex-direction:column;gap:3px;min-width:0;font-size:.92rem;display:flex}.sighting-main strong{font-size:1.05rem}.thumb{object-fit:cover;border-radius:12px;flex:none;width:72px;height:72px}.preview-img{object-fit:cover;border-radius:16px;width:100%;max-height:240px}.photo-band{background:radial-gradient(circle at 60% 30%,#d9b777 0%,#d9b77700 45%),linear-gradient(#7b8f5c,#5a4a33);border-radius:0;height:170px;margin:0 -16px}.inline-actions{gap:12px;display:flex}.field-title{color:var(--muted);margin:0 0 8px;font-size:.95rem;font-weight:600;display:block}.field{background:var(--card);border:1px solid var(--line);border-radius:14px;grid-template-columns:26px 1fr;align-items:center;gap:10px;padding:10px 12px;display:grid}.field-ico{text-align:center;font-size:1.1rem}.field small{color:var(--muted);display:block}.field strong{font-size:.98rem}.card.auto{background:var(--sand);border-color:var(--sand-2)}.animals{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:8px;display:grid}.animal{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:14px;min-height:50px;font-size:.98rem;font-weight:700}.animal.active{background:var(--bar);color:var(--cream);border-color:var(--bar)}.stepper{text-align:center;grid-template-columns:64px 1fr 64px;align-items:center;gap:8px;display:grid}.stepper output{color:var(--text);font-size:1.8rem;font-weight:700}.stepper .btn{font-size:1.4rem}.segment{background:var(--sand);border-radius:14px;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px;display:grid}.seg{min-height:42px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:11px;font-weight:700}.seg.active{background:var(--card);color:var(--text);box-shadow:0 1px 4px #3b4a2b26}.photo-btn{cursor:pointer}.sticky-save{bottom:calc(var(--nav-h) + var(--safe-bottom) + 8px);z-index:3;position:sticky;box-shadow:0 6px 18px #3b4a2b40}.error{color:#8a2c20;background:#fbe9e7;border:1px solid #efc1ba;border-radius:12px;padding:10px 12px}.today-hero{min-height:230px;color:var(--cream);background:radial-gradient(circle at 75% 25%,#f5c57a 0%,#f5c57a00 40%),linear-gradient(#e8a25a 0%,#b5724a 45%,#5a4a33 100%);flex-direction:column;justify-content:flex-end;gap:2px;margin:-14px -16px 0;padding:16px 18px 20px;display:flex;position:relative;overflow:hidden}.today-hero:after{content:"";clip-path:polygon(0 60%,14% 38%,30% 52%,48% 24%,66% 48%,82% 30%,100% 50%,100% 100%,0 100%);background:#29341e80;height:36%;position:absolute;bottom:0;left:-10%;right:-10%}.today-hero>*{position:relative}.today-hero h1{color:var(--cream);text-align:center;text-shadow:0 2px 8px #0000004d;font-size:1.7rem}.today-hero p{color:var(--cream);text-align:center;text-shadow:0 1px 6px #0000004d}.today-card{margin-top:-28px;position:relative}.screen-title{color:var(--text);font-size:1.6rem;font-weight:700}.topbar-row{z-index:1;height:44px;color:var(--cream);justify-content:space-between;align-items:center;margin:0 -8px;display:flex;position:relative}.topbar-row .topbar-btn{color:var(--cream);font-size:1.35rem}.next-row{border-bottom:1px solid var(--line);grid-template-columns:40px 1fr;align-items:start;gap:12px;padding:8px 0;display:grid}.next-row:last-child{border-bottom:0}.next-ico{background:var(--green-soft);border-radius:50%;place-items:center;width:40px;height:40px;font-size:1.1rem;display:grid}.next-ico.food{background:var(--orange-soft)}.next-row small{color:var(--muted)}.next-row strong{display:block}.home-hero{min-height:340px;padding-bottom:96px}.home-hero h1{font-size:2.8rem;line-height:1}.home-hero .dates{font-size:1.1rem}.stats-card{margin-top:-64px;padding:16px 6px}.stat-icon{font-size:1.9rem}.trip-list li{padding:12px 0}.trip-ico{width:42px;height:42px;font-size:1.2rem}.toolbar{display:none}.timeline{gap:0}.row{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;overflow:visible}.row.now,.row.open{border-color:var(--line);box-shadow:none}.row:has(.row-icon.meal){background:#fbeedd;border-bottom-color:#0000;border-radius:12px;margin:2px 0}.row-head{grid-template-columns:58px 44px 1fr 16px;padding:14px 4px}.row-icon{background:0 0;width:44px;height:44px;font-size:1.5rem}.row-title{font-size:1rem}.chev{font-size:.8rem}.dayhero{min-height:190px}.dayhero h1{font-size:1.9rem}.mapscreen{flex-direction:column;gap:12px;padding:0 0 16px;display:flex}.daynav-row{text-align:center;grid-template-columns:44px 1fr 44px;align-items:center;padding:6px 8px 0;font-size:1.05rem;display:grid}.daynav-arrow{color:var(--text);text-align:center;font-size:2rem;line-height:1}.seg3{background:#ebe5d0;border-radius:12px;grid-template-columns:repeat(3,1fr);gap:4px;margin:0 16px;padding:4px;display:grid}.seg3 button{min-height:40px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:9px;font-size:.9rem;font-weight:600}.seg3 button.on{background:var(--bar);color:var(--cream);font-weight:700}.mapbox{height:380px;position:relative;overflow:hidden}.mapbox svg{width:100%;height:100%;display:block}.zoom{flex-direction:column;gap:8px;display:flex;position:absolute;top:12px;right:12px}.zoom span{background:var(--card);border-radius:10px;place-items:center;width:42px;height:42px;font-size:1.3rem;font-weight:700;display:grid;box-shadow:0 2px 6px #00000026}.sheet{background:var(--card);border-radius:18px;flex-direction:column;gap:12px;margin:-28px 12px 0;padding:16px 16px 14px;display:flex;position:relative;box-shadow:0 -2px 14px #00000014}.legend-row{align-items:center;gap:10px;font-size:.98rem;font-weight:600;display:flex}.legend-row input{width:22px;height:22px;accent-color:var(--green)}.box-blue,.box-green{border-radius:3px;flex:none;width:14px;height:14px}.box-blue{background:#2f7fd0}.box-green{background:var(--green)}.plainpage{flex-direction:column;gap:12px;padding:4px 16px 0;display:flex}.plainpage h2{font-size:1.3rem}.turns2{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.turns2 li{border-radius:12px;grid-template-columns:30px 1fr;align-items:center;gap:12px;padding:12px 8px;font-size:.98rem;display:grid}.turns2 li.arrive{background:#f3e6c6;font-weight:700}.tdot{background:var(--card);border:2px solid var(--olive);width:28px;height:28px;color:var(--green);border-radius:50%;place-items:center;font-size:.7rem;display:grid}.turns2 li.arrive .tdot{border-color:var(--orange);color:var(--orange)}.stopcard{background:var(--card);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:8px;padding:14px;display:flex}.stopcard h3{font-size:1.05rem}.stopcard-pic{background:radial-gradient(circle at 70% 30%,#f1d28f 0%,#f1d28f00 45%),linear-gradient(#9bb17a,#c9a86c 70%,#7d5f3b);border-radius:12px;height:130px}.booking{grid-template-columns:1fr 112px;gap:10px;padding:14px;display:grid;overflow:visible}.booking-band{border-radius:12px;grid-area:1/2;height:104px;margin:0}.booking-body{grid-area:1/1;padding:0}.booking .actions{grid-template-columns:1fr}.tiles.dark .tile{background:var(--green);color:var(--cream);border-color:var(--green)}.tiles.dark .tile span{color:var(--cream);background:0 0;width:auto;height:auto;font-size:1.6rem}.addsight{flex-direction:column;gap:0;max-width:640px;margin:0 auto;padding-bottom:20px;display:flex}.addsight-top{grid-template-columns:44px 1fr 44px;align-items:center;padding:10px 8px;display:grid}.addsight-top h2{text-align:center;font-size:1.1rem}.addsight-close{width:44px;height:44px;color:var(--text);place-items:center;font-size:1.3rem;display:grid}.addsight-photo{background:radial-gradient(circle at 55% 35%,#e8c27a 0%,#e8c27a00 42%),linear-gradient(#7b8f5c,#5a4a33);height:210px;overflow:hidden}.addsight-photo img{object-fit:cover;width:100%;height:100%;display:block}.fieldrow{border-bottom:1px solid var(--line);background:var(--cream);grid-template-columns:34px 1fr auto;align-items:center;gap:12px;padding:12px 16px;display:grid}.fieldrow .field-ico{text-align:center;font-size:1.2rem}.fieldrow-text{flex-direction:column;gap:2px;min-width:0;display:flex}.fieldrow-text small{color:var(--muted);font-size:.8rem}.fieldrow-select{font:inherit;color:var(--text);background:0 0;border:0;width:100%;padding:2px 0;font-size:1rem;font-weight:600}.fieldrow-textarea{font:inherit;color:var(--text);resize:none;background:0 0;border:0;width:100%;padding:2px 0;font-size:1rem}.fieldrow-notes{align-items:start}.photorow{grid-template-columns:64px 1fr auto}.photo-thumb{background:linear-gradient(120deg,#7d8b4a,#c4a06a 60%,#8d6b43);border-radius:12px;place-items:center;width:64px;height:64px;font-size:1.4rem;display:grid;overflow:hidden}.photo-thumb img{object-fit:cover;width:100%;height:100%}.photo-plus{background:var(--green);width:40px;height:40px;color:var(--cream);border-radius:50%;place-items:center;font-size:1.3rem;display:grid}.addsight-more{background:var(--cream);border-bottom:1px solid var(--line);padding:12px 16px}.addsight-more summary{cursor:pointer;color:var(--muted);font-weight:600}.addsight-more .stepper,.addsight-more .segment{margin-top:10px}.addsight-save{margin:16px 16px 0}.icon{flex:none;display:block}.nav-icon{color:var(--bar);font-size:inherit;place-items:center;display:grid}.nav-item.active .nav-icon{color:var(--bar)}.stat-icon{color:var(--green);font-size:inherit;place-items:center;height:26px;display:grid}.trip-ico{color:var(--bar)}.trip-ico.home{color:#8a6420}.tile .icon{color:var(--green);margin:0 auto}.tiles.dark .tile .icon{color:var(--cream)}.row-icon{color:var(--green)}.row-icon.meal{color:#c0582a}.next-ico{color:var(--green)}.next-ico.gold{color:#8a6420}.next-ico.food{color:#c0582a}.menu-icon{color:var(--bar)}.meal-ico{color:#c0582a;place-items:center;display:grid}.field-ico{color:var(--green);place-items:center;display:grid}.fieldrow .field-ico{color:var(--green)}.photo-thumb{color:var(--cream)}.chev{color:var(--muted);place-items:center;transition:transform .15s;display:inline-grid}.row.open .chev{transform:rotate(90deg)}.check-item .box .icon{width:16px;height:16px}.check-storage{color:var(--muted);font-size:.92em;font-weight:500}.check-item.done .check-storage{text-decoration:none}.chip .icon{vertical-align:-2px;margin-right:2px;display:inline-block}.topbar-btn .icon{color:var(--cream)}.back .icon{margin-right:2px}.check .icon{color:#fff}.row-icon{background:#efe5cc;border-radius:50%;width:44px;height:44px}.row-icon.meal{background:#f8dcc0}.next-row>div>small{display:block}:root{--bar:#303d25;--bar-2:#25331f;--cream:#f8f6ef;--card:#fbf9f1;--sand:#e8dec5;--sand-2:#ddd5b5;--green:#465b32;--green-soft:#e8e5d1;--olive:#77824b;--text:#252820;--muted:#66695e;--line:#e3dfd3;--radius:12px;--nav-h:64px;--bar-h:52px;--phone-width:460px;font-size:15px}html{scroll-padding-top:calc(var(--bar-h) + var(--safe-top) + 72px)}.app{max-width:var(--phone-width);background:var(--cream);margin:auto}.main{min-width:0}.screen{gap:12px;padding:10px 16px 20px}.topbar{background:linear-gradient(110deg, var(--bar-2), var(--bar))}.topbar-title{font-size:17px}.has-topbar>.main>.screen>.back,.has-topbar>.main>.screen>.screen-title{display:none}.card{box-shadow:none}.nav{max-width:var(--phone-width);border-radius:0;margin:auto;box-shadow:0 -1px 8px #303d2508}.nav-item{color:#33392f;font-size:10px;position:relative}.nav-icon{border-radius:9px;padding:6px 13px}.nav-item.active:before{content:"";background:var(--bar);width:40px;height:2px;position:absolute;top:0}.nav-item.active{background:linear-gradient(90deg,#0000 12%,#eee8d1 12% 88%,#0000 88%)}.nav-item.active .nav-icon{background:0 0}.nav-icon .icon{stroke-width:2.2px;width:19px;height:19px}a,button,summary,input,select,textarea{touch-action:manipulation}:focus-visible{outline:2px solid var(--green);outline-offset:3px}.select,.textarea,.addrow input,.fieldrow-select,.fieldrow-textarea{font-size:16px}.btn{border-radius:9px}.btn-primary,.tiles.dark .tile{background:var(--bar);border-color:var(--bar)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.home-screen{gap:0;padding-top:0}.home-hero{min-height:clamp(330px,100vw,420px);padding:calc(12px + var(--safe-top)) 16px 38px;background:linear-gradient(#f6e6c333,#0000 45%,#1e261b44),url(/photos/storyboard-elephant.jpg) 50%/cover;flex-direction:column;align-items:center;margin:0 -16px;display:flex}.home-hero:after,.today-hero:after,.dayhero:after{content:none}.home-hero .topbar-row{top:calc(8px + var(--safe-top));margin:0;position:absolute;left:14px;right:14px}.home-hero h1{color:#24301e;letter-spacing:.02em;text-shadow:0 1px 12px #f8e5b499;margin-top:20px;font-size:32px;font-weight:600;line-height:1.05}.home-hero .dates{color:#25311f;text-shadow:0 1px 8px #ffe1a2;margin-top:10px;font-size:17px;font-weight:600}.home-hero .topbar-btn .icon{color:#28341f}.home-hero .pill{box-shadow:none;background:#efe7cbef;margin-top:auto;padding:10px 22px;font-size:13px}.stats-card{box-shadow:none;border-radius:18px 18px 0 0;margin:-20px -10px 0;padding:12px 6px 7px}.stat{gap:1px;min-height:62px}.stat strong{font-size:17px}.stat span{color:var(--text);font-size:11px}.stat .stat-icon{color:#776936;margin-bottom:4px}.stat:nth-child(2) .stat-icon,.stat:nth-child(4) .stat-icon{color:#654922}.stat:nth-child(3) .stat-icon{color:#293c25}.stat-icon .icon{width:25px;height:25px}.journey-card{border:0;border-radius:0 0 16px 16px;margin:0 -10px;padding:0 22px 12px}.trip-list li{grid-template-columns:25px 1fr;gap:9px;min-height:44px;padding:4px 0}.trip-list li:not(:last-child):before{background:var(--olive);width:1px;top:30px;bottom:-7px;left:12px}.trip-ico,.trip-ico.home{width:25px;height:25px;color:var(--green);background:var(--card);z-index:1}.trip-ico:not(.home){color:#fff;background:#5d793e;border-radius:50%;width:21px;height:21px;margin-inline:2px}.trip-ico.home .icon{width:21px;height:21px}.trip-list strong{font-size:14px}.trip-list small{color:var(--text);font-size:12px}.night-count{font-weight:400}.home-screen>.tiles{margin-top:12px}.home-screen>.tiles .tile{flex-direction:row;min-height:60px;padding:8px;font-size:12px}.home-screen>.tiles .icon{width:18px;margin:0}.itinerary-screen{gap:0;padding-top:0}.daystrip{gap:5px;padding:6px 7px}.day-chip{border-radius:7px;flex:0 0 calc(20% - 4px);min-height:62px}.day-chip strong{font-size:18px;font-weight:550}.day-chip small{font-size:12px}.dayhero{background:linear-gradient(#0000 37%,#1a2219d9),url(/photos/storyboard-river.jpg) 50% 53%/cover;border-radius:0;gap:0;min-height:clamp(162px,52vw,228px);margin:0 -16px;padding:12px 16px 15px}.dayhero h1{font-size:clamp(23px,6.9vw,32px);line-height:1.08}.dayhero .day-camp{margin-top:3px;font-size:23px;font-weight:650;line-height:1.12}.day-information{border-block:1px solid var(--line);padding:3px 0;font-size:12px}.day-information summary{cursor:pointer;min-height:44px;color:var(--muted);align-items:center;display:flex}.day-information summary:after{content:"+";margin-left:auto;font-size:18px}.day-information[open]{padding-bottom:12px}.day-information[open] summary:after{content:"−"}.day-information .chips{margin-top:8px}.itinerary-toolbar{text-align:right}.timeline{margin:4px 0 10px;padding:0 0 0 14px;position:relative}.timeline:before{content:"";background:#a7af86;width:1px;position:absolute;top:20px;bottom:26px;left:4px}.row{border-bottom:0;position:relative}.row:before{content:"";background:var(--olive);border-radius:50%;width:7px;height:7px;position:absolute;top:18px;left:-13px}.row-head{grid-template-columns:57px minmax(0,1fr);align-items:stretch;gap:5px;min-height:44px;padding:0}.row-time{padding:10px 0}.row-time strong,.row-time small{font-size:13px;font-weight:400}.row-main{border-bottom:1px solid #ebe7db;align-content:center;gap:3px;padding:8px 7px 8px 3px;display:grid;position:relative}.row-title{font-size:14px;font-weight:650;line-height:1.22}.row-sub{color:var(--text);font-size:13px;line-height:1.26}.row-main.row-meal{background:#f3ecd5;border:0;border-radius:8px;margin:2px 0;padding:8px 8px 8px 33px}.row-meal-icon{color:#fff;place-items:center;width:20px;height:20px;display:grid;position:absolute;top:9px;left:7px}.row-meal-icon .meal-pin{color:#b75919;position:absolute;inset:-1px auto auto -1px}.row-meal-icon.meal-supper .meal-pin{color:#b8583e}.row-meal-icon .icon:not(.meal-pin){width:10px;height:10px;position:relative;transform:translateY(-3px)}.row-body{border:0;border-radius:8px;font-size:13px}.row.now:before{background:var(--bar);outline:3px solid #d7b36b66}.daynav{margin-top:4px}.mapscreen{gap:10px;max-width:640px;margin:auto}.daynav-row{padding-top:0;font-size:15px}.daynav-arrow{place-items:center;min-height:44px;display:grid}.route-picker{padding:0 16px}.route-picker label{color:var(--muted);margin-bottom:5px;font-size:11px;display:block}.route-picker select{min-height:44px;padding:8px}.seg3{background:#eee9db;border-radius:8px}.seg3 button{border-radius:6px;min-height:44px;font-size:13px}.map-notice{text-align:center;color:var(--bar);padding:5px 16px;font-size:12px}.mapbox{background:#dfe6c6;height:280px}.sheet{border-radius:12px;margin-top:-12px;box-shadow:0 2px 14px #303d2510}.legend-row{min-height:44px;font-size:13px}.turns2 li{border-radius:7px;gap:10px;min-height:62px;padding:16px 6px;font-size:14px;position:relative}.turns2 li:not(:last-child):after{content:"";z-index:0;background:#a6ad91;width:1px;position:absolute;top:42px;bottom:-20px;left:20px}.tdot{z-index:1;border-width:1px;width:28px;height:28px}.stopcard{background:#efe9d8;border:0}.stopcard-icon{color:var(--bar)}.stop-photo{margin:0}.stop-photo img{aspect-ratio:1.8;object-fit:cover;border-radius:6px;width:100%;display:block}.stop-photo figcaption{color:var(--muted);margin-top:5px;font-size:10px}.food-screen{gap:4px;padding-top:0}.tabs{margin-bottom:3px}.tab{min-height:46px;font-size:13px;font-weight:400}.tab.active{background:#eee8ce;border-radius:7px 7px 0 0;font-weight:500}.tab.active:after{height:2px}.food-list{margin:0;padding:0;list-style:none}.food-row{border-bottom:1px solid var(--line);grid-template-columns:76px minmax(0,1fr);align-items:start;font-size:12px;display:grid}.food-date{white-space:nowrap;padding-top:16px}.food-row summary{cursor:pointer;align-items:center;gap:9px;min-height:48px;padding:8px 0;list-style:none;display:flex}.food-row summary::-webkit-details-marker{display:none}.food-icon{color:#c56b3b;flex:none}.food-icon.where-self{color:#507534}.food-icon.where-restaurant{color:#a8412e}.food-icon.where-picnic{color:#ad541f}.food-tbc{color:#99672e;margin-left:auto}.food-details{color:var(--muted);padding:4px 0 8px}.food-details .tbc{margin-top:6px}.supper-section h2{margin:16px 0 5px;font-size:18px}.food-screen>.checklist-screen{padding-inline:0}.is-today{background:#f2eddb}.checklist-screen{gap:9px;padding-top:0}.tabs-scroll .tab{padding:0 10px}.cat-title{margin-top:6px;font-size:16px}.progress{gap:5px}.progress .bar{height:3px}.progress small{color:var(--muted);font-size:10px}.check-item label{grid-template-columns:22px minmax(0,1fr);gap:12px;min-height:45px;padding:9px 3px;font-size:14px}.check-item .box{border:1px solid #536044;border-radius:3px;width:19px;height:19px}.check-item.done .check-name{color:var(--text);text-decoration:none}.check-text small{font-size:11px}.booking{grid-template-columns:minmax(0,1fr) 100px;gap:8px 12px;padding:12px}.booking-band{object-fit:cover;border-radius:7px;width:100%;height:106px}.booking-body{gap:4px;min-width:0;font-size:12px}.booking-body h3{font-size:14px}.booking-body .status{align-items:center;gap:4px;font-size:12px;display:flex}.booking .actions{grid-column:1/-1}.booking .btn{background:#e4ddc3;min-height:44px;font-size:12px;font-weight:500}.booking .tbc{padding:4px 6px;font-size:11px}.addsight-top{background:var(--card);padding-top:calc(4px + var(--safe-top));padding-bottom:4px}.addsight-photo{background:var(--sand);height:150px}.addsight-photo img{object-position:center 42%}.fieldrow{grid-template-columns:24px minmax(0,1fr) auto;gap:10px;min-height:60px;padding:8px 16px}.fieldrow-text strong{font-size:14px;font-weight:400}.fieldrow-text small{color:var(--text);font-size:11px;font-weight:600}.fieldrow-select,.fieldrow-textarea{border:1px solid var(--line);background:#fcfaf3;border-radius:6px;min-height:36px;padding:7px}.fieldrow-notes textarea{min-height:52px}.photorow{grid-template-columns:44px minmax(0,1fr) 36px;min-height:64px;position:relative}.photo-thumb{background:var(--sand);width:44px;height:44px;color:var(--bar);border-radius:7px}.photo-plus{background:var(--card);width:36px;height:36px;color:var(--bar);border:1px solid var(--line);border-radius:7px}.photo-input{opacity:0;width:1px;height:1px;position:absolute}.photorow:focus-within{outline:2px solid var(--green);outline-offset:-3px}.addsight-more{padding:10px 16px}.addsight-more summary{min-height:32px;font-size:12px}.addsight-save{border-radius:8px;min-height:48px;margin-top:12px;font-size:15px}.today-screen{padding-top:0}.today-hero{min-height:258px;padding:calc(12px + var(--safe-top)) 16px 42px;background:linear-gradient(#0000 25%,#16241bcc),url(/photos/storyboard-sunrise.jpg) 50% 53%/cover;margin:0 -16px}.today-hero .topbar-row{top:calc(8px + var(--safe-top));position:absolute;left:16px;right:16px}.today-hero h1{font-size:24px}.today-hero p{font-size:19px;font-weight:600}.today-card{border:0;border-radius:18px;gap:3px;margin-top:-32px;padding:14px}.connection-status{color:var(--muted);align-self:flex-end;min-height:24px;font-size:10px}.next-row{border:0;grid-template-columns:32px minmax(0,1fr);gap:10px;padding:9px 0}.next-row:has(.gold){background:#f2ecd3;border-radius:8px;padding:10px}.next-ico,.next-ico.food{width:30px;height:32px;color:var(--bar);background:0 0}.next-ico.gold{background:#e5d9b4}.next-row strong{font-size:14px;font-weight:500}.next-row small{color:var(--text);font-size:12px}.today-card .eyebrow{margin-bottom:4px;font-size:10px}.today-card .chip{background:#eee8d5;border:0;padding:3px 7px;font-size:10px}.tiles.dark{gap:7px}.tiles.dark .tile{border-radius:10px;min-height:80px;font-size:11px;font-weight:500}@media (width>=700px){body,html,#root{background:#e9e5d8}.app{box-shadow:0 0 40px #303d2512}}@media (width<=360px){.screen{padding-inline:12px}.home-hero,.today-hero,.dayhero,.daystrip{margin-left:-12px;margin-right:-12px}.home-hero{min-height:330px}.home-hero h1{font-size:29px}.row-head{grid-template-columns:49px minmax(0,1fr)}.booking{grid-template-columns:minmax(0,1fr) 82px}.nav-icon{padding-inline:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.geo-map{isolation:isolate;background:#394632;height:clamp(320px,51dvh,630px);position:relative;overflow:hidden}.geo-map>svg{touch-action:none;cursor:grab;width:100%;height:100%;display:block}.geo-map>svg:active{cursor:grabbing}.geo-map path{vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}.geo-vegetation{fill:#334a36}.geo-water{fill:#426b72}.geo-river{fill:none;stroke:#66918a;stroke-width:1px;opacity:.7}.geo-minor{fill:none;stroke:#a6a38b;stroke-width:.75px;opacity:.55}.geo-gravel{fill:none;stroke:#c8b289;stroke-width:1.3px}.geo-tar{fill:none;stroke:#e1d2a3;stroke-width:2px}.geo-route{fill:none;stroke-width:4px}.geo-road-label rect{fill:#303e31;stroke:#a59776;stroke-width:.65px}.geo-road-label text,.geo-place text{fill:#fff9e6;pointer-events:none;font-size:11px;font-weight:650}.geo-place{cursor:pointer}.geo-place text{paint-order:stroke;stroke:#202b20;stroke-width:3px;stroke-linejoin:round}.geo-controls{gap:5px;display:grid;position:absolute;top:12px;right:10px}.geo-controls button{background:var(--card);width:44px;height:44px;color:var(--bar);border:0;border-radius:8px;place-items:center;font-size:24px;display:grid;box-shadow:0 1px 5px #1116}.geo-north,.geo-scale,.geo-attribution{color:#fff;background:#202b20e6;padding:3px 5px;font-size:11px;position:absolute}.geo-north{border-radius:4px;top:11px;left:11px}.geo-scale{white-space:nowrap;border-bottom:2px solid #fff;bottom:22px;left:11px}.geo-attribution{bottom:0;right:0}.geo-popup{background:var(--card);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex;position:absolute;bottom:47px;left:12px;right:12px}.geo-popup small,.geo-layers small{display:block}.geo-popup button{min-width:44px}.geo-layers{gap:0;margin-top:-9px;padding-block:6px 11px}.geo-layer-options{grid-template-columns:1fr 1fr;display:grid}.geo-layers .legend-row{min-height:44px}.geo-layers .legend-row input{accent-color:var(--green)}.geo-data-link{text-decoration:underline}.geo-route-layer{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.geo-route-layer .linkbutton{padding-inline:8px;font-size:12px}.geo-stream{fill:none;stroke:#6d989a;stroke-width:.65px;opacity:.6}.geo-feature-label text{fill:#eee4c8;paint-order:stroke;stroke:#202b20;stroke-width:3px;font-size:10px}.geo-feature-label.water text{fill:#a3d7e5;font-style:italic}.geo-detail-key{color:var(--muted);flex-wrap:wrap;gap:4px 12px;margin-block:3px 7px;display:flex}.geo-detail-key span{align-items:center;gap:5px;display:inline-flex}.geo-detail-key i{border:1px solid #3b4a35;border-radius:50%;width:9px;height:9px}.geo-detail-key .geo-key-water{background:#7fcbdc;border-radius:1px;transform:rotate(45deg)}.geo-key-stop{background:#efdcab}.geo-key-service{background:#bce1a1}.camp-maps-entry{padding-inline:16px}.camp-maps-entry .btn{gap:8px;min-height:44px}.camp-map-tabs{margin:0}.camp-map-tabs a{border-radius:6px;place-items:center;min-height:44px;font-size:13px;display:grid}.camp-map-tabs a.on{background:var(--bar);color:var(--cream);font-weight:600}.camp-plan{gap:8px;min-width:0;display:grid}.camp-plan h1{font-size:21px}.camp-plan-controls{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.camp-plan-controls .btn{min-width:44px;min-height:44px}.camp-plan-controls output{text-align:center;min-width:37px;font-size:13px}.camp-plan-viewport{border:1px solid var(--line);overscroll-behavior:contain;background:#fff;border-radius:9px;height:clamp(245px,53dvh,630px);overflow:auto}.camp-plan-viewport img{max-width:none;height:auto;display:block}.booking .actions{gap:6px;display:grid}.camp-plan-viewport[data-zoomed=false]{height:auto}
