.special-touch-atmosphere{pointer-events:none;z-index:330;width:100%;height:100%;position:fixed;inset:0}.special-celebration{pointer-events:none;z-index:335;contain:strict;position:fixed;inset:0;overflow:hidden}.special-bloom-flight{left:var(--flight-x);width:var(--flight-size);height:var(--flight-size);opacity:0;animation:special-bloom-ascent var(--flight-duration) cubic-bezier(.16, .42, .28, 1) var(--flight-delay) both;position:absolute;bottom:-70px}.special-bloom-drift{width:100%;height:100%;animation:1.9s ease-in-out infinite alternate special-bloom-sway;display:block}.special-bloom-drift>svg{filter:drop-shadow(0 0 8px #fffbe63b);width:100%;height:100%;display:block}.special-butterfly-wing{transform-box:fill-box;transform-origin:0;animation:.32s ease-in-out infinite alternate special-wing-beat}.special-celebration-glow{background:radial-gradient(#fff9df35,#0000 65%);height:220px;animation:2.5s ease-out both special-flower-glow;position:absolute;bottom:-120px;left:15%;right:15%}.special-gallery{overflow:clip}.special-gallery h2{margin-bottom:24px}.special-memory-cinema{width:100%;position:relative}.special-memory-stage{perspective:1200px;width:min(100%,660px);height:clamp(360px,57vw,620px);margin:55px auto 30px;position:relative}.special-memory-frame{z-index:2;border:1px solid var(--special-line);background:#151823;width:100%;height:100%;padding:9px;position:relative;box-shadow:0 30px 90px #0009,0 0 60px #d8b9890b}.special .special-memory-photo{cursor:zoom-in;touch-action:pan-y;-webkit-tap-highlight-color:transparent;background:#0c0f18;border:0;width:100%;height:100%;padding:0;display:block;position:relative;overflow:hidden}.special-memory-backdrop{object-fit:cover;filter:blur(26px)saturate(.8);opacity:.3;pointer-events:none;width:124%;height:124%;position:absolute;inset:-12%}.special-memory-image{z-index:1;object-fit:contain;width:100%;height:100%;animation:18s ease-in-out infinite alternate paused special-memory-breathe;display:block;position:relative}.is-visible .special-memory-image{animation-play-state:running}.special-memory-shine{z-index:2;pointer-events:none;background:linear-gradient(120deg,#0000 30%,#fff9e410 48%,#0000 65%);transition:transform 1.1s;position:absolute;inset:0;transform:translate(-110%)}.special-memory-photo:hover .special-memory-shine,.special-memory-photo:focus-visible .special-memory-shine{transform:translate(110%)}.special-memory-expand{z-index:3;color:#fff7e8;font:400 9px/1.5 var(--sans);letter-spacing:.13em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080a12ad;border:1px solid #fff7df38;align-items:center;gap:8px;padding:10px 12px;display:inline-flex;position:absolute;bottom:17px;right:17px}.special-memory-corner{z-index:4;border-color:var(--special-gold);pointer-events:none;width:27px;height:27px;position:absolute}.special-memory-corner.corner-top{border-top:1px solid;border-left:1px solid;top:-6px;left:-6px}.special-memory-corner.corner-bottom{border-bottom:1px solid;border-right:1px solid;bottom:-6px;right:-6px}.special-memory-echo{border:1px solid var(--special-line);opacity:.36;pointer-events:none;background:#131622;width:42%;height:76%;padding:7px;transition:opacity .6s;position:absolute;top:12%}.special-memory-echo img{object-fit:cover;filter:saturate(.6);width:100%;height:100%;display:block}.special-memory-echo.echo-left{left:-22%;transform:rotateY(17deg)rotate(-9deg)translateZ(-60px)}.special-memory-echo.echo-right{right:-22%;transform:rotateY(-17deg)rotate(9deg)translateZ(-60px)}.special-memory-halo{pointer-events:none;background:radial-gradient(#d8b98910,#0000 65%);position:absolute;inset:-30% -45%}.special-gallery-butterfly{z-index:5;pointer-events:none;filter:drop-shadow(0 0 12px #fff9df50);width:70px;height:60px;animation:11s ease-in-out infinite paused special-gallery-flight;position:absolute;top:-22px;right:-24px}.is-visible .special-gallery-butterfly{animation-play-state:running}.special .special-memory-caption{max-width:650px;color:var(--special-ivory);overflow-wrap:anywhere;margin:16px auto 25px;font-size:clamp(1.35rem,3vw,1.9rem);font-style:italic;line-height:1.35;position:relative}.special-memory-controls{justify-content:center;align-items:center;gap:24px;margin:18px auto 32px;display:flex}.special .special-memory-controls button,.special .special-memory-close{border:1px solid var(--special-line);width:46px;height:46px;color:var(--special-ivory);cursor:pointer;background:#10141fb3;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:border-color .3s,background .3s;display:inline-flex}.special .special-memory-controls button:hover,.special .special-memory-close:hover{border-color:var(--special-gold);background:#d8b98918}.special-memory-controls>span{color:var(--special-silver);font:10px/1.5 var(--sans);letter-spacing:.18em;font-variant-numeric:tabular-nums;align-items:center;gap:13px;display:flex}.special-memory-controls strong{color:var(--special-gold);font-weight:400}.special-memory-controls i{background:var(--special-line);width:28px;height:1px;display:block}.special-memory-reel{scrollbar-width:thin;scrollbar-color:var(--special-gold) transparent;gap:10px;width:max-content;max-width:100%;margin:auto;padding:8px 2px 12px;display:flex;overflow-x:auto}.special .special-memory-reel button{cursor:pointer;opacity:.45;background:#171b28;border:1px solid #0000;flex:0 0 76px;height:94px;padding:4px;transition:opacity .4s,border-color .4s,transform .4s;position:relative;overflow:hidden}.special .special-memory-reel button.is-active{opacity:1;border-color:var(--special-gold);transform:translateY(-4px)}.special .special-memory-reel button:hover{opacity:1}.special-memory-reel img{object-fit:cover;width:100%;height:100%;display:block}.special-memory-reel span{color:#f1ebdd;font:8px var(--sans);background:#080a12b8;padding:3px 5px;position:absolute;bottom:6px;left:6px}.special .special-memory-hint{max-width:520px;font:10px/1.9 var(--sans);color:#ccd6e0b3;letter-spacing:.04em;margin:22px auto 0}.special .special-memory-lightbox{width:100%;max-width:none;height:100%;max-height:none;color:var(--special-ivory);background:#080a12f5;border:0;margin:0;padding:24px;position:fixed;inset:0}.special-memory-lightbox::backdrop{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#03050bf2}.special-memory-lightbox-inner{flex-direction:column;justify-content:center;align-items:center;width:min(100%,1280px);height:100%;margin:auto;display:flex}.special-memory-lightbox-inner>img{object-fit:contain;max-width:100%;max-height:calc(100% - 160px);display:block;box-shadow:0 20px 80px #0008}.special .special-memory-close{top:max(18px, env(safe-area-inset-top));right:max(18px, env(safe-area-inset-right));z-index:2;position:fixed}.special-memory-lightbox .special-memory-controls{margin:0}.special-memory-lightbox .special-memory-caption{margin:16px auto;font-size:1.25rem}.special-compact .special-memory-stage{height:360px;margin-top:35px}.special-compact .special-memory-echo{display:none}.special-compact .special-memory-reel button{flex-basis:52px;height:66px}.special-compact .special-memory-caption{font-size:1.2rem}@keyframes special-wing-beat{0%{transform:scaleX(.2)}to{transform:scaleX(1)}}@keyframes special-bloom-ascent{0%{opacity:0;transform:translate(0,0)rotate(0)}10%{opacity:.9}40%{opacity:.85}to{opacity:0;transform:translate3d(var(--flight-drift), -115vh, 0) rotate(var(--flight-turn))}}@keyframes special-bloom-sway{0%{transform:translate(-12px)rotate(-13deg)}to{transform:translate(12px)rotate(13deg)}}@keyframes special-flower-glow{0%,to{opacity:0}20%{opacity:1}}@keyframes special-memory-breathe{0%{transform:scale(1)}to{transform:scale(1.035)translateY(-.4%)}}@keyframes special-gallery-flight{0%,to{transform:translate(0)rotate(-16deg)}30%{transform:translate(-42px,-24px)rotate(-40deg)}62%{transform:translate(15px,-66px)rotate(20deg)}83%{transform:translate(34px,-15px)rotate(42deg)}}@media (max-width:600px){.special-memory-stage{height:clamp(330px,125vw,470px);margin-top:40px}.special-memory-frame{padding:6px}.special-memory-echo.echo-left{left:-10%}.special-memory-echo.echo-right{right:-10%}.special-gallery-butterfly{width:52px;top:-19px;right:2px}.special .special-memory-reel button{flex-basis:57px;height:74px}.special-memory-reel{gap:7px}.special-bloom-flight:nth-child(n+23){display:none}.special .special-memory-lightbox{padding:65px 14px 28px}}@media (prefers-reduced-motion:reduce){.special-touch-atmosphere,.special-celebration,.special-gallery-butterfly{display:none}.special-memory-cinema *,.special-memory-cinema :before,.special-memory-cinema :after{transition:none!important;animation:none!important}}
