@font-face{font-family:system;src:local('Avenir Next')}*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:#f6f4ed;color:#1d3430;font:15px system,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;border:0;background:none;color:inherit}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #c4754e;outline-offset:3px}[hidden]{display:none!important}h1,h2,p{margin-top:0}h1,h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.035em}h1{font-size:clamp(38px,4.8vw,76px);line-height:1.06}h2{font-size:30px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px}.brand{text-decoration:none;display:flex;align-items:center;font-size:24px;font-weight:800;letter-spacing:-1px;line-height:.85;position:relative;gap:7px}.brand span{font-size:9px;letter-spacing:2px;max-width:90px}.brand i{font-size:30px;font-weight:300;font-style:normal}.primary,.outline{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 20px;border-radius:3px;font-size:12px;font-weight:650}.primary{background:#233f38;color:#fff}.primary:hover{background:#385b50}.outline{border:1px solid #bcc6bd}.quiet{font-size:12px;text-decoration:underline;text-underline-offset:4px}.gate{min-height:100svh;display:grid;grid-template-columns:1.15fr 1fr}.gate-art{background:#1c3932;color:#f7f2e7;padding:12vh 8vw;display:flex;flex-direction:column;justify-content:center;overflow:hidden;position:relative}.gate-art>*{z-index:1}.gate-art h1{font-size:clamp(48px,5vw,78px);margin:26px 0}.gate-art p:not(.eyebrow){color:#c1cdc2}.coordinates{font-size:9px;letter-spacing:2px;position:absolute;bottom:45px}.contours{position:absolute;inset:-25%;opacity:.13;transform:rotate(-25deg);background:repeating-radial-gradient(ellipse at 35% 40%,transparent 0px,transparent 23px,#cedcc6 24px,transparent 25px,transparent 43px)}#login-form{align-self:center;max-width:440px;padding:50px;width:100%;margin:auto}#login-form .brand{margin-bottom:64px}#login-form h2{font-size:44px;margin-bottom:16px}#login-form p:not(.eyebrow){color:#78877a;font-size:13px}#login-form .primary{width:100%;margin-top:12px}label{display:block;font-size:12px;line-height:1.5}input:not([type=checkbox]),select,textarea{display:block;width:100%;padding:12px;background:#fffdf8;border:1px solid #c5cbbf;border-radius:3px;color:#213d36;margin:6px 0 16px;min-height:44px}textarea{min-height:100px}header{height:95px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid #d9ddd3}nav{display:flex;align-items:center;gap:25px}nav button{font-size:12px}main{padding:50px 5vw 40px;max-width:1800px;margin:auto}.intro{display:flex;align-items:end;justify-content:space-between;padding:10px 0 36px}.intro h1{margin:20px 0 0}.intro>p{color:#778273;font-size:13px;line-height:1.8;padding:0 10px 6px 30px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:9px;letter-spacing:1.4px;font-weight:650;border-top:1px solid #cdd5c8;padding:18px 0 22px}.trip-cards{display:grid;grid-template-columns:1fr 1fr;gap:28px}.trip-card{padding:0;text-align:left}.trip-art{height:clamp(200px,27vw,420px);position:relative;overflow:hidden;background:#2d4c43}.trip-art img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.trip-card:hover img{transform:scale(1.03)}.trip-art .placeholder{height:100%;display:grid;place-content:center;background:repeating-radial-gradient(ellipse at 20% 70%,transparent 0px,transparent 28px,#bed3be1a 29px,transparent 31px,transparent 56px),linear-gradient(130deg,#1a3538,#768c74);color:#d9e3cf;font:italic 68px Georgia,serif}.trip-card:nth-child(2) .placeholder{background:repeating-radial-gradient(ellipse at 75% 40%,transparent 0px,transparent 28px,#c9e0c21a 29px,transparent 31px,transparent 56px),linear-gradient(130deg,#24433a,#9fa47f)}.trip-badge{position:absolute;top:18px;left:18px;background:#f6f4edeb;padding:8px 12px;font-size:9px;letter-spacing:1px}.trip-info{padding:21px 0;display:flex;justify-content:space-between}.trip-info h2{margin:0 0 8px;font-size:34px}.trip-info p{font-size:12px;color:#778273;margin:0}.trip-info>span{font-size:28px}.coming{margin-top:38px;padding-top:22px;border-top:1px solid #cdd5c8;font-size:10px;letter-spacing:1px;color:#778273}.coming p{margin-top:14px;letter-spacing:0;font-size:14px}footer{display:flex;justify-content:space-between;padding:28px 5vw;border-top:1px solid #d9ddd3;font-size:9px;letter-spacing:1.5px;color:#778273}.journey-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.journey-heading h1{font-size:44px;margin:0}.journey-tools{display:flex;gap:12px}#show-map{display:none}.journey-layout{display:grid;grid-template-columns:2fr 1fr;gap:22px;margin-bottom:36px;align-items:start}.cinema{min-width:0}.stage{background:#101b19;aspect-ratio:16/9;position:relative;display:flex;align-items:center;justify-content:center;border-radius:3px;overflow:hidden}.stage video,.stage img{width:100%;height:100%;object-fit:contain;position:absolute;inset:0}.stage-empty{text-align:center;padding:25px;color:#e5e9de}.stage-empty>span{font-size:48px;color:#a9bba5}.stage-empty h2{font-size:26px;margin:15px 0}.stage-empty p{font-size:12px;color:#afc0b2}.playbar{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #d6ddcf;min-height:50px}.playbar>button:not(.quiet){font-size:20px}.playbar>span{font-size:9px;letter-spacing:1px}.playbar label{margin-left:auto;font-size:10px;display:flex;align-items:center;gap:6px}.playbar .quiet{font-size:10px}.moment-caption{padding:18px 0}.moment-caption h2{font-size:23px;margin-bottom:8px}.moment-caption p{font-size:11px;color:#778273;margin:0 0 10px}.location-panel{border:1px solid #ced6c7;background:#eeefe5;min-width:0}.location-heading{padding:16px;display:flex;justify-content:space-between;align-items:center}.location-heading .eyebrow{font-size:9px}.live-dot{color:#899c70;font-size:10px}#map{height:clamp(180px,20vw,315px);background:#dce3d4}.place-info{padding:18px}#location-label{font:24px Georgia,serif;margin-bottom:8px}#coordinates{font-size:11px;color:#788273}.date-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #cbd5c3;padding-top:15px;margin-top:18px;gap:10px}.date-grid span{display:block;font-size:8px;letter-spacing:1.5px;color:#7a8776;margin-bottom:8px}.date-grid strong{font-size:12px;font-weight:500}.note{font-size:11px;color:#788273;line-height:1.6;margin:12px 0 0}#map-link{font-size:11px;display:inline-block;margin-top:12px}.timeline{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:14px}.moment{padding:0;text-align:left;min-width:0;border-bottom:2px solid transparent}.moment.selected{border-color:#355748}.moment img{width:100%;aspect-ratio:16/10;object-fit:cover;background:#dce3d4;border-radius:2px}.moment .thumb-empty{height:95px;display:grid;place-content:center;background:#e4e8dc;font-size:12px}.moment small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;padding:8px 0 3px}.moment .status{font-size:9px;color:#788273;padding-bottom:8px}.moment.error .status{color:#a24f33}.empty-note{font-size:12px;color:#788273}dialog{border:0;border-radius:6px;max-width:720px;width:calc(100% - 28px);max-height:90svh;padding:32px;background:#f6f4ed;color:#1d3430}dialog::backdrop{background:#0e211cd9;backdrop-filter:blur(5px)}dialog h2{margin-bottom:12px}.dialog-heading{display:flex;align-items:start;justify-content:space-between;gap:20px}.dialog-heading .eyebrow{margin-bottom:10px}.close{font-size:28px;line-height:1;padding:2px 8px}.dialog-heading+p{font-size:12px;line-height:1.6;color:#788273}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.drop-zone{border:1px dashed #a8b9a1;padding:22px;text-align:center;border-radius:3px;margin-top:12px;background:#eef0e6;font-weight:600}.drop-zone input{font-size:12px;margin-bottom:0}details{padding:14px 0;border-bottom:1px solid #d4ddcd;font-size:12px}details[open] summary{margin-bottom:12px}.file-entry{padding:18px 0;border-bottom:1px solid #d4ddcd}.file-entry .file-name{font-size:12px;overflow-wrap:anywhere}.file-entry video{display:block;max-height:220px;width:100%;margin:12px 0;background:#152a23}.file-entry .file-preview{max-height:130px;max-width:100%;margin:10px 0}.trim-label{font-size:10px;color:#788273}.file-entry .form-grid{max-width:320px}.file-entry input{margin-bottom:5px}.file-progress{height:3px;background:#d3ddc9;margin-top:10px}.file-progress span{height:3px;background:#3d6353;display:block;width:0}.file-status{font-size:10px;margin-top:7px;color:#71806d}.dialog-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:22px}.dialog-actions>span{font-size:11px}.danger,#login-error,#upload-error,#edit-error{color:#a24f33;font-size:12px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:14px 22px;background:#203d34;color:white;border-radius:4px;font-size:12px;z-index:2000;max-width:90vw}button:disabled{opacity:.5;cursor:wait}.leaflet-container{font-family:inherit}.leaflet-control-attribution{font-size:9px!important}.map-number{background:#254c3d;border:2px solid #f7f6ed;border-radius:50%;color:#fff;width:28px;height:28px;display:grid;place-items:center;font-size:10px;box-shadow:0 2px 7px #1234}.map-number.active{background:#b66843;transform:scale(1.12)}
@media(max-width:800px){header{height:74px;padding:0 20px}.brand{font-size:20px}.brand span{font-size:8px}nav{gap:12px}nav #home-button,nav #logout{display:none}nav .outline{padding:10px 12px;font-size:11px}main{padding:28px 20px}.intro{align-items:start}.intro>p{display:none}.intro h1{font-size:44px}.section-heading span:last-child{font-size:8px;max-width:130px;text-align:right}.trip-cards{gap:24px}.trip-art{height:230px}.trip-info h2{font-size:28px}.trip-info p{font-size:10px}.coming p{line-height:1.7}.journey-heading h1{font-size:34px}.journey-heading .eyebrow{font-size:8px}.journey-tools .primary{padding:10px;font-size:10px}.journey-layout{gap:14px}.place-info{padding:13px}.location-heading{padding:12px}#location-label{font-size:20px}.date-grid{gap:8px}.date-grid strong{font-size:11px}.timeline{grid-template-columns:repeat(auto-fill,minmax(115px,1fr));gap:12px}.gate{grid-template-columns:1fr}.gate-art{display:none}#login-form{padding:30px;max-width:420px}footer{padding:24px 20px;font-size:8px}dialog{padding:24px}}
@media(max-width:650px) and (orientation:portrait){.trip-cards{grid-template-columns:1fr}.trip-art{height:260px}.journey-layout{grid-template-columns:1fr}.journey-heading{gap:8px}.journey-heading h1{font-size:32px}.journey-tools .primary{display:none}#show-map{display:block;padding:9px 12px;font-size:10px}.location-panel{display:block}#map{height:210px}.date-grid{margin-top:12px;padding-top:12px}.place-info{padding:16px}.moment-caption{padding-bottom:4px}.form-grid{grid-template-columns:1fr}.file-entry .form-grid{grid-template-columns:1fr 1fr}.playbar{gap:9px}.playbar label{font-size:9px}.playbar .quiet{font-size:9px}.journey-heading{margin-bottom:20px}.intro h1{font-size:42px}.dialog-actions{align-items:stretch;flex-direction:column}.dialog-actions .primary{justify-content:center}.stage{aspect-ratio:16/10}}
@media(max-height:550px) and (orientation:landscape){header{height:52px}main{padding-top:16px}.journey-heading{margin-bottom:12px}.journey-heading h1{font-size:28px}.journey-heading .eyebrow{margin-bottom:6px}.journey-layout{grid-template-columns:2fr 1fr;gap:14px}.journey-tools .primary{padding:9px 12px}.stage{aspect-ratio:16/9;max-height:calc(100svh - 155px)}#map{height:140px}.location-heading{padding:8px 12px}.place-info{padding:10px 12px}#location-label{font-size:18px;margin-bottom:5px}#coordinates{font-size:10px;margin-bottom:8px}.date-grid{margin-top:8px;padding-top:8px}.note{font-size:9px;margin-top:8px}.moment-caption{padding:10px 0}.moment-caption h2{font-size:18px}.playbar{padding:6px 0;min-height:35px}.journey-layout{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.stage{width:100%}

.moment-card{position:relative;min-width:0}.moment-card .moment{width:100%;display:block}.bin-button{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:4px;color:#7e3d2a;background:#f6f4edf2;border:1px solid #d8ccbe}.moment-card>.bin-button{position:absolute;right:5px;top:5px}.bin-button:hover{background:#f0dfd1;color:#a13218}.moment-actions{display:flex;align-items:center;gap:18px}.player-bin{position:static;width:44px;height:44px}
