.fortune-panel{text-align:center}.fortune-kicker{margin:1px 0 8px;color:#71895c;font-size:10px;font-weight:800;letter-spacing:.19em}.fortune-panel>h1{margin-bottom:4px}.fortune-panel>h1::before,.fortune-panel>h1::after{content:"— ✦";margin:0 11px;color:#71895c;font-size:13px;vertical-align:middle}.fortune-panel>h1::after{content:"✦ —"}.fortune-panel>.sub{color:var(--rust);font-weight:700}.fortune-stage{position:relative;width:min(100%,330px);height:150px;margin:18px auto 8px;display:grid;place-items:center}.fortune-stage::before,.fortune-stage::after{content:"";position:absolute;width:144px;height:104px;border:1px solid #d5c9af;background:repeating-linear-gradient(135deg,#f5f0e2 0 4px,#e9ead9 4px 8px);box-shadow:2px 4px 6px rgba(64,57,38,.1)}.fortune-stage::before{transform:rotate(-7deg) translate(-15px,6px)}.fortune-stage::after{transform:rotate(7deg) translate(16px,8px)}.fortune-draw{position:relative;z-index:1;width:178px;min-height:106px;display:grid;place-content:center;gap:7px;border:1px solid #9bab8d;border-radius:0;color:var(--forest);background:#fffdf5;box-shadow:3px 5px 0 #d8d1bd;font-family:"Noto Serif SC","Songti SC",serif;font-size:16px}.draw-seal{width:31px;height:31px;margin:auto;display:grid;place-items:center;border-radius:50%;color:#fffdf7;background:var(--rust);box-shadow:inset 0 0 0 2px rgba(255,255,255,.25);font-size:16px}.fortune-spark{position:absolute;z-index:2;color:#9aab75;font-size:22px}.spark-one{top:10px;left:39px}.spark-two{right:33px;bottom:19px;font-size:17px}.fortune-draw.is-drawing{animation:fortuneFlip .65s cubic-bezier(.25,.8,.25,1);pointer-events:none}.fortune-result{position:relative;margin:20px auto 0;padding:18px 21px;overflow:hidden;border:2px solid #829378;text-align:left;background:linear-gradient(135deg,#fffef9,#f8f1df);box-shadow:4px 5px 0 #e4dcc7}.fortune-result::before{content:"";position:absolute;inset:5px;border:1px solid #c5c9a7;pointer-events:none}.fortune-result>*{position:relative;z-index:1}.fortune-result h2{margin:0;padding:8px 0 10px;border-bottom:1px solid #b8c19e;font-family:"Noto Serif SC","Songti SC",serif;font-size:72px;line-height:1;text-align:center;letter-spacing:.12em}.fortune-level{color:var(--forest)}.fortune-level-daji{color:#1f674b}.fortune-level-zhongji{color:#3e7451}.fortune-level-xiaoji{color:#668348}.fortune-level-ji{color:#356c50}.fortune-level-moji{color:#aa7a35}.fortune-level-xiong{color:#a4523f}.fortune-level-daxiong{color:#813638}.fortune-level-default{color:var(--forest)}.fortune-result .fortune-message{margin:14px 0 13px;color:#485d4d;font-family:"Noto Serif SC","Songti SC",serif;font-size:16px;line-height:1.65;text-align:center}.fortune-result .fortune-status{margin:10px 0;padding:12px 13px;border-top:1px dashed #aeb99c;border-bottom:1px dashed #aeb99c;color:#4d5a4d;line-height:1.75;background:#f0f1dc}.fortune-result .fortune-status strong{color:var(--rust)}.fortune-result p:not(.fortune-message):not(.fortune-status){margin:0;padding:7px 3px;color:#49564a;border-bottom:1px dotted #b5bca4;line-height:1.75}.fortune-result p:not(.fortune-message):not(.fortune-status)::first-letter{color:var(--rust);font-weight:800}.fortune-special{color:var(--rust)!important;font-size:37px!important;letter-spacing:.08em!important}.fortune-special+p{margin:13px 0!important;padding:8px 4px!important;border-bottom:0!important;font-family:"Noto Serif SC","Songti SC",serif;font-size:17px;line-height:1.8;text-align:center}.fortune-save{width:250px;margin:18px auto 2px;display:block;border:2px solid #dcd3bc;border-radius:0;color:#fff;background:var(--forest);box-shadow:0 0 0 2px var(--forest),3px 4px 0 #173326;clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,12px 100%,0 50%)}.fortune-save:hover,.fortune-save:active{color:#fff;background:var(--forest);box-shadow:0 0 0 2px var(--forest),3px 4px 0 #173326;transform:none}@keyframes fortuneFlip{0%{transform:rotate(0) scale(1)}35%{transform:rotate(-7deg) scale(1.06)}70%{transform:rotate(8deg) scale(.98)}100%{transform:rotate(0) scale(1)}}@media(max-width:560px){.fortune-panel>h1::before,.fortune-panel>h1::after{margin:0 5px;font-size:10px}.fortune-stage{height:140px}.fortune-result{padding:16px 14px}.fortune-result h2{font-size:62px}.fortune-save{width:210px}}@media(prefers-reduced-motion:reduce){.fortune-draw.is-drawing{animation:none}}
