.sas-modal{max-width:620px;width:100%;scrollbar-width:thin}.sas-instruction{padding:16px;background:#e9eddf;border-radius:12px;margin:24px 0}.sas-instruction strong{font-size:12px;color:#61724c}.sas-instruction p{margin:8px 0 0}.sas-caution{background:#f1e9d6;padding:12px 16px;border-radius:8px}.sas-agree{display:flex;gap:12px;align-items:start;font-size:14px;line-height:20px}.sas-agree input{width:20px;height:20px;margin:0;flex:none;accent-color:#526d47}.sas-question-head{display:flex;justify-content:space-between;gap:16px;color:#75836b;font-size:12px}.sas-window{color:#586e4b!important;padding:12px 0;margin:0 0 16px}.sas-modal .choices .choice{display:flex;align-items:center;gap:16px;min-height:60px}.sas-modal .choice>span{font-size:12px;line-height:20px;border-radius:50%;width:28px;height:28px;background:#f0f2e8;display:grid;place-items:center;color:#7a8769;flex:none}.sas-modal .choice.selected>span{background:#6b8654;color:#fff}.sas-modal .question{font-size:24px;line-height:32px;min-height:96px}.sas-review{display:grid;gap:8px;max-height:43vh;overflow:auto;padding:4px}.sas-review button{display:grid;grid-template-columns:1fr auto;gap:8px;text-align:left;padding:16px;border-radius:8px;border:1px solid #e0e5d5;background:#fffef9;font-size:14px;line-height:20px}.sas-review button strong{font-size:12px;grid-column:1;color:#70815c;font-weight:500}.sas-review button small{grid-column:2;grid-row:1/3;align-self:center;color:#859273}.sas-review button:hover{background:#ebf0df}#sas-error{font-size:14px;line-height:20px;color:#926546}.sas-letter-intro{text-align:center;padding:16px 0 8px}.sas-letter-intro h2{margin:24px auto 16px;max-width:400px}.sas-letter-intro>p{line-height:24px}.sas-letter-intro .primary{margin:16px auto 24px;min-width:220px}.sas-envelope{position:relative;display:block;margin:40px auto 24px;width:300px;height:196px;background:#e9d9bb;border:1px solid #d4c09a;border-radius:8px;box-shadow:0 16px 32px #6a563e1c;isolation:isolate;overflow:visible;transform:rotate(-3deg);transition:transform .7s var(--curve)}.sas-envelope:before,.sas-envelope:after{content:'';position:absolute;inset:0;border-radius:8px;background:#ebddc4;clip-path:polygon(0 0,55% 65%,0 100%);z-index:3}.sas-envelope:after{clip-path:polygon(100% 0,45% 65%,100% 100%);background:#e4d4b5}.envelope-flap{position:absolute;inset:0;background:#f1e6d0;clip-path:polygon(0 0,100% 0,50% 65%);transform-origin:50% 0;transition:transform 1s var(--curve);z-index:4;filter:drop-shadow(0 2px 2px #6e593518)}.envelope-paper{position:absolute;inset:16px 16px 8px;background:#faf7eb;border-radius:4px;transform:translateY(0);transition:transform 1.1s var(--curve) .45s;z-index:2}.envelope-paper:before{content:'心屿来信';position:absolute;top:24px;left:0;right:0;text-align:center;letter-spacing:8px;font-size:14px;color:#83906d}.leaf-seal{position:absolute;top:39%;left:calc(50% - 28px);width:56px;height:56px;border-radius:50%;background:#82976a;color:#eff3df;z-index:5;box-shadow:inset 0 0 0 4px #ffffff20,0 4px 8px #4f624523;display:grid;place-items:center;transition:transform .65s var(--curve),opacity .5s var(--curve)}.leaf-seal svg{width:36px;height:36px}.sas-envelope:hover{transform:translateY(-6px) rotate(0deg)}.sas-envelope.opening{transform:rotate(0deg)}.opening .envelope-flap{transform:rotateX(180deg)}.opening .leaf-seal{transform:translateY(-32px) scale(1.2);opacity:0}.opening .envelope-paper{transform:translateY(-64px)}.sas-result{position:relative;text-align:center;padding:32px 24px;background:#f9f7ed;border:1px solid #dfe3d0;border-radius:16px;animation:letterReveal .9s var(--curve) both;overflow:hidden}.sas-result>.tiny{font-size:10px;letter-spacing:2px;line-height:16px;color:#829071}.sas-result-pre{font-size:12px!important;color:#879177!important;margin:24px 0 0}.sas-animal{display:block;max-width:300px;width:100%;margin:0 auto;background:none;border:0;padding:0;cursor:pointer;transition:transform .5s var(--curve);touch-action:manipulation}.sas-animal svg{width:100%;height:auto;display:block}.sas-animal:hover{transform:translateY(-4px)}.sas-animal .animal-drawing{transform-origin:140px 220px;animation:animalArrive 1.1s var(--curve) .1s both}.sas-animal.touched .animal-drawing{animation:animalGreet 1s var(--curve)}.sas-result h2{font-size:30px;line-height:36px;color:var(--card-ink);margin:0 0 24px}.sas-quote{font-size:20px!important;line-height:32px!important;color:var(--card-ink)!important;margin:0 auto 24px;max-width:380px;animation:lineReveal 1.2s var(--curve) .3s both}.sas-result-note{max-width:380px;margin:0 auto 32px;font-size:14px;line-height:24px!important;color:#879071!important}.sas-card-disclaimer{font-size:10px!important;line-height:16px!important;margin:0;color:#8a957d!important}.sas-result-actions{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 16px}.sas-result-actions .primary{flex:1}.sas-journal-link,.sas-research-note{padding:24px;background:#e9eddf;border:1px solid #d8dfca;border-radius:16px;margin-bottom:32px;display:flex;align-items:center;justify-content:space-between;gap:24px}.sas-journal-link h2{font-size:24px;line-height:32px;margin:8px 0}.sas-journal-link p{font-size:14px;line-height:20px;color:#788567}.sas-research-note{display:block}.sas-research-note p{font-size:14px;line-height:24px;color:#758064}.sas-save-preview{margin:16px 0;padding:16px;border:1px solid #dfe4d3;border-radius:8px;font-size:14px}.sas-save-preview img{display:block;width:100%;height:auto;margin-top:16px}#sas-download-status{font-size:14px;line-height:20px;color:#768767}@keyframes letterReveal{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes animalArrive{0%{opacity:0;transform:translateY(24px) scale(.9)}65%{opacity:1;transform:translateY(-4px) scale(1.02)}100%{opacity:1;transform:translateY(0) scale(1)}}@keyframes animalGreet{0%,100%{transform:rotate(0deg) translateY(0)}25%{transform:rotate(-5deg) translateY(-8px)}60%{transform:rotate(4deg) translateY(-4px)}}@keyframes lineReveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.sas-modal{padding:24px}.sas-modal .question{font-size:20px;line-height:28px}.sas-result{padding:24px 16px}.sas-result h2{font-size:24px;line-height:32px;margin-bottom:16px}.sas-quote{font-size:18px!important;line-height:28px!important}.sas-animal{max-width:240px}.sas-envelope{width:248px;height:164px;margin-top:40px}.sas-journal-link{display:block}.sas-journal-link .primary{margin-top:16px}.sas-result-actions{display:grid;grid-template-columns:1fr}.sas-card-disclaimer{font-size:10px!important}.sas-modal .choices .choice{font-size:14px;line-height:20px;padding:12px;min-height:56px}.sas-review{max-height:40vh}}@media(prefers-reduced-motion:reduce){.sas-envelope,.envelope-flap,.envelope-paper,.leaf-seal,.sas-result,.sas-animal,.animal-drawing,.sas-quote{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}.opening .leaf-seal{opacity:0!important}}
.sas-letter-intro{position:relative}.sas-letter-intro:has(.opening):after{content:'✧　 ·　✦　 ·　✧';position:absolute;left:16px;right:16px;top:46%;pointer-events:none;color:#b59d68;font-size:30px;letter-spacing:24px;animation:letterDust 1.6s var(--curve) both}@keyframes letterDust{from{opacity:0;transform:translateY(0) scale(.7)}30%{opacity:1}to{opacity:0;transform:translateY(-64px) scale(1.2)}}@media(prefers-reduced-motion:reduce){.sas-letter-intro:after{display:none}}
