:root{--bg: #f6faf6;--panel: #ffffff;--text: #1e2a22;--muted: #6a786f;--line: #dbe8dd;--soft: #edf6ef;--accent: #6c8d71;--accent-strong: #4d6a53;--shadow: 0 16px 40px rgba(47, 73, 55, .08);--radius-app: 22px}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--text);background:radial-gradient(circle at top left,#f8fff8 0,#f6faf6 36%,#f2f7f3);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}button:not(:disabled),[role=button]:not([aria-disabled=true]),a[href],select:not(:disabled),input[type=checkbox]:not(:disabled),input[type=radio]:not(:disabled){cursor:pointer}h1,h2,h3,p{margin:0}.shell{max-width:980px;margin:0 auto;padding:24px 16px 56px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-app);box-shadow:var(--shadow)}.hero{padding:28px;margin-top:20px;overflow:hidden;position:relative}.hero:after{content:"";position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;background:linear-gradient(180deg,#7fa5862e,#7fa58605);pointer-events:none}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--accent-strong);border:1px solid var(--line);background:var(--soft);border-radius:999px;padding:8px 12px;margin-bottom:16px}.hero h1{font-size:clamp(28px,5vw,52px);line-height:1.08;letter-spacing:-.03em;max-width:680px}.hero .sub{margin-top:14px;color:var(--muted);font-size:15px;line-height:1.75;max-width:720px}.hero-grid{display:grid;grid-template-columns:1.3fr .9fr;gap:18px;align-items:stretch;margin-top:24px;width:100%;max-width:780px}.mini-panel{padding:18px;border-radius:18px;border:1px solid var(--line);background:linear-gradient(180deg,#fbfefb,#f3f8f4);text-align:left}.mini-panel h3{font-size:15px;margin-bottom:10px}.mini-panel ul{margin:0;padding-left:18px;color:var(--muted);line-height:1.8;font-size:14px}.invite-banner{width:100%;max-width:780px;margin-top:18px;border:1px solid rgba(77,106,83,.14);border-radius:20px;padding:16px;background:radial-gradient(circle at top right,rgba(211,226,187,.46),transparent 40%),linear-gradient(135deg,#fffef8,#f4fbf3);text-align:left;box-shadow:0 14px 34px #2f493714}.invite-banner>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.invite-banner span{display:inline-flex;border-radius:999px;padding:6px 10px;background:#fffc;border:1px solid var(--line);color:var(--accent-strong);font-size:12px;font-weight:850}.invite-banner strong{color:var(--text);font-size:16px}.invite-banner p{color:var(--muted);font-size:13px;line-height:1.8}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.hero-minimal{min-height:48vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:42px 20px}.hero-minimal:after{display:none}.hero-minimal h1{max-width:none;margin:0}.hero-actions-single{justify-content:center;margin-top:28px}button{border:0;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease;font:inherit}button:hover{transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.55;transform:none}.btn-primary{background:var(--accent-strong);color:#fff;padding:14px 20px;border-radius:14px;box-shadow:0 12px 30px #4d6a532e;font-weight:700}.btn-secondary{background:#fff;color:var(--accent-strong);padding:14px 20px;border-radius:14px;border:1px solid var(--line);font-weight:700}.screen{display:none}.screen.active{display:block}.test-wrap,.result-wrap{margin-top:22px;padding:22px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;flex-wrap:wrap}.progress{flex:1;min-width:240px;height:10px;background:#edf3ee;border-radius:999px;overflow:hidden;position:relative}.progress>span{display:block;width:0;height:100%;background:linear-gradient(90deg,#97b59c,#5b7a62);border-radius:inherit;transition:width .22s ease}.progress-text{color:var(--muted);font-size:13px;white-space:nowrap}.test-guide{margin:-4px 0 18px;border:1px solid var(--line);border-radius:16px;padding:12px 14px;background:#f8fcf9;color:var(--accent-strong);font-size:13px;font-weight:650;line-height:1.7}.question-list{display:grid;gap:16px}.question{border:1px solid var(--line);border-radius:18px;padding:18px;background:linear-gradient(180deg,#fff,#fbfdfb)}.question-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;color:var(--muted);font-size:12px}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;background:var(--soft);border:1px solid var(--line)}.question-title{font-size:16px;line-height:1.7;white-space:pre-wrap}.options{display:grid;gap:10px;margin-top:14px}.option{display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:14px;border:1px solid var(--line);background:#fff;transition:border-color .16s ease,background .16s ease,transform .16s ease}.option:hover,.option.selected{border-color:#bcd0c1;background:#f8fcf9}.option input{margin-top:3px;accent-color:var(--accent-strong);transform:scale(1.1);flex-shrink:0}.option-code{font-weight:800;color:var(--accent-strong);min-width:22px}.option-tag{display:inline-block;margin-bottom:4px;color:var(--accent-strong);font-size:13px;font-weight:700}.actions-bottom,.result-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px;padding-top:6px}.actions-row{display:flex;gap:12px;flex-wrap:wrap}.hint,.error-text,.error-inline{color:var(--muted);font-size:13px;line-height:1.7}.error-text,.error-inline{color:#9b3f32}.result-layout{display:grid;gap:18px}.result-top{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px;align-items:stretch}.result-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:stretch}.poster-box,.type-box,.analysis-box,.dim-box,.matchmaking-box,.pair-match-box,.share-match-box,.note-box,.top3-box,.about-box{border:1px solid var(--line);border-radius:18px;padding:18px;background:linear-gradient(180deg,#fff,#fbfdfb)}.poster-box{display:grid;grid-template-rows:1fr auto;min-height:280px;overflow:hidden;position:relative;background:radial-gradient(circle at top right,#7fa58629,#7fa58600 40%),linear-gradient(180deg,#fff,#f7fbf8)}.poster-box:after{content:"";position:absolute;right:-46px;bottom:-46px;width:140px;height:140px;border-radius:50%;background:linear-gradient(180deg,#7fa5861f,#7fa58603);pointer-events:none}.poster-placeholder{min-height:220px;border-radius:18px;background:#ffffffbf;display:grid;place-items:center;align-content:center;gap:10px;color:var(--accent-strong);position:relative;z-index:1}.poster-placeholder span{font-size:72px;line-height:1}.poster-placeholder strong{font-size:26px}.poster-caption{margin-top:14px;color:var(--muted);font-size:15px;line-height:1.8;position:relative;z-index:1}.type-box{position:relative;overflow:hidden;display:flex;min-height:250px;flex-direction:column;justify-content:center;background:radial-gradient(circle at 12% 12%,rgba(255,255,255,.95),transparent 34%),radial-gradient(circle at 96% 0%,rgba(151,181,156,.16),transparent 34%),linear-gradient(135deg,#fffef8,#f7fbf3 46%,#edf7f0)}.type-box:before{content:"";position:absolute;right:-58px;top:-58px;width:170px;height:170px;border-radius:50%;background:linear-gradient(180deg,#4d6a531f,#4d6a5305);pointer-events:none}.type-kicker{position:relative;z-index:1;display:inline-flex;width:max-content;border:1px solid rgba(77,106,83,.14);border-radius:999px;padding:8px 12px;background:#ffffffb8;box-shadow:0 10px 26px #2f49370f;font-size:13px;font-weight:850;color:var(--accent-strong);margin-bottom:14px;letter-spacing:.1em}.type-name{position:relative;z-index:1;display:flex;align-items:center;gap:12px;flex-wrap:wrap;max-width:620px;color:#18271d;text-wrap:balance}.type-code-pill{display:inline-flex;align-items:center;border:1px solid rgba(77,106,83,.16);border-radius:999px;padding:8px 12px;background:#ffffffc7;color:var(--accent-strong);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:clamp(16px,2.2vw,22px);font-weight:850;letter-spacing:-.02em;line-height:1;box-shadow:0 10px 24px #2f49370f}.type-alias-name{font-family:Songti SC,STSong,STKaiti,KaiTi,"Noto Serif SC","Source Han Serif SC",serif;font-size:clamp(30px,4.6vw,46px);font-weight:700;line-height:1.12;letter-spacing:-.025em}.type-subname{position:relative;z-index:1;width:fit-content;margin-top:16px;border-radius:999px;padding:8px 12px;background:#243529;color:#fff;font-size:14px;font-weight:850;line-height:1.45;box-shadow:0 14px 28px #2435291f}.type-desc{position:relative;z-index:1;margin-top:18px;border:1px solid rgba(77,106,83,.12);border-radius:18px;padding:14px 15px;background:#ffffffc2;color:#26382b;font-size:16px;font-weight:600;line-height:1.82;box-shadow:0 14px 30px #2f49370f}.match{margin-top:18px;display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:10px 14px;background:var(--soft);border:1px solid var(--line);color:var(--accent-strong);font-weight:700;font-size:14px;line-height:1.4}.analysis-box h3,.dim-box h3,.pair-match-box h3,.share-match-box h3,.note-box h3,.top3-box h3,.about-box h3{font-size:16px;margin-bottom:12px}.dim-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.dim-heading h3{margin-bottom:0}.dim-heading span{display:inline-flex;border-radius:999px;padding:8px 12px;background:#243529;color:#fff;font-size:13px;font-weight:850;box-shadow:0 12px 24px #2435291f}.analysis-box p,.about-box p{margin:0;color:#304034;font-size:15px;line-height:1.9}.dim-list{display:grid;gap:12px}.dim-item{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff}.dim-item-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;flex-wrap:wrap}.dim-item-name{font-size:14px;font-weight:700;color:var(--text)}.dim-item-score{color:var(--accent-strong);font-weight:800;font-size:14px;white-space:nowrap}.dim-fit-row{display:flex;justify-content:space-between;align-items:center;gap:10px;border-radius:14px;padding:9px 10px;background:#f5faf6;border:1px solid rgba(77,106,83,.09);color:var(--accent-strong);font-size:13px;font-weight:800}.dim-fit-row em{color:var(--muted);font-size:12px;font-style:normal;font-weight:700;white-space:nowrap}.dim-meter{height:9px;border-radius:999px;background:#edf3ee;overflow:hidden;margin:8px 0 10px}.dim-meter span{display:block;height:100%;background:linear-gradient(90deg,#97b59c,#5b7a62);border-radius:inherit}.dim-item p,.note-box p{margin:0;color:var(--muted);font-size:13px;line-height:1.8}.matchmaking-box{position:relative;overflow:hidden;background:radial-gradient(circle at 9% 0%,rgba(255,255,255,.96),transparent 34%),radial-gradient(circle at 95% 18%,rgba(211,226,187,.42),transparent 32%),linear-gradient(135deg,#fffef8,#f6fbf1 48%,#eef7f0)}.matchmaking-box:before{content:"";position:absolute;inset:14px;border:1px solid rgba(77,106,83,.08);border-radius:22px;pointer-events:none}.matchmaking-head{position:relative;z-index:1;display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.matchmaking-head h3{margin-bottom:8px;font-size:20px;letter-spacing:-.02em}.matchmaking-head p{max-width:620px;color:var(--muted);font-size:14px;line-height:1.8}.matchmaking-head>span{display:inline-flex;flex-shrink:0;border:1px solid rgba(77,106,83,.14);border-radius:999px;padding:8px 12px;background:#ffffffc2;color:var(--accent-strong);font-size:12px;font-weight:800;white-space:nowrap;box-shadow:0 10px 28px #2f49370f}.matchmaking-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.matchmaking-box-locked .matchmaking-grid{display:none}.match-lock-panel{position:relative;z-index:1;border:1px dashed rgba(77,106,83,.25);border-radius:18px;padding:18px;background:linear-gradient(180deg,#ffffffd1,#ffffff9e),repeating-linear-gradient(135deg,#4d6a530a 0 8px,#ffffff2e 8px 16px);color:var(--accent-strong)}.match-lock-panel strong{display:block;font-size:17px;margin-bottom:8px}.match-lock-panel p{color:var(--muted);font-size:14px;line-height:1.8}.match-card{position:relative;overflow:hidden;border:1px solid rgba(77,106,83,.12);border-radius:20px;padding:16px;background:linear-gradient(180deg,#fffffff0,#ffffffbd),radial-gradient(circle at top right,rgba(119,154,125,.14),transparent 38%);box-shadow:0 16px 36px #2f493714}.match-card:after{content:"";position:absolute;right:-34px;top:-34px;width:92px;height:92px;border-radius:50%;background:#97b59c29}.match-card-top{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.match-label{margin-bottom:8px;color:var(--accent-strong);font-size:12px;font-weight:850;letter-spacing:.08em}.match-card strong{display:block;color:var(--text);font-size:18px;line-height:1.3;letter-spacing:-.02em}.match-score{position:relative;z-index:1;min-width:58px;border-radius:18px;padding:10px 9px;background:#243529;color:#fff;font-size:17px;font-weight:900;text-align:center;box-shadow:0 12px 24px #24352929}.match-reason{position:relative;z-index:1;margin-top:14px;color:#304034;font-size:14px;line-height:1.78}.match-advice{position:relative;z-index:1;margin-top:12px;border-radius:14px;padding:10px 12px;background:#edf6efdb;color:var(--accent-strong);font-size:13px;font-weight:700;line-height:1.7}.pair-match-box{position:relative;overflow:hidden;background:radial-gradient(circle at 12% 8%,rgba(255,255,255,.95),transparent 34%),radial-gradient(circle at 100% 0%,rgba(151,181,156,.22),transparent 30%),linear-gradient(135deg,#fdfbf1,#f4faf1 54%,#edf7f0)}.pair-match-hero{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;margin-bottom:16px}.pair-kicker{display:inline-flex;border-radius:999px;padding:7px 10px;background:#ffffffb8;border:1px solid rgba(77,106,83,.12);color:var(--accent-strong);font-size:12px;font-weight:850;margin-bottom:10px}.pair-match-hero h3{font-size:clamp(24px,4vw,36px);letter-spacing:-.04em;margin-bottom:8px}.pair-match-hero p{color:var(--muted);font-size:14px;line-height:1.8;max-width:520px}.pair-avatars{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;min-width:310px}.pair-avatars>div{border:1px solid rgba(77,106,83,.12);border-radius:18px;padding:14px;background:#ffffffc7;text-align:center;box-shadow:0 12px 28px #2f49370f}.pair-avatars span{display:block;font-size:30px;line-height:1;margin-bottom:8px}.pair-avatars strong{display:block;color:var(--text);font-size:16px}.pair-avatars small{display:block;margin-top:6px;color:var(--muted);font-size:12px;line-height:1.45}.pair-avatars b{color:var(--accent-strong);font-size:20px}.pair-rank-list{display:grid;gap:10px}.pair-rank-item{display:grid;grid-template-columns:74px 1fr;gap:12px;border:1px solid rgba(77,106,83,.12);border-radius:18px;padding:14px;background:#ffffffc7}.pair-rank-num{border-radius:14px;padding:10px 8px;background:#243529;color:#fff;font-size:12px;font-weight:900;text-align:center;align-self:start}.pair-rank-title{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px}.pair-rank-title strong{font-size:16px;color:var(--text)}.pair-rank-title span{color:var(--accent-strong);font-size:20px;font-weight:950}.pair-rank-main p{color:#304034;font-size:14px;line-height:1.75}.pair-rank-main em{display:block;margin-top:8px;color:var(--accent-strong);font-size:13px;font-style:normal;font-weight:750;line-height:1.65}.share-match-box{position:relative;overflow:hidden;background:linear-gradient(180deg,#ffffffeb,#ffffffb8),radial-gradient(circle at top right,rgba(127,165,134,.18),transparent 34%)}.share-match-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.share-match-head h3{margin-bottom:8px;font-size:20px;letter-spacing:-.02em}.share-match-head p{max-width:620px;color:var(--muted);font-size:14px;line-height:1.8}.compact-btn{flex-shrink:0;padding:12px 16px;white-space:nowrap}.share-status,.share-lock-note{margin-top:12px;border-radius:14px;padding:10px 12px;font-size:13px;line-height:1.7}.share-status{background:#edf6ef;color:var(--accent-strong);font-weight:750}.share-lock-note{border:1px dashed rgba(77,106,83,.26);color:var(--muted);background:#ffffffa8}.top3-list{display:grid;gap:10px}.top3-item{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff;display:flex;justify-content:space-between;gap:12px;align-items:center}.top3-item strong{display:block;margin-bottom:4px}.top3-item span{color:var(--muted);font-size:13px}.top3-score{color:var(--accent-strong);font-weight:800;white-space:nowrap}@media(max-width:860px){.hero-grid,.result-top,.result-hero,.matchmaking-grid,.pair-match-hero{grid-template-columns:1fr}.shell{max-width:720px}.poster-box{min-height:220px}.poster-placeholder{min-height:150px}}@media(max-width:600px){:root{--shadow: none}html{scroll-padding-top:12px}body{background:#f6faf6}.card{box-shadow:none}.hero:after{display:none}.shell{padding:max(12px,env(safe-area-inset-top)) 10px calc(24px + env(safe-area-inset-bottom))}.hero,.test-wrap,.result-wrap{border-radius:18px;padding:14px;margin-top:10px}.hero-minimal{min-height:auto;padding:28px 14px;align-items:stretch;text-align:left}.hero h1{font-size:clamp(30px,11vw,42px);line-height:1.02;letter-spacing:-.045em}.hero .sub{font-size:14px;line-height:1.72}.eyebrow{align-self:flex-start;margin-bottom:14px}.hero-grid{gap:10px;margin-top:18px}.mini-panel{padding:14px;border-radius:16px}.mini-panel ul{font-size:13px;line-height:1.7}.hero-actions-single,.hero-actions{margin-top:18px}.btn-primary,.btn-secondary{width:100%;min-height:48px;padding:14px 16px;border-radius:14px}.topbar{position:static;background:#f6faf6;-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid var(--line);border-radius:16px;padding:10px;margin:-2px -2px 14px}.progress{min-width:0;height:12px}.progress-text{font-weight:800;color:var(--accent-strong)}.question-list{gap:12px}.test-guide{margin:-2px 0 12px;border-radius:14px;padding:10px 12px;font-size:12px}.question{scroll-margin-top:76px;border-radius:18px;padding:14px}.question-meta{align-items:flex-start;flex-direction:column;gap:8px}.question-title{font-size:16px;line-height:1.62;font-weight:750}.options{gap:9px}.option{min-height:56px;padding:13px;border-radius:16px;font-size:14px;line-height:1.55}.option:active{transform:none}.option input{width:18px;height:18px}.option-code{min-width:20px}.actions-bottom{margin:14px -14px -14px;padding:12px 14px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.hint{width:100%;font-size:12px}.actions-row{width:100%;display:grid;grid-template-columns:.85fr 1.15fr;gap:10px}.actions-row .btn-primary,.actions-row .btn-secondary{width:100%;padding-left:10px;padding-right:10px}.result-top,.result-hero,.result-layout{gap:12px}.poster-box,.type-box,.analysis-box,.dim-box,.matchmaking-box,.pair-match-box,.share-match-box,.note-box,.top3-box,.about-box{border-radius:18px;padding:14px}.poster-box{min-height:180px}.poster-placeholder{min-height:118px}.poster-placeholder span{font-size:56px}.poster-placeholder strong{font-size:20px}.type-box{min-height:auto}.type-kicker{padding:7px 10px;font-size:12px;margin-bottom:12px}.type-name{gap:9px}.type-code-pill{padding:7px 10px;font-size:15px}.type-alias-name{font-size:clamp(28px,9vw,38px);line-height:1.16}.type-subname{margin-top:14px;border-radius:14px;font-size:13px;line-height:1.55}.type-desc,.analysis-box p,.matchmaking-head p,.share-match-head p,.pair-match-hero p,.match-reason,.match-advice,.about-box p{font-size:14px;line-height:1.78}.type-desc{padding:13px;font-weight:600}.dim-heading{align-items:flex-start;flex-direction:column;gap:8px}.dim-heading span{width:100%;justify-content:center}.dim-fit-row{align-items:flex-start;flex-direction:column;gap:4px}.matchmaking-head{flex-direction:column;gap:10px;margin-bottom:12px}.share-match-head{flex-direction:column;gap:12px}.matchmaking-head h3,.share-match-head h3{font-size:18px}.matchmaking-head>span{width:100%;justify-content:center}.compact-btn{width:100%}.pair-avatars{width:100%;min-width:0;grid-template-columns:1fr}.pair-avatars b{transform:rotate(90deg);text-align:center}.pair-rank-item{grid-template-columns:1fr}.pair-rank-num{width:max-content}.pair-rank-title{align-items:flex-start}.match-card{border-radius:18px;padding:14px}.match-card strong{font-size:16px}.match-score{min-width:54px;font-size:15px}.top3-item{align-items:flex-start;flex-direction:column}.top3-score{align-self:flex-end}.result-actions{display:grid;grid-template-columns:1fr 1fr}.result-actions .btn-primary,.result-actions .btn-secondary{width:100%}}@media(prefers-reduced-motion:reduce),(max-width:600px){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}
