:root{--bg-paper: #f3efe4;--bg-wash: #e8efe8;--card: #faf7f0;--ink: #2c2a26;--ink-soft: #5c534a;--line: #d4c8b4;--dai-qing: #3d5a5b;--zhu-qing: #5a7a68;--zhu-qing-deep: #456355;--zhe-hong: #8f4e3c;--cha: #c4a574;--cha-deep: #a88858;--moon: rgba(255, 255, 255, .55);--shadow: 0 12px 40px rgba(44, 42, 38, .06);--radius: 4px;--font-display: "ZCOOL XiaoWei", "Noto Serif SC", "Songti SC", "SimSun", serif;--font-body: "Noto Serif SC", "Source Han Serif SC", "Songti SC", "SimSun", serif;--font-ui: "Noto Serif SC", "PingFang SC", "Microsoft YaHei", sans-serif}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.75;background:radial-gradient(ellipse 80% 50% at 50% -10%,var(--moon),transparent 55%),linear-gradient(165deg,var(--bg-wash) 0%,var(--bg-paper) 48%,#ebe4d4 100%);background-attachment:fixed}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");z-index:0}#root{position:relative;z-index:1}.skip-link{position:absolute;left:-999px;top:0;background:var(--dai-qing);color:#fff;padding:8px 12px;z-index:100}.skip-link:focus{left:12px;top:12px}.page{width:min(720px,100% - 32px);margin:0 auto;padding:28px 0 48px}.topbar{display:flex;align-items:center;margin-bottom:14px}.brand-link{border:none;background:transparent;color:var(--dai-qing);font-family:var(--font-display);font-size:1.05rem;cursor:pointer;padding:4px 0}.brand-link:hover,.brand-link:focus-visible{color:var(--zhe-hong);outline:none}.main-card{background:color-mix(in srgb,var(--card) 92%,white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(20px,4vw,36px);animation:rise-in .42s ease both}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.site-footer{margin-top:20px;text-align:center;color:var(--ink-soft);font-size:.85rem}.site-footer p{margin:0}.hero-panel{text-align:center;padding:12px 0 8px;position:relative}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;margin:0 auto 12px;border:2px solid var(--zhe-hong);color:var(--zhe-hong);font-family:var(--font-display);font-size:1.25rem;letter-spacing:.05em;opacity:.85;animation:seal-in .7s ease both}@keyframes seal-in{0%{opacity:0;transform:scale(.85) rotate(-8deg)}to{opacity:.85;transform:scale(1) rotate(0)}}.brand-title{margin:0;font-family:var(--font-display);font-size:clamp(2rem,6vw,2.75rem);font-weight:400;letter-spacing:.12em;color:var(--dai-qing)}.hero-lead{margin:16px auto 0;max-width:28em;color:var(--ink);font-size:1.05rem}.hero-note{margin:10px auto 22px;max-width:32em;color:var(--ink-soft);font-size:.92rem}.section{margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.section h2{margin:0 0 8px;font-family:var(--font-display);font-size:1.25rem;font-weight:400;letter-spacing:.08em;color:var(--dai-qing)}.section-lead{margin:0 0 12px;color:var(--ink-soft);font-size:.95rem}.muted-panel{background:color-mix(in srgb,var(--bg-wash) 55%,transparent);border:1px solid var(--line);border-top:1px solid var(--line);padding:18px 16px;margin-top:22px}.dim-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.dim-list li{display:grid;gap:2px;padding:10px 0;border-bottom:1px dashed color-mix(in srgb,var(--line) 80%,transparent)}.dim-list li:last-child{border-bottom:none}.dim-list strong{font-family:var(--font-display);letter-spacing:.06em;color:var(--zhu-qing-deep)}.dim-list span{color:var(--ink-soft);font-size:.92rem}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:var(--radius);padding:10px 18px;font-family:var(--font-ui);font-size:.95rem;letter-spacing:.06em;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--dai-qing);outline-offset:2px}.btn-primary{background:var(--zhu-qing);color:#f7faf7}.btn-primary:hover:not(:disabled){background:var(--zhu-qing-deep)}.btn-secondary{background:color-mix(in srgb,var(--cha) 55%,white);color:var(--ink);border-color:var(--line)}.btn-secondary:hover:not(:disabled){background:var(--cha)}.btn-ghost{background:transparent;color:var(--ink-soft);border-color:var(--line)}.btn-ghost:hover:not(:disabled){color:var(--dai-qing);border-color:var(--dai-qing)}.quiz-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.quiz-meta{margin:0;color:var(--ink-soft);font-size:.88rem}.progress-wrap{margin-bottom:18px}.progress-text{display:flex;justify-content:space-between;gap:12px;color:var(--ink-soft);font-size:.88rem;margin-bottom:6px}.progress-bar{height:6px;background:#e5dccb;border-radius:999px;overflow:hidden}.progress-inner{height:100%;background:linear-gradient(90deg,var(--zhu-qing),var(--dai-qing));transition:width .22s ease}.question-panel{padding:4px 0 8px}.question-title{margin:0 0 18px;font-size:clamp(1.05rem,2.8vw,1.2rem);font-weight:600;line-height:1.7;outline:none}.choices{display:grid;gap:10px}.choice-btn{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;width:100%;text-align:left;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);background:#fffdf8;color:var(--ink);font-family:var(--font-body);font-size:.98rem;line-height:1.55;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.choice-btn:hover{border-color:var(--zhu-qing)}.choice-btn:focus-visible{outline:2px solid var(--dai-qing);outline-offset:2px}.choice-btn.is-selected{border-color:var(--zhu-qing-deep);background:color-mix(in srgb,var(--bg-wash) 70%,#fff);box-shadow:inset 3px 0 0 var(--zhu-qing)}.form-error{margin:14px 0 0;color:var(--zhe-hong);font-size:.92rem}.question-nav{margin-top:20px;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px}.result-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.result-sheet{padding:8px 0}.result-header{text-align:center;margin-bottom:22px}.result-brand{margin:0;color:var(--ink-soft);letter-spacing:.2em;font-size:.8rem}.result-code{margin:10px 0 0;font-family:var(--font-display);font-size:1.15rem;letter-spacing:.18em;color:var(--dai-qing)}.result-code-sub{margin-left:6px;letter-spacing:.08em;color:var(--ink-soft);font-size:.85rem}.result-name{margin:12px 0 0;font-family:var(--font-display);font-size:clamp(1.8rem,5vw,2.4rem);font-weight:400;letter-spacing:.16em;color:var(--zhe-hong)}.result-summary{margin:10px auto 0;max-width:26em;color:var(--ink-soft)}.poem-block{margin:0 0 24px;padding:20px 18px;border-left:3px solid var(--cha);background:color-mix(in srgb,var(--bg-wash) 40%,transparent)}.poem-lines{margin:0;font-family:var(--font-display);font-size:clamp(1.05rem,2.6vw,1.25rem);line-height:1.9;letter-spacing:.04em}.poem-meta{margin-top:12px;color:var(--ink-soft);font-size:.9rem}.badge-pending{display:inline-block;margin-left:8px;padding:1px 8px;border:1px solid var(--zhe-hong);color:var(--zhe-hong);font-size:.75rem;letter-spacing:.04em}.result-section{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.result-section h2{margin:0 0 8px;font-family:var(--font-display);font-size:1.1rem;font-weight:400;letter-spacing:.1em;color:var(--dai-qing)}.result-section p{margin:0;color:var(--ink)}.tie-banner{margin:0 0 12px;padding:10px 12px;background:color-mix(in srgb,var(--cha) 22%,white);border:1px solid var(--line);font-size:.9rem;color:var(--ink-soft)}.tie-banner.quiet{background:transparent}.score-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.score-list li{padding:12px;border:1px solid var(--line);background:#fffdf8}.score-list li.is-tie{border-color:var(--cha-deep)}.score-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.side-pill{font-size:.78rem;letter-spacing:.06em;padding:2px 10px;border:1px solid var(--line);color:var(--ink-soft)}.side-left{border-color:var(--zhu-qing);color:var(--zhu-qing-deep)}.side-right{border-color:var(--dai-qing);color:var(--dai-qing)}.score-num{margin:6px 0 0!important;color:var(--ink-soft)!important;font-size:.9rem;font-variant-numeric:tabular-nums}.tie-note{margin:8px 0 0!important;font-size:.88rem!important;color:var(--zhe-hong)!important}.result-footer{margin-top:24px;padding-top:12px;border-top:1px dashed var(--line);text-align:center;color:var(--ink-soft);font-size:.82rem}@media(max-width:640px){.page{width:min(100% - 20px,720px);padding-top:18px}.main-card{padding:18px 16px 22px}.question-nav{justify-content:stretch}.question-nav .btn{flex:1}.result-actions .btn{flex:1 1 calc(50% - 8px)}}@media print{body{background:#fff}body:before{display:none}.page{width:100%;margin:0;padding:0}.main-card{box-shadow:none;border:none;padding:0}.no-print{display:none!important}.result-sheet,.poem-block,.score-list li,.result-section{break-inside:avoid}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}button{touch-action:manipulation}button:disabled{cursor:not-allowed}.page{width:min(780px,100% - 40px);padding-top:30px}.topbar{justify-content:space-between;margin-bottom:18px}.brand-link{font-family:Georgia,Songti SC,serif;letter-spacing:3px}.brand-link span{font-size:13px;letter-spacing:3px;margin-left:12px;padding-left:12px;border-left:1px solid var(--line)}.topbar-note{font-size:11px;color:var(--ink-soft);letter-spacing:2px}.main-card{padding:38px 40px;min-height:530px}.eyebrow{font-size:11px;letter-spacing:3px;color:var(--zhu-qing-deep);margin:8px 0 18px}.hero-panel{padding-top:0}.brand-mark{margin-bottom:12px}.brand-title{font-size:clamp(34px,6vw,48px);line-height:1.55;letter-spacing:4px}.brand-title span{color:var(--zhu-qing)}.hero-lead{font-size:14px;line-height:2.15;color:var(--ink-soft);margin-top:20px}.hero-note{font-size:11px;letter-spacing:1px;margin:14px 0 0}.start-button{padding:14px 25px;margin-top:25px;min-width:240px}.start-button span{margin-left:28px}.intro-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:32px}.intro-tiles article{padding:16px 8px;text-align:center;border:1px solid var(--line);background:#eee9dc}.intro-tiles article:nth-child(2){background:#e8efe8}.intro-tiles article:nth-child(3){background:#eee6df}.intro-tiles strong{display:block;font:30px Georgia,Songti SC,serif;color:var(--dai-qing)}.intro-tiles small{font-size:13px}.intro-tiles span{font-size:10px;color:var(--ink-soft);letter-spacing:1px}.muted-panel{margin-top:22px;padding:20px 22px}.muted-panel h2{font-size:18px}.muted-panel p{font-size:12px;line-height:2;margin-bottom:8px}.muted-panel p:last-child{margin:0}.quiz-toolbar .eyebrow{margin:0}.quiz-meta{font-size:10px}.progress-wrap{margin:22px 0 30px}.progress-text{font-size:11px;letter-spacing:1px;margin-bottom:10px}.quiz-progress{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;height:4px;border:0;background:#e5dccb}.quiz-progress::-webkit-progress-bar{background:#e5dccb}.quiz-progress::-webkit-progress-value{background:linear-gradient(90deg,var(--zhu-qing),var(--dai-qing))}.quiz-progress::-moz-progress-bar{background:var(--zhu-qing)}.question-title{font-size:clamp(22px,3.3vw,27px);font-weight:400;line-height:1.8;margin:0 0 9px}.question-hint{font-size:11px;color:var(--ink-soft);margin:0 0 25px}.choices{gap:12px}.choice-btn{align-items:center;padding:18px 17px;min-height:74px}.choice-number{font-size:20px;font-family:var(--font-display);color:var(--cha-deep);min-width:24px}.choice-label{flex:1;font-size:14px;line-height:1.9}.choice-check{color:var(--zhu-qing);align-self:center;font-size:17px}.choice-btn:disabled{cursor:default}.choice-btn.is-selected{background:#e7eee5}.question-nav{justify-content:space-between;align-items:center;flex-wrap:nowrap}.question-nav .btn{font-size:12px;padding:9px 12px}.auto-note{font-size:10px;color:var(--ink-soft);text-align:right;margin:0}.privacy{font-size:10px;color:var(--ink-soft);line-height:2;text-align:center;margin:28px 0 0}.form-error,.error{color:var(--zhe-hong)}.retry-panel{border:1px solid var(--line);padding:12px;margin-top:15px}.retry-panel p{margin-top:0}.retry-panel small{display:block;font-size:10px;margin-top:8px;color:var(--ink-soft)}.result-header{position:relative;margin:10px 0 30px;padding:0 15px}.result-code{font:11px var(--font-ui);letter-spacing:2px;margin-top:24px}.result-name{font-size:clamp(38px,7vw,52px);margin:16px 0;outline:none}.result-summary{font-size:14px;line-height:2;max-width:29em}.small-seal{display:inline-block;border:1px solid var(--zhe-hong);color:var(--zhe-hong);padding:2px 5px;font-size:10px;letter-spacing:2px;margin-top:18px}.poem-block{padding:28px 25px;margin:0 0 24px;background:#e8ede5}.poem-lines{font-size:clamp(19px,3.5vw,24px);line-height:2}.poem-meta{font-size:11px;line-height:2}.result-content{display:grid;grid-template-columns:1fr 1fr;gap:14px}.result-section{padding:22px 20px;margin:0;border:1px solid var(--line);background:#f0ece1}.result-section:nth-child(2){background:#ecefe6}.result-section:nth-child(3){background:#f1e9e0}.result-section:nth-child(4){background:#e9eee6}.section-number{font:12px Georgia,serif;color:var(--cha-deep)}.result-section h2{font-size:17px;margin:9px 0 12px;letter-spacing:1px}.result-section p{font-size:13px;line-height:2;color:var(--ink-soft);overflow-wrap:anywhere}.poet-panel{margin:24px 0;text-align:center;padding:18px;background:#eee8da;border-block:1px solid var(--line)}.poet-panel h2{font-size:11px;font-weight:400;color:var(--ink-soft);letter-spacing:2px;margin:0 0 8px}.poet-panel p{font-size:17px;color:var(--dai-qing);margin:0;letter-spacing:2px}.result-footer{margin:20px 0 24px}.result-footer p{font-size:13px}.result-footer small{font-size:10px}.result-actions{justify-content:center;margin:4px 0 13px}.result-actions .btn{font-size:12px;padding:12px 15px}.quiet-actions{display:flex;justify-content:center;gap:25px}.text-button,.feedback-entry{border:0;background:none;cursor:pointer;color:var(--ink-soft);font:11px var(--font-ui);padding:9px 3px}.feedback-entry{text-decoration:underline;text-underline-offset:4px}.site-footer{font-size:10px;line-height:2;margin-top:22px}.site-footer p:first-child{letter-spacing:3px}.site-footer .feedback-entry{font-size:10px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#263d36bb;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px}.modal{position:relative;width:min(100%,520px);max-height:90dvh;overflow:auto;background:var(--card);border:1px solid var(--line);box-shadow:0 20px 80px #172d2a44;padding:34px}.modal h2{font-size:25px;font-weight:400;letter-spacing:2px;color:var(--dai-qing);margin:8px 0 17px}.modal p{font-size:12px;line-height:2;color:var(--ink-soft)}.close{position:absolute;top:6px;right:13px;font-size:26px;background:none;border:0;cursor:pointer;color:var(--ink-soft)}.modal label{display:block;font-size:12px;color:var(--ink-soft);margin:16px 0 8px}.modal input,.modal textarea{width:100%;border:1px solid var(--line);background:#fffdf8;color:var(--ink);padding:13px;font:14px/1.7 var(--font-ui);margin:0 0 12px}.modal textarea{resize:vertical;min-height:150px}.primary{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:var(--radius);font:14px var(--font-ui);letter-spacing:1px;background:var(--zhu-qing);color:#fff;padding:14px 20px;cursor:pointer}.primary:hover:not(:disabled){background:var(--zhu-qing-deep)}.primary:disabled{opacity:.5}.modal .primary{width:100%}.modal .error{color:var(--zhe-hong);min-height:16px}.modal button:focus-visible,.text-button:focus-visible,.feedback-entry:focus-visible{outline:2px solid var(--dai-qing);outline-offset:3px}.poster-modal{text-align:center}.poster-preview{display:block;width:100%;height:52dvh;object-fit:contain;margin:12px 0 20px}.admin-modal{width:min(100%,700px)}.admin-modal pre{max-height:170px;overflow:auto;font-size:12px;padding:15px;background:var(--bg-wash)}.admin-list{max-height:220px;overflow:auto}.admin-list p{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:7px}.feedback-card{padding:14px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere;white-space:pre-wrap}.feedback-card small{font-size:10px;color:var(--ink-soft)}@media(max-width:640px){.page{width:calc(100% - 24px);padding-top:20px}.main-card{padding:27px 20px}.topbar-note{font-size:9px;letter-spacing:0}.brand-link{font-size:18px}.brand-link span{font-size:11px;margin-left:7px;padding-left:7px}.hero-lead{font-size:13px}.intro-tiles{gap:7px}.intro-tiles article{padding:14px 4px}.intro-tiles span{font-size:9px;letter-spacing:0}.muted-panel{padding:17px}.result-content{grid-template-columns:1fr}.result-section{padding:19px}.choice-btn{padding:14px 12px;gap:9px}.choice-label{font-size:13px}.choice-number{font-size:18px;min-width:18px}.question-nav .btn{flex:none}.auto-note{max-width:180px}.result-actions .btn{flex:1 1 calc(50% - 8px)}.modal{padding:28px 22px}.overlay{padding:13px}.quiz-meta{font-size:9px}.poem-block{padding:22px 18px}}@media print{.overlay,.feedback-entry{display:none!important}.main-card{min-height:0;padding:0}.result-header{margin-top:0}.result-content{gap:12px}.result-sheet{break-inside:auto}.result-section{padding:15px;break-inside:avoid}.result-actions,.quiet-actions{display:none}.result-name{font-size:36px}.poem-lines{font-size:20px}body{background:#fff}.page{width:100%;padding:0}.result-footer{margin-bottom:0}}.dimension-labels{list-style:none;padding:0;margin:13px 0 5px;display:flex;flex-wrap:wrap;justify-content:center;gap:0;font-size:12px;color:var(--dai-qing);letter-spacing:1px}.dimension-labels li+li:before{content:"·";margin:0 9px;color:var(--cha-deep)}.result-header .poem-block{margin:28px 0 24px}.poet-panel{background:transparent;border:0;padding:20px 0}.related-personalities{margin-top:24px}.poet-panel .poet-names{font-size:17px;line-height:1.9;color:var(--dai-qing);letter-spacing:2px;margin:0}.related-personalities ul{list-style:none;padding:0;display:flex;justify-content:center;flex-wrap:wrap;gap:0}.related-personalities li+li:before{content:"·";margin:0 10px;color:var(--dai-qing)}.resonance-note{display:block;font-size:10px;color:var(--ink-soft);margin-top:14px;letter-spacing:1px}.result-section p+p{margin-top:12px}@media(max-width:640px){.dimension-labels{font-size:11px;letter-spacing:0}.dimension-labels li+li:before{margin:0 6px}.poet-panel .poet-names{font-size:16px}}@media print{.poet-panel{break-inside:avoid}}
