#root{min-height:100vh;min-height:100svh}.app{--app-bg-primary: #f4efe6;--app-bg-secondary: #d8e0df;--app-bg-tertiary: #b9c1b8;--app-ink: #1f2725;--app-muted: rgba(31, 39, 37, .72);--app-disabled: rgba(31, 39, 37, .32);--app-highlight: rgba(255, 255, 255, .95);--app-glitch-light: rgba(255, 255, 255, .72);--app-glitch-dark: rgba(31, 39, 37, .68);position:relative;min-height:100vh;min-height:100svh;overflow:clip;background:radial-gradient(circle at 12% 14%,var(--app-highlight),transparent 28%),linear-gradient(135deg,var(--app-bg-primary) 0%,var(--app-bg-secondary) 48%,var(--app-bg-tertiary) 100%);transition:background .52s ease,color .36s ease}.app.theme-lover{font-family:JinNianYeYaoJiaYouYa,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(circle at 50% -8%,rgba(255,255,255,.08),transparent 38%),linear-gradient(180deg,var(--app-bg-primary) 0%,var(--app-bg-secondary) 52%,var(--app-bg-tertiary) 100%)}.viewer{width:100vw;height:100vh;height:100svh}.tv-glitch{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:.22;mix-blend-mode:multiply;overflow:hidden}.tv-glitch:before,.tv-glitch:after{position:absolute;top:0;right:0;bottom:0;left:0;content:""}.tv-glitch:before{background:linear-gradient(to bottom,transparent 0%,rgba(255,255,255,.28) 47%,rgba(31,39,37,.22) 49%,transparent 52%);transform:translateY(-100%);animation:glitch-roll 2.2s linear infinite}.tv-glitch:after{background:repeating-linear-gradient(to bottom,rgba(31,39,37,.14) 0,rgba(31,39,37,.14) 1px,transparent 1px,transparent 4px);opacity:.58}.tv-glitch-noise{position:absolute;top:-8%;right:-8%;bottom:-8%;left:-8%;width:116%;height:116%;image-rendering:pixelated;filter:contrast(210%) brightness(115%);animation:glitch-shift .26s steps(2,end) infinite}@keyframes glitch-shift{0%{transform:translate3d(-1.4%,.8%,0) skew(0)}20%{transform:translate3d(1.8%,-.6%,0) skew(-.8deg)}42%{transform:translate3d(-.7%,1.4%,0) skew(.5deg)}63%{transform:translate3d(2.2%,.2%,0) skew(-1.1deg)}to{transform:translate3d(-1.1%,-1%,0) skew(.4deg)}}@keyframes glitch-roll{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}.audio-controls{position:absolute;top:clamp(18px,3vw,34px);right:clamp(18px,3vw,34px);z-index:2;display:flex;gap:.45rem}.audio-button{display:grid;width:44px;height:44px;padding:0;place-items:center;color:var(--app-ink);background:transparent;border:0;border-radius:50%;cursor:pointer}.audio-button:hover{color:var(--app-muted)}.audio-button:disabled{color:var(--app-disabled);cursor:default}.audio-button:focus-visible{outline:2px solid currentColor;outline-offset:4px}.audio-button svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.caption{position:absolute;left:clamp(20px,4vw,56px);bottom:max(clamp(20px,4vw,48px),env(safe-area-inset-bottom));z-index:2;max-width:calc(100vw - clamp(40px,8vw,112px));color:var(--app-ink);pointer-events:none}.caption p{position:relative;top:-.16em;margin:0;font-size:clamp(2.4rem,7vw,6.5rem);font-weight:750;line-height:.9}.glitch-title{display:inline-block}.app.theme-lover .glitch-title{animation:title-breathe-float 8.4s ease-in-out infinite}.app.theme-lover .car-light-sweep~.caption .glitch-title{animation:title-light-shiver 4.8s steps(1,end) both;text-shadow:0 0 .18em rgba(255,244,210,.34),.018em 0 rgba(190,215,255,.2)}.glitch-title.is-active{text-shadow:.035em 0 rgba(255,255,255,.48),-.025em 0 color-mix(in srgb,var(--app-ink) 34%,transparent);animation:title-glitch-shake 2.8s steps(1,end) infinite}.glitch-title.is-active:before,.glitch-title.is-active:after{position:absolute;top:0;right:0;bottom:0;left:0;content:attr(data-text);pointer-events:none;opacity:.78}.glitch-title.is-active:before{color:var(--app-glitch-light);transform:translate(-.035em,-.015em);clip-path:inset(0 0 58% 0);animation:title-glitch-slice-a 1.65s steps(1,end) infinite}.glitch-title.is-active:after{color:var(--app-glitch-dark);transform:translate(.04em,.02em);clip-path:inset(48% 0 0 0);animation:title-glitch-slice-b 1.25s steps(1,end) infinite}@keyframes title-glitch-shake{0%,86%,to{transform:translate(0)}88%{transform:translate(-.012em,.004em)}90%{transform:translate(.018em,-.006em)}92%{transform:translate(-.006em,.01em)}}@keyframes title-breathe-float{0%,to{transform:translateZ(0)}35%{transform:translate3d(.012em,-.035em,0)}68%{transform:translate3d(-.008em,.018em,0)}}@keyframes title-light-shiver{0%,12%,34%,58%,84%,to{transform:translate(0)}16%{transform:translate(-.018em,.006em)}19%{transform:translate(.014em,-.004em)}23%{transform:translate(-.006em,.003em)}72%{transform:translate(.016em,-.005em)}76%{transform:translate(-.012em,.004em)}79%{transform:translate(.005em,.002em)}}@keyframes title-glitch-slice-a{0%,72%,to{clip-path:inset(0 0 64% 0);transform:translate(-.03em,-.01em)}74%{clip-path:inset(18% 0 54% 0);transform:translate(-.09em,.01em)}77%{clip-path:inset(4% 0 76% 0);transform:translate(.06em,-.015em)}80%{clip-path:inset(35% 0 38% 0);transform:translate(-.05em,.02em)}}@keyframes title-glitch-slice-b{0%,64%,to{clip-path:inset(52% 0 0 0);transform:translate(.035em,.018em)}67%{clip-path:inset(62% 0 12% 0);transform:translate(.1em,-.008em)}70%{clip-path:inset(42% 0 35% 0);transform:translate(-.06em,.018em)}73%{clip-path:inset(78% 0 4% 0);transform:translate(.075em,.008em)}}.caption span{display:block;margin-top:.85rem;font-size:clamp(.9rem,1.5vw,1.05rem);color:var(--app-muted)}.snowfall{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;overflow:hidden;opacity:var(--snow-layer-opacity, 1);transition:opacity .42s ease}.snowfall span{position:absolute;top:-10vh;left:calc(var(--snow-left, 50) * 1%);width:var(--snow-size, 4px);aspect-ratio:1;background:radial-gradient(circle at 36% 32%,rgba(255,255,255,var(--snow-glint-alpha, 0)),transparent 38%),rgba(255,255,255,var(--snow-alpha, .7));border-radius:50%;box-shadow:0 0 8px #ffffff47,0 0 var(--snow-glow-size, 0px) rgba(210,232,255,var(--snow-glow-alpha, 0));transform:translate3d(0,-10vh,0);animation:snow-fall calc(var(--snow-duration, 5.2s) * var(--snow-speed-factor, 1) * var(--snow-layer-speed, 1)) linear infinite,snow-sway var(--snow-sway-duration, 2.6s) ease-in-out infinite alternate;animation-delay:var(--snow-delay, 0s),calc(var(--snow-delay, 0s) * -.28)}.snowfall span:after{position:absolute;top:-42%;right:-42%;bottom:-42%;left:-42%;content:"";border-radius:inherit;background:linear-gradient(90deg,transparent 45%,rgba(255,255,255,var(--snow-glow-alpha, 0)) 50%,transparent 55%),linear-gradient(0deg,transparent 45%,rgba(255,255,255,var(--snow-glow-alpha, 0)) 50%,transparent 55%);opacity:calc(var(--snow-glow-alpha, 0) * 1.6);transform:rotate(18deg)}.snowfall.back{--snow-layer-speed: 1.7;opacity:calc(var(--snow-layer-opacity, 1) * .4)}.snowfall.back span{filter:blur(.4px);transform:scale(.5)}.snowfall.mid{--snow-layer-speed: 1;opacity:calc(var(--snow-layer-opacity, 1) * .66)}.snowfall.mid span{filter:blur(.2px)}.snowfall.front{--snow-layer-speed: .54;opacity:calc(var(--snow-layer-opacity, 1) * .82)}.snowfall.front span{filter:blur(3px);transform:scale(1)}.snowfall.front span:nth-child(3n+1){animation-duration:calc(var(--snow-duration, 5.2s) * var(--snow-speed-factor, 1) * .58),var(--snow-sway-duration, 2.6s)}@keyframes snow-fall{0%{transform:translate3d(var(--snow-wind, 0px),-12vh,0) scale(var(--snow-layer-scale, 1))}35%{transform:translate3d(calc(var(--snow-drift, 28px) * .4 + var(--snow-wind, 0px) * .35),35vh,0) scale(var(--snow-layer-scale, 1))}70%{transform:translate3d(calc(var(--snow-drift, 28px) * -.2 + var(--snow-wind, 0px) * -.18),75vh,0) scale(var(--snow-layer-scale, 1))}to{transform:translate3d(calc(var(--snow-drift, 28px) + var(--snow-wind, 0px)),112vh,0) scale(var(--snow-layer-scale, 1))}}@keyframes snow-sway{0%{margin-left:calc(var(--snow-size, 4px) * -1)}to{margin-left:calc(var(--snow-size, 4px) * 1)}}.snowfall.back span,.snowfall.mid span,.snowfall.front span{--snow-layer-scale: 1}.snow-fog{position:fixed;right:0;bottom:0;left:0;z-index:1;height:min(52vh,430px);pointer-events:none;background:radial-gradient(ellipse at 50% 92%,rgba(255,255,255,.3),transparent 62%),radial-gradient(ellipse at 28% 78%,rgba(185,214,255,.2),transparent 52%),radial-gradient(ellipse at 72% 82%,rgba(255,255,255,.16),transparent 56%),linear-gradient(to top,rgba(255,255,255,.18),transparent 78%);filter:blur(20px);opacity:var(--snow-fog-opacity, .46);transform:translateY(8%);transition:opacity .72s ease}.car-light-sweep{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;background:linear-gradient(105deg,transparent 0%,transparent 41%,rgba(255,244,210,.08) 47%,rgba(255,232,184,.28) 51%,rgba(190,215,255,.09) 55%,transparent 62%,transparent 100%);mix-blend-mode:screen;opacity:0;transform:translate(-120%) skew(-12deg);animation:car-light 4.8s ease-in-out forwards}.car-light-sweep:after{position:absolute;top:42%;right:-18%;bottom:0;left:-18%;content:"";background:radial-gradient(ellipse at center,rgba(255,244,210,.12),transparent 66%);filter:blur(18px)}.silhouette{position:fixed;bottom:8vh;left:-12vw;z-index:1;width:clamp(42px,7vw,92px);height:clamp(130px,28vh,240px);pointer-events:none;background:radial-gradient(ellipse at 50% 14%,rgba(0,0,0,.42) 0 18%,transparent 20%),linear-gradient(to bottom,#0000005c,#0000002e);border-radius:50% 50% 34% 34%;filter:blur(6px);opacity:0;animation:pass-by 7.2s ease-in-out forwards}.paper{position:fixed;bottom:15vh;left:-9vw;z-index:2;width:clamp(42px,6vw,78px);aspect-ratio:1.7;pointer-events:none;background:linear-gradient(90deg,rgba(90,86,78,.18) 1px,transparent 1px),linear-gradient(0deg,rgba(90,86,78,.16) 1px,transparent 1px),#ebe6daa8;background-size:12px 100%,100% 12px,auto;box-shadow:0 0 18px #ffffff14;filter:blur(.6px);opacity:0;transform:rotate(12deg);animation:paper-fly 8.4s cubic-bezier(.42,0,.22,1) forwards}@keyframes car-light{0%{transform:translate(-120%) skew(-12deg);opacity:0}20%{opacity:.88}78%{opacity:.62}to{transform:translate(120%) skew(-12deg);opacity:0}}@keyframes pass-by{0%{transform:translate(0) scale(.82);opacity:0}22%{opacity:.28}76%{opacity:.16}to{transform:translate(116vw) scale(1.08);opacity:0}}@keyframes paper-fly{0%{transform:translateZ(0) rotate(12deg);opacity:0}18%{opacity:.5}44%{transform:translate3d(42vw,-9vh,0) rotate(-16deg)}72%{opacity:.36}to{transform:translate3d(116vw,5vh,0) rotate(24deg);opacity:0}}@media (max-width: 700px){.app{min-height:100dvh}.viewer{height:100dvh}.caption{left:clamp(18px,6vw,28px);right:clamp(18px,6vw,28px);bottom:max(78px,calc(env(safe-area-inset-bottom) + 34px));max-width:none}.caption p{top:0;width:min-content;max-width:100%;font-size:clamp(2rem,12vw,3.4rem);line-height:.94}.caption span{margin-top:.55rem;font-size:.85rem}}@media (max-height: 620px) and (max-width: 700px){.caption{bottom:max(56px,calc(env(safe-area-inset-bottom) + 22px))}.caption p{font-size:clamp(1.75rem,10vw,2.7rem)}.caption span{display:none}}.loader{min-width:150px;color:var(--app-ink);font-size:.95rem;font-weight:650}@font-face{font-family:JinNianYeYaoJiaYouYa;src:url(/assets/JinNianYeYaoJiaYouYa-2.ttf) format("truetype");font-display:block}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1f2725;background:#f4efe6;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body{margin:0;min-width:320px;min-height:100vh}body{overflow:hidden}
