:root{--ink:#181510;--paper:#f4efe3;--red:#9b2f24;--line:#cfc5af;--muted:#756e61}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,"Noto Serif KR","Apple SD Gothic Neo",serif}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:radial-gradient(#6e5b3a .6px,transparent .6px);background-size:5px 5px}main{width:min(760px,92vw);margin:auto;min-height:100vh;padding:42px 0 70px}.hero{text-align:center;padding:9vh 0 4vh}.seal{display:inline-grid;place-items:center;width:74px;height:74px;border:3px double var(--red);color:var(--red);font-size:27px;font-weight:800;transform:rotate(-3deg);margin-bottom:18px}h1{font-size:clamp(38px,8vw,72px);margin:0;letter-spacing:-.06em}h2{font-size:28px;margin:0 0 12px}h3{margin:0 0 8px}.sub,.lead{color:var(--muted);line-height:1.8}.lead{font-size:18px;color:var(--ink)}.card{border:1px solid var(--line);background:rgba(255,255,255,.28);padding:24px;margin:20px 0;box-shadow:0 10px 35px rgba(70,50,20,.05);line-height:1.75}button,.choice,input{font:inherit}.primary{border:0;background:var(--ink);color:var(--paper);padding:15px 22px;cursor:pointer;font-weight:700}.ghost{border:1px solid var(--line);background:transparent;padding:11px 15px;cursor:pointer}.actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:22px}.textbtn,.textback{border:0;background:none;text-decoration:underline;text-underline-offset:4px;cursor:pointer;color:var(--muted);padding:8px 0}.textback{margin-bottom:24px}.search{width:100%;padding:14px;border:1px solid var(--line);background:#fffaf0;margin:12px 0}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:8px;max-height:390px;overflow:auto;padding:4px}.char{padding:11px 8px;border:1px solid var(--line);background:transparent;cursor:pointer}.char:hover{background:var(--ink);color:var(--paper)}.progressline{display:grid;grid-template-columns:52px 1fr 54px;align-items:center;gap:12px;color:var(--muted);margin-bottom:30px}.progressline b{color:var(--red)}.progress{height:5px;background:#ddd4c3}.bar{height:100%;background:var(--red);transition:.2s}.qnum{color:var(--red);font-weight:700}.scenario{font-size:27px;line-height:1.4;margin:8px 0}.context{color:var(--muted);line-height:1.7;margin-bottom:24px}.choice{width:100%;text-align:left;padding:18px;margin:9px 0;border:1px solid var(--line);background:rgba(255,255,255,.4);cursor:pointer;line-height:1.55}.choice:hover{border-color:var(--ink);transform:translateY(-1px)}.navrow{display:flex;justify-content:space-between;align-items:center;margin-top:14px}.result-code{color:var(--red);font-weight:800;letter-spacing:.08em}.result-name{font-size:52px;margin:5px 0}.catch{font-size:22px;font-weight:500}.scores{display:grid;gap:22px;margin-top:22px}.axisresult{padding-bottom:16px;border-bottom:1px dotted var(--line)}.axisresult:last-child{border:0}.axishead,.axisnums{display:grid;grid-template-columns:70px 1fr 70px;gap:8px;align-items:center}.axishead span{text-align:center;font-size:13px;color:var(--muted)}.axishead b:last-child,.axisnums span:last-child{text-align:right}.bipolar{position:relative;height:10px;background:#d9d0be;margin:8px 0}.leftfill{height:100%;background:var(--ink)}.mid{position:absolute;left:50%;top:-3px;height:16px;border-left:1px solid var(--red)}.axisnums{font-size:12px;color:var(--muted)}.axisresult p{font-size:14px;color:var(--muted);margin:7px 0 0}.eyebrow{color:var(--red);font-weight:800;letter-spacing:.25em}.biography{border-top:3px double var(--red)}.people{font-size:19px}.sync{font-size:34px;font-weight:800;color:var(--red)}.comparehead,.compare{display:grid;grid-template-columns:1.2fr 1fr 30px 1fr;gap:8px;align-items:center;padding:7px 0}.comparehead{color:var(--muted);font-size:13px}.compare{border-top:1px dotted var(--line)}.compare.match{font-weight:700}.stat{text-align:center}.stat span,.stat small{display:block;color:var(--muted)}.stat strong{display:block;font-size:46px;color:var(--red);margin:6px}.mutedstat strong{font-size:28px;color:var(--muted)}.small{font-size:13px;color:var(--muted)}.footer{margin-top:35px;color:var(--muted);font-size:13px;line-height:1.7}.modal{position:fixed;inset:0;background:rgba(20,16,10,.65);z-index:10;display:grid;place-items:center;padding:20px}.modalbox{position:relative;background:var(--paper);width:min(720px,100%);max-height:88vh;overflow:auto;padding:28px;border:1px solid var(--line)}.x{position:absolute;right:18px;top:12px;border:0;background:none;font-size:30px;cursor:pointer}.axis-info{padding:15px 0;border-top:1px solid var(--line)}.axis-info h3 small{font-weight:400;color:var(--muted);margin-left:8px}.axis-info p{margin:6px 0;line-height:1.6;font-size:14px}@media(max-width:520px){main{padding-top:24px}.scenario{font-size:23px}.result-name{font-size:42px}.axishead,.axisnums{grid-template-columns:58px 1fr 58px}.card{padding:19px}.comparehead,.compare{grid-template-columns:1.1fr 1fr 20px 1fr;font-size:13px}}
.intro-note{max-width:560px;margin:28px auto 0;padding:16px 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);line-height:1.7;color:var(--muted);font-size:14px}.tagline{color:var(--red);font-weight:700;margin:8px 0 16px}.result-portrait{display:flex;justify-content:center;margin:10px 0 22px}.portrait-placeholder{width:190px;aspect-ratio:4/5;border:1px solid var(--line);background:linear-gradient(145deg,rgba(255,255,255,.35),rgba(120,95,55,.08));display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 12px 35px rgba(70,50,20,.08)}.portrait-placeholder span{font-size:42px;color:var(--line);letter-spacing:.15em}.portrait-placeholder b{font-size:25px;margin-top:12px}.portrait-placeholder small{color:var(--muted);margin-top:8px}.namulink{display:inline-block;margin-top:14px;color:var(--red);font-weight:700;text-underline-offset:4px}

/* v4 result hierarchy */
.result-portrait{display:flex;justify-content:center;align-items:flex-end;min-height:300px;margin:12px 0 4px;overflow:hidden}
.portrait-image{display:block;width:min(100%,520px);height:360px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 14px 18px rgba(36,24,12,.14))}
.type-name{font-size:clamp(2.4rem,8vw,4.8rem);line-height:1.02;margin:.12em 0 .18em;letter-spacing:-.055em}
.representative-line{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:18px 0 28px;padding-top:14px;border-top:1px solid rgba(85,55,30,.18)}
.representative-line span{font-size:.8rem;letter-spacing:.08em;opacity:.65}.representative-line b{font-size:1.35rem}.representative-line em{font-style:normal;color:#9e3427;font-weight:700}

/* v6: result title + portrait composition */
.result-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);align-items:end;gap:22px;min-height:430px;margin:4px 0 28px;border-bottom:1px solid var(--line);overflow:hidden}
.result-hero.no-image{display:block;min-height:0;padding:36px 0 28px}
.result-copy{position:relative;z-index:2;padding:54px 0 34px}
.result-hero .type-name{font-size:clamp(52px,7vw,86px);line-height:.98;margin:14px 0 18px;letter-spacing:-.07em}
.result-hero .tagline{font-size:20px;line-height:1.55;margin:0 0 28px;max-width:620px}
.result-hero .representative-line{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0 0 20px;padding-top:18px;border-top:1px solid var(--line)}
.representative-line span{color:var(--muted)}
.representative-line b{font-size:25px}
.representative-line em{color:var(--red);font-style:normal;font-weight:700}
.result-hero .lead{max-width:640px;margin:0}
.result-hero .result-portrait{position:relative;align-self:stretch;display:flex;justify-content:center;align-items:flex-end;min-height:430px;margin:0;overflow:visible}
.result-hero .portrait-image{position:absolute;right:-32px;bottom:-8px;width:min(510px,48vw);height:500px;max-width:none;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 16px 22px rgba(36,24,12,.16))}
.axisnums span{font-size:14px;font-weight:700;color:var(--ink)}
@media(max-width:760px){.result-hero{grid-template-columns:1fr;min-height:0;gap:0;overflow:hidden}.result-copy{padding:28px 0 8px}.result-hero .type-name{font-size:clamp(46px,14vw,70px)}.result-hero .result-portrait{grid-row:2;min-height:330px}.result-hero .portrait-image{position:relative;right:auto;bottom:-8px;width:min(100%,480px);height:350px}.result-hero .representative-line{margin-top:6px}.result-hero.no-image .result-copy{padding:20px 0 28px}}
