:root{--navy:#071d49;--blue:#1458c4;--cyan:#11b9c9;--gold:#ffc928;--ink:#13233f;--muted:#68758c;--paper:#f5f8fd;--line:#dce5f2;--white:#fff;--danger:#c83b51;--shadow:0 18px 50px #102e6720}
*{box-sizing:border-box}html{min-height:100%;background:var(--paper)}body{margin:0;min-height:100vh;color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;background:radial-gradient(circle at 90% 5%,#d7f9ff 0,transparent 32%),linear-gradient(180deg,#f9fbff,#eef4fc);overflow-x:hidden}
button,input,select{font:inherit}.ambient{position:fixed;border-radius:50%;filter:blur(80px);opacity:.24;pointer-events:none}.ambient-a{width:320px;height:320px;background:#20c5c5;right:-90px;top:20vh}.ambient-b{width:280px;height:280px;background:#275bd6;left:-100px;bottom:10vh}
.topbar{height:72px;padding:0 max(22px,calc((100vw - 1160px)/2));display:flex;align-items:center;justify-content:space-between;background:#ffffffd9;backdrop-filter:blur(16px);border-bottom:1px solid #fff;position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:10px;color:var(--navy);text-decoration:none}.brand-mark{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;color:white;font-weight:900;background:linear-gradient(145deg,var(--navy),var(--blue) 65%,var(--cyan));box-shadow:0 8px 20px #1458c449}.brand b,.brand small{display:block}.brand small{font-size:11px;letter-spacing:.28em;color:var(--muted)}.top-actions{display:flex;gap:14px;align-items:center;font-size:13px}.text-button{border:0;background:none;color:var(--blue);cursor:pointer}
#app{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:36px 0 70px;position:relative}.loading{min-height:55vh;display:grid;place-content:center;text-align:center;color:var(--muted)}.loader{width:34px;height:34px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--blue);animation:spin .8s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}
.hero{background:linear-gradient(135deg,var(--navy),#123d87 58%,#0c93ab);border-radius:30px;color:white;padding:52px;box-shadow:0 28px 70px #071d4935;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:260px;height:260px;border:1px solid #ffffff30;border-radius:50%;right:-35px;top:-70px;box-shadow:0 0 0 35px #ffffff0a,0 0 0 70px #ffffff08}.eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:#a9eaf1}.hero h1{font-size:clamp(34px,6vw,62px);line-height:1.04;margin:16px 0;max-width:760px}.hero p{max-width:680px;line-height:1.8;color:#dbe8ff}.hero-actions,.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}
.button{border:0;border-radius:13px;padding:13px 20px;background:var(--blue);color:#fff;font-weight:700;cursor:pointer;box-shadow:0 9px 22px #1458c42c;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.button:hover{transform:translateY(-1px)}.button.gold{background:var(--gold);color:var(--navy)}.button.secondary{background:#fff;color:var(--blue);border:1px solid var(--line);box-shadow:none}.button.danger{background:#fff0f2;color:var(--danger);box-shadow:none}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:38px 0 16px}.section-head h2{margin:0;font-size:24px}.section-head p{margin:5px 0 0;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{background:#ffffffed;border:1px solid #fff;border-radius:20px;padding:22px;box-shadow:var(--shadow)}.card h3{margin:0 0 8px}.card p{color:var(--muted);line-height:1.65}.metric{font-size:34px;font-weight:900;color:var(--navy)}.pill{display:inline-flex;padding:5px 10px;border-radius:30px;background:#eaf2ff;color:var(--blue);font-size:12px}.list{display:grid;gap:10px}.list-item{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fff}.list-item small{display:block;color:var(--muted);margin-top:4px}
.form{display:grid;gap:15px}.field{display:grid;gap:7px}.field label{font-size:13px;font-weight:700}.field input,.field select{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 13px;outline:none}.field input:focus,.field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1458c416}.modal-shell{width:min(620px,100%);margin:20px auto}
.quiz-shell{width:min(780px,100%);margin:0 auto}.quiz-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.progress{height:8px;background:#dfe8f5;border-radius:9px;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--cyan));transition:width .25s}.question-card{min-height:470px;margin-top:18px;padding:clamp(24px,5vw,48px);display:flex;flex-direction:column}.question-card h1{font-size:clamp(25px,4vw,38px);line-height:1.35;margin:18px 0 30px}.options{display:grid;gap:13px}.option{width:100%;border:1px solid var(--line);border-radius:16px;padding:17px 20px;background:#fff;color:var(--ink);text-align:left;cursor:pointer;display:flex;gap:13px;align-items:center}.option:hover,.option.selected{border-color:var(--blue);background:#eef5ff;box-shadow:0 8px 22px #1458c415}.option-key{width:30px;height:30px;border-radius:10px;background:#eaf2ff;color:var(--blue);display:grid;place-items:center;font-weight:800;flex:0 0 auto}.quiz-nav{display:flex;justify-content:space-between;margin-top:auto;padding-top:28px}
.report-cover{background:linear-gradient(135deg,var(--navy),#174c9e 65%,var(--cyan));color:#fff;border-radius:28px;padding:48px;min-height:390px;display:flex;flex-direction:column;justify-content:end;box-shadow:0 30px 70px #071d4935}.report-cover h1{font-size:44px;margin:8px 0}.identity-name{font-size:36px;font-weight:900;color:var(--gold)}.tags{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0}.tags span{padding:7px 12px;border:1px solid #ffffff65;border-radius:30px}.report-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-top:18px}.report-section{margin-top:18px}.report-section h2{font-size:24px}.finding{border-left:4px solid var(--gold)}.bar-row{display:grid;grid-template-columns:80px 1fr 34px 54px;gap:8px;align-items:center;margin:12px 0;font-size:13px}.bar{height:10px;background:#e3eaf4;border-radius:8px}.bar i{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,var(--blue),var(--cyan))}.bar-zone{position:relative;height:10px;border-radius:9px;overflow:hidden;display:flex}.zone-seg{height:100%}.zone-fill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,#1677ff,#20c5c5);border-radius:9px;z-index:1}.zone-badge{font-size:10px;padding:2px 6px;border-radius:6px;text-align:center;font-weight:700;white-space:nowrap}.chart-label{font-size:12px;color:var(--muted);text-align:center;margin:14px 0 2px;letter-spacing:.5px}.rings{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.ring{border:3px solid var(--gold);border-radius:50%;display:grid;place-content:center;text-align:center;font-size:11px;background:#fffbec}
.toast{position:fixed;right:20px;bottom:22px;background:var(--navy);color:#fff;padding:13px 17px;border-radius:12px;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s;z-index:20}.toast.show{opacity:1;transform:none}.empty{padding:32px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:16px}
@media(max-width:800px){.grid,.report-grid{grid-template-columns:1fr}.hero{padding:32px 24px;border-radius:22px}.topbar{height:64px;padding:0 16px}#app{width:min(100% - 22px,1120px);padding-top:20px}.question-card{min-height:calc(100vh - 165px);padding:24px 18px}.report-cover{padding:30px 24px}.report-cover h1{font-size:34px}.identity-name{font-size:29px}.section-head{align-items:start;flex-direction:column}}
