@font-face{font-family:Source Han Serif;src:url(/fonts/source-han-serif-regular.otf)format("opentype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Source Han Serif Light;src:url(/fonts/source-han-serif-light.otf)format("opentype");font-style:normal;font-weight:300;font-display:swap}@font-face{font-family:Source Han Serif;src:url(/fonts/source-han-serif-semibold.otf)format("opentype");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Source Han Serif;src:url(/fonts/source-han-serif-regular.otf)format("opentype");font-style:normal;font-weight:300;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--desktop-canvas-scale:.9;--desktop-canvas-offset-y:0px;--ink:#f0eee8;--muted:#f0eee894;--paper:#ebe8df;--night:#050707}*{box-sizing:border-box}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html{background:var(--night);scroll-behavior:smooth;overscroll-behavior-x:none;min-width:0;overflow-x:hidden}body{overscroll-behavior-x:none;background:var(--night);min-width:1920px;color:var(--ink);zoom:var(--desktop-canvas-scale);text-autospace:normal;font-kerning:normal;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;margin:0;font-family:Source Han Serif,Songti SC,serif;font-weight:300;overflow-x:hidden}a{color:inherit;text-decoration:none}img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none;max-width:100%}::selection{color:#111;background:#e8dfbadb}.home{width:1920px;margin-top:var(--desktop-canvas-offset-y);background:#050808}.about-page{width:1920px;height:1080px;margin-top:var(--desktop-canvas-offset-y);background:#07100e;overflow:hidden}.home-panel{width:1920px;height:1080px;min-height:1080px;position:relative;overflow:hidden}.map-background{background-position:50%;background-size:cover;position:absolute;inset:0}.home-stage{background:#7f7c88}.map-background{background-image:url(/assets/home/map.webp)}.water-reveal{z-index:3;pointer-events:none;width:1920px;height:1080px;position:absolute;inset:0;overflow:hidden}.water-reveal-canvas,.water-reveal-fallback{width:1920px;height:1080px;display:block;position:absolute;inset:0}.water-reveal-canvas{z-index:2}.water-reveal-fallback{z-index:1;background:url(/assets/home/intro.webp) 50%/cover no-repeat;transition:opacity .12s linear}.water-reveal-fallback.is-hidden{opacity:0}.organic-map{z-index:2;position:absolute;inset:0}.map-link{color:#fff8e4d6;letter-spacing:.175em;white-space:nowrap;text-shadow:0 0 14px #fff5cf9e;padding:1.2rem;font-size:19px;transition:color .3s,filter .3s,transform .5s;position:absolute;transform:translate(-50%,-50%)}.map-link span{letter-spacing:.025em;white-space:nowrap;opacity:.8;margin-inline-start:.35em;display:inline-block}.map-link:hover,.map-link:focus-visible{color:#fff9de;filter:drop-shadow(0 0 9px #ffedb6c7);outline:none;transform:translate(-50%,-50%)scale(1.06)}.about-panel{background:#07100e}.about-panel>img{width:1920px;max-width:none;height:1080px;position:absolute}.about-copy{z-index:2;color:#f5f2e7e6;letter-spacing:.055em;font-size:17px;line-height:1.85;position:absolute;left:136px}.about-cn{width:900px;top:310px}.about-en{width:980px;font-size:15px;top:455px}.about-contact{width:1050px;font-size:17px;top:615px}.about-note{color:#bbc396cc;width:1040px;font-size:12px;line-height:1.7;top:720px}.homepage-button{z-index:100;filter:drop-shadow(0 3px 5px #0000004d);width:110px;height:120px;transition:filter .22s,transform .22s;position:fixed;bottom:35px;right:50px;overflow:hidden}.homepage-button:hover,.homepage-button:focus-visible{filter:drop-shadow(0 4px 7px #00000075);outline:none;transform:scale(1.04)}.homepage-button-art{pointer-events:none;width:1920px;max-width:none;height:1080px;display:block;position:absolute;top:-925px;left:-1760px}body:has(.photo-shell) .homepage-button{top:calc(925px + var(--desktop-canvas-offset-y));position:absolute;bottom:auto;left:1760px;right:auto}.route-transition-overlay{z-index:2147483000;opacity:0;pointer-events:none;will-change:opacity;background:#000;position:fixed;inset:0}.route-transition-overlay[data-phase=covering]{opacity:1;pointer-events:auto;transition:opacity 90ms cubic-bezier(.4,0,1,1)}.route-transition-overlay[data-phase=covered]{opacity:1;pointer-events:auto;transition:none}.route-transition-overlay[data-phase=revealing]{opacity:0;pointer-events:auto;transition:opacity .24s cubic-bezier(.2,.64,.3,1)}.viewport-notice{z-index:2147483500;opacity:0;pointer-events:none;visibility:hidden;isolation:isolate;place-items:center;width:100vw;height:100dvh;transition:opacity .26s,visibility 0s linear .26s;display:grid;position:fixed;top:0;left:0;overflow:hidden}.viewport-notice:before{z-index:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);content:"";opacity:0;background:#030505;transition:opacity .32s;position:absolute;inset:0}.viewport-notice-card{z-index:1;color:#fff;letter-spacing:.12em;text-align:center;text-shadow:0 2px 12px #000000eb;white-space:pre-line;max-width:min(520px,100vw - 48px);margin:0;font-family:Source Han Serif Light,Source Han Serif,Songti SC,serif;font-size:20px;font-weight:300;line-height:34px;position:relative}.viewport-notice[data-mode=narrow-desktop] .viewport-notice-card{transition:transform .26s;transform:translateY(7px)}.error-page{color:#f0eee8;text-align:center;background:#050707;place-content:center;gap:26px;width:1920px;min-height:1080px;display:grid}.error-page h1,.error-page p{margin:0}.error-page h1{letter-spacing:.12em;font-size:38px;font-weight:400}.error-page p{color:#f0eee8a8;letter-spacing:.08em;font-size:17px}.error-page-actions{justify-content:center;gap:28px;margin-top:12px;display:flex}.error-page button,.error-page a{color:#fff;font:inherit;letter-spacing:.1em;text-shadow:0 2px 8px #000000e6;cursor:pointer;background:0 0;border:0;font-size:16px}.floating-nav{z-index:20;color:#f8f4e8c7;letter-spacing:.14em;mix-blend-mode:difference;pointer-events:none;justify-content:flex-end;align-items:center;width:1920px;padding:1.3rem 1.6rem;font-size:10px;display:flex;position:fixed;top:0;left:0;right:auto}.film-shell{background:#020404;width:1920px;min-width:1920px;min-height:100vh;overflow:hidden}.film-canvas{--x:-300px;--y:-300px;width:1920px;min-height:var(--canvas-height);height:var(--canvas-height);position:relative;overflow:hidden}.film-scene{z-index:1;width:1920px;height:var(--canvas-height);transform-origin:top;position:absolute;inset:0}.effect-definitions{pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}.film-layer{width:1920px;height:var(--canvas-height);-webkit-user-select:none;user-select:none;max-width:none;display:block;position:absolute;inset:0}.title-crop,.type-art-clip{z-index:5;pointer-events:none;position:absolute;overflow:hidden}.title-crop img,.type-art-clip img{-webkit-user-select:none;user-select:none;max-width:none;position:absolute}.film-text-title{z-index:5;pointer-events:none;-webkit-user-select:none;user-select:none;margin:0;position:absolute}.film-text-title-polaroid{color:#0000;letter-spacing:-1px;white-space:nowrap;background:linear-gradient(90deg,#5f6c64 0% 18%,#939a93 58% 100%);-webkit-background-clip:text;background-clip:text;font-family:Source Han Serif Light,Source Han Serif,Songti SC,serif;font-size:56px;font-weight:300;line-height:1}.film-copy{z-index:5;pointer-events:none;position:absolute;inset:0}.copy-block{white-space:pre-wrap;text-wrap:pretty;position:absolute}.copy-fixed-lines{white-space:pre;text-wrap:nowrap}.copy-block.copy-reference{font-family:Source Han Serif Light,Source Han Serif,Songti SC,serif;font-size:var(--reference-font-size,22px);font-weight:var(--reference-font-weight,300);line-height:var(--reference-line-height,33.4px);letter-spacing:var(--reference-letter-spacing,0)}.copy-reference-shadow{text-shadow:0 0 5px #ffffff80}.reference-copy-heading,.reference-copy-body{display:block}.reference-copy-heading{font-family:Source Han Serif,Songti SC,serif;font-size:var(--reference-heading-size,27px);font-weight:600;line-height:34px}.reference-copy-body{margin-top:var(--reference-heading-gap,44px)}.reference-copy-emphasis{font-family:Source Han Serif,Songti SC,serif;font-weight:600}.reference-copy-spacer{height:var(--reference-heading-gap,44px);line-height:0}.copy-light{color:#f5f3ebe6}.copy-blue{color:#77a4aee6}.copy-dark{color:#34302be6}.copy-credits{letter-spacing:.055em;font-size:14px;line-height:1.78}.copy-quote{letter-spacing:.12em;font-size:18px;line-height:2}.copy-body{letter-spacing:.07em;font-size:15px;line-height:2.05}.copy-note{letter-spacing:.065em;font-size:14px;line-height:2.15}.condensation-glass{z-index:12;width:1920px;height:var(--canvas-height);cursor:crosshair;isolation:isolate;pointer-events:none;touch-action:pan-y;position:absolute;inset:0;overflow:hidden}.effect-condensation .film-canvas{cursor:crosshair;touch-action:pan-y}.condensation-glass-texture,.condensation-glass-water,.condensation-glass-sheen{width:100%;height:100%;display:block;position:absolute;inset:0}.condensation-glass-texture{z-index:2;opacity:.92;filter:saturate(.84)contrast(1.02)}.condensation-glass-water{z-index:3;pointer-events:none;transition:opacity .1s linear}.condensation-glass-sheen{z-index:4;mix-blend-mode:screen;opacity:.7;pointer-events:none;background:linear-gradient(112deg,#fffffc1c,#0000 21% 76%,#e0e8e714),repeating-linear-gradient(98deg,#0000 0 170px,#ffffff05 230px,#0000 340px)}.condensation-glass-hint{z-index:5;color:#424e47a8;letter-spacing:.3em;text-align:center;text-shadow:0 1px #ffffff6b;pointer-events:none;gap:9px;margin:0;font-size:14px;transition:opacity .9s,filter .9s;display:grid;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.condensation-glass-hint span:last-child{letter-spacing:.44em;opacity:.68;font-family:Arial,sans-serif;font-size:8px}.condensation-glass[data-touched=true] .condensation-glass-hint{filter:blur(5px);opacity:0}.effect-spotlight .film-blur-overlay{z-index:2;pointer-events:none;-webkit-mask-image:radial-gradient(circle var(--clear-radius,290px) at var(--x) var(--y), transparent 0 45%, #0003 62%, #000000a6 82%, #000 100%);mask-image:radial-gradient(circle var(--clear-radius,290px) at var(--x) var(--y), transparent 0 45%, #0003 62%, #000000a6 82%, #000 100%);-webkit-mask-image:radial-gradient(circle var(--clear-radius,290px) at var(--x) var(--y), transparent 0 45%, #0003 62%, #000000a6 82%, #000 100%);position:absolute;inset:0}.effect-spotlight .film-blur-overlay .film-scene{filter:blur(10px);background:#020404}.dissolve-line{white-space:pre;text-autospace:no-autospace;opacity:1;width:100%;display:block}.dissolve-character{opacity:var(--wind-opacity,1);transform:translate3d(0, 0, 0) scale(var(--wind-start-size,1));transform-origin:50%;display:inline-block;position:relative}.dissolve-block.has-entered .dissolve-character,.dissolve-title.has-entered .dissolve-character{animation:wind-scatter-flight var(--wind-duration,2.2s) linear forwards, wind-scatter-fade var(--wind-duration,2.2s) linear forwards;will-change:filter, opacity, transform}.dissolve-title{overflow:visible}.title-glyph{position:absolute;top:0}.title-glyph-crop{position:absolute;inset:0;overflow:hidden}.particles,.native-glow-layer{z-index:4;pointer-events:none;position:absolute;inset:0;overflow:hidden}.particles i{will-change:transform, opacity;background:#fffffff0;border-radius:50%;animation:8s ease-in-out infinite alternate float-particle;position:absolute;box-shadow:0 0 7px 2px #ffffffc7,0 0 18px 5px #bedeffc2}.particles i:nth-child(4n+1){background:#ffb4df}.particles i:nth-child(4n+2){background:#b6f1e3}.particles i:nth-child(4n+3){background:#f6e5a9}.native-glow-layer{width:1920px;height:var(--canvas-height);object-fit:fill;mix-blend-mode:screen;filter:saturate(2.8)brightness(.62)contrast(2.25)blur(1.4px);opacity:.3;will-change:filter, opacity;max-width:none;animation:5.6s ease-in-out infinite alternate native-glow-pulse}.soft-text-curtain{z-index:6;touch-action:none;mix-blend-mode:screen;width:1920px;height:980px;position:absolute;top:0;left:0;overflow:hidden}.soft-text-curtain canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.curtain-character{z-index:1;color:#f6f8f1e6;font-feature-settings:"vert" 1;pointer-events:none;text-orientation:upright;transform-origin:50%;will-change:transform;writing-mode:vertical-rl;place-items:center;width:20px;height:22px;font-family:Source Han Serif,Songti SC,serif;font-size:18px;font-weight:300;line-height:1;display:grid;position:absolute;top:0;left:0}.butterfly-motion-path{pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}.butterfly-flight{--butterfly-bank:0deg;z-index:8;pointer-events:none;will-change:transform;width:0;height:0;position:absolute;top:0;left:0}.butterfly-placeholder{perspective:360px;width:198px;height:172px;transform:translate(-50%, -50%) rotateX(9deg) rotateY(var(--butterfly-bank));transform-origin:50%;transform-style:preserve-3d;will-change:transform;position:absolute;top:0;left:0}.butterfly-rig{transform-origin:50%;width:100%;height:100%;transform-style:preserve-3d;will-change:transform;justify-content:center;align-items:center;display:flex}.butterfly-wing{object-fit:fill;filter:drop-shadow(0 2px 2px #26231c33);backface-visibility:hidden;will-change:transform;width:99px;max-width:none;height:172px;display:block;scale:1 -1}.butterfly-wing-left{transform-origin:100%;transform:rotateY(-25deg)}.butterfly-wing-right{transform-origin:0;transform:rotateY(25deg)}.butterfly-flight[data-flight-state=rest] .butterfly-rig,.butterfly-flight[data-flight-state=waiting] .butterfly-rig{animation:2.4s ease-in-out infinite alternate butterfly-body-rest}.butterfly-flight[data-flight-state=rest] .butterfly-wing-left,.butterfly-flight[data-flight-state=waiting] .butterfly-wing-left{animation:1.75s ease-in-out infinite alternate butterfly-wing-left-idle}.butterfly-flight[data-flight-state=rest] .butterfly-wing-right,.butterfly-flight[data-flight-state=waiting] .butterfly-wing-right{animation:1.75s ease-in-out infinite alternate butterfly-wing-right-idle}.butterfly-flight[data-flight-state=takeoff] .butterfly-rig{animation:.33s cubic-bezier(.22,.78,.32,1) both butterfly-body-takeoff}.butterfly-flight[data-flight-state=takeoff] .butterfly-wing-left{animation:.11s ease-in-out infinite alternate butterfly-wing-left}.butterfly-flight[data-flight-state=takeoff] .butterfly-wing-right{animation:.11s ease-in-out infinite alternate butterfly-wing-right}.butterfly-flight[data-flight-state=flying] .butterfly-rig{animation:.31s ease-in-out infinite butterfly-body-flight}.butterfly-flight[data-flight-state=flying] .butterfly-wing-left{animation:.138s ease-in-out infinite alternate butterfly-wing-left}.butterfly-flight[data-flight-state=flying] .butterfly-wing-right{animation:.138s ease-in-out infinite alternate butterfly-wing-right}.butterfly-flight[data-flight-state=hover] .butterfly-rig{animation:.39s ease-in-out infinite alternate butterfly-body-hover}.butterfly-flight[data-flight-state=hover] .butterfly-wing-left{animation:.122s ease-in-out infinite alternate butterfly-wing-left-hover}.butterfly-flight[data-flight-state=hover] .butterfly-wing-right{animation:.122s ease-in-out infinite alternate butterfly-wing-right-hover}.butterfly-flight[data-flight-state=glide] .butterfly-rig{transition:transform .22s ease-out;transform:translateY(-2px)rotateX(-3deg)}.butterfly-flight[data-flight-state=glide] .butterfly-wing-left{transition:transform .18s ease-out;transform:rotateY(-13deg)}.butterfly-flight[data-flight-state=glide] .butterfly-wing-right{transition:transform .18s ease-out;transform:rotateY(13deg)}.butterfly-flight[data-flight-state=landing] .butterfly-rig{animation:.46s ease-out both butterfly-body-landing}.butterfly-flight[data-flight-state=landing] .butterfly-wing-left{animation:.46s ease-out both butterfly-wing-left-landing}.butterfly-flight[data-flight-state=landing] .butterfly-wing-right{animation:.46s ease-out both butterfly-wing-right-landing}.photo-shell{width:1920px;height:1080px;margin-top:var(--desktop-canvas-offset-y);overscroll-behavior:none;touch-action:pan-y;position:relative;overflow:hidden}.photo-dark{color:#eeeae0;background:#050505}.photo-paper{color:#24211c;background:repeating-linear-gradient(0deg,#52483705 0 1px,#0000 1px 4px),#e8e5dc}.photo-track{will-change:transform;width:max-content;height:1080px;transition:transform .68s cubic-bezier(.22,.72,.24,1);display:flex}.photo-slide{flex:0 0 1920px;width:1920px;height:1080px;margin:0;position:relative;overflow:hidden}.photo-page-controls{z-index:12;pointer-events:none;position:absolute;inset:0}.photo-page-control{color:#fff;cursor:pointer;pointer-events:auto;background:0 0;border:0;width:170px;padding:0;position:absolute;top:0;bottom:0}.photo-page-control:before{content:"";opacity:0;transition:opacity .26s;position:absolute;inset:0}.photo-page-control-previous{left:0}.photo-page-control-previous:before{background:linear-gradient(90deg,#0003,#0000)}.photo-page-control-next{right:0}.photo-page-control-next:before{background:linear-gradient(-90deg,#0003,#0000)}.photo-page-control:disabled{visibility:hidden;pointer-events:none}.photo-page-control:hover:before,.photo-page-control:focus-visible:before{opacity:1}.photo-page-control:focus-visible{outline:none}.photo-page-arrow{color:#fff;filter:drop-shadow(0 2px 4px #000000bf);mix-blend-mode:difference;opacity:.48;width:58px;height:64px;transition:opacity .22s,transform .28s cubic-bezier(.22,.72,.24,1);display:block;position:absolute;top:50%;transform:translateY(-50%)}.photo-page-control-previous .photo-page-arrow{left:48px}.photo-page-control-next .photo-page-arrow{right:48px}.photo-page-arrow svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.35px;width:100%;height:100%;display:block}.photo-page-control:hover .photo-page-arrow,.photo-page-control:focus-visible .photo-page-arrow{opacity:.96}.photo-page-control-previous:hover .photo-page-arrow,.photo-page-control-previous:focus-visible .photo-page-arrow{transform:translate(-7px,-50%)}.photo-page-control-next:hover .photo-page-arrow,.photo-page-control-next:focus-visible .photo-page-arrow{transform:translate(7px,-50%)}:is(html:has(.photo-shell),body:has(.photo-shell)){overflow-y:hidden}.photo-slide>img{object-fit:cover;width:1920px;max-width:none;height:1080px;display:block}.photo-hero h1{z-index:4;margin:0;font-weight:300;line-height:1;position:absolute}.photo-hero-title-silent{color:#f6f4ef;letter-spacing:.065em;font-size:62px;top:158px;right:82px}.photo-hero-title-park{color:#fff;letter-spacing:.08em;font-size:62px;top:850px;left:98px}.photo-hero-title-ferry{color:#171512;letter-spacing:.08em;font-size:62px;top:874px;left:126px}.photo-hero-copy,.ferry-description{z-index:4;white-space:pre-line;position:absolute}.photo-hero-copy h2,.ferry-description h2{letter-spacing:.12em;margin:0 0 22px;font-size:19px;font-weight:400}.photo-hero-copy p,.ferry-description p{letter-spacing:.055em;margin:0;font-size:15px;line-height:1.92}.photo-hero-copy-silent{color:#f8f6eff0;width:600px;top:757px;left:138px}.photo-hero-copy-silent h2{letter-spacing:0;margin:0 0 44px;font-family:Source Han Serif,Songti SC,serif;font-size:27px;font-weight:600;line-height:34px}.photo-hero-copy-silent p{letter-spacing:0;white-space:pre;font-family:Source Han Serif Light,Source Han Serif,Songti SC,serif;font-size:22px;font-weight:300;line-height:37.5px}.photo-hero-copy-park{color:#fff;width:700px;top:625px;left:1172px}.photo-hero-copy-park h2{letter-spacing:0;margin:0 0 21px;font-family:Source Han Serif,Songti SC,serif;font-size:27px;font-weight:600;line-height:34px}.photo-hero-copy-park p{letter-spacing:0;white-space:pre;font-family:Source Han Serif Light,Source Han Serif,Songti SC,serif;font-size:22px;font-weight:300;line-height:25.5px}.ferry-description{color:#1f1c18e6;width:720px;top:264px;left:132px}.ferry-description h2{letter-spacing:0;margin:0 0 29px;font-family:Source Han Serif,Songti SC,serif;font-size:27px;font-weight:600;line-height:34px}.ferry-description p{letter-spacing:0;white-space:pre;font-family:Source Han Serif Light,Source Han Serif,Songti SC,serif;font-size:22px;font-weight:300;line-height:29.5px}.animated-film-grain{z-index:4;mix-blend-mode:screen;opacity:.46;image-rendering:auto;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;position:absolute;inset:0}.animated-film-grain canvas{width:100%;height:100%;display:block}.photo-ferry .photo-slide:before{content:"";z-index:2;mix-blend-mode:soft-light;opacity:var(--ferry-sheen,1);animation:ferry-wash var(--ferry-sheen-period,14s) ease-in-out infinite alternate;pointer-events:none;background:repeating-radial-gradient(at 25% 45%,#0000 0 35px,#ffffff16 42px,#0000 58px),linear-gradient(102deg,#0000 22%,#ffffff1f 47%,#0000 72%);position:absolute;inset:-8%}.photo-ferry .photo-hero:after{content:"";z-index:4;pointer-events:none;background:radial-gradient(125px 45px at 135px 68px,#fafaf8 0 70%,#0000 100%);width:320px;height:132px;position:absolute;bottom:0;right:0}.photo-ferry .photo-hero:has(.ferry-water-wash[data-ready=true]):after{content:none}.photo-ferry .photo-slide>img{filter:url(#ferry-water-flow);transform:scale(1.012)}.photo-ferry .photo-hero>img{filter:none;transform:none}.photo-ferry .photo-hero:before{content:none}.ferry-water-wash{z-index:2;opacity:0;pointer-events:none;position:absolute;inset:0}.ferry-water-wash[data-ready=true]{opacity:1}.ferry-water-wash canvas{width:100%;height:100%;display:block}.not-found{text-align:center;background:radial-gradient(circle,#162322,#030505 68%);place-content:center;justify-items:center;min-height:100dvh;display:grid}.not-found p{letter-spacing:.4em;opacity:.55;margin:0;font-size:10px}.not-found h1{margin:2rem 0;font-size:clamp(24px,4vw,56px);font-weight:300}.not-found a{border-bottom:1px solid #ffffff59;font-size:12px}@keyframes float-particle{0%{transform:translate3d(-12px, var(--particle-drift), 0) scale(.55);opacity:.08}38%{opacity:.88}72%{transform:translate3d(18px, calc(var(--particle-drift) * -.55), 0) scale(1.2);opacity:.52}to{transform:translate3d(-4px, calc(var(--particle-drift) * -1), 0) scale(1.6);opacity:0}}@keyframes native-glow-pulse{0%{opacity:.2;filter:saturate(2.2)brightness(.52)contrast(2.1)blur(1px)}55%{opacity:.56;filter:saturate(3.5)brightness(.78)contrast(2.5)blur(2.6px)}to{opacity:.34;filter:saturate(2.8)brightness(.64)contrast(2.25)blur(1.5px)}}@keyframes wind-scatter-flight{0%{transform:translate(0, 0) rotate(0deg) scale(var(--wind-start-size,1))}25%{transform:translate(var(--wind-x25), var(--wind-y25)) rotate(calc(var(--wind-mid-rotation) * .5)) scale(var(--wind-mid-size,.985))}50%{transform:translate(var(--wind-x50), var(--wind-y50)) rotate(var(--wind-mid-rotation)) scale(var(--wind-mid-size,.985))}75%{transform:translate(var(--wind-x75), var(--wind-y75)) rotate(var(--wind-rotation)) scale(var(--wind-end-size,.94))}to{transform:translate(var(--wind-x100), var(--wind-y100)) rotate(var(--wind-rotation)) scale(var(--wind-end-size,.94))}}@keyframes wind-scatter-fade{0%,42%{opacity:var(--wind-opacity,1);filter:blur()}76%{opacity:var(--wind-mid-opacity,.62);filter:blur(var(--wind-mid-blur,.35px))}to{opacity:0;filter:blur(var(--wind-blur,1.9px))}}@keyframes ferry-wash{0%{opacity:calc(.36 * var(--ferry-sheen,1));transform:translate(-7%,-2%)skew(-2deg)scale(1.03)}48%{opacity:calc(.72 * var(--ferry-sheen,1));transform:translate(4%,2%)skew(1deg)scale(1.08)}to{opacity:calc(.42 * var(--ferry-sheen,1));transform:translate(9%,-1%)skew(-1deg)scale(1.04)}}@keyframes butterfly-wing-left{0%{transform:rotateY(-10deg)}to{transform:rotateY(-76deg)}}@keyframes butterfly-wing-right{0%{transform:rotateY(10deg)}to{transform:rotateY(76deg)}}@keyframes butterfly-wing-left-hover{0%{transform:rotateY(-16deg)}to{transform:rotateY(-82deg)}}@keyframes butterfly-wing-right-hover{0%{transform:rotateY(16deg)}to{transform:rotateY(82deg)}}@keyframes butterfly-wing-left-idle{0%{transform:rotateY(-22deg)}to{transform:rotateY(-29deg)}}@keyframes butterfly-wing-right-idle{0%{transform:rotateY(22deg)}to{transform:rotateY(29deg)}}@keyframes butterfly-wing-left-landing{0%{transform:rotateY(-14deg)}15%{transform:rotateY(-72deg)}31%{transform:rotateY(-17deg)}49%{transform:rotateY(-59deg)}68%{transform:rotateY(-20deg)}84%{transform:rotateY(-42deg)}to{transform:rotateY(-25deg)}}@keyframes butterfly-wing-right-landing{0%{transform:rotateY(14deg)}15%{transform:rotateY(72deg)}31%{transform:rotateY(17deg)}49%{transform:rotateY(59deg)}68%{transform:rotateY(20deg)}84%{transform:rotateY(42deg)}to{transform:rotateY(25deg)}}@keyframes butterfly-body-rest{0%{transform:translateY(-.8px)rotate(-.35deg)}to{transform:translateY(.8px)rotate(.35deg)}}@keyframes butterfly-body-takeoff{0%{transform:translateY(2px)rotateX(4deg)scale(.98)}45%{transform:translateY(-3px)rotateX(-5deg)scale(1.015)}to{transform:translate(0,0)rotateX(0)scale(1)}}@keyframes butterfly-body-flight{0%,to{transform:translateY(1.5px)rotateX(1.5deg)}50%{transform:translateY(-1.5px)rotateX(-1.5deg)}}@keyframes butterfly-body-hover{0%{transform:translate(-.8px,-2px)rotate(-.8deg)}to{transform:translate(.8px,2px)rotate(.8deg)}}@keyframes butterfly-body-landing{0%{transform:translateY(-2px)rotateX(-3deg)}62%{transform:translateY(1px)rotateX(2deg)}to{transform:translate(0,0)rotateX(0)}}@keyframes mobile-notice-backdrop{0%{opacity:.82}to{opacity:.96}}@keyframes mobile-notice-copy{0%{transform:translateY(3px)}to{transform:translate(0,0)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (max-width:959px) and (hover:none) and (pointer:coarse){html,body{zoom:1;width:100%;min-width:0;min-height:100%;overflow:hidden}}@media (max-width:767px) and (hover:none) and (pointer:coarse){.viewport-notice-card{opacity:1!important}.map-background,.water-reveal-fallback{background-image:none}.viewport-notice[data-mode=mobile]{opacity:1;pointer-events:auto;touch-action:none;visibility:visible;transition:none}.viewport-notice[data-mode=mobile]:before{animation:.7s ease-out both mobile-notice-backdrop}.viewport-notice[data-mode=mobile] .viewport-notice-card{animation:.36s cubic-bezier(.22,.7,.24,1) both mobile-notice-copy}}@media (min-width:768px) and (max-width:959px) and (hover:none) and (pointer:coarse){.viewport-notice[data-mode=narrow-desktop]{opacity:1;visibility:visible;transition:opacity .26s,visibility}.viewport-notice[data-mode=narrow-desktop]:before{opacity:.86}.viewport-notice[data-mode=narrow-desktop] .viewport-notice-card{transform:translate(0,0)}}.effect-debug-trigger,.effect-debug-dialog,.effect-debug-toast{zoom:calc(1 / var(--desktop-canvas-scale,1));letter-spacing:0;font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif;font-size:12px;font-weight:400;line-height:1.5}.effect-debug-trigger{z-index:2147483550;color:#f5f4ed;cursor:pointer;background:#202820ed;border:1px solid #ffffff35;border-radius:99px;align-items:center;gap:7px;padding:8px 13px;display:flex;position:fixed;bottom:20px;left:20px;box-shadow:0 3px 15px #0003}.effect-debug-trigger span{font-size:18px;line-height:1}.effect-debug-dialog{z-index:2147483550;color:#263028;background:#f8f9f3;border:1px solid #d8ddcc;border-radius:12px;flex-direction:column;width:min(360px,100vw - 16px);max-height:min(640px,100dvh - 48px);margin:0;padding:0;display:flex;position:fixed;top:24px;right:24px;overflow:hidden;box-shadow:0 8px 32px #0003}.effect-debug-dialog button{color:inherit;font:inherit;cursor:pointer}.effect-debug-dialog[data-effect=home]{left:20px;right:auto}.effect-debug-dialog button:focus-visible,.effect-debug-dialog input:focus-visible,.effect-debug-trigger:focus-visible{outline-offset:2px;outline:2px solid #60784d}.effect-debug-header{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.effect-debug-header[data-dragging=true]{cursor:grabbing}.effect-debug-header>div{align-items:baseline;gap:9px;min-width:0;display:flex}.effect-debug-header h2{white-space:nowrap;margin:0;font-size:15px;font-weight:600}.effect-debug-page{color:#748069;font-size:11px}.effect-debug-close{background:0 0;border:0;border-radius:5px;flex-shrink:0;width:26px;height:26px;padding:0;font-size:21px!important}.effect-debug-close:hover{background:#e7ecde}.effect-debug-summary{color:#737b6b;border-block:1px solid #e0e5d8;flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 14px;font-size:11px;display:flex}.effect-debug-summary button{color:#4e6344;background:0 0;border:0;padding:0}.effect-debug-scroll{overscroll-behavior:contain;min-height:0;padding:12px 14px 0;overflow-y:auto}.effect-debug-scroll fieldset{border:0;min-width:0;margin:0 0 16px;padding:0}.effect-debug-scroll legend{color:#354a32;border-bottom:1px solid #dfe5d6;width:100%;padding:0 0 7px;font-size:12px;font-weight:600}.effect-debug-control{margin-top:10px}.effect-debug-label{justify-content:space-between;align-items:center;gap:6px;margin-bottom:2px;font-size:11px;display:flex}.effect-debug-label>div{flex-shrink:0;align-items:center;gap:4px;display:flex}.effect-debug-label>div>span{color:#7b8376;min-width:18px;font-size:10px}.effect-debug-label input{color:#3b5632;background:#fff;border:1px solid #dce3d2;border-radius:4px;width:58px;padding:2px 3px;font:11px ui-monospace,monospace}.effect-debug-control input[type=range]{accent-color:#637b4d;cursor:pointer;width:100%;height:20px;margin:0;display:block}.effect-debug-range{color:#88907f;justify-content:space-between;font:9px/1.5 ui-monospace,monospace;display:flex}.effect-debug-footer{background:#f0f3e9;border-top:1px solid #dfe5d6;flex-shrink:0;padding:10px 14px}.effect-debug-footer p{color:#637359;margin:0 0 8px;font-size:11px}.effect-debug-footer>div{gap:8px;display:flex}.effect-debug-footer button{color:#3c5033;background:#fbfcf8;border:1px solid #cdd7c1;border-radius:7px;flex:1;padding:8px}.effect-debug-footer button.effect-debug-preview{color:#fff;background:#354a32;border-color:#354a32}.effect-debug-preview span{margin-left:6px}.effect-debug-toast{z-index:2147483551;color:#fff;background:#263724ef;border-radius:8px;max-width:calc(100vw - 40px);padding:10px 14px;position:fixed;bottom:64px;left:20px}.effect-debug-fallback{margin-bottom:12px;font-size:11px;display:block}.effect-debug-fallback textarea{-webkit-user-select:text;user-select:text;color:#263028;background:#fff;width:100%;height:120px;margin-top:8px;display:block}@media (max-width:959px){.effect-debug-trigger,.effect-debug-dialog,.effect-debug-toast{zoom:1}}@media (max-width:600px){.effect-debug-dialog{max-height:min(560px,100dvh - 16px);top:8px;right:8px}}
