:root{--paper:#f5f4ff;--paper-deep:#e9e7fa;--ink:#202135;--muted:#74728a;--wine:#6752c5;--wine-deep:#4f3ba8;--gold:#e06472;--line:#3c336f1f;--white:#fffefe;--shadow:0 18px 50px #4536911f;--radius:22px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{background:var(--paper);min-height:100%}body{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 8% 4%, #5cd3d42e, transparent 27rem), radial-gradient(circle at 92% 20%, #e064721f, transparent 24rem), linear-gradient(180deg, #fbfaff 0%, var(--paper) 48%, #efedfb 100%);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,sans-serif}button,input,select,textarea{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}.page-shell{width:min(100%,760px);min-height:100vh;margin:0 auto;padding:22px 18px 54px}.brand-row{justify-content:space-between;align-items:center;margin-bottom:34px;display:flex}.brand-mark{letter-spacing:.28em;color:var(--wine);font-size:13px;font-weight:700}.brand-product{color:var(--muted);font-size:12px}.eyebrow{color:var(--wine);letter-spacing:.18em;margin:0 0 14px;font-size:12px;font-weight:700}.display-title{letter-spacing:-.03em;margin:0;font-family:Songti SC,SimSun,serif;font-size:clamp(36px,10vw,62px);font-weight:700;line-height:1.13}.display-subtitle{color:var(--gold);letter-spacing:.06em;margin:18px 0 0;font-family:Songti SC,SimSun,serif;font-size:19px}.intro{color:#5e5852;max-width:620px;margin:34px 0 0;font-size:15px;line-height:1.9}.hero-grid{grid-template-columns:1fr;gap:30px;display:grid}.code-card,.panel{border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffeffdb;border:1px solid #6752c526}.code-card{margin-top:38px;padding:22px}.field-label{color:#5d5550;margin-bottom:9px;font-size:13px;font-weight:700;display:block}.text-input,.select-input,.number-input,.textarea-input{width:100%;min-height:50px;color:var(--ink);background:#ffffffbf;border:1px solid #28262426;border-radius:14px;outline:none;padding:12px 14px;transition:border-color .18s,box-shadow .18s,background .18s}.text-input:focus,.select-input:focus,.number-input:focus,.textarea-input:focus{border-color:var(--wine);background:#fff;box-shadow:0 0 0 3px #6752c51a}.code-input{text-transform:uppercase;letter-spacing:.12em;text-align:center;font-weight:700}.primary-button,.secondary-button,.ghost-button{cursor:pointer;border:0;border-radius:999px;min-height:50px;padding:0 22px;font-weight:700;transition:transform .16s,opacity .16s,background .16s}.primary-button{color:#fff;background:linear-gradient(135deg, var(--wine), #7863dd);width:100%;margin-top:14px;box-shadow:0 12px 25px #6752c538}.primary-button:hover{background:var(--wine-deep);transform:translateY(-1px)}.primary-button:disabled,.secondary-button:disabled{opacity:.48;cursor:not-allowed;transform:none}.secondary-button{color:var(--wine-deep);background:#ede5dc}.ghost-button{min-height:40px;color:var(--muted);background:0 0;padding:0 14px}.error-message{color:#9f3e4c;margin:10px 0 0;font-size:13px;line-height:1.55}.privacy-note{border-top:1px solid var(--line);color:var(--muted);margin-top:30px;padding-top:20px;font-size:12px;line-height:1.8}.footer-note{color:#9a9187;text-align:center;margin-top:40px;font-size:11px;line-height:1.8}@media (min-width:720px){.page-shell{padding:38px 28px 72px}.hero-grid{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:end;gap:48px}.code-card{margin-top:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.admin-loading,.admin-login-wrap{min-height:100vh;color:var(--muted);place-items:center;padding:20px;display:grid}.admin-login{width:min(100%,420px);padding:30px}.admin-login h1{margin:0 0 8px;font-family:Songti SC,SimSun,serif;font-size:32px}.admin-login p:not(.eyebrow):not(.error-message){color:var(--muted);margin:0 0 26px}.admin-login .field-label{margin-top:16px}.admin-shell{width:min(1180px,100% - 28px);margin:0 auto;padding:30px 0 70px}.admin-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.admin-header h1{margin:10px 0 4px;font-family:Songti SC,SimSun,serif;font-size:clamp(30px,5vw,46px)}.admin-header p{color:var(--muted);margin:0}.admin-generate{padding:22px}.admin-form-grid{grid-template-columns:1fr;align-items:end;gap:16px;display:grid}.admin-generate-button{margin:0}.quick-counts{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.quick-counts button{border:1px solid var(--line);cursor:pointer;color:var(--muted);background:#fff;border-radius:999px;padding:7px 13px}.quick-counts button.active{background:var(--wine);color:#fff;border-color:var(--wine)}.admin-message{color:var(--wine);font-size:13px}.new-code-block{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.new-code-block>div{justify-content:space-between;align-items:center;display:flex}.new-code-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.new-code-block .secondary-button{min-height:38px}.new-code-block pre{background:#f5f0ea;border-radius:14px;max-height:260px;padding:16px;line-height:1.7;overflow:auto}.admin-list-section{margin-top:34px}.section-heading{justify-content:space-between;align-items:end;display:flex}.section-heading h2{margin:0 0 12px;font-size:24px}.code-table-wrap{border:1px solid var(--line);background:#ffffffb8;border-radius:16px;overflow-x:auto}.code-table{border-collapse:collapse;width:100%;min-width:780px;font-size:13px}.code-table th{text-align:left;color:#554d47;background:#ebe3da;padding:14px}.code-table td{border-top:1px solid var(--line);padding:14px}.mono{letter-spacing:.05em;font-family:Consolas,monospace;font-weight:700}.status{border-radius:999px;padding:5px 10px;font-weight:700;display:inline-flex}.status.unused{color:#41604a;background:#e5efe8}.status.used{color:#7a6b64;background:#eee8e5}.copy-link{color:var(--wine);cursor:pointer;background:0 0;border:0;font-weight:700}.empty-cell{text-align:center;color:var(--muted);padding:32px!important}@media (min-width:760px){.admin-form-grid{grid-template-columns:1fr 160px 190px}}.flow-center{place-items:center;min-height:100vh;padding:24px 18px;display:grid}.empty-progress,.intro-card,.generating-card{text-align:center;width:min(100%,600px)}.empty-progress h1,.intro-card h1,.generating-card h1{margin:0 0 20px;font-family:Songti SC,SimSun,serif;font-size:clamp(30px,7vw,44px);line-height:1.35}.empty-progress p:not(.eyebrow),.intro-card p:not(.eyebrow),.generating-card p:not(.eyebrow){color:var(--muted);line-height:1.9}.intro-card .ghost-button{margin:12px auto 0;display:block}.assessment-shell,.question-shell{width:min(100%,760px);min-height:100vh;margin:0 auto;padding:18px 18px 60px}.flow-header{z-index:5;background:linear-gradient(180deg, var(--paper) 75%, transparent);grid-template-columns:1fr auto;align-items:center;gap:12px;padding:14px 0 16px;display:grid;position:sticky;top:0}.flow-header>div:first-child{color:var(--muted);align-items:center;gap:12px;font-size:12px;display:flex}.flow-header strong{color:var(--muted);font-size:12px}.progress-track{background:#28262414;border-radius:99px;grid-column:1/-1;height:3px;overflow:hidden}.progress-track span{background:linear-gradient(90deg, var(--gold), var(--wine));height:100%;transition:width .3s;display:block}.profile-intro{margin:34px 0 28px}.profile-intro h1{margin:0 0 12px;font-family:Songti SC,SimSun,serif;font-size:clamp(32px,8vw,48px)}.profile-intro p:not(.eyebrow){color:var(--muted);line-height:1.8}.profile-fields{gap:16px;display:grid}.profile-field{border:1px solid var(--line);background:#fffdf9c2;border-radius:18px;padding:18px;display:block}.profile-field .field-label{color:var(--ink);margin-bottom:13px;font-size:14px}.profile-field .field-label em{color:var(--muted);font-size:11px;font-style:normal;font-weight:400}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.choice{cursor:pointer;background:#fff;border:1px solid #2826241f;border-radius:12px;min-height:46px;padding:8px 10px;font-size:13px}.choice.active{color:#fff;border-color:var(--wine);background:var(--wine);box-shadow:0 8px 18px #814f5629}.inline-input,.range-row{align-items:center;gap:8px;display:flex}.inline-input .number-input{flex:1}.range-row .number-input{min-width:0}.range-row span{color:var(--muted);font-size:12px}.small-toggle{border:1px solid var(--line);cursor:pointer;min-height:44px;color:var(--muted);background:#eee8e1;border-radius:12px;flex:none;padding:0 12px}.small-toggle.active{background:var(--wine);color:#fff;border-color:var(--wine)}.supplemental{margin-top:10px}.form-error{color:#8c3543;background:#f4e7e8;border-radius:12px;padding:12px 14px;font-size:13px;line-height:1.6}.flow-actions{align-items:center;gap:12px;margin-top:24px;display:flex}.flow-actions .primary-button{margin:0}.question-shell{flex-direction:column;display:flex}.question-card{flex-direction:column;flex:1;justify-content:center;padding:30px 0 14vh;display:flex}.question-kicker{text-align:center;color:var(--muted);letter-spacing:.12em;font-size:12px}.question-card h1{text-align:center;max-width:660px;margin:16px auto clamp(48px,10vh,90px);font-family:Songti SC,SimSun,serif;font-size:clamp(25px,6.8vw,38px);font-weight:600;line-height:1.55}.scale-options{grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;gap:6px;display:grid}.scale-option{cursor:pointer;color:var(--muted);background:0 0;border:0;flex-direction:column;align-items:center;gap:11px;padding:8px 1px;font-size:11px;line-height:1.35;display:flex}.scale-circle{border:1.5px solid var(--wine);background:0 0;border-radius:50%;transition:transform .18s,background .18s,box-shadow .18s;display:block}.scale-option:hover .scale-circle{transform:scale(1.08)}.scale-option.selected{color:var(--wine);font-weight:700}.scale-option.selected .scale-circle{background:var(--wine);box-shadow:inset 0 0 0 4px var(--paper), 0 5px 15px #814f5638;transform:scale(1.12)}.question-footer{text-align:center}.generating-orbit{border:1px solid #814f562e;border-radius:50%;width:100px;height:100px;margin:0 auto 28px;animation:2.4s linear infinite orbit;position:relative}.generating-orbit:before,.generating-orbit span{content:"";background:var(--wine);border-radius:50%;position:absolute}.generating-orbit:before{width:12px;height:12px;top:-6px;left:44px}.generating-orbit span{background:radial-gradient(circle at 35% 30%, #c4aa88, var(--wine));width:48px;height:48px;top:25px;left:25px}@keyframes orbit{to{transform:rotate(360deg)}}.review-meta{border-block:1px solid var(--line);text-align:left;grid-template-columns:1fr auto;gap:10px;margin:24px 0;padding:18px 0;display:grid}.review-meta span{color:var(--muted)}.review-meta strong{color:var(--wine)}@media (min-width:640px){.choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.assessment-shell,.question-shell{padding-inline:28px}}.result-page{padding:0 0 80px}.result-toolbar{width:min(100%,820px);color:var(--muted);justify-content:space-between;align-items:center;gap:10px;margin:0 auto;padding:14px 18px;font-size:11px;display:flex}.report-canvas{background:var(--paper);width:min(100%,820px);margin:0 auto;overflow:hidden}.report-hero{color:#fff;background:#302b29;grid-template-rows:auto auto;display:grid;position:relative;overflow:hidden}.portrait-visual{aspect-ratio:1;background:radial-gradient(circle at 55% 25%,#c1aa8a 0,#7a5b58 28%,#382f30 66%,#282424 100%);width:100%;position:relative;overflow:hidden}.portrait-visual:after{content:"";background:linear-gradient(#0000 45%,#302b29 100%);position:absolute;inset:0}.portrait-visual img{object-fit:contain;object-position:center;z-index:2;width:100%;height:100%;position:absolute;inset:0}.creature-visual{aspect-ratio:9/16;justify-content:center;align-items:center;min-width:0;display:flex}.creature-visual:after{display:none}.creature-visual img{object-fit:contain;width:100%;max-width:100%;height:100%;display:block;position:static}.portrait-silhouette{z-index:1;position:absolute;inset:0}.portrait-silhouette .head{background:#201a1bab;border-radius:48% 48% 45% 45%;width:112px;height:132px;position:absolute;top:17%;left:50%;transform:translate(-50%);box-shadow:0 0 50px #ffffff0f}.portrait-silhouette .body{background:#201a1bb8;border-radius:50% 50% 0 0;width:330px;height:290px;position:absolute;top:50%;left:50%;transform:translate(-50%)}.visual-grain{z-index:3;opacity:.22;background-image:radial-gradient(#ffffff59 .5px,#0000 .6px);background-size:4px 4px;position:absolute;inset:0}.report-hero-copy{z-index:4;background:linear-gradient(#302b29f5,#2c2927);padding:26px 24px 38px;position:relative}.report-hero .eyebrow{color:#c9b18e}.report-complete{color:#bcb3aa;margin:0 0 14px;font-size:12px}.report-hero h1{letter-spacing:-.04em;margin:0;font-family:Songti SC,SimSun,serif;font-size:clamp(44px,13vw,70px)}.secondary-type{color:#cbbfb2;margin:10px 0 0}.score-lockup{flex-direction:column;align-items:flex-end;display:flex;position:absolute;top:78px;right:24px}.score-lockup strong{color:#ddc7a5;font-family:Georgia,serif;font-size:70px;font-weight:400;line-height:1}.score-lockup span{color:#aaa096;letter-spacing:.08em;margin-top:6px;font-size:10px}.hero-pressure{color:#cbbfb2;letter-spacing:.06em;border-left:2px solid #b99b72;width:fit-content;margin-top:20px;padding:7px 12px;font-size:11px}.hero-pressure strong{color:#f0dfc8;margin-left:5px;font-size:14px}.label-row{flex-wrap:wrap;gap:8px;margin-top:28px;display:flex}.label-row span{color:#e3d5c2;border:1px solid #ddc7a547;border-radius:999px;padding:7px 12px;font-size:11px}.report-section{border-bottom:1px solid var(--line);background:var(--paper);padding:42px 24px}.report-section:nth-of-type(2n){background:#f3eee7}.report-section-title{align-items:baseline;gap:15px;margin-bottom:22px;display:flex}.report-section-title>span{color:var(--gold);font-family:Georgia,serif;font-size:13px}.report-section-title h2{margin:0;font-family:Songti SC,SimSun,serif;font-size:25px}.report-section-body{color:#554f4a;font-size:14px;line-height:2}.report-section-body p{white-space:pre-line;margin:0}.report-paragraphs{gap:16px;display:grid}.detail-list{gap:24px;display:grid}.detail-list article{border-bottom:1px solid var(--line);padding-bottom:22px}.detail-list article:last-child{border-bottom:0;padding-bottom:0}.detail-list h3{color:var(--ink);margin:0 0 8px;font-family:Songti SC,SimSun,serif;font-size:18px}.detail-list.is-compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 26px}.detail-list.is-compact article{padding-bottom:16px}.detail-list.is-compact h3{font-size:15px}.mode-heading{color:var(--wine);border:1px solid #7a393a3d;border-radius:999px;margin-bottom:13px;padding:5px 11px;font-family:Songti SC,SimSun,serif;font-size:16px;display:inline-block}.lead-section .report-section-body{color:var(--ink);font-family:Songti SC,SimSun,serif;font-size:18px;line-height:2}.report-list{margin:0;padding:0;list-style:none}.report-list li{padding:0 0 18px 23px;position:relative}.report-list li:last-child{padding-bottom:0}.report-list li:before{content:"";background:var(--wine);border-radius:50%;width:7px;height:7px;position:absolute;top:.8em;left:0}.pressure-line{align-items:center;gap:16px;margin-bottom:16px;display:flex}.pressure-line>strong{color:var(--wine);flex:none;font-family:Songti SC,SimSun,serif;font-size:28px}.pressure-meter{background:#ddd4ca;border-radius:99px;flex:1;height:5px;overflow:hidden}.pressure-meter span{background:linear-gradient(90deg, var(--gold), var(--wine));height:100%;display:block}.pressure-meter.level-低 span{width:22%}.pressure-meter.level-中等 span{width:46%}.pressure-meter.level-偏高 span{width:68%}.pressure-meter.level-高 span{width:92%}.advice-grid{gap:22px;display:grid}.advice-item{border-bottom:1px solid var(--line);padding-bottom:22px}.advice-item:last-child{border:0;padding-bottom:0}.advice-item>span{color:var(--wine);letter-spacing:.08em;font-size:11px;font-weight:700}.advice-item h3{color:var(--ink);margin:7px 0 8px;font-size:15px}.report-closing{color:#f7f2eb;text-align:center;background:#312c2a;padding:60px 24px 66px}.closing-mark{color:#d2ba96;letter-spacing:.3em;margin-bottom:26px;font-size:13px;font-weight:700;display:inline-block}.report-closing h2{margin:0 0 24px;font-family:Songti SC,SimSun,serif;font-size:27px;font-weight:500}.report-closing blockquote{white-space:pre-line;max-width:620px;margin:0 auto;font-family:Songti SC,SimSun,serif;font-size:23px;line-height:1.7}.report-closing p{color:#a9a09a;margin:30px 0 0;font-size:11px}.report-save-reminder{color:#e5d8c7;text-align:center;background:#272321;padding:28px 24px 32px}.report-save-reminder strong{color:#c8ab82;letter-spacing:.16em;margin-bottom:8px;font-size:12px;display:block}.report-save-reminder p{margin:0;font-size:12px;line-height:1.7}.save-panel{text-align:center;border:1px solid var(--line);width:min(100% - 36px,760px);box-shadow:var(--shadow);background:#fffdf9d9;border-radius:22px;margin:36px auto 0;padding:28px}.save-panel h2{margin:0;font-family:Songti SC,SimSun,serif;font-size:30px}.save-panel p:not(.eyebrow):not(.form-error){color:var(--muted);line-height:1.8}.is-exporting{box-shadow:none}.image-preview-modal{z-index:50;color:#fff;background:#1c1918f0;flex-direction:column;display:flex;position:fixed;inset:0}.preview-header{background:#2d2927;justify-content:space-between;gap:14px;padding:18px;display:flex}.preview-header p{color:#c1b8b0;margin:5px 0 0;font-size:12px}.preview-header button{color:#fff;background:0 0;border:1px solid #fff3;border-radius:999px;padding:7px 14px}.preview-scroll{flex:1;padding:14px;overflow:auto}.preview-scroll>div{width:min(100%,620px);margin:0 auto 18px}.preview-scroll span{color:#c9b18e;margin-bottom:8px;font-size:12px;display:block}.preview-scroll img{width:100%;height:auto;display:block}@media (min-width:700px){.report-hero{grid-template-rows:1fr;grid-template-columns:44% 56%;min-height:620px}.report-hero-copy{flex-direction:column;justify-content:center;padding:50px;display:flex}.score-lockup{align-items:flex-start;margin-top:34px;position:static}.score-lockup strong{font-size:86px}.report-section{padding:54px 58px}.report-closing{padding:76px 58px 82px}}@media (max-width:520px){.detail-list.is-compact{grid-template-columns:1fr}}
