:root{--red-950:#31030a;--red-900:#52040d;--red-800:#780a16;--red-700:#991626;--gold-500:#dba73b;--gold-300:#f2d784;--gold-100:#fff2bf;--paper:#fff9e8;--ink:#32160f;--shadow:#30030a52}*{box-sizing:border-box}html{background:var(--red-950)}body{color:var(--ink);background:radial-gradient(circle at 50% 10%,#f7c7591f,#0000 34%),linear-gradient(#7d0b18 0%,#43030b 100%);margin:0;font-family:Microsoft JhengHei,PingFang TC,Noto Serif TC,serif}button{font:inherit}.app-shell{background:var(--paper);width:min(100%,520px);min-height:100svh;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 0 60px #00000059}.cover-screen{background:#630610}.cover-art{filter:saturate(1.02)contrast(1.03)brightness(.94);background-image:url(/art/dragon-phoenix-cover.png);background-position:top;background-size:cover;animation:8s ease-in-out infinite alternate cover-breathe;position:absolute;inset:0;transform:scale(1.015)}.cover-sparkles{pointer-events:none;background:radial-gradient(circle at 22% 27%,#fff0a4 0 1px,#0000 2px),radial-gradient(circle at 78% 31%,#ffd86e 0 1.5px,#0000 3px),radial-gradient(circle at 17% 58%,#fff3b2 0 1px,#0000 2px),radial-gradient(circle at 83% 62%,#ffd056 0 1px,#0000 2px),radial-gradient(circle at 50% 19%,#ffe28a 0 1.5px,#0000 3px);animation:2.8s ease-in-out infinite alternate sparkle-pulse;position:absolute;inset:0}.cover-shade{background:linear-gradient(#26000514 0%,#34000700 33%,#2c00061a 65%,#200005bd 100%),radial-gradient(circle at 50% 44%,#7d050e00 20%,#2c00052e 55%,#1c000470 100%);position:absolute;inset:0}.cover-content{z-index:1;flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:26.5vh 24px 32px;display:flex;position:relative}.title-medallion{aspect-ratio:1;width:min(67vw,330px);color:var(--gold-100);text-align:center;text-shadow:0 2px 3px #3c0008,0 0 16px #ffca508c;flex-direction:column;justify-content:center;align-items:center;display:flex}.title-medallion .eyebrow{letter-spacing:.36em;text-indent:.36em;font-size:clamp(1.4rem,6vw,2rem);font-weight:700}.title-medallion h1{letter-spacing:.14em;text-indent:.14em;margin:3px 0 7px;font-family:DFKai-SB,BiauKai,KaiTi,serif;font-size:clamp(3.1rem,15vw,5rem);font-weight:700;line-height:1.05}.title-medallion p{color:#f5d576;letter-spacing:.55em;text-indent:.55em;margin:0;font-size:1rem}.primary-button{color:#4a140b;letter-spacing:.2em;cursor:pointer;background:linear-gradient(#fff0a8,#dca538 72%,#b47117);border:1px solid #f5d784;border-radius:999px;justify-content:center;align-items:center;gap:26px;width:min(78%,310px);min-height:58px;padding:0 22px 0 30px;font-size:1.25rem;font-weight:800;transition:transform .16s,filter .16s;animation:2.2s ease-in-out infinite alternate button-glow;display:flex;box-shadow:0 8px 24px #28000466,inset 0 1px #fff7ce}.primary-button b{font-size:2rem;line-height:0}.primary-button:active{filter:brightness(.96);transform:scale(.98)}.cover-note{color:#ffecb1db;letter-spacing:.18em;margin:17px 0 0;font-size:.82rem}.inner-screen,.poem-screen,.explanation-screen{background:linear-gradient(#fffae6ed,#fffae6f5),repeating-linear-gradient(0deg,#70471f09 0 1px,#0000 1px 4px)}.topbar{color:#fff5d0;border-bottom:3px solid var(--gold-500);background:radial-gradient(circle at 50% 0,#ffdb6a33,#0000 54%),linear-gradient(#8f1421,#57050d);grid-template-columns:44px 1fr 44px;align-items:center;min-height:84px;padding:12px 18px;display:grid;box-shadow:0 4px 14px #4c000733}.topbar>div{text-align:center;line-height:1.15}.topbar span{letter-spacing:.25em;font-size:.76rem;display:block}.topbar strong{letter-spacing:.16em;margin-top:5px;font-size:1.2rem;display:block}.icon-button{color:#ffe8a3;cursor:pointer;background:#48000761;border:1px solid #f9db858c;border-radius:50%;place-items:center;width:42px;height:42px;font-size:2rem;line-height:1;display:grid}.topbar-seal{color:#f7d779;border:2px solid #e7bd55;place-items:center;width:36px;height:36px;font-family:DFKai-SB,serif;transform:rotate(4deg);letter-spacing:0!important;font-size:1.15rem!important;display:grid!important}.picker-intro{text-align:center;padding:26px 20px 19px}.picker-intro .ornament{color:var(--red-700);font-size:.8rem}.picker-intro h2{color:#6e0c18;letter-spacing:.14em;margin:8px 0 5px;font-size:1.65rem}.picker-intro p{color:#82624a;letter-spacing:.08em;margin:0;font-size:.92rem}.sign-grid{grid-template-columns:repeat(4,1fr);gap:12px;padding:0 18px 24px;display:grid}.sign-button{aspect-ratio:.86;color:#6b0b16;cursor:pointer;background:linear-gradient(135deg,#ffffffd1,#0000 45%),linear-gradient(#fffdf3,#f7e8b9);border:1px solid #d7a73a;border-radius:10px 10px 15px 15px;justify-content:center;align-items:baseline;gap:2px;min-width:0;transition:transform .18s,box-shadow .18s,filter .18s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 10px #5c24051c,inset 0 0 0 3px #d6a43621}.sign-button:after{content:"";background:#ffffff8c;width:28%;transition:left .42s;position:absolute;inset:-40% auto -40% -45%;transform:rotate(20deg)}.sign-button strong{font-size:clamp(1.25rem,6vw,1.8rem)}.sign-button.special{color:#fff3bd;background:linear-gradient(#9e1726,#650811)}.sign-button.special span{color:#f5d67c}.sign-button:hover{transform:translateY(-3px);box-shadow:0 9px 18px #5c24052b,inset 0 0 0 3px #d6a43629}.sign-button:hover:after{left:125%}.sign-button:active{transform:translateY(1px)scale(.98)}.draw-screen{color:#fff2bd;background:radial-gradient(circle at 50% 36%,#ffca4238,#0000 28%),linear-gradient(#5c050e 0%,#2f0308 100%)}.draw-stage{background:linear-gradient(#46020a1a,#260006a6),repeating-radial-gradient(circle at 50% 38%,#ecba420d 0 1px,#0000 1px 18px);flex-direction:column;align-items:center;min-height:calc(100svh - 84px);padding:28px 22px 32px;display:flex;position:relative;overflow:hidden}.draw-stage:before,.draw-stage:after{content:"";border:1px solid #ebbe5226;width:170px;height:170px;position:absolute;transform:rotate(45deg)}.draw-stage:before{top:-92px;left:-92px}.draw-stage:after{bottom:40px;right:-92px}.draw-aura{border:1px solid #f4d1704d;border-radius:50%;width:290px;height:290px;animation:14s linear infinite aura-turn;position:absolute;top:62px;left:50%;transform:translate(-50%);box-shadow:0 0 70px #ffb92a2e,inset 0 0 48px #ffd05714}.draw-aura:before,.draw-aura:after{content:"";border:1px dashed #f6d27338;border-radius:50%;position:absolute}.draw-aura:before{inset:18px}.draw-aura:after{inset:42px}.wood-stick-wrap{z-index:2;justify-content:center;align-items:flex-start;height:400px;animation:1s cubic-bezier(.16,.9,.23,1.18) both stick-arrive;display:flex;position:relative}.wood-stick{color:#64110c;background:linear-gradient(90deg,#5e23072e,#0000 18%,#ffffff2e 48%,#0000 72%,#4f1b0633),repeating-linear-gradient(88deg,#d6923d 0 7px,#e6ad5c 7px 12px,#c47b2c 12px 13px);border:2px solid #7d340f;border-radius:42px 42px 15px 15px;flex-direction:column;justify-content:space-between;align-items:center;width:86px;height:365px;padding:27px 8px 18px;animation:3.2s ease-in-out 1s infinite alternate stick-sway;display:flex;position:relative;transform:rotate(-2deg);box-shadow:0 25px 45px #0000006b,0 0 24px #ffbd3740,inset 0 0 0 3px #ffe29842}.wood-stick:before{content:"";border:1px solid #67250757;border-radius:32px 32px 9px 9px;position:absolute;inset:10px}.wood-stick>span,.wood-stick>b{z-index:1;writing-mode:vertical-rl;letter-spacing:.18em;font-family:DFKai-SB,BiauKai,serif;font-size:.78rem}.stick-number{z-index:1;place-items:center;gap:2px;font-family:DFKai-SB,BiauKai,serif;display:grid}.stick-number small{font-size:1rem;font-weight:800}.stick-number strong{text-shadow:0 1px #fff0bd80;font-size:3.35rem;line-height:1}.incense-cloud{z-index:1;filter:blur(1px);border-top:3px solid #ffe5a033;border-radius:50%;width:130px;height:48px;animation:5s ease-in-out infinite smoke-drift;position:absolute}.incense-one{top:168px;left:-35px}.incense-two{animation-delay:-2s;top:252px;right:-40px;transform:scaleX(-1)}.draw-copy{z-index:2;text-align:center;margin-top:-4px;animation:.7s ease-out .55s both text-arrive}.draw-copy>span{color:#d7a748;letter-spacing:.3em;text-indent:.3em;font-size:.78rem}.draw-copy h2{color:#fff0ae;letter-spacing:.16em;margin:7px 0 5px;font-family:DFKai-SB,BiauKai,serif;font-size:1.9rem}.draw-copy p{color:#ffefbeb8;letter-spacing:.1em;margin:0;font-size:.82rem}.reveal-button{z-index:2;color:#531008;letter-spacing:.08em;cursor:pointer;background:linear-gradient(#fff1ae,#d69a31 78%,#a95d16);border:1px solid #f0cb6c;border-radius:999px;justify-content:center;align-items:center;gap:22px;width:min(100%,330px);min-height:56px;margin-top:22px;font-weight:900;animation:.7s ease-out .75s both text-arrive,2.2s ease-in-out 1.5s infinite alternate button-glow;display:flex;box-shadow:0 9px 22px #00000047,inset 0 1px #fff9d5}.reveal-button b{font-size:1.7rem;line-height:1}.draw-again{z-index:2;color:#ffebaeb3;text-underline-offset:5px;cursor:pointer;background:0 0;border:0;margin-top:15px;text-decoration:underline}.home-link{color:#7b3540;text-underline-offset:5px;cursor:pointer;background:0 0;border:0;margin:0 auto 30px;text-decoration:underline;display:block}.poem-stage{background:radial-gradient(circle at 50% 35%,#e8b74938,#0000 32%),linear-gradient(#f4e6bc 0%,#fff9e7 35%,#f4dfae 100%);place-items:center;min-height:calc(100svh - 200px);padding:33px 21px 24px;display:grid;position:relative}.cloud{opacity:.7;pointer-events:none;border-top:3px solid #97672529;border-radius:50%;width:150px;height:58px;animation:7s ease-in-out infinite alternate poem-cloud;position:absolute}.cloud-left{top:112px;left:-48px}.cloud-right{animation-delay:-3s;bottom:96px;right:-55px;transform:scaleX(-1)}.poem-dragon{z-index:4;filter:drop-shadow(0 6px 8px #54290552);opacity:.96;pointer-events:none;background:url(/art/golden-dragon.png) 50%/contain no-repeat;width:clamp(96px,28vw,126px);height:84%;animation:4.8s ease-in-out infinite alternate poem-dragon-float;position:absolute;top:50%}.poem-dragon-left{left:max(-54px,50% - 250px);transform:translateY(-50%)rotate(-5deg)}.poem-dragon-right{animation-delay:-2.4s;right:max(-54px,50% - 250px);transform:translateY(-50%)scaleX(-1)rotate(-5deg)}.poem-card{z-index:3;background:linear-gradient(#fffcedf2,#fff8dbf7),repeating-linear-gradient(90deg,#0000 0 7px,#7f4e160a 7px 8px);border:1px solid #b57e26;flex-direction:column;justify-content:flex-start;align-items:center;width:min(100%,390px);min-height:540px;padding:31px 28px 35px;display:flex;position:relative;box-shadow:0 16px 40px #48210533,inset 0 0 0 5px #f4df9d,inset 0 0 0 7px #b9832e}.poem-card:before,.poem-card:after{content:"";opacity:.45;border-color:#9b1925;width:70px;height:70px;position:absolute}.poem-card:before{border-top:2px solid;border-left:2px solid;top:13px;left:13px}.poem-card:after{border-bottom:2px solid;border-right:2px solid;bottom:13px;right:13px}.poem-number{color:#811523;flex:none;align-items:center;gap:6px;font-family:DFKai-SB,BiauKai,serif;display:flex}.poem-number span{font-size:1rem}.poem-number strong{font-size:2.35rem;font-weight:700}.poem-number:after{content:"";background:linear-gradient(90deg,#0000,#c49339,#0000);width:62%;height:1px;position:absolute;top:84px;left:50%;transform:translate(-50%)}.poem-lines{flex-direction:row;flex:1;justify-content:center;align-items:flex-start;gap:clamp(18px,5.5vw,28px);width:100%;min-height:380px;padding:46px 0 58px;display:flex}.poem-lines p{color:#2f160e;letter-spacing:.2em;writing-mode:vertical-rl;text-orientation:upright;white-space:nowrap;text-shadow:0 1px #fff;margin:0;font-family:DFKai-SB,BiauKai,KaiTi,serif;font-size:clamp(1.8rem,8.6vw,2.75rem);font-weight:700;line-height:1}.poem-lines.single{align-items:center}.poem-lines.single p{letter-spacing:.22em;font-size:clamp(2.55rem,13vw,4rem)}.has-sign-details .poem-number:after{display:none}.poem-sign-details{color:#811523;letter-spacing:.12em;text-align:center;writing-mode:horizontal-tb;direction:ltr;border-bottom:1px solid #b57e267a;flex:none;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;width:min(100%,240px);margin-top:10px;padding:10px 0 16px;font-family:DFKai-SB,BiauKai,KaiTi,serif;font-size:1.0625rem;font-weight:700;line-height:1.6;display:grid}.poem-sign-details span{white-space:nowrap}.poem-sign-details span+span{border-left:1px solid #b57e2659}.card-seal{color:#9b1421;opacity:.76;border:3px double #a51e2b;place-items:center;width:38px;height:38px;font-family:DFKai-SB,serif;font-size:1.25rem;display:grid;position:absolute;bottom:27px;right:27px;transform:rotate(-5deg)}.poem-actions{background:#fff9e7;grid-template-columns:1fr 1.3fr 1fr;gap:9px;padding:16px 15px 8px;display:grid}.explanation-entry{background:#fff9e7;padding:16px 20px 4px}.explanation-entry button,.back-to-poem{color:#fff4c7;letter-spacing:.08em;cursor:pointer;background:linear-gradient(#a01d2b,#6c0915);border:1px solid #d2a143;border-radius:999px;justify-content:center;align-items:center;gap:22px;width:100%;min-height:54px;font-weight:800;display:flex;box-shadow:0 7px 18px #53061033,inset 0 1px #ffffff2e}.explanation-entry button b{font-size:1.8rem;line-height:1}.explanation-stage{background:radial-gradient(circle at 50% 0,#e6b54833,#0000 25%),linear-gradient(#f4e3b5 0%,#fff9e9 220px,#f4e3b5 100%);min-height:calc(100svh - 84px);padding:25px 16px 42px}.explanation-heading{color:#70101b;text-align:left;justify-content:center;align-items:center;gap:17px;width:min(100%,430px);margin:0 auto;padding:3px 8px 20px;display:flex}.explanation-heading>div:last-child>span{color:#9a6f2d;letter-spacing:.2em;font-size:.8rem;font-weight:700;display:inline-block}.explanation-heading h2{letter-spacing:.16em;margin:4px 0 0;font-family:DFKai-SB,BiauKai,KaiTi,serif;font-size:1.8rem}.explanation-heading p{color:#8b6c49;letter-spacing:.08em;margin:5px 0 0;font-size:.76rem}.explanation-number{color:#fff1bd;background:radial-gradient(circle at 38% 30%,#a72835,#650912 72%);border:2px solid #d8af52;border-radius:50%;flex:none;justify-content:center;align-items:baseline;gap:2px;width:76px;height:76px;display:flex;box-shadow:0 7px 18px #5d0a1238,inset 0 0 0 3px #ffe3931f}.explanation-number small{font-size:.7rem}.explanation-number strong{font-family:DFKai-SB,serif;font-size:2rem;line-height:72px}.explanation-paper{color:#32160f;background:0 0;gap:14px;width:min(100%,430px);margin:0 auto;display:grid}.explanation-section{background:linear-gradient(#fffdf3f7,#fff8defc),repeating-linear-gradient(90deg,#0000 0 7px,#74481808 7px 8px);border:1px solid #bd8a2f;border-radius:10px;overflow:hidden;box-shadow:0 10px 26px #48210521,inset 0 0 0 4px #f3dda0b8}.section-title-row{background:linear-gradient(90deg,#7d14201a,#efd38f24);border-bottom:1px solid #ad7b235c;grid-template-columns:29px auto 1fr;align-items:center;gap:9px;min-height:52px;margin:0;padding:10px 14px;display:grid}.section-title-row>span{color:#fff2c1;background:#7e1420;border-radius:50%;place-items:center;width:29px;height:29px;font-family:Arial,sans-serif;font-size:.66rem;display:grid}.section-title-row i{background:linear-gradient(90deg,#bc8b2da6,#0000);height:1px}.explanation-section h3{color:#811523;letter-spacing:.18em;width:fit-content;margin:0;padding:0 3px 3px;font-family:DFKai-SB,BiauKai,KaiTi,serif;font-size:1.35rem}.explanation-vertical-text{writing-mode:horizontal-tb;text-orientation:mixed;direction:ltr;gap:10px;width:100%;height:auto;padding:20px 19px 22px;display:grid;overflow:visible}.explanation-section.compact .explanation-vertical-text{height:auto}.explanation-vertical-text p{color:#32160f;letter-spacing:.025em;text-align:left;overflow-wrap:anywhere;margin:0;font-family:DFKai-SB,BiauKai,KaiTi,serif;font-size:clamp(1.02rem,4.4vw,1.12rem);line-height:1.9}.section-poetry{background:radial-gradient(circle at 65% 10%,#a61f2b1c,#0000 50%),linear-gradient(#fffdf3,#fff4d5)}.section-poetry .explanation-vertical-text p{color:#68121d;font-size:clamp(1.06rem,4.6vw,1.17rem);font-weight:700}.section-meaning .section-title-row{background:linear-gradient(90deg,#ad691a1f,#f5e2b233)}.section-fortune .section-title-row{background:linear-gradient(90deg,#7a121c1c,#f5e2b22e)}.section-detail .section-title-row{background:linear-gradient(90deg,#6747181c,#f5e2b230)}.back-to-poem{color:#70101b;width:min(100%,430px);box-shadow:none;background:#fff8e8;margin:22px auto 0}.poem-actions button{color:#75111d;cursor:pointer;background:#fffaf0;border:1px solid #c58d31;border-radius:999px;min-height:46px;font-weight:700}.poem-actions button:disabled{opacity:.32;cursor:default}.gentle-note{color:#906f4c;text-align:center;letter-spacing:.12em;background:#fff9e7;margin:0;padding:7px 0 20px;font-size:.76rem}@keyframes cover-breathe{0%{filter:saturate(1.02)contrast(1.03)brightness(.94);transform:scale(1.015)translateY(0)}to{filter:saturate(1.08)contrast(1.04)brightness();transform:scale(1.035)translateY(-3px)}}@keyframes sparkle-pulse{0%{opacity:.25;filter:blur(.2px)}to{opacity:.9;filter:drop-shadow(0 0 4px #ffd45e)}}@keyframes button-glow{0%{box-shadow:0 8px 24px #28000466,inset 0 1px #fff7ce}to{box-shadow:0 10px 30px #2800047a,0 0 18px #ffd25347,inset 0 1px #fff7ce}}@keyframes stick-arrive{0%{opacity:0;transform:translateY(430px)rotate(5deg)scale(.86)}72%{opacity:1;transform:translateY(-12px)rotate(-2deg)scale(1.02)}to{transform:translateY(0)rotate(0)scale(1)}}@keyframes stick-sway{0%{transform:rotate(-2deg)translateY(0)}to{transform:rotate(2deg)translateY(-5px)}}@keyframes aura-turn{0%{opacity:.55;transform:translate(-50%)rotate(0)scale(.96)}50%{opacity:1}to{opacity:.55;transform:translate(-50%)rotate(360deg)scale(1.04)}}@keyframes smoke-drift{0%{opacity:0;transform:translate(-15px)scale(.8)}45%{opacity:.75}to{opacity:0;transform:translate(85px)scale(1.25)}}@keyframes text-arrive{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes poem-cloud{0%{opacity:.28;translate:-10px}to{opacity:.72;translate:35px -7px}}@keyframes poem-dragon-float{0%{filter:drop-shadow(0 5px 7px #5429053b);margin-top:-7px}to{filter:drop-shadow(0 10px 13px #54290557);margin-top:8px}}@media (max-width:370px){.sign-grid{gap:8px;padding-inline:12px}.poem-card{min-height:500px}.poem-lines{gap:14px}.poem-dragon{width:91px;height:80%}.poem-dragon-left{left:-49px}.poem-dragon-right{right:-49px}}@media (min-width:700px){body{padding:24px 0}.app-shell{border-radius:22px;min-height:calc(100svh - 48px)}.cover-content{min-height:calc(100svh - 48px)}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root:has(.app-shell:not(.cover-screen)){--red-950:#29080c;--red-900:#490a12;--red-800:#731523;--red-700:#941d2d;--gold-500:#bd8d38;--gold-300:#e9cb82;--gold-100:#fff1c2;--paper:#fff9ec;--ink:#39221c}body:has(.app-shell:not(.cover-screen)){background:radial-gradient(at 50% 0,#78212b,#26090e 80%)}.app-shell:not(.cover-screen) button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.app-shell:not(.cover-screen) button:focus-visible{outline-offset:4px;outline:3px solid #ac7824}.app-shell:not(.cover-screen){width:min(100%,540px);box-shadow:0 24px 100px #1c020973}.topbar{background:radial-gradient(at 50% 0,#a1333d66,#0000 70%),linear-gradient(140deg,#731522,#400910);border-bottom:1px solid #c99a4a;min-height:90px;padding:16px 20px;box-shadow:0 5px 16px #4910171a}.topbar>div{line-height:1.35}.topbar span{letter-spacing:.2em;font-size:.875rem}.topbar strong{letter-spacing:.18em;margin-top:4px;font-family:DFKai-SB,BiauKai,KaiTi,serif;font-size:1.35rem}.icon-button{background:#31070d24;border-color:#d6ae6659;width:44px;height:44px;transition:background .2s,transform .2s}.icon-button:hover{background:#d9ab4926}.icon-button:active{transform:scale(.93)}.topbar-seal{color:#efd493;border-color:#d7b267}.inner-screen{background:linear-gradient(160deg,#fffaf0,#f6e9cd)}.picker-intro{padding:30px 22px 27px}.picker-intro .ornament{color:#b48942;font-size:.65rem;display:inline-block}.picker-intro h2{letter-spacing:.1em;margin:10px 0 8px;font-family:DFKai-SB,BiauKai,KaiTi,serif;font-size:1.9rem}.picker-intro p{color:#826c54;font-size:.9375rem}.sign-grid{gap:13px;padding:0 22px 28px}.sign-button{aspect-ratio:.92;background:linear-gradient(135deg,#fffef6,#f6e6bb);border:1px solid #d0ae69;border-radius:13px 13px 20px 20px;align-items:center;gap:3px;min-height:78px;box-shadow:0 5px 12px #68411a0d,inset 0 0 0 4px #fff8e180}.sign-button strong{font-family:DFKai-SB,BiauKai,KaiTi,serif;font-size:clamp(1.6rem,6vw,2rem)}.sign-button span{color:#916938;font-size:.875rem}.sign-button.special{background:linear-gradient(145deg,#96303d,#5d1020);box-shadow:0 5px 14px #51122024,inset 0 0 0 4px #b77e3e33}.sign-button:hover{box-shadow:0 9px 20px #68411a24,inset 0 0 0 4px #fff8e180}.home-link{color:#7a4544;font-size:.9375rem}.draw-screen{background:radial-gradient(at 50% 35%,#752331,#2e0810 80%)}.draw-stage{min-height:calc(100svh - 90px);padding:28px 24px 36px}.draw-aura{border-color:#e3bc5a3d;box-shadow:0 0 90px #f2b83c1a,inset 0 0 50px #f2b83c0d}.draw-copy>span{font-size:.875rem}.draw-copy h2{margin-top:10px;font-size:2.1rem}.draw-copy p,.draw-again{font-size:.9375rem}.reveal-button{color:#51151c;background:linear-gradient(110deg,#f0cd7f,#fff0b5 48%,#d7ab53);min-height:58px;margin-top:25px;font-size:1.0625rem;animation:.7s ease-out .75s both text-arrive}.poem-stage{background:radial-gradient(at 50% 20%,#fffdf3,#0000 65%),linear-gradient(135deg,#ead7a9,#fcf3db 46%,#e9d5a4);min-height:auto;padding:28px 24px 26px}.poem-card{background:linear-gradient(130deg,#fffdf4,#fff7df);border-color:#ac7e31;width:min(100%,420px);min-height:520px;padding:27px 22px 30px;box-shadow:0 14px 28px #7a501629,inset 0 0 0 5px #eddaac,inset 0 0 0 6px #bd914b}.poem-card:before,.poem-card:after{opacity:.35;color:#a87929;width:42px;height:42px}.poem-number{gap:7px}.poem-number strong{font-size:2.45rem}.poem-sign-details{color:#875526;letter-spacing:.15em;width:min(100%,252px);margin-top:9px;padding:10px 0 17px;font-size:1.0625rem}.poem-lines{gap:clamp(15px,5vw,27px);min-height:340px;padding:42px 0 64px}.has-sign-details .poem-lines{min-height:330px;padding-top:34px}.poem-lines p{color:#3c2319;letter-spacing:.22em;font-size:clamp(1.75rem,8.1vw,2.65rem)}.poem-dragon{object-fit:contain;opacity:.95;background:0 0;width:clamp(100px,29vw,145px);height:auto;top:52%}.poem-dragon-left{left:max(-14px,50% - 255px)}.poem-dragon-right{right:max(-14px,50% - 255px)}.card-seal{color:#a6473b;opacity:.7;border-color:#a6473b;bottom:26px;right:27px}.explanation-entry{padding:19px 24px 8px}.explanation-entry button{background:linear-gradient(130deg,#962838,#67111e);border-color:#b8893d;min-height:56px;font-size:1.0625rem;box-shadow:0 7px 16px #73152326,inset 0 1px #ffffff26}.poem-actions{grid-template-columns:1fr 1.25fr 1fr;gap:10px;padding:10px 24px}.poem-actions button{background:#fffdf5;border-color:#cfb47f;min-height:46px;font-size:.9375rem}.poem-actions .choose-again{color:#752033;background:#f3e6c6}.gentle-note{letter-spacing:.08em;color:#8b785c;padding:10px 12px 26px;font-size:.875rem}.explanation-stage{background:radial-gradient(at 50% 0,#eddaae,#0000 400px),#fcf5e5;padding:28px 20px 36px}.explanation-heading{gap:17px;width:min(100%,456px);padding:0 0 25px}.explanation-heading>div:last-child>span{letter-spacing:.14em;color:#8e6b31;font-size:.875rem}.explanation-heading h2{letter-spacing:.1em;font-size:1.85rem;line-height:1.45}.explanation-heading p{letter-spacing:.01em;margin-top:2px;font-size:.875rem}.explanation-number{background:linear-gradient(145deg,#97313f,#5b1020);border-color:#c6a15d;width:72px;height:72px;box-shadow:0 5px 13px #73263329,inset 0 0 0 4px #f0d99f1f}.explanation-number strong{line-height:68px}.explanation-paper{gap:18px;width:min(100%,456px)}.explanation-section{background:#fffcf3;border:1px solid #d4bc8c;border-radius:14px;box-shadow:0 7px 22px #73511b0a}.section-title-row{background:linear-gradient(90deg,#f4e9d0,#f9f1e1);border-bottom-color:#e8d9b7;gap:10px;min-height:55px;padding:12px 18px}.section-title-row>span{color:#fff0c2;background:#7b2431;width:29px;height:29px;font-size:.75rem}.explanation-section h3{letter-spacing:.12em;padding-bottom:0;font-size:1.25rem}.section-title-row i{background:linear-gradient(90deg,#c8a56888,#0000);margin-left:5px}.explanation-vertical-text{gap:12px;padding:20px 21px 23px}.explanation-vertical-text p{color:#44342b;letter-spacing:.04em;font-family:Microsoft JhengHei,PingFang TC,Noto Serif TC,serif;font-size:1.0625rem;line-height:1.95}.section-poetry{background:#fffaed;border-color:#c8a464}.section-poetry .section-title-row{background:linear-gradient(110deg,#772031,#52101e);border-bottom-color:#b68a41}.section-poetry .section-title-row>span{color:#4b1721;background:#d3ac62}.section-poetry h3{color:#ffedc1}.section-poetry .explanation-vertical-text p{color:#6e2130;text-wrap:balance;font-family:DFKai-SB,BiauKai,KaiTi,serif;font-size:1.1875rem;line-height:2}.section-meaning .section-title-row,.section-fortune .section-title-row,.section-detail .section-title-row{background:linear-gradient(90deg,#f4e9d0,#fdf8ed)}.section-detail .explanation-vertical-text{background:0 0}.back-to-poem{color:#742031;background:#fffaf0;border-color:#cbaa6d;width:min(100%,456px);font-size:1rem}@media (max-width:360px){.topbar{padding-inline:14px}.topbar strong{font-size:1.2rem}.sign-grid{gap:10px;padding-inline:16px}.sign-button{min-height:70px}.poem-stage{padding:22px 19px}.poem-card{min-height:490px;padding-inline:18px}.poem-lines{gap:16px}.poem-sign-details{letter-spacing:.08em;font-size:1rem}.poem-actions,.explanation-entry{padding-inline:18px}.explanation-stage{padding-inline:15px}.explanation-heading{gap:12px}.explanation-heading h2{font-size:1.65rem}.explanation-vertical-text{padding-inline:18px}}@media (min-width:700px){body:has(.app-shell:not(.cover-screen)){padding:26px 0}.app-shell:not(.cover-screen){border:1px solid #dfbd6c66;border-radius:22px;min-height:calc(100svh - 52px)}.sign-grid{gap:16px;padding-inline:30px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
