/* A little travel desk, before the journey begins. */
.is-preloading{overflow:hidden}.is-preloading .site-header,.is-preloading .page{visibility:hidden}
.travel-loader{--load-green:#70934f;--load-dark:#345438;position:fixed;inset:0;z-index:1000;overflow:auto;overscroll-behavior:contain;background:radial-gradient(ellipse at 86% 15%,#e5efcba8,transparent 50%),radial-gradient(ellipse at 9% 88%,#f8ecd1b0,transparent 45%),#fafbf4f7;color:var(--ink);isolation:isolate;transition:opacity .5s ease,transform .6s var(--ease-out);padding:max(25px,env(safe-area-inset-top)) max(26px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(26px,env(safe-area-inset-left))}
.travel-loader:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.23;background-image:radial-gradient(#96ab6d 1px,transparent 1px);background-size:25px 25px;mask-image:linear-gradient(90deg,#000,transparent 36%,transparent 65%,#000)}
.loading-top,.loading-bottom{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}
.loading-brand{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700}.loading-brand svg{width:29px;height:29px;padding:5px;border:1px solid #cbdcab;border-radius:10px;color:var(--forest);background:var(--paper)}
.loading-edition{font-size:10px;letter-spacing:1.8px;color:#657951}.loading-top{animation:load-fade .7s both}
.loading-layout{max-width:1060px;min-height:calc(100svh - 135px);margin:auto;display:grid;grid-template-columns:1fr 1.03fr;gap:50px;align-items:center;padding:40px 0 50px}
.loading-copy{position:relative;z-index:2}.loading-kicker{display:inline-flex;align-items:center;gap:8px;font-size:10px;letter-spacing:2px;color:#647c4a;margin-bottom:23px;animation:load-up .7s .1s both}.loading-kicker i{height:6px;width:6px;border-radius:50%;background:#93b066;box-shadow:0 0 0 5px #b4ce9020;animation:load-pulse 2s infinite}
.loading-copy h1{font-size:clamp(35px,4.2vw,56px);letter-spacing:-2px;font-weight:700;line-height:1.3;margin:0 0 18px;animation:load-up .8s .15s both}.loading-copy h1 span{color:#769752;position:relative}.loading-copy h1 span:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:5px;border-radius:50%;background:#d7e4b1;transform:rotate(-2deg)}
.loading-intro{font-size:13px;line-height:1.9;color:#66725d;max-width:380px;margin:0 0 29px;animation:load-up .8s .22s both}
.loading-ticket{position:relative;background:#fffefb;border:1px solid #e0e7d1;border-radius:22px;padding:24px 25px 21px;box-shadow:0 4px 0 #e3eace,0 16px 44px #78925a13;animation:load-up .8s .28s both;overflow:hidden}
.loading-ticket:before,.loading-ticket:after{content:"";position:absolute;width:17px;height:17px;border-radius:50%;background:#f8faef;top:116px;border:1px solid #e0e7d1}.loading-ticket:before{left:-10px}.loading-ticket:after{right:-10px}
.loading-progress-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}.loading-status{font-size:12px;font-weight:700;max-width:280px}.loading-progress-number{font-size:38px;line-height:1;color:var(--load-dark);font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-1.5px}.loading-progress-number small{font-size:12px;margin-left:3px;letter-spacing:0;color:#719259}
.loading-progress{height:8px;background:#edf2e4;border-radius:10px;overflow:hidden;position:relative}.loading-progress span{display:block;height:100%;width:100%;background:linear-gradient(90deg,#a6c77d,#708e4f);transform:scaleX(0);transform-origin:left;transition:transform .3s ease;border-radius:inherit;position:relative}.loading-progress span:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,#fff8 45%,transparent 70%);animation:load-sheen 2s linear infinite}
.loading-progress-meta{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#6b7c5e;margin:10px 0 17px;font-variant-numeric:tabular-nums}
.loading-resource{font-size:11px;color:#60714f;margin:0;padding-top:14px;border-top:1px dashed #dfe7cf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.6}
.loading-steps{display:flex;justify-content:space-between;gap:10px;margin:14px 0 16px;font-size:10px;color:#657558}.loading-steps span{display:flex;align-items:center;gap:5px;white-space:nowrap}.loading-steps i{width:17px;height:17px;border-radius:50%;background:#edf2e4;display:grid;place-items:center;font-size:8px;font-style:normal;color:#607448;transition:background .3s,color .3s}.loading-steps .active i{box-shadow:0 0 0 3px #b5cc8d24}.loading-steps .complete i{background:#789954;color:#fff}.loading-steps .complete i:after{content:"✓"}.loading-steps .complete i{font-size:0}.loading-steps .complete i:after{font-size:10px}
.loading-enter{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:50px;background:linear-gradient(135deg,#769851,#496b3c);border:1px solid #688c49;border-radius:12px;color:#fff;font:700 14px var(--font);box-shadow:0 4px 0 #34542c,0 9px 19px #607f4b24;transition:transform .2s,box-shadow .2s,background .3s;cursor:pointer}.loading-enter svg{width:19px;height:19px}.loading-enter:disabled{background:#edf2e1;color:#7a895f;border-color:#dde5ca;box-shadow:0 3px 0 #e2eacf;cursor:wait}.loading-enter:not(:disabled){animation:load-ready 2.4s ease-in-out infinite}.loading-enter:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px 0 #34542c,0 14px 25px #607f4b30}.loading-enter:not(:disabled):active{transform:translateY(3px);box-shadow:0 1px 0 #34542c}.loading-enter:focus-visible,.loading-retry:focus-visible{outline:3px solid #9bc572;outline-offset:5px}
.loading-cached{margin:13px 0 0;text-align:center;font-size:10px;color:#6a795b;line-height:1.5}.loading-retry{font:700 13px var(--font);display:block;border:1px solid #decf97;background:#fff7de;color:#755a2e;width:100%;min-height:46px;border-radius:11px;margin:14px 0 0;cursor:pointer}.loading-retry[hidden]{display:none}.loading-errors{margin:15px 0 0;padding:12px 12px 12px 28px;font-size:11px;color:#8d4f3c;background:#fff5ee;border-radius:10px;max-height:110px;overflow:auto;line-height:1.8}.loading-errors[hidden]{display:none}.travel-loader[data-state=error] .loading-progress span{background:linear-gradient(90deg,#dcc48a,#bb9654)}
.loading-trip{margin:18px 1px 0;display:flex;align-items:flex-start;gap:8px;font-size:11px;color:#647457;line-height:1.65;animation:load-fade .8s .5s both}.loading-trip svg{flex-shrink:0;width:14px;height:14px;margin-top:2px;color:#84a459}
.loading-scene{height:530px;position:relative;perspective:1000px;transform:rotateY(var(--look-x,0deg)) rotateX(var(--look-y,0deg));transition:transform .6s var(--ease-out);transform-style:preserve-3d;animation:load-scene .9s .2s both}
.loading-orbit{position:absolute;width:390px;height:390px;border:1px dashed #ccddae;border-radius:50%;top:55px;left:50%;translate:-50% 0;animation:load-orbit 42s linear infinite}.loading-orbit:before,.loading-orbit:after{content:"";position:absolute;width:10px;height:10px;border:4px solid #fafbf4;border-radius:50%;background:#acbc6e;top:47px;left:43px;box-shadow:0 0 0 1px #cdddad}.loading-orbit:after{top:auto;left:auto;bottom:43px;right:47px;background:#dac777}
.loading-hill{position:absolute;inset:128px 17px 22px;background:radial-gradient(ellipse at center,#e7efcf 0%,#eaf0d642 58%,transparent 72%);border-radius:50%}
.loading-route{position:absolute;inset:40px 0 0;width:100%;height:90%;overflow:visible}.loading-route path{fill:none;stroke:#bfd49c;stroke-width:1.7;stroke-dasharray:5 8;animation:load-route 6s linear infinite}
.loading-postcard{position:absolute;width:183px;margin:0;padding:8px 8px 28px;background:#fffef9;border:1px solid #e1e7d3;box-shadow:0 5px 0 #e3eace,0 18px 28px #5a75351a;transform:rotate(var(--card-tilt));border-radius:5px;animation:load-card-float 6s ease-in-out infinite;animation-delay:var(--float-delay);overflow:visible;z-index:2}
.loading-postcard img{display:block;width:100%;height:128px;object-fit:cover;border-radius:2px}.loading-postcard figcaption{font-size:10px;letter-spacing:.4px;text-align:center;margin-top:10px;color:#65734c}.loading-postcard:after{content:"";position:absolute;left:50%;top:-11px;width:62px;height:20px;background:#d9e6b585;rotate:-7deg;translate:-50% 0;border:1px solid #b9cb8c30;box-shadow:0 1px 2px #92a96e10;backdrop-filter:blur(2px)}
.loading-card-one{--card-tilt:-10deg;--float-delay:-2s;left:3%;top:44px}.loading-card-two{--card-tilt:10deg;--float-delay:-4s;right:0;top:88px}.loading-card-three{--card-tilt:-6deg;--float-delay:-1s;width:167px;left:29%;bottom:18px}.loading-card-three img{height:98px}
.loading-sheep{position:absolute;width:275px;left:50%;top:149px;translate:-50% 0;z-index:4;animation:load-sheep-float 4.5s ease-in-out infinite}.loading-sheep img{display:block;width:100%;height:auto;filter:drop-shadow(0 16px 9px #6e87411a)}
.loading-shadow{position:absolute;width:167px;height:18px;left:50%;top:397px;translate:-50% 0;z-index:3;border-radius:50%;background:radial-gradient(ellipse,#99af6327,transparent 73%);animation:load-shadow 4.5s ease-in-out infinite}
.loading-stamp{position:absolute;width:70px;height:70px;right:9px;bottom:74px;border:2px solid #94b166;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#739553;font-size:8px;rotate:13deg;background:#f9fbefbf;box-shadow:inset 0 0 0 4px #f9fbef,inset 0 0 0 5px #a8be7f;animation:load-stamp .8s .7s both;z-index:3}.loading-stamp svg{width:23px;height:23px}.loading-stamp span{letter-spacing:1px}
.loading-note{position:absolute;right:40px;top:13px;font-size:10px;color:#7f9665;letter-spacing:2px;rotate:5deg}.loading-flower{position:absolute;z-index:5;font-size:29px;color:#b5c880;animation:load-flower 8s linear infinite;left:7px;bottom:107px}.loading-flower svg{width:34px;height:34px}.loading-spark{position:absolute;width:21px;height:21px;color:#d3b55e;top:24px;left:48%;animation:load-spark 3.4s ease-in-out infinite}.loading-spark-two{top:auto;left:auto;right:8%;bottom:202px;animation-delay:-1.2s;width:16px;height:16px}
.loading-bottom{font-size:10px;letter-spacing:1.2px;color:#6b7e54;animation:load-fade .8s .5s both}.loading-bottom span:first-child{letter-spacing:.5px}.loading-bottom b{font-weight:400;color:#5d7542}
.travel-loader.leaving{opacity:0;transform:scale(1.035);pointer-events:none}.travel-enter .hero,.travel-enter .crew-panel,.travel-enter .map-panel,.travel-enter .operator-panel{animation:load-up .8s var(--ease-out) both}.travel-enter .crew-panel{animation-delay:.1s}.travel-enter .map-panel,.travel-enter .operator-panel{animation-delay:.2s}
img,canvas{-webkit-user-drag:none;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}img{pointer-events:none}img.image-loading{opacity:0}img.image-ready{animation:media-image-in .4s ease-out both}[data-image-state=loading]{background-image:linear-gradient(110deg,#e9efdc 15%,#f8faed 40%,#e9efdc 65%);background-size:220% 100%;animation:media-shimmer 1.5s ease-in-out infinite}.scenery-preview canvas{animation:media-image-in .4s ease-out both}
@keyframes media-image-in{from{opacity:0}to{opacity:1}}@keyframes media-shimmer{to{background-position:-220% 0}}@keyframes load-up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes load-fade{from{opacity:0}to{opacity:1}}@keyframes load-scene{from{opacity:0;scale:.93}to{opacity:1;scale:1}}@keyframes load-card-float{0%,100%{transform:translateY(0) rotate(var(--card-tilt))}50%{transform:translateY(-9px) rotate(calc(var(--card-tilt) + 2deg))}}@keyframes load-sheep-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-12px) rotate(2deg)}}@keyframes load-shadow{0%,100%{scale:1;opacity:.9}50%{scale:.82;opacity:.55}}@keyframes load-orbit{to{rotate:360deg}}@keyframes load-route{to{stroke-dashoffset:-130}}@keyframes load-flower{to{rotate:360deg}}@keyframes load-spark{0%,100%{scale:.75;opacity:.45;rotate:-12deg}50%{scale:1.15;opacity:1;rotate:12deg}}@keyframes load-sheen{from{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes load-pulse{50%{box-shadow:0 0 0 8px #b4ce9000}}@keyframes load-stamp{from{opacity:0;scale:1.4;rotate:-10deg}to{opacity:1;scale:1;rotate:13deg}}@keyframes load-ready{50%{box-shadow:0 4px 0 #34542c,0 9px 24px #6c974440}}
@media(max-width:1100px){.loading-layout{gap:25px}.loading-scene{scale:.88;transform-origin:center}.loading-copy h1{font-size:45px}.loading-ticket{padding:22px 20px}.loading-edition{font-size:9px}.loading-status{font-size:11px}}
@media(max-width:760px){.travel-loader{padding:max(19px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left))}.loading-top{max-width:410px}.loading-brand{font-size:12px;gap:7px}.loading-brand svg{width:26px;height:26px}.loading-edition{font-size:8px;letter-spacing:1px}.loading-layout{display:flex;flex-direction:column-reverse;gap:0;min-height:0;max-width:410px;padding:12px 0 25px}.loading-copy{width:100%;text-align:center}.loading-scene{height:237px;width:340px;max-width:100%;scale:1;margin-bottom:7px}.loading-orbit{width:229px;height:229px;top:5px}.loading-hill{inset:40px 7px 5px}.loading-postcard{width:117px;padding:5px 5px 14px}.loading-postcard img{height:82px}.loading-postcard figcaption{font-size:7px;margin-top:7px}.loading-postcard:after{width:43px;height:14px;top:-7px}.loading-card-one{left:0;top:31px}.loading-card-two{right:0;top:42px}.loading-card-three{width:110px;left:28%;bottom:0;padding-bottom:8px}.loading-card-three img{height:49px}.loading-card-three figcaption{font-size:7px;margin-top:5px}.loading-sheep{width:153px;top:69px}.loading-shadow{top:201px;width:100px}.loading-note{right:21px;top:5px;font-size:8px;letter-spacing:1.2px}.loading-stamp{width:44px;height:44px;right:14px;bottom:18px;font-size:5px;gap:1px;border-width:1px;box-shadow:inset 0 0 0 3px #f9fbef,inset 0 0 0 4px #a8be7f}.loading-stamp svg{width:16px;height:16px}.loading-flower{bottom:19px;left:15px}.loading-flower svg{width:24px;height:24px}.loading-spark{top:19px;width:16px;height:16px}.loading-spark-two{right:4%;bottom:72px;width:11px;height:11px}.loading-kicker{font-size:8px;letter-spacing:1.6px;margin-bottom:14px}.loading-copy h1{font-size:34px;line-height:1.25;letter-spacing:-1.3px;margin-bottom:16px}.loading-copy h1 br{display:block}.loading-intro{font-size:11px;line-height:1.7;margin:0 auto 20px;max-width:290px}.loading-ticket{text-align:left;border-radius:19px;padding:20px}.loading-progress-number{font-size:34px}.loading-status{font-size:11px;max-width:210px}.loading-progress-meta{font-size:9px}.loading-steps{font-size:9px}.loading-enter{min-height:48px;font-size:13px}.loading-cached{font-size:9px}.loading-trip{font-size:10px;justify-content:center;margin-top:16px}.loading-bottom{max-width:410px;justify-content:center;font-size:8px;text-align:center;line-height:1.7}.loading-bottom span:last-child{display:none}}
@media(max-width:760px) and (max-height:740px){.loading-scene{height:191px;scale:.84;margin:-9px 0 -8px;transform-origin:center}.loading-layout{padding-top:8px}.loading-kicker{margin-bottom:10px}.loading-copy h1{font-size:30px}.loading-intro{margin-bottom:15px}.loading-ticket{padding:17px 18px}.loading-trip{margin-top:13px}.loading-layout{padding-bottom:15px}}
@media(prefers-reduced-motion:reduce){.travel-loader *,.travel-loader *:before,.travel-loader *:after,.image-ready,.scenery-preview canvas,[data-image-state=loading]{animation:none!important;transition:none!important}.loading-scene{transform:none}.travel-loader.leaving{transform:none}}
.no-motion .travel-loader *,.no-motion .travel-loader *:before,.no-motion .travel-loader *:after,.no-motion .image-ready,.no-motion .scenery-preview canvas,.no-motion [data-image-state=loading]{animation:none!important;transition:none!important}.no-motion .loading-scene{transform:none}
.stamp-photo.image-ready{animation:none}
@media(max-width:760px) and (max-height:740px){.loading-sheep{width:140px;top:52px}}
/* The leaf tip remains at the click point; hover decorations have no ring. */
.sheep-pointer{margin:0;padding:0;border:0;background:transparent;position:fixed;left:0;top:0;width:40px;height:40px;z-index:1200;pointer-events:none;opacity:0;transition:opacity .12s;will-change:transform;overflow:visible}.sheep-pointer.visible{opacity:1}.sheep-pointer svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 2px 2px #7b8d3d20)}.cursor-leaf{transform-origin:8px 6px;transition:transform .3s var(--spring,cubic-bezier(.22,1.3,.36,1))}.is-hover .cursor-leaf{animation:cursor-leaf-sway 2.6s ease-in-out infinite}.cursor-sprigs{opacity:0;transform:scale(.65);transform-origin:32px 32px;transition:opacity .2s,transform .3s var(--spring,cubic-bezier(.22,1.3,.36,1))}.is-hover .cursor-sprigs{opacity:1;transform:scale(1);animation:cursor-sprigs-drift 2.7s ease-in-out infinite}.is-press .cursor-leaf{animation:none;transform:scale(.82) rotate(5deg);transition-duration:.08s}.cursor-click{opacity:0;transition:opacity .1s}.is-press .cursor-click{opacity:1}
@keyframes cursor-leaf-sway{0%,100%{transform:scale(1.07) rotate(-3deg)}50%{transform:scale(1.07) rotate(1deg)}}@keyframes cursor-sprigs-drift{50%{transform:translateY(-2px) rotate(4deg)}}
@media(hover:hover) and (pointer:fine){.sheep-cursor-active,.sheep-cursor-active *{cursor:none!important}}@media(hover:none),(pointer:coarse){.sheep-pointer{display:none}}@media(prefers-reduced-motion:reduce){.sheep-pointer,.sheep-pointer *{transition:none!important;animation:none!important}}.no-motion .sheep-pointer,.no-motion .sheep-pointer *{transition:none!important;animation:none!important}
