@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;600&family=Playfair+Display:ital,wght@0,600;1,600&display=swap";:root{font-family:DM Sans,sans-serif;color:#263934;background:#f7f1e5;--ink:#193e38;--paper:#f7f1e5;--rust:#b85f3d}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}button{cursor:pointer}h1,h2{font-family:Playfair Display,serif;color:var(--ink);margin:0;line-height:1.03}p{line-height:1.65}.login{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:radial-gradient(circle at 22% 36%,transparent 0 8%,#f7f1e5f0 40%),repeating-linear-gradient(14deg,#193e3809 0 1px,transparent 1px 9px),#e5decc}.hero{padding:6vh 7vw;display:flex;flex-direction:column;justify-content:center}.brand{display:flex;gap:13px;align-items:center;letter-spacing:.19em;font-size:.78rem;font-weight:600;color:var(--ink)}.mark{width:43px;height:43px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;position:relative;flex:none}.mark:after{content:"";position:absolute;width:51px;border-top:1px solid var(--ink);transform:rotate(-20deg)}.mark span{font-family:Playfair Display;font-style:italic}.eyebrow,.kicker{letter-spacing:.22em;font-size:.67rem;font-weight:600;color:var(--rust);margin:0 0 20px;text-transform:uppercase}.hero .eyebrow{margin-top:18vh}.hero h1{font-size:clamp(3.8rem,7vw,7.6rem);letter-spacing:-.045em}.lede{font-family:Playfair Display;font-style:italic;max-width:520px;font-size:1.15rem;color:#53635e}.signin-wrap{background:var(--ink);display:grid;place-items:center;padding:40px}.signin{width:min(420px,100%);background:var(--paper);padding:52px 46px;box-shadow:0 20px 80px #0004}.signin h2,.modal h2{font-size:2.5rem}.signin>p:not(.kicker,.error){color:#68736f}.google,.primary{border:0;min-height:52px;padding:0 22px;display:flex;align-items:center;justify-content:center;gap:13px;font-weight:600}.google{width:100%;color:#fff;background:var(--ink);margin:28px 0 18px}.google b{color:#f7c948;font-size:1.2rem}.rule{display:flex;align-items:center;gap:12px;color:#8e9691;font-size:.58rem;letter-spacing:.2em;margin:25px 0 14px}.rule:before,.rule:after{content:"";height:1px;background:#d6d0c4;flex:1}.signin small{display:block;text-align:center;color:#7b8580;line-height:1.5}.error{color:#a33d2d}.splash{min-height:100vh;display:grid;place-content:center;gap:20px;text-align:center}.shell{min-height:100vh;display:flex;flex-direction:column}header{height:84px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d7d0c0}nav{display:flex;gap:20px;align-items:center;font-size:.8rem}.link{border:0;background:none;color:var(--rust);font-weight:600}.dashboard{padding:8vh 7vw;flex:1}.heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:50px}.heading h1{font-size:clamp(3rem,6vw,5.7rem)}.primary{background:var(--rust);color:#fff;min-width:150px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.trip{background:#fffaf0;border:1px solid #d8d0bf;box-shadow:0 10px 28px #322d2314}.map{height:170px;background:repeating-linear-gradient(24deg,transparent 0 25px,#193e3817 26px 27px),#ccd5c6;font-size:8rem;color:#193e3830;text-align:center}.details{padding:24px}.details h2{font-size:1.8rem}.empty{text-align:center;max-width:580px;margin:5vh auto}.globe{font-size:10rem;line-height:1;color:#193e382e}.empty h2{font-size:2.8rem}.empty .primary{margin:20px auto}.loading{text-align:center;padding:80px}footer{border-top:1px solid #d7d0c0;padding:28px 6vw;text-align:center;color:#75807b;font-size:.7rem}.backdrop{position:fixed;inset:0;background:#0f2522c2;display:grid;place-items:center;padding:20px}.modal{background:var(--paper);width:min(520px,100%);padding:45px;position:relative}.close{position:absolute;right:18px;top:14px;border:0;background:none;font-size:1.8rem}.modal label{display:grid;gap:8px;margin-top:24px}.modal input{padding:14px}.dates{display:grid;grid-template-columns:1fr 1fr;gap:14px}.modal .primary{width:100%;margin-top:28px}@media(max-width:800px){.login{grid-template-columns:1fr}.hero{padding:44px 7vw}.hero .eyebrow{margin-top:10vh}.signin-wrap{padding:38px 20px}.signin{padding:40px 28px}nav span{display:none}.dashboard{padding:55px 20px}.heading{align-items:start;flex-direction:column}.grid,.dates{grid-template-columns:1fr}}.shell>header{height:auto;min-height:calc(84px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);padding-left:max(6vw,calc(env(safe-area-inset-left,0px) + 16px));padding-right:max(6vw,calc(env(safe-area-inset-right,0px) + 20px))}.startup-error{min-height:100vh;display:grid;place-content:center;text-align:center;padding:2rem;background:var(--paper);color:var(--ink)}.startup-error h1{font-size:clamp(2rem,6vw,4rem);margin:0 0 1rem}.startup-error p{max-width:42rem;color:#9f4d33}.startup-error button{justify-self:center;border:0;background:var(--rust);color:#fff;padding:.9rem 1.4rem;font-weight:700;cursor:pointer}.signin-buttons{display:grid;gap:12px;margin:28px 0 18px}.signin-buttons .google{margin:0}.apple{width:100%;min-height:52px;border:0;padding:0 22px;display:flex;align-items:center;justify-content:center;gap:13px;color:#fff;background:#000;font:inherit;font-weight:600;cursor:pointer}.apple b{font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:1.35rem;font-weight:400}.journal-shell{min-height:100vh;background:linear-gradient(#f6e9c9b8,#d4bb89d1),#d8c292;color:#30291f}.journal-shell>header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid #553f242f}.journal-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);gap:16px;padding:16px;min-height:calc(100vh - 84px)}.globe-card,.journal-panel{position:relative;border:1px solid #55402440;border-radius:18px;background:#fff9e8e0;box-shadow:0 10px 30px #47321826;overflow:hidden}.travel-globe{display:block;width:100%;height:100%;min-height:620px;touch-action:none;cursor:grab}.globe-help{position:absolute;left:50%;bottom:14px;transform:translate(-50%);white-space:nowrap;padding:7px 11px;border-radius:20px;background:#fff9e8d1;font:700 9px Arial;letter-spacing:.12em}.journal-panel{padding:20px;overflow:auto}.journal-panel h1{font-size:32px;margin:4px 0 18px}.journey-picker{display:grid;gap:6px;font:700 10px Arial;letter-spacing:.12em;text-transform:uppercase}.journey-picker select{min-height:44px;border:1px solid #55402440;border-radius:10px;background:#fff9e9;padding:8px}.journal-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:15px 0}.journal-stats div{padding:10px 7px;border:1px solid #55402433;border-radius:10px;background:#d6bd8a47}.journal-stats b{display:block;color:#315f52;font-size:24px}.journal-stats span{font:700 8px Arial;text-transform:uppercase}.journey-list{display:grid;gap:10px}.journey-list article{padding:13px;border:1px solid #55402433;border-radius:12px;background:#fff9e88c}.journey-list h2{margin:3px 0 6px}.journey-list p{margin:4px 0}.route-list{display:grid;gap:3px;margin-top:8px;color:#6f624e;font:12px/1.4 Arial}.route-list span{padding-top:3px;border-top:1px dashed #5540242e}@media(max-width:850px){.journal-layout{grid-template-columns:1fr}.travel-globe{min-height:55vh}.journal-stats{grid-template-columns:repeat(2,1fr)}}.journal-shell{min-height:100dvh}.journal-shell>header{gap:12px}.journal-shell>header nav{flex-wrap:wrap;justify-content:flex-end}@media(hover:none)and (pointer:coarse)and (max-width:850px){.journal-shell>header{height:auto;min-height:70px;padding:10px 14px;align-items:center}.journal-shell>header nav{gap:10px;font-size:.75rem}.journal-shell>header nav span{display:none}.journal-layout{grid-template-columns:minmax(0,1fr);padding:10px;min-height:calc(100dvh - 70px)}.journal-panel{overflow:visible}.journal-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(hover:none)and (pointer:coarse)and (min-width:851px){.journal-layout{grid-template-columns:minmax(0,1fr) minmax(320px,1fr);align-items:start}.globe-card{position:sticky;top:16px;height:calc(100dvh - 116px);min-height:560px}.journal-panel{max-height:calc(100dvh - 116px);overflow:auto}}@media(horizontal-viewport-segments:2){.journal-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.globe-card,.journal-panel{min-width:0}}@media(hover:none)and (pointer:coarse)and (max-height:600px){.globe-help{font-size:8px;letter-spacing:.06em}}.danger{margin-top:12px;border:1px solid #a23f32;border-radius:8px;background:transparent;color:#a23f32;padding:8px 11px;font-weight:700;cursor:pointer}.danger:hover{background:#a23f32;color:#fff}.journal-shell>header{padding-top:max(10px,env(safe-area-inset-top,0px));padding-left:max(14px,calc(env(safe-area-inset-left,0px) + 12px));padding-right:max(14px,calc(env(safe-area-inset-right,0px) + 20px))}.accommodations{margin-top:18px;padding-top:16px;border-top:1px solid #5540242e}.accommodation-heading{display:flex;align-items:end;justify-content:space-between;gap:12px}.accommodation-heading .kicker{margin-bottom:4px}.accommodation-heading h3{margin:0;color:#193e38}.stay-list{display:grid;gap:8px;margin-top:10px}.stay-card{display:flex!important;align-items:flex-start;justify-content:space-between;gap:14px;padding:11px!important;background:#f2e5c7!important}.stay-card b,.stay-card span,.stay-card small{display:block}.stay-card span,.stay-card small{margin-top:3px;color:#6f624e;font-size:11px}.stay-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.stay-actions a,.stay-actions button{font:700 10px Arial;color:#b85f3d;text-decoration:none;white-space:nowrap}.modal select{min-height:48px;padding:10px;background:#fff;border:1px solid #aaa}.modal small{display:block;margin-top:8px;color:#6f624e;line-height:1.4}@media(max-width:650px){.stay-card{display:grid!important}.stay-actions{justify-content:flex-start}}.analytics{margin-top:16px;padding-top:16px;border-top:1px solid #55402433}.analytics-title h2{margin:3px 0 12px}.analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.analytics-group{padding:11px;border:1px solid #55402433;border-radius:11px;background:#f4e6c4a6}.analytics-group h3{margin:0 0 8px;color:#315f52;font:700 10px Arial;letter-spacing:.1em;text-transform:uppercase}.analytics-group ol{display:grid;gap:5px;margin:0;padding:0;list-style:none}.analytics-group li{display:flex;align-items:start;justify-content:space-between;gap:8px;font:12px/1.3 Arial}.analytics-group li span{min-width:0}.analytics-group li b{display:grid;place-items:center;min-width:23px;height:20px;border-radius:10px;background:#315f52;color:#fff;font-size:10px}.analytics-empty{margin:0;color:#766a58;font:11px/1.4 Arial}.analytics-group:last-child:nth-child(odd){grid-column:1/-1}@media(max-width:520px){.analytics-grid{grid-template-columns:1fr}.analytics-group:last-child:nth-child(odd){grid-column:auto}}.memory-editor{margin-top:18px;padding-top:16px;border-top:1px dashed #55402445}.memory-editor .kicker{margin-bottom:5px}.stars{display:flex;gap:2px;margin:5px 0 12px}.stars button{border:0;background:transparent;color:#a7997d;font-size:29px;padding:0 2px}.stars button.chosen{color:#c98a27}.memory-editor label{display:grid;gap:6px;font:700 11px Arial}.memory-editor textarea{width:100%;min-height:120px;resize:vertical;border:1px solid #55402440;border-radius:10px;background:#fff9e9;padding:10px;font:14px/1.45 Arial}.memory-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:9px}.memory-actions .primary{min-height:40px}.upload-label{display:inline-flex!important;place-items:center;min-height:40px;border:1px solid #55402440;border-radius:8px;padding:8px 12px;background:#fff9e9;cursor:pointer}.upload-label input{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.memory-status{min-height:18px;color:#6f624e;font:12px Arial}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.photo-grid figure{position:relative;aspect-ratio:1;margin:0;border-radius:9px;overflow:hidden;background:#d6bd8a47}.photo-grid img{width:100%;height:100%;object-fit:cover}.photo-grid .photo-open{display:block;width:100%;height:100%;padding:0;border:0;background:none}.photo-grid .photo-delete{position:absolute;z-index:2;right:4px;top:4px;width:28px;height:28px;border:0;border-radius:50%;background:#30291fd6;color:#fff;font-size:18px}.success{color:#315f52;font-weight:700}@media(max-width:520px){.photo-grid{grid-template-columns:repeat(2,1fr)}}.photo-viewer{position:fixed;z-index:3000;inset:0;display:grid;grid-template-columns:minmax(52px,1fr) minmax(0,12fr) minmax(52px,1fr);align-items:center;background:#0b1110f2;padding:max(18px,env(safe-area-inset-top,0px)) max(18px,env(safe-area-inset-right,0px)) max(18px,env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-left,0px));color:#fff;touch-action:pan-y}.photo-viewer figure{grid-column:2;margin:0;display:grid;justify-items:center;gap:12px;min-width:0}.photo-viewer img{display:block;max-width:100%;max-height:calc(100dvh - 100px);object-fit:contain;border-radius:10px;box-shadow:0 20px 70px #0008}.photo-viewer figcaption{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#eee;font:600 12px Arial}.photo-viewer button{border:0;color:#fff;background:#173f3acc}.viewer-close{position:absolute;top:max(14px,calc(env(safe-area-inset-top,0px) + 8px));right:max(14px,calc(env(safe-area-inset-right,0px) + 12px));width:44px;height:44px;border-radius:50%;font-size:30px;line-height:1}.viewer-previous,.viewer-next{width:48px;height:64px;border-radius:24px;font-size:42px;line-height:1}.viewer-previous{grid-column:1;justify-self:start}.viewer-next{grid-column:3;justify-self:end}.photo-open:focus-visible,.photo-viewer button:focus-visible{outline:3px solid #f2bb56;outline-offset:3px}@media(max-width:600px){.photo-viewer{grid-template-columns:44px minmax(0,1fr) 44px;padding-left:max(8px,env(safe-area-inset-left,0px));padding-right:max(8px,env(safe-area-inset-right,0px))}.viewer-previous,.viewer-next{width:40px;height:54px;font-size:34px}.photo-viewer img{max-height:calc(100dvh - 86px)}}.backdrop{z-index:1000}.modal{max-height:calc(100vh - 40px);overflow:auto}.modal input,.modal textarea{padding:14px;border:1px solid #cfc6b5;background:#fffaf0;font:inherit}.modal textarea{min-height:110px;resize:vertical}@media(min-width:851px){.globe-card{align-self:start;position:sticky;top:16px;height:calc(100vh - 116px);min-height:620px}.travel-globe{height:100%;min-height:0}}@media(max-width:850px){.globe-card{position:relative;height:58vh;min-height:420px}.travel-globe{height:100%;min-height:0}}@media(hover:none)and (pointer:coarse)and (max-width:850px){.globe-card{position:relative;top:auto;width:100%;height:min(58dvh,620px);min-height:360px}.travel-globe{width:100%;height:100%;min-height:0}}@media(hover:none)and (pointer:coarse)and (max-height:600px){.globe-card{height:72dvh;min-height:300px}}.memory-prompts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.memory-prompts label{margin:0}.memory-prompts textarea{min-height:105px}.photo-grid figure{position:relative}.photo-like{position:absolute;left:8px;bottom:8px;border:0;border-radius:999px;background:#ffffffeb;color:#16483f;padding:6px 10px;box-shadow:0 2px 12px #0000002e;cursor:pointer}.photo-like.liked{background:#bf5f3d;color:#fff}.photo-like span{font-variant-numeric:tabular-nums}.bulk-import,.boarding-pass-import{max-width:720px}.bulk-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:18px 0}.bulk-preview,.boarding-preview{display:grid;gap:7px;margin:14px 0;padding:14px;border:1px solid #d9c9a6;border-radius:12px;background:#fffaf0}.bulk-preview span{padding-top:7px;border-top:1px dashed #d9c9a6}.bulk-preview b+.bulk-preview span{border-top:0}.boarding-capture{display:grid;place-items:center;min-height:120px;margin:18px 0;padding:18px;border:2px dashed #bd9f6d;border-radius:14px;background:#fffaf0;text-align:center;cursor:pointer}.boarding-capture input{margin-top:12px}.map-mode{position:absolute;z-index:700;top:max(12px,env(safe-area-inset-top,0px));left:max(12px,env(safe-area-inset-left,0px));display:flex;padding:4px;border-radius:999px;background:#fff9e8e8;box-shadow:0 3px 15px #0002}.map-mode button{border:0;border-radius:999px;padding:8px 12px;background:transparent;color:#16483f;font-weight:700}.map-mode button.active{background:#16483f;color:#fff}.detailed-map{width:100%;height:100%;min-height:520px;border-radius:inherit;z-index:1}.detailed-map .leaflet-popup-content a{display:block;margin-top:6px}.globe-card{position:relative}@media(max-width:700px){.memory-prompts{grid-template-columns:1fr}.detailed-map{min-height:62vh}.map-mode{top:max(8px,env(safe-area-inset-top,0px));left:max(8px,env(safe-area-inset-left,0px))}}
