:root{font-family:-apple-system,BlinkMacSystemFont,'Hiragino Sans','Noto Sans JP',sans-serif;color:#192342;background:#f6f8fc;font-synthesis:none;font-size:16px;line-height:1.8;--blue:#2c43ce;--muted:#58627a}*{box-sizing:border-box}body{margin:0}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}header,footer{max-width:1180px;margin:auto;padding:25px 40px;display:flex;align-items:center;justify-content:space-between}header{border-bottom:1px solid #dfe4ef}header a{text-decoration:none;font-size:28px;font-weight:850;letter-spacing:-1px;display:flex;align-items:center;gap:24px}header a span{font-size:14px;font-weight:500;letter-spacing:.04em}.badge,.tag{font-size:13px;border-radius:30px;padding:4px 14px;background:#e7ebff;color:#2c43ce}.badge{border:1px solid #cdd5ff}main{max-width:1100px;margin:auto;min-height:75vh;padding:58px 36px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(32px,4.6vw,56px);line-height:1.5;letter-spacing:.02em;font-weight:800;margin-bottom:24px}h2{font-size:26px;line-height:1.7}h3{font-size:18px}p{color:var(--muted)}.eyebrow{font-size:13px;letter-spacing:.15em;font-weight:700;color:var(--blue);margin-bottom:22px}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:center;padding:22px 0 55px}.hero h1 em{font-style:normal;color:var(--blue)}.lead{line-height:2}.primary,.secondary{border-radius:12px;padding:15px 25px;font-weight:700;min-height:54px;transition:background .15s,transform .15s}.primary{background:var(--blue);border:1px solid var(--blue);color:white}.primary:hover{background:#2033a9}.primary:disabled{background:#dce1ec;border-color:#dce1ec;color:#69738a;cursor:not-allowed}.secondary{background:white;border:1px solid #cfd5e3;color:#344163}.secondary:hover{background:#eef1fa}button:focus-visible,a:focus-visible,input:focus-visible+span{outline:3px solid #ea991b;outline-offset:4px}.hero .primary{min-width:250px}.small{font-size:13px;margin-top:12px}.hero-card{background:#e9eeff;padding:36px;border-radius:24px;transform:rotate(2deg);border:1px solid #d1dafa;box-shadow:12px 14px 0 #e0e5f4}.hero-card h2{font-size:21px}.sample-row{padding:18px 0;border-top:1px solid #cad3f0}.sample-row small{font-size:13px;color:#546285}.sample-row strong{display:block;margin-top:4px;font-size:19px}.sample-row b{font-weight:400;color:#8190c0;margin:0 8px}.info-strip{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #dfe4ef;border-bottom:1px solid #dfe4ef;padding:24px 0;gap:24px}.info-strip strong{display:block;margin-bottom:5px}.info-strip p{font-size:14px;margin:0}.notice{font-size:13px;margin:24px 0;color:#626d83}.question-wrap{max-width:700px;margin:auto}.topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px;font-size:14px;color:var(--muted)}progress{width:100%;height:6px;display:block;border:0;border-radius:10px;overflow:hidden;accent-color:var(--blue);margin-bottom:30px}progress::-webkit-progress-bar{background:#e3e7f1}progress::-webkit-progress-value{background:var(--blue)}.question-card{background:white;border:1px solid #e0e5ef;border-radius:20px;padding:34px}.question-card h1{font-size:25px;line-height:1.8;margin:20px 0 10px}.hint{font-size:14px}.options{display:grid;gap:10px;margin:24px 0 30px}.option{position:relative;cursor:pointer}.option input{position:absolute;left:20px;top:22px;width:19px;height:19px;accent-color:var(--blue);margin:0}.option span{display:block;border:1px solid #d9dfeb;padding:15px 16px 15px 54px;border-radius:11px;font-size:16px}.option input:checked+span{border-color:var(--blue);background:#eef1ff;color:#2034ae;box-shadow:inset 0 0 0 1px var(--blue)}.option:hover span{background:#f6f8ff}fieldset{border:0;padding:0;margin:0;min-width:0}.nav{display:flex;justify-content:space-between;gap:16px}.nav .primary{min-width:170px}.save-note{text-align:center;font-size:13px;margin-top:18px}.text-btn{background:transparent;border:0;text-decoration:underline;color:var(--muted);font-size:14px;padding:10px}.result-head{max-width:770px;margin:0 auto 35px;text-align:center}.result-head h1{font-size:36px;margin:14px 0}.result-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:start}.panel{background:#fff;border:1px solid #e0e5ef;border-radius:20px;padding:30px}.axis{padding:23px 0;border-top:1px solid #e3e7ef}.axis:last-child{padding-bottom:0}.axis-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px}.axis-title h3{margin:0}.axis-title span{font-size:13px;color:var(--blue);background:#eef1ff;padding:3px 9px;border-radius:7px}.scale{height:9px;border-radius:10px;background:linear-gradient(to right,#bcc8fa,#edf0fa 40%,#edf0fa 60%,#566de0);position:relative;margin:0 8px 9px}.marker{position:absolute;width:17px;height:17px;top:-4px;border:3px solid white;background:#253fc6;border-radius:50%;transform:translateX(-50%);box-shadow:0 0 0 1px #435bc5}.scale-labels{display:flex;justify-content:space-between;font-size:12px;color:#69758b}.axis p{font-size:14px;margin:14px 0 0}.tip{background:#253abe;color:white;border:0}.tip p{color:#e0e6ff}.tip .eyebrow{color:#c3cfff}.tip blockquote{font-size:25px;line-height:1.9;font-weight:700;margin:20px 0 24px}.tip .hint{border-top:1px solid #6172d5;padding-top:20px}.result-actions{display:flex;justify-content:center;gap:16px;margin:30px 0}.result-foot{max-width:780px;margin:20px auto;font-size:13px}footer{font-size:12px;color:#69758b;border-top:1px solid #dfe4ef;gap:20px}.error{color:#a12424;font-size:14px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:750px){header,footer{padding:20px}header a{gap:12px;font-size:25px}header a span{font-size:12px}main{padding:30px 20px}.hero{grid-template-columns:1fr;gap:30px;padding-top:10px}.hero-card{transform:none;padding:25px;box-shadow:6px 7px 0 #e0e5f4}.info-strip{grid-template-columns:1fr;gap:18px}.question-card{padding:24px 20px}.question-card h1{font-size:22px}.result-grid{grid-template-columns:1fr}.result-head h1{font-size:29px}.panel{padding:24px}.nav .primary{min-width:140px}.result-actions{flex-wrap:wrap}.axis-title{flex-wrap:wrap}footer span:last-child{max-width:180px;text-align:right}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* DESIGN.md: poster treatment is scoped to TOP only. */
body.is-top{--poster-violet:#8584bd;--poster-yellow:#f4ed36;--poster-butter:#f9cc73;--poster-ink:#1a1a1a;background:var(--poster-violet);color:var(--poster-ink);font-feature-settings:"calt" 0}
.is-top header{max-width:none;position:relative;justify-content:center;border:0;padding:24px 36px 16px}
.is-top header a{display:flex;flex-direction:column;gap:0;color:var(--poster-yellow);font-size:38px;font-weight:900;line-height:1.1}
.is-top header a span{color:var(--poster-ink);font-size:12px;letter-spacing:.12em;margin-top:10px;font-weight:700}
.is-top header .badge{position:absolute;right:36px;top:30px;color:var(--poster-ink);background:transparent;border:1px solid currentColor;border-radius:100px;font-size:12px}
.is-top main{max-width:none;padding:28px 5vw 48px;min-height:0}
.poster-kicker{display:flex;justify-content:space-between;font-family:ui-monospace,monospace;font-size:12px;letter-spacing:.08em;border-bottom:1px solid #1a1a1a;padding-bottom:14px}
.poster-stage{position:relative;padding:32px 0 60px}
.poster h1{position:relative;z-index:1;font-family:'Arial Black','Hiragino Kaku Gothic ProN','Hiragino Sans',sans-serif;font-size:clamp(48px,10.5vw,184px);font-weight:900;line-height:1.17;letter-spacing:-.045em;color:var(--poster-yellow);margin:0;pointer-events:none}
.poster h1 em{font-style:normal;color:var(--poster-butter);display:block;line-height:1.1;font-size:1.2em;margin-top:-.85em;padding-top:.85em}
.poster-mascot{position:absolute;right:2%;bottom:0;width:28%;height:auto;z-index:2;transform:rotate(8deg);pointer-events:none}
.poster-stamp{position:absolute;right:3%;top:5%;border:2px solid var(--poster-ink);border-radius:6px;padding:12px 15px;font-family:ui-monospace,monospace;font-weight:900;font-size:20px;line-height:1.1;transform:rotate(9deg);background:#f8c1ba}
.poster-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:40px;position:relative;z-index:3}
.poster-intro{color:var(--poster-ink);font-size:16px;line-height:1.9;margin:0;font-weight:600}
.poster-action{text-align:center;min-width:320px;margin-right:3vw}
.is-top .primary{background:transparent;color:var(--poster-yellow);border:2px solid var(--poster-yellow);border-radius:100px;padding:19px 28px;min-width:310px;font-size:17px;letter-spacing:.035em;box-shadow:none}
.is-top .primary span{margin-left:25px;font-size:24px;line-height:1}
.is-top .primary:hover{background:#61609a}
.poster-action p{color:var(--poster-ink);font-size:12px;margin:12px 0 0}
.is-top .text-btn{color:var(--poster-ink)}
.is-top :is(button,a):focus-visible{outline:3px solid #1a1a1a;outline-offset:5px}
.poster-note{display:grid;grid-template-columns:1fr 1.4fr 1.4fr;gap:30px;align-items:center;border-top:1px solid #1a1a1a;margin-top:60px;padding-top:24px}
.poster-note-label{font-family:ui-monospace,monospace;font-size:12px;letter-spacing:.06em}
.poster-note p{margin:0;color:var(--poster-ink);font-size:14px;line-height:1.9}
.poster-note .poster-disclaimer{font-size:12px}
.is-top footer{max-width:none;background:#61609a;color:#f9f5f2;border:0;padding:22px 5vw;font-family:ui-monospace,monospace}
@media(min-width:1600px){.poster-stage{min-height:490px}.poster-mascot{width:420px;right:8%}.poster-stamp{right:9%}}
@media(max-width:750px){.is-top header{padding:24px 20px 14px}.is-top header .badge{right:20px;top:27px}.is-top main{padding:22px 20px 32px}.poster-kicker{font-size:10px;letter-spacing:0}.poster-stage{padding-top:32px;padding-bottom:125px}.poster h1{font-size:clamp(35px,10.7vw,80px);line-height:1.3;letter-spacing:-.055em}.poster h1 em{font-size:1.4em}.poster-mascot{width:44%;right:0;bottom:-4%}.poster-stamp{top:auto;bottom:22px;left:8px;right:auto;font-size:16px;padding:10px}.poster-bottom{display:block;margin-top:32px}.poster-intro{font-size:14px;line-height:2}.poster-action{margin:25px 0 0;min-width:0}.is-top .primary{min-width:0;width:100%;font-size:16px;padding:17px}.poster-note{grid-template-columns:1fr;gap:16px;margin-top:40px}.poster-note p{font-size:14px}.poster-note .poster-disclaimer{font-size:12px}.is-top footer{padding:20px;font-size:11px}}
/* 30-question prototype: illustration slots intentionally empty. */
.is-top .poster-stage{min-height:0;padding-bottom:25px}
.ab-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.ab-choices>div{background:#eef1ff;border:1px solid #cdd5ed;border-radius:6px;padding:18px;display:flex;gap:12px;align-items:flex-start}.ab-choices b{color:#2c43ce;font-size:22px;line-height:1.4}.ab-choices span{font-size:16px}
.character-slot{height:100px;width:140px;margin:12px auto;pointer-events:none}.result-head h1 small{display:block;font-size:16px;line-height:1.8;margin-top:16px;color:#58627a;font-weight:500}.candidate-list{font-size:14px}.context-panel dl,.other-result dl{margin:0}.context-panel dt,.other-result dt{color:#58627a;font-size:13px;margin-top:16px}.context-panel dd,.other-result dd{margin:3px 0 18px;font-size:16px;font-weight:600}.context-panel>p{font-size:14px}.conversation,.other-result,.other-invite{margin-top:28px}.conversation>p{margin-top:18px}.dialogue-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}.dialogue-grid>div{border:1px solid #dfe4ef;border-radius:6px;padding:22px}.dialogue-grid .try-dialogue{background:#edf0ff;border-color:#ccd4f8}.dialogue-grid b{display:block;color:#2c43ce;font-size:13px}.dialogue-grid p{color:#25304a}.support-note{padding:18px;border-left:4px solid #2c43ce;background:#f0f3ff}details{font-size:14px;margin-top:14px}summary{cursor:pointer;text-decoration:underline;color:#2c43ce;padding:8px 0}details p{font-size:13px}.other-result button{margin-top:20px}.question-card .nav{flex-wrap:wrap}.question-card .nav .primary{min-width:0}.other-invite .result-actions{justify-content:flex-start;margin-bottom:0}
@media(max-width:750px){.ab-choices{grid-template-columns:1fr}.ab-choices>div{padding:14px}.dialogue-grid{grid-template-columns:1fr}.character-slot{height:70px}.is-top .poster-stage{padding-bottom:20px}.question-card{padding:24px 16px}.option span{padding-left:46px}.option input{left:15px}.poster-action p{font-size:12px}}

.break-wrap{padding-top:20px}.break-card{text-align:center;padding:42px 28px}.break-number{font-size:clamp(64px,12vw,100px);line-height:1.2;letter-spacing:-.06em;font-weight:850;color:#2c43ce;margin:24px 0}.break-card h1{font-size:clamp(23px,4vw,30px);margin:20px 0}.break-card>p{line-height:2;margin:20px 0 30px}.break-card .primary{display:block;width:100%;max-width:360px;margin:0 auto 12px}.break-card .text-btn{display:block;margin:0 auto}@media(max-width:750px){.break-wrap{padding-top:0}.break-card{padding:30px 18px}.break-card>p{font-size:14px}}
[hidden]{display:none!important}.tie-options{display:grid;gap:16px;margin:28px 0}.tie-options button{padding:22px;text-align:left}.tie-options .selected{border-color:#2c43ce;background:#eef1ff;color:#2034ae}
.line-invite{margin-top:28px;background:#f0faf4;border:1px solid #bcdac8;display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.line-label{display:block;color:#176b3b;font-size:12px;font-weight:800;letter-spacing:.12em;margin-bottom:12px}.line-invite h2{font-size:24px;margin-bottom:12px}.line-invite p{font-size:14px;margin-bottom:0}.line-action{text-align:center}.line-button{display:block;width:100%;border:1px solid #18723f;border-radius:12px;background:#18723f;color:white;padding:18px 20px;font-size:16px;font-weight:700;line-height:1.7;text-decoration:none}.line-button:hover{background:#125c32}.line-button:disabled{cursor:not-allowed;background:#436d55;border-color:#436d55}.line-action p{margin:12px 0 0;color:#436150;font-size:12px}@media(max-width:750px){.line-invite{grid-template-columns:1fr;gap:20px}.line-invite h2{font-size:22px}.line-button{font-size:15px;padding:16px 12px}}

.brand-name{display:inline-flex;align-items:baseline;gap:10px;font-weight:900;line-height:1.2}.brand-name small{font-size:12px;letter-spacing:.06em;font-weight:600}.is-top header a span{letter-spacing:.08em}footer{flex-wrap:wrap;gap:12px}@media(max-width:750px){header a{flex-direction:column;align-items:flex-start;gap:6px}header a span{font-size:11px;letter-spacing:0}.is-top header a{align-items:center}.is-top header a span{font-size:11px}}
.preview-banner{padding:10px 20px;background:#192342;color:#fff;text-align:center;font-size:14px}.registration-shell{max-width:720px;margin:auto}.registration-shell h1{font-size:clamp(28px,5vw,42px);margin-top:22px}.registration-panel{margin-top:30px}.demo-notice{font-size:14px;padding:16px;background:#eef1fa;border-left:3px solid #6871a2;color:#344163}.registration-panel form>label{display:block;font-weight:700;margin:20px 0 8px}.registration-panel input[type=email]{width:100%;font:inherit;padding:14px;border:1px solid #99a6c4;border-radius:8px;background:#fff;color:#192342}.consent-copy{margin:24px 0;padding:20px;background:#f3f5fb}.consent-copy p{margin:8px 0 0;font-size:15px}.registration-panel form .consent-check{display:flex;align-items:flex-start;gap:12px;font-size:14px;font-weight:500}.consent-check input{width:20px;height:20px;flex-shrink:0;margin-top:4px}.registration-panel .primary{width:100%;margin-top:12px}.registration-shell .text-btn{display:block;margin-top:16px}.email-display{overflow-wrap:anywhere;font-weight:700;color:#192342}.price{font-size:36px;font-weight:800;color:#2c43ce}.price small{display:block;font-size:14px;font-weight:400;color:#58627a}.purchase-details dt{font-weight:700;margin-top:18px}.purchase-details dd{margin:4px 0 0;color:#58627a}.delivery-steps{padding-left:24px}.delivery-steps li{padding:10px 0}.secondary:disabled{cursor:not-allowed;opacity:.7}.registration-condition{max-width:400px}#registrationError{color:#9a2929}
.report-head{max-width:780px;margin:0 auto 52px}.report-head h1{font-size:clamp(32px,5.5vw,54px);margin-bottom:28px}.report-head h2{font-size:23px;line-height:1.8}.report-head>p{font-size:16px;text-align:left}.report-head .type-prefix{text-align:center;font-size:14px;margin-bottom:8px}.report-head .character-slot{height:40px}.report-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:20px;font-size:13px;border-top:1px solid #dfe4ef;padding-top:20px;color:#58627a}.reading-report{max-width:760px;margin:auto;background:#fff;border:1px solid #dfe4ef;border-radius:16px;padding:0 42px}.reading-section{padding:38px 0;border-bottom:1px solid #e4e8f1}.reading-section:last-child{border:0}.category-label{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:700;color:#2c43ce;margin-bottom:16px}.category-label span{font-size:13px;background:#edf0ff;padding:3px 10px;border-radius:6px}.reading-section h2{font-size:23px;line-height:1.7;margin-bottom:20px}.reading-section p{font-size:16px;line-height:2.1;margin-bottom:16px;color:#3d4860}.reading-section p:last-child{margin-bottom:0}.evidence-panel{max-width:760px;margin:24px auto}.evidence-panel>.result-grid{margin-top:20px;grid-template-columns:1fr}.evidence-panel .panel{border:0;padding:0;box-shadow:none}.report-teaser{max-width:760px;margin:60px auto 32px}.report-teaser>h2{font-size:clamp(28px,4vw,38px);line-height:1.6}.report-teaser>p{font-size:16px}.preview-excerpt{background:#fff;border:1px solid #d0d8ef;border-top:4px solid #2c43ce;border-radius:10px;padding:32px;margin-top:28px}.preview-excerpt h3{font-size:23px;line-height:1.7;margin-top:22px}.preview-excerpt p{font-size:16px;line-height:2}.excerpt-end{font-size:14px;text-align:center;border-top:1px dashed #a7b2cf;padding-top:22px;margin-top:24px;color:#2c43ce;font-weight:700}.report-contents{list-style:none;padding:0;margin:28px 0}.report-contents li{display:flex;gap:18px;padding:18px 8px;border-bottom:1px solid #dce2ef;font-size:16px;font-weight:600}.report-contents li>span{color:#2c43ce;font-size:14px;padding-top:2px}.report-contents small{display:block;color:#58627a;font-size:13px;font-weight:400}.purchase-cta{text-align:center;background:#e9edff;border-radius:16px;padding:32px}.purchase-cta .price{margin:22px 0}.purchase-cta .primary{width:100%;max-width:460px}.purchase-cta>p{font-size:14px}.purchase-cta>.price{font-size:36px}.purchase-cta .demo-notice{text-align:left;background:#f7f8ff;margin-bottom:0}.result-head h1 small{font-size:16px}.is-top .registration-condition{font-size:13px}.registration-shell button{max-width:100%;white-space:normal}@media(max-width:750px){.reading-report{padding:0 22px}.reading-section{padding:28px 0}.reading-section h2,.report-head h2{font-size:21px}.preview-excerpt{padding:24px 20px}.preview-excerpt h3{font-size:21px}.purchase-cta{padding:26px 18px}.report-head{margin-bottom:30px}.registration-shell .panel{padding:24px 18px}}

/* Registration supporting copy */
.registration-panel h2{font-size:22px;margin-bottom:16px}
.registration-panel form>label{font-size:14px}
.registration-panel input[type=email]{font-size:16px}
.registration-panel .hint,.registration-panel .demo-notice,.registration-panel details{font-size:13px;line-height:1.8}
.registration-panel .consent-copy{padding:18px;margin:22px 0}
.registration-panel .consent-copy strong{display:block;font-size:19.5px;line-height:1.45;letter-spacing:-.035em;margin-bottom:20px;overflow-wrap:anywhere}
.registration-panel .consent-copy p{font-size:13px;line-height:1.9}
.registration-panel .consent-copy .delivery-note{font-size:13px;line-height:1.8;margin-top:12px;color:#58627a}
.registration-panel .primary{font-size:16px}
.locked-stage{position:relative;isolation:isolate;overflow:hidden;margin-top:24px}
.locked-text{filter:blur(6px);opacity:.48;user-select:none;pointer-events:none}
.locked-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:20px;text-align:center;background:linear-gradient(transparent,rgba(255,255,255,.92) 35%,rgba(255,255,255,.92) 65%,transparent)}
.locked-overlay p{font-size:20px;font-weight:700;line-height:1.7;margin:0;color:#192342}
.locked-overlay .primary{max-width:100%;font-size:15px;white-space:normal}
.locked-overlay small{font-size:13px;color:#58627a}
@media(max-width:750px){.locked-overlay{padding:12px}.locked-overlay p{font-size:18px}.locked-overlay .primary{font-size:14px;padding:14px}}
