:root{--ink:#2E2933;--cream:#FCFAF5;--white:#FFFDF9;--border:#3B333D;--lilac:#DAD2FC;--pink:#F6C9DB;--green:#C6ECCF;--yellow:#FBE2A1;--blue:#CDE9F8;--muted:#77717A;--shadow:4px 5px 0px var(--border)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Hiragino Kaku Gothic ProN','Hiragino Sans','Noto Sans CJK JP','Yu Gothic',system-ui,sans-serif;font-size:16px;line-height:1.66;min-height:100vh}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:4px solid #8F70F1;outline-offset:4px}img{max-width:100%;display:block}.wrap{max-width:1150px;margin:0 auto;padding:0 24px}.site-header{z-index:15;position:sticky;top:0;background:rgba(252,250,245,.96);border-bottom:2px solid var(--border);backdrop-filter:blur(12px)}.head-inner{max-width:1160px;height:70px;padding:0 24px;margin:auto;display:flex;align-items:center;gap:26px;justify-content:space-between}.brand{display:flex;align-items:center;gap:8px;font-weight:1000;white-space:nowrap;font-size:20px;letter-spacing:-1px}.brand-icon{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border:2px solid var(--ink);background:var(--pink);border-radius:13px;transform:rotate(-10deg)}.brand small{display:block;font-size:10px;line-height:1;color:var(--muted);letter-spacing:1px}.nav{display:flex;align-items:center;gap:25px;font-size:13px;font-weight:850}.nav a:hover{text-decoration:underline;text-underline-offset:5px}.nav .nav-cta{background:var(--ink);color:white;padding:9px 17px;border-radius:25px}.btn{appearance:none;border:2px solid var(--ink);border-radius:100px;padding:15px 24px;background:white;color:var(--ink);font-weight:950;box-shadow:var(--shadow);display:inline-flex;align-items:center;justify-content:center;gap:11px;transition:transform .16s,box-shadow .16s;min-height:54px;text-align:center}.btn:hover{transform:translate(-1px,-2px);box-shadow:5px 7px 0 var(--border)}.btn:active{transform:translate(3px,4px);box-shadow:1px 1px 0 var(--border)}.btn[disabled]{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-dark{background:var(--ink);color:white}.btn-pink{background:#F8AEC9}.btn-yellow{background:#FFD98D}.btn-lilac{background:#DAD2FC}.btn-mini{font-size:13px;min-height:42px;padding:9px 19px;box-shadow:3px 3px 0 var(--border)}.hero{padding:61px 0 82px;overflow:hidden;position:relative}.hero:before{content:'';position:absolute;width:340px;height:340px;border-radius:50%;background:#E6DFFF;top:5%;left:-220px;z-index:-1}.hero-grid{display:grid;grid-template-columns:1fr 1.03fr;gap:45px;align-items:center}.eyebrow{display:inline-flex;padding:6px 13px;border:2px solid var(--ink);border-radius:40px;background:#E4EDDA;font-size:12px;font-weight:950;letter-spacing:.06em;transform:rotate(-2deg)}.hero h1{font-size:clamp(40px,5.3vw,76px);letter-spacing:-.075em;line-height:1.25;margin:24px 0 17px;font-weight:1000}.hero h1 span{display:block;color:#8D7BC1}.lead{font-size:17px;color:#615B66;font-weight:700;line-height:1.9;max-width:530px}.hero-cta{margin-top:27px;display:flex;flex-wrap:wrap;gap:13px}.mini-proof{margin-top:21px;display:flex;gap:8px;flex-wrap:wrap;font-size:12px;color:#615B66;font-weight:800}.mini-proof span:before{content:'✓ ';color:#72B998}.hero-visual{position:relative;background:#E5E0FA;border:3px solid var(--ink);box-shadow:9px 9px 0 #3B333D;border-radius:36px;min-height:430px;display:flex;align-items:center;overflow:visible;transform:rotate(1.5deg)}.hero-visual img{border-radius:33px;width:100%;height:100%;object-fit:cover;aspect-ratio:1.22}.sticker{position:absolute;display:flex;justify-content:center;align-items:center;border:2.5px solid var(--ink);box-shadow:3px 3px 0 var(--border);border-radius:18px;background:#FCE39C;color:var(--ink);padding:9px 14px;font-size:15px;font-weight:1000;transform:rotate(-8deg)}.sticker.one{top:-19px;left:-25px}.sticker.two{bottom:-20px;right:-10px;background:#FFBCD2;transform:rotate(7deg)}.section{padding:75px 0}.section-alt{background:#F1EDF9;border-block:2px solid var(--ink)}.section-head{text-align:center;margin-bottom:35px}.kicker{font-size:12px;letter-spacing:.2em;font-weight:1000;color:#8771B1}.section h2,.page-title{font-size:clamp(28px,4vw,43px);letter-spacing:-.045em;line-height:1.33;margin:10px 0 12px}.sub{color:#69626D;font-size:15px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.feature{background:#FFFDF9;border:2px solid var(--ink);border-radius:28px;box-shadow:5px 5px 0 var(--border);padding:25px}.feature:nth-child(2){background:#FFF0D6}.feature:nth-child(3){background:#E8F5E8}.feature .emoji{font-size:36px;line-height:1}.feature h3{margin:14px 0 5px;font-size:19px}.feature p{font-size:14px;color:#5A515B;margin:0}.card-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.character-card{border:2px solid var(--ink);border-radius:23px;overflow:hidden;box-shadow:4px 4px 0 var(--ink);background:white;position:relative;transition:transform .18s}.character-card:hover{transform:translateY(-4px)}.character-card img{aspect-ratio:1;background:var(--cardbg);width:100%;object-fit:contain}.character-card .cc-copy{padding:7px 10px 12px;text-align:center}.cc-copy .code{font-size:10px;letter-spacing:.1em;color:#7A6F77;font-weight:1000}.cc-copy strong{display:block;line-height:1.45;font-size:12px;min-height:35px}.pill{border:1.5px solid var(--ink);background:#fff;border-radius:30px;padding:6px 11px;font-size:12px;font-weight:950;display:inline-flex;align-items:center;gap:3px}.tags{display:flex;gap:9px;justify-content:center;flex-wrap:wrap}.cta-panel{padding:46px;border:3px solid var(--ink);background:#FFD6E4;border-radius:35px;box-shadow:7px 7px 0 var(--ink);text-align:center;max-width:850px;margin:auto}.cta-panel h2{margin:4px 0 7px}.cta-panel .btn{margin-top:17px}.footer{background:#312B35;color:#FEFCFA;padding:36px 0 48px}.footer-inner{display:flex;justify-content:space-between;gap:22px;align-items:flex-start}.footer a{display:inline-block;margin:8px 13px 0 0;color:#DED6DF;font-size:12px}.footer .muted{color:#BFB5BE;font-size:11px;line-height:1.8}.footer strong{font-size:18px}.page{padding:46px 0 90px;min-height:68vh}.narrow{max-width:750px;margin:auto}.center{text-align:center}.quiz-shell{max-width:760px;margin:34px auto;padding:0 20px}.quiz-top{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#69626B;font-size:13px;font-weight:900;margin-bottom:14px}.progress{background:#E9E4E8;border:2px solid var(--ink);height:15px;border-radius:30px;overflow:hidden}.progress-fill{height:100%;background:#A5DFC4;transition:width .23s}.quiz-panel{margin-top:20px;background:var(--white);border:3px solid var(--ink);border-radius:34px;box-shadow:7px 8px 0 var(--ink);padding:37px 38px 34px}.quiz-blob{text-align:center;font-size:42px;margin:0}.quiz-panel h1{font-size:clamp(24px,3.4vw,33px);line-height:1.45;letter-spacing:-.035em;text-align:center;margin:18px 0 27px}.answers{display:grid;gap:11px}.answer{border:2px solid #4C434B;background:white;border-radius:17px;padding:16px 17px;text-align:left;line-height:1.55;font-weight:780;color:var(--ink);display:flex;align-items:center;gap:12px;transition:.15s}.answer:hover{background:#F7EAF0;transform:translateX(2px)}.answer .letter{flex-shrink:0;width:30px;height:30px;border-radius:50%;border:2px solid var(--ink);display:grid;place-items:center;background:#E7E1FB;font-size:13px;font-weight:1000}.quiz-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:20px;gap:8px}.ghost{background:transparent;border:none;padding:8px 0;font-size:13px;font-weight:850;color:#756C75}.ghost:hover{text-decoration:underline}.result-head{padding:30px 0 20px;text-align:center}.result-head h1{font-size:clamp(30px,5vw,54px);line-height:1.3;margin:12px auto 13px;letter-spacing:-.06em}.result-frame{border:3px solid var(--ink);border-radius:33px;box-shadow:7px 8px 0 var(--ink);background:#FFFDF9;overflow:hidden;display:grid;grid-template-columns:.9fr 1.1fr;max-width:890px;margin:auto}.result-character{background:var(--resbg);padding:25px;position:relative;display:grid;align-items:center;justify-items:center}.result-character img{width:min(100%,370px)}.result-character .type-stamp{position:absolute;left:20px;top:18px;border:2px solid var(--ink);background:#fff;padding:5px 11px;border-radius:40px;font-weight:950;font-size:12px;transform:rotate(-7deg)}.result-copy{padding:35px;display:flex;flex-direction:column;justify-content:center}.result-copy .caption{font-size:11px;font-weight:1000;letter-spacing:.16em;color:#7C6A9D}.result-copy h2{font-size:clamp(25px,3.4vw,38px);line-height:1.32;letter-spacing:-.05em;margin:12px 0}.quote{font-size:19px;font-weight:900;line-height:1.67;margin:10px 0 17px}.result-copy p{font-size:14px;color:#68606A}.action-bar{max-width:900px;margin:26px auto;display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.detail-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:38px auto;max-width:900px}.detail{border:2px solid var(--ink);border-radius:23px;padding:23px;background:white;box-shadow:4px 4px 0 var(--ink)}.detail:nth-child(2){background:#FAF0E2}.detail:nth-child(3){background:#F3EFFD}.detail small{font-size:11px;font-weight:950;letter-spacing:.1em;color:#7B6F77}.detail h3{margin:10px 0 9px;font-size:20px}.detail p{font-size:13px;color:#66606B}.premium-card{border:3px solid var(--ink);border-radius:29px;box-shadow:5px 5px 0 var(--ink);padding:28px;background:#FFF7E9}.premium-card.pink{background:#FFF0F6}.premium-card h3{font-size:23px;margin:10px 0}.premium-card p{font-size:14px;color:#655A67}.price{font-size:31px;font-weight:1000}.price small{font-size:13px}.two-cols{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.legal-text{background:white;border:2px solid var(--ink);border-radius:20px;padding:27px;max-width:860px;margin:18px auto;font-size:14px}.legal-text h2{font-size:20px}.legal-text p,.legal-text li{line-height:1.95;color:#605964}.legal-text table{border-collapse:collapse;width:100%;font-size:13px}.legal-text td{border-bottom:1px solid #EEE3E8;padding:13px 8px;vertical-align:top}.legal-text td:first-child{width:32%;font-weight:800}.callout{background:#FFF0D6;border:2px dashed #9C8B73;border-radius:18px;padding:15px;font-size:13px;color:#665944}.filter-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:23px}.chip{border:2px solid var(--ink);border-radius:30px;padding:8px 13px;background:white;font-size:13px;font-weight:900}.chip.active{background:var(--ink);color:white}.search{padding:12px 16px;border:2px solid var(--ink);border-radius:16px;background:#fff;min-width:225px;flex:1}.compare-box{max-width:820px;margin:28px auto;background:#fff;border:3px solid var(--ink);border-radius:28px;padding:27px;box-shadow:6px 6px 0 var(--ink)}.pair-portraits{display:flex;align-items:center;justify-content:center;gap:10px}.pair-portraits img{width:min(43%,245px)}.pair-heart{font-size:45px;animation:pulse 1.6s infinite}.score{text-align:center;font-size:51px;font-weight:1000;color:#A470BC;line-height:1.2}.notice{color:#837887;font-size:12px;text-align:center;margin:18px auto}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:12px 18px;background:var(--ink);color:white;font-size:13px;font-weight:800;border-radius:14px;z-index:80;max-width:92vw}.modal-bg{position:fixed;inset:0;background:#2A2330A8;z-index:99;display:flex;align-items:center;justify-content:center;padding:18px}.modal{background:white;border:3px solid var(--ink);border-radius:27px;padding:25px;max-width:440px;box-shadow:7px 7px 0 var(--ink)}.modal h3{margin:4px 0 7px;font-size:23px}.modal p{font-size:14px}.loading{min-height:270px;display:grid;place-items:center;font-weight:900}.spinning{display:inline-block;animation:spin 1s infinite linear}.small-note{font-size:11px;color:#827988}.info-hero{background:#EFE7FF;border:3px solid var(--ink);border-radius:28px;padding:25px;box-shadow:5px 5px 0 var(--ink)}.report{max-width:820px;margin:auto;background:white;border:3px solid var(--ink);border-radius:28px;padding:35px;box-shadow:6px 6px 0 var(--ink)}.report h2{font-size:21px;margin:30px 0 10px}.report h2:first-of-type{margin-top:8px}.report p{font-size:15px;line-height:2}.faq{max-width:820px;margin:20px auto}.faq details{border:2px solid var(--ink);background:white;border-radius:17px;padding:15px 20px;margin-bottom:11px}.faq summary{font-weight:900;cursor:pointer}.faq p{font-size:13px;color:#655D66}.empty{padding:40px;text-align:center;color:#6D6570}.stat-line{display:flex;gap:8px;align-items:center;margin:16px 0}.stat-line .bar{flex:1;border-radius:30px;background:#EEE8F0;height:11px;overflow:hidden}.stat-line .bar>span{display:block;height:100%;background:#B3DCCC}.jump{padding-top:80px} @keyframes pulse{50%{transform:scale(1.12)}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:900px){.card-grid{grid-template-columns:repeat(4,1fr)}.hero-grid{gap:28px}.hero-visual{min-height:340px}}@media(max-width:670px){.wrap{padding:0 18px}.site-header .head-inner{height:62px;padding:0 15px;gap:10px}.brand{font-size:16px}.brand-icon{width:31px;height:31px}.nav{gap:11px}.nav a:not(.nav-cta){display:none}.nav .nav-cta{padding:8px 12px;font-size:11px}.hero{padding:34px 0 53px}.hero-grid{display:flex;flex-direction:column-reverse;gap:25px}.hero-visual{min-height:0;width:95%;margin:0 auto 8px;border-radius:24px;box-shadow:6px 6px 0 var(--ink)}.hero-visual img{border-radius:21px;aspect-ratio:1.65;object-fit:cover}.sticker{font-size:12px;padding:5px 10px}.hero h1{font-size:42px;margin:15px 0}.lead{font-size:14px}.hero-cta .btn{width:100%}.mini-proof{justify-content:center}.section{padding:50px 0}.feature-grid{grid-template-columns:1fr;gap:14px}.feature{padding:19px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.character-card{border-radius:17px}.cc-copy strong{font-size:12px}.cta-panel{padding:26px 16px}.footer-inner{flex-direction:column}.page{padding:28px 0 60px}.quiz-shell{margin:15px auto;padding:0 12px}.quiz-panel{padding:22px 14px 23px;border-radius:26px;box-shadow:5px 5px 0 var(--ink)}.quiz-panel h1{font-size:24px;margin:11px 0 22px}.answer{padding:14px 10px;font-size:14px;border-radius:14px;gap:9px}.result-head{padding:13px 0}.result-head h1{font-size:30px}.result-frame{display:flex;flex-direction:column;border-radius:26px}.result-character{padding:15px}.result-character img{height:280px}.result-copy{padding:23px 21px}.result-copy h2{font-size:30px;margin:6px 0}.quote{font-size:18px}.action-bar .btn{width:100%;min-height:49px}.detail-cols{grid-template-columns:1fr;gap:13px;margin:28px 0}.detail{padding:20px}.two-cols{grid-template-columns:1fr}.premium-card{padding:21px}.pair-portraits img{width:41%}.legal-text{padding:18px}.report{padding:22px}.search{flex-basis:100%;min-width:0}.section h2{font-size:29px}.faq details{padding:13px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* AdSense: ads are never inserted inside quiz questions. */
.ad-shell{max-width:900px;min-height:90px;margin:28px auto 42px;padding:10px 12px;border-top:1px dashed #C8BEC6;border-bottom:1px dashed #C8BEC6;text-align:center;display:none;background:rgba(255,255,255,.35)}
.ad-shell.ad-ready{display:block}.ad-label{font-size:9px;letter-spacing:.16em;color:#A59BA4;margin-bottom:8px;font-weight:800}.bug60-ad{min-height:70px}

/* Final responsive character sizing: preserve the original aspect ratio. */
.result-character{padding:36px 10px 8px;min-width:0}.result-character img{width:100%;max-width:430px;height:auto;object-fit:contain;aspect-ratio:1}
.btn,.answer{touch-action:manipulation}.btn{white-space:normal}img{max-width:100%} :focus-visible{outline:3px solid #8459bf;outline-offset:4px}
@media(max-width:670px){.result-character img{width:100%;height:auto;max-width:430px}.result-character{padding:38px 4px 0}.hero-visual img{aspect-ratio:auto;height:auto;object-fit:contain}.hero h1{font-size:clamp(32px,10vw,42px)}.quiz-bottom{flex-wrap:wrap}.pair-heart{font-size:28px}.premium-card{min-width:0}.btn{max-width:100%}.search{width:100%}}
@media print{.site-header,.footer,.action-bar,.ad-shell{display:none!important}.report{border:0;box-shadow:none;padding:0}.report h2{break-after:avoid}.report p{orphans:3;widows:3}}

.monster-wall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;padding:18px 6px;gap:4px}.hero-visual .monster-wall img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:18px}.hero h1 span{word-break:keep-all;overflow-wrap:anywhere}
