@charset "UTF-8";
:root{
  --bg:#fffbf8; --surface:#fff; --surface2:#fff6f3; --surface3:#fff1ee;
  --line:#f2e7e3; --line2:#eadcd8; --text:#2e282b; --muted:#8d8287; --faint:#b7acb0;
  --red:#ff3b5c; --red2:#ff6b82; --red-deep:#e82647; --red-soft:#ffe9ed; --red-soft2:#fff2f4;
  --mint:#2fb894; --mint-soft:#e6f8f2; --amber:#f0a33a; --amber-soft:#fff3e0;
  --violet:#8a6cf0; --violet-soft:#f0ebff; --blue:#4a91e8; --blue-soft:#eaf3ff;
  --shadow:0 10px 34px rgba(214,117,132,.10); --shadow-sm:0 4px 16px rgba(214,117,132,.08);
  --radius:20px; --radius-sm:14px; --radius-pill:999px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Noto Sans SC","Source Han Sans SC",sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.65}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}
h1,h2,h3,h4,p{margin:0}
::selection{background:var(--red-soft);color:var(--red-deep)}

/* ---------- 通用 ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 18px;border-radius:var(--radius-pill);font-size:14px;font-weight:600;transition:.18s ease;white-space:nowrap;border:1px solid transparent;line-height:1.4}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn-primary{background:linear-gradient(135deg,var(--red2),var(--red));color:#fff;box-shadow:0 6px 18px rgba(255,59,92,.22)}
.btn-primary:hover{box-shadow:0 9px 24px rgba(255,59,92,.3)}
.btn-ghost{background:var(--surface);border-color:var(--line2);color:var(--text)}
.btn-ghost:hover{border-color:var(--red2);color:var(--red)}
.btn-plain{background:var(--surface2);color:var(--text)}
.btn-plain:hover{background:var(--surface3)}
.btn-danger{background:#fff0f2;color:var(--red-deep);border-color:#ffd9e0}
.btn-danger:hover{background:#ffe3e8}
.btn-lg{padding:13px 26px;font-size:15px}
.btn-sm{padding:7px 13px;font-size:12.5px}
.btn-xs{padding:5px 10px;font-size:12px;border-radius:9px}
.btn-block{width:100%}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.btn-pill{padding:9px 18px}
.brand{display:inline-flex;align-items:center;gap:9px;font-weight:800;font-size:17px;letter-spacing:.2px}
.brand-mark{width:28px;height:28px;border-radius:9px;background:linear-gradient(135deg,var(--red2),var(--red));color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:15px;box-shadow:0 4px 12px rgba(255,59,92,.28)}
.field{display:block;margin-bottom:16px}
.field>span{display:block;font-size:13px;font-weight:600;margin-bottom:7px;color:#5b5155}
.field input,.field textarea,.field select,.inp{width:100%;padding:11px 14px;border:1px solid var(--line2);border-radius:12px;background:#fff;outline:none;transition:.16s;font-size:14px}
.field input:focus,.field textarea:focus,.field select:focus,.inp:focus{border-color:var(--red2);box-shadow:0 0 0 3px var(--red-soft2)}
.field textarea{resize:vertical;min-height:80px;line-height:1.7}
.field small,.help{display:block;font-size:12px;color:var(--muted);margin-top:6px;line-height:1.6}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
.spacer{flex:1}
.muted{color:var(--muted)}
.mono{font-family:ui-monospace, monospace;font-size:12px}
.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---------- 首页 ---------- */
.landing-body{position:relative;overflow-x:hidden;background:radial-gradient(1100px 620px at 82% -8%,#ffe8ec 0%,transparent 62%),radial-gradient(900px 600px at 2% 45%,#fff2e8 0%,transparent 60%),var(--bg)}
.blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;pointer-events:none;z-index:0}
.blob-a{width:340px;height:340px;background:#ffd9e1;top:120px;right:-90px}
.blob-b{width:280px;height:280px;background:#ffe6cf;top:560px;left:-110px}
.topbar{position:relative;z-index:2;max-width:1180px;margin:0 auto;padding:22px 28px;display:flex;align-items:center;justify-content:space-between}
.topnav{display:flex;align-items:center;gap:26px}
.topnav>a:first-child{font-size:14px;color:#6e6368;font-weight:600}
.topnav>a:first-child:hover{color:var(--red)}
.landing-wrap{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:20px 28px 80px}
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding:60px 0 92px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line2);color:var(--red-deep);font-size:12.5px;font-weight:700;padding:7px 15px;border-radius:var(--radius-pill);box-shadow:var(--shadow-sm)}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px var(--red-soft)}
.hero h1{font-size:clamp(42px,5.2vw,66px);line-height:1.18;letter-spacing:-1.5px;font-weight:850;margin:22px 0 20px}
.hero h1 .hl{position:relative;color:var(--red);z-index:1}
.hero h1 .hl::after{content:"";position:absolute;left:-2px;right:-2px;bottom:5px;height:16px;background:var(--red-soft);border-radius:8px;z-index:-1;transform:rotate(-1.2deg)}
.hero-sub{font-size:16px;color:#6f656a;line-height:1.95;max-width:520px}
.hero-actions{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}
.hero-meta{display:flex;align-items:center;gap:18px;margin-top:38px;font-size:13px;color:var(--muted)}
.hero-meta b{color:var(--text);font-size:18px;font-weight:800;margin-right:3px}
.hero-meta i{width:1px;height:18px;background:var(--line2)}
.hero-visual{position:relative;height:420px;display:flex;align-items:center;justify-content:center}
.float-card{position:absolute;background:#fff;border:1px solid var(--line);box-shadow:0 20px 55px rgba(199,99,119,.16);border-radius:24px}
.card-main{width:330px;padding:26px;transform:rotate(-4deg);z-index:2}
.fc-head{display:flex;align-items:center;justify-content:space-between}
.fc-emoji{font-size:38px}
.fc-tag{font-size:11px;font-weight:700;color:var(--red);background:var(--red-soft2);padding:5px 11px;border-radius:var(--radius-pill)}
.card-main h3{font-size:21px;margin:18px 0 6px;font-weight:800}
.card-main p{font-size:13px;color:var(--muted)}
.fc-progress{height:8px;border-radius:9px;background:var(--surface3);margin:24px 0 12px;overflow:hidden}
.fc-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--red2),var(--red));border-radius:9px}
.fc-foot{display:flex;justify-content:space-between;font-size:11px;color:var(--faint)}
.card-mini{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:18px;z-index:3}
.card-mini b{display:block;font-size:13px}
.card-mini small{display:block;font-size:11px;color:var(--muted)}
.mini-icon{font-size:22px}
.card-mini-1{left:-6px;bottom:34px;transform:rotate(5deg)}
.card-mini-2{right:-10px;top:26px;transform:rotate(6deg)}
.deco{position:absolute;font-size:34px;color:var(--red2);opacity:.45}
.deco-1{top:0;left:40px}.deco-2{bottom:20px;right:52px;font-size:26px;color:var(--amber)}
.section-head{text-align:center;margin-bottom:38px}
.kicker{font-size:11px;letter-spacing:3px;color:var(--red);font-weight:800}
.section-head h2{font-size:29px;font-weight:800;margin-top:10px;letter-spacing:-.5px}
.rule-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.rule-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px 22px 24px;position:relative;transition:.2s;box-shadow:var(--shadow-sm)}
.rule-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#ffd9e0}
.rule-num{position:absolute;right:20px;top:18px;font-size:12px;font-weight:800;color:#f0dcdf;letter-spacing:1px}
.rule-icon{font-size:30px;margin-bottom:16px}
.rule-card h3{font-size:16px;font-weight:800;margin-bottom:9px}
.rule-card p{font-size:13px;color:var(--muted);line-height:1.85}
.notice-strip{display:flex;gap:14px;align-items:flex-start;margin-top:26px;padding:20px 24px;background:linear-gradient(100deg,#fff3f5,#fff8f2);border:1px solid #ffe2e7;border-radius:var(--radius);font-size:13px;color:#7b6268;line-height:1.9}
.notice-emoji{font-size:20px}
.notice-strip b{color:var(--red-deep)}
.landing-footer{position:relative;z-index:1;border-top:1px solid var(--line);padding:24px 28px;display:flex;justify-content:space-between;gap:14px;font-size:12px;color:var(--faint);max-width:1180px;margin:0 auto;flex-wrap:wrap}

/* ---------- 登录 ---------- */
.admin-body{background:var(--bg)}
.auth-screen{min-height:100vh;display:grid;place-items:center;position:relative;background:radial-gradient(700px 400px at 50% -10%,#ffe2e8,transparent 70%),var(--bg);padding:24px}
.auth-card{width:100%;max-width:410px;background:#fff;border:1px solid var(--line);border-radius:26px;padding:38px 36px 30px;box-shadow:0 24px 70px rgba(199,99,119,.14);position:relative;z-index:2}
.auth-brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:17px;margin-bottom:30px}
.auth-emoji{font-size:42px;text-align:center}
.auth-card h1{text-align:center;font-size:25px;font-weight:800;margin-top:8px}
.auth-sub{text-align:center;color:var(--muted);font-size:13px;margin:8px 0 28px}
.auth-card .btn-block{padding:13px;margin-top:6px}
.auth-error{color:var(--red-deep);font-size:12.5px;text-align:center;margin-top:12px;background:var(--red-soft2);padding:9px;border-radius:10px}
.auth-tip{text-align:center;font-size:11.5px;color:var(--faint);margin-top:22px;line-height:1.7}
.auth-deco{position:absolute;font-size:70px;color:var(--red2);opacity:.18}
.auth-deco-1{top:12%;left:14%}.auth-deco-2{bottom:14%;right:15%;font-size:50px;color:var(--amber)}

/* ---------- 后台框架 ---------- */
.app-shell{display:flex;min-height:100vh}
.sidebar{width:228px;flex:0 0 228px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:24px 16px 18px;position:sticky;top:0;height:100vh}
.side-brand{padding:0 10px 26px;font-size:16px}
.side-label{font-size:10.5px;font-weight:800;letter-spacing:1.6px;color:var(--faint);padding:0 12px;margin-bottom:10px}
.side-nav{display:flex;flex-direction:column;gap:4px}
.side-nav button{display:flex;align-items:center;gap:11px;padding:10px 13px;border-radius:12px;font-size:13.5px;font-weight:600;color:#6d6267;text-align:left;transition:.16s}
.side-nav button span{font-size:16px;width:20px;text-align:center}
.side-nav button:hover{background:var(--surface2);color:var(--text)}
.side-nav button.active{background:linear-gradient(100deg,var(--red-soft),#fff2f4);color:var(--red-deep);font-weight:750}
.side-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:14px;display:flex;flex-direction:column;gap:2px}
.side-link{display:block;width:100%;text-align:left;padding:9px 13px;border-radius:10px;font-size:12.5px;color:var(--muted)}
.side-link:hover{background:var(--surface2);color:var(--red)}
.main-area{flex:1;min-width:0;padding:26px 32px 60px;max-width:calc(100vw - 228px)}
.main-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:24px}
.main-head h1{font-size:25px;font-weight:800;letter-spacing:-.4px}
.main-head p{color:var(--muted);font-size:13px;margin-top:4px}
.head-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.view-host{animation:fadein .25s ease}
@keyframes fadein{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}

/* ---------- 后台组件 ---------- */
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}
.kpi-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px 20px 18px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}
.kpi-card::after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-30px;top:-35px;background:var(--red-soft2);opacity:.7}
.kpi-icon{font-size:22px;position:relative;z-index:1}
.kpi-value{font-size:29px;font-weight:850;letter-spacing:-1px;margin:8px 0 2px;position:relative;z-index:1}
.kpi-label{font-size:12.5px;color:var(--muted);position:relative;z-index:1}
.kpi-hint{font-size:11px;color:var(--faint);margin-top:6px;position:relative;z-index:1}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:18px;overflow:hidden}
.panel-head{display:flex;align-items:center;gap:10px;padding:17px 20px;border-bottom:1px solid var(--line)}
.panel-title{font-size:15px;font-weight:800}
.panel-head .spacer{flex:1}
.panel-body{padding:20px}
.panel-body.tight{padding:0}
.table-wrap{overflow-x:auto}
table.tbl{width:100%;border-collapse:collapse;font-size:13px}
table.tbl th{text-align:left;font-size:11.5px;color:var(--muted);font-weight:700;letter-spacing:.3px;padding:12px 16px;background:#fffaf9;border-bottom:1px solid var(--line);white-space:nowrap}
table.tbl td{padding:13px 16px;border-bottom:1px solid #f8f1ef;vertical-align:middle}
table.tbl tr:last-child td{border-bottom:0}
table.tbl tbody tr:hover{background:#fffaf9}
.row-actions{display:flex;gap:5px;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:var(--radius-pill);font-size:11.5px;font-weight:700;white-space:nowrap}
.chip-unused{background:#f3f1f7;color:#7a7088}
.chip-bound{background:var(--blue-soft);color:#2f74c9}
.chip-completed{background:var(--mint-soft);color:#1c9776}
.chip-expired{background:#f2f1f1;color:#8d8787}
.chip-revoked{background:var(--red-soft);color:var(--red-deep)}
.tag{display:inline-block;padding:3px 9px;border-radius:8px;background:var(--surface2);font-size:11.5px;color:#7d7075;margin:2px 4px 2px 0}
.empty{text-align:center;padding:56px 20px;color:var(--muted)}
.empty-emoji{font-size:38px;display:block;margin-bottom:12px;opacity:.8}
.empty h3{font-size:15px;color:var(--text);margin-bottom:6px;font-weight:700}
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.toolbar .inp{width:auto;min-width:200px;padding:9px 13px}
.toolbar select.inp{min-width:130px}
.segmented{display:inline-flex;background:var(--surface2);padding:4px;border-radius:12px;gap:2px}
.segmented button{padding:7px 14px;border-radius:9px;font-size:12.5px;color:var(--muted);font-weight:600}
.segmented button.active{background:#fff;color:var(--red-deep);box-shadow:var(--shadow-sm)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.form-row{margin-bottom:15px}
.form-row>label{display:block;font-size:13px;font-weight:650;margin-bottom:7px}
.form-row>label em{color:var(--red);font-style:normal}
.hint-box{background:var(--surface2);border:1px solid var(--line);border-radius:12px;padding:13px 15px;font-size:12.5px;color:#7c7075;line-height:1.8}
.hint-box b{color:var(--red-deep)}
.stat-line{display:flex;align-items:center;gap:10px;font-size:12.5px;margin-bottom:9px}
.stat-line .lab{width:82px;color:var(--muted);flex:0 0 82px}
.stat-bar{flex:1;height:8px;border-radius:8px;background:var(--surface3);overflow:hidden}
.stat-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--red2),var(--red));border-radius:8px}
.timeline{display:flex;flex-direction:column;gap:0}
.tl-item{display:flex;gap:13px;padding:12px 0;border-bottom:1px solid #f8f1ef;font-size:12.5px}
.tl-item:last-child{border:0}
.tl-dot{width:9px;height:9px;border-radius:50%;background:var(--red2);margin-top:6px;flex:0 0 9px;box-shadow:0 0 0 4px var(--red-soft2)}
.tl-item b{font-weight:700}
.tl-time{color:var(--faint);font-size:11px;margin-left:auto;white-space:nowrap}
.copy-box{display:flex;align-items:center;gap:8px;background:var(--surface2);border:1px dashed var(--line2);border-radius:11px;padding:9px 12px;font-size:12px;word-break:break-all}
.copy-box .mono{flex:1;color:#5f555a}
.issued-list{max-height:330px;overflow:auto;display:flex;flex-direction:column;gap:8px}
.issued-item{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#fff}
.issued-item .who{font-weight:700;font-size:13px;min-width:80px}
.issued-item .u{flex:1;font-size:11.5px;color:var(--muted);word-break:break-all}
.switch-row{display:flex;align-items:flex-start;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}
.switch-row:last-child{border:0}
.switch-row .sw-txt{flex:1}
.switch-row b{font-size:13.5px}
.switch-row p{font-size:12px;color:var(--muted);margin-top:3px;line-height:1.7}
.switch{position:relative;width:42px;height:24px;flex:0 0 42px;margin-top:2px}
.switch input{opacity:0;width:0;height:0}
.switch i{position:absolute;inset:0;background:#e5dcda;border-radius:24px;transition:.2s;cursor:pointer}
.switch i::after{content:"";position:absolute;width:18px;height:18px;background:#fff;border-radius:50%;top:3px;left:3px;transition:.2s;box-shadow:0 2px 5px rgba(0,0,0,.12)}
.switch input:checked+i{background:var(--red)}
.switch input:checked+i::after{transform:translateX(18px)}

/* ---------- 弹窗 / 提示 ---------- */
.modal-mask{position:fixed;inset:0;background:rgba(45,30,35,.42);backdrop-filter:blur(3px);z-index:100;display:grid;place-items:center;padding:22px;animation:fadein .16s ease}
.modal{width:100%;max-width:540px;max-height:88vh;overflow:auto;background:#fff;border-radius:22px;box-shadow:0 30px 90px rgba(60,20,30,.24)}
.modal.wide{max-width:880px}
.modal-head{display:flex;align-items:center;gap:12px;padding:20px 24px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:2}
.modal-head h3{font-size:17px;font-weight:800;flex:1}
.modal-body{padding:22px 24px}
.modal-foot{display:flex;gap:9px;justify-content:flex-end;padding:16px 24px;border-top:1px solid var(--line);position:sticky;bottom:0;background:#fff}
.icon-btn{width:30px;height:30px;border-radius:9px;background:var(--surface2);font-size:16px;color:var(--muted);display:grid;place-items:center}
.icon-btn:hover{background:var(--red-soft);color:var(--red-deep)}
#toast-host{position:fixed;right:22px;bottom:22px;z-index:200;display:flex;flex-direction:column;gap:9px;pointer-events:none}
.toast{background:#2f282c;color:#fff;padding:11px 17px;border-radius:12px;font-size:13px;box-shadow:0 10px 30px rgba(0,0,0,.2);animation:fadein .2s ease;max-width:340px}
.toast.success{background:#1f9c78}.toast.error{background:var(--red-deep)}

/* ---------- 编辑草稿 / 锁定弹窗 ---------- */
.modal-mask.is-locked{cursor:default}
.modal-head .draft-status{flex:0 0 auto;white-space:nowrap;font-size:11.5px;font-weight:700;color:#a2744c;background:var(--amber-soft);border:1px solid #f6dfbb;border-radius:999px;padding:5px 11px;line-height:1.4}
.modal-head .draft-status.saved{color:#1d8a6c;background:var(--mint-soft);border-color:#cceee2}
.foot-tip{align-self:center;font-size:11.5px;color:var(--muted);white-space:nowrap}
.modal-foot .spacer{flex:1}
@keyframes nudge{0%,100%{transform:translateX(0)}20%{transform:translateX(-7px)}40%{transform:translateX(7px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}
.modal-nudge{animation:nudge .34s ease}
.draft-banner{display:flex;align-items:center;gap:12px;padding:12px 15px;margin-bottom:18px;border:1px solid #ffdce3;border-radius:14px;background:linear-gradient(100deg,#fff2f4,#fffaf6)}
.draft-banner .db-emoji{font-size:24px;line-height:1;flex:0 0 auto}
.draft-banner .db-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.draft-banner .db-text b{font-size:13px;color:var(--red-deep)}
.draft-banner .db-text span{font-size:11.5px;color:var(--muted);line-height:1.5}
.draft-banner .btn{flex:0 0 auto}
.draft-panel{margin-bottom:16px;border-color:#ffdce3;box-shadow:var(--shadow-sm)}
.draft-panel .panel-title{color:var(--red-deep)}
.draft-item{display:flex;align-items:center;gap:11px;padding:10px 2px;border-bottom:1px dashed var(--line)}
.draft-item:last-child{border-bottom:0;padding-bottom:2px}
.draft-item:first-child{padding-top:2px}
.draft-item .draft-emoji{font-size:20px;flex:0 0 auto}
.draft-item .draft-info{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.45}
.draft-item .draft-info b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.draft-item .draft-info span{font-size:11px;color:var(--muted)}
.draft-item .btn{flex:0 0 auto}
@media(max-width:720px){
  .modal-head .draft-status{font-size:0;padding:5px 8px}
  .modal-head .draft-status::before{content:'🛡';font-size:12px}
  .foot-tip{display:none}
  .draft-banner{flex-wrap:wrap}
  .draft-item{flex-wrap:wrap}
}

/* ---------- 编辑器 ---------- */
.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.q-card{border:1px solid var(--line);border-radius:15px;padding:16px;margin-bottom:12px;background:#fffdfc}
.q-head{display:flex;align-items:center;gap:8px;margin-bottom:11px}
.q-index{width:24px;height:24px;border-radius:8px;background:var(--red-soft);color:var(--red-deep);font-size:11.5px;font-weight:800;display:grid;place-items:center;flex:0 0 24px}
.q-head .inp{padding:7px 11px;font-size:12.5px;width:auto}
.opt-row{display:flex;align-items:center;gap:7px;margin-bottom:7px}
.opt-row .inp{padding:8px 11px}
.opt-row .inp.score{width:76px;flex:0 0 76px}
.theme-picker{display:flex;gap:9px;flex-wrap:wrap}
.theme-dot{width:36px;height:36px;border-radius:12px;border:3px solid transparent;cursor:pointer;transition:.16s}
.theme-dot.active{border-color:var(--text);transform:scale(1.06)}
.theme-rose{background:linear-gradient(135deg,#ff9db0,#ff3b5c)}
.theme-mint{background:linear-gradient(135deg,#9ce6d0,#2fb894)}
.theme-lilac{background:linear-gradient(135deg,#c6b2ff,#8a6cf0)}
.theme-sun{background:linear-gradient(135deg,#ffd79a,#f0a33a)}
.theme-ocean{background:linear-gradient(135deg,#a5cdf7,#4a91e8)}
.theme-peach{background:linear-gradient(135deg,#ffd0c2,#ee8fb4)}
.ed-inter-card{border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:12px;background:#fffdfc}
.ed-inter-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.ed-inter-top b{font-size:13px;font-weight:800;color:var(--red-deep)}
.ed-traits{display:flex;flex-direction:column;gap:7px;margin-bottom:8px}
.ed-trait{display:flex;align-items:center;gap:7px}
.ed-trait .inp{padding:8px 11px}
.ed-trait .t-title{flex:0 0 36%}

/* ---------- 答题页 · 清新奶油 ins ---------- */
.take-body{min-height:100vh;background:#faf5ee;position:relative;
  --accent:#74c4a6;--accent-deep:#4fa98a;--accent-soft:#e8f5ef;
  --coral:#f3a895;--coral-soft:#fdeae3;
  --brand-a:#8fd3ba;--brand-b:#4fa98a;--brand-glow:rgba(79,169,138,.24);
  --cream-card:#fffdfa;--ink:#3b352f;--ink-soft:#9a8f86;--hair:#efe7df;--hair2:#e6dcd2}
/* 品牌色随结果页模板变化：logo 渐变、徽章与背景光晕共用同一套色板 */
.take-body .brand-mark{background:linear-gradient(135deg,var(--brand-a),var(--brand-b));box-shadow:0 4px 12px var(--brand-glow)}
.take-bg{position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(680px 440px at 50% -10%,var(--accent-soft) 0%,transparent 66%),
             radial-gradient(560px 440px at 100% 100%,var(--coral-soft) 0%,transparent 64%)}
.take-topbar{position:relative;z-index:1;max-width:720px;margin:0 auto;padding:20px 22px;display:flex;align-items:center;justify-content:space-between}
.take-topbar .brand{font-size:15px;color:var(--ink)}
.take-badge{font-size:11.5px;font-weight:700;color:var(--accent-deep);background:var(--cream-card);border:1px solid var(--hair2);padding:6px 12px;border-radius:var(--radius-pill);box-shadow:var(--shadow-sm)}
/* 结果态：徽章染上模板浅色，顶部一道极细的品牌渐变线（只保留一层头部） */
.take-body[data-tpl] .take-badge{color:var(--accent-deep);background:var(--accent-soft);border-color:transparent;box-shadow:none}
.take-body[data-tpl] .take-topbar::before{content:"";position:absolute;left:22px;right:22px;top:0;height:2px;border-radius:0 0 999px 999px;background:linear-gradient(90deg,var(--brand-a),var(--brand-b) 46%,transparent 92%);opacity:.6}
.take-wrap{position:relative;z-index:1;max-width:720px;margin:0 auto;padding:12px 22px 70px}
.take-loading{text-align:center;padding:100px 0;color:var(--ink-soft)}
.spinner{width:30px;height:30px;border:3px solid var(--accent-soft);border-top-color:var(--accent);border-radius:50%;margin:0 auto 16px;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.quiz-cover{border-radius:24px;padding:36px 32px;color:var(--ink);position:relative;overflow:hidden;box-shadow:0 16px 40px rgba(120,160,140,.16);margin-bottom:18px;background:#fff;border:1px solid var(--hair)}
.quiz-cover::after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:rgba(116,196,166,.14);right:-60px;top:-90px}
.quiz-cover::before{content:"";position:absolute;width:150px;height:150px;border-radius:50%;background:rgba(243,168,149,.14);left:-50px;bottom:-90px}
.cover-rose{background:linear-gradient(135deg,#fff1ef,#ffe6e2)}
.cover-mint{background:linear-gradient(135deg,#eef7f2,#e3f3ec)}
.cover-lilac{background:linear-gradient(135deg,#f1ecfb,#e9e1fb)}
.cover-sun{background:linear-gradient(135deg,#fff6e8,#ffeecc)}
.cover-ocean{background:linear-gradient(135deg,#eaf3fc,#e1edfa)}
.cover-peach{background:linear-gradient(135deg,#fff0f5,#ffe4ec)}
.cover-emoji{font-size:46px;position:relative;z-index:1}
.cover-title{font-size:28px;font-weight:850;margin:14px 0 7px;position:relative;z-index:1;letter-spacing:-.5px;line-height:1.3}
.cover-sub{font-size:14px;opacity:.92;position:relative;z-index:1;line-height:1.8;color:#6f655c}
.quiz-meta{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px;position:relative;z-index:1}
.quiz-meta span{background:rgba(59,53,47,.05);border:1px solid rgba(59,53,47,.08);padding:5px 12px;border-radius:var(--radius-pill);font-size:11.5px;font-weight:600;color:#5c544c}
.countdown-bar{display:flex;align-items:center;gap:10px;background:var(--cream-card);border:1px solid var(--hair);border-radius:14px;padding:12px 16px;margin-bottom:16px;box-shadow:var(--shadow-sm);font-size:12.5px;color:var(--ink-soft)}
.countdown-bar b{color:var(--accent-deep);font-size:15px;font-variant-numeric:tabular-nums}
.countdown-bar .spacer{flex:1}
.progress-track{height:7px;border-radius:8px;background:#efe7df;overflow:hidden;margin-bottom:18px}
.progress-track i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-deep));border-radius:8px;transition:width .3s ease}
.q-card-take{background:var(--cream-card);border:1px solid var(--hair);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-sm);margin-bottom:14px}
.q-num{font-size:11.5px;font-weight:800;color:var(--accent-deep);letter-spacing:1px;margin-bottom:9px}
.q-title-take{font-size:18px;font-weight:750;line-height:1.65;margin-bottom:6px}
.q-hint{font-size:12.5px;color:var(--ink-soft);margin-bottom:18px}
.option-list{display:flex;flex-direction:column;gap:9px}
.option-btn{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:14px 16px;border:1.5px solid var(--hair2);border-radius:14px;background:#fff;font-size:14px;transition:.16s;line-height:1.6}
.option-btn:hover{border-color:var(--accent);background:#fbfffd}
.option-btn .radio{width:19px;height:19px;border-radius:50%;border:2px solid #d8cdc4;flex:0 0 19px;position:relative;transition:.16s}
.option-btn .radio.sq{border-radius:6px}
.option-btn.selected{border-color:var(--accent);background:var(--accent-soft);font-weight:650}
.option-btn.selected .radio{border-color:var(--accent);background:var(--accent)}
.option-btn.selected .radio::after{content:"";position:absolute;inset:5px;background:#fff;border-radius:50%}
.option-btn.selected .radio.sq::after{border-radius:2px;inset:4px}
.likert-scale{display:flex;gap:8px;flex-wrap:wrap}
.likert-btn{flex:1;min-width:52px;padding:13px 6px;border:1.5px solid var(--hair2);border-radius:13px;background:#fff;font-size:16px;font-weight:700;transition:.16s;color:var(--ink)}
.likert-btn small{display:block;font-size:10.5px;font-weight:500;color:var(--ink-soft);margin-top:4px}
.likert-btn:hover{border-color:var(--accent)}
.likert-btn.selected{border-color:var(--accent);background:var(--accent);color:#fff}
.likert-btn.selected small{color:rgba(255,255,255,.85)}
.likert-labels{display:flex;justify-content:space-between;font-size:11.5px;color:var(--ink-soft);margin-top:9px}
.text-answer{width:100%;min-height:110px;padding:14px;border:1.5px solid var(--hair2);border-radius:14px;resize:vertical;outline:none;font-size:14px;line-height:1.7;background:#fff}
.text-answer:focus{border-color:var(--accent)}
.quiz-actions{display:flex;align-items:center;gap:10px;margin:20px 0 26px}
.quiz-actions .spacer{flex:1}
.save-hint{font-size:12px;color:var(--ink-soft)}
.quiz-footer-custom{background:var(--cream-card);border:1px solid var(--hair);border-radius:var(--radius);padding:22px 24px;font-size:13px;color:#6f655c;line-height:1.9;box-shadow:var(--shadow-sm);overflow-wrap:break-word}
.quiz-footer-custom p{margin:0 0 10px}.quiz-footer-custom p:last-child{margin:0}
.quiz-footer-custom img{max-width:100%;border-radius:12px}
.quiz-footer-custom a{color:var(--accent-deep);text-decoration:underline}
.quiz-footer-custom h2,.quiz-footer-custom h3,.quiz-footer-custom h4{font-size:16px;font-weight:800;margin:12px 0 8px}
.quiz-footer-custom ul,.quiz-footer-custom ol{padding-left:20px}
.footer-label{font-size:10.5px;letter-spacing:1.4px;color:var(--ink-soft);font-weight:800;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.footer-label::after{content:"";flex:1;height:1px;background:var(--hair)}
.take-global-footer{position:relative;z-index:1;text-align:center;font-size:11.5px;color:var(--ink-soft);padding:0 20px 30px}
.state-card{background:var(--cream-card);border:1px solid var(--hair);border-radius:24px;padding:52px 34px;text-align:center;box-shadow:var(--shadow);margin-top:20px}
.state-emoji{font-size:56px;margin-bottom:18px}
.state-card h1{font-size:24px;font-weight:800;margin-bottom:12px;color:var(--ink)}
.state-card p{color:var(--ink-soft);font-size:14px;line-height:1.9;max-width:430px;margin:0 auto 24px}
.state-card .btn{margin:4px}
.result-card{background:var(--cream-card);border:1px solid var(--hair);border-radius:24px;padding:34px;box-shadow:var(--shadow);text-align:center}
.result-emoji{font-size:42px}
.score-ring{width:150px;height:150px;border-radius:50%;margin:18px auto 20px;background:conic-gradient(var(--accent) calc(var(--pct)*1%),var(--accent-soft) 0);display:grid;place-items:center;position:relative}
.score-ring::before{content:"";position:absolute;inset:13px;border-radius:50%;background:#fff}
.score-inner{position:relative;z-index:1}
.score-num{font-size:38px;font-weight:850;line-height:1;letter-spacing:-1px}
.score-unit{font-size:11.5px;color:var(--ink-soft);margin-top:5px}
.result-title{font-size:23px;font-weight:800;margin-bottom:12px}
.result-desc{font-size:14px;color:#6d6267;line-height:2;max-width:480px;margin:0 auto 24px;text-align:left;background:var(--surface2);padding:18px 20px;border-radius:16px}
.dim-list{text-align:left;max-width:480px;margin:0 auto 8px}
.dim-row{margin-bottom:14px}
.dim-top{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:6px}
.dim-top b{font-weight:700}
.dim-track{height:9px;background:var(--surface3);border-radius:9px;overflow:hidden}
.dim-track i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-deep));border-radius:9px}

/* ---------- 结果页 · 多维画像（清新奶油 ins） ---------- */
/* 结果页复用站点统一头部 .take-topbar，不再渲染第二层品牌条 */
.x-hero-card{background:var(--cream-card);border:1px solid var(--hair);border-radius:26px;padding:30px 28px 28px;box-shadow:0 18px 46px rgba(120,150,135,.14);margin:14px auto 16px;max-width:720px;position:relative;overflow:hidden;text-align:center}
.x-hero-card::after{content:"";position:absolute;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,var(--accent-soft),transparent 70%);right:-70px;top:-80px;opacity:.8;pointer-events:none}
.x-topline{display:flex;align-items:center;justify-content:space-between;font-size:11.5px;font-weight:700;color:var(--ink-soft);letter-spacing:.6px;position:relative;z-index:1}
.x-topline em{font-style:normal;color:var(--accent-deep);background:var(--accent-soft);padding:3px 10px;border-radius:999px;font-size:10.5px}
.r-ratio{display:flex;align-items:center;justify-content:center;gap:18px;margin:22px 0 14px;position:relative;z-index:1}
.ratio-side{display:flex;flex-direction:column;align-items:center;min-width:88px}
.ratio-side b{font-size:42px;font-weight:850;line-height:1;letter-spacing:-1px}
.ratio-side.a b{color:var(--accent-deep)}
.ratio-side.b b{color:var(--coral)}
.ratio-side span{font-size:12.5px;color:var(--ink-soft);margin-top:6px}
.ratio-mid{font-size:26px;color:var(--hair2);font-weight:300}
.r-poltrack{display:flex;height:14px;border-radius:999px;overflow:hidden;background:#efe7df;position:relative;z-index:1}
.r-poltrack .pa{background:linear-gradient(90deg,var(--accent),var(--accent-deep))}
.r-poltrack .pb{background:linear-gradient(90deg,#ffc2b0,var(--coral))}
.x-title{font-size:25px;font-weight:850;margin:20px 0 8px;color:var(--ink);position:relative;z-index:1;letter-spacing:-.5px}
.x-verdict{font-size:15px;font-weight:650;color:#5c544c;line-height:1.7;max-width:520px;margin:0 auto 14px;position:relative;z-index:1}
.x-tags{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;position:relative;z-index:1}
.x-tag{display:inline-flex;align-items:center;padding:6px 14px;border-radius:999px;background:var(--accent-soft);color:var(--accent-deep);font-size:12.5px;font-weight:700;box-shadow:inset 0 0 0 1px rgba(79,169,138,.18)}
.x-card{background:var(--cream-card);border:1px solid var(--hair);border-radius:22px;padding:24px 22px;box-shadow:var(--shadow-sm);margin:0 auto 14px;max-width:720px}
.x-kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:1.4px;color:var(--accent-deep);background:var(--accent-soft);padding:5px 12px;border-radius:999px;margin-bottom:16px}
.x-big{font-size:14.5px;color:#5c544c;line-height:2;white-space:pre-line}
.x-dims{display:flex;flex-direction:column;gap:16px}
.x-dim{background:#fff;border:1px solid var(--hair);border-radius:16px;padding:15px 16px}
.x-dim-top{display:flex;align-items:center;gap:10px;font-size:13.5px;margin-bottom:4px}
.x-dim-top b{font-weight:750;color:var(--ink)}
.x-dim-top small{margin-left:auto;color:var(--ink-soft);font-size:12px}
.x-level{font-size:11.5px;font-weight:800;padding:3px 10px;border-radius:999px}
.x-level-高{background:var(--accent-soft);color:var(--accent-deep)}
.x-level-中{background:var(--coral-soft);color:#c9735a}
.x-level-低{background:#f1eeea;color:#9a8f86}
.x-dim-desc{font-size:12.5px;color:var(--ink-soft);margin:2px 0 10px;line-height:1.7}
.x-track{height:10px;border-radius:999px;background:#efe7df;overflow:hidden}
.x-track i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-deep));border-radius:999px}
.x-trait{display:flex;gap:13px;align-items:flex-start;padding:14px 0;border-bottom:1px dashed var(--hair)}
.x-trait:last-child{border-bottom:0;padding-bottom:0}
.x-trait-no{flex:0 0 30px;width:30px;height:30px;border-radius:10px;background:var(--accent-soft);color:var(--accent-deep);font-weight:850;display:grid;place-items:center;font-size:13px}
.x-trait b{display:block;font-size:14.5px;font-weight:750;color:var(--ink);margin-bottom:3px}
.x-trait p{font-size:13px;color:var(--ink-soft);line-height:1.7;margin:0}
.x-sec{text-align:center}
.x-sec .x-kicker{margin-bottom:10px}
.x-sec h3{font-size:19px;font-weight:800;color:var(--ink);margin-bottom:8px}
.x-sec p{font-size:13.5px;color:#5c544c;line-height:1.85;max-width:520px;margin:0 auto}
.x-quote{margin:0 auto 14px;max-width:720px;background:linear-gradient(135deg,var(--accent-soft),#fff);border:1px solid #d8ece3;border-radius:20px;padding:22px 24px;font-size:16px;line-height:1.85;color:#3f5b50;font-weight:600;text-align:center;position:relative}
.x-quote::before{content:"“";position:absolute;font-size:46px;color:var(--accent);opacity:.3;left:14px;top:-6px}
.x-share{text-align:center}
.x-share-line{font-size:15px;color:#5c544c;line-height:1.8;margin-bottom:16px;font-weight:600}
.x-share-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
/* 「我也要测一下」：后台可配置跳转链接，用主题色描边与浅色渐变和主按钮拉开层次 */
.x-share-btns .btn-join{
  border:1.5px solid var(--accent);color:var(--accent-deep);
  background:linear-gradient(135deg,var(--accent-soft),#fff);
  font-weight:700;box-shadow:0 4px 14px rgba(0,0,0,.04);
}
.x-share-btns .btn-join:hover{border-color:var(--accent-deep);transform:translateY(-1px)}
.take-body[data-skin="peach"] .x-share .btn-join{
  border:1.5px solid #e58fb8;color:#b23e71;
  background:linear-gradient(135deg,#ffe4f0,#fff6fa);
}
.x-privacy{text-align:center;font-size:11.5px;color:var(--ink-soft);line-height:1.8;max-width:560px;margin:6px auto 0;padding:0 10px}
.take-body .btn-primary{background:linear-gradient(135deg,#8fd3ba,#5fb89a);color:#fff;box-shadow:0 6px 18px rgba(95,184,154,.25)}
.take-body .btn-primary:hover{box-shadow:0 9px 24px rgba(95,184,154,.35)}
.take-body .btn-ghost{background:#fff;border-color:var(--hair2);color:var(--ink)}
.take-body .btn-ghost:hover{border-color:var(--accent-deep);color:var(--accent-deep)}

/* ---------- 响应式 ---------- */
@media(max-width:980px){
  .hero{grid-template-columns:1fr;gap:26px;padding:36px 0 60px}
  .hero-visual{height:340px;order:-1}
  .rule-grid{grid-template-columns:repeat(2,1fr)}
  .kpi-grid{grid-template-columns:repeat(2,1fr)}
  .grid-2,.grid-3,.editor-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  .topbar{padding:16px 18px}.topnav>a:first-child{display:none}
  .landing-wrap{padding:10px 18px 50px}
  .hero h1{font-size:40px}.hero-sub{font-size:14.5px}
  .rule-grid{grid-template-columns:1fr}
  .card-mini-1{left:0}.card-mini-2{right:0}
  .sidebar{width:64px;flex:0 0 64px;padding:18px 8px}
  .side-brand span:last-child,.side-label,.side-nav button:not(.active) span+*,.side-nav button{font-size:0}
  .side-brand{justify-content:center;padding:0 0 20px}
  .side-nav button{justify-content:center;padding:11px 0;font-size:0}
  .side-nav button span{font-size:19px}
  .side-bottom .side-link{font-size:0;text-align:center}
  .main-area{max-width:calc(100vw - 64px);padding:20px 16px 50px}
  .main-head{flex-direction:column;gap:12px}
  .main-head h1{font-size:21px}
  .kpi-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .kpi-card{padding:15px}.kpi-value{font-size:24px}
  .take-wrap{padding:8px 14px 50px}
  .quiz-cover{padding:26px 22px}.cover-title{font-size:23px}
  .q-card-take{padding:19px}
  .state-card,.result-card{padding:32px 20px}
  .x-hero-card{padding:24px 18px}
  .x-card{padding:20px 16px}
  .x-title{font-size:22px}
  .ratio-side b{font-size:36px}
  .x-share-btns .btn{flex:1;min-width:140px}
  /* 结果页三个动作：复制链接独占一行，「我也要测一下」与回到首页并排一行 */
  .x-share-btns .btn-primary{flex:1 1 100%;min-width:0}
  .x-share-btns .x-join-btn,.x-share-btns .btn-ghost{flex:1 1 calc(50% - 5px);min-width:0}
  .modal-body,.modal-head,.modal-foot{padding-left:17px;padding-right:17px}
  .lic-wrap{padding:8px 14px 50px}
  .lic-grid{grid-template-columns:1fr}
  .lic-state h1{font-size:22px}
}

/* ---------- 授权页 ---------- */
.lic-wrap{max-width:1080px;margin:0 auto;padding:30px 24px 60px}
.lic-state{text-align:center;border-radius:24px;padding:34px 28px 30px;margin-bottom:22px;border:1px solid var(--line);box-shadow:var(--shadow)}
.lic-state-icon{font-size:46px;line-height:1;margin-bottom:14px}
.lic-state h1{font-size:26px;font-weight:800;letter-spacing:-.3px;margin:0 0 10px;color:var(--text)}
.lic-state p{font-size:13.5px;line-height:1.8;color:#7c7075;margin:0 auto;max-width:660px}
.lic-state-ok{background:linear-gradient(140deg,#f2fbf7,#fffaf9)}
.lic-state-wait{background:linear-gradient(140deg,#fff7f3,#fffaf9)}
.lic-state-bad{background:linear-gradient(140deg,#fff0ee,#fffaf9);border-color:#ffd9d3}
.lic-state-bad h1{color:var(--red-deep)}
.lic-state .lic-error{color:var(--red-deep);font-size:12px;margin-top:10px}
.lic-grid{align-items:start}
.lic-panel{min-width:0}
.lic-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #f8f1ef;font-size:13px}
.lic-row:last-child{border-bottom:0}
.lic-row>span{color:var(--muted);flex:0 0 118px}
.lic-row>b{font-weight:650;text-align:right;word-break:break-all}
.lic-switch{margin-top:2px}
.lic-help{margin-top:20px;font-size:12.5px}
@media (max-width:900px){
  .lic-wrap{padding:16px 14px 46px}
  .lic-grid{grid-template-columns:1fr}
  .lic-state{padding:28px 18px}
  .lic-state h1{font-size:21px}
}

/* ============================================================
   多模板结果页：6 套结构级差异样式
   统一奶油 ins 基调，但每张落地页的主视觉 / 配色 / 卡片形态都不同。
   色板定义在 body[data-tpl=*] 上：站点头部、背景光晕、结果卡共用同一套颜色，
   每一张落地页从顶到底都是自己的色相，而不是全站一个薄荷绿。
   色相分配：蜜桃橘 / 薄荷×蜜桃撞色 / 青绿 / 樱花粉丁香 / 奶油奶蓝 / 蜜桃粉×少女粉
   ============================================================ */
.take-body[data-tpl="card"]{--accent:#eea68f;--accent-deep:#d4795f;--accent-soft:#fdeae3;--coral:#e9b8a5;--coral-soft:#fff0e9;--brand-a:#f8c6ac;--brand-b:#dd8163;--brand-glow:rgba(212,121,95,.26)}
.take-body[data-tpl="polar"]{--accent:#6cc3a3;--accent-deep:#3f9c7c;--accent-soft:#e5f5ed;--coral:#f2a18c;--coral-soft:#fdeae3;--brand-a:#7fd0b1;--brand-b:#f2a18c;--brand-glow:rgba(111,178,148,.24)}
.take-body[data-tpl="radar"]{--accent:#5fb89a;--accent-deep:#3f9c7e;--accent-soft:#e4f4ec;--coral:#8fd0b8;--coral-soft:#eaf7f1;--brand-a:#8ed8bd;--brand-b:#3f9c7e;--brand-glow:rgba(63,156,126,.24)}
.take-body[data-tpl="quadrant"]{--accent:#eea3c8;--accent-deep:#c76a9b;--accent-soft:#fdeef7;--coral:#c9a7e8;--coral-soft:#f7eefc;--brand-a:#ffc4dd;--brand-b:#d97bac;--brand-glow:rgba(217,123,172,.26)}
.take-body[data-tpl="code"]{--accent:#8fb6e8;--accent-deep:#5f8ecb;--accent-soft:#eaf3fd;--coral:#c9a9ea;--coral-soft:#f5eefc;--brand-a:#bcd9f7;--brand-b:#7fa5dd;--brand-glow:rgba(111,147,201,.24)}
.take-body[data-tpl="attach"]{--accent:#ee8fb4;--accent-deep:#b8507f;--accent-soft:#ffeaf3;--coral:#f7a9a0;--coral-soft:#ffede7;--brand-a:#f9b6d2;--brand-b:#d973a3;--brand-glow:rgba(217,115,163,.26)}
.tpl-root{/* 色板继承自 body[data-tpl]，此处不再重定义，避免覆盖 */}

/* ---- 1. card 色卡结论卡：珊瑚粉大色块 + 悬浮圆环 ---- */
.tpl-card .x-hero-card{padding:0 0 30px;overflow:hidden}
.tpl-card .x-topline{padding:18px 24px 0}
.tpl-card .card-banner{height:168px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  margin-top:14px;position:relative;background:linear-gradient(135deg,#ffd9c9 0%,#f8b9a6 48%,#e7a0b8 100%)}
.tpl-card .card-banner::after{content:"";position:absolute;left:-10%;right:-10%;bottom:-60px;height:120px;
  background:radial-gradient(ellipse at center,rgba(255,255,255,.55),transparent 70%)}
.tpl-card .card-banner-emoji{font-size:54px;line-height:1;filter:drop-shadow(0 6px 10px rgba(180,100,80,.18))}
.tpl-card .card-banner-label{font-size:10.5px;font-weight:800;letter-spacing:3px;color:#a85c48;opacity:.85}
.tpl-card .score-ring{margin:-38px auto 20px;z-index:2;box-shadow:0 10px 26px rgba(200,120,100,.2)}
.tpl-card .score-ring::before{background:#fffdfa}
.tpl-card .x-title,.tpl-card .x-verdict,.tpl-card .x-tags{padding-left:20px;padding-right:20px}
.tpl-card .x-hero-card::after{display:none}

/* ---- 2. polar 对立双维：左右巨大数字对撞 ---- */
.tpl-polar .x-hero-card{background:linear-gradient(120deg,#fffdfa 0%,#fffdfa 46%,#fff3ec 100%)}
.tpl-polar .r-ratio{gap:10px;margin:26px 0 18px}
.ratio-side{display:flex;flex-direction:column;align-items:center;min-width:0}
.tpl-polar .ratio-side b{font-size:52px;font-weight:850;line-height:1;letter-spacing:-2px}
.tpl-polar .ratio-side.a b{color:var(--accent-deep)}
.tpl-polar .ratio-side.b b{color:#e08b72}
.ratio-side span{font-size:12.5px;font-weight:700;color:var(--ink-soft);margin-top:6px}
.ratio-mid{font-size:20px;color:#c9bdb3;font-weight:700}
.tpl-polar .r-poltrack{height:18px;border-radius:999px;box-shadow:inset 0 1px 3px rgba(0,0,0,.05)}

/* ---- 3. radar 多维雷达画像：SVG 多边形 ---- */
.tpl-radar .x-hero-card{background:radial-gradient(circle at 50% 38%,#eff9f4 0%,#fffdfa 68%)}
.tpl-radar .radar-wrap{display:flex;justify-content:center;margin:6px auto 2px;position:relative;z-index:1}
.radar-svg{width:248px;height:248px;max-width:100%;overflow:visible}
.radar-grid{fill:none;stroke:#d6e9df;stroke-width:1}
.radar-grid:nth-of-type(4){stroke:#bcdcca;stroke-width:1.4}
.radar-axis{stroke:#dce9e2;stroke-width:1}
.radar-data{fill:rgba(95,184,154,.28);stroke:#3f9c7e;stroke-width:2.2;stroke-linejoin:round}
.radar-dot{fill:#fff;stroke:#3f9c7e;stroke-width:2}
.radar-label{font-size:11px;font-weight:700;fill:#5f6f67}
.tpl-radar .x-title{margin-top:8px}

/* ---- 4. quadrant 关系坐标花园：柔雾四角 + 花形定位气泡 ---- */
.tpl-quadrant .x-hero-card{background:linear-gradient(165deg,#fff6fb 0%,#fffdfa 56%,#fdf4ff 100%)}
.qg-garden{position:relative;width:100%;height:262px;margin:20px auto 10px;border-radius:26px;overflow:hidden;
  background:#fff9fc;border:1px solid #f8e3ef;z-index:1}
.qg-wash{position:absolute;width:62%;height:62%;border-radius:50%;opacity:.9;pointer-events:none}
.qg-wash.w1{left:-14%;top:-16%;background:radial-gradient(circle,#f3e6fb 0%,transparent 70%)}
.qg-wash.w2{right:-14%;top:-16%;background:radial-gradient(circle,#ffe1ee 0%,transparent 70%)}
.qg-wash.w3{left:-14%;bottom:-16%;background:radial-gradient(circle,#fff0e2 0%,transparent 70%)}
.qg-wash.w4{right:-14%;bottom:-16%;background:radial-gradient(circle,#e4f6ef 0%,transparent 70%)}
.qg-cross-x,.qg-cross-y{position:absolute;pointer-events:none;z-index:2}
.qg-cross-x{left:9%;right:9%;top:50%;height:1px;background:repeating-linear-gradient(90deg,#eccadd 0 6px,transparent 6px 12px)}
.qg-cross-y{top:9%;bottom:9%;left:50%;width:1px;background:repeating-linear-gradient(180deg,#eccadd 0 6px,transparent 6px 12px)}
.qg-cell{position:absolute;z-index:3;display:flex;flex-direction:column;align-items:center;gap:2px;
  max-width:40%;padding:7px 10px;border-radius:14px;background:rgba(255,255,255,.84);
  border:1px solid #f4e2ee;box-shadow:0 4px 12px rgba(200,150,180,.1)}
.qg-cell span:last-child{font-size:10px;line-height:1.4;color:#a98ba0;text-align:center}
.qg-cell-emoji{font-size:14px;line-height:1}
.qg-cell.tl{left:4%;top:5%}.qg-cell.tr{right:4%;top:5%}
.qg-cell.bl{left:4%;bottom:5%}.qg-cell.br{right:4%;bottom:5%}
.qg-cell.on{background:linear-gradient(145deg,#f7a8cb,#d977ab);border-color:#e58fb9;
  box-shadow:0 10px 24px rgba(217,119,171,.28);transform:scale(1.06)}
.qg-cell.on span:last-child{color:#fff;font-weight:800}
.qg-marker{position:absolute;z-index:5;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:4px}
.qg-marker-face{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:22px;
  background:#fff;border:3px solid #f2a1c6;box-shadow:0 8px 20px rgba(217,119,171,.35)}
.qg-marker-tag{font-size:10px;font-weight:800;color:#c76a9b;background:#fff;padding:3px 9px;border-radius:999px;
  box-shadow:0 3px 10px rgba(200,140,175,.2);white-space:nowrap}
.qg-legend{display:flex;justify-content:space-between;font-size:11px;font-weight:700;color:#c07fa2;position:relative;z-index:1;padding:0 4px}

/* ---- 5. code 人格代号：奶油奶蓝英雄卡 + 糖果字母块（浅底，告别压抑深蓝） ---- */
.tpl-code .x-hero-card{background:linear-gradient(150deg,#eef7ff 0%,#f6f1ff 52%,#fff0f6 100%);
  border-color:#e3ecfa;box-shadow:0 18px 42px rgba(140,165,210,.18);padding-bottom:30px}
.tpl-code .x-hero-card::after{background:radial-gradient(circle,rgba(255,255,255,.78),transparent 70%)}
.tpl-code .x-topline{color:#8ea3c4}
.tpl-code .x-topline em{background:rgba(255,255,255,.82);color:#6f93c9}
.code-display{display:flex;justify-content:center;gap:8px;margin:22px 0 6px;position:relative;z-index:1}
.code-letter{width:56px;height:68px;border-radius:16px;display:grid;place-items:center;font-size:38px;font-weight:850;
  color:#fff;box-shadow:0 8px 20px rgba(150,170,210,.24);letter-spacing:-1px}
.code-l0{background:linear-gradient(145deg,#ffbba6,#f58e72)}
.code-l1{background:linear-gradient(145deg,#9bdcbf,#5fb99a)}
.code-l2{background:linear-gradient(145deg,#cbb0ed,#a07bd0)}
.code-l3{background:linear-gradient(145deg,#b6d5f5,#7ea9d8)}
.code-sub{font-size:11px;font-weight:700;letter-spacing:2px;color:#8ea3c4;position:relative;z-index:1}
.tpl-code .x-title{color:#3f4b63;margin-top:22px}
.tpl-code .x-verdict{color:#71809c}
.tpl-code .x-tag{background:rgba(255,255,255,.85);color:#6f93c9;border:1px solid #dce8f8;box-shadow:none}
.code-axes{display:flex;flex-direction:column;gap:14px}
.code-axis{position:relative;padding:14px 48px 14px 16px;background:#fff;border:1px solid var(--hair);border-radius:16px}
.code-axis-head{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:9px}
.code-axis-head b{color:var(--ink);font-weight:750}
.code-axis-head span{margin-left:auto;font-size:12px;font-weight:800;color:var(--accent-deep)}
.code-axis-head em{font-style:normal;font-size:11.5px;color:var(--ink-soft)}
.code-axis-track{height:9px;border-radius:999px;background:#eef4fc;overflow:hidden}
.code-axis-track i{display:block;height:100%;background:linear-gradient(90deg,#b6d5f5,#6f93c9);border-radius:999px}
.code-axis-letter{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:10px;
  background:#eaf3fd;color:#6f93c9;font-weight:850;display:grid;place-items:center;font-size:15px}

/* ---- 6. attach 依恋体检报告：奶咖报告单 + 指标条 + 橡胶印章 ---- */
.tpl-attach .x-hero-card{background:linear-gradient(170deg,#fffaf0 0%,#fdf5e8 55%,#f9efdf 100%);
  border-color:#eddfc6;box-shadow:0 18px 44px rgba(170,140,95,.16);padding-bottom:30px}
.tpl-attach .x-topline{color:#a8926a}
.tpl-attach .x-topline em{background:#fffdf8;color:#a3794b}
.tpl-attach .x-hero-card::after{background:radial-gradient(circle,rgba(247,237,221,.9),transparent 70%)}
.rep-sheet{margin:16px auto 6px;background:#fffdf8;border:1px solid #efe3cc;border-radius:18px;
  padding:18px 18px 16px;position:relative;z-index:1;box-shadow:0 6px 18px rgba(170,140,95,.10)}
.rep-head{display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding-bottom:10px;margin-bottom:14px;font-size:12.5px;font-weight:800;color:#8a6d3f;letter-spacing:.5px;
  border-bottom:1px dashed #e6d7ba}
.rep-head em{font-style:normal;font-size:10.5px;color:#bda476;font-weight:700;letter-spacing:1px;font-variant-numeric:tabular-nums}
.rep-body{display:grid;grid-template-columns:1fr 128px;gap:16px;align-items:center;position:relative;z-index:1}
.rep-meters{display:flex;flex-direction:column;gap:15px}
.rep-meter-head{display:flex;align-items:center;justify-content:space-between;font-size:13.5px}
.rep-meter-head b{color:#5c544c;font-weight:750}
.rep-flag{font-size:10.5px;font-weight:800;padding:3px 11px;border-radius:999px;background:#eaf3e9;color:#4f9e79;letter-spacing:1px}
.rep-flag.f-high{background:#fdeee2;color:#c96f3a}
.rep-meter-avg{margin-top:3px}
.rep-meter-avg b{font-size:30px;font-weight:850;color:#3b352f;letter-spacing:-1px;font-variant-numeric:tabular-nums}
.rep-meter-avg span{font-size:11.5px;color:#bda476;margin-left:4px;font-weight:700}
.rep-track{position:relative;height:10px;border-radius:999px;background:#f1e7d2;margin:8px 0 6px}
.rep-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#e2c79c,#c9a074)}
.rep-track u{position:absolute;left:60%;top:-4px;bottom:-4px;width:2px;background:#c96f3a;opacity:.6;border-radius:2px}
.rep-meter-foot{display:flex;justify-content:space-between;font-size:10px;color:#bda476;font-weight:700;letter-spacing:.5px}
.rep-meter-foot em{font-style:normal;color:#c96f3a}
/* 橡胶印章 */
.rep-stamp{width:116px;height:116px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  border:3px double currentColor;transform:rotate(-9deg);justify-self:center;position:relative;opacity:.92}
.rep-stamp::after{content:"";position:absolute;inset:7px;border:1px dashed currentColor;border-radius:50%;opacity:.55}
.rep-stamp b{font-size:20px;font-weight:900;letter-spacing:3px;margin-left:3px}
.rep-stamp em{font-style:normal;font-size:9.5px;letter-spacing:2px;margin-left:2px;opacity:.8}
.rep-stamp i{font-style:normal;font-size:7px;letter-spacing:1.6px;opacity:.55;margin-top:2px;margin-left:1px}
.st-secure{color:#3f9c7c}.st-anxious{color:#d4752f}.st-avoidant{color:#5f8ecb}.st-fearful{color:#9a6fd0}
.tpl-attach .x-tag{background:#f7eddd;color:#8a6d3f;box-shadow:inset 0 0 0 1px rgba(163,121,75,.22)}
/* 恋爱配对参考卡 */
.rep-pairing .x-kicker{background:#f7eddd;color:#a3794b}
.rep-pairs{display:flex;flex-direction:column;gap:10px;margin-top:12px;text-align:left}
.rep-pair{display:flex;flex-direction:column;gap:3px;background:#fffdf8;border:1px solid #efe3cc;
  border-left:3px solid var(--accent);border-radius:12px;padding:11px 15px}
.rep-pair b{font-size:12.5px;color:#8a6d3f;font-weight:800;letter-spacing:.3px}
.rep-pair p{font-size:12.5px;color:#6b6157;line-height:1.7;margin:0}

/* 分享按钮随模板主色变化 */
.tpl-polar .x-share .btn-primary,.tpl-radar .x-share .btn-primary{background:linear-gradient(135deg,#8fd3ba,#4fa98a);color:#fff}
.tpl-quadrant .x-share .btn-primary{background:linear-gradient(135deg,#f7a8cb,#d977ab);color:#fff}
.tpl-code .x-share .btn-primary{background:linear-gradient(135deg,#b6d5f5,#6f93c9);color:#fff}
.tpl-card .x-share .btn-primary{background:linear-gradient(135deg,#f5b79f,#d4795f);color:#fff}
.tpl-attach .x-share .btn-primary{background:linear-gradient(135deg,#e2c79c,#b28a5a);color:#fff}

@media(max-width:720px){
  .tpl-card .card-banner{height:142px}
  .tpl-card .card-banner-emoji{font-size:44px}
  .tpl-card .score-ring{width:128px;height:128px;margin-top:-32px}
  .tpl-polar .ratio-side b{font-size:44px}
  .radar-svg{width:220px;height:220px}
  .qg-garden{height:230px}
  .qg-cell{max-width:44%;padding:6px 8px}
  .code-letter{width:48px;height:58px;font-size:32px;border-radius:14px}
  .code-display{gap:6px}
  .rep-body{grid-template-columns:1fr;gap:18px}
  .rep-stamp{width:104px;height:104px;justify-self:center}
  .rep-stamp b{font-size:18px}
  .rep-meter-avg b{font-size:26px}
}

/* ============================================================
   后台：模板选择弹窗 / 编辑器模板切换 / 维度附加字段
   ============================================================ */
.tpl-lead{font-size:13.5px;color:#6b6157;line-height:1.85;margin:0 0 18px}
.tpl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:14px}
.tpl-pick{display:flex;flex-direction:column;text-align:left;gap:8px;padding:18px;border:1px solid #efe7df;
  border-radius:20px;background:#fffdfa;cursor:pointer;font:inherit;color:inherit;transition:.18s}
.tpl-pick:hover{border-color:#74c4a6;box-shadow:0 10px 26px rgba(95,184,154,.16);transform:translateY(-2px)}
.tpl-pick-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tpl-pick-icon{font-size:24px}
.tpl-pick-name{font-size:15px;font-weight:800;color:#3b352f}
.tpl-pick-tag{font-size:10.5px;font-weight:700;color:#4fa98a;background:#e8f5ef;border-radius:999px;padding:3px 9px}
.tpl-pick-desc{font-size:12.5px;color:#6b6157;line-height:1.7}
.tpl-pick-structure{font-size:11px;color:#8a8078;line-height:1.7;background:#faf5ee;border-radius:10px;padding:9px 11px}
.tpl-pick-needs{font-size:11px;color:#a08c7d;line-height:1.6}
.tpl-pick-cta{margin-top:2px;font-size:12.5px;font-weight:800;color:#4fa98a}
.tpl-blank{text-align:center;margin-top:20px}
.tpl-switch{display:flex;gap:8px;flex-wrap:wrap}
.tpl-chip{border:1px solid #e6dcd2;background:#fff;border-radius:999px;padding:8px 14px;font-size:12.5px;
  font-weight:700;color:#6b6157;cursor:pointer;transition:.15s}
.tpl-chip:hover{border-color:#74c4a6;color:#4fa98a}
.tpl-chip.active{background:linear-gradient(135deg,#8fd3ba,#5fb89a);color:#fff;border-color:transparent;
  box-shadow:0 5px 14px rgba(95,184,154,.25)}
.dim-extra{flex:0 0 100%;display:flex;gap:10px;margin-top:8px;padding-top:8px;border-top:1px dashed #efe7df}
.dim-extra label{display:flex;align-items:center;gap:6px;font-size:11.5px;color:#9a8f86;flex:1;min-width:0;white-space:nowrap}
.dim-extra .inp{flex:1;min-width:0}
.tag-tpl{background:#eaf4ef;color:#4fa98a}
@media(max-width:720px){.tpl-grid{grid-template-columns:1fr}}

/* ============================================================
   attach 模板专属皮肤：蜜桃粉 × 少女粉（body[data-skin="peach"]）
   ------------------------------------------------------------
   作用域只覆盖「亲密关系依恋测试 / attach 模板」，其余 5 套测评完全不受影响。
   配色分三层：蜜桃粉 #f7a9a0（暖） → 少女粉 #f28fb6（甜） → 莓粉 #d2558a / #b23e71（强调）。
   所有承载文字的实底一律使用最深的莓粉，白字对比度 ≥ 4.5:1；
   浅粉只用做背景、描边与装饰，正文保持深莓棕 #472e3a，保证可读性。
   答题区不再复用 .likert-* 白方块，改用 .pk-* 全新结构：
   内嵌作答面板 → 5 张层次卡片 → 程度轴 → 两端刻度说明。
   ============================================================ */
.take-body[data-skin="peach"]{
  --pk-ink:#472e3a; --pk-ink2:#714f5d; --pk-ink3:#8a6474;
  --pk-peach:#f7a9a0; --pk-peach-soft:#ffede7;
  --pk-girl:#f28fb6; --pk-girl-soft:#ffe8f2;
  --pk-berry:#d2558a; --pk-berry-deep:#b23e71;
  --pk-line:#f5dce6; --pk-card:#fffafb;
  --accent:#ee8fb4; --accent-deep:#b8507f; --accent-soft:#ffeaf3;
  --coral:#f7a9a0; --coral-soft:#ffede7;
  --brand-a:#f9b6d2; --brand-b:#d973a3; --brand-glow:rgba(217,115,163,.26);
  --cream-card:#fffafb; --ink:#472e3a; --ink-soft:#8a6474;
  --hair:#f5dce6; --hair2:#efcddb;
  background:#fff6f9;color:var(--pk-ink);
}
/* 背景：少女粉 / 蜜桃粉双光晕，整页从顶到底是粉色而不是奶油黄 */
.take-body[data-skin="peach"] .take-bg{
  background:radial-gradient(760px 480px at 12% -10%,#ffe1ee 0%,transparent 66%),
             radial-gradient(680px 460px at 94% 2%,#ffe8de 0%,transparent 64%),
             radial-gradient(720px 520px at 100% 100%,#ffeaf3 0%,transparent 70%),
             #fff6f9;
}
.take-body[data-skin="peach"] .take-topbar .brand{color:var(--pk-ink)}
.take-body[data-skin="peach"] .brand-mark{
  background:linear-gradient(135deg,var(--brand-a),var(--brand-b));
  box-shadow:0 5px 14px rgba(210,85,138,.30);
}
.take-body[data-skin="peach"] .take-badge{
  color:var(--pk-berry-deep);background:linear-gradient(120deg,#fff,#fff0f6);
  border:1px solid #f6d5e4;box-shadow:0 4px 14px rgba(210,85,138,.10);
}
.take-body[data-skin="peach"][data-tpl] .take-badge{background:#ffeaf3;border-color:transparent;box-shadow:none}
.take-body[data-skin="peach"][data-tpl] .take-topbar::before{
  background:linear-gradient(90deg,var(--pk-peach),var(--pk-girl) 46%,transparent 92%);
}
/* 封面卡：蜜桃粉 → 少女粉渐变，装饰圆换成粉雾 */
.take-body[data-skin="peach"] .quiz-cover{
  background:linear-gradient(135deg,#fff0f5 0%,#ffe6ee 46%,#ffe9e1 100%);
  border:1px solid #f8d7e4;border-radius:26px;
  box-shadow:0 18px 42px rgba(210,85,138,.15);
}
.take-body[data-skin="peach"] .quiz-cover::after{
  width:250px;height:250px;right:-64px;top:-96px;
  background:radial-gradient(circle,#f6a9c9 0%,transparent 72%);opacity:.30;
}
.take-body[data-skin="peach"] .quiz-cover::before{
  background:radial-gradient(circle,#f8b69f 0%,transparent 72%);opacity:.28;
}
.take-body[data-skin="peach"] .cover-title{color:var(--pk-ink)}
.take-body[data-skin="peach"] .cover-sub{color:var(--pk-ink2)}
.take-body[data-skin="peach"] .quiz-meta span{
  background:rgba(255,255,255,.80);border:1px solid rgba(210,85,138,.20);
  color:#8a4a6b;box-shadow:0 2px 8px rgba(210,85,138,.07);
}
/* 倒计时条与进度条 */
.take-body[data-skin="peach"] .countdown-bar{
  background:linear-gradient(100deg,#fff,#fff6fa);border:1px solid var(--pk-line);
  border-radius:16px;box-shadow:0 5px 18px rgba(210,85,138,.08);color:var(--pk-ink2);
}
.take-body[data-skin="peach"] .countdown-bar b{color:var(--pk-berry-deep);font-weight:800}
.take-body[data-skin="peach"] .progress-track{
  height:10px;background:#f8d8e7;border:1px solid #f2c9dd;border-radius:999px;
  box-shadow:inset 0 1px 2px rgba(178,62,113,.08);overflow:visible;
}
.take-body[data-skin="peach"] .progress-track i{
  background:linear-gradient(90deg,#f7a9a0,#f28fb6 55%,#d2558a);
  border-radius:999px;position:relative;
}
.take-body[data-skin="peach"] .progress-track i::after{
  content:"";position:absolute;right:-3px;top:50%;transform:translateY(-50%);
  width:13px;height:13px;border-radius:50%;background:#fff;border:3px solid var(--pk-berry);
  box-shadow:0 2px 8px rgba(210,85,138,.30);
}
/* 题卡：题号改粉色胶囊，题干左侧一道蜜桃→少女粉竖条 */
.take-body[data-skin="peach"] .q-card-take{
  position:relative;
  background:linear-gradient(170deg,#fff 0%,#fffafb 100%);
  border:1px solid var(--pk-line);border-radius:24px;padding:26px 24px 24px;
  box-shadow:0 12px 32px rgba(210,85,138,.10);
}
/* 题卡顶端一道蜜桃粉 → 少女粉 → 莓粉的细渐变，明确双色层次 */
.take-body[data-skin="peach"] .q-card-take::before{
  content:"";position:absolute;left:26px;right:26px;top:0;height:3px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,var(--pk-peach),var(--pk-girl) 50%,var(--pk-berry));
  opacity:.8;
}
.take-body[data-skin="peach"] .q-num{
  display:inline-flex;align-items:center;background:#ffeaf3;
  color:var(--pk-berry-deep);border:1px solid #f8d3e4;
  padding:5px 13px;border-radius:999px;font-size:11px;letter-spacing:1.1px;margin-bottom:14px;
}
.take-body[data-skin="peach"] .q-title-take{
  position:relative;padding-left:16px;color:var(--pk-ink);
  font-size:18.5px;font-weight:800;line-height:1.7;margin-bottom:6px;
}
.take-body[data-skin="peach"] .q-title-take::before{
  content:"";position:absolute;left:0;top:5px;bottom:5px;width:4px;border-radius:999px;
  background:linear-gradient(180deg,var(--pk-peach),var(--pk-girl));
}
.take-body[data-skin="peach"] .q-hint{color:var(--pk-ink3)}

/* ---------- 全新作答控件：内嵌面板 + 5 张层次卡片 + 程度轴 ---------- */
.pk-answer{
  margin-top:4px;
  background:linear-gradient(135deg,#fff0f6 0%,#fff7f7 54%,#fff1e9 100%);
  border:1px solid #f7dce8;border-radius:20px;padding:16px 16px 14px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.pk-answer-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}
.pk-answer-cap{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12.5px;font-weight:800;color:var(--pk-berry-deep);letter-spacing:.4px;
}
.pk-answer-cap::before{
  content:"";width:4px;height:15px;border-radius:999px;
  background:linear-gradient(180deg,var(--pk-peach),var(--pk-girl));
}
.pk-answer-step{font-size:11px;font-weight:800;color:#b98ca1;letter-spacing:1.6px;font-variant-numeric:tabular-nums}
.pk-choices{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.pk-choice{
  position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;
  min-height:112px;padding:14px 5px 12px;border-radius:16px;
  background:#fff;border:1.5px solid #f3d9e5;
  box-shadow:0 4px 12px rgba(210,85,138,.06);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease;
}
.pk-choice:hover{
  border-color:#f0a8c6;background:#fffafd;transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(210,85,138,.13);
}
.pk-choice-badge{
  width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
  font-size:16px;font-weight:850;color:var(--pk-berry-deep);
  background:linear-gradient(145deg,#fff0f6,#ffe6ee);border:1.5px solid #f6d2e2;
  font-variant-numeric:tabular-nums;transition:.18s;
}
/* 点阵：随级数递增亮起，给出「程度」的第二层视觉信息 */
.pk-choice-dots{display:flex;gap:3px;align-items:center;justify-content:center;height:8px}
.pk-choice-dots i{width:5px;height:5px;border-radius:50%;background:#f6dce6;transition:.18s}
.pk-choice-dots i.on{background:linear-gradient(135deg,var(--pk-peach),var(--pk-girl))}
.pk-choice-label{
  min-height:28px;display:flex;align-items:center;justify-content:center;text-align:center;
  font-size:10.5px;line-height:1.35;font-weight:650;color:var(--pk-ink2);white-space:nowrap;
}
.pk-choice-label em{font-style:normal;color:#e3c4d3;font-size:15px;letter-spacing:2px}
.pk-choice-tick{
  position:absolute;right:6px;top:6px;width:16px;height:16px;border-radius:50%;
  background:var(--pk-berry-deep);color:#fff;font-size:10px;font-weight:800;
  display:grid;place-items:center;opacity:0;transform:scale(.5);transition:.2s;
}
/* 选中：抬升 + 实莓粉徽章 + 勾 + 底部指示条 */
.pk-choice.selected{
  border-color:var(--pk-berry);background:linear-gradient(165deg,#fff0f6,#ffe6f0);
  box-shadow:0 10px 24px rgba(210,85,138,.20);transform:translateY(-3px);
}
.pk-choice.selected::after{
  content:"";position:absolute;left:22%;right:22%;bottom:5px;height:3px;border-radius:999px;
  background:linear-gradient(90deg,var(--pk-peach),var(--pk-berry-deep));
}
.pk-choice.selected .pk-choice-badge{
  background:linear-gradient(145deg,#d2558a,#b23e71);color:#fff;border-color:#b23e71;
  box-shadow:0 4px 12px rgba(178,62,113,.32);
}
.pk-choice.selected .pk-choice-label{color:var(--pk-berry-deep);font-weight:800}
.pk-choice.selected .pk-choice-tick{opacity:1;transform:scale(1)}
.pk-choice.selected .pk-choice-dots i.on{background:linear-gradient(135deg,#e87aa2,#b23e71)}
/* 程度轴：选中后从左至右逐段点亮 */
.pk-rail{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin:14px 2px 8px}
.pk-rail i{height:5px;border-radius:999px;background:#f7e2eb;transition:background .2s}
.pk-rail i.on{background:linear-gradient(90deg,var(--pk-peach),var(--pk-girl),var(--pk-berry-deep))}
.pk-legend{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10.5px;font-weight:650;color:var(--pk-ink3)}
.pk-legend>span:first-child,.pk-legend>span:last-child{
  background:#fff;border:1px solid #f3d9e5;border-radius:999px;
  padding:3px 10px;color:var(--pk-ink2);white-space:nowrap;
}
.pk-legend-mid{flex:1;text-align:center;color:var(--pk-berry-deep);font-weight:800;letter-spacing:.5px}

/* 单选 / 多选 / 文本题：同一套粉色语言，结构保持原样 */
.take-body[data-skin="peach"] .option-list{gap:10px}
.take-body[data-skin="peach"] .option-btn{
  border:1.5px solid #f3d9e5;border-radius:16px;background:#fff;color:var(--pk-ink);
  padding:14px 16px;box-shadow:0 3px 12px rgba(210,85,138,.05);
}
.take-body[data-skin="peach"] .option-btn:hover{border-color:#f0a8c6;background:#fffafd}
.take-body[data-skin="peach"] .option-btn .radio{border-color:var(--hair2);background:#fff7fa}
.take-body[data-skin="peach"] .option-btn.selected{
  border-color:var(--pk-berry);background:#ffedf5;font-weight:750;color:var(--pk-berry-deep);
}
.take-body[data-skin="peach"] .option-btn.selected .radio{border-color:var(--pk-berry-deep);background:var(--pk-berry-deep)}
.take-body[data-skin="peach"] .text-answer{
  border:1.5px solid #f3d9e5;border-radius:16px;background:#fff;color:var(--pk-ink);
}
.take-body[data-skin="peach"] .text-answer:focus{border-color:var(--pk-berry);box-shadow:0 0 0 3px #ffeaf3}

/* 作答按钮 / 保存提示 / 页脚 */
.take-body[data-skin="peach"] .quiz-actions{margin:20px 0 26px}
.take-body[data-skin="peach"] .quiz-actions .btn{border-radius:999px;padding:11px 22px;font-weight:750}
.take-body[data-skin="peach"] .quiz-actions .btn-ghost{
  background:#fff;border:1.5px solid #f0cddd;color:var(--pk-ink2);
}
.take-body[data-skin="peach"] .quiz-actions .btn-ghost:hover{
  border-color:var(--pk-berry);color:var(--pk-berry-deep);background:#fff6fa;
}
.take-body[data-skin="peach"] .quiz-actions .btn-plain,
.take-body[data-skin="peach"] .btn-primary{
  background:linear-gradient(135deg,#d2558a,#b23e71);color:#fff;
  border:1.5px solid transparent;box-shadow:0 8px 20px rgba(178,62,113,.26);
}
.take-body[data-skin="peach"] .quiz-actions .btn-plain:hover,
.take-body[data-skin="peach"] .btn-primary:hover{
  box-shadow:0 11px 26px rgba(178,62,113,.34);
}
.take-body[data-skin="peach"] .save-hint{color:var(--pk-ink3);font-size:11.5px}
.take-body[data-skin="peach"] .footer-label{color:var(--pk-berry-deep)}
.take-body[data-skin="peach"] .footer-label::after{background:linear-gradient(90deg,#f3d9e5,transparent)}
.take-body[data-skin="peach"] .quiz-footer-custom{
  background:linear-gradient(165deg,#fff,#fff8fa);border:1px solid var(--pk-line);
  border-radius:20px;color:var(--pk-ink2);box-shadow:0 8px 22px rgba(210,85,138,.07);
}
.take-body[data-skin="peach"] .quiz-footer-custom a{color:var(--pk-berry-deep)}
.take-body[data-skin="peach"] .take-global-footer{color:#b58ea1}
.take-body[data-skin="peach"] .state-card{background:#fffafb;border-color:var(--pk-line)}

/* 结果展示：结构不变，只把奶咖报告单整体换成粉色层次 */
.take-body[data-skin="peach"] .tpl-attach .x-hero-card{
  background:linear-gradient(170deg,#fff2f7 0%,#fff8f9 52%,#ffeef2 100%);
  border-color:#f6d8e6;box-shadow:0 18px 44px rgba(210,85,138,.15);
}
.take-body[data-skin="peach"] .tpl-attach .x-hero-card::after{
  background:radial-gradient(circle,rgba(255,234,243,.95),transparent 70%);
}
.take-body[data-skin="peach"] .tpl-attach .x-topline{color:#b47a99}
.take-body[data-skin="peach"] .tpl-attach .x-topline em{background:#fff;color:var(--pk-berry-deep)}
.take-body[data-skin="peach"] .rep-sheet{
  background:#fffcfd;border-color:#f6dce6;box-shadow:0 8px 22px rgba(210,85,138,.10);
}
.take-body[data-skin="peach"] .rep-head{color:#9c5a7c;border-color:#f3dde7}
.take-body[data-skin="peach"] .rep-head em{color:#c08aa5}
.take-body[data-skin="peach"] .rep-meter-head b{color:var(--pk-ink)}
.take-body[data-skin="peach"] .rep-flag{background:#ffede7;color:#b45c48}
.take-body[data-skin="peach"] .rep-flag.f-high{background:#ffe0ec;color:var(--pk-berry-deep)}
.take-body[data-skin="peach"] .rep-meter-avg b{color:var(--pk-berry-deep)}
.take-body[data-skin="peach"] .rep-meter-avg span,
.take-body[data-skin="peach"] .rep-meter-foot{color:#b98ca1}
.take-body[data-skin="peach"] .rep-track{background:#fbe6ef}
.take-body[data-skin="peach"] .rep-track i{background:linear-gradient(90deg,var(--pk-peach),var(--accent),var(--pk-berry-deep))}
.take-body[data-skin="peach"] .rep-track u{background:var(--pk-berry-deep)}
.take-body[data-skin="peach"] .rep-meter-foot em{color:var(--pk-berry-deep)}
/* 四种类型印章：保留区分度，但统一收敛到粉系四档 */
.take-body[data-skin="peach"] .st-secure{color:#c25a88}
.take-body[data-skin="peach"] .st-anxious{color:#e0796c}
.take-body[data-skin="peach"] .st-avoidant{color:#c88ab4}
.take-body[data-skin="peach"] .st-fearful{color:#ad6a90}
.take-body[data-skin="peach"] .tpl-attach .x-tag{background:#ffeaf3;color:var(--pk-berry-deep);box-shadow:inset 0 0 0 1px rgba(210,85,138,.18)}
.take-body[data-skin="peach"] .rep-pairing .x-kicker{background:#ffeaf3;color:var(--pk-berry-deep)}
.take-body[data-skin="peach"] .rep-pair{background:#fffcfd;border-color:#f6dce6;border-left-color:var(--pk-berry)}
.take-body[data-skin="peach"] .rep-pair b{color:var(--pk-berry-deep)}
.take-body[data-skin="peach"] .rep-pair p{color:var(--pk-ink2)}
.take-body[data-skin="peach"] .x-card{background:#fffcfd;border-color:var(--pk-line)}
.take-body[data-skin="peach"] .x-kicker,
.take-body[data-skin="peach"] .x-trait-no{background:#ffeaf3;color:var(--pk-berry-deep)}
.take-body[data-skin="peach"] .x-quote{
  background:linear-gradient(135deg,#ffeaf3,#fff6f6);border-color:#f6d8e6;color:#7a3f5d;
}
.take-body[data-skin="peach"] .x-quote::before{color:var(--pk-berry);opacity:.35}
.take-body[data-skin="peach"] .x-privacy{color:#a98597}
.take-body[data-skin="peach"] .x-share .btn-ghost{background:#fff;border-color:#f0cddd;color:var(--pk-ink2)}

@media(max-width:720px){
  .take-body[data-skin="peach"] .q-card-take{padding:20px 16px}
  .take-body[data-skin="peach"] .pk-answer{padding:14px 10px 12px}
  .take-body[data-skin="peach"] .pk-choices{gap:5px}
  .take-body[data-skin="peach"] .pk-choice{min-height:104px;padding:12px 3px 11px;border-radius:14px;gap:8px}
  .take-body[data-skin="peach"] .pk-choice-badge{width:30px;height:30px;font-size:14px}
  .take-body[data-skin="peach"] .pk-choice-label{font-size:9px;letter-spacing:-.3px}
  .take-body[data-skin="peach"] .pk-choice-tick{width:14px;height:14px;font-size:9px;right:4px;top:4px}
  .take-body[data-skin="peach"] .pk-legend{font-size:9.5px}
}
