.spc-checkin-box, .spc-checkin-box * { box-sizing:border-box; }
.spc-checkin-box .spc-checkin-modal-card { max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); overflow-y:auto; }
.spc-image-modes { display:flex; justify-content:center; gap:6px; border-bottom:1px solid #f4d9be; width:100%; }
.spc-image-modes button { display:inline-flex; align-items:center; justify-content:center; gap:7px; font-size:16px; min-height:44px; min-width:108px; padding:8px 14px; border:0; border-bottom:3px solid transparent; border-radius:6px 6px 0 0; color:#675a4d; background:#faf7f3; cursor:pointer; }
.spc-image-modes button[aria-selected="true"] { border-bottom-color:#d37441; background:#fff1df; color:#864a27; font-weight:700; }
.spc-image-tab-icon { font-size:19px; line-height:1; }
.spc-checkin-feed-card .spc-image-modes { margin:12px 0; }
.spc-image-modes button:focus-visible,.spc-image-stamp:focus-visible { outline:2px solid #103e56; outline-offset:3px; }
.spc-checkin-box.is-image-stamps { border:0; border-radius:6px; box-shadow:none; }
.spc-checkin-box.is-image-stamps::after,.is-image-stamps .spc-checkin-modal-card::before { display:none; }
.is-image-stamps .spc-checkin-modal-card { border-radius:6px; }
.is-image-stamps .spc-checkin-stamp-stage { border:0; border-radius:0; background:#fff; padding:0; }
.is-image-stamps.is-paper-view .spc-checkin-stamp-stage { min-height:0; }
.is-image-stamps .spc-checkin-rally-board { border:0; border-radius:0; background:transparent; box-shadow:none; padding:0; }
.is-image-stamps .spc-checkin-rally-count { border-radius:6px; background:transparent; padding:4px 0; }
.is-image-stamps .spc-checkin-rally-view-row { flex-wrap:wrap; gap:10px; }
.is-image-stamps .spc-checkin-rally-message { border-radius:0; background:transparent; padding:0; }
.is-image-stamps .spc-checkin-rally-message:empty,.is-image-stamps .spc-checkin-paper-title { display:none; }
.spc-checkin-box .spc-image-cell { aspect-ratio:auto; min-height:136px; border:0; background:transparent; border-radius:0; padding:24px 0 8px; gap:4px; overflow:visible; }
.spc-checkin-box .spc-image-stamp { border-radius:6px; transform:none; box-shadow:none; }
/* 本人指定の「元の丸の中」を比較する形。公開台紙は既存の四角を初期表示にする。 */
.spc-checkin-box.is-circle-layout .spc-image-stamp { border-radius:50%; }
.spc-image-facility { font-size:11px; color:#666; font-weight:400; }
.spc-checkin-box .spc-image-cell .spc-checkin-rally-cell-date { position:static; font-size:11px; }
.spc-related-records { font-size:12px; width:100%; color:#555; }
.spc-related-records summary { cursor:pointer; }
.spc-related-records>div { display:flex; align-items:center; gap:4px; margin-top:6px; }
.spc-related-image { padding:0; width:44px; height:44px; border:1px solid #f39a38; background:#fff; border-radius:6px; cursor:pointer; flex-shrink:0; }
.spc-related-image img { width:100%; height:100%; display:block; object-fit:cover; border-radius:5px; }
.spc-checkin-box .spc-checkin-progress-wrap[hidden] { display:none; }
@media(max-width:600px) { .spc-checkin-box .spc-image-stamp { width:68px; height:68px; } .spc-checkin-box .spc-image-cell { min-height:126px; } }
.spc-photo-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#eef0f2!important;color:#737b82;border:1px solid #d4d9dd!important;border-radius:6px;box-shadow:none!important;padding:5px;box-sizing:border-box;overflow:hidden}
.spc-photo-empty .spc-camera-slash{display:inline-block;position:relative;font-size:23px;line-height:1.2}
.spc-camera-slash::after{content:"";position:absolute;top:50%;left:-10%;width:120%;height:2px;background:currentColor;border-top:2px solid #eef0f2;transform:rotate(-42deg)}
.spc-photo-empty-label{font-size:10px;line-height:1.35;font-weight:normal;white-space:normal;text-align:center}
.spc-photo-empty.spc-related-image .spc-photo-empty-label{display:none}
.spc-checkin-feed-card-cell.is-photo-empty{background:#eef0f2!important;min-height:90px}
.spc-checkin-feed-card-cell.is-photo-empty .spc-photo-empty{border:0!important;padding:12px 5px}
.spc-checkin-rally-message p,.spc-image-photo-info p{margin:8px 0;font-size:13px;line-height:1.65;text-align:left}
.spc-image-photo-info{color:#5f676d;margin:12px 0 0}

/* 採用した施設限定の名帯。画像URL・原画・獲得記録は変えず表示だけ重ねる。 */
.spc-stamp-art{isolation:isolate;position:relative;display:block;width:100%;height:100%;border-radius:inherit;overflow:hidden;line-height:0}
.spc-stamp-art.is-full{width:fit-content;height:auto;max-width:100%;overflow:hidden;border-radius:inherit}
.spc-stamp-facility-band{z-index:2;position:absolute;left:16%;bottom:16%;width:68%;box-sizing:border-box;border-radius:5px;background:rgba(255,249,230,.94);color:#523921;font-weight:600;line-height:1.3;text-align:left;word-break:keep-all;overflow-wrap:anywhere;pointer-events:none}
.spc-stamp-art.is-full .spc-stamp-facility-band{left:4%;bottom:4%;width:auto;max-width:80%}
.spc-stamp-facility-band[hidden]{display:none!important}
.spc-checkin-photo-viewer-close,.spc-checkin-feed-photo-viewer-close{z-index:2}

/* 本人採用の斜め光沢と金箔＋3px枠。原画・rarity・獲得は不変。 */
.spc-stamp-rare-effect,.spc-stamp-rare-grain,.spc-stamp-rare-frame{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;box-sizing:border-box;border-radius:inherit}
.spc-stamp-rare-grain{background-size:100% 100%;background-repeat:no-repeat;mix-blend-mode:screen}
.spc-stamp-art.is-rare-sparkle .spc-stamp-rare-effect{background:linear-gradient(127deg,transparent 10%,#4fd7ff85 24%,#ae79ff80 31%,#ff73d980 38%,#ffe57685 45%,#84ffc380 52%,transparent 65%),repeating-linear-gradient(127deg,transparent 0%,transparent 18%,#ffffff80 20%,transparent 23%,transparent 40%);mix-blend-mode:hard-light;opacity:.68}
.spc-stamp-art.is-rare-sparkle .spc-stamp-rare-grain{background-image:url("../assets/stamps/rare-diagonal.svg");opacity:.65}
.spc-stamp-art.is-rare-gold .spc-stamp-rare-effect{background:linear-gradient(127deg,transparent 10%,#f5c74144 20%,#fff8c5bb 29%,#fffef4d9 33%,transparent 38%,transparent 68%,#ffdb5375 74%,#fff9cdbb 78%,transparent 85%);mix-blend-mode:screen;mask-image:radial-gradient(ellipse 33% 25% at 50% 43%,#0002 50%,#000 120%)}
.spc-stamp-art.is-rare-gold .spc-stamp-rare-grain{background-image:url("../assets/stamps/rare-gold-foil.svg")}
.spc-stamp-art.is-rare-gold .spc-stamp-rare-frame{border:3px solid #ffe38d;box-shadow:inset 0 0 1px 1px #fffbe7,inset 0 0 14px #fbd56570}
.spc-photo-report-tools{width:min(480px,100%);margin:8px auto 0;color:#53616a;text-align:left}.spc-photo-report-open{display:block;margin:0 0 0 auto;background:transparent;border:0;padding:6px 0;color:#6c7378;text-decoration:underline;font:12px/1.5 system-ui;cursor:pointer}.spc-photo-report-form{display:grid;gap:10px;background:#fff;padding:14px;border:1px solid #d2d7db;border-radius:6px}.spc-photo-report-form label{display:grid;gap:4px;font-size:14px}.spc-photo-report-form select,.spc-photo-report-form textarea,.spc-photo-report-form button{font:16px/1.5 system-ui;padding:8px;border:1px solid #b8bec2;border-radius:6px;box-sizing:border-box;width:100%;max-width:100%;background:#fff;color:#202426}.spc-photo-report-form button[type=submit]{background:#dd741d;color:#fff;border-color:#dd741d}.spc-photo-report-tools p{font:13px/1.6 system-ui;margin:8px 0;white-space:normal;overflow-wrap:anywhere}.spc-photo-report-tools [hidden]{display:none!important}.spc-checkin-feed-photo-viewer-card:has(.spc-photo-report-form:not([hidden])),.spc-checkin-photo-viewer-card:has(.spc-photo-report-form:not([hidden])){max-height:90vh;overflow:auto}.spc-photo-report-form[hidden]{display:none!important}
