:root{--cinnabar:#A63D2F;--cinnabar-deep:#8A3125;--cinnabar-soft:#F3E1DA;--ink:#2B2620;--ink-2:#6B6358;--ink-3:#9A9184;--bg:#F4EEDF;--card:#FFFFFF;--line:#E2D9C4;--gold:#A98A44;--ok:#4E7A4E;--warn:#B07B2E;--bad:#A63D2F;--serif:"Noto Serif SC","Songti SC","SimSun",serif;--sans:"PingFang SC","Microsoft YaHei","Hiragino Sans GB",sans-serif;}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--sans);background:var(--bg);color:var(--ink);line-height:1.65}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.topbar{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--line)}.topbar-in{max-width:1080px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:10px}.brand-logo{width:38px;height:38px;border-radius:10px;background:var(--cinnabar);color:#FDF8EE;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:900;font-size:20px}.brand-name{font-family:var(--serif);font-weight:700;font-size:17px;letter-spacing:.5px}.brand-sub{font-size:11px;color:var(--ink-3);letter-spacing:1.5px}.wrap{max-width:1080px;margin:0 auto;padding:16px 20px 46px}.view{display:none}.view.on{display:block}.page-kicker{font-size:12px;letter-spacing:3px;color:var(--cinnabar);font-weight:700}.page-title{font-family:var(--serif);font-weight:900;font-size:clamp(22px,3vw,28px);margin-top:2px;letter-spacing:1px}.idcard{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 18px;margin-top:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.idcard .cell .lb{font-size:12px;color:var(--ink-3);letter-spacing:1px}.idcard .cell .vl{font-size:16px;font-weight:700;margin-top:3px}.idcard .cell .vl small{font-size:12px;font-weight:400;color:var(--ink-3);margin-left:6px}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 26px;border-radius:10px;border:none;font-size:15px;font-weight:600;transition:all .15s}.btn-main{background:var(--cinnabar);color:#FDF8EE;box-shadow:0 4px 14px rgba(166,61,47,.25)}.btn-main:hover{background:var(--cinnabar-deep)}.btn-ghost{background:var(--card);border:1px solid var(--line);color:var(--ink-2)}.btn-ghost:hover{border-color:var(--cinnabar);color:var(--cinnabar)}.btn:disabled{opacity:.45;cursor:not-allowed}.rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-top:12px}.rule{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:11px 14px}.rule h4{font-family:var(--serif);font-size:15.5px;letter-spacing:.5px;display:flex;align-items:center;gap:8px}.rule h4 .no{background:var(--cinnabar-soft);color:var(--cinnabar);font-size:12px;padding:2px 9px;border-radius:999px;font-weight:700}.rule p{font-size:13.5px;color:var(--ink-2);margin-top:8px;line-height:1.8}.room-card{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-top:20px;overflow:hidden}.room-top{padding:16px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;flex-wrap:wrap}.pbar{flex:1;min-width:140px;height:8px;background:var(--bg);border-radius:999px;overflow:hidden}.pbar i{display:block;height:100%;background:var(--cinnabar);border-radius:999px;transition:width .3s}.room-body{padding:24px 22px}.q-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.q-meta .tg{font-size:11.5px;padding:2px 10px;border-radius:999px;border:1px solid var(--line);color:var(--ink-2);letter-spacing:1px}.q-meta .tg.s{background:#FDF3E3;border-color:#E8CF9F;color:#8A6420}.q-meta .tg.u{background:#F3E8F5;border-color:#D8BFDE;color:#6E3F7A}.q-meta .tg.c{background:#EAF3EC;border-color:#BFD8C6;color:#3E6B4A}.q-meta .tg.wrong-tag{background:#FDF3E3;border-color:#D9A96A;color:#8A6420;font-weight:700}.q-meta .tg.wt-tag{background:#F1E8F7;border-color:#D3BEE4;color:#6B4A86;font-weight:700}.q-text{font-family:var(--serif);font-size:18.5px;line-height:2;letter-spacing:.5px}.ans-area{margin-top:18px}.ans-area label{font-size:12.5px;color:var(--ink-3);letter-spacing:1px;display:block;margin-bottom:8px}.ans-area textarea{width:100%;min-height:120px;border:1px solid var(--line);border-radius:10px;padding:14px 16px;font-size:15px;font-family:inherit;background:#FDFBF5;resize:vertical;line-height:1.8;outline:none;transition:border .15s}.ans-area textarea:focus{border-color:var(--cinnabar)}.rep{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-top:20px;overflow:hidden}.rep-head{background:linear-gradient(135deg,#3E2F26,#6B5138);color:#F7F0E2;padding:26px 28px}.rep-head .k{font-size:12px;letter-spacing:3px;color:#E8B04B}.rep-head h2{font-family:var(--serif);font-weight:900;font-size:26px;margin-top:6px;letter-spacing:1px}.rep-head .sub{font-size:13px;color:rgba(247,240,226,.75);margin-top:6px}.grade-row{display:flex;align-items:center;gap:20px;margin-top:18px;flex-wrap:wrap}.grade-badge{width:96px;height:96px;border-radius:50%;border:5px solid #E8B04B;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(255,255,255,.1)}.grade-badge b{font-size:36px;font-family:var(--serif);line-height:1}.grade-badge span{font-size:11px;color:#E8B04B;margin-top:3px;letter-spacing:2px}.grade-words{font-size:14.5px;color:rgba(247,240,226,.92);max-width:520px;line-height:1.9}.rep-sec{padding:24px 28px;border-top:1px solid var(--line)}.rep-sec h3{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:19px;letter-spacing:1px}.rep-sec h3 .no{background:var(--cinnabar);color:#FDF8EE;width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}.rep-sec h3 small{font-size:12px;color:var(--ink-3);font-weight:400;letter-spacing:.5px}.dims{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin-top:18px}.dim-card{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:#FDFBF5}.dim-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.dim-top b{font-size:14.5px}.dim-top .lv{font-size:12px;padding:2px 10px;border-radius:999px}.dim-top .lv.keep{background:#EAF3EC;color:#3E6B4A}.dim-top .lv.todo{background:#FDF3E3;color:#8A6420}.dim-bar{height:9px;background:var(--bg);border-radius:999px;margin-top:10px;overflow:hidden}.dim-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--cinnabar),#C96A52);transition:width .6s}.dim-note{font-size:12px;color:var(--ink-3);margin-top:7px;letter-spacing:.3px}.dim-ev{font-size:12px;color:var(--ink-2);margin-top:8px;background:#FBF3E4;border-radius:6px;padding:7px 10px;line-height:1.7}.dim-sum{font-size:13px;color:var(--ink-2);background:#FDF3E3;border-radius:8px;padding:9px 13px;margin-bottom:12px;line-height:1.8}.weak{border:1px solid var(--line);border-left:4px solid var(--warn);border-radius:10px;padding:14px 18px;margin-top:14px;background:#FDFBF5}.weak .w-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.weak .w-id{font-family:var(--serif);font-weight:900;font-size:16px;color:var(--warn)}.weak .w-name{font-size:15px;font-weight:700}.weak .w-pri{font-size:11.5px;background:var(--cinnabar-soft);color:var(--cinnabar);padding:2px 10px;border-radius:999px}.weak .w-trend{font-size:12.5px;color:var(--ink-2);margin-top:8px;line-height:1.8}.weak .w-q{margin-top:10px;font-size:13.5px;color:var(--ink-2)}.weak .w-q b{color:var(--ink)}.wrong-badge{display:inline-block;margin-left:10px;font-size:11.5px;font-weight:600;color:#8A6420;background:#FDF3E3;border:1px solid #E8CF9F;border-radius:999px;padding:1px 10px;white-space:nowrap}.weak .w-ans{background:#fff;border:1px dashed var(--line);border-radius:8px;padding:10px 14px;margin-top:8px;font-size:13.5px;color:var(--ink-2);line-height:1.8}.weak .w-obs{margin-top:8px;font-size:12.5px;color:var(--gold);line-height:1.8}.rounds{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:18px}.round-card{border:1px solid var(--line);border-radius:12px;padding:16px 18px;background:#FDFBF5;position:relative}.round-card b{display:block;font-size:30px;font-family:var(--serif);color:var(--cinnabar);line-height:1.1}.round-card .rn{font-size:13px;font-weight:700;letter-spacing:1px}.round-card .rc{font-size:12px;color:var(--ink-3);margin-top:4px}.delta{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:16px}.delta .box{border-radius:10px;padding:13px 16px;font-size:13px;line-height:1.8}.delta .box b{display:block;font-size:14px;margin-bottom:4px}.delta .good{background:#EAF3EC;color:#3E6B4A}.delta .mid{background:#F3F1EA;color:var(--ink-2)}.delta .bad{background:#FDF3E3;color:#8A6420}.rx{border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin-top:14px;background:#FDFBF5}.rx h5{font-family:var(--serif);font-size:16px;color:var(--cinnabar);letter-spacing:.5px}.rx .g{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:10px}.rx .g div{background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 13px;font-size:13px}.rx .g div b{display:block;font-size:12px;color:var(--ink-3);letter-spacing:1px;margin-bottom:3px}.sign{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:20px;padding:16px 2px}.sign div b{display:block;font-size:12px;color:var(--ink-3);letter-spacing:1px}.sign .blank{border-bottom:1px solid var(--ink-2);margin-top:8px;padding-bottom:4px;font-size:14px;min-height:24px}.arch{text-align:right;font-size:12px;color:var(--ink-3);letter-spacing:.5px;margin-top:14px}.ans-card{border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin-top:12px;background:#FDFBF5}.ans-q{font-size:14.5px;font-weight:600;line-height:1.8}.ans-hit{font-size:12px;font-weight:400;color:var(--cinnabar);background:var(--cinnabar-soft);border-radius:999px;padding:1px 10px;margin-left:8px;white-space:nowrap}.ans-q b{color:var(--cinnabar);margin-right:6px}.ans-yours{margin-top:8px;font-size:13px;color:var(--ink-2);line-height:1.8}.ans-frame{margin-top:8px;font-size:13px;color:#2F5D33;line-height:1.8;background:#EAF3EC;border-radius:8px;padding:8px 12px}.ans-std{margin-top:8px;font-size:13px;color:#7A4A2B;line-height:1.9;background:#FBF3E4;border:1px solid #E8CF9F;border-radius:8px;padding:8px 12px}.ans-ref{margin-top:8px;font-size:13px;color:var(--ink-2);line-height:1.9;background:#fff;border:1px dashed var(--line);border-radius:8px;padding:8px 12px}.hist-list{display:flex;flex-direction:column;gap:8px;margin-top:16px}.hist-item{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:10px;padding:10px 16px;background:#FDFBF5;cursor:pointer;transition:all .15s}.hist-item:hover{border-color:var(--cinnabar)}.hist-item.on{border-color:var(--cinnabar);background:var(--cinnabar-soft)}.sess-tag{font-size:12px;font-weight:700;letter-spacing:1px;margin:10px 0 2px;display:flex;align-items:baseline;gap:8px}.sess-tag.cur{color:var(--cinnabar)}.sess-tag.prev{color:var(--ink-3)}.sess-tag span{font-size:11px;font-weight:400;color:var(--ink-3);letter-spacing:.5px}.hist-item.sess-cur{border-left:4px solid var(--cinnabar);background:#FBF5F0}.hist-item.sess-prev{border-left:4px solid #CFC6B5;background:#FAF8F2;opacity:.9}.hist-item.sess-cur.on{border-color:var(--cinnabar);border-left-width:4px;background:var(--cinnabar-soft)}.hist-item.sess-prev.on{border-color:#CFC6B5;border-left-width:4px;background:#F0E9DC}.hist-empty{font-size:13px;color:var(--ink-3);padding:12px 2px}.hist-time{font-size:12.5px;color:var(--ink-3);min-width:96px}.hist-mid{font-size:13.5px;font-weight:600}.hist-score{margin-left:auto;font-size:13px;color:var(--ink-2)}.hist-score b{font-family:var(--serif);font-size:20px;color:var(--cinnabar)}.hist-lv{display:inline-block;min-width:22px;text-align:center;background:var(--cinnabar);color:#FDF8EE;border-radius:6px;font-size:12px;font-weight:700;padding:1px 6px;margin-left:6px}.hist-clear{margin-top:12px;text-align:right}.hist-note{font-size:12px;color:var(--ink-3);margin-top:10px;line-height:1.7}.fu-q{color:#7A3B2E;border-left:3px solid var(--cinnabar);padding-left:12px}.fu-tag{background:var(--cinnabar);color:#FDF8EE!important}.ai-fu-tag{background:#3B5BDB;color:#fff!important}.ai-tag{display:inline-block;background:#3B5BDB;color:#fff;font-size:11px;padding:0 7px;border-radius:6px;margin-right:6px;font-weight:700;letter-spacing:.5px}.ai-note{font-size:12.5px;color:var(--ink-2);line-height:1.9;background:#FDF3E3;border-radius:8px;padding:10px 14px;margin-top:10px}.ai-state{font-size:13px;margin-top:8px;font-weight:600}.ai-state.ok{color:var(--ok)}.ai-state.warn{color:#8A6420}.empty{text-align:center;padding:60px 20px;color:var(--ink-3)}.empty b{display:block;font-family:var(--serif);font-size:20px;color:var(--ink-2);margin-top:10px}.foot{margin-top:5px;border-top:1px solid var(--line);padding-top:12px;text-align:center;font-size:12px;color:var(--ink-3);letter-spacing:.5px}@media(max-width:720px){.rep-sec{padding:20px 16px}}
.cmp-hero{background:linear-gradient(135deg,#3E2F26,#5A4333);border-radius:12px;padding:16px 20px;color:#F7F0E2;margin-top:16px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.cmp-hero b{font-family:var(--serif);font-size:26px;color:#E8B04B}.cmp-hero.down b{color:#F0B9A8}.cmp-hero span{font-size:12.5px;color:rgba(247,240,226,.8)}.cmp-box{border:1px solid var(--line);border-radius:10px;margin-top:12px;overflow:hidden}.cmp-title{font-size:12.5px;color:var(--ink-3);letter-spacing:1px;background:var(--bg);padding:8px 16px;border-bottom:1px solid var(--line)}.cmp-row{display:flex;align-items:center;gap:14px;padding:9px 16px;font-size:13.5px;border-bottom:1px solid var(--line)}.cmp-row:last-child{border-bottom:none}.cmp-k{min-width:150px;font-weight:600}.cmp-v{color:var(--ink-2)}.cmp-d{margin-left:auto;font-weight:700;font-size:13px}.cmp-d.up{color:var(--ok)}.cmp-d.down{color:var(--bad)}.cmp-d.same{color:var(--ink-3);font-weight:400}.cmp-note{font-size:12px;color:var(--ink-3);margin-top:12px;line-height:1.7}.cmp-note.cmp-ok{color:#2F5D33;background:rgba(52,132,88,.07);border-left:3px solid var(--ok);padding:8px 12px;border-radius:6px;margin-top:12px}.cmp-note.cmp-bad{color:#9B3A22;background:rgba(199,62,38,.06);border-left:3px solid var(--bad);padding:8px 12px;border-radius:6px;margin-top:12px}
.user-chip{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#2B2620;margin-left:auto;padding:6px 12px;background:var(--bg);border:1px solid var(--line);border-radius:999px}.user-chip .u-ph{font-weight:700;color:var(--cinnabar)}.user-chip .u-card{font-size:12px;color:var(--ink-2);background:rgba(166,61,47,.08);border-radius:999px;padding:2px 10px}.user-chip .u-out{background:transparent;border:1px solid var(--line);color:var(--ink-2);border-radius:999px;padding:2px 10px;font-size:12px;cursor:pointer}.btn-lg{width:100%;padding:12px;font-size:15px;margin-top:4px;justify-content:center}
.tech-btns{display:flex;gap:10px;flex-wrap:wrap}
.tech-btn{padding:12px 26px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;font-size:15px;font-weight:600;color:#2B2620;font-family:inherit}
.tech-btn:hover{border-color:var(--cinnabar)}
.tech-btn.on{border-color:var(--cinnabar);background:var(--cinnabar);color:#FDF8EE}
.disease-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:12px;max-height:340px;overflow:auto;padding:2px}
.disease-card{text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;font-size:13px;font-family:inherit;color:#2B2620}
.disease-card b{display:block;font-size:14.5px}
.disease-card i{display:inline-block;font-style:normal;background:#F5EFE6;color:var(--ink-2);border-radius:5px;padding:1px 7px;margin-top:4px;font-size:11.5px}
.disease-card .cnt{display:block;margin-top:6px;font-size:11.5px;color:var(--ink-3)}
.disease-card:hover{border-color:var(--cinnabar)}
.disease-card.on{border-color:var(--cinnabar)}
/* 鍗″瘑鐧诲綍椤碉紙鍙傝€?cp.jxhy-edu.com 棣栭〉 entry 甯冨眬锛岄厤鑹叉部鐢ㄦ湰绯荤粺鑹叉澘锛?*/
.entry{max-width:460px;margin:6vh auto 0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:40px 36px;text-align:center;box-shadow:0 10px 28px rgba(62,47,38,.08)}
.entry .entry-symbol{display:flex;justify-content:center;margin-bottom:6px}
.entry .brand-logo.lg{width:64px;height:64px;border-radius:18px;font-size:28px;letter-spacing:0}
.entry .eyebrow{font-size:12px;letter-spacing:3px;color:var(--cinnabar);font-weight:700;margin-top:8px}
.entry h1{font-family:var(--serif);font-weight:900;font-size:clamp(26px,4vw,32px);margin-top:8px;line-height:1.4;letter-spacing:1px}
.entry h1 span{color:var(--cinnabar)}
.entry .intro{color:var(--ink-2);font-size:14px;margin-top:10px;letter-spacing:2px}
.entry-form{text-align:left;margin-top:24px}
.entry-form label{display:block;font-size:13px;color:var(--ink-2);margin:14px 0 6px;font-weight:600}
.entry-form input{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:15px;font-family:inherit;outline:none;background:#FDFBF5;transition:border .15s}
.entry-form input:focus{border-color:var(--cinnabar)}
.entry-form .primary{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:22px;padding:13px;border:none;border-radius:10px;background:var(--cinnabar);color:#FDF8EE;font-size:15.5px;font-weight:700;cursor:pointer;transition:all .15s;font-family:inherit;box-shadow:0 4px 14px rgba(166,61,47,.22)}
.entry-form .primary:hover{background:var(--cinnabar-deep)}
.entry-form .field-error{color:var(--bad);font-size:13px;min-height:20px;margin-top:10px;text-align:center}
.entry-steps{display:flex;justify-content:center;gap:14px;margin-top:26px;flex-wrap:wrap}
.entry-steps span{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink-3)}
.entry-steps b{font-family:var(--serif);font-size:15px;color:var(--cinnabar);font-weight:900}
.entry .fine{color:var(--ink-3);font-size:12px;margin-top:22px;line-height:1.8}
/* 鍔犺浇閬僵锛氬垵濮嬪寲瀹屾垚鍓嶈鐩栧叏灞忥紝閬垮厤闂櫥褰曢〉 */
.boot{position:fixed;inset:0;z-index:9999;background:var(--bg);display:flex;align-items:center;justify-content:center}
.boot-in{display:flex;align-items:center;gap:12px;color:var(--ink-2);font-size:14px;letter-spacing:1px}
.boot-dot{width:22px;height:22px;border-radius:50%;border:3px solid var(--cinnabar-soft);border-top-color:var(--cinnabar);animation:tjspin .8s linear infinite}
/* 鍒嗘鍚戝 wizard */
.wizard{margin:12px 0;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}
.wz-steps{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:14px;padding-bottom:12px;border-bottom:1px dashed var(--line)}
.wz-step{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--ink-3);padding:6px 12px;border-radius:999px;background:var(--bg);border:1px solid transparent}
.wz-step b{font-family:var(--serif);font-weight:900;color:var(--ink-3)}
.wz-step em{font-style:normal;font-size:11px;opacity:.7;margin-left:2px}
.wz-step.on{background:var(--cinnabar-soft);color:var(--cinnabar);font-weight:600;border-color:rgba(183,86,48,.25)}
.wz-step.on b{color:var(--cinnabar)}
.wz-step.done{color:var(--ink-2)}
.wz-step.done b{color:var(--ok)}
.wz-page h4{margin:4px 0 10px;font-size:15px;font-weight:700}
.wz-page h4 em,.wz-sub h4 em{font-style:normal;font-size:12px;font-weight:400;color:var(--ink-3)}
.wz-page textarea,.wz-sub textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:14px;font-family:inherit;background:#fff;resize:vertical;outline:none;box-sizing:border-box}
.wz-page textarea:focus,.wz-sub textarea:focus{border-color:var(--cinnabar)}
.wz-page .step-nav{display:flex;align-items:center;gap:10px;margin-top:16px;flex-wrap:wrap}
.wz-page .step-hint{font-size:12.5px;color:var(--ink-3);margin-left:auto;line-height:1.7}
.wz-hint{font-size:12.5px;color:var(--ink-3);margin:0 0 12px;line-height:1.7}
.wz-sub{margin-top:16px;padding-top:14px;border-top:1px dashed var(--line)}
.wz-sub h4{margin:0 0 10px;font-size:14px;font-weight:700}
.wz-sub-row{display:flex;align-items:center;gap:12px;margin-top:10px;flex-wrap:wrap}
.wz-state{font-size:12.5px;color:var(--ink-3)}
.wz-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.wz-actions .btn{flex:1 1 calc(50% - 10px);justify-content:center}
.wz-lock{margin-top:10px;padding:10px 14px;border-radius:8px;background:var(--cinnabar-soft);color:var(--cinnabar);font-size:13px;font-weight:600}
.rep-retrain{margin:16px 0 0;text-align:center}
.rep-retrain .btn{padding:12px 34px;font-size:15px}
.rep-lock{margin-top:14px;padding:12px 16px;border-radius:10px;background:var(--cinnabar-soft);color:var(--cinnabar);font-size:13.5px;font-weight:600;text-align:center}
.spinner{width:38px;height:38px;border:4px solid rgba(183,86,48,.18);border-top-color:var(--cinnabar);border-radius:50%;animation:tjspin 1s linear infinite}
@keyframes tjspin{to{transform:rotate(360deg)}}

/* ===== hub / hook ===== */
.hub-head{padding:8px}
.hub-head h1{font-size:26px;line-height:1.3;margin:6px 0 10px;color:var(--ink-1,#1e1e1e)}
.small-intro{font-size:14px;color:var(--ink-2,#555);max-width:520px;line-height:1.7}
.hook-hero{background:linear-gradient(180deg,#fdf6f3,var(--cinnabar-soft,#fdf3f0));border:1px solid #ecd9d2;border-radius:16px;padding:26px 24px;margin:10px 0 16px}
.hook-hero h1{font-size:24px;line-height:1.35;color:var(--ink-1,#1e1e1e);margin:6px 0 10px}
.hook-hero h1 span{color:var(--cinnabar,#a63d2f)}
.hook-hero>p{color:var(--ink-2,#555);font-size:14px;line-height:1.7}
.hook-personal{margin-top:16px;background:#fff;border:1px solid #ecd9d2;border-radius:12px;padding:14px 16px}
.hook-personal h4{font-size:15px;margin-bottom:8px}
.hook-personal h4 small{font-weight:400;color:var(--ink-3,#888);font-size:12px}
.hook-personal ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px}
.hook-personal li{font-size:13.5px;line-height:1.7;color:var(--ink-2,#555);padding-left:16px;position:relative}
.hook-personal li::before{content:"";position:absolute;left:2px;top:9px;width:7px;height:7px;border-radius:50%;background:var(--cinnabar,#a63d2f)}
.hook-personal>p{font-size:13.5px;color:var(--ink-3,#888)}
.hook-path{margin:22px 0}
.hook-path h2{font-size:20px;color:var(--ink-1,#1e1e1e);margin-bottom:14px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:760px){.service-grid{grid-template-columns:1fr}}
.service-grid article{background:#fff;border:1px solid #e6ddd8;border-radius:14px;padding:16px}
.service-grid article span{display:inline-block;background:var(--cinnabar-soft,#fdf3f0);color:var(--cinnabar,#a63d2f);border-radius:8px;font-weight:700;font-size:12.5px;padding:2px 9px}
.service-grid article h3{font-size:15.5px;margin:10px 0 6px}
.service-grid article p{font-size:13.5px;color:var(--ink-2,#555);line-height:1.65;margin:0 0 8px}
.service-grid article small{color:var(--ink-3,#888);font-size:12.5px}
.hook-cta{background:linear-gradient(180deg,#fdf6f3,var(--cinnabar-soft,#fdf3f0));border:1px solid #ecd9d2;border-radius:16px;padding:22px 24px;text-align:center;margin-bottom:18px}
.hook-cta h2{font-size:20px;line-height:1.4;margin:6px 0 14px}
.hook-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

/* ===== 涓汉涓績 profile ===== */
.pf-grid{display:flex;flex-direction:column;gap:12px;margin:6px 0 24px}
.pf-card{background:#fff;border:1px solid #e6ddd8;border-radius:14px;padding:14px 16px;transition:.15s}
.pf-card.open{border-color:var(--cinnabar,#a63d2f);box-shadow:0 2px 12px rgba(166,61,47,.08)}
.pf-head{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;padding:0;font-family:var(--font);font-size:15px;cursor:pointer;color:var(--ink-1,#1e1e1e);text-align:left}
.pf-head b{flex:1;font-weight:700}
.pf-arrow{font-style:normal;font-size:12.5px;color:var(--ink-3,#888)}
.pf-badge{font-style:normal;font-size:12px;font-weight:700;border-radius:10px;padding:2px 10px;white-space:nowrap}
.pf-badge.ok{background:#eef5ea;color:#3c7a3a}
.pf-badge.warn{background:var(--cinnabar-soft,#fdf3f0);color:var(--cinnabar,#a63d2f)}
.pf-val{margin-top:10px;font-size:14px;line-height:1.7;color:var(--ink-2,#555);background:var(--paper-soft,#faf6f2);border:1px solid #f0e6e0;border-radius:10px;padding:10px 12px;white-space:pre-wrap;max-height:110px;overflow:auto}
.pf-val.none{color:var(--ink-3,#888);font-style:italic}
.pf-note{font-size:12.5px;color:var(--ink-3,#888);margin:8px 0 0;line-height:1.6}
.pf-open{margin-top:12px;display:flex;flex-direction:column;gap:10px}
.pf-open textarea{width:100%;box-sizing:border-box;border:1px solid #e0d5cf;border-radius:10px;padding:10px 12px;font-family:var(--font);font-size:13.5px;line-height:1.7;resize:vertical;background:#fff}
.pf-open textarea[disabled], .pf-open input[disabled]{background:#f0eeea;color:#a49f99;cursor:not-allowed}
.pf-lock{background:#f0eeea;border:1px dashed #d5ccc2;border-radius:8px;padding:8px 12px;font-size:12.5px;color:#8d857d;text-align:center}
.pf-link{margin:2px 0 4px}
.pf-link a{color:#a63d2f;font-size:12.5px;text-decoration:none;border-bottom:1px dashed #c96a4e}
.pf-link a:hover{color:#7e2a1f}
.pf-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pf-row .ai-state{font-size:12.5px}
.pf-score{background:var(--paper-soft,#faf6f2);border:1px solid #f0e6e0;border-radius:10px;padding:12px 14px}
.pf-score-line{display:flex;justify-content:space-between;align-items:baseline;font-size:13.5px;color:var(--ink-2,#555);margin-bottom:6px}
.pf-score-line b{color:var(--cinnabar,#a63d2f);font-size:17px}
.pf-score-bar{height:8px;background:#e9dfd9;border-radius:6px;overflow:hidden}
.pf-score-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--cinnabar,#a63d2f),#c96a4e);border-radius:6px;transition:width .3s}
.pf-score ul{margin:10px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.pf-score li{font-size:12px;color:var(--ink-2,#555);background:#fff;border:1px solid #e6ddd8;border-radius:8px;padding:3px 9px}

/* ===== home 榧撳姳鍗?+ 璧勬牸璇佸嵃绔?===== */
.encourage{display:flex;align-items:center;gap:20px;background:linear-gradient(135deg,#fff,var(--cinnabar-soft,#fdf3f0));border:1px solid #ecd9d2;border-radius:16px;padding:22px 24px;margin:8px 0 14px;position:relative;overflow:hidden;min-height:232px}
.encourage::after{content:"";position:absolute;right:-70px;top:-70px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(166,61,47,.08),transparent 70%)}
.enc-text{flex:1;position:relative;z-index:1;padding-right:220px}
.enc-text h2{font-size:22px;line-height:1.4;color:var(--ink-1,#1e1e1e);margin:6px 0 10px}
.enc-text p{font-size:14px;line-height:1.8;color:var(--ink-2,#555);max-width:560px;margin:0}
.enc-text p b{color:var(--cinnabar,#a63d2f)}
@media(max-width:700px){.encourage{flex-direction:column;text-align:center}.enc-text p{max-width:none}.enc-text{padding-right:0}.enc-seal{display:none}}
.idcard{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#e6ddd8;border:1px solid #e6ddd8;border-radius:14px;overflow:hidden;margin:0 0 14px}
@media(max-width:760px){.idcard{grid-template-columns:repeat(2,1fr)}}
.idcard .cell{background:#fff;padding:12px 14px}
.idcard .lb{font-size:12px;color:var(--ink-3,#888);margin-bottom:4px}
.idcard .vl{font-size:14.5px;font-weight:700;color:var(--ink-1,#1e1e1e)}
.enc-seal-img{width:170px;height:auto;max-height:122px;object-fit:cover;border-radius:10px;box-shadow:0 4px 14px rgba(0,0,0,.16);display:block}

/* 璧勬牸璇佸浘锛氶€忚鏀惧ぇ銆佸簳灞傝楗般€佺澶嶅埗 */
 .enc-seal{position:absolute;right:6px;top:10px;bottom:10px;z-index:0;pointer-events:none;user-select:none;-webkit-user-drag:none;opacity:.95}
.enc-seal-img{height:100%;width:auto;max-height:none;max-width:340px;object-fit:contain;transform:perspective(900px) rotateY(-14deg) rotateZ(-2deg);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.22);filter:saturate(.96);display:block}
.enc-text{position:relative;z-index:1}

.disease-card em{display:block;font-style:normal;font-size:11px;color:var(--cinnabar,#a63d2f);opacity:.75;margin-bottom:3px;letter-spacing:.5px}

/* ---- H5 绔叏灞忚嚜閫傚簲锛氭拺婊′竴灞忋€侀殣钘忔粴鍔ㄦ潯 ---- */
@media(max-width:760px){
  html,body{height:100vh;height:100dvh;overflow:hidden}
  #app{height:100vh;height:100dvh;display:flex;flex-direction:column}
  #app>div{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}
  .topbar,.foot{flex:none}
  .topbar-in{padding:8px 12px;gap:8px}
  .brand-sub{display:none}
  .brand-name{font-size:15px}
  main.wrap{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;padding:0 10px 0}
  .view{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .view::-webkit-scrollbar{display:none}
  .entry{margin:3vh auto 0;padding:28px 24px}

  /* home 椤靛帇缂╋細鍏抽敭鎸夐挳淇濇寔鍦ㄩ灞?*/
  .hub-head{display:none}
  .small-intro{font-size:11.5px;line-height:1.4}
  .idcard{padding:4px 10px;margin-top:4px;border-radius:10px}
  .idcard .cell{padding:4px 8px}
  .idcard .vl{font-size:13px}
  .enc-seal{display:block;position:absolute;inset:0;z-index:0;opacity:.15;pointer-events:none;user-select:none;-webkit-user-drag:none}
  .enc-seal-img{width:100%;height:100%;object-fit:cover;max-width:none;max-height:none;transform:none;border-radius:0;box-shadow:none;filter:saturate(.96)}
  .wizard{margin-top:2px}
  .wz-actions{flex-wrap:wrap;margin-top:6px}
  .wz-actions .btn{flex:1 1 calc(50% - 6px);padding:9px 10px;font-size:13.5px}
  .wz-actions .btn-main{padding:11px 14px;font-size:14px}
  .rules{grid-template-columns:1fr;gap:4px;margin-top:6px}
  .rule{padding:6px 8px}
  .rule h4{font-size:13px}
  .rule p{font-size:11.5px;line-height:1.5;margin-top:3px}

  /* home 鍖哄潡闂磋窛鍘嬬缉锛氬崱鐗囥€侀紦鍔卞崱銆佹寜閽€佽鍒欐暣浣撴敹绱?*/
  .idcard{margin-bottom:6px}
  .encourage{margin:6px 0 10px;padding:15px 16px 12px;gap:10px;min-height:0}
  .encourage .eyebrow{margin:0 0 2px;font-size:11px}
  .enc-text h2{font-size:18px;line-height:1.35;margin:2px 0 6px}
  .enc-text p{font-size:12.5px;line-height:1.6}
  .wizard{margin:2px 0 10px;padding:2px}
  .wz-actions{margin-top:8px}
  .rules{margin-top:4px}
  .rule{margin-bottom:2px}
}

/* room theme - 瀵规爣 jxhy demo-room 澧ㄧ豢鑰冨満 */
   .room-theme .room-card{background:transparent;border:none;border-radius:0;box-shadow:none}
.room-theme .room-top{border-bottom:1px solid var(--line);padding:10px 6px 8px}
.room-theme .room-count{font-size:12.5px;color:var(--ink-3)}
.room-theme .pbar{background:var(--bg)}
.room-theme .pbar i{background:var(--cinnabar)}
.room-theme .room-body{padding:8px 6px 16px}
.room-theme .voice-orbit{width:150px;height:150px;border-radius:50%;border:1px solid rgba(166,61,47,.18);box-shadow:0 0 60px rgba(166,61,47,.06),inset 0 0 30px rgba(166,61,47,.03);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;position:relative;flex:none}
.room-theme .voice-orbit .voice-core{width:96px;height:96px;border-radius:50%;border:1px solid rgba(166,61,47,.24);display:flex;align-items:center;justify-content:center}
.room-theme .voice-orbit .voice-bar{width:4px;height:30px;border-radius:3px;background:var(--cinnabar);margin:0 4px;animation:voiceBar .85s ease-in-out infinite alternate}
.room-theme .voice-orbit .voice-bar.b2{animation-delay:.22s}
.room-theme .voice-orbit .voice-bar.b3{animation-delay:.44s}
@keyframes voiceBar{from{transform:scaleY(.35)}to{transform:scaleY(1)}}@keyframes recPulse{0%,100%{box-shadow:0 0 0 0 rgba(166,61,47,.28)}50%{box-shadow:0 0 0 14px rgba(166,61,47,0)}}
.room-theme .voice-orbit.hide-orbit{display:none}
.room-theme .q-meta .tg{color:var(--ink-2);border-color:var(--line)}
.room-theme .q-meta .tg.s{background:#FDF3E3;border-color:#E8CF9F;color:#8A6420}
.room-theme .q-meta .tg.u{background:#F3E8F5;border-color:#D8BFDE;color:#6E3F7A}
.room-theme .q-meta .tg.c{background:#EAF3EC;border-color:#BFD8C6;color:#3E6B4A}
.room-theme .q-meta .tg.wrong-tag{background:#FDF3E3;border-color:#D9A96A;color:#8A6420;font-weight:700}
.room-theme .q-meta .tg.wt-tag{background:#F1E8F7;border-color:#D3BEE4;color:#6B4A86;font-weight:700}
.room-theme .q-meta .tg.origin-tag{background:#EAF3EA;border-color:#B5D3B5;color:#3E6B3E;font-weight:700}
.room-theme .q-meta .fu-tag{background:var(--cinnabar);border-color:var(--cinnabar);color:#FDF8EE}
.room-theme .q-meta .ai-fu-tag{background:#3B5BDB;border-color:#3B5BDB;color:#fff}
.room-theme .q-text{color:var(--ink)}
.room-theme .ans-area label{color:var(--ink-3)}
.room-theme .mic-guide-box{margin-top:10px;padding:10px 12px;border:1px solid rgba(166,61,47,.25);background:rgba(166,61,47,.05);border-radius:10px;font-size:12.5px;line-height:1.7;color:var(--cinnabar)}
.room-theme .room-top{display:flex;flex-direction:column;align-items:center;gap:8px}
.room-theme .room-leave{background:none;border:0;color:var(--ink-2);font-size:13px;padding:2px 0;cursor:pointer;align-self:flex-start;font-weight:700}
.room-theme .room-leave:hover{color:var(--cinnabar)}
.room-theme .room-top .room-head{order:1}.room-theme .room-top .room-leave{order:2;align-self:flex-start}.room-theme .room-top .room-bottom{order:3}.room-theme .room-head{display:flex;align-items:center;gap:10px}
.room-theme .eyebrow{color:var(--gold);font-size:12px;font-weight:600;letter-spacing:2px;margin:4px 0 6px;text-align:center}
.room-theme .room-hint{color:var(--ink-2);font-size:13px;text-align:center;margin:0 0 10px}
.room-theme .q-meta{justify-content:center;margin-bottom:10px}
.room-theme .q-text{text-align:center;margin:0 auto 4px;max-width:640px;min-height:74px;display:flex;align-items:center;justify-content:center}
.room-theme .q-text.hid{visibility:hidden}
.room-theme .room-tools{display:flex;justify-content:center;gap:2px;flex-wrap:wrap;margin:10px 0 14px}
.room-theme .tool-btn{background:none;border:0;color:var(--ink-2);font-size:12.5px;padding:10px;cursor:pointer;display:inline-flex;align-items:center;gap:4px}
.room-theme .tool-btn:hover{color:var(--cinnabar)}
.room-theme .tool-btn span{font-size:14px}
.room-theme .auto-t{color:var(--ink-2);font-size:12.5px;display:inline-flex;align-items:center;gap:4px;padding:10px 8px}
.room-theme .record-button{display:flex;flex-direction:column;align-items:center;justify-content:center;width:370px;max-width:100%;height:77px;margin:0 auto;background:var(--cinnabar);color:#FDF8EE;border:1px solid var(--cinnabar-deep);border-radius:15px;font-size:17px;font-weight:600;cursor:pointer;box-shadow:0 6px 18px rgba(166,61,47,.18);font-family:inherit}
.room-theme .record-button small{font-size:10.5px;font-weight:400;color:rgba(253,248,238,.85);margin-top:3px;letter-spacing:.3px}
.room-theme .record-button.on{background:#FDF3E3;color:var(--cinnabar);border-color:var(--cinnabar);animation:recPulse 1.2s ease-in-out infinite}
.room-theme .record-button.on small{color:var(--cinnabar)}
.room-theme .room-timer{text-align:center;color:var(--ink-2);font-size:13px;margin:10px 0 2px;letter-spacing:1px;font-variant-numeric:tabular-nums}
.room-theme .room-note{text-align:center;color:var(--ink-3);font-size:11px;margin:8px 0 0;line-height:1.6}
.room-theme .room-top .pbar{width:100%;flex:none;min-width:0;height:6px;background:var(--bg);margin-top:2px}
.room-theme .room-bottom{display:flex;flex-direction:column;width:100%;gap:2px}
.room-theme .room-top .pbar i{background:var(--cinnabar)}
.room-theme .room-count{font-size:13px;color:var(--ink-3);letter-spacing:.5px;text-align:center}
.room-theme .rc-round{display:none}
.room-theme .room-head{justify-content:center}
@media(max-width:640px){body.room-bg{background:var(--bg)}body.room-bg{position:fixed;left:0;top:0;right:0;bottom:0;width:100%;touch-action:none;-webkit-overflow-scrolling:touch}.page-kicker{display:none}.topbar-in{padding:6px 12px;gap:8px}.brand-sub{display:none}.brand-logo{width:32px;height:32px;font-size:15px}body.room-bg .foot{display:none}.page-title{font-size:16px;margin:2px 0 6px}.room-theme .room-card{border-radius:0;margin:0;padding:2px;min-height:calc(100dvh - 148px);box-shadow:none;border:none;background:var(--card);border-color:var(--line)}.room-theme .room-top{padding:4px 2px 8px;gap:6px}body.room-bg .page-kicker,body.room-bg .page-title{display:none}.room-theme .rc-round{display:inline}.room-theme .room-head{flex-wrap:wrap}.room-theme .room-count{font-size:12.5px}.room-theme .room-top .room-leave{order:1;align-self:flex-start}.room-theme .room-top .room-head{order:2}.room-theme .room-top .room-bottom{order:3}.room-theme .room-bottom{flex-direction:row;align-items:center;gap:10px}.room-theme .room-bottom .room-leave{align-self:auto;flex:none}.room-theme .room-bottom .pbar{flex:1;width:auto;margin-top:0}.room-theme .room-body{padding:2px;display:flex;flex-direction:column;gap:8px}.room-theme .eyebrow{margin:2px 0 4px;font-size:11.5px}.room-theme .room-hint{margin:0 0 6px;font-size:12.5px}.room-theme .q-meta{justify-content:center;margin-bottom:6px;flex-wrap:wrap;gap:4px}.room-theme .q-text{font-size:16px;line-height:1.85;min-height:60px;display:flex;align-items:center;justify-content:center}.room-theme .room-tools{margin:6px 0 10px;gap:0}.room-theme .tool-btn{padding:7px 6px;font-size:12px}.room-theme .record-button{height:72px;font-size:16px}.room-theme .room-timer{margin:8px 0 0}.room-theme .room-note{margin:6px 0 0;font-size:10.5px}.room-theme .ans-area{margin-top:4px}#app,#app>div,main.wrap{min-width:0}main.wrap{width:100%}.view.room-theme{min-width:0;width:100%}.room-theme .room-card{width:100%;margin:0}.room-theme .room-tools{flex-wrap:wrap;gap:2px}.room-theme .q-meta{flex-wrap:wrap;gap:4px}.room-theme .rules{display:none}}

/* ---- 瀵规爣绉绘锛歷oice-orbit 璇婚/褰曢煶娉㈢汗 ----
@media(max-width:640px){.room-theme .voice-orbit{width:104px;height:104px;margin:0 auto 8px}.room-theme .voice-orbit .voice-core{width:72px;height:72px}.room-theme .voice-orbit .voice-bar{width:3px;height:22px;margin:0 3px}}

/* ---- IE 鏃?CSS 鍙橀噺鍏滃簳锛?no-var 鐢?index.html 妫€娴嬫敞鍏ワ級 ---- */
.no-var body,.no-var .topbar{background:#F4EEDF}
.no-var .topbar-in{color:#2B2620}
.no-var .brand-logo{background:#A63D2F;color:#FDF8EE}
.no-var .room-theme .room-card{background:#fff;border-color:#E2D9C4;box-shadow:0 8px 24px rgba(62,47,38,.06)}
.no-var .room-theme .record-button{background:#A63D2F;color:#FDF8EE;border-color:#8A3125}
.no-var .room-theme .record-button small{color:rgba(253,248,238,.85)}
.no-var .room-theme .record-button.on{background:#FDF3E3;color:#A63D2F;border-color:#A63D2F}
.no-var .room-theme .record-button.on small{color:#A63D2F}
.no-var .room-theme .voice-orbit .voice-bar{background:#A63D2F}
.no-var .room-theme .room-top .pbar{background:#E2D9C4}
.no-var .room-theme .room-top .pbar i{background:#A63D2F}
.no-var .room-theme .room-leave,.no-var .room-theme .tool-btn,.no-var .room-theme .room-hint,.no-var .room-theme .room-timer{color:#6B6155}
.no-var .room-theme .room-count,.no-var .room-theme .room-note{color:#8C8378}
.no-var .room-theme .q-text,.no-var .room-theme .q-meta .tg{color:#2B2620}
.no-var .room-theme .eyebrow{color:#B7862E}
.no-var .foot{color:#8C8378}

/* ===== 涓嵂杈ㄨ瘑妯″潡 ===== */
.herb-card{background:#FFFDF6;border:1px solid #E8E0CC;border-radius:14px;padding:20px;margin-bottom:16px;box-shadow:0 2px 10px rgba(120,90,40,.06)}
.herb-card h3{margin:0 0 6px;color:#4A3420;font-size:18px}
.herb-card p{color:#7A6A55;line-height:1.7}
.herb-start-row{margin-top:14px}
.herb-img-wrap{text-align:center;background:#fff;border:1px solid #EDE6D5;border-radius:12px;padding:12px;margin-bottom:12px;position:relative;cursor:zoom-in}
.herb-zoom-hint{position:absolute;right:10px;bottom:8px;background:rgba(60,47,30,.55);color:#fff;font-size:11px;line-height:1;padding:4px 8px;border-radius:10px;pointer-events:none}
.herb-zoom{position:fixed;inset:0;z-index:999;background:rgba(0,0,0,.96);display:flex;align-items:center;justify-content:center;cursor:zoom-out}
.herb-zoom img{max-width:94vw;max-height:94vh;object-fit:contain;border-radius:6px}
body.zoom-lock{overflow:hidden}
.herb-zoom-close{position:absolute;top:14px;right:18px;color:#fff;font-size:26px;line-height:1;cursor:pointer;padding:8px;background:rgba(255,255,255,.12);border-radius:50%;width:38px;height:38px;text-align:center;box-sizing:border-box}
.herb-img{width:260px;height:220px;max-width:100%;object-fit:contain;border-radius:8px}
.herb-img-text{font-size:40px;color:#B0894E;line-height:220px;height:220px;font-weight:700}
.herb-ask{font-size:14px;color:#4A3420;margin-bottom:10px}
.herb-ask b{color:#A63D2F}
.herb-room .herb-img-wrap{margin:2px auto 12px;padding:14px;max-width:340px;width:100%;box-sizing:border-box}
.herb-room .herb-img{width:300px;height:250px}
.herb-room .herb-img-text{line-height:250px;height:250px}
.herb-q b{color:#A63D2F}
@media(max-width:640px){.herb-page .page-title{display:none}.herb-room .herb-img-wrap{margin:0 auto 10px;padding:10px}.herb-room .herb-img{width:200px;height:170px}.herb-room .herb-img-text{line-height:170px;height:170px;font-size:30px}.herb-card{width:100%;box-sizing:border-box;padding:16px}.herb-page .q-meta{margin-bottom:2px}.herb-page .q-text{min-height:66px;font-size:15.5px;line-height:1.8}.herb-page .room-hint{margin-bottom:4px}.herb-done .herb-total{margin:8px 0 6px}}
.herb-card textarea{width:100%;box-sizing:border-box;border:1px solid #E0D5BE;border-radius:10px;padding:10px;font-size:14px;background:#fff;resize:vertical;font-family:inherit}
.herb-mic-row{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.herb-mic-row .btn.on{background:#A63D2F;color:#FDF8EE}
.herb-result{margin-top:16px;border-top:1px dashed #E0D5BE;padding-top:14px}
.herb-score{font-size:16px;color:#4A3420;margin-bottom:10px}
.herb-score b{color:#A63D2F;font-size:22px}
.herb-dims{list-style:none;margin:0 0 12px;padding:0}
.herb-dims li{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:13px;color:#5A4A36}
.herb-dims li b{width:64px;font-weight:600}
.herb-dims .bar{flex:1;height:8px;background:#F0E9D8;border-radius:4px;overflow:hidden}
.herb-dims .bar i{display:block;height:100%;background:#C89B5A;border-radius:4px}
.herb-dims li em{width:44px;text-align:right;font-style:normal;color:#8A6D3B;font-weight:600}
.herb-done{text-align:center}
.herb-total{font-size:52px;color:#A63D2F;font-weight:800;margin:14px 0 4px;line-height:1}
.herb-total small{font-size:14px;color:#8A6D3B;font-weight:400;display:block;margin-top:4px}
.herb-done .herb-dims{max-width:420px;margin:14px auto}
.herb-done-actions{display:flex;gap:10px;justify-content:center;margin-top:8px}
.herb-report{margin-top:22px;background:#FFFDF6;border:1px solid #E8E0CC;border-radius:14px;padding:18px}
.herb-report h3{margin:0 0 4px;color:#4A3420;font-size:17px}
.herb-rep-sub{color:#8A6D3B;font-size:13px;margin:0 0 12px}
.herb-rep-item{border-top:1px solid #EDE6D5;padding:12px 0}
.herb-rep-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.herb-rep-head b{color:#4A3420;font-size:14px}
.herb-rep-score{color:#A63D2F;font-weight:700;font-size:15px}
/* ===== 缁煎悎璁粌妯″潡锛? 杞埗 + 鐙珛鎶ュ憡锛?===== */
.wz-zt{margin:0;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.wz-zt .zt-main-btn{width:100%;justify-content:center}
.zt-page .page-title{color:var(--cinnabar)}
.zt-back{font-size:12.5px;display:inline-flex;align-items:center;gap:4px;justify-content:flex-start;text-align:left;padding-left:2px;font-weight:700}
.zt-page .zt-back{align-self:flex-start}
.zt-page .q-meta{margin-bottom:8px}
.zt-page .q-meta .tg{padding:2px 10px;font-size:12px;line-height:1.6}
.zt-report-view .rep-head{background:linear-gradient(135deg,#3E2F26,#7A4A2B)}
.rep-badge{display:inline-block;font-size:11.5px;letter-spacing:2px;color:#E8B04B;border:1px solid rgba(232,176,75,.5);border-radius:999px;padding:2px 12px;margin-bottom:6px}
.rep-head h2{margin-top:4px}
.rep-sub{font-size:13px;color:rgba(247,240,226,.8);margin-top:6px}
.rep-time{font-size:12px;color:rgba(247,240,226,.6);margin-top:4px}
.rep-score{display:flex;align-items:baseline;gap:10px;margin-top:16px}
.rep-score b{font-size:44px;font-family:var(--serif);color:#E8B04B;line-height:1}
.rep-score span{font-size:12.5px;color:rgba(247,240,226,.8)}
.rep-score em{font-style:normal;margin-left:auto;background:rgba(232,176,75,.16);border:1px solid rgba(232,176,75,.5);color:#E8B04B;border-radius:10px;padding:6px 16px;font-weight:800;font-size:17px}
.rep-actions{margin:16px 0 0;text-align:center}
.zt-rounds{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.zt-row{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:12px;padding:12px 16px;background:#FDFBF5}
.zt-ic{width:44px;height:44px;border-radius:12px;background:var(--cinnabar-soft);color:var(--cinnabar);display:flex;align-items:center;justify-content:center;font-size:20px;flex:none}
.zt-row-m{flex:1;min-width:0}
.zt-row-m b{display:block;font-size:14.5px}
.zt-row-m small{font-size:11.5px;color:var(--ink-3)}
.zt-bar{flex:1;min-width:80px;height:8px;background:var(--bg);border-radius:999px;overflow:hidden}
.zt-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--cinnabar),#C96A52);border-radius:999px}
.zt-row em{font-style:normal;font-weight:800;font-size:15px;color:var(--cinnabar);min-width:52px;text-align:right}
.zt-det .ans-card{margin-top:0}
.zt-dims{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.zt-dims span{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--ink-2);padding:4px 10px;border-radius:999px;background:var(--bg);border:1px solid var(--line)}
.zt-dims b{font-size:12.5px;color:var(--cinnabar);font-weight:800}
.zt-tbl{width:100%;border-collapse:collapse;margin-top:14px;font-size:13px}
.zt-tbl th{text-align:left;font-size:12px;color:var(--ink-3);letter-spacing:1px;padding:8px 10px;border-bottom:1px solid var(--line)}
.zt-tbl td{padding:9px 10px;border-bottom:1px dashed var(--line);vertical-align:top;line-height:1.7}
.zt-tbl td:first-child,.zt-tbl th:first-child{min-width:120px}
.zt-hist{margin-top:20px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 22px}
.zt-hist h3{font-family:var(--serif);font-size:17px;margin-bottom:4px}
.zt-hist .hist-item{flex-wrap:wrap}
.zt-hist .hist-item b{min-width:120px}
.zt-hist .hist-item span{font-weight:700;color:var(--cinnabar)}
.zt-hist .hist-item small{width:100%;font-size:12px;color:var(--ink-3)}
@media(max-width:760px){
.zt-page .room-top{padding:2px}
.zt-page .room-count{width:100%}
.zt-page .room-body{padding:2px}
.zt-page .q-text{font-size:16.5px}
.zt-page .herb-img-wrap{max-width:280px;margin:2px auto 10px}
.zt-page .herb-img{width:230px;height:190px}
.zt-row{flex-wrap:wrap;gap:8px}
.zt-bar{flex-basis:100%;order:3}
.zt-row em{min-width:auto}
.zt-page .page-title,.zt-report-view .page-title{display:none}
.zt-page .q-meta{margin-bottom:5px}
.zt-page .q-meta .tg{padding:1px 8px;font-size:11px;line-height:1.5}
.zt-page .q-text{min-height:52px}
.zt-page .room-hint{margin-bottom:6px}
.zt-page .room-tools{margin:4px 0 8px}
.zt-report-view .rep-sec{padding:16px 14px}
.zt-tbl th,.zt-tbl td{padding:6px 8px;font-size:12px}
}

/* ================================================================
   涓尰椋庢牸缇庡寲锛堢函 CSS锛屾棤澶栭儴瀛椾綋/鍥剧墖渚濊禆锛?   瀹ｇ焊搴?路 鏈辩爞涓昏壊 路 閲戠嚎鐐圭紑 路 瀹嬫シ鏍囬
   ================================================================ */
:root{--qing:#3E5C52;--qing-soft:#E7EFEA;--paper:#F7F1E3;--line-deep:#C9BFA6;--seal:#8A3125}
body{
  background:
    radial-gradient(circle at 16% 6%,rgba(169,138,68,.07),transparent 40%),
    radial-gradient(circle at 86% 92%,rgba(166,61,47,.05),transparent 42%),
    repeating-linear-gradient(0deg,rgba(62,47,38,.016) 0 1px,transparent 1px 5px),
    var(--bg);
}
.topbar{border-bottom:1px solid var(--line-deep);box-shadow:0 2px 14px rgba(62,47,38,.05)}
.topbar-in{padding:10px 20px}
.brand-logo{
  width:40px;height:40px;border-radius:7px;
  background:linear-gradient(160deg,#B04A3A,#8A3125);
  box-shadow:inset 0 0 0 1px rgba(253,248,238,.4),0 3px 8px rgba(166,61,47,.28);
  font-family:"Kaiti SC","STKaiti","KaiTi",serif;font-size:22px;
}
.brand-name{font-family:"Noto Serif SC","Songti SC","STZhongsong","SimSun",serif;font-weight:800;letter-spacing:2px}
.brand-sub{font-family:"Kaiti SC","STKaiti","KaiTi",serif;letter-spacing:3px;color:#8A7B5C}
.page-kicker{font-family:"Kaiti SC","STKaiti","KaiTi",serif;letter-spacing:4px;display:inline-flex;align-items:center;gap:10px}
.page-kicker::before,.page-kicker::after{content:"";display:inline-block;width:24px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.page-kicker::after{background:linear-gradient(90deg,var(--gold),transparent)}
.page-title{font-family:"Noto Serif SC","Songti SC","STZhongsong",serif;letter-spacing:2px}
.idcard{border-color:var(--line-deep);border-radius:10px;background:linear-gradient(180deg,#fff,#FBF6E9);box-shadow:0 2px 10px rgba(62,47,38,.05)}
.idcard .cell .lb{font-family:"Kaiti SC","STKaiti",serif;letter-spacing:2px;color:#8A7B5C}
.btn{border-radius:9px;letter-spacing:1px;font-weight:600;color:#2B2620}
.btn-main{
  background:linear-gradient(165deg,#B04A3A 0%,#A63D2F 55%,#8A3125 100%);
  border:1px solid #7E2C21;
  color:#FDF8EE;
  box-shadow:0 4px 14px rgba(166,61,47,.28),inset 0 1px 0 rgba(253,248,238,.3);
}
.btn-main:hover{background:linear-gradient(165deg,#BC5544,#933527);transform:translateY(-1px)}
.btn-lg,.btn-ghost{background:#fff;border:1px solid var(--line-deep);color:#6B6358}.btn-main.btn-lg{background:var(--cinnabar);border:1px solid #7E2C21;color:#FDF8EE;box-shadow:0 4px 14px rgba(166,61,47,.25)}
.btn-ghost:hover{border-color:var(--cinnabar);color:var(--cinnabar)}
.entry{
  position:relative;overflow:hidden;
  background:linear-gradient(180deg,#FDF9EE,#F6EEDC);
  border:1px solid var(--line-deep);border-radius:16px;
  padding:40px 34px 26px;
  box-shadow:0 14px 34px rgba(62,47,38,.10);
}
.entry::before,.entry::after{content:"";position:absolute;left:0;right:0;height:7px;background:linear-gradient(90deg,#8A3125,#C96A52,#8A3125)}
.entry::before{top:0}.entry::after{bottom:0}
.entry .eyebrow{font-family:"Kaiti SC","STKaiti",serif;letter-spacing:4px;color:var(--gold)}
.entry h1{font-family:"Noto Serif SC","Songti SC",serif;letter-spacing:3px}
.entry h1 span{color:var(--cinnabar)}
.entry .intro{font-family:"Kaiti SC","STKaiti",serif;letter-spacing:2px;color:#8A7B5C}
.entry-form input{border:1px solid var(--line-deep);background:#FFFDF6}
.entry-form input:focus{border-color:var(--cinnabar);box-shadow:0 0 0 3px rgba(166,61,47,.08)}
.entry .primary{
  width:100%;border:none;border-radius:9px;margin-top:14px;padding:13px;font-size:15px;font-weight:600;letter-spacing:2px;
  background:linear-gradient(165deg,#B04A3A,#8A3125);color:#FDF8EE;cursor:pointer;
  box-shadow:0 4px 14px rgba(166,61,47,.3),inset 0 1px 0 rgba(253,248,238,.3);
}
.entry .primary:hover{background:linear-gradient(165deg,#BC5544,#933527)}
.entry-steps b{font-family:"Noto Serif SC","Songti SC",serif;color:var(--cinnabar)}
.hub-head h1{font-family:"Noto Serif SC","Songti SC",serif;letter-spacing:1px}
.encourage{
  position:relative;overflow:hidden;
  border:1px solid var(--line-deep);border-radius:16px;
  background:linear-gradient(150deg,#FFFDF6,#F6EFDE);
  box-shadow:0 3px 12px rgba(62,47,38,.06);
}
.encourage::before{content:"澶у尰绮捐瘹";position:absolute;left:16px;bottom:6px;font-family:"Kaiti SC","STKaiti",serif;font-size:54px;letter-spacing:10px;color:rgba(166,61,47,.06);pointer-events:none;white-space:nowrap}
.enc-text .eyebrow{font-family:"Kaiti SC","STKaiti",serif;letter-spacing:4px;color:var(--gold)}
.enc-text h2{font-family:"Noto Serif SC","Songti SC",serif;letter-spacing:2px}
.wizard{border-color:var(--line-deep);border-radius:12px;box-shadow:0 3px 12px rgba(62,47,38,.06);background:#fff}
.wz-step b{font-family:"Kaiti SC","STKaiti",serif;font-weight:700}
.tech-btn{border-radius:9px;border:1px solid var(--line-deep);background:#FFFDF6;color:#5A5144;font-weight:600;letter-spacing:1px;position:relative}
.tech-btn i{position:absolute;top:2px;right:5px;font-style:normal;font-weight:700;font-size:12px;pointer-events:none}
.tech-btn.on{background:var(--cinnabar);border-color:var(--cinnabar);color:#FDF8EE}
.disease-card{border-radius:10px;border-color:var(--line-deep);background:#FFFDF6}
.disease-card.on{border-color:var(--cinnabar);background:var(--cinnabar-soft)}
.room-card{border-radius:14px;border-color:var(--line-deep);box-shadow:0 6px 20px rgba(62,47,38,.08)}
.room-top .room-leave{font-family:"Kaiti SC","STKaiti",serif;letter-spacing:1px}
.rep{box-shadow:0 6px 22px rgba(62,47,38,.10)}
.rep-head{background:linear-gradient(135deg,#3E2F26,#6B5138);position:relative}
.rep-head::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:repeating-linear-gradient(90deg,#E8B04B 0 10px,transparent 10px 20px)}
.rep-head .k{font-family:"Kaiti SC","STKaiti",serif;letter-spacing:4px}
.rep-head h2{font-family:"Noto Serif SC","Songti SC",serif;letter-spacing:2px}
.rep-sec h3{font-family:"Noto Serif SC","Songti SC",serif;letter-spacing:1px}
.dim-card,.weak,.rx,.ans-card,.hist-item,.round-card{border-color:var(--line-deep);background:#FFFDF8}
.sess-tag.cur{font-family:"Kaiti SC","STKaiti",serif;letter-spacing:2px}
.foot{font-family:"Kaiti SC","STKaiti",serif;letter-spacing:1.5px;color:#8A7B5C}
.herb-card,.herb-img-wrap{border-color:var(--line-deep)}
@media(max-width:640px){
  .topbar-in{padding:6px 12px}
  .brand-logo{width:34px;height:34px;font-size:18px}
  .entry{padding:30px 20px 20px;margin-top:2vh}
  .entry::before,.entry::after{height:5px}
  .encourage::before{font-size:40px;letter-spacing:6px}
}

/* H5绔細鏂扮敤鎴峰垎姝ョ敵鎶ュ悜瀵兼湡闂撮殣钘忛紦鍔卞崱锛屾彁浜ょ‘璁ゅ悗鎭㈠ */
@media (max-width: 820px) {
  .enc-hide-wizard { display: none !important; }
}
/* ===== iOS Safari 鍏煎锛氶噸缃郴缁熸寜閽牱寮忋€侀樆姝㈣緭鍏ヨ嚜鍔ㄧ缉鏀俱€侀槻姝?flex 鎸ゅ帇鍙樺舰 ===== */
@media (max-width: 820px) {
  button, input, textarea, select, .btn, .tech-btn, .disease-card, .tool-btn, .record-button, .room-leave, .u-out, .entry-form input, .wz-main-btn {
    -webkit-appearance: none;
    appearance: none;
    -webkit-tap-highlight-color: transparent;
  }
  input, textarea, select { font-size: 16px !important; }
  .btn, .tech-btn, .disease-card, .tool-btn, .u-out, .u-card, .u-ph, .wz-step, .cell { white-space: normal; word-break: break-word; }
  .wz-actions, .step-nav, .room-tools, .tech-btns, .disease-grid, .room-top, .room-bottom, .wz-sub-row, .bound-row { min-width: 0; flex-wrap: wrap; }
  button { max-width: 100%; }
}/* H5绔細绗?/5姝ヤ笁涓寜閽苟鍒椾竴琛岋紝鍧囧垎瀹藉害 */
@media (max-width: 820px) {
  .step-nav3 { flex-wrap: nowrap !important; }
  .step-nav3 .btn { flex: 1 1 0; min-width: 0; padding-left: 2px; padding-right: 2px; font-size: 13px; justify-content: center; white-space: nowrap !important; word-break: keep-all !important; }
  .step-nav3 .btn span { display: none; }
}
/* 移动端刷新字体从小变大：禁用 iOS/浏览器文字自动放大 */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}

/* 首屏挂载淡入：避免刷新时样式未就绪导致页面从小变大跳动 */
#app{opacity:0;transition:opacity .18s ease}

/* 全局禁止页面手势缩放（捏合/双击），保留滚动 */
html{touch-action:manipulation}button,select{max-width:100%}button{touch-action:manipulation}
