/* 32 九型人格测试 · 杂志问卷版式：玫瑰米色 + 衬线大数字 + 分组题卡 */
.ent{
  --ink:#35252b; --sub:#7d6a70; --card:#fffdfb; --line:#eddfdf;
  --pri:#a24b63; --pri-soft:#f9ebee; --ok:#3f7c66; --warn:#b0832f; --bad:#b74a58; --bg:#fbf6f4;
  color:var(--ink);background:var(--bg);font-size:15px;line-height:1.82;padding:26px 0 54px;min-height:60vh;
}
:root[data-theme="dark"] .ent{
  --ink:#f5e9ec; --sub:#c2a8ae; --card:#241a1e; --line:#3d2c31;
  --pri:#f0a6bb; --pri-soft:rgba(240,166,187,.12); --ok:#7ad3ac; --warn:#ecc582; --bad:#ff9db2; --bg:#171114;
}
.ent *{box-sizing:border-box;}
.ent-wrap{max-width:1120px;margin:0 auto;padding:0 18px;}
.ent h1,.ent h2,.ent h3{margin:0;line-height:1.38;}
.ent b{font-weight:700;} .ent em{font-style:normal;}
.ent h1,.ent-h2,.ent-result-num,.ent-result-copy b{font-family:Georgia,"Songti SC","Noto Serif SC",serif;}
.ent-hero{display:grid;grid-template-columns:1fr 190px;gap:24px;align-items:center;padding:30px 32px;
  border:1px solid var(--line);border-radius:18px;background:linear-gradient(118deg,var(--card) 56%,var(--pri-soft));
  box-shadow:0 3px 16px rgba(130,60,80,.07);}
.ent-badge{display:inline-block;padding:5px 13px;border-radius:999px;background:var(--pri);color:#fff;font-size:12px;font-weight:700;letter-spacing:.06em;}
.ent h1{font-size:31px;font-weight:800;margin:13px 0 12px;}
.ent h1 em{display:block;font-family:inherit;font-size:18px;font-weight:600;color:var(--pri);margin-top:6px;}
.ent-hero p{margin:0 0 16px;max-width:770px;color:var(--sub);font-size:15px;line-height:1.88;}
.ent-hero p b{color:var(--ink);}
.ent-hero-meta{display:flex;flex-wrap:wrap;gap:8px;}
.ent-hero-meta span{padding:5px 11px;border:1px solid var(--line);border-radius:7px;background:var(--card);font-size:12.5px;font-weight:650;color:var(--sub);}
.ent-ennea{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;transform:rotate(-5deg);}
.ent-ennea i{font-style:normal;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  border:2px solid var(--pri);color:var(--pri);font:750 18px/1 Georgia,serif;background:var(--card);}
.ent-ennea i:nth-child(3n){background:var(--pri);color:#fff;}

.ent-card,.ent-panel,.ent-empty,.ent-kpi,.ent-result{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 2px 10px rgba(130,60,80,.05);}
.ent-card{margin-top:18px;padding:22px 24px;}
.ent-card-h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:14px;}
.ent-card-h h2{font-size:20px;font-weight:750;} .ent-card-h span{font-size:12.5px;color:var(--sub);}
.ent-progress{display:flex;align-items:center;gap:14px;padding:12px 15px;border-radius:10px;background:var(--bg);border:1px solid var(--line);font-size:13px;color:var(--sub);}
.ent-progress-bar{flex:1;height:9px;border-radius:6px;background:var(--card);border:1px solid var(--line);overflow:hidden;}
.ent-progress-bar i{display:block;height:100%;width:0;background:var(--pri);transition:width .25s;}
.ent-progress b{font:700 13px/1 ui-monospace,Menlo,monospace;color:var(--pri);white-space:nowrap;}
.ent-questions{margin-top:16px;display:flex;flex-direction:column;gap:12px;}
.ent-q{padding:15px 17px;border:1px solid var(--line);border-radius:11px;background:var(--bg);}
.ent-q-h{display:flex;gap:10px;align-items:baseline;font-size:14.5px;font-weight:700;margin-bottom:10px;}
.ent-q-h i{font-style:normal;flex:0 0 auto;color:var(--pri);font:750 13px/1 ui-monospace,Menlo,monospace;}
.ent-q-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.ent-opt{text-align:left;padding:11px 13px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);
  font-size:13.5px;line-height:1.7;cursor:pointer;transition:border-color .15s,transform .15s,background .15s;}
.ent-opt:hover{border-color:var(--pri);transform:translateY(-1px);}
.ent-opt.is-on{background:var(--pri);border-color:var(--pri);color:#fff;}
.ent-opt b{display:inline-block;margin-right:6px;font:750 12px/1 ui-monospace,Menlo,monospace;}
.ent-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px;}
.ent-btn{padding:10px 17px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);font-size:14px;font-weight:650;cursor:pointer;transition:transform .14s,border-color .14s,box-shadow .14s;}
.ent-btn:hover{border-color:var(--pri);transform:translateY(-1px);box-shadow:0 3px 10px rgba(130,60,80,.1);}
.ent-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;}
.ent-btn-main{background:var(--pri);border-color:var(--pri);color:#fff;} .ent-btn-main:hover{filter:brightness(1.12);}
.ent-btn-ghost{background:transparent;color:var(--sub);}
.ent-msg{margin:12px 0 0;font-size:13.5px;color:var(--sub);min-height:20px;}
.ent-msg.is-err{color:var(--bad);font-weight:600;} .ent-msg.is-ok{color:var(--ok);font-weight:600;}
.ent-empty{margin-top:18px;padding:38px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;}
.ent-empty-ic{font-size:34px;} .ent-empty b{font-size:17px;}
.ent-empty em{max-width:640px;font-size:13.5px;color:var(--sub);line-height:1.8;}

.ent-out{margin-top:18px;}
.ent-result{display:grid;grid-template-columns:170px 1fr;gap:22px;align-items:center;padding:24px;margin-bottom:14px;
  background:linear-gradient(115deg,var(--card) 50%,var(--pri-soft));}
.ent-result-num{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;margin:0 auto;
  background:var(--pri);color:#fff;font-size:76px;font-weight:800;box-shadow:0 6px 18px rgba(130,60,80,.2);}
.ent-result-copy{display:flex;flex-direction:column;gap:5px;}
.ent-result-copy span{font-size:12.5px;letter-spacing:.1em;color:var(--sub);}
.ent-result-copy b{font-size:32px;font-weight:800;color:var(--pri);}
.ent-result-copy em{font-size:14px;color:var(--ink);font-weight:650;}
.ent-result-copy p{margin:6px 0 0;font-size:13.5px;color:var(--sub);line-height:1.85;}
.ent-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px;}
.ent-kpi{padding:16px;display:flex;flex-direction:column;gap:3px;}
.ent-kpi span{font-size:12.5px;color:var(--sub);}
.ent-kpi b{font:800 24px/1.3 Georgia,ui-monospace,Menlo,monospace;color:var(--pri);}
.ent-kpi small{font-size:11.5px;color:var(--sub);}
.ent-panel{padding:20px 22px;margin-bottom:14px;}
.ent-h2{font-size:20px;font-weight:750;margin-bottom:14px;display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;}
.ent-h2 span{font-family:system-ui,sans-serif;font-size:12.5px;font-weight:400;color:var(--sub);}
.ent-bars{display:flex;flex-direction:column;gap:9px;}
.ent-bar{display:grid;grid-template-columns:96px 1fr 44px;gap:10px;align-items:center;font-size:13px;}
.ent-bar span{font-weight:650;color:var(--sub);}
.ent-bar-track{height:13px;border-radius:7px;background:var(--bg);border:1px solid var(--line);overflow:hidden;}
.ent-bar-track i{display:block;height:100%;background:var(--pri);opacity:.75;}
.ent-bar.is-top .ent-bar-track i{background:var(--pri);opacity:1;}
.ent-bar.is-top span{color:var(--pri);font-weight:750;}
.ent-bar b{font:700 13px/1 ui-monospace,Menlo,monospace;text-align:right;color:var(--sub);}
.ent-advice{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
.ent-advice div{padding:14px 16px;border-radius:10px;background:var(--bg);border:1px solid var(--line);}
.ent-advice h3{font-size:14px;font-weight:750;margin-bottom:6px;color:var(--pri);}
.ent-advice p{margin:0;font-size:13px;color:var(--sub);line-height:1.8;}
.ent-share{display:flex;gap:10px;flex-wrap:wrap;}
.ent-in,.ent-ta{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink);font-size:13.5px;font-family:ui-monospace,Menlo,monospace;}
.ent-share .ent-in{flex:1;min-width:240px;}
.ent-in:focus,.ent-ta:focus{outline:none;border-color:var(--pri);box-shadow:0 0 0 3px var(--pri-soft);}
.ent-ta{min-height:100px;resize:vertical;}
.ent-tw{overflow:auto;border:1px solid var(--line);border-radius:10px;}
.ent-tb{width:100%;border-collapse:collapse;font-size:13px;min-width:520px;}
.ent-tb th,.ent-tb td{padding:9px 11px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;}
.ent-tb th{background:var(--pri-soft);font-weight:700;}
.ent-tb tr:last-child td{border-bottom:none;} .ent-tb tr:hover td{background:var(--bg);}
.ent-final{margin-top:2px;}
[hidden]{display:none !important;}

@media (max-width:860px){
  .ent{padding:18px 0 40px;}
  .ent-hero{grid-template-columns:1fr;padding:22px 18px;} .ent-ennea{display:none;} .ent h1{font-size:26px;}
  .ent-card,.ent-panel{padding:18px 15px;}
  .ent-q-opts,.ent-kpis,.ent-advice{grid-template-columns:1fr;}
  .ent-kpis{grid-template-columns:repeat(2,1fr);}
  .ent-result{grid-template-columns:1fr;padding:18px;}
  .ent-result-num{width:110px;height:110px;font-size:54px;}
  .ent-bar{grid-template-columns:84px 1fr 36px;}
}
