@keyframes announcementGlow{0%,100%{color:#f7f3df}50%{color:var(--lime)}}
@keyframes stampFloat{0%,100%{transform:rotate(10deg) translateY(0)}50%{transform:rotate(14deg) translateY(-7px)}}
@keyframes heroSwap{0%{opacity:.15;transform:scale(1.045) translateX(12px)}100%{opacity:1;transform:scale(1) translateX(0)}}
@keyframes holoSweep{0%{transform:translateX(-145%) rotate(18deg)}55%,100%{transform:translateX(185%) rotate(18deg)}}
@keyframes orbitGlow{0%,100%{box-shadow:0 0 38px #f8e5a330,inset 0 0 30px #0009}50%{box-shadow:0 0 80px #f8e5a35c,inset 0 0 30px #0009}}
@keyframes marqueePulse{0%,100%{letter-spacing:.08em}50%{letter-spacing:.105em}}
@keyframes dialogIn{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
.announcement{animation:announcementGlow 4s ease-in-out infinite}.hero{isolation:isolate;position:relative}.hero:before,.hero:after{content:'✦';position:absolute;z-index:-1;color:var(--orange);opacity:.18;font-family:Georgia,serif;pointer-events:none}.hero:before{font-size:clamp(60px,9vw,135px);left:1.2%;top:23%;transform:rotate(15deg)}.hero:after{content:'好き';font-size:clamp(42px,7vw,100px);right:1.5%;bottom:3%;color:#68712f;transform:rotate(-7deg)}.hero-showcase{transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) rotate(1deg);transition:transform .35s cubic-bezier(.2,.75,.25,1),box-shadow .35s;box-shadow:0 20px 55px #393c2024}.hero-showcase:hover{box-shadow:0 32px 75px #393c2038}.hero-photo-wrap{overflow:hidden}.hero-photo-wrap:after{content:'';position:absolute;inset:18px;border-radius:8px;pointer-events:none;background:linear-gradient(120deg,transparent 30%,#ffffff2e 46%,transparent 61%);transform:translateX(-130%);transition:transform .9s}.hero-showcase:hover .hero-photo-wrap:after{transform:translateX(130%)}#heroPhoto.swap{animation:heroSwap .65s cubic-bezier(.2,.8,.2,1)}.hero-stamp{animation:stampFloat 4.6s ease-in-out infinite}.marquee{animation:marqueePulse 5s ease-in-out infinite}.reveal{opacity:0;transform:translateY(28px) scale(.985);transition:opacity .62s ease var(--reveal-delay,0ms),transform .72s cubic-bezier(.2,.75,.25,1) var(--reveal-delay,0ms)}.reveal.is-visible{opacity:1;transform:none}.card{border-radius:12px;padding:6px;transition:transform .32s cubic-bezier(.2,.75,.25,1),box-shadow .32s,background .32s}.card:hover{transform:translateY(-9px);background:#fff;box-shadow:0 22px 54px #292b2117}.card-photo{box-shadow:inset 0 0 0 1px #ffffff80}.card-photo:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 24%,#fff7 47%,transparent 68%);transform:translateX(-150%) rotate(15deg);opacity:0}.holo-card .card-photo:after{opacity:.8;animation:holoSweep 3.6s ease-in-out infinite}.card-photo img{transition:transform .55s cubic-bezier(.2,.75,.25,1),filter .4s}.card:hover .card-photo img{transform:scale(1.065);filter:saturate(1.08)}.save,.add,.category-tabs button,.carousel-controls button{transition:transform .2s,background .2s,color .2s,box-shadow .2s}.save:hover,.carousel-controls button:hover{transform:scale(1.1)}.add:hover{transform:translateY(-2px);box-shadow:0 8px 18px #20221b30}.category-tabs button:hover{transform:translateY(-2px);border-color:var(--ink)}.category-tabs button.active{box-shadow:0 6px 18px #24251f25}.sun-art img{transition:transform .7s cubic-bezier(.2,.75,.25,1),filter .6s}.sunshine:hover .sun-art img{transform:scale(1.025) rotate(.7deg);filter:saturate(1.08)}.sun-art span{transition:transform .35s}.sunshine:hover .sun-art span{transform:rotate(2deg) translateY(-5px)}.feature-story video{transition:transform .45s,box-shadow .45s}.feature-story video:hover{transform:scale(1.018);box-shadow:0 25px 55px #25271d2b}.coming-art>div{animation:orbitGlow 3.8s ease-in-out infinite}.bundle-banner{position:relative;overflow:hidden}.bundle-banner:after{content:'✦';position:absolute;right:4%;bottom:-55px;font-size:170px;color:#fff2;line-height:1;transform:rotate(16deg);pointer-events:none}.custom-section form{transition:transform .35s,box-shadow .35s}.custom-section form:focus-within{transform:translateY(-5px);box-shadow:0 25px 60px #292b2117}dialog[open]{animation:dialogIn .28s ease both}@media(max-width:700px){.hero:before,.hero:after{opacity:.09}.card:hover{transform:translateY(-4px)}.hero-showcase{transform:none}.reveal{transform:translateY(18px)}}@media(prefers-reduced-motion:reduce){.announcement,.hero-stamp,.marquee,.holo-card .card-photo:after,.coming-art>div,#heroPhoto.swap,dialog[open]{animation:none!important}.reveal{opacity:1;transform:none}.card:hover,.sunshine:hover .sun-art img,.feature-story video:hover,.custom-section form:focus-within{transform:none}}
