.wp-block-custom-spoiler-card { margin: 1.5em 0; }
.spoiler-card-wrapper { border: 1px solid #e0e0e0; overflow: hidden; position: relative; }
.spoiler-card-content-wrapper {  background: #fff; }
.spoiler-card-content-wrapper > *:first-child { margin-top: 0; } .spoiler-card-content-wrapper > *:last-child { margin-bottom: 0; }
.effect-collapse { background: #f9f9f9; }
.effect-collapse .spoiler-card-title { padding: 12px 18px; font-weight: bold; cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; background: #f1f1f1; }
.effect-collapse .spoiler-card-title::-webkit-details-marker { display: none; }
.effect-collapse .spoiler-card-icon { width: 1em; height: 1em; position: relative; }
.effect-collapse .spoiler-card-icon::before, .effect-collapse .spoiler-card-icon::after { content: ''; position: absolute; background-color: #333; transition: transform 0.3s ease; }
.effect-collapse .spoiler-card-icon::before { top: 50%; left: 0; width: 100%; height: 2px; margin-top: -1px; }
.effect-collapse .spoiler-card-icon::after { top: 0; left: 50%; width: 2px; height: 100%; margin-left: -1px; }
.effect-collapse[open] > .spoiler-card-title .spoiler-card-icon { transform: rotate(45deg); }
.effect-collapse > .spoiler-card-content-wrapper { padding: 0 !important; max-height: 0; overflow: hidden; transition: all 0.4s ease-out; opacity: 0; }
.effect-collapse[open] > .spoiler-card-content-wrapper { padding: 20px !important; max-height: 1000vh; opacity: 1; border-top: 1px solid #e0e0e0; }
.effect-blur, .effect-pixelate { cursor: pointer; }
.spoiler-card-prompt { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background: rgba(0,0,0,0.75); color: white; padding: 10px 20px; border-radius: 5px; z-index: 3; font-weight: bold; text-align: center; transition: opacity 0.4s ease; user-select: none; pointer-events: none; }
.is-revealed .spoiler-card-prompt { opacity: 0; }
.effect-blur > .spoiler-card-content-wrapper { filter: blur(var(--spoiler-strength, 8px)); transition: filter 0.4s ease; }
.is-revealed.effect-blur > .spoiler-card-content-wrapper { filter: blur(0); }
.effect-pixelate > .spoiler-card-content-wrapper { image-rendering: pixelated; filter: blur(calc(var(--spoiler-strength, 8px) / 4)); transition: filter 0.4s ease, image-rendering 0.1s step-end; }
.is-revealed.effect-pixelate > .spoiler-card-content-wrapper { image-rendering: auto; filter: blur(0); transition: filter 0.4s ease, image-rendering 0.1s step-start; }
.spoiler-event-blocker { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 2; cursor: pointer; }
.is-revealed .spoiler-event-blocker { display: none; }
.effect-password > .spoiler-card-content-wrapper { display: none; }
.spoiler-card-prompt-password { padding: 20px; background: #f9f9f9; text-align: center; }
.spoiler-card-prompt-password input { padding: 8px; border: 1px solid #ccc; border-radius: 4px; margin-right: 5px; }
.spoiler-card-prompt-password input.error { border-color: red; }
.spoiler-card-prompt-password button { padding: 8px 15px; border: none; background: #333; color: white; cursor: pointer; border-radius: 4px; }
.effect-countdown > .spoiler-card-content-wrapper { visibility: hidden; opacity: 0; max-height: 0; transition: visibility 0s 0.4s, opacity 0.4s, max-height 0.4s; }
.is-revealed.effect-countdown > .spoiler-card-content-wrapper { visibility: visible; opacity: 1; max-height: 1000vh; transition-delay: 0s; }
.spoiler-card-prompt-countdown { padding: 20px; background: #fff3cd; border: 1px solid #ffeeba; text-align: center; z-index: 3; position: relative; }
.countdown-text { white-space: pre-wrap; }
.is-revealed .spoiler-card-prompt-countdown { display: none; }
.effect-scratchcard { padding: 0; }
.effect-scratchcard .spoiler-card-content-wrapper { border-radius: 8px; }
.effect-scratchcard .spoiler-card-canvas { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 2; cursor: crosshair; }
.spoiler-card-prompt-scratch { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: rgba(0,0,0,0.6); z-index: 3; pointer-events: none; font-weight: bold; }