/* One postal seal treatment for collection, project symbols and travel journals. */
:root{--seal-paper:#fffaf0;--seal-ink:#856b94}
.stamp-mini-button,.project-castle-symbol,.passport-stamp,.journey-seal{position:relative;isolation:isolate;border-radius:50%!important;background:radial-gradient(ellipse at 35% 20%,#fffdf7,#f3e6cd)!important;border:2px dotted var(--stamp-ink,var(--seal-ink))!important;box-shadow:inset 0 0 0 3px var(--seal-paper),inset 0 0 0 4px var(--stamp-ink,var(--seal-ink)),0 3px 7px #51412b18!important;outline:2px dotted #e2d3b8;outline-offset:1px}
.stamp-mini-button:after,.passport-stamp:after,.journey-seal:after{content:'';position:absolute;inset:5px;border-radius:50%;pointer-events:none;background-image:radial-gradient(#9c784d33 .5px,transparent .8px);background-size:4px 5px;opacity:.4;z-index:3}
.stamp-collection{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:12px 9px;padding:5px;max-height:350px}
.stamp-mini-button{width:62px!important;height:62px!important;min-height:62px;padding:9px!important;aspect-ratio:1;margin:0 auto;transform:rotate(-5deg)}
.collection-stamp:nth-child(3n) .stamp-mini-button{transform:rotate(4deg)}
.collection-stamp-art{width:39px;height:43px}
.park-stamp-group .stamp-mini-button,.park-stamp-group .stamp-mini-button[aria-pressed=true]{background:radial-gradient(circle at 30% 20%,#fffdf7,#efe2c8)!important}
.stamp-mini-button[aria-pressed=true]{outline:3px solid var(--stamp-ink,#856b94)!important;outline-offset:3px}
.project-castle-symbol{box-sizing:border-box;width:46px;height:46px;padding:5px;display:inline-block;vertical-align:middle}
.project-castle-symbol>.dream-castle-art{width:34px;height:34px}
.project-theme-symbol{width:22px;height:22px;bottom:1px!important;right:0!important}
.passport-stamp{outline:4px dotted #e2d3b8!important;color:var(--stamp-ink,#856b94)}
.timeline-seal{width:52px;flex-shrink:0;display:inline-flex;justify-content:center}.timeline-seal .project-castle-symbol{width:44px;height:44px}
.journey-seal{width:58px;height:58px;display:inline-flex;align-items:center;justify-content:center;color:var(--seal-ink);font:700 25px Georgia,serif;flex-shrink:0;margin:5px}
[data-theme=forest]{--seal-ink:#42644e;--journey-accent:#42644e}
[data-theme=sunset]{--seal-ink:#ad6040;--journey-accent:#ad6040}
@media(prefers-reduced-motion:reduce){.stamp-mini-button{transform:none!important}}

#diaryCardApp [hidden]{display:none!important}

/* Castle collectible plus project medallion; the repeat ribbon also appears in exports. */
.collection-stamp-art,.collection-stamp-art>span{position:relative;left:auto;top:auto;display:block;width:52px;height:52px}
.collection-stamp-art .story-badge-art{width:100%;height:100%;object-fit:contain}
.stamp-mini-button{padding:3px!important}
.project-scene-seal{padding:0;border:0!important;background:transparent!important;box-shadow:none!important;outline:0;width:46px;height:46px}
.project-scene-seal>.story-badge-art{display:block;width:100%;height:100%}
.passport-castle{width:100px;height:100px;margin:0 auto}
.passport-castle>.story-badge-art{width:100%;height:100%}
.passport-stamp{gap:0}.passport-stamp strong{font-size:17px;letter-spacing:2px}.passport-stamp>span:last-child{font-size:11px}


.seal-repeat-mark{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:4}
.passport-castle{position:relative;display:block}
.stamp-collection{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:16px 9px}
.stamp-mini-button{width:96px!important;height:96px!important;min-height:96px;padding:2px!important}
.collection-stamp-art,.collection-stamp-art>span{width:88px;height:88px}
.stamp-collection-count small{font-size:11px;font-weight:400;line-height:1.8}
/* Locked stamps show one neutral seal, never a dimmed copy of the actual artwork. */
.locked-stamp-group{margin:12px 0;padding:12px;border:1px dashed #c9bdd4;border-radius:15px;background:#f7f4fa}.locked-stamp-group>summary{font-size:13px;color:#79658c;cursor:pointer}.stamp-locked-title{display:block;font-size:11px;line-height:1.45;color:#766786;max-width:96px;text-align:center;overflow-wrap:anywhere;margin:3px auto 0}.stamp-mini-button.stamp-locked-button{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;width:100%!important;height:auto!important;min-height:128px;padding:8px 3px!important;border-radius:14px!important;border:1px solid #ddd2e6!important;background:#fcfaff!important;box-shadow:none!important;outline:0;transform:none!important;aspect-ratio:auto}.stamp-locked-button:after{display:none}.stamp-locked-button .collection-stamp-art,.stamp-locked-button .collection-stamp-art>span{width:72px;height:72px;flex-shrink:0}.stamp-locked-button .stamp-locked-title{max-width:100%;min-height:32px;white-space:normal}.stamp-mini-button.stamp-locked-button .collection-stamp-art{box-shadow:none;transform:none}.project-stamp-locked{filter:none!important;opacity:1!important}.project-stamp-locked .story-badge-art{filter:none!important}

/* Each SVG now contains the full postal edge; avoid a second decorative wrapper. */
.stamp-mini-button:not(.stamp-locked-button){border:0!important;outline:0;box-shadow:none!important;background:transparent!important;padding:0!important}
.stamp-mini-button:not(.stamp-locked-button):after,.passport-stamp:after{display:none}
.stamp-mini-button:not(.stamp-locked-button) .collection-stamp-art,.stamp-mini-button:not(.stamp-locked-button) .collection-stamp-art>span{width:96px;height:96px}
.stamp-mini-button:not(.stamp-locked-button)[aria-pressed=true]{outline:2px solid #b49bcd!important;outline-offset:2px}
.stamp-mini-button:focus-visible{outline:3px solid #8964ab!important;outline-offset:2px}
.passport-stamp{border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important}
