/* v7: living scrapbook animation, LINE detail only. Entire existing art stays unchanged. */
.line-scrap-page{perspective:1000px}
.line-scrap-art{isolation:isolate;overflow:hidden}
.line-scrap-art.line-motion-on .line-scrap-slice{animation:line-piece-arrive 850ms cubic-bezier(.18,.83,.23,1.01) both;backface-visibility:hidden;transform-origin:50% 50%;will-change:opacity,transform}
.line-scrap-art.line-motion-on .line-scrap-slice:nth-of-type(1){animation-delay:0ms}
.line-scrap-art.line-motion-on .line-scrap-slice:nth-of-type(2){animation-delay:140ms}
.line-scrap-art.line-motion-on .line-scrap-slice:nth-of-type(3){animation-delay:300ms}
.line-scrap-art.line-motion-on .line-scrap-slice:nth-of-type(4){animation-delay:460ms}
.line-scrap-art.line-motion-on .line-scrap-slice:nth-of-type(5){animation-delay:610ms}
.line-scrap-art.line-motion-on .line-scrap-slice:nth-of-type(6){animation-delay:760ms}
@keyframes line-piece-arrive{0%{opacity:0;transform:translate3d(0,13px,0) rotate(.42deg) scale(.988);filter:brightness(1.08)}55%{opacity:1}100%{opacity:1;transform:translate3d(0,0,0) rotate(0) scale(1);filter:brightness(1)}}
/* The large hand-painted CTA stays legible and in place; only a paper-glint floats above it. */
.line-scrap-art.line-motion-on .line-art-join:before{content:'';position:absolute;inset:0;border-radius:22% / 48%;box-shadow:0 0 0 0 #6acbf157;animation:line-cta-halo 3.2s ease-in-out 1.9s infinite;pointer-events:none}
.line-scrap-art.line-motion-on .line-art-join:after{content:'';position:absolute;inset:7% -1%;border-radius:25% / 50%;background:linear-gradient(104deg,transparent 34%,#ffffff00 44%,#fff9e33f 49%,#ffffff00 54%,transparent 70%);background-size:220% 100%;background-position:120% center;animation:line-glint 5s ease-in-out 2s infinite;pointer-events:none}
@keyframes line-cta-halo{0%,100%{box-shadow:0 0 0 0 #6acbf100}52%{box-shadow:0 0 0 4px #6acbf14d}}
@keyframes line-glint{0%,18%{background-position:120% center}48%,100%{background-position:-120% center}}
.line-scrap-art .line-art-join{z-index:9}
.line-scrap-art .line-art-return{z-index:9}
.line-motion-on .line-art-return{transition:background .16s ease,filter .16s ease}
.line-motion-on .line-art-return:hover,.line-motion-on .line-art-return:focus-visible{background:#fffdfb30;filter:drop-shadow(0 0 5px #fae4a3)}
/* Small handmade doodles are separate layers, so the illustration doesn't need to warp. */
.line-floating-sticker{z-index:5;position:absolute;font-family:Arial,'Hiragino Sans',sans-serif;font-size:clamp(12px,2.4vw,23px);line-height:1;filter:drop-shadow(1px 2px 0 #fffbe0);pointer-events:none;user-select:none;opacity:0;animation:line-sticker-arrive 550ms ease-out 1.3s both,line-doodle-drift 3.8s ease-in-out calc(1.8s + var(--float-phase)) infinite alternate;will-change:transform}
.line-floating-sticker--gold{color:#d5a04b}
.line-floating-sticker--blue{color:#009fd1}
.line-floating-sticker--pink{color:#ec6e79}
@keyframes line-sticker-arrive{from{opacity:0;scale:.5}to{opacity:.96;scale:1}}
@keyframes line-doodle-drift{from{transform:translateY(1px) rotate(-6deg)}to{transform:translateY(-5px) rotate(7deg)}}
/* A slight tactile ripple follows real finger taps, including iOS touches. */
.line-tap-petal{position:absolute;display:block;pointer-events:none;z-index:10;color:#00abd0;font-size:clamp(14px,3.2vw,29px);font-weight:800;text-shadow:1px 1px 0 white;animation:line-tap-fly 710ms ease-out forwards;will-change:transform,opacity}
@keyframes line-tap-fly{0%{opacity:0;transform:translate3d(0,4px,0) scale(.35) rotate(-20deg)}28%{opacity:1}100%{opacity:0;transform:translate3d(var(--dx),var(--dy),0) scale(1.12) rotate(32deg)}}
@media (prefers-reduced-motion: reduce){
 .line-scrap-art.line-motion-on .line-scrap-slice{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}
 .line-scrap-art.line-motion-on .line-art-join:before,.line-scrap-art.line-motion-on .line-art-join:after{animation:none!important;box-shadow:none!important;background:none!important}
 .line-floating-sticker,.line-tap-petal{display:none!important;animation:none!important}
}
