.unlock-page[data-v-e636b98e]{min-height:100vh;display:grid;place-items:center;padding:16px}.unlock-book[data-v-e636b98e]{position:relative;width:min(430px,100%);padding:32px 24px 26px;border-radius:32px;text-align:center;background:radial-gradient(circle at 50% 18%,rgba(255,255,255,.48),transparent 30%),linear-gradient(180deg,#fff0c7,#efd29a);border:2px solid rgba(125,83,34,.38);box-shadow:0 18px 36px #5331123d,inset 0 0 0 8px #ffffff38;overflow:hidden}.unlock-book h1[data-v-e636b98e]{margin:12px 0 10px;font-size:36px}.unlock-book>p[data-v-e636b98e]{font-size:14.5px;line-height:1.75;color:var(--soft)}.code-input[data-v-e636b98e]{width:100%;margin-top:12px;border-radius:18px;border:1.5px solid rgba(122,90,53,.3);background:#fff8e0e0;padding:15px 16px;font-size:17px;text-align:center;letter-spacing:1px;font-weight:800;color:var(--ink);outline:none}.code-input[data-v-e636b98e]:focus-visible{border-color:var(--gold);box-shadow:0 0 0 3px #c9953238}.unlock-book>.btn[data-v-e636b98e]{width:100%;margin-top:12px}.unlock-msg[data-v-e636b98e]{min-height:22px;margin-top:10px;font-size:13px;color:var(--red)}.unlock-help[data-v-e636b98e]{margin-top:8px;padding:12px 13px;border-radius:18px;background:#fff8e08c;border:1px solid rgba(122,90,53,.16);font-size:12.5px;line-height:1.7;color:#4a321fad;text-align:left}.option-card[data-v-e636b98e]:focus-visible,.btn[data-v-e636b98e]:focus-visible{outline:3px solid rgba(179,90,58,.45);outline-offset:3px}.loading-actions[data-v-e636b98e]{display:grid;gap:12px;margin-top:22px}:root{--paper:#f4dfb6;--paper2:#fff1cf;--ink:#4a321f;--soft:#7a5a35;--gold:#c99532;--red:#b35a3a;--green:#789b56;--shadow:rgba(92,58,24,.18);--title:"STKaiti","KaiTi","Songti SC",serif;--body:"Kaiti SC","PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);font-family:var(--body);background:radial-gradient(circle at 15% 8%,rgba(255,255,255,.45),transparent 24%),radial-gradient(circle at 85% 18%,rgba(255,238,160,.42),transparent 28%),linear-gradient(135deg,#efd39a,#f6e6bf 46%,#dfbd78)}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:linear-gradient(90deg,rgba(92,58,24,.08) 1px,transparent 1px),linear-gradient(rgba(92,58,24,.06) 1px,transparent 1px);background-size:28px 28px}#app{min-height:100vh;padding:14px}.btn{border:0;border-radius:999px;padding:13px 22px;font-size:16px;font-weight:800;font-family:var(--body);cursor:pointer;transition:.15s}.btn:active{transform:scale(.97)}.btn.primary{color:#fff8dc;background:linear-gradient(180deg,#d8a64b,#b67925);box-shadow:0 7px #875015,0 14px 22px #5b361138}.btn.secondary{color:var(--ink);background:#f8e2ae;border:1.5px solid rgba(122,90,53,.35);box-shadow:0 6px 14px #5c3a181a}.btn:disabled{opacity:.45;box-shadow:none}.cover-page,.loading-page{min-height:calc(100vh - 28px);display:grid;place-items:center}.cover-book,.loading-book{position:relative;width:min(430px,100%);padding:32px 24px 26px;border-radius:32px;text-align:center;background:radial-gradient(circle at 50% 20%,rgba(255,255,255,.45),transparent 30%),linear-gradient(180deg,#fff0c7,#efd29a);border:2px solid rgba(125,83,34,.38);box-shadow:0 18px 36px #5331123d,inset 0 0 0 8px #ffffff38,inset 0 0 40px #8c591c29;overflow:hidden}.cover-book{min-height:680px}.cover-book:before,.result-poster:before{content:"";position:absolute;inset:16px;border:1.5px dashed rgba(123,81,34,.35);border-radius:24px;pointer-events:none}.cover-kicker,.poster-kicker{display:inline-block;padding:6px 14px;border-radius:999px;font-size:13px;color:var(--soft);background:#fff8dcb3;border:1px solid rgba(122,90,53,.22)}h1,h2,h3{font-family:var(--title)}.cover-book h1{margin:10px 0 12px;font-size:42px;line-height:1.1;letter-spacing:2px;text-shadow:0 2px 0 rgba(255,255,255,.45)}.cover-book p{max-width:340px;margin:0 auto 18px;font-size:15px;line-height:1.75;color:var(--soft)}.cover-dimo{width:82%;max-width:330px;margin:14px auto 24px;display:block;filter:drop-shadow(0 16px 18px rgba(91,54,17,.2))}.cover-note{margin-top:16px;font-size:12px;color:#4a321f9e;line-height:1.6}.question-page{width:min(560px,100%);margin:0 auto;min-height:calc(100vh - 28px);display:flex;flex-direction:column;justify-content:center;gap:14px}.progress-text{text-align:right;color:var(--soft);font-size:14px;margin-bottom:8px}.progress-bar{height:10px;border-radius:99px;overflow:hidden;background:#7a5a352e;box-shadow:inset 0 2px 4px #5c3a182e}.progress-fill{height:100%;background:linear-gradient(90deg,#b4c889,var(--gold));transition:.25s}.question-card{position:relative;padding:24px 18px 20px;border-radius:26px;background:linear-gradient(180deg,#fff8e0f5,#f6deadf5);border:1.5px solid rgba(122,90,53,.28);box-shadow:0 14px 28px #5c3a1829,inset 0 0 0 5px #ffffff38}.question-card:before{content:"✦";position:absolute;top:14px;left:18px;color:var(--gold);opacity:.7}.question-title{margin:6px 0 16px;font-size:23px;line-height:1.45}.question-description{margin:-6px 0 16px;font-size:14px;line-height:1.6;color:var(--soft)}.option-list{display:grid;gap:12px}.option-card{width:100%;display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;text-align:left;padding:14px;border-radius:18px;font-family:var(--body);color:var(--ink);background:linear-gradient(180deg,#fff7dc,#f3dba5);border:1.5px solid rgba(122,90,53,.22);box-shadow:0 6px 12px #5c3a1817;cursor:pointer}.option-card.selected{border-color:var(--gold);background:linear-gradient(180deg,#fff3bf,#eac56b);box-shadow:0 6px 16px #ac711c38,inset 0 0 0 2px #ffffff59}.option-id{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;font-weight:900;color:#fff8dc;background:var(--gold)}.option-text{font-size:15px;line-height:1.55}.option-desc,.option-examples{grid-column:2;display:block;margin-top:4px;font-size:12.5px;line-height:1.5;color:var(--soft)}.question-actions{display:flex;gap:12px}.question-actions .btn{flex:1}.auto-hint{flex:1;text-align:center;font-size:13px;color:#4a321f94;padding:12px 8px}.magic-spinner{width:72px;height:72px;margin:0 auto 18px;border-radius:50%;border:4px solid rgba(201,149,50,.22);border-top-color:var(--gold);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.result-page{width:min(620px,100%);margin:0 auto;padding-bottom:30px}.result-poster{position:relative;width:100%;min-height:780px;padding:22px 16px 18px;border-radius:30px;background:radial-gradient(circle at 20% 8%,rgba(255,255,255,.42),transparent 28%),radial-gradient(circle at 80% 18%,rgba(255,236,158,.38),transparent 30%),linear-gradient(180deg,#fff0c3,#eac987);border:2px solid rgba(112,73,31,.34);box-shadow:0 18px 36px #53311238,inset 0 0 0 7px #fff3,inset 0 0 46px #7348192e;overflow:hidden}.poster-header{position:relative;z-index:1;text-align:center;padding:4px 10px 12px}.poster-header h1{margin:10px 0 6px;font-size:28px;line-height:1.18}.poster-header p{margin:0 auto;max-width:420px;font-size:14px;line-height:1.55;color:var(--soft)}.poster-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:330px 210px 150px;gap:12px;margin-top:12px}.spirit-card{position:relative;overflow:hidden;border-radius:24px;background:linear-gradient(180deg,#fff9e1f5,#efcf91f0);border:1.5px solid rgba(122,90,53,.24);box-shadow:0 8px 18px #5c3a1824,inset 0 0 0 4px #ffffff2e}.spirit-card:before{content:"";position:absolute;inset:8px;border:1px dashed rgba(122,90,53,.18);border-radius:18px;z-index:2}.core-card{grid-column:1/3;grid-row:1}.need-card{grid-column:1/3;grid-row:2}.shadow-card{grid-column:1;grid-row:3}.social-card{grid-column:2;grid-row:3}.role-title{position:absolute;top:10px;left:12px;z-index:3;padding:5px 10px;border-radius:999px;font-size:13px;font-weight:900;color:#fff8dc;background:linear-gradient(180deg,#b9832c,#8f581d);box-shadow:0 3px 8px #5533122e}.spirit-img{position:absolute;z-index:1;object-fit:contain;filter:drop-shadow(0 14px 14px rgba(84,52,21,.22))}.core-card .spirit-img{width:78%;height:86%;left:50%;top:50%;transform:translate(-50%,-48%)}.need-card .spirit-img{width:62%;height:92%;left:36%;top:50%;transform:translate(-50%,-50%)}.shadow-card .spirit-img,.social-card .spirit-img{width:82%;height:76%;left:50%;top:43%;transform:translate(-50%,-50%)}.spirit-info{position:absolute;z-index:3;right:10px;bottom:10px;min-width:104px;padding:7px 9px;border-radius:14px;text-align:right;background:#fff8e0d6;border:1px solid rgba(122,90,53,.18)}.spirit-name{font-family:var(--title);font-size:20px;font-weight:900}.match{margin-top:2px;font-size:12px;font-weight:800;color:var(--red)}.core-card .spirit-name{font-size:26px}.need-card .spirit-name{font-size:23px}.shadow-card .spirit-name,.social-card .spirit-name{font-size:17px}.result-actions{display:flex;gap:12px;margin:18px 0 8px}.result-actions .btn{flex:1}.share-hint{text-align:center;font-size:12.5px;color:#4a321fa8;margin:4px 0 16px}.result-analysis{display:grid;gap:14px}.analysis-block,.role-guide{padding:18px 16px;border-radius:22px;background:linear-gradient(180deg,#fff8e0f2,#f1daabf2);border:1.5px solid rgba(122,90,53,.22);box-shadow:0 8px 18px #5c3a181a}.analysis-block h3,.role-guide h3{margin:0 0 8px;font-size:21px}.analysis-content{display:grid;grid-template-columns:116px 1fr;gap:14px;align-items:start}.analysis-img-wrap{min-height:116px;border-radius:18px;background:linear-gradient(180deg,#fff9e1e6,#efcf91db);border:1px dashed rgba(122,90,53,.22);display:grid;place-items:center;overflow:hidden}.analysis-img{width:108px;height:108px;object-fit:contain;filter:drop-shadow(0 10px 12px rgba(84,52,21,.18))}.analysis-text p,.analysis-block p,.role-guide p{margin:0;font-size:14.5px;line-height:1.85;color:var(--soft)}.analysis-text p+p{margin-top:10px}.role-guide p{margin:6px 0}.footer-note{text-align:center;font-size:12px;line-height:1.6;color:#4a321f94;margin-top:22px}.debug-panel{margin-top:18px;padding:12px;border-radius:12px;background:#ffffffa6;white-space:pre-wrap;font-size:12px;overflow:auto}.svg-spirit{width:100%;height:100%}@media(max-width:480px){#app{padding:12px}.cover-book{min-height:calc(100vh - 24px);padding:30px 20px 24px}.cover-book h1{font-size:38px}.cover-dimo{width:88%;margin-top:18px}.question-title{font-size:21px}.option-card{padding:13px 12px}.option-text{font-size:14.5px}.result-poster{min-height:730px;padding:18px 12px 14px;border-radius:26px}.poster-header h1{font-size:24px}.poster-header p{font-size:13px}.poster-grid{grid-template-rows:300px 200px 145px;gap:10px}.core-card .spirit-img{width:84%;height:88%}.need-card .spirit-img{width:68%;height:94%;left:35%}.shadow-card .spirit-img,.social-card .spirit-img{width:86%;height:76%}.spirit-info{right:8px;bottom:8px;padding:6px 8px}.core-card .spirit-name{font-size:24px}.need-card .spirit-name{font-size:21px}.shadow-card .spirit-name,.social-card .spirit-name{font-size:15px}.match{font-size:11px}.analysis-content{grid-template-columns:88px 1fr;gap:10px}.analysis-img-wrap{min-height:88px}.analysis-img{width:84px;height:84px}.analysis-text p{font-size:14px;line-height:1.75}}@media(max-width:380px){.poster-grid{grid-template-rows:280px 190px 138px}.role-title{font-size:12px;padding:4px 8px}.shadow-card .spirit-name,.social-card .spirit-name{font-size:14px}.spirit-info{min-width:92px}.match{font-size:10.5px}.poster-header h1{font-size:22px}}.spirit-info{max-width:calc(100% - 16px);backdrop-filter:blur(2px)}.spirit-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.role-title{max-width:calc(100% - 24px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.option-card:hover{transform:translateY(-1px);box-shadow:0 8px 16px #5c3a1821}.option-card.selected .option-id{background:#a96922}@media(max-width:420px){.result-poster{min-height:720px}.poster-grid{grid-template-rows:292px 194px 142px}.poster-header{padding-bottom:8px}.poster-header h1{font-size:22px}.poster-header p{font-size:12.6px;line-height:1.45}.core-card .spirit-img{width:82%;height:86%}.need-card .spirit-img{width:66%;height:92%;left:34%}.spirit-info{min-width:88px;padding:5px 7px}.core-card .spirit-name{font-size:22px}.need-card .spirit-name{font-size:19px}.shadow-card .spirit-name,.social-card .spirit-name{font-size:14px}.role-title{font-size:11.5px;padding:4px 7px;top:8px;left:8px}}@media(max-width:360px){.result-poster{padding:15px 9px 12px}.poster-grid{grid-template-rows:272px 182px 132px;gap:8px}.poster-kicker{font-size:11px}.poster-header h1{font-size:20px}.poster-header p{font-size:12px}.match{font-size:10px}.spirit-info{right:6px;bottom:6px;min-width:80px}.shadow-card .spirit-name,.social-card .spirit-name{font-size:13px}.analysis-block,.role-guide{padding:15px 13px}.question-title{font-size:20px}.option-card{gap:8px;grid-template-columns:30px 1fr}.option-id{width:25px;height:25px}}.shadow-card,.social-card{padding-bottom:42px}.shadow-card .role-title,.social-card .role-title{top:8px;left:9px;font-size:11px;padding:4px 8px;z-index:5}.shadow-card .spirit-img,.social-card .spirit-img{width:94%;height:calc(100% - 78px);left:50%;top:30px;transform:translate(-50%);object-fit:contain;object-position:center center;z-index:1;filter:drop-shadow(0 11px 12px rgba(84,52,21,.2))}.shadow-card .spirit-info,.social-card .spirit-info{left:9px;right:9px;bottom:8px;min-width:0;max-width:none;min-height:32px;padding:5px 8px;border-radius:13px;display:flex;align-items:center;justify-content:space-between;gap:6px;text-align:left;background:#fff9e5e0;border:1px solid rgba(122,90,53,.16);box-shadow:0 3px 8px #5c3a1814;backdrop-filter:blur(2px)}.shadow-card .spirit-name,.social-card .spirit-name{flex:1 1 auto;min-width:0;font-size:14px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shadow-card .match,.social-card .match{flex:0 0 auto;margin-top:0;font-size:10.5px;line-height:1;white-space:nowrap}.shadow-card:before,.social-card:before{opacity:.55}@media(max-width:480px){.shadow-card,.social-card{padding-bottom:40px}.shadow-card .spirit-img,.social-card .spirit-img{top:29px;height:calc(100% - 74px);width:96%}.shadow-card .spirit-info,.social-card .spirit-info{left:7px;right:7px;bottom:7px;min-height:31px;padding:5px 7px}.shadow-card .spirit-name,.social-card .spirit-name{font-size:13.5px}.shadow-card .match,.social-card .match{font-size:10px}}@media(max-width:380px){.shadow-card,.social-card{padding-bottom:38px}.shadow-card .role-title,.social-card .role-title{font-size:10.5px;padding:3px 7px;top:7px;left:7px}.shadow-card .spirit-img,.social-card .spirit-img{top:27px;height:calc(100% - 70px);width:96%}.shadow-card .spirit-info,.social-card .spirit-info{left:6px;right:6px;bottom:6px;min-height:30px;padding:4px 6px;gap:4px}.shadow-card .spirit-name,.social-card .spirit-name{font-size:12.5px}.shadow-card .match,.social-card .match{font-size:9.5px}}.result-poster .spirit-img{position:absolute;object-fit:contain!important;object-position:center center!important;transform-origin:center center!important}.result-poster .core-card .spirit-img{width:80%!important;height:84%!important;left:50%!important;top:50%!important;transform:translate(-50%,-46%)!important}.result-poster .need-card .spirit-img{width:66%!important;height:84%!important;left:38%!important;top:46%!important;transform:translate(-50%,-50%)!important}.result-poster .shadow-card .spirit-img,.result-poster .social-card .spirit-img{width:76%!important;height:62%!important;left:50%!important;top:42%!important;transform:translate(-50%,-50%)!important}@media(max-width:480px){.result-poster .core-card .spirit-img{width:82%!important;height:84%!important}.result-poster .need-card .spirit-img{width:68%!important;height:84%!important;left:38%!important}.result-poster .shadow-card .spirit-img,.result-poster .social-card .spirit-img{width:80%!important;height:64%!important;top:42%!important}}@media(max-width:380px){.result-poster .core-card .spirit-img{width:84%!important}.result-poster .need-card .spirit-img{width:70%!important}}.result-actions-single{justify-content:center;margin-top:20px}.result-actions-single .btn{flex:0 1 220px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.option-card:hover,.btn:active{transform:none}}.option-card:disabled{cursor:default}@media(max-width:480px){.shadow-card .spirit-info,.social-card .spirit-info{min-height:42px;flex-direction:column;align-items:stretch;justify-content:center;gap:2px}.shadow-card .spirit-name,.social-card .spirit-name{flex:0 0 auto;width:100%}}
