/* SHANTIK V6 • Gallery-only enhancement
   Living Scrapbook × Our Little Memory Book
   All selectors scoped to #gallery or the gallery dialog. */
#gallery { background:linear-gradient(180deg,rgba(255,248,249,.58),rgba(255,243,246,.79) 48%,rgba(255,250,248,.60)); }
#gallery .section-head { margin-bottom:37px; }
#gallery .memory-scrapbook {
  position:relative;isolation:isolate;max-width:1240px;margin:0 auto;
  padding:27px clamp(15px,3vw,36px) 31px;border:1px solid #edd2d9;border-radius:28px;
  background:linear-gradient(160deg,rgba(255,254,251,.96),rgba(255,246,247,.93));
  box-shadow:0 9px 0 rgba(234,204,210,.68),0 24px 60px rgba(116,65,82,.10);
}
#gallery .memory-scrapbook:before {content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;background-image:radial-gradient(#e9b9c5 0.85px,transparent .85px);background-size:20px 20px;opacity:.25;}
#gallery .memory-scrapbook:after {content:"♡";position:absolute;right:28px;bottom:14px;color:#e5a6b7;font-size:1.8rem;transform:rotate(13deg);pointer-events:none;}
#gallery .memory-scrapbook-intro {display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px dashed #e7c5cd;padding:5px 9px 24px;}
#gallery .memory-handwriting {font:italic 500 clamp(1.5rem,2.8vw,2.15rem)/1.2 'Playfair Display',Georgia,serif;color:#a94f70;letter-spacing:-.035em;}
#gallery .memory-intro-copy p {font-size:.88rem;color:#917781;line-height:1.7;margin:8px 0 0;}
#gallery .memory-album-total {flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:8px 14px 8px 12px;border:1px dashed #e4b7c5;background:#fff8fa;border-radius:12px;transform:rotate(2deg);}
#gallery .memory-album-total>span {font:500 2.3rem/1 'Playfair Display',Georgia,serif;color:#b65a7c;}
#gallery .memory-album-total small {font-size:.7rem;line-height:1.45;color:#97657a;letter-spacing:.015em;}
#gallery .memory-albums {display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:54px 25px;padding:61px 9px 35px;}
#gallery .memory-album {--album-tilt:0deg;grid-column:span 4;position:relative;min-width:0;isolation:isolate;transform:rotate(var(--album-tilt));transition:transform .3s ease,filter .3s ease;}
#gallery .memory-album-feature {grid-column:span 5;--album-tilt:-1.2deg;}
#gallery .memory-album-batu {grid-column:span 3;--album-tilt:1.8deg;margin-top:22px;}
#gallery .memory-album-cilegon {grid-column:span 4;--album-tilt:-.8deg;margin-top:10px;}
#gallery .memory-album-double {--album-tilt:1.4deg;margin-top:2px;}
#gallery .memory-album-kopken {--album-tilt:-1.7deg;margin-top:20px;}
#gallery .memory-album-wallpaper {--album-tilt:1deg;margin-top:3px;}
@media(hover:hover){#gallery .memory-album:hover {transform:translateY(-8px) rotate(0);filter:drop-shadow(0 10px 8px rgba(121,70,87,.09));}}
#gallery .memory-album-open {width:100%;min-width:0;display:block;text-align:left;border:1px solid #ead8d8;background:#fffefa;color:#634452;padding:15px 16px 17px;border-radius:5px;box-shadow:3px 6px 0 #edd8dd,0 15px 30px rgba(101,52,69,.15);transition:box-shadow .25s;cursor:pointer;}
#gallery .memory-album-open:before {content:"";position:absolute;top:-12px;left:50%;width:86px;height:24px;background:rgba(237,211,169,.83);transform:translateX(-50%) rotate(-5deg);z-index:4;box-shadow:0 2px 3px #b47d6e14;pointer-events:none;}
#gallery .memory-album-batu .memory-album-open:before,#gallery .memory-album-kopken .memory-album-open:before {background:rgba(216,232,211,.9);transform:translateX(-50%) rotate(5deg);}
#gallery .memory-album-cilegon .memory-album-open:before,#gallery .memory-album-wallpaper .memory-album-open:before {background:rgba(232,214,238,.9);}
#gallery .memory-album-open:focus-visible {outline:3px solid #b4587c;outline-offset:6px;}
#gallery .memory-paper-top {display:flex;justify-content:space-between;gap:10px;align-items:center;margin:1px 1px 9px;min-height:21px;}
#gallery .memory-paper-number {font-size:.7rem;letter-spacing:.15em;color:#b17a8e;font-weight:700;}
#gallery .memory-paper-tag {font:italic 500 .85rem 'Playfair Display',Georgia,serif;color:#bd7a92;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#gallery .memory-photo-stage {position:relative;display:block;width:100%;height:245px;background:linear-gradient(135deg,#fae8ee,#f5e7dc 65%,#fff5f4);border:1px solid #f2e1e5;border-radius:3px;overflow:hidden;}
#gallery .memory-photo-stage:before {content:"";position:absolute;inset:0;opacity:.22;background-image:radial-gradient(#dbafbd 1px,transparent 1px);background-size:15px 15px;}
#gallery .memory-photo-main,#gallery .memory-photo-second {position:absolute;display:block;background:#fffdfa;box-shadow:0 5px 13px #75435b35;overflow:hidden;padding:6px 6px 18px;transition:transform .35s ease;}
#gallery .memory-photo-main {left:7%;top:6%;width:68%;height:87%;transform:rotate(-5deg);}
#gallery .memory-photo-second {right:2%;bottom:7%;width:44%;height:64%;transform:rotate(8deg);z-index:2;}
#gallery .memory-photo-main img,#gallery .memory-photo-second img {display:block;width:100%;height:100%;object-fit:cover;object-position:center 42%;border-radius:1px;filter:saturate(.95) contrast(.98);}
#gallery .memory-album-cilegon .memory-photo-main img {object-position:center 46%;}
#gallery .memory-album-kopken .memory-photo-main img {object-position:center 45%;}
#gallery .memory-album-wallpaper .memory-photo-main img {object-position:center 42%;}
#gallery .memory-album-feature .memory-photo-stage {height:257px;}
#gallery .memory-album-batu .memory-photo-stage {height:225px;}
#gallery .memory-album-batu .memory-photo-main {width:74%;left:4%;}
#gallery .memory-album-batu .memory-photo-second {width:48%;right:-2%;}
#gallery .memory-photo-scribble {position:absolute;right:8%;top:7%;font:500 2.4rem 'Playfair Display',Georgia,serif;color:#c96e8f;transform:rotate(12deg);z-index:3;text-shadow:0 1px 0 #fff;}
#gallery .memory-video-marker {position:absolute;left:8px;bottom:8px;z-index:3;background:#fffdf3ed;color:#9b4d68;border:1px solid #ebbdc9;border-radius:99px;padding:4px 9px;font-size:.7rem;font-weight:700;box-shadow:0 2px 8px #83445b20;}
@media(hover:hover){#gallery .memory-album:hover .memory-photo-main {transform:rotate(-8deg) translate(-3px,-3px);}#gallery .memory-album:hover .memory-photo-second {transform:rotate(11deg) translate(2px,-5px);}}
#gallery .memory-album-details {display:block;padding:17px 5px 0;min-height:150px;}
#gallery .memory-album-date {display:block;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#ae7187;font-weight:700;}
#gallery .memory-album-title {display:block;font:500 clamp(1.22rem,1.8vw,1.52rem)/1.25 'Playfair Display',Georgia,serif;letter-spacing:-.025em;color:#754354;margin:7px 0 4px;}
#gallery .memory-album-mood {display:block;color:#a58a94;font:italic .79rem/1.4 'Playfair Display',Georgia,serif;}
#gallery .memory-album-footer {display:flex;justify-content:space-between;gap:6px;align-items:center;border-top:1px dashed #ecd8dd;margin-top:15px;padding-top:12px;}
#gallery .memory-album-count {font-size:.72rem;color:#b4768d;white-space:nowrap;}
#gallery .memory-album-cta {font-size:.72rem;font-weight:700;color:#a34c6d;white-space:nowrap;}
#gallery .memory-album-cta span {font-size:1rem;}
#gallery .memory-album>.gallery-chibi {--sticker-width:94px;top:-59px;right:4px;left:auto;transform:none;z-index:6;}
#gallery .memory-album>.gallery-chibi-b {--sticker-width:85px;top:-52px;right:-5px;}
#gallery .memory-album>.gallery-chibi-c {--sticker-width:94px;top:-63px;right:0;}
#gallery .memory-album>.gallery-chibi-d {--sticker-width:89px;top:-55px;right:2px;}
#gallery .memory-album>.gallery-chibi-e {--sticker-width:91px;top:-55px;right:2px;}
#gallery .memory-album>.gallery-chibi:focus-visible {outline:3px dashed #b55d7b;outline-offset:3px;}
#gallery .memory-scrapbook-signoff {text-align:center;border-top:1px dashed #edcfd8;padding:21px 0 0;color:#b47d91;font:italic 1rem 'Playfair Display',Georgia,serif;letter-spacing:.03em;}
#gallery .memory-scrapbook-signoff span {color:#d27b9a;margin:0 8px;}
#gallery .memory-swipe-hint {display:none;}
#gallery .memory-originals[hidden] {display:none!important;}
#gallery .gallery-help {margin-top:39px;}

/* Accessible album viewer. Scoped to the gallery dialog only. */
#gallery .memory-dialog:not([open]) {display:none!important;}
#gallery .memory-dialog {box-sizing:border-box;width:min(940px,calc(100vw - 26px));max-width:none;max-height:min(92dvh,850px);margin:auto;padding:0;border:0;border-radius:23px;background:transparent;color:#694756;overflow:visible;box-shadow:none;}
#gallery .memory-dialog[open] {display:block;position:fixed;inset:0;z-index:9999;-webkit-overflow-scrolling:touch;}
#gallery .memory-dialog::backdrop {background:rgba(48,27,39,.69);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);}
#gallery .memory-album-open,
#gallery .gallery-chibi,
#gallery .memory-dialog-close,
#gallery .memory-prev,
#gallery .memory-next,
#gallery .birthday-replay,
#gallery .memory-progress-dots button,
#gallery .memory-page-dots button {
  cursor:pointer;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  -webkit-touch-callout:none;
  -webkit-user-select:none;
  user-select:none;
}
#gallery .memory-album-open * {
  pointer-events:none;
}
#gallery .memory-dialog-shell {max-height:min(92dvh,850px);overflow-y:auto;overscroll-behavior:contain;background:#fffaf8;border:1px solid #f1d1d9;border-radius:23px;padding:22px 24px 17px;box-shadow:0 20px 75px rgba(45,24,33,.28);}
#gallery .memory-dialog-header {display:flex;justify-content:space-between;gap:15px;align-items:start;padding-bottom:14px;border-bottom:1px dashed #e7c8d2;}
#gallery .memory-dialog-kicker {font-size:.66rem;font-weight:700;letter-spacing:.18em;color:#bd7b93;}
#gallery .memory-dialog-header h3 {font-size:clamp(1.65rem,3vw,2.25rem);line-height:1.1;margin:6px 0 0;color:#8e4c66;}
#gallery .memory-dialog-close {border:1px solid #e9c7d1;background:#fff1f5;color:#a65b75;border-radius:50%;font-size:1.65rem;line-height:1;width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;}
#gallery .memory-dialog-body {display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr);gap:25px;align-items:center;padding-top:19px;}
#gallery .memory-dialog-stage {position:relative;display:grid;place-items:center;background:linear-gradient(135deg,#fcecf1,#fff3ed);border:1px solid #f2dbe1;border-radius:12px;padding:15px;min-height:430px;}
#gallery .memory-media {display:grid;place-items:center;width:100%;height:425px;min-width:0;overflow:hidden;background:#fffdfb;border:8px solid #fffefa;border-bottom-width:17px;box-shadow:0 9px 27px #79435b1c;}
#gallery .memory-media img,#gallery .memory-media video {display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;background:#f8edf0;}
#gallery .memory-prev,#gallery .memory-next {position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;background:#fffaf9ed;border:1px solid #e8c2ce;color:#a35170;font:400 2.2rem/1 Georgia,serif;display:grid;place-items:center;box-shadow:0 4px 13px #81496228;}
#gallery .memory-prev {left:7px;}#gallery .memory-next {right:7px;}
#gallery .memory-dialog-story {align-self:center;padding:20px 6px 22px 0;}
#gallery .memory-dialog-page {font-size:.75rem;letter-spacing:.15em;color:#b77c90;font-weight:700;}
#gallery .memory-dialog-story h4 {font:500 clamp(1.55rem,2.8vw,2.3rem)/1.22 'Playfair Display',Georgia,serif;letter-spacing:-.025em;margin:13px 0 10px;color:#7c4359;}
#gallery .memory-item-date {font-size:.79rem;color:#aa7185;line-height:1.65;margin:0 0 17px;}
#gallery .memory-item-story {font-size:.94rem;color:#866b75;line-height:1.85;margin:0;}
#gallery .memory-story-heart {display:block;margin-top:23px;font:italic 2rem 'Playfair Display',Georgia,serif;color:#e3a3b8;}
#gallery .memory-dialog-bottom {display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px dashed #e9cbd4;margin-top:16px;padding-top:13px;}
#gallery .memory-dialog-bottom>span {font-size:.72rem;color:#aa8794;}
#gallery .memory-page-dots {display:flex;gap:8px;}
#gallery .memory-page-dots button {width:10px;height:10px;border:0;border-radius:99px;background:#eccfd9;padding:0;transition:width .2s,background .2s;}
#gallery .memory-page-dots button[aria-current="true"] {width:24px;background:#bf6b89;}
#gallery .memory-dialog button:focus-visible {outline:3px solid #a64b6d;outline-offset:3px;}
body.memory-dialog-open {overflow:hidden;}

@media(max-width:1050px){
 #gallery .memory-albums {grid-template-columns:repeat(2,minmax(0,1fr));gap:57px 24px;padding-inline:12px;}
 #gallery .memory-album,#gallery .memory-album-feature,#gallery .memory-album-batu,#gallery .memory-album-cilegon {grid-column:span 1;margin-top:0;}
 #gallery .memory-photo-stage,#gallery .memory-album-feature .memory-photo-stage,#gallery .memory-album-batu .memory-photo-stage {height:245px;}
}
@media(max-width:680px){
 #gallery .section-head {margin-bottom:27px;}
 #gallery .memory-scrapbook {padding:19px 0 22px;border-radius:22px;box-shadow:0 6px 0 #edd8df,0 14px 40px #6d3e5010;}
 #gallery .memory-scrapbook-intro {margin:0 17px;padding:2px 2px 16px;gap:12px;}
 #gallery .memory-handwriting {font-size:1.45rem;}
 #gallery .memory-intro-copy p {font-size:.76rem;line-height:1.55;margin-top:6px;}
 #gallery .memory-album-total {padding:6px 8px;gap:5px;}
 #gallery .memory-album-total>span {font-size:1.8rem;}
 #gallery .memory-album-total small {font-size:.6rem;}
 #gallery .memory-albums {display:flex;gap:19px;overflow-x:auto;overflow-y:clip;scroll-snap-type:x mandatory;scroll-padding-inline:19px;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:53px 19px 25px;}
 #gallery .memory-albums::-webkit-scrollbar {display:none;}
 #gallery .memory-album,#gallery .memory-album-feature,#gallery .memory-album-batu,#gallery .memory-album-cilegon {flex:0 0 min(79vw,340px);width:min(79vw,340px);margin:0;scroll-snap-align:start;--album-tilt:0deg;transform:none;}
 #gallery .memory-album-open {padding:12px 12px 14px;}
 #gallery .memory-photo-stage,#gallery .memory-album-feature .memory-photo-stage,#gallery .memory-album-batu .memory-photo-stage {height:242px;}
 #gallery .memory-album-details {padding:14px 4px 0;min-height:138px;}
 #gallery .memory-album-title {font-size:1.36rem;}
 #gallery .memory-album>.gallery-chibi,#gallery .memory-album>.gallery-chibi-b,#gallery .memory-album>.gallery-chibi-c,#gallery .memory-album>.gallery-chibi-d,#gallery .memory-album>.gallery-chibi-e {--sticker-width:77px;top:-47px;right:2px;left:auto;}
 #gallery .memory-swipe-hint {display:flex;flex-direction:column;align-items:center;gap:11px;padding:0 12px 20px;color:#aa7588;font-size:.72rem;letter-spacing:.04em;}
 #gallery .memory-progress-dots {display:flex;align-items:center;gap:7px;}
 #gallery .memory-progress-dots button {width:7px;height:7px;padding:0;border-radius:99px;border:0;background:#e7bfcb;transition:width .2s,background .2s;}
 #gallery .memory-progress-dots button[aria-current="true"] {width:24px;background:#b96282;}
 #gallery .memory-scrapbook-signoff {font-size:.85rem;margin:0 17px;padding-top:18px;}
 #gallery .gallery-help {margin-top:27px;}
 #gallery .memory-dialog {width:calc(100vw - 16px);max-height:94dvh;border-radius:16px;}
 #gallery .memory-dialog-shell {max-height:94dvh;border-radius:16px;padding:14px 13px 13px;}
 #gallery .memory-dialog-header {padding-bottom:11px;}
 #gallery .memory-dialog-header h3 {font-size:1.65rem;}
 #gallery .memory-dialog-kicker {font-size:.6rem;}
 #gallery .memory-dialog-close {width:38px;height:38px;}
 #gallery .memory-dialog-body {grid-template-columns:1fr;gap:12px;padding-top:13px;}
 #gallery .memory-dialog-stage {min-height:0;padding:8px;}
 #gallery .memory-media {height:min(45dvh,430px);border-width:5px;border-bottom-width:12px;}
 #gallery .memory-prev,#gallery .memory-next {width:36px;height:36px;font-size:1.9rem;}
 #gallery .memory-prev {left:2px;}#gallery .memory-next {right:2px;}
 #gallery .memory-dialog-story {padding:1px 6px 2px;}
 #gallery .memory-dialog-story h4 {font-size:1.48rem;margin:6px 0;}
 #gallery .memory-item-date {font-size:.72rem;margin-bottom:6px;}
 #gallery .memory-item-story {font-size:.82rem;line-height:1.6;}
 #gallery .memory-story-heart {display:none;}
 #gallery .memory-dialog-bottom {margin-top:9px;padding-top:10px;}
 #gallery .memory-dialog-bottom>span {font-size:.62rem;}
}
@media(max-width:370px){
 #gallery .memory-handwriting {font-size:1.22rem;}
 #gallery .memory-album-total>span {font-size:1.5rem;}
 #gallery .memory-album,#gallery .memory-album-feature,#gallery .memory-album-batu,#gallery .memory-album-cilegon {flex-basis:81vw;width:81vw;}
 #gallery .memory-photo-stage,#gallery .memory-album-feature .memory-photo-stage,#gallery .memory-album-batu .memory-photo-stage {height:225px;}
}
@media(prefers-reduced-motion:reduce){#gallery .memory-album,#gallery .memory-photo-main,#gallery .memory-photo-second,#gallery .memory-progress-dots button,#gallery .memory-page-dots button {transition:none!important;}}

/* 09 November 2026 — full-frame display for every album viewer, no cropping.
   Scrapped Polaroid thumbnails stay unchanged; only opened albums are affected. */
#gallery .memory-dialog-stage {min-width:0; overflow:visible;}
#gallery .memory-media {box-sizing:border-box; min-width:0; min-height:0; overflow:hidden; place-items:center; background:#fff8f5;}
#gallery .memory-media > img,
#gallery .memory-media > video {
  display:block !important;
  width:100% !important; height:100% !important;
  max-width:100% !important; max-height:100% !important;
  object-fit:contain !important; object-position:center center !important;
  transform:none !important; border-radius:0 !important;
  background:#fff8f5 !important;
}
/* Album viewer scales to viewport, including portrait, landscape and tall images. */
#gallery .memory-media {height:min(58dvh,550px);}
@media (max-width:680px){
  #gallery .memory-media{height:min(48dvh,440px);}
}
@media (orientation:landscape) and (max-height:540px){
  #gallery .memory-media{height:min(54dvh,330px);}
}


/* SHANTIK GALLERY STANDARD B — adaptive inside album, all five albums.
   Cover (outside dialog) may crop artistically; opened photo never does. */
#gallery .memory-dialog .memory-dialog-stage {
  display:flex;align-items:center;justify-content:center;
  min-height:0;box-sizing:border-box;
  padding:clamp(8px,1.4vw,15px);
  overflow:hidden;
}
#gallery .memory-dialog .memory-media {
  box-sizing:border-box;
  display:flex;align-items:center;justify-content:center;
  flex:0 1 auto;
  width:100%;height:auto;min-height:0;
  overflow:hidden;
  border:8px solid #fffefa;border-bottom-width:16px;
  background:#fff9f7;
  transition:width .15s ease,height .15s ease;
}
#gallery .memory-dialog .memory-media > img,
#gallery .memory-dialog .memory-media > video,
#gallery .memory-dialog.birthday-open .memory-media > img,
#gallery .memory-dialog.birthday-open .memory-media > video {
  display:block!important;width:100%!important;height:100%!important;
  min-width:0;max-width:100%!important;max-height:100%!important;
  object-fit:contain!important;object-position:center center!important;
  transform:none!important;filter:none;
  background:#fff9f7!important;
}
/* Navigation belongs in the frame margins, not above faces. */
#gallery .memory-dialog .memory-prev {left:2px;}
#gallery .memory-dialog .memory-next {right:2px;}
/* Album 4 scrapbook cover: restored creative polaroid composition.
   The cover uses an intentional crop; it does not affect opened photos. */
#gallery .memory-album-double .memory-photo-main {
  left:5%;top:5%;bottom:auto;right:auto;width:69%;height:88%;
  transform:rotate(-5deg);z-index:1;
}
#gallery .memory-album-double .memory-photo-second {
  left:auto;right:0;top:auto;bottom:5%;width:46%;height:69%;
  transform:rotate(8deg);z-index:2;
}
#gallery .memory-album-double .memory-photo-main img {
  object-fit:cover!important;object-position:50% 37%!important;
}
#gallery .memory-album-double .memory-photo-second img {
  object-fit:cover!important;object-position:50% 53%!important;
}
@media(hover:hover){
 #gallery .memory-album-double:hover .memory-photo-main {transform:rotate(-8deg) translate(-3px,-3px);}
 #gallery .memory-album-double:hover .memory-photo-second {transform:rotate(11deg) translate(2px,-5px);}
}
@media(max-width:680px){
 #gallery .memory-dialog .memory-media {
   border-width:5px;border-bottom-width:11px;
 }
 #gallery .memory-dialog .memory-dialog-stage {padding:8px;}
 #gallery .memory-dialog .memory-prev,#gallery .memory-dialog .memory-next {
   width:32px;height:32px;
 }
}
@media(prefers-reduced-motion:reduce){
 #gallery .memory-dialog .memory-media {transition:none;}
}

/* Album 5, photo-rich cover only: artistic thumbnail crop is permitted here.
   All OPENED album images still use Standard B adaptive contain rules. */
#gallery .memory-album-wallpaper-updated .memory-photo-main img { object-fit:cover;object-position:center 42%; }
#gallery .memory-album-wallpaper-updated .memory-photo-second img { object-fit:cover;object-position:center 42%; }
#gallery .wallpaper-animation-panel .wallpaper-animation-scene {min-height:190px;display:flex;align-items:center;justify-content:center;}
#gallery .wallpaper-animation-panel .wallpaper-animation-gif {display:block;width:min(100%,245px);height:auto;aspect-ratio:1;object-fit:contain;background:transparent;filter:drop-shadow(0 6px 9px rgba(85,54,65,.14));}
@media(max-width:680px){#gallery .wallpaper-animation-panel .wallpaper-animation-gif {width:min(100%,200px);}}

/* Album 6: Sunflower Diary cover. Inside gallery uses existing Standard B adaptive no-crop. */
#gallery .memory-album-sunflower {--album-tilt:-1deg;margin-top:2px;}
#gallery .memory-album-sunflower .memory-album-open:before {background:#f8e3ab;}
#gallery .memory-album-sunflower .memory-photo-stage {background:linear-gradient(145deg,#fff6d9,#f7e9db 67%,#fff2f2);}
#gallery .memory-album-sunflower .memory-photo-main {left:6%;top:4%;width:68%;height:89%;transform:rotate(-4deg);}
#gallery .memory-album-sunflower .memory-photo-second {right:1%;bottom:5%;width:45%;height:62%;transform:rotate(8deg);}
#gallery .memory-album-sunflower .memory-photo-main img {object-position:51% 38%;}
#gallery .memory-album-sunflower .memory-photo-second img {object-position:center 45%;}
#gallery .memory-album-sunflower .memory-photo-scribble {color:#d4a12c;text-shadow:0 1px 0 #fff9ea;}
@media(hover:hover){
#gallery .memory-album-sunflower:hover .memory-photo-main {transform:rotate(-7deg) translate(-3px,-3px);}
#gallery .memory-album-sunflower:hover .memory-photo-second {transform:rotate(10deg) translate(2px,-4px);}
}

/* Album 7: self-care scrapbook cover. Viewer remains Standard B no-crop. */
#gallery .memory-album-skincare {--album-tilt:1.1deg;margin-top:5px;}
#gallery .memory-album-skincare .memory-album-open:before {background:#e5cde0;}
#gallery .memory-album-skincare .memory-photo-stage {background:linear-gradient(145deg,#fbecf3,#f9ede7 72%,#fff8f6);}
#gallery .memory-album-skincare .memory-photo-main {left:5%;top:5%;width:71%;height:87%;transform:rotate(-5deg);}
#gallery .memory-album-skincare .memory-photo-second {right:2%;bottom:4%;width:40%;height:55%;transform:rotate(8deg);}
#gallery .memory-album-skincare .memory-photo-main img {object-position:50% 30%;}
#gallery .memory-album-skincare .memory-photo-second img {object-position:50% 55%;}
#gallery .memory-album-skincare .memory-photo-scribble {color:#c77f9c;}
@media(hover:hover){#gallery .memory-album-skincare:hover .memory-photo-main {transform:rotate(-8deg) translate(-3px,-3px);}#gallery .memory-album-skincare:hover .memory-photo-second {transform:rotate(10deg) translate(2px,-3px);}}

/* Intuitive Mobile Swipe Navigation Styling for iOS & Android */
#gallery .memory-dialog-shell {
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
}
#gallery .memory-dialog-stage {
  position: relative;
  touch-action: pan-y;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
}
#gallery .memory-media {
  touch-action: pan-y;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  transform-origin: center center;
}
#gallery .memory-media img,
#gallery .memory-media video {
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
}
#gallery .memory-swipe-hint-pill {
  position: absolute;
  bottom: 11px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(255, 252, 251, 0.94);
  border: 1px solid rgba(235, 195, 207, 0.92);
  box-shadow: 0 4px 14px rgba(118, 56, 78, 0.14);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #9f4967;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: 4px 13px;
  border-radius: 99px;
  pointer-events: none;
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 7px;
  transition: opacity 0.35s ease, transform 0.35s ease;
  user-select: none;
  -webkit-user-select: none;
}
#gallery .memory-swipe-hint-pill.fade-out {
  opacity: 0;
  transform: translateX(-50%) translateY(8px);
}
#gallery .memory-swipe-hint-pill .swipe-arrow {
  font-size: 0.95rem;
  line-height: 1;
  color: #c85f78;
  display: inline-block;
  animation: swipeArrowPulse 1.8s ease-in-out infinite;
}
#gallery .memory-swipe-hint-pill .swipe-left { animation-delay: 0s; }
#gallery .memory-swipe-hint-pill .swipe-right { animation-delay: 0.9s; }
@keyframes swipeArrowPulse {
  0%, 100% { transform: translateX(0); opacity: 0.6; }
  50% { transform: translateX(2.5px); opacity: 1; }
}
@media(min-width: 768px) {
  #gallery .memory-swipe-hint-pill {
    display: none;
  }
}

/* Gallery Heart Burst Particle System */
.gallery-heart-particle {
  position: fixed;
  z-index: 10005;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
  font-family: 'DM Sans', -apple-system, sans-serif;
  line-height: 1;
  will-change: transform, opacity;
  animation: galleryHeartBurst 0.9s cubic-bezier(0.2, 0.8, 0.3, 1) forwards;
  filter: drop-shadow(0 2px 4px rgba(180, 75, 105, 0.28));
}

@keyframes galleryHeartBurst {
  0% {
    transform: translate(-50%, -50%) translate3d(0, 0, 0) scale(0.25) rotate(var(--burst-rot-start, 0deg));
    opacity: 1;
  }
  35% {
    opacity: 1;
    transform: translate(-50%, -50%) translate3d(var(--burst-x), var(--burst-y), 0) scale(var(--burst-scale, 1.25)) rotate(var(--burst-rot-mid, 15deg));
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) translate3d(calc(var(--burst-x) * 1.3), calc(var(--burst-y) - 38px), 0) scale(calc(var(--burst-scale, 1) * 0.65)) rotate(var(--burst-rot-end, 30deg));
  }
}

@media(prefers-reduced-motion: reduce) {
  .gallery-heart-particle {
    display: none !important;
  }
}

