
:root{--bg:#f6f0ec;--card:rgba(255,255,255,.78);--text:#302b2e;--muted:#786f73;--accent:#9b6b78;--accent2:#d8b9c2;--line:rgba(50,43,46,.11);--shadow:0 24px 70px rgba(67,49,56,.11)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:var(--text);background:var(--bg)}
body[data-test="mbti"]{--bg:#f2effb;--accent:#675fa5;--accent2:#c7c0ef}
body[data-test="attachment"]{--bg:#fff3f1;--accent:#a95f6b;--accent2:#edbec4}
body[data-test="phq9"]{--bg:#eef5f0;--accent:#4f7b66;--accent2:#b9d7c5}
body[data-test="admin"]{--bg:#f5f5f3;--accent:#535353;--accent2:#d6d6d1}
body{overflow-x:hidden}.bg-orb{position:fixed;border-radius:50%;filter:blur(4px);opacity:.38;z-index:0}
.orb-a{width:360px;height:360px;background:var(--accent2);top:-130px;right:-100px}.orb-b{width:290px;height:290px;background:white;bottom:-120px;left:-90px}
.shell{position:relative;z-index:1;width:min(720px,calc(100% - 28px));margin:0 auto;padding:28px 0 54px}.wide{width:min(1000px,calc(100% - 28px))}
.brand{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.12em;color:var(--muted);margin:4px 3px 22px}.brand-dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}
.card{background:var(--card);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.8);border-radius:28px;padding:32px;box-shadow:var(--shadow)}
.hero{padding:42px 36px}.eyebrow{font-size:12px;letter-spacing:.15em;color:var(--accent);font-weight:700;margin-bottom:13px}
h1{font-size:clamp(30px,7vw,52px);line-height:1.06;margin:0 0 16px;letter-spacing:-.045em}h2{font-size:23px;line-height:1.45;margin:18px 0 20px}.lead{font-size:16px;line-height:1.8;color:var(--muted);margin:0 0 24px}.tiny{font-size:12px;line-height:1.7;color:var(--muted)}
.access-box{display:flex;gap:10px;margin:25px 0 9px}input,select,button{font:inherit}input,select{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.8);border-radius:14px;padding:14px 16px;outline:none;color:var(--text)}
input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent)}
button{border:0;border-radius:14px;padding:14px 19px;background:var(--accent);color:#fff;font-weight:700;cursor:pointer;transition:.18s}button:hover{transform:translateY(-1px);filter:brightness(.98)}
.primary{width:100%;margin-top:6px}.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}.hidden{display:none!important}.msg{font-size:13px;margin-top:10px;color:#a44343}
.notice{border-left:3px solid var(--accent);padding:13px 15px;background:color-mix(in srgb,var(--accent) 7%,white);border-radius:4px 14px 14px 4px;color:var(--muted);font-size:13px;line-height:1.75;margin:20px 0}
.pill{display:inline-flex;padding:7px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent) 11%,white);color:var(--accent);font-size:12px;font-weight:700;margin-bottom:16px}
.progress-row{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.track{height:7px;background:rgba(0,0,0,.06);border-radius:99px;margin:10px 0 26px;overflow:hidden}.track div{height:100%;background:var(--accent);width:0;transition:.3s}
.options{display:grid;gap:10px}.option{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:rgba(255,255,255,.62);color:var(--text);border:1px solid var(--line);font-weight:500}.option span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 12%,white);color:var(--accent);font-size:12px;font-weight:800}.quiz-nav{margin-top:20px;display:flex;justify-content:flex-start}
.result-hero{padding:24px;border-radius:22px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,white),rgba(255,255,255,.5));margin:20px 0}.big-type{font-size:46px;font-weight:850;letter-spacing:-.05em;color:var(--accent)}.metric{margin:17px 0}.metric-head{display:flex;justify-content:space-between;font-size:13px;margin-bottom:7px}.metric-track{height:9px;border-radius:99px;background:rgba(0,0,0,.06);overflow:hidden}.metric-track i{display:block;height:100%;background:var(--accent);border-radius:99px}
.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mini{padding:17px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.52)}.mini b{display:block;margin-bottom:7px}.mini p{margin:0;color:var(--muted);line-height:1.7;font-size:13px}
.alert{padding:18px;border-radius:16px;background:#fff1f0;border:1px solid #efcbc6;color:#7f3939;line-height:1.7;margin:18px 0}.safe{padding:18px;border-radius:16px;background:rgba(255,255,255,.55);border:1px solid var(--line);line-height:1.7;color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}.test-tile{text-decoration:none;color:inherit;background:rgba(255,255,255,.55);border:1px solid var(--line);border-radius:22px;padding:21px;transition:.18s}.test-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.test-tile>b{color:var(--accent);font-size:12px}.test-tile h2{font-size:20px;margin:11px 0 8px}.test-tile p{font-size:13px;line-height:1.6;color:var(--muted);margin:0}
footer{font-size:11px;line-height:1.7;color:var(--muted);text-align:center;margin:20px 10px}.admin-form{display:grid;grid-template-columns:1.2fr 1fr 100px 1.4fr auto;gap:9px}.rule{height:1px;background:var(--line);margin:28px 0}.admin-head{display:flex;align-items:center;justify-content:space-between}.codes{padding:15px;border-radius:16px;background:#fff;border:1px dashed var(--accent);margin:14px 0;word-break:break-all}.code-row{display:grid;grid-template-columns:1fr .7fr .7fr auto;gap:10px;align-items:center;border-top:1px solid var(--line);padding:13px 0;font-size:12px}.actions{display:flex;gap:6px}.actions button{padding:8px 10px;font-size:11px}.status{font-weight:700}.status.bound{color:#8b6333}.status.free{color:#3c7853}.status.off{color:#9b4040}
@media(max-width:760px){.card,.hero{padding:25px 19px;border-radius:23px}.access-box{flex-direction:column}.grid{grid-template-columns:1fr}.result-grid{grid-template-columns:1fr}.admin-form{grid-template-columns:1fr}.code-row{grid-template-columns:1fr}.actions{flex-wrap:wrap}h1{font-size:38px}}


.report-stack{display:grid;gap:11px;margin:22px 0}
.report-card{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:18px;border:1px solid var(--line);border-radius:19px;background:rgba(255,255,255,.52)}
.report-card>span{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 12%,white);color:var(--accent);font-size:11px;font-weight:800}
.report-card b{display:block;margin:1px 0 6px}
.report-card p{margin:0;color:var(--muted);line-height:1.75;font-size:13px}
.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
@media(max-width:760px){.result-actions{grid-template-columns:1fr}}
@media print{
  .brand,#gate,#intro,#quiz,footer,.result-actions,.bg-orb{display:none!important}
  body{background:white!important}
  .shell{width:100%;padding:0}
  .card{box-shadow:none;border:0;background:white;padding:0}
  #result{display:block!important}
}

.cover-preview{position:relative;overflow:hidden;margin:0 0 18px;border-radius:30px;padding:28px 30px;min-height:330px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 13%,white),rgba(255,255,255,.72));border:1px solid rgba(255,255,255,.85);box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:space-between}
.cover-preview:after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;background:var(--accent2);opacity:.35;right:-70px;top:-60px}
.cover-topline,.cover-foot{display:flex;justify-content:space-between;position:relative;z-index:1;font-size:11px;letter-spacing:.12em;color:var(--muted)}
.cover-main{position:relative;z-index:1;max-width:560px}
.cover-kicker{font-size:12px;font-weight:700;color:var(--accent);margin-bottom:12px}
.cover-main h2{font-size:clamp(28px,6vw,48px);line-height:1.12;letter-spacing:-.04em;margin:0 0 20px}
.cover-chips{display:flex;gap:8px;flex-wrap:wrap}.cover-chips span{font-size:12px;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.66);border:1px solid var(--line)}
.result-actions{grid-template-columns:1.2fr 1fr 1fr}
@media(max-width:760px){.cover-preview{min-height:290px;padding:23px 20px}.result-actions{grid-template-columns:1fr}}
