/* Real successes receive a brief paper-and-ink reward, leaving every control usable. */
.mode-win-layer{position:fixed;inset:0;z-index:48;pointer-events:none;overflow:hidden}
.mode-win-receipt{position:absolute;width:344px;max-width:calc(100vw - 40px);padding:20px 23px 21px;transform:translate(-50%,-50%);border:1px solid #bea36d;background:#fbf8eb;color:#24483e;box-shadow:0 13px 44px #173a2e38;isolation:isolate;animation:mode-win-arrive 1600ms cubic-bezier(.2,.7,.2,1) both}
.mode-win-receipt::before,.mode-win-receipt::after{content:"";position:absolute;pointer-events:none;inset:5px;border:1px solid #c8b88444}
.mode-win-receipt::after{inset:-7px;border-color:#d5b676;opacity:0;animation:mode-win-ink-ring 1600ms ease-out both}
.mode-win-heading{display:flex;align-items:center;gap:12px;min-height:29px}
.mode-win-ornament{display:grid;place-items:center;width:30px;height:30px;color:#a08043}
.mode-win-ornament svg{width:25px;height:25px;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;overflow:visible;animation:mode-win-icon 1600ms ease-out both}
.mode-win-title{font:27px/1.2 var(--serif);letter-spacing:.13em;font-weight:400;color:#294e3f}
.mode-win-score{margin-left:auto;padding-left:12px;border-left:1px solid #c8b58166;font:23px/1.3 var(--serif);color:#ab8650;animation:mode-win-points 1600ms ease-out both}
.mode-win-lines{margin-top:14px;padding-top:11px;border-top:1px solid #b9c5a677}
.mode-win-lines p{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;color:#526b51;font:23px/1.65 var(--serif);letter-spacing:.06em;animation:mode-win-letter 400ms ease-out both}
.mode-win-lines p+p{animation-delay:90ms}
.mode-win-seal{position:absolute;right:-12px;bottom:-14px;display:grid;place-items:center;width:49px;height:49px;border:2px solid #aa573e;outline:1px solid #aa573e66;outline-offset:3px;background:#fcf4e5;color:#a34a32;rotate:-10deg;font:18px/1.25 var(--serif);letter-spacing:2px;animation:mode-win-stamp 1600ms ease-out both}
.mode-win-receipt[data-kind=flower] .mode-win-seal,.mode-win-receipt[data-kind=author] .mode-win-seal{border-radius:50%}
.mode-win-receipt[data-kind=cloze] .mode-win-seal{rotate:7deg}
.mode-win-receipt[data-kind=order] .mode-win-lines{border-top-style:double}
.mode-win-receipt[data-kind=combo] .mode-win-ornament{color:#ae7151}
.mode-win-spark{position:absolute;left:50%;top:50%;width:4px;height:4px;border:1px solid #c4a86d;background:#ead6a6;rotate:45deg;opacity:0;animation:mode-win-spark 750ms ease-out both;transform:rotate(var(--spark-angle)) translateX(125px)}
@keyframes mode-win-arrive{0%{opacity:0;translate:0 18px;scale:.92;rotate:-2deg}19%,79%{opacity:1;translate:0 0;scale:1;rotate:0}100%{opacity:0;translate:0 -15px;scale:.985;rotate:0}}
@keyframes mode-win-ink-ring{0%{opacity:.7;scale:.94}42%{opacity:.12;scale:1.025}100%{opacity:0;scale:1.04}}
@keyframes mode-win-points{0%,12%{opacity:0;translate:0 7px}30%,79%{opacity:1;translate:0 0}100%{opacity:0;translate:0 -6px}}
@keyframes mode-win-icon{0%{opacity:.1;rotate:-15deg;scale:.7}30%{opacity:1;rotate:0;scale:1}100%{opacity:1;rotate:0;scale:1}}
@keyframes mode-win-stamp{0%,19%{opacity:0;scale:1.7}34%{opacity:1;scale:.91}45%,79%{opacity:1;scale:1}100%{opacity:0;scale:.97}}
@keyframes mode-win-letter{from{opacity:0;translate:0 7px}to{opacity:1;translate:0 0}}
@keyframes mode-win-spark{0%{opacity:.8;transform:rotate(var(--spark-angle)) translateX(110px) scale(.6)}100%{opacity:0;transform:rotate(var(--spark-angle)) translateX(180px) scale(1.1)}}
html[data-motion=off] .mode-win-layer{display:none!important}
@media(prefers-reduced-motion:reduce){.mode-win-layer{display:none!important}}
