:root{--paper: #f3ece2;--paper-2: #ebe2d4;--card: #fffaf3;--ink: #2c241c;--muted: #7a6e62;--line: rgba(44, 36, 28, .1);--rose: #b4533c;--rose-deep: #8c3828;--sage: #4f6a55;--gold: #c4a36a;--ok: #4f6a55;--warn: #b4533c;--shadow: 0 18px 50px rgba(44, 36, 28, .08);--serif: "Noto Serif SC", "Songti SC", serif;--sans: "Noto Sans SC", "PingFang SC", sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--ink);font-family:var(--sans);background:radial-gradient(1200px 600px at 10% -10%,rgba(196,163,106,.18),transparent 55%),radial-gradient(900px 500px at 110% 0%,rgba(180,83,60,.08),transparent 50%),var(--paper)}button,input{font:inherit}button{cursor:pointer}.app{width:min(560px,100%);margin:0 auto;min-height:100dvh;padding:20px 18px calc(48px + env(safe-area-inset-bottom))}.mark{display:flex;align-items:center;justify-content:space-between;letter-spacing:.18em;text-transform:uppercase;font-size:11px;color:var(--muted)}.cover{display:flex;flex-direction:column;min-height:calc(100dvh - 40px)}.seal{margin-top:28px;width:72px;height:72px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--rose);font-family:var(--serif);font-size:15px;letter-spacing:.12em}.cover h1{margin:28px 0 12px;font-family:var(--serif);font-weight:700;font-size:clamp(34px,8vw,46px);line-height:1.15;letter-spacing:.04em}.cover .lead{margin:0;color:var(--muted);line-height:1.8;font-size:15px}.pills{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 0}.pill{border:1px solid var(--line);background:#fffaf3b3;border-radius:999px;padding:8px 12px;font-size:12px;color:var(--ink)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:32px 0 auto}.stat{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px 12px;text-align:center}.stat b{display:block;font-family:var(--serif);font-size:22px;font-weight:600}.stat span{display:block;margin-top:6px;color:var(--muted);font-size:12px}.note{margin:24px 0;color:var(--muted);font-size:12px;line-height:1.7}.btn{width:100%;border:0;border-radius:999px;padding:15px 18px;background:var(--ink);color:#f8f1e7;font-size:15px;letter-spacing:.08em}.btn:active{transform:translateY(1px)}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn.slim{width:auto;padding:10px 16px;font-size:13px}.quiz-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.progress-wrap{flex:1}.progress-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:8px}.bar{height:4px;background:var(--paper-2);border-radius:999px;overflow:hidden}.bar>i{display:block;height:100%;min-width:8px;background:var(--rose);border-radius:inherit}.q-card{margin-top:36px}.q-kicker{color:var(--gold);letter-spacing:.16em;font-size:12px}.q-card h2{margin:14px 0 8px;font-family:var(--serif);font-size:28px;line-height:1.4;font-weight:600}.q-factor{color:var(--muted);font-size:13px}.choices{display:grid;gap:10px;margin-top:28px}.choice{text-align:left;border:1px solid var(--line);background:var(--card);border-radius:16px;padding:14px 16px;display:flex;align-items:center;gap:12px}.choice.on{border-color:var(--ink);background:#2c241c;color:#f8f1e7}.choice .n{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--paper-2);font-size:12px}.choice.on .n{background:var(--rose);color:#fff}.nav{display:flex;gap:10px;margin-top:22px}.crisis{margin:18px 0 0;padding:16px 18px;border-radius:16px;background:#f6e6df;border:1px solid rgba(180,83,60,.2);color:var(--rose-deep);font-size:13px;line-height:1.7}.report-head{margin-top:18px}.report-head h1{margin:10px 0 0;font-family:var(--serif);font-size:34px;line-height:1.2}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 12px;font-size:12px;background:#e7efe6;color:var(--sage)}.badge.alert{background:#f6e6df;color:var(--rose-deep)}.score-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:10px;margin-top:22px}.panel{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow)}.panel.full{grid-column:1 / -1}.k{font-size:12px;color:var(--muted);letter-spacing:.08em}.big{margin-top:8px;font-family:var(--serif);font-size:40px;line-height:1}.unit{font-size:14px;color:var(--muted);margin-left:4px}.mini-scores{display:grid;gap:10px}.mini-scores div b{font-family:var(--serif);font-size:22px}.radar-wrap{display:grid;place-items:center;padding:8px 0 0}.summary{margin:14px 0 0;line-height:1.85;font-size:15px}.factor-list{display:grid;gap:12px;margin-top:14px}.factor{padding-bottom:12px;border-bottom:1px dashed var(--line)}.factor:last-child{border-bottom:0;padding-bottom:0}.factor-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.factor-top strong{font-family:var(--serif);font-size:17px}.meter{margin:10px 0 8px;height:6px;background:var(--paper-2);border-radius:999px;overflow:hidden}.meter>i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--rose))}.factor p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.trio article{background:var(--paper);border-radius:14px;padding:12px 10px;text-align:center}.trio b{display:block;margin-top:6px;font-family:var(--serif);font-size:22px}.trio span{color:var(--muted);font-size:11px}.actions{display:grid;gap:10px;margin-top:22px}.fineprint{margin-top:18px;color:var(--muted);font-size:11px;line-height:1.7}.gate-form{display:grid;gap:14px;margin-top:28px}.field{display:grid;gap:8px}.field span{font-size:12px;color:var(--muted);letter-spacing:.08em}.field input{width:100%;border:1px solid var(--line);background:var(--card);border-radius:16px;padding:14px 16px;color:var(--ink);letter-spacing:.12em}.field input:focus{outline:2px solid rgba(180,83,60,.35);outline-offset:1px}.form-error{margin:0;color:var(--rose-deep);font-size:13px;line-height:1.6}.code-list{margin:18px 0 0;padding:16px 16px 16px 36px;background:var(--card);border:1px solid var(--line);border-radius:16px;font-family:var(--serif);line-height:1.9}.btn:disabled{opacity:.45;cursor:not-allowed}.session-line{margin:0 0 18px;color:var(--muted);font-size:12px;display:flex;justify-content:space-between;gap:12px}.session-line button{border:0;background:none;color:var(--rose);padding:0}@media(max-width:420px){.score-grid{grid-template-columns:1fr}}
