
:root{
 --paper:#f7f1e4;--paper2:#fffaf0;--ink:#22313a;--muted:#69767b;--blue:#6aa7c8;--blue2:#d9edf4;
 --orange:#e89b52;--orange2:#f9d7ad;--green:#547a66;--green2:#d9e7dc;--line:rgba(34,49,58,.15);
 --shadow:0 24px 70px rgba(68,75,69,.13);--r:28px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(145deg,#faf6ed,#f1f6f0 55%,#f6eee4);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",system-ui,-apple-system,sans-serif}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(circle at 12% 8%,rgba(106,167,200,.16),transparent 25%),radial-gradient(circle at 92% 18%,rgba(232,155,82,.12),transparent 24%),radial-gradient(circle at 60% 90%,rgba(84,122,102,.11),transparent 28%);z-index:-2}
.paper-noise{position:fixed;inset:0;pointer-events:none;opacity:.18;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E")}
button,input{font:inherit}.shell{max-width:1240px;margin:auto;padding:0 26px 72px}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand-stamp{width:44px;height:44px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;font-weight:700;letter-spacing:-1px}.brand b{display:block;letter-spacing:.16em;font-family:Georgia,serif}.brand small{display:block;font-size:10px;letter-spacing:.25em;color:var(--muted);margin-top:3px}.top-note{font:11px Georgia,serif;letter-spacing:.23em;color:var(--muted)}
.screen{display:none;animation:fade .35s ease}.screen.active{display:block}@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.hero{min-height:650px;display:grid;grid-template-columns:1.02fr .98fr;gap:54px;align-items:center;padding:64px 0 34px}.eyebrow{font:11px Georgia,serif;letter-spacing:.24em;color:var(--green);font-weight:700;text-transform:uppercase}.hero h1,.narrow h2{font-family:Georgia,"Songti SC",serif;font-weight:500;line-height:1.16;margin:22px 0;font-size:clamp(44px,5vw,72px)}.hero h1 em{font-style:normal;color:var(--orange)}.lead,.section-lead{font-size:17px;line-height:1.9;color:#56656a;max-width:670px}.chips{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0}.chips span{border:1px solid var(--line);border-radius:999px;padding:9px 14px;background:rgba(255,255,255,.55);font-size:12px}.code-card{margin-top:34px;padding:22px;border:1px solid var(--line);background:rgba(255,250,240,.74);box-shadow:0 14px 40px rgba(68,75,69,.08);border-radius:22px}.code-card label{display:block;font-weight:700;margin-bottom:12px}.code-row{display:grid;grid-template-columns:54px 1fr auto;gap:10px}.prefix{display:grid;place-items:center;border:1px solid var(--line);border-radius:14px;background:white;font:700 22px Georgia;color:var(--orange)}.code-row input{min-width:0;border:1px solid var(--line);border-radius:14px;background:#fff;padding:0 16px;outline:none;font-size:18px;letter-spacing:.16em}.code-row input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(106,167,200,.12)}button{cursor:pointer;border:0}.code-row button,.primary{border-radius:14px;background:var(--ink);color:#fff;padding:15px 20px;font-weight:700}.code-card p{margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.6}
.passport-art{position:relative;height:500px;border-radius:34px;border:1px solid rgba(34,49,58,.15);overflow:hidden;background:linear-gradient(145deg,#ddecf0,#f7e3c7 65%,#e6efe5);box-shadow:var(--shadow);transform:rotate(1deg)}.map-grid{position:absolute;inset:0;opacity:.25;background-image:linear-gradient(rgba(34,49,58,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(34,49,58,.12) 1px,transparent 1px);background-size:46px 46px}.route{position:absolute;border:2px dashed rgba(84,122,102,.55);border-radius:50%;width:330px;height:170px;transform:rotate(-14deg);left:70px;top:150px}.route-two{width:260px;height:220px;left:220px;top:250px;transform:rotate(24deg)}.plane{position:absolute;font-size:42px;left:315px;top:126px;transform:rotate(16deg);color:var(--ink)}.pin{position:absolute;color:var(--orange);font-size:26px}.pin-a{left:85px;top:275px}.pin-b{right:58px;bottom:86px}.ticket{position:absolute;left:42px;top:52px;width:235px;padding:22px;background:#fff8e8;border:1px solid rgba(34,49,58,.18);box-shadow:0 16px 30px rgba(60,55,45,.12);transform:rotate(-5deg);font-family:Georgia,serif}.ticket small{letter-spacing:.22em;color:var(--muted)}.ticket b{display:block;font-size:28px;margin:12px 0}.ticket span{font-size:11px;letter-spacing:.16em}.ticket i{display:block;margin-top:20px;font-style:normal;letter-spacing:.12em}.postcard{position:absolute;right:38px;top:205px;width:205px;height:140px;padding:22px;background:#d9e7dc;border:1px solid rgba(34,49,58,.15);transform:rotate(6deg);display:flex;justify-content:space-between;font:700 17px Georgia;letter-spacing:.09em}.postcard b{font-size:44px;color:var(--orange)}.stamp{position:absolute;right:44px;top:36px;border:3px double var(--green);border-radius:50%;width:106px;height:106px;display:grid;place-items:center;text-align:center;font:11px Georgia;letter-spacing:.12em;transform:rotate(12deg);color:var(--green)}.stamp b{font-size:15px}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 70px}.feature-grid article,.intro-grid>div{padding:24px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.48)}.feature-grid b{font-family:Georgia,"Songti SC",serif;font-size:17px}.feature-grid p,.intro-grid p{margin:8px 0 0;color:var(--muted);line-height:1.7;font-size:13px}
.narrow{max-width:820px;margin:0 auto;padding:76px 0}.passport-head{display:flex;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;font:11px Georgia;letter-spacing:.2em;color:var(--muted)}.narrow h2{font-size:48px}.narrow h2 strong{font-weight:500;color:var(--orange)}.intro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:32px 0}.intro-grid span{font-size:30px;display:block;margin-bottom:18px}.wide{width:100%;margin-top:20px;font-size:16px}.secondary{border:1px solid var(--line);background:rgba(255,255,255,.55);color:var(--ink);border-radius:14px;padding:14px 20px;font-weight:700}
.test-screen{max-width:900px;margin:auto;padding:52px 0}.test-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-end}.test-top h2{font:500 38px Georgia,"Songti SC",serif;margin:10px 0 4px}.test-top p{color:var(--muted);margin:0}.q-count{display:flex;align-items:baseline;gap:6px;font-family:Georgia,serif}.q-count b{font-size:46px;color:var(--orange)}.q-count span{color:var(--muted)}.progress{margin-top:28px;height:8px;background:rgba(34,49,58,.08);border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--green),var(--blue));border-radius:inherit;transition:.25s}.progress-meta{display:flex;justify-content:space-between;margin:8px 2px 24px;font-size:11px;color:var(--muted)}.question-card{padding:34px;border-radius:28px;background:rgba(255,250,240,.82);border:1px solid var(--line);box-shadow:var(--shadow)}.question-label{font:11px Georgia,serif;letter-spacing:.22em;color:var(--orange)}.question-card h3{font:500 26px/1.55 Georgia,"Songti SC",serif;margin:16px 0 24px}.options{display:grid;gap:10px}.option{width:100%;text-align:left;border:1px solid var(--line);background:rgba(255,255,255,.62);border-radius:15px;padding:16px 18px;color:var(--ink);line-height:1.55;transition:.18s}.option:hover{transform:translateX(3px);border-color:rgba(84,122,102,.45)}.option.selected{background:var(--green2);border-color:var(--green);box-shadow:0 0 0 3px rgba(84,122,102,.08)}.question-hint{margin-top:18px;color:var(--muted);font-size:11px}.nav-row{display:flex;justify-content:space-between;gap:14px;margin-top:18px}.nav-row button{min-width:140px}.text-btn{display:block;margin:20px auto 0;background:none;color:var(--muted);text-decoration:underline;text-underline-offset:4px}
.finish-stamp{margin:30px auto;width:150px;height:150px;border:4px double var(--orange);border-radius:50%;display:grid;place-items:center;text-align:center;font:12px Georgia;letter-spacing:.12em;color:var(--orange);transform:rotate(-6deg)}.finish-stamp b{font-size:22px}.report-screen{padding:54px 0}.report-cover{display:grid;grid-template-columns:1fr 240px;gap:30px;align-items:center;padding:42px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(255,250,240,.94),rgba(217,237,244,.7));border-radius:32px;box-shadow:var(--shadow)}.type-icon{font-size:54px;margin:18px 0 4px}.report-cover h2{font:500 52px Georgia,"Songti SC",serif;margin:4px 0}.type-en{font:12px Georgia;letter-spacing:.22em;color:var(--green)}.report-cover p{line-height:1.8;color:#526166;max-width:680px}.cover-score{border-left:1px solid var(--line);padding-left:28px;text-align:center}.cover-score small{font:10px Georgia;letter-spacing:.16em;color:var(--muted)}.cover-score b{display:block;font:500 72px Georgia;color:var(--orange);margin:10px 0}.cover-score span{font-size:12px;color:var(--muted)}.report-tabs{display:flex;gap:8px;margin:24px 0}.report-tabs button{padding:12px 18px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.5)}.report-tabs button.active{background:var(--ink);color:#fff}.hidden{display:none!important}.report-content{display:grid;gap:18px}.report-section{padding:30px;border:1px solid var(--line);border-radius:26px;background:rgba(255,255,255,.58)}.report-section h3{font:500 28px Georgia,"Songti SC",serif;margin:0 0 12px}.section-hint{color:var(--muted);line-height:1.8}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.summary-card{padding:20px;border:1px solid var(--line);border-radius:18px;background:rgba(255,250,240,.7)}.summary-card small{color:var(--muted)}.summary-card b{display:block;font:500 22px Georgia,"Songti SC",serif;margin:8px 0}.summary-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}.dimension-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dim-item{padding:17px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.45)}.dim-head{display:flex;justify-content:space-between;gap:10px}.dim-head span{font:700 16px Georgia;color:var(--orange)}.dim-bar{height:8px;background:rgba(34,49,58,.08);border-radius:999px;margin:10px 0}.dim-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--blue));border-radius:inherit}.dim-note{font-size:12px;color:var(--muted);line-height:1.6}.role-card-big,.mate-card,.formula-card,.tip-card{padding:24px;border-radius:20px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(217,231,220,.55),rgba(255,250,240,.7));margin-top:12px}.role-card-big h4,.mate-card h4{font:500 26px Georgia,"Songti SC",serif;margin:7px 0}.role-card-big ul,.mate-card ul,.tip-list{line-height:1.9;color:#536267}.mate-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.mate-card.bad{background:linear-gradient(135deg,rgba(249,215,173,.52),rgba(255,250,240,.7))}.formula{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.formula span{padding:10px 12px;border-radius:12px;background:white;border:1px dashed var(--line);font-size:13px}.archetype-block{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start}.archetype-block .bigicon{font-size:58px}.report-actions{display:flex;gap:12px;margin:22px 0}.report-note{text-align:center;color:var(--muted);font-size:11px;line-height:1.7;max-width:820px;margin:24px auto}.report-list{line-height:1.95;color:#526166}.report-list b{color:var(--ink)}footer{border-top:1px solid var(--line);padding:24px 0;display:flex;justify-content:space-between;font:10px Georgia;letter-spacing:.16em;color:var(--muted)}
.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:var(--ink);color:white;padding:12px 18px;border-radius:999px;opacity:0;pointer-events:none;transition:.22s;z-index:20}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){.hero{grid-template-columns:1fr;padding-top:42px}.passport-art{height:400px}.feature-grid{grid-template-columns:1fr}.intro-grid{grid-template-columns:1fr}.summary-grid{grid-template-columns:1fr}.report-cover{grid-template-columns:1fr}.cover-score{border-left:0;border-top:1px solid var(--line);padding:22px 0 0}.dimension-list{grid-template-columns:1fr}.mate-grid{grid-template-columns:1fr}}
@media(max-width:620px){.shell{padding:0 14px 48px}.topbar{height:70px}.top-note{display:none}.brand-stamp{width:38px;height:38px}.hero{gap:26px;padding:34px 0 22px;min-height:0}.hero h1{font-size:39px}.lead{font-size:15px}.code-card{padding:16px}.code-row{grid-template-columns:46px 1fr}.code-row button{grid-column:1/-1}.passport-art{height:330px;border-radius:24px}.ticket{left:22px;top:35px;transform:rotate(-4deg) scale(.83);transform-origin:top left}.postcard{right:12px;top:175px;transform:rotate(6deg) scale(.76);transform-origin:top right}.stamp{right:16px;top:24px;transform:rotate(12deg) scale(.72);transform-origin:top right}.plane{left:62%;top:116px}.feature-grid{margin-bottom:42px}.narrow{padding:48px 0}.narrow h2{font-size:36px}.question-card{padding:22px 16px;border-radius:22px}.question-card h3{font-size:22px}.option{padding:15px 14px}.test-top h2{font-size:30px}.q-count b{font-size:38px}.nav-row button{min-width:0;flex:1}.report-screen{padding:36px 0}.report-cover{padding:24px 18px;border-radius:24px}.report-cover h2{font-size:40px}.cover-score b{font-size:58px}.report-section{padding:22px 16px}.report-section h3{font-size:25px}.report-actions{flex-direction:column}.report-actions button{width:100%}.archetype-block{grid-template-columns:1fr}.archetype-block .bigicon{font-size:48px}footer{flex-direction:column;gap:7px;text-align:center}}
@media print{body{background:white}.topbar,.report-tabs,.report-actions,footer,.paper-noise{display:none!important}.shell{max-width:none;padding:0}.screen{display:none!important}#screen-report{display:block!important}.report-cover,.report-section{box-shadow:none;break-inside:avoid}.report-content.hidden{display:grid!important}}
