:root{--paper:#f4f1ea;--ink:#191918;--muted:#6c6a63;--line:#cbc6bb;--red:#bd3b2b;--green:#18705f;--white:#fffefa;--shadow:0 16px 40px rgba(31,27,20,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Microsoft YaHei UI","Noto Sans SC",sans-serif;letter-spacing:0;min-height:100vh}button{font:inherit;color:inherit}.topbar{height:66px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1120px)/2));position:sticky;top:0;background:rgba(244,241,234,.96);backdrop-filter:blur(12px);z-index:10}.brand{border:0;background:none;display:flex;gap:10px;align-items:center;font-family:SimSun,serif;font-size:20px;font-weight:700;cursor:pointer}.brand-mark{display:grid;place-items:center;background:var(--ink);color:var(--paper);width:30px;height:30px}.topbar nav{display:flex;gap:8px}.topbar nav button{border:0;background:none;padding:8px 12px;cursor:pointer}.topbar nav button:hover{text-decoration:underline;text-underline-offset:5px}main{width:min(1120px,calc(100% - 32px));margin:0 auto;min-height:calc(100vh - 130px)}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:24px max(24px,calc((100vw - 1120px)/2));font-size:12px;color:var(--muted)}
.intro{padding:70px 0 36px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1.4fr .6fr;gap:36px}.kicker{font-size:12px;color:var(--muted);text-transform:uppercase}.intro h1{font:700 clamp(42px,7vw,82px)/1.05 SimSun,serif;margin:14px 0 20px;max-width:800px}.intro p{font-size:17px;line-height:1.8;color:#4e4c47;max-width:650px}.intro-aside{align-self:end;border-left:1px solid var(--line);padding-left:24px}.intro-aside strong{display:block;font:700 36px SimSun,serif;margin-bottom:8px}.intro-aside span{font-size:13px;color:var(--muted)}
.assessment-grid{display:grid;grid-template-columns:1fr 1fr;padding:36px 0 64px;gap:18px}.assessment{min-height:300px;background:var(--white);border:1px solid var(--line);padding:30px;display:flex;flex-direction:column;box-shadow:var(--shadow)}.assessment.career{border-top:4px solid var(--red)}.assessment.talent{border-top:4px solid var(--green)}.assessment .num{font:700 13px Georgia,serif;color:var(--muted)}.assessment h2{font:700 32px SimSun,serif;margin:40px 0 12px}.assessment p{color:var(--muted);line-height:1.7;margin:0}.meta{display:flex;gap:18px;font-size:12px;color:var(--muted);margin-top:18px}.primary{margin-top:auto;border:0;background:var(--ink);color:white;min-height:48px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.primary:hover{background:#363532}.primary.red{background:var(--red)}.primary.green{background:var(--green)}
.quiz-shell{max-width:760px;margin:0 auto;padding:44px 0 70px}.quiz-head{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding-bottom:16px}.quiz-head h1{font:700 25px SimSun,serif;margin:0}.progress-text{font:700 14px Georgia,serif}.bar{height:3px;background:#ddd8ce;margin:18px 0 48px}.bar i{display:block;height:100%;transition:width .3s}.question h2{font:700 29px/1.45 SimSun,serif;margin:0 0 28px}.options{display:grid;gap:10px}.option{width:100%;min-height:58px;border:1px solid var(--line);background:var(--white);padding:14px 18px;text-align:left;display:flex;align-items:center;gap:14px;cursor:pointer}.option:hover,.option.selected{border-color:var(--ink);background:#ece8df}.option b{font:400 13px Georgia,serif;color:var(--muted);width:24px}.quiz-nav{display:flex;justify-content:space-between;margin-top:32px}.secondary{border:1px solid var(--line);background:transparent;padding:12px 18px;cursor:pointer}.secondary:disabled{opacity:.35}.quiz-tip{color:var(--muted);font-size:12px;margin-top:20px}
.loading{min-height:70vh;display:grid;place-items:center;text-align:center}.loading-ring{width:72px;height:72px;border:2px solid var(--line);border-top-color:var(--ink);border-radius:50%;animation:spin 1s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}
.report{padding:48px 0 80px}.report-title{display:grid;grid-template-columns:1fr auto;gap:28px;border-bottom:1px solid var(--line);padding-bottom:30px}.report-title h1{font:700 clamp(38px,6vw,68px)/1.1 SimSun,serif;margin:10px 0}.report-title p{color:var(--muted);max-width:670px;line-height:1.8}.score-seal{width:132px;height:132px;border:1px solid var(--line);display:grid;place-items:center;text-align:center}.score-seal strong{display:block;font:700 46px Georgia,serif}.score-seal span{font-size:11px;color:var(--muted)}.report-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;margin-top:36px}.panel{border-top:2px solid var(--ink);padding-top:18px}.panel h2{font:700 23px SimSun,serif;margin:0 0 18px}.bars{display:grid;gap:15px}.metric-head{display:flex;justify-content:space-between;font-size:13px;margin-bottom:7px}.metric-track{height:8px;background:#ded9cf}.metric-track i{display:block;height:100%}.tags{display:flex;flex-wrap:wrap;gap:8px}.tag{border:1px solid var(--line);padding:7px 10px;font-size:12px;background:var(--white)}.recommendations{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}.job{background:var(--white);padding:17px;display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:start}.job h3{margin:0 0 6px;font-size:16px}.job p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.job em{font:700 14px Georgia,serif;font-style:normal}.advice{line-height:1.8;color:#46443f}.report-actions{display:flex;gap:10px;margin-top:36px}.history{padding:50px 0}.history h1{font:700 42px SimSun,serif}.empty{border-top:1px solid var(--line);padding:50px 0;color:var(--muted)}.history-list{display:grid;gap:10px}.history-item{background:var(--white);border:1px solid var(--line);padding:20px;display:grid;grid-template-columns:1fr auto;gap:16px}.history-item h2{font:700 20px SimSun,serif;margin:0 0 8px}.history-item p{margin:0;color:var(--muted);font-size:12px}
.radar{width:100%;max-height:370px;display:block}.radar text{font-size:12px;fill:#4e4c47}.report-visuals{grid-template-columns:1fr 1fr;align-items:start}.career-directions{margin-top:46px}.career-directions>h2{font-size:34px;margin:8px 0}.section-copy{color:var(--muted);font-size:13px;line-height:1.7;margin:0 0 20px}
.gate{width:min(620px,100%);margin:70px auto;padding:58px;background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow);text-align:center}.gate-art{width:86px;height:86px;border-radius:50%;display:grid;place-items:center;margin:0 auto 24px;background:#312015;color:#fff;font:700 42px STKaiti,KaiTi,serif}.gate h1,.solo-home h1,.result-hero h1,.result-card h2,.career-directions h2,.job-card h3{font-family:STKaiti,KaiTi,SimSun,serif}.gate h1{font-size:48px;margin:12px 0}.gate p{color:var(--muted)}.gate form{text-align:left;margin-top:36px}.gate label{display:block;font-size:13px;margin-bottom:8px}.password-row{display:grid;grid-template-columns:1fr auto}.password-row input{min-width:0;border:1px solid var(--line);border-right:0;background:#f8f5ef;padding:0 16px;font:18px Georgia,serif}.password-row .primary{margin:0}#password-error{display:block;color:var(--red);min-height:20px;margin-top:8px}.solo-home{min-height:calc(100vh - 130px);padding:90px 8%;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.solo-home:after{content:'指南针';position:absolute;right:-20px;bottom:20px;font:700 clamp(100px,22vw,250px) STKaiti,KaiTi,serif;color:rgba(80,48,28,.05);pointer-events:none}.solo-home.talent:after{content:'天赋'}.solo-home h1{font-size:clamp(52px,8vw,94px);line-height:1.14;margin:18px 0;max-width:900px}.solo-home p{font-size:18px;color:var(--muted);line-height:1.8;max-width:650px}.solo-meta{display:flex;gap:32px;margin:30px 0}.solo-meta b{font:700 30px Georgia,serif}.solo-home>.primary{width:280px;margin:0;z-index:1}.warm-report{max-width:920px;margin:auto;color:#2d2119}.result-hero{margin:0 calc((1120px - min(100vw - 32px,920px))/-2);padding:72px max(28px,calc((100vw - 760px)/2));min-height:560px;text-align:center;color:#fff;background:linear-gradient(rgba(66,42,27,.55),rgba(66,42,27,.72)),radial-gradient(circle at 20% 20%,#c99976,#765441 65%,#3b291f);display:flex;flex-direction:column;align-items:center;justify-content:center}.complete,.hero-tags span{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.16);border-radius:30px;padding:9px 18px}.result-hero>p{font:700 34px STKaiti,KaiTi,serif;margin:30px 0 5px}.result-hero h1{font-size:72px;font-style:italic;margin:0}.result-hero>strong{font-size:28px;margin:10px 0 28px}.hero-tags{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.result-hero .report-actions{margin-top:38px}.result-card{background:#fff;border:1px solid #dfd3c7;border-radius:24px;padding:46px;margin-top:58px;box-shadow:0 10px 28px rgba(74,46,29,.06)}.result-card h2{font-size:34px;margin:0}.result-card>p{color:#806c5d}.result-card .radar{max-height:480px;margin:20px auto}.result-card .metric-track{background:#f0dccc;border-radius:10px;overflow:hidden}.result-card .metric-track i{border-radius:10px}.job-cards{display:grid;gap:24px}.job-card{position:relative;background:#fff;border:1px solid #dfd3c7;border-radius:24px;padding:34px;box-shadow:0 8px 24px rgba(74,46,29,.05)}.job-card.best{border:3px solid #c55b22}.best-badge{position:absolute;right:22px;top:18px;background:#c55b22;color:#fff;border-radius:20px;padding:7px 13px;font-size:12px}.job-card-head{display:flex;gap:16px;align-items:center}.job-icon{font:700 25px Georgia,serif;width:52px;height:52px;display:grid;place-items:center;background:#f3e1d3;border-radius:12px}.job-card h3{font-size:29px;margin:0 0 4px}.industry{background:#397fe5;color:#fff;border-radius:12px;padding:3px 9px;font-size:11px}.job-card>p{color:#715f52;line-height:1.7}.match{display:flex;justify-content:space-between;align-items:end;margin-top:24px}.match strong{font:700 36px Georgia,serif}.match-track{height:10px;background:#f0dccc;border-radius:8px;overflow:hidden}.match-track i{display:block;height:100%;background:#687280}.job-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.job-facts span{background:#faf7f3;border-radius:14px;padding:16px;color:#806c5d}.job-facts b{color:#2d2119;line-height:2}.notice{background:#f4e4d8;border-radius:18px;padding:25px;line-height:1.8;margin-top:34px;color:#6e5849}.restart-bottom{display:block;margin:36px auto 0;border:2px solid #b95725;background:transparent;color:#a64e22;border-radius:18px;padding:16px 30px;font-weight:700}
@media(max-width:720px){.intro{grid-template-columns:1fr;padding-top:42px}.intro-aside{border-left:0;border-top:1px solid var(--line);padding:18px 0 0}.assessment-grid,.report-grid{grid-template-columns:1fr}.assessment{min-height:280px}.report-title{grid-template-columns:1fr}.score-seal{width:100%;height:auto;padding:18px;display:flex;justify-content:space-between;text-align:left}.quiz-shell{padding-top:28px}.question h2{font-size:24px}.job{grid-template-columns:28px 1fr}.job em{grid-column:2}.topbar{padding:0 12px}.topbar nav{gap:0;flex:none}.topbar nav button{padding:8px 6px;font-size:13px}.brand{font-size:18px;flex:none}footer{flex-direction:column;padding:22px 16px}}
.result-hero{width:100vw;margin-left:calc(50% - 50vw)}
.solo-home{width:100vw;margin-left:calc(50% - 50vw);min-height:calc(100vh - 66px);padding:0;display:grid;grid-template-columns:minmax(320px,560px) 440px;gap:80px;align-items:center;justify-content:center;background-color:#faf6ef;background-image:radial-gradient(#dfd4c8 1.1px,transparent 1.1px);background-size:22px 22px;color:#29160e;isolation:isolate}.solo-home:after{display:none}.home-copy{position:relative;z-index:3}.database-badge{display:inline-flex;align-items:center;gap:9px;background:#f7dfcf;color:#c65a25;border-radius:18px;padding:8px 15px;font-size:13px}.database-badge i{width:8px;height:8px;border-radius:50%;background:#d97949}.solo-home h1{font-family:STKaiti,KaiTi,SimSun,serif;font-size:clamp(56px,5vw,78px);line-height:1.05;margin:28px 0 24px}.solo-home h1 em{font-family:STXingkai,STKaiti,KaiTi,serif;color:#c85825;font-weight:700}.solo-home.talent h1 em{color:#18705f}.solo-home p{font-size:17px;line-height:1.8;max-width:540px;color:#68493a}.home-actions{display:flex;gap:12px;margin-top:30px}.home-actions .primary{width:205px;margin:0;border-radius:16px;font-weight:700}.outline-action{min-height:48px;padding:0 24px;border:2px solid #c75b27;border-radius:16px;background:rgba(255,255,255,.55);color:#b54c1c;font-weight:700}.talent .outline-action{border-color:#18705f;color:#18705f}.duration{display:block;margin-top:16px;color:#8b6653;font-size:13px}.career-orbit{position:relative;width:360px;height:360px;z-index:2}.career-orbit:before,.career-orbit:after{content:'';position:absolute;border:1px solid rgba(181,101,55,.25);border-radius:50%;inset:55px}.career-orbit:after{inset:105px}.orbit{position:absolute;font-size:47px;filter:drop-shadow(0 7px 7px rgba(78,45,24,.16))}.orbit-1{left:30px;top:100px}.orbit-2{left:135px;top:40px}.orbit-3{right:18px;top:95px}.orbit-4{left:35px;top:205px}.orbit-5{right:18px;top:205px}.orbit-6{left:118px;bottom:8px}.orbit-7{left:145px;top:155px}.orbit-8{right:85px;bottom:25px;color:#9c5d2d;font-size:62px}.journey-line{position:absolute;width:118vw;height:230px;left:-8vw;top:42%;border:55px solid rgba(196,161,132,.17);border-left-color:transparent;border-right-color:transparent;border-radius:50%;transform:rotate(-12deg);z-index:-1}.botanical{position:absolute;color:rgba(176,121,84,.2);font:90px/1 STKaiti,KaiTi,serif;z-index:-1}.botanical-left{left:2%;bottom:5%;transform:rotate(-22deg)}.botanical-right{right:2%;top:4%;transform:rotate(25deg)}.learn-more{position:absolute;bottom:24px;left:50%;text-align:center;font-size:12px;color:#806254}
@media(max-width:720px){.gate{margin:32px auto;padding:34px 22px}.gate h1{font-size:40px}.password-row{grid-template-columns:1fr}.password-row input{height:52px;border-right:1px solid var(--line);border-bottom:0}.solo-home{min-height:calc(100vh - 66px);padding:60px 24px 130px;display:block}.solo-home h1{font-size:54px}.solo-home p{font-size:15px}.home-actions{flex-direction:column}.home-actions .primary,.outline-action{width:100%}.career-orbit{width:250px;height:230px;margin:45px auto 0;transform:scale(.85)}.orbit{font-size:38px}.learn-more{bottom:16px}.journey-line{top:60%;height:160px}.result-hero{min-height:520px;padding:52px 20px}.result-hero>p{font-size:27px}.result-hero h1{font-size:52px}.result-card{padding:26px 18px;border-radius:18px}.result-card h2,.career-directions>h2{font-size:30px}.job-card{padding:26px 20px}.job-card h3{font-size:24px}.best-badge{position:static;display:inline-block;margin-bottom:16px}.job-facts{grid-template-columns:1fr}.report-actions{flex-wrap:wrap;justify-content:center}}
.gate-overlay{position:fixed;inset:0;background:rgba(39,24,16,.5);backdrop-filter:blur(5px);z-index:100;display:grid;place-items:center;padding:18px}.gate-overlay .gate{position:relative;margin:0}.gate-close{position:absolute;right:14px;top:8px;border:0;background:none;font-size:28px;color:#755d4e;cursor:pointer}.solo-home{grid-template-columns:minmax(360px,510px) 400px;gap:85px;background-color:#fbf8f2;background-image:radial-gradient(#ddd3c8 1px,transparent 1px);background-size:21px 21px}.solo-home h1{font-size:clamp(58px,4.5vw,76px)}
.topbar nav button:first-child{background:#c95d29;color:#fff;border-radius:22px;padding:9px 20px;text-decoration:none}.topbar nav button:first-child:after{content:'  →';margin-left:6px}.topbar nav button:first-child:hover{background:#ad491d;text-decoration:none}
body.quiz-active>.topbar,body.quiz-active>footer{display:none}body.quiz-active main{width:100%;min-height:100vh;margin:0}.quiz-page{min-height:100vh;background:#fbf8f3;border-top:4px solid #e7ddd1;color:#32180d}.quiz-top{height:68px;border-bottom:1px solid #e1d5c8;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 max(24px,calc((100vw - 720px)/2))}.quiz-top>button{justify-self:start;border:0;background:none;color:#795b49;cursor:pointer}.quiz-top>b{justify-self:end;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#c95c29;color:#fff;font:700 13px STKaiti,KaiTi,serif}.dot-progress{display:flex;align-items:center;gap:10px;color:#795b49;font:13px Georgia,serif}.dot-progress>div{display:flex;gap:4px;max-width:270px;overflow:hidden}.dot-progress i{display:block;flex:0 0 7px;width:7px;height:7px;border-radius:50%;background:#e7ddd0}.dot-progress i.done{background:#c45a27}.quiz-content{width:min(670px,calc(100% - 32px));margin:0 auto;padding:145px 0 70px}.question-type{display:inline-block;background:#f3ddcc;color:#c45a27;border-radius:18px;padding:7px 13px;font-size:13px}.quiz-content h1{font:700 32px/1.5 STKaiti,KaiTi,SimSun,serif;margin:26px 0 34px;color:#2b150b}.quiz-content .options{gap:12px}.quiz-content .option{min-height:80px;border:2px solid #e8d7c6;border-radius:16px;background:#fff;padding:15px 24px;font-weight:700;color:#32180d}.quiz-content .option:hover,.quiz-content .option.selected{border-color:#cb612e;background:#fff8f2;transform:translateY(-1px)}.quiz-content .option b{width:38px;height:38px;flex:0 0 38px;border-radius:50%;display:grid;place-items:center;background:#f3ddcc;color:#c45a27;font:14px Georgia,serif}.quiz-content .quiz-tip{text-align:center;color:#9a7460;margin-top:28px}.back-question{display:block;margin:16px auto;border:0;background:none;color:#8b6854}.quiz-active .loading{min-height:100vh}
@media(max-width:720px){.quiz-top{padding:0 14px;grid-template-columns:auto 1fr auto}.quiz-top>button{font-size:12px}.dot-progress{justify-content:center}.dot-progress>div{max-width:100px}.quiz-content{padding-top:70px}.quiz-content h1{font-size:27px}.quiz-content .option{min-height:68px;padding:12px 14px}.quiz-content .option b{width:34px;height:34px;flex-basis:34px}}
.job-card .job-icon{font-size:0}.job-card .job-icon:after{font-size:27px}.job-card:nth-child(1) .job-icon:after{content:'💻'}.job-card:nth-child(2) .job-icon:after{content:'📊'}.job-card:nth-child(3) .job-icon:after{content:'🎨'}.job-card:nth-child(4) .job-icon:after{content:'🔬'}.job-card:nth-child(5) .job-icon:after{content:'✨'}
