/* Illustration-led palette. This file owns the development version's theme. */
:root{--tama-ink:#17245f;--tama-pink:#dc287e;--tama-pink-bright:#ff60b4;--tama-blue:#43bcef;--tama-yellow:#ffda43;--ink:#17245f;--muted:#626c88;--line:#eadfea;--bg:#fffbfd;--orange:#dc287e;--blue:#2378c7;--orange-dark:#b71962;--display:'Noto Sans JP',sans-serif}
body,body:has(.result),body:not(:has(.result)){color:var(--tama-ink);background:#fffbfd;--muted:#626c88;--blue:#2378c7;font-family:'Noto Sans JP',sans-serif}
body:has(.tama-home){background:radial-gradient(ellipse at 0 18%,#ffe8f4 0,transparent 34%),radial-gradient(ellipse at 100% 20%,#e9f8ff 0,transparent 32%),#fffdfd}
body:not(:has(.result)) .shell{max-width:1200px;padding:0 38px 48px}
body:has(.quiz) .shell{padding-top:12px;padding-bottom:100px}
body:not(:has(.result)) .tama-top{min-height:82px;padding:18px 0;border-bottom:1px solid #f0e6ee;gap:20px}
.tama-wordmark{display:flex;align-items:center;gap:8px;white-space:nowrap}.tama-wordmark strong{font-size:25px;font-weight:900;letter-spacing:-.07em;color:var(--tama-ink)}.tama-wordmark-sub{font-size:10px;font-weight:900;margin-left:3px;padding-top:6px;letter-spacing:.08em}
.tama-egg-mark{display:grid;place-items:center;background:#ffe37b;border:2px solid var(--tama-ink);border-radius:53% 53% 47% 47% / 65% 65% 35% 35%;width:25px;height:31px;color:#d52682;font-size:17px;transform:rotate(-12deg);margin-right:3px}
.tama-top small{display:flex;align-items:center;gap:12px;font-size:11px;color:#65718c;letter-spacing:.06em}.tama-top small span{color:var(--tama-pink);font-size:23px}
.tama-home{text-align:center;padding-top:24px}.tama-home p{line-height:1.9}.tama-kicker{font-size:12px;font-weight:700;letter-spacing:.14em;margin:0 0 13px;color:#46527b}.tama-kicker span{display:inline-block;color:#df2e87;margin:0 12px;font-size:17px}
.tama-visual{width:min(100%,860px);margin:0 auto;overflow:hidden;position:relative;isolation:isolate;aspect-ratio:984/548;background:white;border-radius:30px;box-shadow:0 0 55px 30px #ffffffb0}
/* Hide only the selection border and handles around the provided screenshot. */
.tama-visual img{display:block;position:absolute;width:calc(100% + 12px);max-width:none;height:calc(100% + 12px);left:-6px;top:-6px;object-fit:fill}
.tama-hero-copy{position:relative;margin:24px auto 0}.tama-hero-copy h1{font-size:clamp(23px,3vw,34px);font-weight:900;line-height:1.65;letter-spacing:.01em;margin:0 0 10px;color:var(--tama-ink)}.tama-hero-copy h1 span{color:#cf2476}.tama-hero-copy p{font-size:13px;color:#626c88;margin:0 auto;line-height:1.9}
.tama-start{position:relative;max-width:650px;margin:23px auto 0;text-align:left}.tama-start label{display:block;font-size:12px;font-weight:700;color:#36416c;margin:0 0 9px 4px}.tama-start-row{display:grid;grid-template-columns:1fr 1.25fr;gap:12px;align-items:stretch}.tama-start input{width:100%;min-width:0;height:58px;padding:15px 18px;font:500 16px 'Noto Sans JP',sans-serif;border:1.5px solid #dbdeea;border-radius:16px;background:white;color:var(--tama-ink);box-shadow:0 4px 12px #17245f03;outline-offset:4px}.tama-start input::placeholder{color:#9298af}.tama-start input:focus{border-color:var(--tama-pink);outline:3px solid #ffd5ea}.tama-start input:focus-visible{outline:3px solid #ffd5ea}
.cta,.quiz-page-nav .cta,.result-next-fixed .cta{background:#d8277b;color:white;border:1px solid #c82372;box-shadow:0 4px 0 #a52160;border-radius:999px;transition:transform .15s,background .15s,box-shadow .15s}
.cta:hover,.quiz-page-nav .cta:hover,.result-next-fixed .cta:hover{background:#c42270;border-color:#b91b65;box-shadow:0 6px 0 #a52160;transform:translateY(-2px)}.cta:active,.quiz-page-nav .cta:active,.result-next-fixed .cta:active{transform:translateY(2px);box-shadow:0 1px 0 #a52160}.cta:disabled,.cta:disabled:hover{background:#e4dbe4;border-color:#e4dbe4;color:#776d7a;box-shadow:none;transform:none;opacity:1;cursor:not-allowed}.cta:focus-visible,button:focus-visible{outline:3px solid #2378c7;outline-offset:5px}.cta::after{display:none}
.tama-start .cta{min-height:58px;padding:14px 22px;border-radius:16px;display:flex;justify-content:space-between;gap:14px;font-size:14px;font-weight:900;letter-spacing:.03em}.tama-start .cta span{font-size:24px;font-weight:500}.tama-start>p{font-size:10px;text-align:center;color:#77809a;margin:12px 0 0}.tama-start .form-error:empty{display:none}.tama-start .form-error{font-size:12px;margin:9px 0;color:#b21b51}
.tama-facts{display:flex;align-items:center;justify-content:center;gap:20px;margin:23px 0 0;font-size:11px;color:#64708d}.tama-facts b{font-size:17px;font-weight:900;color:#263868}.tama-facts i{height:15px;width:1px;background:#ddddea}
.tama-discover{padding:61px 0 55px;margin-top:57px;border-top:1px solid #ece5ef}.tama-section-label{font-size:10px;letter-spacing:.18em;font-weight:900;color:#bb2874;margin:0 0 13px}.tama-discover h2,.tama-how h2{font-size:26px;line-height:1.7;letter-spacing:.02em;font-weight:900;margin:0;color:var(--tama-ink)}.tama-mobile-break{display:none}.tama-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px}.tama-benefits article{padding:8px 4px}.tama-benefits h3{font-size:15px;font-weight:900;margin:15px 0 9px;color:var(--tama-ink)}.tama-benefits p{font-size:12px;color:#6b738c;margin:0;line-height:1.95}.tama-icon{width:55px;height:55px;display:inline-grid;place-items:center;font-size:31px;border-radius:20px;transform:rotate(-7deg)}.tama-icon.pink{background:#ffe2ef;color:#de3287}.tama-icon.blue{background:#e0f4ff;color:#1976c1;transform:rotate(5deg)}.tama-icon.yellow{background:#fff0ad;color:#816100}
.tama-how{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;text-align:left;align-items:center;padding:41px 50px;background:#eef8ff;border:1px solid #dcedfb;border-radius:30px}.tama-how>div>p:last-child{color:#626c88;font-size:12px;line-height:1.9;margin:16px 0 0}.tama-how .tama-section-label{color:#216eaa}.tama-how ol{list-style:none;margin:0;padding:0}.tama-how li{display:flex;gap:18px;align-items:center;padding:17px 0;border-bottom:1px dashed #c7dceb}.tama-how li:last-child{border:0}.tama-how li>span{display:grid;place-items:center;flex-shrink:0;width:39px;height:39px;border:1px solid #cbdeed;border-radius:50%;background:white;font-size:12px;color:#367da6;font-weight:900}.tama-how strong{font-size:14px;font-weight:900}.tama-how li p{font-size:11px;color:#6c7a92;margin:5px 0 0}
.tama-footer{padding:46px 0 0;text-align:center}.tama-footer>span{font-weight:900;font-size:15px}.tama-footer-dot{color:#ed48a3;margin:0 8px}.tama-footer p{font-size:10px;color:#9298ac;margin:9px 0 0}
/* Shared palette across the existing diagnosis screens. */
.onboarding,.contact-view,.advisors-view,.profile-view{border-color:#eddfec;box-shadow:0 12px 45px #df498b05;background:white}.onboarding>.eyebrow,.contact-heading .eyebrow,.eyebrow{color:#c42c77}.eyebrow::before{background:#f05aaf}.year-card:has(input:checked){border-color:#df398c;background:#fff5fa;box-shadow:0 6px 20px #e9368510}.year-card:has(input:checked)::after{background:#d8277b;color:#fff}.progress{background:#f0e6f2}.progress>div{background:linear-gradient(90deg,#ff8dc6,#d9429c,#52b8eb)}.quiz-sticky,.quiz-page-nav{background:#fffbfdf5;border-color:#eee1ef}.quiz-page-mark{color:#d4408b}.quiz-question.is-answered{border-color:#bddff3}.quiz-question-number{color:#c52e78;background:#fff0f7}.quiz-question h2,.quiz-sticky-copy strong{color:var(--tama-ink)}.agree{color:#8a6800}.disagree{color:#236daa}.required{background:#ffe7f3;color:#b22168}.optional{background:#eaf6ff;color:#33739b}.gender-option:has(input:checked){background:#fff0f8;border-color:#dc4594}.gender-option input{accent-color:#d8277b}.field input:focus{border-color:#dc4594;outline-color:#ffc6e3}.result-toolbar,.result-index{background:#fffbfdf5}.back:hover{color:#c42c77}
@media(min-width:1440px){.tama-visual{width:900px}}
@media(max-width:767px){body:not(:has(.result)) .shell{padding:0 20px 32px}body:has(.quiz) .shell{padding-top:8px;padding-bottom:90px}body:not(:has(.result)) .tama-top{min-height:66px;padding:14px 0;gap:12px}.tama-wordmark strong{font-size:21px}.tama-egg-mark{width:22px;height:27px;font-size:14px}.tama-wordmark-sub{font-size:9px}.tama-top small{display:none}.tama-home{padding-top:23px}.tama-kicker{font-size:10px;letter-spacing:.05em;margin-bottom:14px}.tama-kicker span{margin:0 7px;font-size:13px}.tama-visual{width:calc(100% + 20px);max-width:none;margin-left:-10px;border-radius:15px;box-shadow:0 0 24px 12px #ffffffc0}.tama-hero-copy{margin-top:24px}.tama-hero-copy h1{font-size:23px;line-height:1.65;letter-spacing:-.025em;margin-bottom:12px}.tama-hero-copy h1 span{display:block}.tama-hero-copy p{font-size:11px;line-height:2}.tama-start{margin-top:23px;max-width:440px}.tama-start label{font-size:11px;margin-bottom:10px}.tama-start-row{grid-template-columns:1fr;gap:13px}.tama-start input{height:52px;border-radius:13px}.tama-start .cta{min-height:56px;font-size:14px;border-radius:14px;padding:14px 22px;justify-content:center;position:relative}.tama-start .cta span{position:absolute;right:20px}.tama-start>p{font-size:9px;margin-top:13px}.tama-facts{gap:12px;margin-top:22px;font-size:9px}.tama-facts b{font-size:15px}.tama-discover{margin-top:39px;padding:38px 0}.tama-section-label{font-size:9px}.tama-discover h2,.tama-how h2{font-size:23px}.tama-mobile-break{display:block}.tama-benefits{grid-template-columns:1fr;gap:24px;margin-top:29px}.tama-benefits article{display:grid;grid-template-columns:48px 1fr;column-gap:16px;text-align:left;max-width:320px;width:100%;margin:auto;padding:0}.tama-icon{grid-row:1/3;width:48px;height:48px;font-size:27px;align-self:center;border-radius:16px}.tama-benefits h3{margin:0 0 7px;font-size:14px}.tama-benefits p{font-size:11px;line-height:1.9}.tama-how{grid-template-columns:1fr;gap:18px;padding:28px 22px;border-radius:24px}.tama-how h2{font-size:22px}.tama-how li{gap:12px;padding:15px 0}.tama-how li>span{width:32px;height:32px;font-size:10px}.tama-how strong{font-size:12px}.tama-how li p{font-size:10px;line-height:1.9}.tama-footer{padding-top:34px}}
@media(prefers-reduced-motion:reduce){.cta,.quiz-page-nav .cta{transition:none;transform:none}}

/* Keep the next question aligned and make the current response position clear. */
.quiz-question.is-current{position:relative;z-index:1;background:#fff5fa;box-shadow:inset 0 0 0 2px #e94a9b;border-radius:12px}
.quiz-question.is-current .quiz-question-number{background:#d8277b;color:#fff}
.quiz-question.is-current h2:focus{outline:none}
.quiz-question-list{margin-bottom:max(0px,calc(100svh - 280px))}
