.red-album-shell{background:linear-gradient(145deg,#451828f5,#270e1cee);border-color:#d25870;color:#f3daca}
.red-sections{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 1.25rem}.red-sections button{border:1px solid #c58a98;border-radius:99px;padding:.65rem 1rem;color:#f5d9d5;background:#4e1b2c;font-size:.9rem;min-height:44px}.red-sections button[aria-pressed=true]{background:#f2d4c8;color:#4d1e2a;border-color:#f6dbbd}.red-sections small,.red-new-marker{font:700 .65rem/1 sans-serif;letter-spacing:.1em}.red-sections .red-new-link{margin-left:auto}.red-sections small{margin-left:.35rem}.red-album-spread{display:grid;grid-template-columns:1fr 1fr;border:1px solid #dd9a96;border-radius:6px;overflow:hidden;box-shadow:0 16px 45px #13010d66}.red-album-page{padding:1.4rem;min-width:0;background:linear-gradient(90deg,#edd0ca,#f8e7e0 8%,#f9ece5 90%,#c299a1);color:#552836;display:flex;flex-direction:column}.red-album-page+.red-album-page{background:linear-gradient(90deg,#c29ca4,#f9e9e1 8%,#f7e6df 92%,#e5c5c5)}.red-album-page .page-top{font-size:.75rem;display:flex;justify-content:space-between;gap:.5rem;letter-spacing:.08em;color:#8d4f5b}.red-photo-slots{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;align-content:start}.red-photo{margin:0;min-width:0;padding:7px 7px 0;background:#fff5ed;box-shadow:0 2px 6px #6230462b;border:1px solid #d7b5b0;border-radius:3px}.red-frame{position:relative;aspect-ratio:3/4;background:#ead5d8;display:flex;align-items:center;justify-content:center;overflow:hidden}.red-photo-open{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.red-frame img,.red-large-frame img,.red-large-frame video{display:block;width:100%;height:100%;max-height:100%;object-fit:contain;object-position:center}.red-photo figcaption{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:.2rem;color:#67343e}.red-photo figcaption>span{font:italic .88rem/1.4 Georgia,serif}.red-download{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;min-width:44px;min-height:44px;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;text-decoration:none}.red-download:hover{color:#bd4d63}.red-new-marker{position:absolute;right:5px;top:5px;padding:4px 5px;border-radius:2px;background:#ffedd6e8;color:#7d2b42;pointer-events:none}.red-placeholder{aspect-ratio:3/4;min-width:0;border:1px dashed #b1828b66;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.6rem;text-align:center;color:#a2727c}.red-placeholder>span{font-size:1.7rem}.red-placeholder small{font-size:.8rem;line-height:1.5}.red-sealed{background:radial-gradient(ellipse at 50% 35%,#e7c6b077,#e8cbd333);border:1px solid #b98b6980}.red-sealed>span{color:#a77f50;font-size:2.4rem}.red-opening-spread .red-photo-slots{grid-template-columns:1fr}.red-opening-spread .red-photo{padding:10px 10px 0}.red-opening-spread .red-frame{aspect-ratio:4/5}.red-bonus-frame{border-color:#bb9565;box-shadow:0 0 0 2px #e8d0a2,0 4px 12px #69412425}.red-resume-bonus{margin-bottom:1rem}.red-album-page .page-number{margin-top:auto;padding-top:1rem;font-size:.8rem}.red-load-state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:.5rem;background:#ead5d8;color:#592936;text-align:center;font-size:.9rem}.red-load-state[hidden]{display:none}.red-load-state .subtle{color:#592936;border-color:#9b5c6b}.red-viewer-overlay{position:fixed;inset:0;z-index:1900;display:grid;place-items:center;background:#170a15ed;padding:16px;backdrop-filter:blur(10px);overflow:auto}.red-viewer{position:relative;width:min(1100px,96vw);max-height:96dvh;padding:36px 24px 12px;background:linear-gradient(140deg,#672c40,#2d1122);border:1px solid #dbb97d;border-radius:8px;box-shadow:0 12px 70px #0008;overflow:auto;color:#f9e1cf}.red-viewer-close{position:absolute;right:3px;top:0;z-index:3;font-size:1.7rem;background:none;border:0;min-width:44px;min-height:44px;color:#f5daca}.red-large-frame{position:relative;width:100%;height:min(72dvh,850px);background:#2a1520;border:6px solid #e7d5c5;box-shadow:0 0 0 1px #ad8b6b}.red-inside-arrow{position:absolute;top:50%;transform:translateY(-50%);min-width:44px;height:52px;border:1px solid #f3d7aa6b;background:#261420a6;border-radius:4px;color:white;font-size:1.6rem}.red-inside-prev{left:8px}.red-inside-next{right:8px}.red-inside-arrow[hidden]{display:none}.red-viewer-foot{display:flex;justify-content:space-between;align-items:center;min-height:44px;gap:1rem}.red-viewer-foot p{margin:0;font:italic 1rem/1.5 Georgia,serif}.red-group-count{font:normal .8rem sans-serif;margin-left:1rem;opacity:.7}.red-viewer-nav,.red-play-controls{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap}.red-viewer .subtle{min-height:44px;font-size:.9rem}.red-play-controls{padding-bottom:.5rem}.red-gold-reveal{text-align:center;padding:1.5rem;max-width:900px;margin:auto}.red-gold-reveal h2{font:clamp(1.8rem,4vw,2.6rem)/1.2 Georgia,serif;color:#ffe1a2;margin:.6rem 0 1rem}.red-bonus-progress{font-size:1rem;color:#efd4ca}.red-bonus-deck{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:1.5rem auto;max-width:660px}.red-bonus-card{position:relative;aspect-ratio:3/4;min-width:0;padding:0;border:1px solid #be8b61;border-radius:5px;background:linear-gradient(135deg,#7a3149,#361323);color:#e6bd83;font:2rem Georgia,serif;box-shadow:inset 0 0 0 5px #76314650,0 3px 8px #170b1477;transition:box-shadow .25s,transform .25s}.red-bonus-card:before{content:'';position:absolute;inset:7px;border:1px solid #d2a07055;border-radius:3px;pointer-events:none}.red-bonus-card.ring-active{outline:2px solid #ffe8a5;outline-offset:3px;box-shadow:0 0 0 5px #dfba6144,0 0 28px #e5bd6977;transform:translateY(-2px)}.red-bonus-card img{width:100%;height:100%;object-fit:contain;background:#ead5d8;display:block;border-radius:4px}.red-bonus-card.is-revealed{opacity:.65}.red-bonus-card.is-revealed:before{display:none}.red-reveal-controls{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}.red-reveal-controls label{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.red-reveal-controls input{accent-color:#dfb579;width:18px;height:18px}.red-controls-hint{font-size:.85rem;opacity:.7}.red-gold-reveal [data-bonus-status]{min-height:1.5em;font-size:.9rem}.red-gift{line-height:1.6;white-space:normal}.red-ceo{white-space:nowrap;font-weight:600}.red-ceo>b{font-size:1.2em;font-weight:900}.red-ceo>small{font-size:.6em;font-weight:400;letter-spacing:0}.red-revealed{width:min(320px,80%);margin:1.5rem auto;padding:9px;border:2px solid #e1bd73;box-shadow:0 0 0 4px #8e663955,0 0 48px #efc77733;cursor:zoom-in}.red-reveal-arrive{animation:redGoldArrival 1s ease-out}.red-revealed img{object-fit:contain}.red-regular-reward-deck{grid-template-columns:repeat(6,minmax(0,1fr));max-width:650px;margin:1rem auto}.reward-placeholder{aspect-ratio:3/4;border:1px dashed #e2b39044;border-radius:5px;background:#48223222;opacity:.35;display:grid;place-items:center;color:#e2b39044}.reward-card .photo-image{background-repeat:no-repeat}.reward-card.selected{transform:rotateY(180deg)!important}.red-reward-status{min-height:1.5em;font-size:.9rem}.standard-new{position:absolute;right:6px;top:6px;font:700 .65rem sans-serif;letter-spacing:.07em;background:#f7e1bb;color:#3f4a2f;padding:4px}.album-photo{position:relative}.regular-latest{display:flex;justify-content:flex-end;margin-bottom:1rem}
@keyframes redGoldArrival{from{opacity:0;transform:translateY(18px) scale(.94);filter:brightness(1.7)}to{opacity:1;transform:none;filter:brightness(1)}}
@media(max-width:760px){.red-album-shell{padding:20px 12px}.red-album-page{padding:12px}.red-photo-slots{grid-template-columns:1fr;gap:14px}.red-sections{gap:6px}.red-sections button{padding:.55rem .75rem;font-size:.85rem}.red-sections .red-new-link{margin-left:0}.red-album-page .page-top{font-size:.7rem;letter-spacing:0}.red-photo figcaption>span{font-size:.82rem}.red-opening-spread .red-frame{aspect-ratio:3/5}.red-viewer-overlay{padding:7px}.red-viewer{width:100%;padding:42px 9px 10px;max-height:98dvh}.red-large-frame{height:68dvh;border-width:4px}.red-viewer-nav .subtle{padding:8px;font-size:.85rem}.red-inside-arrow{min-width:44px;height:44px}.red-inside-prev{left:3px}.red-inside-next{right:3px}.red-gold-reveal{padding:12px 6px}.red-bonus-deck{gap:9px}.red-bonus-card{font-size:1.4rem}.red-bonus-progress{font-size:.88rem}.red-bonus-card:before{inset:4px}.red-gold-reveal .primary{font-size:.92rem}.red-regular-reward-deck{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}}
@media(prefers-reduced-motion:reduce){.red-reveal-arrive{animation:none}.red-bonus-card{transition:none}.red-bonus-card.ring-active{transform:none}}

.red-frame img[hidden],.red-large-frame img[hidden]{display:none}.regular-latest{gap:.5rem;flex-wrap:wrap}.red-photo-open:focus-visible,.red-download:focus-visible,.red-bonus-card:focus-visible{outline:3px solid #bc823a;outline-offset:3px}

/* Same honey artwork and geometry in both states; the locked frame contains no photo. */
.red-honey,.red-honey-locked>span{display:block;font-size:7.2rem;line-height:1.15;max-width:100%;transition:filter .35s ease;text-align:center}
.red-honey-locked{overflow:hidden;cursor:default}
.red-honey-locked small{font-size:.8rem;line-height:1.5}
.red-honey-locked:hover>span,.red-honey-locked:focus-visible>span,.red-photo-open:hover .red-honey,.red-photo-open:focus-visible .red-honey{filter:drop-shadow(0 0 9px #eebd4acc) drop-shadow(0 0 22px #dca33d88)}
.red-honey-locked:focus-visible{outline:3px solid #bc823a;outline-offset:3px}
.red-bonus-preview{position:fixed;inset:0;z-index:1800;overflow:auto;overscroll-behavior:contain;padding:20px max(12px,env(safe-area-inset-right));background:radial-gradient(ellipse at top,#603248,#21121d);color:#f6e5cd}
.red-bonus-preview>header,.red-bonus-preview>nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;max-width:1000px;margin:0 auto 14px}
.red-bonus-preview>header strong{margin-right:auto;font-size:.9rem;letter-spacing:.06em}
.red-bonus-preview button{min-height:44px}.red-bonus-preview>header button,.red-bonus-preview>nav button{padding:10px 15px;border:1px solid #d5b57f;border-radius:10px;color:#ffedc4;background:#492433}
@media(max-width:420px){.red-honey,.red-honey-locked>span{font-size:min(7.2rem,25vw)}}
@media(prefers-reduced-motion:reduce){.red-honey,.red-honey-locked>span{transition:none}}
.red-owned-notice{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));z-index:2100;display:flex;align-items:center;gap:12px;padding:16px 22px;max-width:calc(100vw - 36px);border:1px solid #e2bd7e;border-radius:16px;background:linear-gradient(135deg,#70334c,#39182b);color:#ffe5bd;box-shadow:0 8px 30px #1c081e66;pointer-events:none;font-size:16px;animation:redNoticeIn .3s ease-out}
.red-owned-notice>span:first-child{font-size:30px;color:#f5cc83}.red-gift{position:relative;transition:none}.red-gift-ready{animation:redGiftGlow 1.5s ease-out both}.red-gift:disabled{pointer-events:none}
.red-ceo-deck{grid-template-columns:repeat(3,minmax(0,1fr));max-width:960px;gap:22px;margin:2rem auto}.red-ceo-deck .red-bonus-card{aspect-ratio:3/4;min-height:130px;display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden}.red-ceo-deck .ring-active{outline:4px solid #f7d48e;outline-offset:4px;box-shadow:0 0 0 9px #d3a14c22,0 0 36px #edb74c66;transition:box-shadow 1.1s,outline-color 1.1s;transform:none}.red-ceo-deck.is-shuffling .red-bonus-card{animation:redCEOShuffle 1.2s ease-in-out both}.red-ceo-deck .ceo-revealed{opacity:1;background:#4a2434;padding:10px;gap:12px}.red-ceo-deck .ceo-revealed:before{display:none}.red-ceo-deck .red-ceo-decoy{width:auto;height:auto;max-width:100%;max-height:calc(100% - 44px);object-fit:contain;background:none}.red-decoy-caption{display:block;font:600 clamp(.875rem,2.5vw,1.15rem)/1.4 Georgia,serif;color:#ffe3b0}.red-one-chance{color:#f7d48e;font:italic 1.3rem/1.5 Georgia,serif}
.red-heroic-reveal{position:relative;isolation:isolate;display:flow-root}.red-heroic-rays{position:absolute;inset:5%;z-index:-1;pointer-events:none;opacity:0;background:repeating-conic-gradient(from 10deg,transparent 0deg 17deg,#fbe1a544 19deg 21deg,transparent 23deg 40deg);mask-image:radial-gradient(ellipse,black,transparent 70%)}.red-heroic-active .red-heroic-rays{animation:redHeroicRays 1.8s ease-out both}.red-heroic-active .red-revealed{animation:redHeroicCard 1.8s cubic-bezier(.2,.8,.2,1) both}.red-effects-paused *{animation-play-state:paused!important}
@keyframes redCEOShuffle{0%,100%{transform:translateX(0) rotate(0)}35%{transform:translateX(calc((1 - var(--card-position))*80%)) rotate(calc((var(--card-position) - 1)*7deg))}65%{transform:translateX(calc((1 - var(--card-position))*35%)) rotate(calc((1 - var(--card-position))*5deg))}}
@keyframes redNoticeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes redGiftGlow{0%,100%{box-shadow:0 0 0 #efcb7e00}50%{box-shadow:0 0 36px 9px #efcb7e77}}
@keyframes redHeroicRays{0%{opacity:0;transform:rotate(-12deg) scale(.7)}45%{opacity:1}100%{opacity:0;transform:rotate(16deg) scale(1.2)}}
@keyframes redHeroicCard{0%{opacity:0;transform:translateY(22px) scale(.86);filter:brightness(1.6)}50%{opacity:1;box-shadow:0 0 0 5px #ad793944,0 0 72px #ffeab777}100%{opacity:1;transform:none;filter:brightness(1)}}
@media(max-width:600px){.red-ceo-deck{gap:12px}.red-ceo-deck .ceo-revealed{padding:5px;gap:8px}.red-owned-notice{padding:12px 16px}.red-ceo-deck .ring-active{outline-width:3px;outline-offset:2px}}
@media(prefers-reduced-motion:reduce){.red-owned-notice,.red-gift-ready,.red-ceo-deck.is-shuffling .red-bonus-card,.red-heroic-active .red-revealed,.red-heroic-active .red-heroic-rays{animation:none}.red-ceo-deck .ring-active{transition:none}.red-gift-ready{box-shadow:0 0 18px #efcb7e44}}

.g-bonus-preview-open .g-help-overlay.gh-live{z-index:1850}.g-bonus-preview-open .gh-live .gh-hold{visibility:visible}

.red-honey-locked>span{font-size:3.6rem}.red-honey-locked:hover>span,.red-honey-locked:focus-visible>span,.red-photo-open:hover .red-honey,.red-photo-open:focus-visible .red-honey{filter:drop-shadow(0 0 7px #fff5d4b3) drop-shadow(0 0 17px #dbad4b99)}
@media(max-width:420px){.red-honey-locked>span{font-size:min(3.6rem,12.5vw)}}
