:root{--ivory:#fbf6ec;--paper:#fffdf8;--brown:#3f2d21;--brown-soft:#715d4e;--beige:#ead9c2;--beige-light:#f4eadc;--green:#526f3d;--green-light:#e4ead6;--orange:#a76024;--orange-light:#f7dfc1;--line:rgba(81,59,42,.17)}*{box-sizing:border-box}html{font-size:16px;scroll-padding-top:100px}body{margin:0;background:var(--ivory);color:var(--brown);font-family:"Hiragino Sans","Yu Gothic",system-ui,sans-serif;line-height:1.85;-webkit-text-size-adjust:100%}a{color:inherit;text-underline-offset:5px}button,input,select{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:5px}h1:focus,h2:focus{outline:none}h1,h2,h3{line-height:1.6;letter-spacing:.025em;overflow-wrap:anywhere}h1{font-size:clamp(1.8rem,3.2vw,2.7rem);margin:.5rem 0 1.3rem;font-weight:800}h2{font-size:1.55rem;margin:.3rem 0 1.2rem}h3{font-size:1.05rem;margin:1.8rem 0 .6rem}p{margin:.7rem 0 1.3rem}header{min-height:88px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px max(24px,calc((100% - 1120px)/2));padding-top:max(18px,env(safe-area-inset-top));background:var(--ivory)}header .brand{font-size:1rem;text-decoration:none;font-weight:800;letter-spacing:.035em}header nav{display:flex;gap:24px;font-size:.875rem}header nav a{text-decoration:none}main{max-width:1120px;margin:auto;padding:52px 24px 80px;min-height:75vh}.skip{position:absolute;left:20px;top:-100px}.skip:focus{top:20px;background:white;z-index:9}.eyebrow{color:var(--brown-soft);font-size:.875rem;letter-spacing:.12em;font-weight:700}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;min-height:520px}.hero h1{font-size:1.45rem;margin-top:18px}.tagline{font-size:clamp(2.3rem,4.8vw,3.7rem);font-weight:800;line-height:1.5;letter-spacing:.06em;margin:10px 0 22px}.hero-chart{background:var(--paper);border:1px solid var(--line);border-radius:50% 50% 30px 30px;padding:10px 20px 24px}.hero-chart p{text-align:center;font-size:.875rem;margin:0}.radar{width:100%;max-width:430px;display:block;margin:auto;overflow:visible}.radar text{font-size:15px;font-weight:700;fill:var(--brown)}.radar .center-label{font-size:21px}.gridline{fill:none;stroke:var(--beige);stroke-width:1}.profile-a{fill:#526f3d33;stroke:var(--green);stroke-width:2.5}.profile-b{fill:#a7602420;stroke:var(--orange);stroke-width:2.5;stroke-dasharray:6 4}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.primary,.secondary,.danger{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;min-height:52px;padding:13px 23px;border-radius:999px;font-size:1rem;font-weight:700;line-height:1.5;text-decoration:none;margin:4px 0}.primary{color:white;background:var(--brown)}.primary:hover{background:#5b4331}.secondary{border-color:var(--beige);color:var(--brown);background:var(--paper)}.secondary:hover{background:var(--beige-light)}.danger{background:#8a3527;color:white}.text-button{display:inline-block;background:none;border:0;color:var(--brown-soft);text-decoration:underline;text-underline-offset:5px;padding:14px 8px;min-height:48px}.fine{color:var(--brown-soft);font-size:.875rem;line-height:1.85}.intro{max-width:750px;padding:66px 0}.intro h2{font-size:2rem}.panel{padding:30px;background:var(--paper);border:1px solid var(--line);border-radius:24px;margin:22px 0}.notice{background:var(--beige-light);border-left:3px solid var(--orange);border-radius:0 12px 12px 0;padding:20px;font-size:.9375rem}.columns{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.columns>.panel{height:100%;margin:0}.result-heading{max-width:790px;margin:0 auto 38px;text-align:center}.result-heading h1{margin-bottom:14px}.lead{font-size:1.2rem;font-weight:600}.pair-cta{background:var(--green-light);padding:40px;border-radius:28px;margin:38px 0}.pair-cta h2{font-size:2rem}.numbers{margin-top:12px}.numbers summary{cursor:pointer;font-size:.9375rem;min-height:44px}.numbers table{width:100%;border-collapse:collapse;font-size:.875rem}.numbers th,.numbers td{text-align:left;border-bottom:1px solid var(--line);padding:8px}.map{width:100%;max-width:480px;display:block;margin:auto}.map rect{fill:var(--beige-light)}.map path{stroke:var(--brown-soft);stroke-width:1;fill:none;opacity:.4}.map text{font-size:14px;fill:var(--brown)}.map .connector{stroke-width:2;stroke-dasharray:5 4}.dot-a{fill:var(--green);stroke:var(--paper);stroke-width:2}.dot-b{fill:var(--orange);stroke:var(--paper);stroke-width:2}.legend{display:flex;gap:22px;justify-content:center;margin:20px}.a{color:var(--green)}.b{color:var(--orange)}.question,.form-panel{max-width:660px;margin:0 auto}.question .progress-label{display:flex;justify-content:space-between;font-size:.875rem;gap:12px}.question progress{width:100%;height:6px;appearance:none;border:0;background:var(--beige);border-radius:9px;color:var(--green)}progress::-webkit-progress-bar{background:var(--beige);border-radius:9px}progress::-webkit-progress-value{background:var(--green);border-radius:9px}progress::-moz-progress-bar{background:var(--green)}.question h1{margin:40px 0 30px;font-size:1.7rem;min-height:86px}.answers{display:grid;gap:10px}.answer{min-height:64px;border:1px solid var(--line);background:var(--paper);border-radius:15px;color:var(--brown);display:flex;align-items:center;gap:20px;text-align:left;padding:12px 20px}.answer span{color:var(--brown-soft);font-size:.875rem}.answer:hover,.answer.selected{background:var(--green-light);border-color:var(--green)}.question-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:20px;font-size:.875rem}.question-footer>span{color:var(--brown-soft)}label{display:block;margin:24px 0 10px;font-size:.9375rem;font-weight:600}input:not([type=checkbox]):not([type=radio]),select{display:block;width:100%;min-height:54px;border:1px solid var(--beige);border-radius:12px;padding:10px 16px;color:var(--brown);background:var(--paper);margin-top:9px}input[type=checkbox]{width:20px;height:20px;accent-color:var(--green);flex:0 0 20px}.check{display:flex;align-items:flex-start;gap:12px;font-weight:400}.price{display:flex;flex-direction:column;gap:5px;background:var(--paper);border:1px solid var(--line);padding:22px;border-radius:18px;margin:22px 0}.price strong{font-size:2.2rem;line-height:1.4}.price span{font-size:.9375rem}.chapter-list{columns:2;padding-left:24px;font-size:.9375rem}.chapter-list li{padding:5px;break-inside:avoid}.unlocked{font-weight:700;color:var(--green)}.report-chapter{max-width:820px;margin:24px auto}.report-chapter .eyebrow{font-size:1.2rem;color:var(--green)}.evidence{margin:22px 0}.evidence>span{font-size:.8125rem;background:var(--beige-light);padding:4px 9px;border-radius:6px;color:var(--brown-soft)}.evidence p{margin-top:10px}.document{max-width:780px}.document h2{margin-top:45px}.document li{margin:10px 0}.document table{width:100%;border-collapse:collapse}.document td,.document th{padding:12px 8px;vertical-align:top;text-align:left;border-bottom:1px solid var(--line)}footer{border-top:1px solid var(--line);padding:30px 24px max(30px,env(safe-area-inset-bottom));max-width:1120px;margin:auto;font-size:.875rem}footer nav{display:flex;gap:16px;flex-wrap:wrap}footer .support{display:block;margin:20px 0}#preview-banner{padding:9px 20px;background:var(--brown);color:white;text-align:center;font-size:.8125rem}.consent{position:fixed;bottom:16px;left:16px;right:16px;max-width:750px;margin:auto;padding:20px;background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:0 8px 28px #3f2d2120;z-index:20}.consent p{font-size:.875rem}.consent .actions{margin:0}.reading{line-height:1.95}#message:empty{display:none}#message{color:#82331f}
@media(max-width:700px){header{min-height:70px;padding:14px 20px}header .brand{font-size:.875rem}header nav{gap:14px;font-size:.8125rem}header nav .optional{display:none}main{padding:32px 20px 50px}.hero{grid-template-columns:1fr;gap:25px;min-height:0}.hero-chart{max-width:370px;width:100%;justify-self:center;padding:8px 16px 18px}.hero h1{font-size:1.15rem}.tagline{font-size:2.55rem}.hero .actions{margin-bottom:12px}.hero .fine{margin-bottom:0}.columns{grid-template-columns:1fr;gap:20px}.panel{padding:23px 18px;border-radius:20px}.pair-cta{padding:28px 22px}.pair-cta h2{font-size:1.65rem}.intro{padding:44px 0}.intro h2{font-size:1.65rem}.question h1{font-size:1.4rem;margin:26px 0 22px;min-height:75px}.answer{min-height:58px;padding:11px 15px;gap:16px;font-size:.9375rem}.question-footer{font-size:.8125rem;align-items:flex-start}.question .progress-label{font-size:.8125rem}.chapter-list{columns:1}.result-heading{text-align:left;margin-bottom:26px}.result-heading h1{font-size:1.75rem}.actions>*{flex:1 1 190px}.form-panel>.primary,.form-panel>.secondary{width:100%}.desktop{display:none}.document td,.document th{font-size:.875rem}.document th{min-width:95px}.radar text{font-size:15px}.hero-chart .radar{max-height:320px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* Reading layouts keep studio colors and typography. */
.report-chapter{max-width:760px;margin-inline:auto;scroll-margin-top:2rem}
.report-chapter p{white-space:pre-line;line-height:1.95;overflow-wrap:anywhere}
.report-chapter .evidence-label{font-size:.73rem;color:#75695c}
.report-toc{max-width:760px;margin-inline:auto;display:grid;gap:.55rem}
.report-toc a{padding:.35rem 0;line-height:1.65}
.reading p{line-height:1.95}.reading .lead{margin-top:1.7rem}

.sample-reading{max-width:800px;margin-inline:auto}.sample-reading p{white-space:pre-line}.sample-reading pre{white-space:pre-wrap;overflow-wrap:anywhere}

/* Radio controls never inherit full-width text-field styling. */
.age-consent{width:100%;max-width:100%;min-width:0;box-sizing:border-box;margin:24px 0;padding:18px;border:1px solid var(--line);border-radius:16px;writing-mode:horizontal-tb}
.age-consent legend{max-width:100%;padding:0 6px;font-weight:700;white-space:normal}
.age-option{display:flex;align-items:flex-start;gap:12px;width:100%;max-width:100%;min-width:0;margin:12px 0;padding:12px 10px;min-height:48px;border:1px solid var(--line);border-radius:12px;background:var(--paper);font-size:1rem;font-weight:400;cursor:pointer;writing-mode:horizontal-tb}
.age-option input[type=radio]{flex:0 0 auto;width:20px;height:20px;min-height:0;margin:5px 0 0;padding:0;accent-color:var(--green)}
.age-option span{flex:1 1 auto;min-width:0;width:auto;white-space:normal;word-break:normal;overflow-wrap:break-word;writing-mode:horizontal-tb}
.age-option:has(input:checked){border-color:var(--green);background:var(--green-light)}
.age-consent p{max-width:100%;min-width:0;white-space:normal;overflow-wrap:break-word}
.form-panel{width:100%;min-width:0}.payment-success{max-width:790px;margin:0 auto 24px;padding:18px 20px;background:var(--green-light);border:1px solid var(--green);border-radius:18px}.payment-success p{margin:0 0 8px}.payment-success .unlocked{font-size:1.1rem}
#report-start{scroll-margin-top:24px}
/* Keep the QA label visible without covering purchase controls. */
#mamemochi-qa-mode-badge{position:static!important;display:table!important;margin:12px 20px!important}
@media(max-width:375px){header{flex-wrap:wrap;gap:8px}.age-consent{padding:12px}.age-option{padding:12px 8px;gap:10px}}

.purchase-frame{border:0;display:block}

.resume-pair{margin-top:24px;border:2px solid var(--green);min-width:0;max-width:100%}.resume-pair h2{margin-bottom:8px}.resume-name{font-weight:700;overflow-wrap:anywhere;margin:6px 0}.resume-status{color:var(--green);margin:6px 0 12px}.resume-pair .primary{max-width:100%;white-space:normal}.resume-more{display:block;padding:10px 0;min-height:44px}.resume-pair .fine{margin:8px 0;font-size:.8125rem}#saved-pairs{scroll-margin-top:20px}#saved-pairs button{max-width:100%;overflow-wrap:anywhere}
@media(max-width:700px){.hero-returning .hero-chart{display:none}.hero-returning .tagline{font-size:1.65rem;margin:8px 0}.hero-returning .fine,.hero-returning .eyebrow{display:none}.hero-returning h1{margin:0}.hero-returning .actions{margin:12px 0 0}.hero-returning .actions>*{flex:1 1 auto}.resume-pair{margin-top:20px;padding:18px}.resume-pair .primary{width:100%}}

/* Studio palette refinement: warm paper, charcoal, quiet teal. */
:root{--ivory:#f7f7f2;--paper:#fffefa;--brown:#343330;--brown-soft:#6e706a;--beige:#d5ded9;--beige-light:#edf0ea;--green:#315f65;--green-light:#e4eeec;--orange:#94735c;--orange-light:#eee3d8;--line:rgba(57,70,65,.16)}
:root{--line:rgba(57,70,65,.16)}
header{background:var(--ivory)}.wordmark span{color:var(--green);font-weight:400}.hero{gap:64px}.hero h1.wordmark{font-size:clamp(1.25rem,2.4vw,1.9rem);letter-spacing:.03em;white-space:normal}.tagline{letter-spacing:.025em}.hero-chart{border-radius:36px;background:linear-gradient(145deg,#eef3ef,#fffefa);border-color:var(--line);padding:24px}.primary{background:var(--green);border-radius:16px}.primary:hover{background:#24494e}.secondary{border-radius:16px}.panel{border-radius:24px;box-shadow:none}.resume-pair{border:1px solid #aabfbb;background:#eef3ef}.resume-status{font-weight:600}.profile-a{fill:#315f6522;stroke:#315f65}.profile-b{fill:#94735c18;stroke:#94735c}.dot-a{fill:#315f65}.dot-b{fill:#94735c}.gridline{stroke:#d5ded9;stroke-width:.8}.radar text{font-size:17px;font-weight:600}.map rect{fill:#eef3ef}.pair-library{max-width:860px;margin:auto}.pair-rows{border-top:1px solid var(--line)}.pair-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;border-bottom:1px solid var(--line);min-width:0}.pair-row>div{min-width:0}.pair-row h2{font-size:1.3rem;overflow-wrap:anywhere;margin:0}.pair-row p{margin:3px 0}.pair-row button{flex:0 0 auto}.how-steps{padding:36px 0;border-top:1px solid var(--line)}.how-steps ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.how-steps strong{font-size:1.1rem}.access-save{border-block:1px solid var(--line);padding:24px 0;margin:24px 0}.access-save h2{font-size:1.25rem}.access-save p{max-width:760px}.access-save a{overflow-wrap:anywhere}.result-heading{position:relative}.result-heading:before{content:"";display:block;width:64px;height:24px;margin:0 auto 20px;border:1px solid #9bb2af;border-radius:50%;transform:rotate(-20deg)}
@media(max-width:700px){.hero{gap:28px}.hero-chart{padding:16px;border-radius:28px}.hero-returning{gap:0}.hero-returning h1.wordmark{font-size:1.25rem}.hero-returning .tagline{font-size:1.5rem}.hero-returning>div>p:not(.tagline){display:none}.hero-returning .actions{gap:8px}.hero-returning .actions>*{min-height:44px;padding:10px 14px;font-size:1rem}.hero-returning .actions .text-button{display:none}.how-steps ol{grid-template-columns:1fr;gap:12px}.how-steps li{border-bottom:1px solid var(--line);padding:14px 0}.pair-row{align-items:stretch;flex-direction:column;gap:10px;padding:20px 0}.pair-row button{width:100%}.result-heading:before{margin-left:0}header nav{gap:12px}header .brand{max-width:160px}header{gap:12px;flex-wrap:wrap}.payment-success{padding:18px}.access-save .actions>*{flex:1 1 160px}}

.share-preview{display:block;width:100%;max-width:800px;height:auto;margin:28px auto;border:1px solid var(--line);border-radius:20px}
/* Official illustration sheet: quiet, opaque crops; no masking or recoloring. */
.movement-art{display:block;max-width:100%;width:100%;height:auto;object-fit:contain;border-radius:12px}
.profile-art{max-width:280px;margin:20px auto 12px}.profile-art .movement-art{height:245px;object-fit:contain}.profile-art .fine{margin:8px 0}
.illustrated-result{text-align:center}.illustrated-result:before{display:none}.illustrated-result h1{margin-bottom:12px}.result-copy{font-size:clamp(19px,3vw,26px);font-weight:600;line-height:1.6;margin:12px auto;max-width:32em}.hero-radar{max-width:330px;margin:auto}
.pair-art,.brand-art{display:flex;align-items:center;justify-content:center;gap:clamp(8px,3vw,40px);max-width:680px;margin:24px auto}.pair-art figure{flex:1;min-width:0;margin:0;text-align:center}.pair-art .profile-art{margin:0 auto 12px}.pair-art figcaption{font-size:15px;color:var(--brown-soft)}.aida-space{flex:0 0 auto;color:#768985;font-size:12px;letter-spacing:.14em;border-block:1px solid #cbd6d2;padding:16px 0}.pair-art.compact{max-width:380px}.compact .movement-art{height:105px}.compact .fine{display:none}.brand-art .movement-art{width:42%;height:240px}.invite-art{max-width:380px;margin:auto}.invite-art .movement-art{height:140px}
.movement-section{margin:72px 0}.movement-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 24px}.movement-grid figure{margin:0;min-width:0}.movement-grid img{height:190px}.movement-grid h3{margin:16px 0 4px}.movement-grid p{font-size:15px;line-height:1.7;margin:0}.movement-neutral{height:160px;max-width:210px;margin:30px auto;border:1px solid #a5b9b4;border-radius:50%;background:radial-gradient(circle at 65% 45%,#e0e7e2 0 25%,transparent 26%)}
@media(max-width:600px){.movement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}.movement-grid img{height:150px}.profile-art{max-width:225px;margin:12px auto}.profile-art .movement-art{height:185px}.hero-radar{max-width:285px}.illustrated-result{padding-top:20px}.illustrated-result h1{font-size:clamp(25px,6vw,36px)}.pair-art .movement-art{height:145px}.pair-art.compact .movement-art{height:95px}.brand-art{margin:12px auto}.brand-art .movement-art{height:170px}.hero-chart{padding:0}.movement-section{margin:44px 0}}
.how-steps>ol>li>.movement-art{height:150px;width:100%;margin-bottom:20px}.how-steps .brand-art .movement-art{height:120px}.how-steps .movement-neutral{height:120px}

/* Quiet official artwork anchored to the Hero top right, behind the copy. */
.hero{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px;position:relative}
.hero>div:first-child{min-width:0;position:relative;z-index:1}
.hero-atmosphere{position:absolute;top:0;right:0;width:44%;min-width:0;height:340px;pointer-events:none;overflow:hidden;opacity:.24;z-index:0;transform:scale(.82);transform-origin:top right}
.hero-atmosphere .movement-art{position:absolute;width:48%;height:180px;object-fit:contain;mix-blend-mode:multiply;border-radius:0}
.hero-atmosphere .movement-art:nth-of-type(1){right:2%;top:12px}
.hero-atmosphere .movement-art:nth-of-type(2){left:0;top:105px}
.hero-atmosphere .movement-art:nth-of-type(3){right:1%;bottom:0}
.hero-orbit{position:absolute;inset:35px 10px;border:1px solid #8ea9a3;border-radius:50%;transform:rotate(-22deg)}
@media(max-width:700px){
 .hero{grid-template-columns:minmax(0,1fr);gap:0;min-height:0}
 .hero-atmosphere{top:0;right:0;height:180px;width:220px;max-width:78%;margin:0;opacity:.19}
 .hero-atmosphere .movement-art{height:130px;width:52%}
 .hero-atmosphere .movement-art:nth-of-type(1){right:0;top:0}
 .hero-atmosphere .movement-art:nth-of-type(2){left:0;top:50px}
 .hero-atmosphere .movement-art:nth-of-type(3){display:none}
 .hero-orbit{inset:15px 4px}
}
