@font-face{font-family:Caveat;src:url(/fonts/caveat-regular.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}:root{font-family:Georgia,serif;color:#87877e;background:#fff;font-synthesis:none;--hand:Caveat,"Bradley Hand",cursive}*{box-sizing:border-box}body{margin:0}button{color:inherit;font:inherit;background:none;border:0;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:1px solid #9b9a90;outline-offset:5px;border-radius:50%}[hidden]{display:none!important}#home{height:100svh;min-height:240px;display:grid;place-items:center;transition:opacity .9s ease}#home.is-away{opacity:0;pointer-events:none}.timeline{width:min(58vw,760px);height:100px;display:flex;align-items:center;justify-content:space-between;position:relative}.timeline-track{position:absolute;left:22px;right:22px;height:1px;background:linear-gradient(90deg,#deded8,#adb59f 34%,#deded8);pointer-events:none}.moment{--near:0;width:44px;height:44px;position:relative;display:grid;place-items:center;padding:0}.node{position:relative;width:7px;height:7px;border-radius:50%;background:#aaa99e;box-shadow:0 0 0 5px #fff;transform:translate(var(--pull-x,0px),var(--pull-y,0px)) scale(calc(1 + var(--near)*.35));transition:background .2s,box-shadow .2s}.node:after{content:"";position:absolute;inset:-10px;border:1px solid #a8b296;border-radius:50%;opacity:calc(var(--near)*.45);transform:scale(calc(.8 + var(--near)*.2));transition:opacity .2s}.available .node{background:#687d5d}.available .node:before{content:"";position:absolute;inset:-4px;border:1px solid #a7b79870;border-radius:50%}.moment:hover .node,.moment:focus-visible .node{background:#4c6843;box-shadow:0 0 0 6px #fff,0 0 0 14px #b8bf9a26;transform:translate(var(--pull-x,0px),var(--pull-y,0px)) scale(1.6)}.moment:hover .node:after,.moment:focus-visible .node:after{opacity:.8}.date{position:absolute;bottom:52px;left:50%;transform:translate(-50%,7px) rotate(-3deg);white-space:nowrap;font:400 25px/1.1 var(--hand);letter-spacing:.02em;color:#586d4e;opacity:0;pointer-events:none;transition:opacity .22s,transform .3s}.date small{display:block;font-size:15px;color:#9c9f92;margin-top:5px;letter-spacing:.02em}.moment:hover .date,.moment:focus-visible .date{opacity:1;transform:translate(-50%) rotate(-3deg)}.upcoming .date{color:#888c7f}.upcoming{cursor:default}#cursor-canvas{position:fixed;inset:0;pointer-events:none;z-index:6}#memory{height:100svh;position:fixed;inset:0;overflow:hidden;z-index:2;background:#fff;opacity:0;pointer-events:none;transition:opacity .9s ease}#memory.is-visible{opacity:1;pointer-events:auto}#scene-container{position:absolute;inset:0;display:grid;place-items:center}#scene-container canvas{display:block;width:100%;height:100%}#scene-status{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:12px;text-align:center;color:#9a9a90;max-width:280px}.scene-heading{position:absolute;top:0;left:0;right:0;z-index:3;display:flex;align-items:center;flex-direction:column;padding:25px 68px 58px;pointer-events:none;background:linear-gradient(180deg,rgba(15,24,37,.78),rgba(18,28,41,.47) 45%,rgba(18,28,41,.17) 73%,transparent)}.scene-subtitle{margin:0;color:#fff;font:400 clamp(30px,3vw,43px)/1.2 var(--hand);letter-spacing:.01em;transform:rotate(-2deg);white-space:nowrap;text-shadow:0 2px 14px #08131f50}.season-control{--season:.333333;pointer-events:auto;width:min(260px,65vw);margin-top:13px;-webkit-user-select:none;user-select:none}.season-rail{height:28px;position:relative}.season-thread{position:absolute;inset:2px 0;width:100%;height:24px;overflow:visible;pointer-events:none;opacity:.9}.season-bead{position:absolute;left:calc(8px + (100% - 16px)*var(--season));top:9px;transform:translate(-50%) rotate(-18deg);width:10px;height:12px;border-radius:45% 55% 48% 52%;background:#fff5df;box-shadow:0 0 0 3px #ffedcc14,0 0 14px #ffedcc30;pointer-events:none;transition:box-shadow .2s}.season-control:hover .season-bead{box-shadow:0 0 0 5px #ffedcc1a,0 0 18px #ffedcc40}#season-slider{position:absolute;inset:0;width:100%;height:28px;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y}.season-rail:has(input:focus-visible){outline:1px solid #fff9;outline-offset:4px;border-radius:10px}.season-labels{display:flex;justify-content:space-between;padding:0;font:400 17px/1.1 var(--hand);letter-spacing:.01em;color:#fff6}.season-labels span{transition:color .2s,transform .2s}.season-labels .chosen{color:#fff3d9;transform:rotate(-4deg) translateY(1px)}.scene-control{position:absolute;z-index:4;bottom:27px;width:44px;height:44px;font-family:Arial,sans-serif;font-size:19px;color:#fff0d6;text-shadow:0 1px 5px #172938;transition:color .2s}.scene-control:hover{color:#fff}#back{top:26px;left:28px;bottom:auto;font-size:21px}#pause{right:30px;font-size:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:600px){.timeline{width:78vw}.date{font-size:23px}.date small{font-size:14px}.scene-heading{padding:24px 50px 48px}.scene-subtitle{font-size:30px}.season-control{width:210px;margin-top:11px}.season-labels{font-size:16px}#back{top:23px;left:10px}#pause{right:16px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}#cursor-canvas{display:none}.node{transform:none}.moment:hover .node,.moment:focus-visible .node{transform:scale(1.5)}}#atmosphere-description{display:block;text-align:center;margin-top:10px;font:400 13px/1.2 var(--hand);letter-spacing:.04em;color:#ffffff85}.season-control{width:min(290px,68vw)}.scene-heading{padding-bottom:49px}@media(max-width:600px){.season-control{width:235px}.season-labels{font-size:15px}}.season-control{position:relative}#freeze-weather{position:absolute;right:-27px;top:2px;width:24px;height:24px;padding:0;color:#fff0d6a8;font:400 11px/1 Arial,sans-serif;border:0;border-radius:50%;cursor:pointer}#freeze-weather:hover,#freeze-weather[aria-pressed=true]{color:#fff3dc;border-color:#fff0d660}#freeze-weather:focus-visible{outline:1px solid #fff0d6;outline-offset:3px}#people-speed{pointer-events:auto;margin-top:9px;padding:4px 9px;min-width:34px;color:#f5e7cbba;border:1px solid #f5e7cb30;border-radius:14px;font:400 16px/1 var(--hand);cursor:pointer}#people-speed:hover{color:#fff3dc;border-color:#f5e7cb80}#people-speed:focus-visible{outline:1px solid #f5e7cb;outline-offset:3px}.roadtrip-surface{background:#bacfce}#scene-container .roadtrip-surface canvas{image-rendering:pixelated;image-rendering:crisp-edges}.is-roadtrip .scene-heading{display:none}.is-roadtrip .scene-control{color:#4f6465;text-shadow:none}.roadtrip-ui{position:absolute;inset:0;pointer-events:none;color:#435962;--trip-accent:#637f69;--trip-progress:0%}.trip-route{position:absolute;left:50%;bottom:36px;transform:translate(-50%);display:flex;align-items:center;flex-direction:column;gap:10px}.trip-route nav{display:flex;gap:5px;pointer-events:auto;position:relative}.trip-route button{width:36px;height:40px;display:grid;place-items:center;padding:0;border-radius:0}.trip-route button span{height:7px;width:7px;background:#43596255;box-shadow:0 0 0 3px #fff3}.trip-route button[aria-pressed=true] span{width:11px;height:11px;background:var(--trip-accent);box-shadow:0 0 0 3px #fff8}.trip-route button:hover span{background:#435962}.trip-route button:focus-visible{outline:2px solid #435962;border-radius:0}.trip-biome{font:11px/1.4 Courier New,monospace;letter-spacing:.04em;white-space:nowrap}.trip-route nav:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:linear-gradient(to right,var(--trip-accent) var(--trip-progress),#43596220 var(--trip-progress))}.is-held .trip-route nav:after{display:none}@media(max-width:600px){.trip-route{bottom:34px}.trip-route button{width:32px}.trip-biome{font-size:10px}}#home{background:#fff;overflow:hidden}.lattice{user-select:none;-webkit-user-select:none;position:relative;width:min(780px,94vw);height:min(620px,82svh)}.lattice-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.lattice .lattice-dot{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px}.lattice .node{width:6px;height:6px;transform:scale(var(--depth-scale));background:#b7bcb3;box-shadow:none}.lattice .available .node{width:8px;height:8px;background:#728c68;box-shadow:0 0 8px #a6c39980,0 0 24px #a6c39945}.lattice .available .node:before{inset:-5px;border-color:#93aa8060}.lattice .upcoming{cursor:default;opacity:.55;pointer-events:none}.lattice .date{color:#586d4e;font-size:23px;bottom:46px;text-shadow:0 0 3px #ffffffed,0 0 9px #ffffffb3;background:transparent;padding:0;border-radius:0;user-select:none;-webkit-user-select:none}.lattice .date small{color:#7f8978;font-size:14px}.lattice .available:hover .node,.lattice .available:focus-visible .node{transform:scale(1.5);background:#526d48;box-shadow:0 0 12px #a6c399aa,0 0 30px #a6c39966}.is-flood .scene-heading{display:none}.is-flood .scene-control{color:#daeadf}.flood-surface canvas{touch-action:none}.flood-ui{position:absolute;inset:0;pointer-events:none;color:#dbe8e3;font:12px/1.5 system-ui,sans-serif}.flood-heading{position:absolute;top:30px;left:95px}.flood-eyebrow{font:9px monospace;letter-spacing:.2em;color:#91b7af}.flood-heading h1{font:400 clamp(25px,3vw,38px)/1.1 Georgia,serif;margin:10px 0 7px;letter-spacing:-.025em}.flood-heading p{margin:0;color:#9cb2ae;font-size:12px}.bucket-trigger{position:absolute;transform:translate(-50%,-100%);pointer-events:auto;white-space:nowrap;background:#ecd09b;color:#354747;padding:10px 16px;border:1px solid #ffebbe;border-radius:20px;box-shadow:0 4px 30px #020b1540;font:12px system-ui,sans-serif}.bucket-trigger span{margin-left:8px}.bucket-trigger:hover{background:#ffe6b6}.flood-toolbar{position:absolute;right:26px;top:32px;display:flex;gap:8px;pointer-events:auto;align-items:center}.flood-toolbar button,.flood-toolbar label{background:#182c36e8;border:1px solid #40545e;border-radius:7px;padding:9px 11px;font-size:11px}.flood-toolbar select{font:inherit;color:#d6ebe4;background:#182c36;border:0;max-width:135px}.flood-toolbar button:hover{background:#314b54}.flood-ui button:focus-visible{outline:2px solid #a2ddcd;outline-offset:3px;border-radius:7px}.flood-readout{position:absolute;bottom:97px;left:32px;display:flex;gap:30px}.flood-readout div{display:flex;flex-direction:column;gap:5px}.flood-readout span{font:8px monospace;letter-spacing:.14em;color:#89a69e}.flood-readout strong{font:22px monospace;font-weight:400}.flood-event{position:absolute;bottom:56px;left:32px;max-width:65%;color:#b8d6ce;font:11px monospace}.flood-legend{position:absolute;right:30px;bottom:109px;display:flex;flex-direction:column;gap:8px;font:9px monospace;color:#95b2ad}.flood-legend i{height:5px;width:150px;background:linear-gradient(90deg,#50d6df,#205baf);border-radius:3px}.flood-info{position:absolute;right:90px;bottom:29px;max-width:330px;pointer-events:auto;color:#a4b9b4;font-size:10px}.flood-info summary{cursor:pointer;text-align:right}.flood-info[open]{background:#11212af2;border:1px solid #39505b;padding:16px;border-radius:9px;z-index:5}.flood-info p{margin-bottom:0}.flood-info a{color:#a0e0d1}.flood-orbit-hint{position:absolute;left:32px;bottom:29px;color:#75938d;font:9px monospace}@media(max-width:700px){.flood-heading{left:66px;top:25px}.flood-heading h1{font-size:25px}.flood-heading p{font-size:10px}.flood-toolbar{top:120px;right:auto;left:50%;transform:translate(-50%);white-space:nowrap;gap:5px}.flood-toolbar label,.flood-toolbar button{padding:7px;font-size:10px}.flood-readout{left:20px;bottom:113px;gap:22px}.flood-readout strong{font-size:17px}.flood-event{left:20px;bottom:68px;max-width:85%;font-size:9px}.flood-legend{display:none}.flood-orbit-hint{left:20px;bottom:48px;font-size:8px}.flood-info{bottom:20px;right:72px}.bucket-trigger{padding:8px 12px;font-size:10px}}@media(max-width:700px){.flood-toolbar{width:max-content;max-width:calc(100vw - 24px);flex-wrap:wrap;justify-content:center}}.hill-views{display:flex;flex-wrap:wrap;gap:5px;margin-top:17px;pointer-events:auto;max-width:390px}.hill-views button{padding:6px 9px;font:10px/1.3 system-ui,sans-serif;border:1px solid #425b62;border-radius:5px;color:#adc7c0;background:#152a33d9}.hill-views button[aria-pressed=true]{background:#c7d7bd;color:#233e3b;border-color:#c7d7bd}.flood-heading .hill-place-note{font:10px/1.4 system-ui,sans-serif;color:#d5d9bb;max-width:330px;margin-top:8px}@media(max-width:700px){.hill-views{margin-top:10px;max-width:300px;gap:3px}.hill-views button{padding:5px 6px;font-size:9px}.flood-toolbar{top:175px}.flood-heading .hill-place-note{font-size:9px}}
