/* 写真後ガチャ専用。すべての規則を新モードに限定する。 */
[data-coupon-mode="photo"] .photo-badge,
[data-coupon-mode="photoreward"] .photo-badge{width:fit-content;max-width:100%;margin:12px auto 0;padding:7px 14px;border:1px solid #ffe9a4;border-radius:6px;background:linear-gradient(145deg,#fff3c6,#dfbc69);box-shadow:0 3px 16px #e7bd4b26;color:#32220c;font-size:14px;font-weight:900;line-height:1.6;overflow-wrap:anywhere}
[data-coupon-mode="photo"] .idle.idle-redesign{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
[data-coupon-mode="photo"] .idle-redesign .top-content{height:min(700px,90svh);min-height:450px;padding-bottom:18px;grid-template-rows:auto auto minmax(140px,1fr)}
[data-coupon-mode="photo"] .top-action,
[data-coupon-mode="photo"] #startButton,
[data-coupon-mode="photo"] #soundToggle{display:none}
[data-coupon-mode="photo"] .photo-instructions{position:relative;z-index:2;margin:0 16px calc(24px + var(--sb));padding:24px 18px;border:1px solid #c5a75f66;border-radius:14px;background:linear-gradient(155deg,#1c1b30,#101426);color:#f8f4eb;overflow-wrap:anywhere}
[data-coupon-mode="photo"] .photo-instructions h2{margin:0 0 22px;text-align:center;font-size:23px;color:#ffe5a3;letter-spacing:.06em}
[data-coupon-mode="photo"] .photo-unlock-steps{display:grid;gap:24px;list-style:none;margin:0;padding:0}
[data-coupon-mode="photo"] .photo-unlock-steps li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:start}
[data-coupon-mode="photo"] .photo-step-number{display:grid;place-items:center;width:30px;height:30px;border:1px solid #f2d48d;border-radius:50%;background:#f4dda8;color:#271d0e;font-size:16px;font-weight:900}
[data-coupon-mode="photo"] .photo-unlock-steps h3{margin:1px 0 0;font-size:15px;line-height:1.8;font-weight:800}
[data-coupon-mode="photo"] .photo-unlock-steps p{margin:4px 0 0;font-size:12px;line-height:1.9;color:#d9d5e3}
[data-coupon-mode="photo"] .photo-step-example{display:block;width:110px;max-width:100%;height:auto;margin:14px auto 0;border:1px solid #a09baf;border-radius:6px}
[data-coupon-mode="photo"] .photo-free-note{margin:26px 0 18px;padding:14px 12px;border-radius:8px;background:#ffffff08;color:#f9ecc9;font-size:13px;line-height:1.9}
[data-coupon-mode="photo"] .photo-return-cta{display:flex;align-items:center;justify-content:center;min-height:62px;padding:14px 10px;border:1px solid #67df9c;border-radius:10px;background:linear-gradient(#12894e,#086737);box-shadow:0 5px 14px #0004;color:#fff;text-align:center;text-decoration:none;font-size:clamp(14px,4vw,18px);font-weight:900;line-height:1.6}
[data-coupon-mode="photo"] .photo-return-cta:focus-visible{outline:3px solid #fff;outline-offset:4px}
[data-coupon-mode="photo"] .photo-unlock-note{margin:16px 0 0;color:#d5d1df;font-size:12px;line-height:1.9}
[data-coupon-mode="photoreward"] .reward-hero:has(#rewardActive:not([hidden])) :is(.reward-celebration,.reward-congrats,.reward-rays){display:none}
[data-coupon-mode="photoreward"] .coupon-save-note{line-height:1.9;overflow-wrap:anywhere}
@media(max-height:700px){
  [data-coupon-mode="photo"] .photo-badge,
  [data-coupon-mode="photoreward"] .photo-badge{margin-top:8px;padding:5px 12px;font-size:13px}
}
/* 鍵の札は操作ボタンと区別し、画面の高さによらず控えめに表示する。 */
[data-coupon-mode="photo"] .photo-badge{padding:4px 10px;border:1px solid #c5a75f;border-radius:2px;background:transparent;box-shadow:none;color:#e9cd88;font-size:12px;font-weight:600;cursor:default}
[data-coupon-mode="photo"] .photo-reopen-message{margin:12px auto 0;max-width:350px;padding:10px 12px;border-radius:6px;background:#171326;color:#ffe5a3;font-size:clamp(16px,4.4vw,18px);font-weight:800;line-height:1.7;overflow-wrap:anywhere;text-align:left}
[data-coupon-mode="photo"] .photo-check-button{display:block;width:100%;min-height:54px;margin-top:14px;padding:12px 8px;border:1px solid #e9cd88;border-radius:8px;background:#272035;color:#ffe5a3;font-size:15px;font-weight:800;line-height:1.6}
[data-coupon-mode="photo"] .photo-check-button:disabled{opacity:.6;cursor:wait}
[data-coupon-mode="photo"] .photo-check-button:focus-visible{outline:3px solid #fff;outline-offset:4px}
[data-coupon-mode="photo"] .photo-check-status{margin:14px 0 0;color:#fff3cd;font-size:13px;line-height:1.8;overflow-wrap:anywhere}
/* 表紙用の書体（Pokeriba Gothic Top）は表紙の文字だけの42字なので、新しく足した文字は端末のゴシックにそろえる（混ざると太さがまだらになる）。 */
[data-coupon-mode="photo"] :is(.photo-badge,.photo-reopen-message,.photo-instructions,.photo-check-status,.photo-check-button,.photo-return-cta,.photo-unlock-note),
[data-coupon-mode="photoreward"] :is(.photo-badge,#startButton > span){font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic","YuGothic","Meiryo",sans-serif}
