@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@700;900&display=swap');
:root{--paper:#070c14;--ink:#eaf4fc;--muted:#8fa5ba;--orange:#9af5ed;--yellow:#15374d;--line:#2c4358;--white:#101d2e;color-scheme:dark;color:var(--ink);background:var(--paper)}
body{min-width:0;background:radial-gradient(ellipse at 80% 15%,#102e4d66,transparent 42%),#070c14;background-size:auto}::selection{background:#347b8b;color:#fff}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline-color:#9af5ed}.site-header{max-width:1190px;padding:28px 32px 24px;border-bottom:1px solid #233a4b80}.brand{font-size:inherit;letter-spacing:normal}.brand-wordmark{display:block;font-family:'Noto Serif KR',serif;font-size:28px;line-height:1.3;font-weight:900;letter-spacing:-1.5px;color:#f3f6ff;text-shadow:0 0 20px #448aec55}.brand-wordmark small{display:block;color:#d16e83;font-family:'Noto Sans KR',sans-serif;letter-spacing:2px;font-size:14px;font-weight:800;margin:0 0 4px}.header-label{display:block;font-size:14px;letter-spacing:2px;color:#8ca1b4;text-align:right}.header-label span{display:block;margin-top:7px;font-size:14px;letter-spacing:.5px;color:#617589}
.home-view{max-width:1190px;margin:0 auto;padding:0 32px}.hero-poster{border:0;background:none;box-shadow:none}.hero-content{grid-template-columns:1.02fr 1fr;gap:32px;min-height:620px;padding:59px 0 43px}.hero-copy{align-self:center;padding:0;position:relative;z-index:2}.eyebrow{font-size:14px;font-weight:600;letter-spacing:1.8px;color:#71c7d0}.hero-copy>.eyebrow{display:flex;align-items:center;gap:10px;font-size:14px;letter-spacing:1.5px;color:#a1b5c9}.signal-dot{width:5px;height:5px;background:#e34c61;box-shadow:0 0 10px #f63f62aa}.hero-copy h1{font-weight:900;font-size:81px;line-height:1.2;letter-spacing:-5px;margin:24px 0;color:#f5f8fe}.hero-copy h1>span:first-of-type{color:#9af5ed;text-shadow:0 0 45px #29bad525}.hero-rule{width:44px;height:2px;background:#608c9f;margin-bottom:22px}.hero-description{font-size:16px;line-height:1.85;color:#c6d6e4;letter-spacing:-.3px}.hero-subcopy{font-size:14px;line-height:1.9;color:#8b9fb3;margin-top:16px}.test-facts{display:flex;gap:24px;margin:29px 0 22px;color:#839aad;font-size:14px;font-weight:400}.test-facts>span+span{padding-left:23px;border-left:1px solid #2c4153}.test-facts b{font-size:15px;color:#dbe8f4;margin-right:3px;font-weight:500}.primary{background:#9af5ed;border:1px solid #c2fff9;color:#09212a;padding:18px 23px;min-height:59px;font-size:15px;font-weight:800;border-radius:3px;box-shadow:0 0 25px #50e9d818}.primary>span{font-weight:400}.primary:hover:not(:disabled){background:#cafff8;box-shadow:0 0 34px #50e9d831;transform:translateY(-1px)}.primary:active:not(:disabled){transform:translateY(1px);box-shadow:none}.primary:disabled{background:#172637;color:#64788d;border-color:#293e51;box-shadow:none}.start-button{max-width:365px}.hero-note{font-size:14px;color:#61758a;margin-top:15px}.resume{margin-top:13px}.hero-art{height:550px;padding:0;display:flex;align-items:center;justify-content:center;flex-direction:column}.book-aura{position:absolute;width:110%;height:88%;border-radius:50%;background:radial-gradient(ellipse,#123d6277 0,#0c244b44 32%,transparent 67%);filter:blur(13px);z-index:0}.hero-illustration{object-fit:contain;height:auto;width:100%;max-width:470px;aspect-ratio:1041/1000;position:relative;z-index:1;border:1px solid #698d9e;border-radius:5px;box-shadow:9px 12px 0 #142d40,0 22px 45px #0008;transform:rotate(-3deg)}.hero-art-caption{position:relative;margin-top:30px;text-align:center;z-index:2}.hero-art-caption>span{font-size:14px;letter-spacing:3px;color:#c9d4e1}.hero-art-caption>p{font-size:14px;color:#5d7892;letter-spacing:1px;margin-top:8px}
.hunter-roster{display:flex;gap:40px;align-items:center;border-top:1px solid #2b4053;border-bottom:1px solid #2b4053;padding:26px 0}.roster-heading{width:180px;flex-shrink:0}.roster-heading>span{font-size:14px;letter-spacing:1.4px;color:#5d869f}.roster-heading>p{font-size:14px;color:#9db2c5;margin-top:11px;line-height:1.8}.mini-portraits{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;flex:1;min-width:0;margin:0}.mini-portraits>.hunter-preview{min-width:0;text-align:center}.mini-portraits img{height:74px;width:74px;margin:auto;border:1px solid #455e71;border-radius:50%;filter:saturate(.88);background:#122438}.mini-portraits span{font-size:14px;font-weight:600;margin-top:9px;color:#dbe6f0;letter-spacing:0}.mini-portraits small{display:block;font-size:14px;margin-top:5px;color:#6b8297;white-space:nowrap;letter-spacing:-.2px}.below-hero{margin-top:19px;font-size:14px;color:#627e94}.text-button{font-weight:500;color:#a2b8cc}.text-button:hover{color:#9af5ed}.site-footer{max-width:1190px;margin:42px auto 0;padding:25px 32px 27px;gap:10px;color:#61768c;border-top:1px solid #1b2b3c}.site-footer>span{font-weight:600;letter-spacing:.5px}.site-footer b{color:#829eb6}.site-footer small{font-size:14px;color:#52697f}.site-footer .text-button{font-size:14px;color:#7990a6}
.quiz-view{max-width:650px;margin:27px auto 0}.quiz-nav>span:first-of-type{letter-spacing:1px;color:#9bafc2}.quiz-nav>span:last-child{color:#60758b}.quiz-nav b{font-size:18px;color:#9af5ed;font-weight:500}.back-button{border-color:#344b60;border-radius:3px;color:#a6c0d4}.back-button:hover{background:#173044}.progress{height:3px;background:#192e42;border-radius:0}.progress span{background:#71d2dc;box-shadow:0 0 12px #51c7d1}.question-card{border:1px solid #345066;background:linear-gradient(135deg,#142236,#0d1726);border-radius:4px;box-shadow:0 18px 45px #0005}.scene{aspect-ratio:2.16;background:#142638;border-bottom:1px solid #39576a}.scene-label{background:#08131ae6;border:1px solid #5c829488;color:#d1e7f6;font-weight:500}.scene-label i{background:#9af5ed}.question-body{padding:25px 29px 20px}.question-body>.eyebrow{color:#7bd6d9}.question-body h1{font-size:26px;font-weight:700;margin:10px 0 23px}.answers{gap:10px}.answer{padding:14px;min-height:62px;background:#0c1929;border:1px solid #2d4358;border-radius:3px;font-size:14px;line-height:1.75;color:#b8c9d8;word-break:keep-all}.answer-letter{border-color:#3b5265;border-radius:2px;color:#8ca7bc;font-weight:500}.answer-check{color:#647e93}.answer:hover{background:#153047;border-color:#5c8ba0}.answer.selected{background:#153940;border:1px solid #8febe5;padding:14px;box-shadow:inset 3px 0 0 #9af5ed;color:#e0fcf8;font-weight:500}.answer.selected .answer-letter{background:#9af5ed;border-color:#9af5ed;color:#102b31}.answer.selected .answer-check{color:#9af5ed}.next-button{margin-top:22px;min-height:54px;font-size:14px;padding:14px 18px}.question-note{font-size:14px;color:#718ca2;line-height:1.8}
.result-view{max-width:650px;padding-top:31px}.result-intro{margin-bottom:30px}.result-intro .eyebrow{color:#6ccacf}.result-intro h1{font-size:29px;margin:13px 0}.result-intro>p:last-child{font-size:14px;color:#859bb0}.hunter-card{background:#101c2c;border:1px solid #41586b;border-radius:5px;box-shadow:0 19px 45px #0006}.id-top{background:var(--type-color)}.result-image{height:295px;border-bottom:1px solid #3d5265}.result-image>img{object-position:center 42%}.type-seal{height:51px;width:51px;background:#0b192deb;border:1px solid var(--type-pale);color:var(--type-pale);border-radius:4px;font-size:30px;font-weight:600;box-shadow:none;transform:none}.result-identity{padding:28px 27px;background:linear-gradient(135deg,#1c2b40,#0d1a2a)}.type-english{color:var(--type-pale);font-weight:500}.result-identity h2{font-size:48px;margin:8px 0}.result-role{font-size:14px;font-weight:500;color:#b7cadb}.result-identity blockquote{font-size:19px;font-weight:600;line-height:1.7}.keywords{font-size:14px;color:#97b0c5}.keywords span{background:#25394d66;border:1px solid #42556b66;border-radius:3px}.card-perforation{border-top:1px solid #334b60}.result-details{padding:29px}.intro-text{font-size:15px;line-height:2;color:#c5d5e3}.trait-tags{border-color:#30465b;padding:17px 0;gap:13px}.trait-tags span{font-size:14px;color:#afc4d6}.trait-tags b{color:var(--type-pale);font-weight:400}.detail-row{margin:25px 0}.detail-symbol{font-size:14px;color:#7199b1;line-height:2.3;letter-spacing:1px}.detail-row h3{font-size:14px;margin:1px 0 9px;color:#dbe7f1}.detail-row p{font-size:14px;line-height:1.95;color:#96afc4}.canon-note{background:#0b1726;padding:19px;border:1px solid #293f53;border-radius:3px}.canon-note b{font-size:14px;color:#c4d8e6}.canon-note p{font-size:14px;line-height:1.95;color:#849fb5;margin-top:9px}.choice-evidence{background:#0a1927;border:1px solid #335165;border-radius:3px;padding:19px}.choice-evidence>.eyebrow{color:#6eafbd;letter-spacing:1.4px}.choice-evidence>h3{font-size:14px;margin:9px 0 18px;color:#c0dce7}.choice-evidence>div{border-left:1px solid #5593a0;padding-left:13px;margin:17px 0}.choice-evidence small{font-size:14px;color:#7190a7}.choice-evidence>div p{font-size:14px;color:#c4d7e5;margin-top:7px}.evidence-explanation{font-size:14px;line-height:1.95;margin-top:21px;color:#8aa8bd}.evidence-explanation b{color:#b7d8e4;font-weight:500}.mixed-note{font-size:14px;border-color:#294153;color:#9bb9cc}.psych-note{border-top:1px solid #304558;padding-top:17px;margin-top:26px}.psych-note summary{font-size:14px;color:#9ecfd6;cursor:pointer;line-height:1.8}.psych-note h3{font-size:14px;color:#bfd5e4;margin:19px 0 9px}.psych-note p{font-size:14px;line-height:1.95;color:#8eabbe;word-break:keep-all}.psych-note small{display:block;margin-top:13px;color:#6c869b;font-size:14px;line-height:1.9}.partner-card{background:#0e1b2b;border:1px solid #2d465c;border-radius:4px;padding:21px}.partner-card>div{border-color:#506879}.partner-card .eyebrow{font-size:14px;color:#6f9fba}.partner-card h2{font-size:20px}.partner-card h2 span{color:#86b8c9}.partner-card section>p:last-child{font-size:14px;line-height:1.95;color:#8ea8bd}.secondary{border:1px solid #3b586f;border-radius:3px;background:#122336;font-size:14px;font-weight:500;color:#b7cfe0}.secondary:hover{background:#1b3448;border-color:#6495aa}.action-links .text-button{font-size:14px}.book-banner{background:radial-gradient(ellipse at 0 0,#173559,#0e1b2c 75%);padding:28px;border:1px solid #3e617b;border-radius:4px}.book-cover{width:128px;height:175px;filter:drop-shadow(3px 8px 7px #0008)}.book-banner h2{font-size:23px;line-height:1.65;font-weight:700}.book-banner .eyebrow{font-size:14px;letter-spacing:1px;color:#70b8c6}.book-title{font-size:14px;color:#ccdee9}.book-subtitle{font-size:14px;color:#849eb5}.store-link{border:1px solid #3d5b74;border-radius:3px;background:#14283b;font-size:14px;font-weight:500;color:#c2d6e6}.store-link:hover{background:#224758;border-color:#90d3d9;color:#dcfffc;transform:translateY(-1px);box-shadow:none}.result-disclaimer{font-size:14px;color:#627f95}
.archive-view{max-width:970px;padding-top:33px}.archive-heading h1{font-size:38px}.archive-heading>p:last-child{font-size:14px;color:#8fa6bb}.hunter-grid{gap:21px;margin:38px 0}.archive-card{border:1px solid #3b5367;background:#102033;border-radius:4px;box-shadow:0 8px 20px #0004}.archive-card:hover{transform:translateY(-4px);border-color:var(--type-pale);box-shadow:0 10px 23px #0005}.archive-card>div{height:175px;border-bottom:1px solid #354d62}.archive-card>div>span{background:#0e1e30e8;color:var(--type-pale);border:1px solid #849fb5;border-radius:3px;font-weight:500}.archive-card small{color:var(--type-pale);font-size:14px;font-weight:500}.archive-card h2{font-size:24px}.archive-card h2>span{color:#769bb5}.archive-card p{font-size:14px;color:#8da8bf}.book-view{max-width:650px;padding-top:29px}.book-page{background:radial-gradient(ellipse at 50% 20%,#17344f,#0e1b2a 65%);border:1px solid #334c63;border-radius:4px;box-shadow:none}.book-page h1{font-size:33px;line-height:1.6}.book-page>p:not(.eyebrow){color:#9eb9cd}.book-page>img.book-page-cover{filter:drop-shadow(0 10px 15px #0009)}dialog{border:1px solid #466880;background:#112134;box-shadow:0 20px 100px #000b}dialog::backdrop{background:#020710c9;backdrop-filter:blur(5px)}.dialog-close{color:#9db7ce}dialog p:not(.eyebrow){font-size:14px;color:#a7bed1}.privacy-note{background:#0b1a2b;border:1px solid #2c465c}.source-links{font-size:14px;color:#93c9d6}.share-dialog input{border:1px solid #456075;background:#091728;color:#cde5ef}#toast{background:#16303e;color:#d4faf7;border:1px solid #5395a1}
@media(min-width:1550px){.hero-content{min-height:685px;padding-top:75px;padding-bottom:60px}.hero-copy h1{font-size:91px}.hero-art{height:585px}.hero-illustration{max-width:495px}}
@media(max-width:960px){.hero-content{gap:20px;min-height:585px}.hero-copy h1{font-size:69px;letter-spacing:-4px}.hero-art{height:495px}.hero-illustration{max-width:410px}.hero-description{font-size:14px}.hero-subcopy{font-size:14px}.hero-copy>.eyebrow{font-size:14px;letter-spacing:1px}.test-facts{gap:15px;font-size:14px}.test-facts>span+span{padding-left:15px}.roster-heading{width:140px}.hunter-roster{gap:20px}.mini-portraits{gap:12px}.mini-portraits img{width:65px;height:65px}.mini-portraits span{font-size:14px}.mini-portraits small{font-size:14px}.roster-heading>p{font-size:14px}.roster-heading>span{font-size:14px}}
@media(max-width:680px){.site-header{padding:20px 22px 18px}.brand-wordmark{font-size:24px}.brand-wordmark small{font-size:14px;letter-spacing:1.4px}.header-label{font-size:14px;letter-spacing:1.2px}.header-label span{font-size:14px;margin-top:6px}.home-view{padding:0 22px;margin-top:0}.hero-content{display:flex;flex-direction:column;gap:0;padding:31px 0 29px;min-height:0}.hero-copy{display:contents}.hero-copy>.eyebrow{order:0;justify-content:center;font-size:14px;letter-spacing:1px}.hero-copy h1{order:1;text-align:center;font-size:59px;line-height:1.13;letter-spacing:-3.5px;margin:20px 0 18px}.hero-copy h1 br{display:none}.hero-copy h1>span:first-of-type:before{content:'';display:block}.hero-rule{display:none}.hero-description{order:2;text-align:center;font-size:14px;line-height:1.85}.hero-subcopy{display:none}.hero-art{order:3;height:auto;width:100%;max-width:340px;align-self:center;margin:28px auto 8px;padding:0 8px}.hero-illustration{width:100%;max-width:330px;transform:rotate(-3deg);box-shadow:5px 7px 0 #142d40,0 16px 30px #0008}.hero-art-caption{display:none}.book-aura{height:100%;width:125%;max-width:calc(100vw - 44px)}.test-facts{order:4;justify-content:center;gap:20px;margin:19px 0 18px;font-size:14px}.test-facts>span+span{padding-left:20px}.test-facts b{font-size:14px}.start-button{order:5;max-width:none;font-size:14px;min-height:55px;padding:15px 18px}.hero-note{order:7;text-align:center;font-size:14px;margin-top:13px}.resume{order:6;align-self:center;font-size:14px;margin-top:12px}.hunter-roster{display:block;padding:22px 0}.roster-heading{width:auto;display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.roster-heading>span{font-size:14px;letter-spacing:1px}.roster-heading>p{font-size:14px;margin:0}.mini-portraits{gap:7px;margin:0}.mini-portraits img{height:auto;aspect-ratio:1;width:54px;max-width:100%}.mini-portraits span{font-size:14px;margin-top:8px;letter-spacing:-.6px}.mini-portraits small{display:none}.below-hero{flex-direction:column;gap:5px;text-align:center;font-size:14px;margin-top:16px;line-height:1.9}.site-footer{margin:24px 22px 0;padding:20px 0;font-size:14px}.site-footer .text-button{font-size:14px}.site-footer small{font-size:14px}.quiz-view{padding:0 17px;margin-top:23px}.scene{aspect-ratio:1.95}.question-body{padding:23px 19px 17px}.question-body h1{font-size:23px;margin:10px 0 20px}.answer,.answer.selected{font-size:14px;min-height:66px;padding:13px 11px;gap:10px;line-height:1.75}.question-note{font-size:14px}.result-view{padding:26px 17px 0}.result-intro h1{font-size:25px}.result-intro>p:last-child{font-size:14px;line-height:1.8}.result-image{height:235px}.result-identity{padding:25px 18px}.result-identity h2{font-size:40px}.result-role{font-size:14px;line-height:1.8}.result-identity blockquote{font-size:17px;line-height:1.8;margin:19px 0}.keywords{font-size:14px}.result-details{padding:23px 21px}.intro-text{font-size:14px}.detail-row p{font-size:14px}.trait-tags span{font-size:14px}.partner-card{padding:18px 16px;gap:16px}.partner-card section>p:last-child{font-size:14px}.partner-card h2{font-size:19px}.book-banner{padding:24px 18px}.book-banner-top{gap:17px}.book-cover{width:93px;height:142px}.book-banner h2{font-size:18px;letter-spacing:-.6px}.book-banner .eyebrow{font-size:14px}.book-title{font-size:14px;margin-top:9px}.book-subtitle{font-size:14px}.store-link{font-size:14px;padding:13px;min-height:48px}.result-disclaimer{font-size:14px}.choice-evidence{padding:17px 15px}.choice-evidence>h3{font-size:14px}.archive-view{padding-top:25px}.archive-heading h1{font-size:31px}.archive-heading>p:last-child{font-size:14px}.hunter-grid{grid-template-columns:1fr 1fr;gap:14px;margin:29px 0}.archive-card>div{height:143px}.archive-card section{padding:15px 12px}.archive-card small{font-size:14px}.archive-card h2{font-size:19px}.archive-card p{font-size:14px}.book-view{padding-top:24px}.book-page h1{font-size:28px}dialog p:not(.eyebrow){font-size:14px}}
@media(max-width:360px){.home-view{padding:0 18px}.site-header{padding:18px}.hero-copy h1{font-size:54px}.hero-art{max-width:288px}.mini-portraits span{font-size:14px}.mini-portraits img{width:46px}.test-facts{gap:14px;font-size:14px}.test-facts>span+span{padding-left:14px}.question-body{padding-left:15px;padding-right:15px}.question-body h1{font-size:21px}.answer,.answer.selected{font-size:14px}.book-banner h2{font-size:16px}.book-banner-top{gap:13px}.book-cover{width:75px;height:123px}.book-subtitle{font-size:14px}.archive-card h2{font-size:17px}.result-identity h2{font-size:36px}.result-details{padding-left:17px;padding-right:17px}}


/* Simple introduction, softer cover art, and readable Korean text. */
.brand-wordmark small { font-size: 13px; letter-spacing: .7px; }
.brand-wordmark { text-shadow: none; }
.hero-content { min-height: 0; padding: 52px 0 44px; gap: 44px; }
.hero-copy h1 { margin: 0 0 26px; text-shadow: none; }
.hero-copy h1 > span:first-of-type { text-shadow: none; }
.hero-description { font-size: 18px; line-height: 1.85; color: #bdcedc; }
.test-facts { font-size: 15px; color: #a2b5c6; gap: 19px; margin: 28px 0 18px; }
.test-facts > span + span { padding-left: 19px; }
.start-button { font-size: 18px; max-width: 365px; min-height: 60px; box-shadow: none; }
.resume { font-size: 15px; }
.hero-art { height: auto; }
.hero-illustration { filter: saturate(.92) contrast(.90); border-color: #536471; box-shadow: 6px 8px 0 #1a2b39; }
.hunter-roster { border-bottom: 0; padding: 29px 0 15px; }
.mini-portraits { width: 100%; max-width: 700px; margin: 0 auto; flex: 0 1 700px; gap: 18px; }
.mini-portraits img { width: 80px; height: 80px; }
.mini-portraits span { font-size: 16px; margin-top: 12px; line-height: 1.5; white-space: normal; word-break: keep-all; }
.site-footer { margin-top: 30px; padding-top: 20px; padding-bottom: 24px; }
.site-footer small { font-size: 12px; color: #8b9eaf; flex-basis: auto; }
.site-footer .text-button { font-size: 14px; color: #acbdca; }
.quiz-nav { font-size: 15px; }
.quiz-nav > span:first-of-type { letter-spacing: 0; }
.scene-label { font-size: 14px; letter-spacing: 0; }
.scene > img[src*="/black-retry.webp"] { object-position: center top; }
.scene > img[src*="/mission-complete.webp"] { object-position: center top; }
.scene:has(> img[src*="/mission-complete.webp"]) .scene-label { top: 12px; bottom: auto; }
.question-body > .eyebrow { font-size: 14px; }
.question-body h1 { font-size: 28px; line-height: 1.55; letter-spacing: -.6px; }
/* Larger, stronger answer text for younger readers. */
.answer, .answer.selected { font-size: 19px; font-weight: 600; line-height: 1.65; letter-spacing: 0; padding: 18px 16px; min-height: 78px; }
.answer { background: #172c3f; color: #f1f6fa; border-color: #58758c; border-radius: 7px; }
.answer:hover { background: #203b51; border-color: #90acbf; }
.answer.selected { background: #214a4f; color: #f4fffd; border-color: #9af5ed; }
.answers { gap: 12px; }
.answer-letter { width: 29px; height: 29px; background: #29465d; color: #e6f1f7; border-color: #7893a6; font-weight: 700; }
.answer-check { color: #b9cddd; font-size: 18px; }
.next-button:disabled { background: #203245; color: #aebfcd; border-color: #50697e; }
.answer-letter { font-size: 15px; }
.next-button { font-size: 18px; min-height: 58px; }
.question-note { font-size: 16px; color: #b8cbdc; line-height: 1.7; }
.result-intro > p:last-child { font-size: 16px; }
.id-top { font-size: 14px; letter-spacing: .3px; }
.result-role, .trait-tags span { font-size: 16px; }
.result-identity blockquote { font-size: 21px; }
.keywords { font-size: 14px; }
.intro-text { font-size: 17px; line-height: 1.95; }
.detail-row h3, .choice-evidence > h3, .psych-note h3 { font-size: 17px; line-height: 1.6; }
.detail-row p, .canon-note p, .choice-evidence > div p, .evidence-explanation,
.psych-note p, .partner-card section > p:last-child { font-size: 16px; line-height: 1.85; color: #afc1d0; }
.canon-note b, .psych-note summary { font-size: 16px; }
.choice-evidence small, .psych-note small, .mixed-note, .result-disclaimer { font-size: 14px; line-height: 1.85; color: #9db1c3; }
.partner-card .eyebrow { font-size: 14px; letter-spacing: 0; }
.result-actions > .primary, .secondary { font-size: 16px; }
.action-links .text-button { font-size: 15px; }
.book-banner h2 { font-size: 27px; }
.book-subtitle { font-size: 16px; max-width: none; color: #b2c4d3; }
.store-link { font-size: 16px; min-height: 50px; }
.archive-heading > p:last-child, .archive-card p { font-size: 16px; line-height: 1.8; }
dialog p:not(.eyebrow) { font-size: 16px; line-height: 1.9; }
.source-links { font-size: 14px; line-height: 1.8; }
.share-dialog input { font-size: 16px; }
@media (max-width: 960px) {
  .hero-content { gap: 30px; }
  .hero-copy h1 { font-size: 68px; }
  .hero-art { height: auto; }
}
@media (max-width: 680px) {
  .site-header { padding: 22px 22px 20px; }
  .hero-content { padding: 34px 0 28px; gap: 0; }
  .hero-copy h1 { font-size: 58px; margin: 0 0 18px; }
  .hero-description { font-size: 17px; line-height: 1.75; }
  .hero-art { margin: 26px auto 14px; max-width: 330px; }
  .hero-illustration { box-shadow: 4px 6px 0 #1a2b39; }
  .test-facts { margin: 17px 0 16px; font-size: 15px; gap: 20px; }
  .test-facts > span + span { padding-left: 20px; }
  .start-button { max-width: none; font-size: 18px; }
  .resume { margin-top: 16px; font-size: 15px; }
  .hunter-roster { padding: 25px 0 9px; }
  .mini-portraits { gap: 8px; }
  .mini-portraits img { width: 58px; height: auto; aspect-ratio: 1; max-width: 100%; }
  .mini-portraits span { font-size: 14px; letter-spacing: -.3px; margin-top: 10px; }
  .site-footer { margin: 25px 22px 0; padding: 18px 0 22px; }
  .question-body h1 { font-size: 25px; }
  .answer, .answer.selected { font-size: 18px; padding: 17px 13px; gap: 12px; }
  .answer-check { display: none; }
  .result-intro h1 { font-size: 28px; }
  .result-identity blockquote { font-size: 20px; }
  .book-banner-top { gap: 18px; align-items: center; }
  .book-cover { width: 92px; height: 140px; }
  .book-banner h2 { font-size: 24px; }
  .archive-card h2 { font-size: 21px; }
}
@media (max-width: 360px) {
  .hero-copy h1 { font-size: 52px; }
  .hero-art { max-width: 280px; }
  .mini-portraits img { width: 48px; }
  .mini-portraits span { font-size: 14px; }
  .quiz-nav { font-size: 14px; }
  .question-body h1 { font-size: 24px; }
  .answer, .answer.selected { gap: 10px; padding: 16px 11px; }
  .answer-letter { width: 27px; height: 27px; }
  .book-banner-top { flex-direction: column; align-items: flex-start; gap: 16px; }
  .book-banner h2 { font-size: 24px; }
  .book-cover { align-self: center; width: 110px; height: 155px; }
}

/* The cast is a single fan of illustrated stickers. Labels belong to each
   sticker, and only the outer rims overlap, leaving every face legible. */
.hunter-roster {
  display: block;
  border: 0;
  padding: 36px 0 12px;
}
.hunter-roster h2 {
  margin: 0 0 28px;
  text-align: center;
  color: #e1ebf3;
  font-size: 23px;
  line-height: 1.5;
  letter-spacing: -.7px;
  font-weight: 700;
}
.mini-portraits {
  display: block;
  position: relative;
  isolation: isolate;
  width: 100%;
  max-width: 760px;
  aspect-ratio: 760 / 268;
  height: auto;
  margin: 0 auto;
  flex: none;
}
.mini-portraits::before {
  content: '';
  position: absolute;
  z-index: -1;
  left: 7%;
  right: 6%;
  top: 34%;
  bottom: 8%;
  border-radius: 50%;
  background: #11222f;
  transform: rotate(-2deg);
}
.mini-portraits > .hunter-preview {
  position: absolute;
  top: var(--cast-y);
  left: var(--cast-x);
  width: var(--cast-size);
  min-width: 0;
  text-align: center;
  cursor: default;
  transform: rotate(var(--cast-tilt));
  z-index: var(--cast-layer, 1);
}
.mini-portraits .portrait {
  position: relative;
  width: 100%;
  max-width: none;
  aspect-ratio: 1;
  margin: 0;
  overflow: hidden;
  border: 5px solid var(--cast-paper);
  border-radius: 50%;
  background: #183448;
  isolation: isolate;
  box-shadow: 0 0 0 3px #070c14, 0 8px 0 #03080e80;
}
.mini-portraits .portrait img {
  position: absolute;
  width: var(--portrait-scale, 100%);
  height: auto;
  max-width: none;
  aspect-ratio: auto;
  top: var(--portrait-top, 0%);
  left: var(--portrait-left, 0%);
  margin: 0;
  border: 0;
  border-radius: 0;
  background: none;
  object-fit: initial;
  filter: none;
}
.mini-portraits .portrait-black img { transform: scale(1.08); transform-origin: left center; }
.portrait-white { --portrait-scale: 177.419%; --portrait-left: -45.161%; }
.portrait-violet { --portrait-scale: 201.509%; --portrait-left: -48.113%; --portrait-top: -21.887%; }
.portrait-yellow { --portrait-scale: 224.299%; --portrait-left: -60.374%; }
.mini-portraits .portrait-duo { background: #84d6e7; }
.portrait-companion {
  position: absolute;
  top: 18%;
  width: 60%;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 50%;
}
.portrait-mint { left: -3%; --portrait-scale: 500%; --portrait-left: -275.417%; --portrait-top: -66.25%; }
.portrait-pink { right: -3%; --portrait-scale: 495.868%; --portrait-left: -130.165%; --portrait-top: -64.876%; }
.mini-portraits .hunter-preview > span {
  position: relative;
  display: table;
  width: max-content;
  max-width: calc(100% + 16px);
  margin: -8px auto 0;
  padding: 5px 12px 6px;
  border: 2px solid #101721;
  border-radius: 7px;
  box-shadow: 0 2px 0 #03080e;
  background: var(--cast-paper);
  color: #14202c;
  font-size: 16px;
  line-height: 1.3;
  font-weight: 800;
  letter-spacing: -.5px;
  white-space: nowrap;
}
.hunter-preview[data-hunter="violet"] {
  --cast-x: 1%; --cast-y: 26%; --cast-size: 18%; --cast-tilt: -12deg;
  --cast-paper: #c9bce9;
}
.hunter-preview[data-hunter="black"] {
  --cast-x: 17%; --cast-y: 19%; --cast-size: 24%; --cast-tilt: -5deg; --cast-layer: 3;
  --cast-paper: #d5deeb;
}
.hunter-preview[data-hunter="white"] {
  --cast-x: 39%; --cast-y: 2%; --cast-size: 27%; --cast-tilt: 5deg; --cast-layer: 2;
  --cast-paper: #d4f1ee;
}
.hunter-preview[data-hunter="yellow"] {
  --cast-x: 63%; --cast-y: 26%; --cast-size: 20%; --cast-tilt: 10deg; --cast-layer: 3;
  --cast-paper: #ffda92;
}
.hunter-preview[data-hunter="mint-pink"] {
  --cast-x: 84%; --cast-y: 12%; --cast-size: 17%; --cast-tilt: 8deg;
  --cast-paper: #bfe9de;
}
.hunter-preview[data-hunter="mint-pink"] > span { background: linear-gradient(100deg, #bfe9de 46%, #f4c3db 54%); }
@media (max-width: 680px) {
  .hunter-roster { padding: 33px 0 6px; }
  .hunter-roster h2 { margin-bottom: 20px; font-size: 21px; }
  .mini-portraits { max-width: 390px; aspect-ratio: 390 / 355; }
  .mini-portraits::before { top: 21%; bottom: 12%; left: 5%; right: 3%; }
  .mini-portraits .portrait { border-width: 4px; box-shadow: 0 0 0 3px #070c14, 0 6px 0 #03080e80; }
  .mini-portraits .hunter-preview > span { font-size: 14px; padding: 4px 9px 5px; margin-top: -7px; }
  .hunter-preview[data-hunter="violet"] { --cast-x: 1%; --cast-y: 10%; --cast-size: 26%; --cast-tilt: -12deg; }
  .hunter-preview[data-hunter="black"] { --cast-x: 19%; --cast-y: 54%; --cast-size: 33%; --cast-tilt: -7deg; }
  .hunter-preview[data-hunter="white"] { --cast-x: 32%; --cast-y: 1%; --cast-size: 38%; --cast-tilt: 4deg; }
  .hunter-preview[data-hunter="yellow"] { --cast-x: 59%; --cast-y: 56%; --cast-size: 30%; --cast-tilt: 9deg; }
  .hunter-preview[data-hunter="mint-pink"] { --cast-x: 74%; --cast-y: 10%; --cast-size: 26%; --cast-tilt: 10deg; }
}

/* Keep the lollipop inside the shared question frame on narrow screens. */
.scene > img[src*="/rest-candy.webp"] { object-position: right center; }

/* Keep Korean words intact and balance each question sentence separately. */
.question-body h1,
.question-note {
  word-break: keep-all;
  overflow-wrap: normal;
}
.question-title-line {
  display: block;
  text-wrap: balance;
}
.question-note { text-wrap: balance; }
.question-note > span { display: inline-block; }
.answer > span:nth-child(2) { min-width: 0; text-wrap: balance; }
