.ending-reopen,.postcard-preview .postcard-back,.postcard-preview .postcard-save{border:0;background-color:transparent;background-image:url('assets/evt/button-start.png');background-size:contain;background-position:center;background-repeat:no-repeat;color:#173e58;box-shadow:none;border-radius:0;font-family:ZCOOLHappy,'Microsoft YaHei',sans-serif;font-size:1rem;font-weight:400;line-height:1.2;letter-spacing:.035em;white-space:nowrap;text-align:center;min-height:58px;padding:12px 24% 12px 8%;transition:transform 150ms ease-out,filter 150ms ease-out;-webkit-tap-highlight-color:transparent}
.ending-reopen{width:232px;height:84px;padding:16px 62px 16px 24px;right:18px;bottom:3px;font-size:17px;z-index:60}
.postcard-preview[hidden]{display:none!important}.postcard-preview{position:relative;width:min(1000px,calc(100% - 36px));max-height:calc(100% - 24px);height:auto!important;min-height:0!important;overflow:auto;overscroll-behavior:contain;padding:20px 26px 18px;background:#fff5dd;color:#173e58;border:2px solid #d1ae62;border-radius:18px;box-shadow:0 16px 46px #173e5840;display:flex;flex-direction:column;align-items:center;gap:12px;touch-action:pan-y}
.postcard-preview h3{font-family:ZCOOLHappy,'Microsoft YaHei',sans-serif;font-weight:400;font-size:1.4rem;line-height:1.25;margin:0;padding-inline:50px;text-wrap:balance;text-align:center}
.postcard-preview .ending-close{top:12px;right:14px;width:44px;height:44px;padding:0;background:transparent;z-index:3}.postcard-preview .ending-close img{width:100%;height:100%;max-height:none}
.postcard-preview .postcard-generated{display:block;width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 240px);min-height:0;object-fit:contain;aspect-ratio:3/2;border-radius:10px;box-shadow:0 5px 18px #173e5826;outline:1px solid #0000001a;outline-offset:-1px;user-select:auto;-webkit-user-select:auto;touch-action:manipulation}
.postcard-preview .postcard-help{margin:0;font-size:.85rem;line-height:1.5;text-align:center}.postcard-preview .postcard-preview-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:18px;width:100%}.postcard-preview .postcard-back,.postcard-preview .postcard-save{width:224px;aspect-ratio:3/1;height:74px;padding:12px 60px 12px 18px}.postcard-preview .postcard-save{background-image:url('assets/evt/button-postcard-blue.png');color:#f6faf9;text-shadow:0 1px 3px #173e58,0 0 5px #173e58}
.postcard-preview .postcard-download{font-size:.8rem;color:#173e58;text-underline-offset:.2em}.postcard-save-status{font-size:.8rem;line-height:1.5;margin:0;text-align:center;overflow-wrap:anywhere;min-height:0}.postcard-save-status:empty{display:none}.postcard-photo-options{display:flex;gap:8px;flex:none;align-items:center}.postcard-photo-options button{display:flex;align-items:center;gap:5px;min-width:0;flex:1;border:1px solid #bacbd0;border-radius:8px;background:#f6faf9;color:#173e58;min-height:38px;padding:4px;font-size:12px;line-height:1.3}.postcard-photo-options button[aria-pressed=true]{border:2px solid #173e58;background:#e7f2f2}.postcard-photo-options img{width:38px;height:27px;object-fit:cover;border-radius:4px}.postcard-photo-options span{white-space:nowrap}.ending-wishes .wish-postcard{position:relative;isolation:isolate;padding:0;overflow:hidden;border:2px solid #d1ae62;border-radius:12px;background:#173e58;min-height:210px;max-height:330px;flex:1;gap:0;display:block;box-shadow:0 4px 14px #173e581a}
.ending-wishes .postcard-image{position:absolute;inset:0;width:100%;height:100%!important;max-height:none;min-height:0;object-fit:cover;z-index:-1}.ending-wishes .wish-postcard::before{content:'滨湖二十年';position:absolute;left:16px;top:18px;font-family:ZCOOLHappy,'Microsoft YaHei',sans-serif;font-size:25px;color:#fff5dd;text-shadow:0 2px 5px #173e58;max-width:48%;line-height:1.25}.ending-wishes .postcard-label,.ending-wishes .wish-text,.ending-wishes .wish-signature{position:absolute;right:12px;width:44%;margin:0;color:#173e58;z-index:1}.ending-wishes .wish-postcard::after{content:'';position:absolute;right:8px;top:10px;bottom:10px;width:46%;background:#fff5dd;border:1px solid #d1ae62;border-radius:8px;z-index:0}.ending-wishes .postcard-label{top:24px;font-size:11px;line-height:1.4;display:block;padding:0 8px}.ending-wishes .postcard-stamp{display:none}.ending-wishes .wish-text{top:30%;padding:0 8px;font-size:14px;line-height:1.5;font-weight:700;text-wrap:pretty}.ending-wishes .wish-signature{bottom:22px;padding:0 8px;font-size:11px;line-height:1.4}.postcard-error{font-size:.8rem;line-height:1.5}.postcard-error:empty{display:none}
@media(hover:hover){.ending-reopen:hover,.postcard-preview .postcard-back:hover,.postcard-preview .postcard-save:hover{filter:brightness(1.06)}}
@media(prefers-reduced-motion:no-preference){.ending-reopen:not(:disabled):active,.postcard-preview .postcard-back:not(:disabled):active,.postcard-preview .postcard-save:not(:disabled):active{transform:scale(.96)}}
.postcard-preview button:disabled{opacity:.6;cursor:wait}.postcard-preview button:focus-visible,.postcard-preview a:focus-visible,.postcard-photo-options button:focus-visible,.ending-reopen:focus-visible{outline:3px solid #173e58;outline-offset:3px}
.postcard-preview .postcard-save{-webkit-text-stroke:.6px #173e58;paint-order:stroke fill}
.postcard-preview .postcard-fullsize{display:block;max-width:100%;line-height:0}.compact-ending .postcard-preview{width:min(530px,calc(100% - 28px))}.compact-ending .postcard-preview .postcard-generated{max-height:calc(100dvw - 180px);max-width:100%}
.compact-ending .postcard-preview:has(.postcard-save-status:not(:empty)) .postcard-generated{max-height:calc(100dvw - 215px)}
.postcard-save-status:empty,.postcard-error:empty{display:block;position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0;margin:0}
.compact-ending .postcard-preview{max-height:calc(100% - 16px);width:min(700px,calc(100% - 28px));padding:12px 16px 10px;gap:5px}.compact-ending .postcard-preview h3{font-size:1rem;padding-inline:36px}.compact-ending .postcard-preview .postcard-generated{max-height:calc(100dvw - 164px);max-width:90%}.compact-ending .postcard-preview .postcard-help,.compact-ending .postcard-save-status{font-size:12px}.compact-ending .postcard-preview .postcard-back,.compact-ending .postcard-preview .postcard-save{width:178px;height:56px;min-height:44px;font-size:13px;padding:10px 46px 10px 12px}.compact-ending .postcard-preview .ending-close{width:34px;height:34px;top:8px;right:9px}.compact-ending .ending-reopen{width:194px;height:68px;min-height:44px;font-size:14px;padding:14px 49px 14px 18px}.compact-ending .ending-wishes .wish-postcard{min-height:126px;max-height:175px}.compact-ending .ending-wishes .wish-postcard::before{font-size:20px;top:13px;left:12px}.compact-ending .ending-wishes .postcard-label{font-size:10px;top:17px}.compact-ending .ending-wishes .wish-text{font-size:11px;line-height:1.45;top:30%}.compact-ending .ending-wishes .wish-signature{font-size:10px;bottom:16px}.compact-ending .postcard-photo-options button{min-height:30px;font-size:10px}.compact-ending .postcard-photo-options img{width:27px;height:21px}.compact-ending .postcard-photo-options{gap:5px}
@media(max-width:420px){.postcard-preview-actions{gap:8px!important}.postcard-photo-options span{white-space:normal}.postcard-preview .postcard-back,.postcard-preview .postcard-save{width:155px;font-size:13px}.postcard-preview h3{font-size:1.1rem}}
