/* One continuous painted scene: a close look through the blossoms opens onto the lake. */
body.entry-active,body.is-entering{overflow:hidden!important}
.cinematic-backdrop{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:#b7dce9;isolation:isolate;transition:opacity 1.4s ease}
.cinematic-camera{position:absolute;inset:-2%;transform-origin:50% 30%;will-change:transform;backface-visibility:hidden}
.cinematic-picture{display:block;width:100%;height:100%}
.cinematic-landscape{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;user-select:none;-webkit-user-drag:none}
.cinematic-light{position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,241,219,.08),transparent 45%,rgba(174,220,233,.05));pointer-events:none}
#cinematicPetals{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
.cinematic-shade{position:absolute;inset:0;z-index:3;background:linear-gradient(90deg,rgba(27,54,62,.07),rgba(32,54,68,.02) 38%,rgba(26,48,59,.12));transition:background 1.6s ease}
.cinematic-backdrop:after{content:"";position:absolute;inset:0;z-index:4;background:linear-gradient(180deg,rgba(24,49,65,.09),transparent 22%,transparent 72%,rgba(21,47,55,.14));pointer-events:none}
.petal-field{display:none}
.entry-screen.cinematic-entry{display:block;position:fixed;inset:0;z-index:60;overflow:hidden;padding:0;background:transparent;transform:none;opacity:1;transition:none}
.entry-screen.cinematic-entry:before,.entry-screen.cinematic-entry:after{display:none;content:none}
.cinematic-copy{position:absolute;top:48%;right:9.5%;width:min(420px,37vw);text-align:center;color:#fff;opacity:1;transform:translate3d(0,-50%,0);transition:opacity .75s ease,transform 1.1s cubic-bezier(.25,.65,.2,1);text-shadow:0 2px 25px rgba(24,51,60,.2)}
.cinematic-kicker{margin:0 0 22px;font-size:10px;font-weight:500;letter-spacing:.34em;text-indent:.34em;opacity:.84}
.cinematic-copy h1{margin:0;font-family:"Noto Serif SC","Songti SC","STSong",serif;font-size:clamp(74px,7.4vw,116px);line-height:1.3;font-weight:400;letter-spacing:.28em;text-indent:.28em;color:#fff}
.cinematic-subtitle{margin:24px 0 36px;font-size:13px;font-weight:400;line-height:1.9;letter-spacing:.12em;opacity:.9}
.cinematic-enter{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-width:170px;min-height:48px;padding:12px 22px;border:1px solid rgba(255,255,255,.6);border-radius:999px;background:rgba(255,255,255,.035);color:#fff;font-size:13px;letter-spacing:.12em;box-shadow:none;transition:background .4s ease,border-color .4s ease,transform .55s cubic-bezier(.2,.7,.2,1);-webkit-tap-highlight-color:transparent}
.cinematic-enter svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.cinematic-enter:hover{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.9);transform:translateY(-2px)}
.cinematic-enter:hover svg{transform:translateX(4px)}
.cinematic-enter:active{transform:scale(.98)}
.cinematic-enter:focus-visible{outline:2px solid white;outline-offset:6px}
.cinematic-enter:disabled{pointer-events:none}
.cinematic-bottom{position:absolute;bottom:max(29px,env(safe-area-inset-bottom));left:0;right:0;margin:0;text-align:center;color:#fff;font-size:9px;letter-spacing:.32em;opacity:.62;transition:opacity .65s ease}
body.cinema-loading .cinematic-copy{opacity:0;transform:translate3d(0,calc(-50% + 12px),0)}
body.cinema-loading .cinematic-bottom{opacity:0}
body.is-entering .cinematic-copy{opacity:0;transform:translate3d(0,calc(-50% - 18px),0);pointer-events:none}
body.is-entering .cinematic-bottom{opacity:0}
body.has-entered .entry-screen{display:none}
.auth-gate{transition:opacity 1s ease;opacity:1}
.auth-gate .modal{animation:none!important;transition:opacity 1.05s ease,transform 1.15s cubic-bezier(.2,.7,.2,1);background:rgba(255,253,251,.89);border-color:rgba(255,255,255,.72);box-shadow:0 24px 80px rgba(36,61,69,.13);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
body.entry-active .auth-gate,body.is-entering:not(.is-revealing) .auth-gate{opacity:0;visibility:hidden;pointer-events:none}
body.entry-active .auth-gate .modal,body.is-entering:not(.is-revealing) .auth-gate .modal{opacity:0;transform:translate3d(0,21px,0)}
body.is-revealing .auth-gate,body.has-entered .auth-gate{visibility:visible;opacity:1}
body.is-revealing .auth-gate .modal,body.has-entered .auth-gate .modal{opacity:1;transform:translate3d(0,0,0)}
.app-shell{transition:opacity 1.1s ease}
body.entry-active .app-shell,body.is-entering:not(.is-revealing) .app-shell{opacity:0;pointer-events:none}
body.has-entered.is-authenticated .cinematic-backdrop{opacity:.24}
body.has-entered.is-authenticated .app-shell{background:linear-gradient(118deg,rgba(255,247,245,.9),rgba(245,250,247,.89))}
body.has-entered.is-authenticated .cinematic-shade{background:rgba(255,253,250,.4)}
@media(min-width:1700px){.cinematic-copy{right:12%}}
@media(max-width:760px){.cinematic-landscape{object-position:24% center}.cinematic-camera{transform-origin:42% 25%}.cinematic-shade{background:linear-gradient(180deg,rgba(26,51,65,.02) 10%,transparent 35%,rgba(27,56,66,.19) 90%)}.cinematic-copy{top:auto;bottom:max(15.5%,100px);right:18px;left:18px;width:auto;transform:translate3d(0,0,0)}.cinematic-kicker{font-size:9px;margin-bottom:15px}.cinematic-copy h1{font-size:72px;letter-spacing:.24em;text-indent:.24em}.cinematic-subtitle{font-size:12px;letter-spacing:.06em;margin:18px 0 27px}.cinematic-enter{min-height:47px;min-width:164px;font-size:12px}.cinematic-bottom{font-size:8px;bottom:max(25px,env(safe-area-inset-bottom))}body.cinema-loading .cinematic-copy{transform:translate3d(0,12px,0)}body.is-entering .cinematic-copy{transform:translate3d(0,-18px,0)}.auth-gate .modal{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}}
@media(max-width:380px){.cinematic-copy h1{font-size:64px}.cinematic-subtitle{font-size:11px}.cinematic-copy{bottom:max(14%,85px)}}
@media(max-height:540px) and (min-width:761px){.cinematic-copy{top:47%;right:9%}.cinematic-copy h1{font-size:70px}.cinematic-kicker{margin-bottom:10px}.cinematic-subtitle{margin:14px 0 20px}.cinematic-bottom{bottom:18px}}
@media(max-height:500px) and (max-width:760px){.cinematic-copy{bottom:65px;left:38%;right:20px}.cinematic-copy h1{font-size:52px}.cinematic-kicker{margin-bottom:8px}.cinematic-subtitle{margin:10px 0 15px;font-size:10px}.cinematic-enter{min-height:40px}.cinematic-bottom{bottom:18px}}
@media(prefers-reduced-motion:reduce){.cinematic-camera{will-change:auto}.cinematic-copy,.cinematic-bottom,.cinematic-enter,.cinematic-enter svg,.auth-gate,.auth-gate .modal,.app-shell,.cinematic-backdrop{transition-duration:.15s!important}.cinematic-enter:hover{transform:none}#cinematicPetals{display:none}}
