:root{--heart-bg:#f5f1e8;--heart-paper:#f5f1e8;--heart-ink:#303632;--heart-muted:#77746d;--heart-line:#d9cfbb;--heart-accent:#303632;--heart-serif:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP",serif}
/* Production refinement: fixed progress geometry and a paper-like whole-line reveal. */
.ssa-check:has(.ssa-choices--words) .ssa-progress__count{display:block;height:24px;line-height:24px;white-space:nowrap}.ssa-check:has(.ssa-choices--words) .ssa-question{overflow:hidden;animation:ssaQuestionReveal .82s ease both}@keyframes ssaQuestionReveal{from{clip-path:inset(0 100% 0 0);opacity:.28}to{clip-path:inset(0);opacity:1}}@media(prefers-reduced-motion:reduce){.ssa-check:has(.ssa-choices--words) .ssa-question{animation:none!important}}
.shingo-minimal-shell,.shingo-minimal-shell *{box-sizing:border-box}.shingo-minimal-shell{background:var(--heart-bg);color:var(--heart-ink);font-family:var(--heart-serif);font-size:17px;font-weight:400;letter-spacing:.035em;line-height:1.85;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shingo-minimal-shell[data-page=heart]{min-height:100svh;overflow-x:hidden;position:relative}.shingo-minimal-shell[data-page=heart]::before{background:url("/wp-content/uploads/2026/08/wallpaper.png") left top/auto 72vh no-repeat;content:"";inset:0;opacity:.2;pointer-events:none;position:fixed;z-index:-1}.shingo-minimal-shell #main.shingo-heart-shell{margin:0 auto;max-width:760px;min-height:calc(100svh - 76px);padding:clamp(42px,6vh,68px) 28px 54px}.shingo-heart-footer{color:var(--heart-muted);font-size:13px;margin:0 auto;max-width:680px;padding:0 24px 24px;text-align:center}.shingo-heart-footer a{color:inherit;text-decoration:none}
.ssa-check,.ssa-check *{box-sizing:border-box}.ssa-check{color:var(--heart-ink);margin:0 auto;max-width:720px}.ssa-check__header{margin:clamp(24px,5vh,58px) auto 44px;max-width:560px;text-align:center}.ssa-check__title,.ssa-account h1{font-size:clamp(34px,6vw,52px);font-weight:400;letter-spacing:.055em;line-height:1.45;margin:0 0 30px}.ssa-check__notice{color:var(--heart-ink);line-height:2.15;margin:0 auto;max-width:430px}.ssa-check__legend{display:grid;gap:7px;list-style:none;margin:30px auto 0;max-width:300px;padding:0;text-align:left}.ssa-check__duration{color:var(--heart-muted);font-size:14px;margin:22px 0 0}.ssa-check__app{text-align:center}.ssa-check.is-active .ssa-check__header{display:none}body:has(.ssa-check.is-active) .shingo-heart-footer{display:none}
.ssa-progressbar{background:var(--heart-line);border-radius:1px;height:2px;margin:0 0 18px;overflow:hidden}.ssa-progressbar span{background:var(--heart-accent);display:block;height:100%;transition:width .18s ease}.ssa-progress{align-items:center;color:var(--heart-ink);display:flex;font-size:clamp(14px,2vw,17px);justify-content:space-between;margin:0}.ssa-progress__count{font-size:clamp(16px,2.2vw,20px);letter-spacing:.08em}.ssa-back{appearance:none;background:transparent;border:0;color:inherit;cursor:pointer;font:inherit;letter-spacing:.08em;min-height:44px;padding:0 8px 0 0}.ssa-back:disabled{opacity:0;pointer-events:none}.ssa-back:focus-visible{outline:2px solid #737b73;outline-offset:4px}
.ssa-question{align-items:center;background:none;border:0;display:flex;font-size:clamp(28px,4.2vw,42px);font-weight:400;justify-content:center;letter-spacing:.055em;line-height:1.75;margin:clamp(88px,19vh,184px) auto clamp(70px,11vh,112px);max-width:680px;min-height:3.5em;padding:0;text-wrap:balance}.ssa-question:focus{outline:0}#main .ssa-question::after{content:none;display:none}.ssa-choices{display:grid;gap:clamp(24px,4.5vw,54px);grid-template-columns:repeat(3,minmax(0,1fr));margin:0 auto;max-width:650px}.ssa-choice{align-items:center;display:flex;flex-direction:column;min-width:0}.ssa-choice-button{align-items:center;appearance:none;background:transparent;border:1px solid rgba(48,54,50,.72);border-radius:50%;color:var(--heart-ink);cursor:pointer;display:flex;font-family:inherit;font-size:clamp(48px,7vw,66px);font-weight:300;height:clamp(116px,15vw,154px);justify-content:center;line-height:1;padding:0;transition:background-color .18s ease,color .18s ease,border-color .18s ease;width:clamp(116px,15vw,154px)}.ssa-choice-button:hover,.ssa-choice-button:focus-visible{border-color:var(--heart-ink);outline:0}.ssa-choice-button:focus-visible{box-shadow:0 0 0 3px rgba(48,54,50,.18)}.ssa-choice-button.is-selected,.ssa-choice-button[aria-pressed=true]{background:var(--heart-ink);border-color:var(--heart-ink);color:var(--heart-bg)}.ssa-choice-label{color:#5f625e;font-size:clamp(12px,1.7vw,15px);letter-spacing:.04em;line-height:1.5;margin-top:20px;white-space:nowrap}
.ssa-button{align-items:center;appearance:none;background:transparent;border:1px solid var(--heart-line);border-radius:4px;color:var(--heart-ink);cursor:pointer;display:inline-flex;font:inherit;justify-content:center;min-height:54px;padding:10px 30px;text-decoration:none;transition:background-color .18s ease,color .18s ease,transform .18s ease}.ssa-button--primary{background:var(--heart-ink);border-color:var(--heart-ink);color:var(--heart-bg);min-width:220px}.ssa-button--secondary{color:var(--heart-muted)}.ssa-button:hover{transform:translateY(-1px)}.ssa-button:focus-visible,.ssa-field input:focus-visible,.ssa-field textarea:focus-visible,.ssa-field select:focus-visible{outline:2px solid #737b73;outline-offset:3px}.ssa-button:disabled{opacity:.5}.ssa-check__error{border-left:2px solid #8a554d;color:#75423b;margin:28px 0;padding:8px 14px;text-align:left}
.ssa-result{margin:0 auto;max-width:590px;text-align:left}.ssa-result__title{font-size:clamp(32px,6vw,46px);font-weight:400;letter-spacing:.04em;line-height:1.5;margin:0 0 44px;text-align:center}.ssa-score-row{border-bottom:1px solid var(--heart-line);display:flex;justify-content:space-between;padding:17px 0}.ssa-score-row strong{font-weight:400}.ssa-result__reading{font-size:18px;line-height:2.1;margin:46px 0}.ssa-result__notice{color:var(--heart-muted);font-size:13px;line-height:1.9}.ssa-result h2,.ssa-result h3{font-size:23px;font-weight:400;letter-spacing:.04em;margin:56px 0 18px}.ssa-profile{display:grid;gap:26px;margin-top:40px}.ssa-field{display:grid;gap:8px;text-align:left}.ssa-field span{font-size:14px}.ssa-field input,.ssa-field textarea,.ssa-field select{background:rgba(245,241,232,.48);border:0;border-bottom:1px solid var(--heart-line);border-radius:0;color:var(--heart-ink);font:inherit;min-height:52px;padding:9px 5px;width:100%}.ssa-field textarea{border:1px solid var(--heart-line);min-height:132px;padding:13px;resize:vertical}.ssa-profile>a{color:var(--heart-muted);font-size:13px}.ssa-profile__saved{font-size:18px;text-align:center}.ssa-account{margin:0 auto;max-width:620px}.ssa-account h1{text-align:center}.ssa-account h2{border-top:1px solid var(--heart-line);font-size:24px;font-weight:400;letter-spacing:.04em;margin:64px 0 24px;padding-top:36px}.ssa-account h3{font-size:19px;font-weight:400}.ssa-account__total{font-size:30px}.ssa-history p{border-bottom:1px solid var(--heart-line);font-size:15px;padding:12px 0}.ssa-feedback{border-bottom:1px solid var(--heart-line);margin:20px 0;padding:0 0 28px}.ssa-feedback audio{width:100%}
@media(max-width:600px){.shingo-minimal-shell{font-size:16px}.shingo-minimal-shell[data-page=heart]::before{background-position:left top;background-size:auto 56vh;opacity:.15}.shingo-minimal-shell #main.shingo-heart-shell{padding:54px 24px 42px}.ssa-check__header{margin-top:38px}.ssa-check__title{font-size:36px}.ssa-progressbar{margin-bottom:10px}.ssa-progress{font-size:14px}.ssa-progress__count{font-size:16px}.ssa-question{font-size:clamp(26px,6.9vw,28px);line-height:1.75;margin:clamp(124px,21vh,179px) auto clamp(20px,4vh,36px);min-height:5.25em}.ssa-choices{gap:clamp(8px,2.5vw,14px);max-width:350px}.ssa-choice-button{font-size:44px;height:clamp(88px,25vw,98px);width:clamp(88px,25vw,98px)}.ssa-choice-label{font-size:12px;letter-spacing:0;margin-top:14px}.ssa-result__reading{font-size:16px}.ssa-account h2{margin-top:52px}.ssa-button{width:100%}}
@media(max-width:350px){.shingo-minimal-shell #main.shingo-heart-shell{padding-left:14px;padding-right:14px}.ssa-choice-button{height:82px;width:82px}.ssa-choice-label{font-size:10px}}
@media(prefers-reduced-motion:reduce){.ssa-progressbar span,.ssa-choice-button,.ssa-button{transition:none}.ssa-button:hover{transform:none}}
.shingo-minimal-shell[data-page=home]{background:#f5f1e8;color:#343a36;font-family:var(--heart-serif);font-weight:400;letter-spacing:.025em;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shingo-minimal-shell[data-page=home] #main.shingo-home{padding:clamp(48px,7vh,76px) 24px}.shingo-minimal-shell[data-page=home] .shingo-home::before{background-position:left top;background-size:min(90vw,1280px) auto;opacity:.28}.shingo-minimal-shell[data-page=home] .shingo-home__inner{margin:-2vh auto 0;max-width:700px}.shingo-minimal-shell[data-page=home] .shingo-home h1{color:#343a36;font-size:clamp(2.5rem,4.45vw,4.15rem);font-weight:400;letter-spacing:.06em;line-height:1.43}.shingo-minimal-shell[data-page=home] .shingo-home__rule{background:#cbbd9e;margin:clamp(29px,4.2vh,42px) auto clamp(28px,3.8vh,39px);width:60px}.shingo-minimal-shell[data-page=home] .shingo-home__copy{max-width:570px}.shingo-minimal-shell[data-page=home] .shingo-home p{font-size:clamp(1rem,1.55vw,1.27rem);letter-spacing:.055em;line-height:1.95}.shingo-minimal-shell[data-page=home] .shingo-home p+p{margin-top:clamp(22px,2.9vh,31px)}.shingo-minimal-shell[data-page=home] .shingo-home__start{border-radius:9px;box-shadow:0 10px 22px rgba(50,45,37,.12);letter-spacing:.11em;margin-top:clamp(37px,5vh,52px)}
@media(max-width:600px){.shingo-minimal-shell[data-page=home] #main.shingo-home{padding:38px 22px}.shingo-minimal-shell[data-page=home] .shingo-home::before{background-position:left top;background-size:auto 58vh;opacity:.22}.shingo-minimal-shell[data-page=home] .shingo-home__inner{margin:-1vh auto 0}.shingo-minimal-shell[data-page=home] .shingo-home h1{font-size:clamp(2.15rem,10.2vw,2.68rem);letter-spacing:.05em;line-height:1.47}.shingo-minimal-shell[data-page=home] .shingo-home__rule{margin:27px auto 25px;width:54px}.shingo-minimal-shell[data-page=home] .shingo-home p{font-size:16px;letter-spacing:.03em;line-height:1.9}.shingo-minimal-shell[data-page=home] .shingo-home p+p{margin-top:21px}.shingo-minimal-shell[data-page=home] .shingo-home__start{border-radius:8px;font-size:19px;height:56px;margin-top:32px;max-width:248px;padding-left:38px;width:68vw}}
.ssa-result__intro{color:var(--heart-muted);font-size:14px;text-align:center}.ssa-balance-summary{border-bottom:1px solid var(--heart-line);border-top:1px solid var(--heart-line);display:grid;gap:0;margin:22px 0 36px}.ssa-balance-summary__item{align-items:baseline;border-bottom:1px solid var(--heart-line);display:flex;justify-content:space-between;margin:0;padding:17px 4px}.ssa-balance-summary__item:last-child{border-bottom:0}.ssa-balance-summary__item strong{font-size:25px;font-weight:400;letter-spacing:.04em}
@media(min-width:601px){.ssa-question{margin:clamp(82px,16vh,156px) auto clamp(58px,8vh,86px)}}
.ssa-karte-head{margin:0 0 72px;text-align:center}.ssa-karte-head h1{margin-bottom:20px}.ssa-karte-head p{margin:4px 0}.ssa-karte-muted{color:var(--heart-muted);font-size:14px}.ssa-karte-section{border-top:1px solid var(--heart-line);padding:44px 0}.ssa-karte-section:first-of-type{border-top:0;padding-top:0}.ssa-karte-section h2{border:0;margin:0 0 28px;padding:0}.ssa-karte-section h3{margin:30px 0 12px}.ssa-karte-score{color:var(--heart-muted);font-size:14px;margin-left:16px}.ssa-karte-score small{font-size:11px}.ssa-karte-category ul{line-height:2.1;margin:0;padding-left:1.4em}.ssa-history p{display:grid;gap:3px}.ssa-profile-intro>h2{margin-top:56px}
@media(max-width:600px){.ssa-karte-head{margin-bottom:56px}.ssa-karte-section{padding:36px 0}.ssa-karte-section .ssa-button{width:100%}.ssa-karte-score{display:block;margin:4px 0 0}}
.ssa-reflection{border-top:1px solid var(--heart-line);margin-top:56px;padding-top:50px}.ssa-reflection__intro{font-size:19px;line-height:2;margin:0 auto 42px;text-align:center;white-space:pre-line}.ssa-reflection__stage{min-height:380px}.ssa-reflection__panel{opacity:0;transform:translateY(6px);transition:opacity .21s ease,transform .21s ease}.ssa-reflection__panel.is-visible{opacity:1;transform:none}.ssa-reflection__top{align-items:center;display:flex;justify-content:flex-end;margin-bottom:16px;min-height:44px}.ssa-reflection__back{appearance:none;background:transparent;border:0;color:var(--heart-muted);cursor:pointer;font:inherit;margin-right:auto;min-height:44px;padding:0 8px 0 0}.ssa-reflection__count{color:var(--heart-muted);font-size:13px;letter-spacing:.1em}.ssa-reflection__form{display:grid;gap:28px}.ssa-reflection fieldset{border:0;margin:0;padding:0}.ssa-reflection legend{font-size:22px;letter-spacing:.04em;line-height:1.8;margin-bottom:22px}.ssa-radio-option{align-items:center;border-bottom:1px solid var(--heart-line);cursor:pointer;display:flex;gap:14px;min-height:58px;padding:10px 4px}.ssa-radio-option:first-of-type{border-top:1px solid var(--heart-line)}.ssa-radio-option input{accent-color:var(--heart-ink);height:18px;min-width:18px;width:18px}.ssa-radio-option:focus-within,.ssa-reflection__back:focus-visible{outline:2px solid #737b73;outline-offset:3px}.ssa-reflection__note{display:grid;gap:14px}.ssa-reflection__note>span{font-size:20px;line-height:1.8;white-space:pre-line}.ssa-reflection__note textarea{background:rgba(245,241,232,.48);border:1px solid var(--heart-line);color:var(--heart-ink);font:inherit;min-height:122px;padding:14px;resize:vertical;width:100%}.ssa-reflection__optional{color:var(--heart-muted);font-size:13px;margin:-12px 0 0}.ssa-reply{border-top:1px solid var(--heart-line);margin-top:52px;padding-top:50px;text-align:center}.ssa-reply h2{line-height:1.8;margin-top:0}.ssa-reply__copy{line-height:2.05;margin:30px auto 40px;max-width:480px;white-space:pre-line}.ssa-text-button{background:none;border:0;color:var(--heart-muted);cursor:pointer;font:inherit;margin-top:24px;min-height:44px;text-decoration:underline;text-underline-offset:4px}.ssa-text-button:focus-visible{outline:2px solid #737b73;outline-offset:3px}.ssa-reply__end{line-height:2;text-align:center}
@media(max-width:600px){.ssa-reflection{margin-top:46px;padding-top:40px}.ssa-reflection__intro{font-size:17px;margin-bottom:26px}.ssa-reflection__stage{min-height:390px}.ssa-reflection legend{font-size:19px}.ssa-radio-option{min-height:58px}.ssa-reflection__note>span{font-size:18px}.ssa-reply{margin-top:44px;padding-top:40px}.ssa-reply__copy{text-align:left}}
@media(prefers-reduced-motion:reduce){.ssa-reflection__panel{opacity:1;transform:none;transition:none}}
.shingo-heart-result{max-width:760px}.shingo-heart-result .ssa-result__title{font-size:clamp(38px,6vw,58px);letter-spacing:.08em;margin-bottom:24px}.ssa-heart-intro{font-size:clamp(15px,2vw,18px);line-height:2.05;margin:0 auto 28px;max-width:650px;text-align:center;white-space:pre-line}.ssa-heart-figure{margin:0 auto;max-width:660px}.ssa-heart-shape{display:block;height:auto;overflow:visible;width:100%}.ssa-heart-outer{fill:rgba(255,253,247,.2);stroke:#ddd1be;stroke-width:1.2}.ssa-heart-outer--soft{fill:rgba(255,253,247,.25);stroke:#eee6d8;stroke-width:12}.ssa-heart-blob{stroke-width:1}.ssa-heart-blob--inner{fill:#dfe3da;fill-opacity:.84;stroke:#d2d9cf}.ssa-heart-blob--relation{fill:#eee2cb;fill-opacity:.82;stroke:#e4d4b6}.ssa-heart-blob--future{fill:#d9d9e4;fill-opacity:.86;stroke:#cacbd9}.ssa-heart-label{fill:var(--heart-ink);font-family:var(--heart-serif);font-size:22px;letter-spacing:.05em}.ssa-heart-percent{font-size:52px;font-weight:400;letter-spacing:0}.ssa-heart-message{align-items:center;background:rgba(255,253,248,.22);border:1px solid rgba(217,207,187,.74);border-radius:22px;display:grid;gap:28px;grid-template-columns:52px 1fr;margin:8px auto 62px;max-width:680px;padding:28px 42px}.ssa-heart-message p{font-size:17px;line-height:2;margin:0;white-space:pre-line}.ssa-heart-sprig{color:#cbbda6;font-size:42px;line-height:1;text-align:center;transform:rotate(-22deg)}.ssa-balance-choice{background:rgba(255,253,249,.67);border:1px solid rgba(226,217,201,.72);border-radius:30px;box-shadow:0 13px 28px rgba(62,54,43,.11);margin:0 auto 34px;padding:46px 36px 38px;text-align:center}.ssa-balance-choice h2{font-size:clamp(25px,3.8vw,35px);line-height:1.65;margin:0;white-space:pre-line}.ssa-balance-choice__hint{font-size:15px;line-height:1.8;margin:14px 0 30px}.ssa-balance-choice__options{display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}.ssa-balance-choice__option{align-items:center;background:rgba(255,255,255,.2);border:1px solid #d8d4ca;border-radius:20px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:230px;padding:24px 12px;position:relative;transition:background-color .18s ease,border-color .18s ease,transform .18s ease}.ssa-balance-choice__option input{height:18px;left:18px;margin:0;position:absolute;top:18px;width:18px}.ssa-balance-choice__mark{color:#656966;font-size:64px;font-weight:300;line-height:1}.ssa-balance-choice__copy{font-size:16px;line-height:1.9;margin-top:22px;white-space:pre-line}.ssa-balance-choice__option:hover{border-color:#a9aca7;transform:translateY(-1px)}.ssa-balance-choice__option:has(input:checked){background:rgba(238,235,226,.56);border-color:#7d827d}.ssa-balance-choice__option:focus-within{outline:2px solid #737b73;outline-offset:4px}.shingo-heart-result>.ssa-result__notice{text-align:center}
@media(max-width:600px){.shingo-heart-result .ssa-result__title{font-size:34px;letter-spacing:.06em;margin-bottom:18px}.ssa-heart-intro{font-size:14px;line-height:1.9;margin-bottom:18px}.ssa-heart-figure{margin-left:-12px;margin-right:-12px}.ssa-heart-label{font-size:21px}.ssa-heart-percent{font-size:48px}.ssa-heart-message{border-radius:18px;gap:14px;grid-template-columns:30px 1fr;margin-bottom:46px;padding:22px 18px}.ssa-heart-message p{font-size:14px;line-height:1.9}.ssa-heart-sprig{font-size:30px}.ssa-balance-choice{border-radius:24px;margin-left:-10px;margin-right:-10px;padding:32px 12px 26px}.ssa-balance-choice h2{font-size:23px}.ssa-balance-choice__hint{font-size:12px;margin:10px 8px 24px}.ssa-balance-choice__options{gap:8px}.ssa-balance-choice__option{border-radius:14px;min-height:190px;padding:28px 5px 16px}.ssa-balance-choice__option input{height:16px;left:10px;top:10px;width:16px}.ssa-balance-choice__mark{font-size:47px}.ssa-balance-choice__copy{font-size:12px;letter-spacing:0;line-height:1.75;margin-top:18px}}
@media(prefers-reduced-motion:reduce){.ssa-balance-choice__option{transition:none}.ssa-balance-choice__option:hover{transform:none}}
.shingo-heart-result .ssa-result__title:focus{outline:0}body:has(.shingo-heart-result)::before{opacity:.065}.shingo-heart-result .ssa-heart-figure{margin:-46px auto -28px}.shingo-heart-result .ssa-heart-message{padding-bottom:22px;padding-top:22px}.shingo-heart-result .ssa-heart-message p{line-height:1.85}
.ssa-check__notice{white-space:pre-line}.ssa-question-fieldset{border:0;margin:0;padding:0}.ssa-choices--words{align-items:stretch;display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:42px}.ssa-word-choice{align-items:center;background:rgba(255,253,248,.32);border:1px solid var(--heart-line);border-radius:12px;cursor:pointer;display:flex;justify-content:center;min-height:88px;padding:16px 12px;position:relative;text-align:center;transition:background-color .21s ease,border-color .21s ease,transform .21s ease}.ssa-word-choice input{height:18px;left:12px;margin:0;position:absolute;top:12px;width:18px}.ssa-word-choice span{font-size:15px;line-height:1.7}.ssa-word-choice:hover{background:rgba(255,253,248,.55);transform:translateY(-1px)}.ssa-word-choice:has(input:checked){background:rgba(235,231,220,.68);border-color:#8c8c83}.ssa-word-choice:focus-within{outline:2px solid #737b73;outline-offset:3px}
@media(max-width:600px){.ssa-choices--words{gap:8px;margin-top:32px}.ssa-word-choice{border-radius:10px;min-height:92px;padding:28px 5px 12px}.ssa-word-choice input{height:16px;left:8px;top:8px;width:16px}.ssa-word-choice span{font-size:12px;letter-spacing:0}}
.screen-reader-text{clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute!important;width:1px;word-wrap:normal!important}
.ssa-check:not(.is-active),.ssa-check.is-active{background:rgba(255,253,248,.74);border:1px solid rgba(218,208,191,.68);border-radius:18px;box-shadow:0 12px 30px rgba(63,53,39,.09);padding:clamp(34px,6vw,68px)}.ssa-check:not(.is-active) .ssa-check__app{margin-top:52px}.ssa-check:not(.is-active) .ssa-button--primary{border-radius:999px;max-width:360px;width:78%}.ssa-check__app{opacity:1;transform:none;transition:opacity .21s ease,transform .21s ease}.ssa-check__app.is-fading-out{opacity:0;transform:translateY(3px);transition-duration:.15s}.ssa-check__app.is-fading-in{opacity:0;transform:translateY(3px)}
.ssa-observation-result{max-width:720px;text-align:center}.ssa-observation-intro{font-size:15px;line-height:2;margin:0 auto 8px;white-space:pre-line}.ssa-observation-figure{margin:-12px auto -24px;max-width:650px}.ssa-observation-shape{display:block;height:auto;overflow:visible;width:100%}.ssa-observation-guide{fill:none;stroke:#d9cfbb;stroke-dasharray:2 6;stroke-width:1}.ssa-observation-blob{fill:url(#ssa-observation-fill);fill-opacity:.76;stroke:#c7c2b7;stroke-width:1.2}.ssa-observation-dot{fill:#b7b2a6}.ssa-observation-label{fill:var(--heart-ink);font-family:var(--heart-serif);font-size:14px;letter-spacing:.02em}.ssa-observation-heart{fill:#9a9283;font-size:20px}.ssa-observation-details{display:grid;gap:24px;margin:10px auto 38px;text-align:left}.ssa-observation-group{border:1px solid rgba(210,201,184,.8);border-radius:14px;padding:24px 28px}.ssa-observation-group h2{font-size:20px;margin:0 0 16px}.ssa-observation-group ul{list-style:none;margin:0;padding:0}.ssa-observation-group li{border-top:1px solid rgba(217,207,187,.7);display:grid;gap:3px;padding:13px 0}.ssa-observation-group li:first-child{border-top:0}.ssa-observation-group strong{font-weight:400}.ssa-observation-group span{color:var(--heart-muted);font-size:13px}.ssa-observation-cta{border-radius:999px;margin:0 auto 28px;min-width:min(100%,360px)}.ssa-observation-result>.ssa-result__notice{text-align:center}
@media(max-width:600px){.ssa-check:not(.is-active),.ssa-check.is-active{border-radius:14px;margin-left:-12px;margin-right:-12px;padding:30px 20px}.ssa-check:not(.is-active) .ssa-check__title{font-size:30px}.ssa-check:not(.is-active) .ssa-check__notice{font-size:14px}.ssa-observation-result .ssa-result__title{font-size:30px}.ssa-observation-intro{font-size:13px}.ssa-observation-figure{margin:0 -22px -8px}.ssa-observation-label{font-size:12px}.ssa-observation-details{gap:16px}.ssa-observation-group{padding:20px 18px}.ssa-observation-group h2{font-size:18px}.ssa-observation-cta{width:100%}}
@media(prefers-reduced-motion:reduce){.ssa-check__app,.ssa-check__app.is-fading-out,.ssa-check__app.is-fading-in{opacity:1;transform:none;transition:none}}
.ssa-check:not(.is-active),.ssa-check.is-active{background:rgba(255,253,248,.93);position:relative}.ssa-check:has(.ssa-choices--words) .ssa-question{font-size:clamp(24px,3.1vw,32px);margin-bottom:54px;margin-top:clamp(68px,12vh,116px)}.ssa-check:has(.ssa-choices--words) .ssa-back{bottom:16px;left:34px;position:absolute}.ssa-word-choice input{height:22px;left:50%;top:17px;transform:translateX(-50%);width:22px}.ssa-word-choice{padding-top:42px}
@media(max-width:600px){.ssa-check:has(.ssa-choices--words) .ssa-question{font-size:23px;line-height:1.8;margin-bottom:34px;margin-top:88px;min-height:6em}.ssa-check:has(.ssa-choices--words) .ssa-back{bottom:12px;left:18px}.ssa-word-choice{padding-top:38px}}
.ssa-check:has(.ssa-choices--words){padding-bottom:86px}.ssa-check:has(.ssa-choices--words) .ssa-progressbar{margin-top:30px}.ssa-check:has(.ssa-choices--words) .ssa-progress__count{left:50%;position:absolute;top:20px;transform:translateX(-50%)}.ssa-check:has(.ssa-choices--words) .ssa-progress{min-height:1px}.ssa-check:has(.ssa-choices--words) .ssa-back{bottom:20px}
@media(max-width:600px){.ssa-check:has(.ssa-choices--words){padding-bottom:78px}.ssa-check:has(.ssa-choices--words) .ssa-progress__count{top:18px}.ssa-check:has(.ssa-choices--words) .ssa-back{bottom:16px}}
.ssa-account-choice{margin:clamp(24px,7vh,70px) auto;text-align:center;max-width:520px}.ssa-account-choice h2{font-size:clamp(28px,4.2vw,38px);font-weight:400;letter-spacing:.06em;margin:0 0 20px}.ssa-account-choice__copy{line-height:2;white-space:pre-line}.ssa-account-choice__actions{display:grid;gap:14px;margin:38px auto 12px;max-width:360px}.ssa-account-choice__actions .ssa-button{width:100%}.ssa-button--line{background:#33423a;border-color:#33423a;color:#fff}.ssa-button--email{background:transparent;border-color:#827b70}.ssa-account-choice__status{color:var(--heart-muted);font-size:12px;font-weight:400;line-height:1.7;margin:-5px 0 5px}.ssa-account-choice .ssa-text-button{margin-top:26px}@media(max-width:600px){.ssa-account-choice{margin:34px auto}.ssa-account-choice__actions{margin-top:30px}}
/* Phase 10: personal heart record */
.shingo-heart-my{--kink:#34352f;--kline:#ddd5c8;--kpaper:rgba(255,253,248,.78);max-width:1120px;margin:auto;padding:34px 32px 110px;color:var(--kink);font-family:var(--heart-serif)}.ssa-account__header{text-align:center;border-bottom:1px solid var(--kline);padding-bottom:25px;margin-bottom:24px}.ssa-account__header p{float:left;font-size:12px;letter-spacing:.08em}.ssa-account__header h1{font-size:29px;font-weight:400;letter-spacing:.08em}.ssa-profile-invite,.ssa-profile-card,.ssa-heart-record,.ssa-history,.ssa-audio-letter,.ssa-booking-grid article,.ssa-settings__grid{background:var(--kpaper);border:1px solid rgba(199,188,172,.5);box-shadow:0 6px 24px rgba(75,64,50,.05);border-radius:10px}.ssa-profile-invite{display:flex;gap:24px;align-items:center;padding:28px;margin-bottom:22px}.ssa-profile-invite>span{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:#f5ecdd;color:#baa783;font-size:34px}.ssa-profile-invite h2,.ssa-karte-section>h2{font-size:21px;font-weight:400;letter-spacing:.05em}.ssa-profile-invite p{font-size:14px;line-height:1.9}.ssa-button--warm{background:#b89b6e!important;color:#fff!important;border-color:#b89b6e!important}.ssa-profile-card{display:grid;grid-template-columns:120px 1fr;gap:28px;padding:28px;margin-bottom:44px}.ssa-avatar{border-radius:50%;width:112px;height:112px}.ssa-profile-card__body{position:relative}.ssa-profile-edit{position:absolute;right:0;top:0;border:1px solid var(--kline);background:transparent;border-radius:7px;padding:9px 14px;font-family:inherit}.ssa-profile-card h2{font-size:27px;font-weight:400;margin:0 140px 2px 0}.ssa-profile-card__roman{margin:0 0 15px;color:#746e65;font-size:13px}.ssa-profile-card dl{display:grid;gap:5px;margin:0}.ssa-profile-card dl div{display:flex;gap:12px;font-size:13px}.ssa-profile-card dt{color:#80796e}.ssa-interest-tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:17px 0 0;margin:18px 0 0;border-top:1px solid var(--kline)}.ssa-interest-tags li{background:#f4f0e8;border-radius:5px;padding:6px 12px;font-size:13px}.ssa-profile-card__bio{line-height:1.9}.ssa-karte-section{scroll-margin-top:24px;margin-bottom:40px}.ssa-heart-record{position:relative;padding:22px;text-align:center}.ssa-heart-record>time{display:block;text-align:left;font-size:13px}.ssa-karte-heart{display:block;width:80px;height:80px;flex:none}.ssa-karte-heart.is-large{width:min(100%,520px);height:auto;margin:auto}.ssa-karte-heart text{font-family:inherit;font-size:8px;fill:#444}.ssa-karte-heart__mark{font-size:14px!important;fill:#9f9785!important}.ssa-heart-record details{position:absolute;right:20px;bottom:18px;text-align:left}.ssa-heart-record summary,.ssa-history__item summary{list-style:none;cursor:pointer;border:1px solid var(--kline);border-radius:7px;padding:8px 14px;font-size:13px}.ssa-history-detail{position:relative;z-index:3;width:min(380px,75vw);padding:18px;background:#fffdf8;border:1px solid var(--kline);box-shadow:0 10px 25px #3c322817;font-size:13px;line-height:1.8}.ssa-text-link{display:inline-block;margin-top:13px;color:inherit;text-decoration:none;border-bottom:1px solid var(--kline);padding:8px 2px}.ssa-history{padding:2px 18px}.ssa-history__item{position:relative;display:grid;grid-template-columns:68px 1fr auto;align-items:center;gap:16px;min-height:90px;border-bottom:1px solid var(--kline)}.ssa-history__item:last-child{border:0}.ssa-history__item p{margin:5px 0;font-size:13px}.ssa-history__item details{position:relative}.ssa-history__item .ssa-history-detail{position:absolute;right:0;top:42px}.ssa-history__old{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#f1ede5}.ssa-audio-letter{display:grid;grid-template-columns:1fr minmax(320px,42%);gap:26px;padding:24px}.ssa-audio-letter time,.ssa-audio-letter small{color:#777064;font-size:12px}.ssa-audio-player{display:grid;grid-template-columns:44px 68px 38px 1fr 38px;align-items:center;gap:9px}.ssa-audio-player audio{display:none}.ssa-audio-player button{min-height:44px;border:1px solid var(--kline);border-radius:50%;background:#47483f;color:#fff}.ssa-audio-player [data-audio-rewind]{border-radius:22px;background:transparent;color:inherit;font-size:12px}.ssa-audio-player input{width:100%}.ssa-booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ssa-booking-grid article{display:grid;grid-template-columns:54px 1fr;gap:15px;padding:22px}.ssa-booking-grid article>span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#f7efe2;color:#b3976f;font-size:25px}.ssa-booking-grid h3{font-size:17px;font-weight:400;margin:0}.ssa-booking-grid p{font-size:13px;line-height:1.7}.ssa-booking-grid button{border:1px solid var(--kline);background:transparent;border-radius:7px;padding:7px 18px;font-family:inherit}.ssa-settings__grid{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden}.ssa-settings__grid>a,.ssa-settings__grid>label,.ssa-settings__grid>.is-disabled{display:flex;position:relative;flex-direction:column;gap:4px;padding:21px 23px;color:inherit;text-decoration:none;border-right:1px solid var(--kline)}.ssa-settings__grid small{color:#777064}.ssa-settings__grid input{position:absolute;right:18px;top:24px}.ssa-settings__grid .is-disabled{opacity:.62}.ssa-profile-dialog{width:min(560px,calc(100% - 32px));max-height:88vh;padding:30px;border:1px solid var(--kline);border-radius:10px;background:#fffdf8;color:var(--kink);font-family:inherit}.ssa-profile-dialog::backdrop{background:#302d2733;backdrop-filter:blur(2px)}.ssa-dialog-close{position:absolute;right:13px;top:10px}.ssa-dialog-close button{border:0;background:transparent;font-size:25px}.ssa-profile-form{display:grid;gap:14px}.ssa-profile-form label{display:grid;gap:6px;font-size:12px}.ssa-profile-form input,.ssa-profile-form textarea{box-sizing:border-box;width:100%;border:1px solid var(--kline);border-radius:5px;background:#fff;padding:10px;font:inherit}.ssa-profile-form__row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ssa-profile-form fieldset{border:0;padding:0}.ssa-interest-picker{display:flex;flex-wrap:wrap;gap:7px}.ssa-interest-picker label{display:block}.ssa-interest-picker input{position:absolute;opacity:0}.ssa-interest-picker span{display:block;border:1px solid var(--kline);border-radius:5px;padding:6px 10px}.ssa-interest-picker input:checked+span{background:#e9dfcf;border-color:#ae9c80}.ssa-profile-form__actions{display:flex;justify-content:flex-end;gap:10px}.ssa-profile-form__actions button{min-height:44px;padding:8px 22px;border:1px solid var(--kline);border-radius:6px;background:transparent}.ssa-bottom-nav{display:none}.shingo-heart-my :focus-visible{outline:2px solid #756b59;outline-offset:3px}
@media(max-width:720px){.shingo-heart-my{padding:22px 18px 96px}.ssa-account__header p{float:none;text-align:left}.ssa-profile-invite{padding:22px 18px;gap:15px}.ssa-profile-invite>span{width:54px;height:54px}.ssa-profile-card{grid-template-columns:76px 1fr;gap:15px;padding:20px 17px}.ssa-avatar{width:72px;height:72px}.ssa-profile-card h2{font-size:22px;margin:46px 0 0}.ssa-profile-edit{font-size:12px}.ssa-heart-record{padding:16px 8px 66px}.ssa-heart-record details{right:14px;bottom:14px}.ssa-history{padding:0 12px}.ssa-history__item{grid-template-columns:54px 1fr;gap:10px;padding:10px 0}.ssa-history__item details{grid-column:2}.ssa-history__item .ssa-history-detail{right:auto;left:-64px}.ssa-audio-letter{grid-template-columns:1fr;padding:18px}.ssa-audio-player{grid-template-columns:44px 64px 38px 1fr 38px;font-size:11px}.ssa-booking-grid,.ssa-settings__grid{grid-template-columns:1fr}.ssa-settings__grid>a,.ssa-settings__grid>label,.ssa-settings__grid>.is-disabled{border-right:0;border-bottom:1px solid var(--kline)}.ssa-profile-form__row{grid-template-columns:1fr}.ssa-profile-dialog{padding:24px 18px}.ssa-bottom-nav{position:fixed;z-index:20;left:0;right:0;bottom:0;display:flex;justify-content:space-around;background:#faf7f0f0;border-top:1px solid var(--kline);backdrop-filter:blur(10px);padding:11px 7px calc(10px + env(safe-area-inset-bottom))}.ssa-bottom-nav a{color:inherit;text-decoration:none;font-size:12px}}
.shingo-heart-my{box-sizing:border-box;max-width:none;width:min(1120px,calc(100vw - 64px));margin-left:50%;transform:translateX(-50%)}
@media(max-width:720px){.shingo-heart-my{width:calc(100vw - 36px)}}

/* Phase 12.5: Visual Master fidelity */
.ssa-check,.ssa-account,.ssa-auth-card,.ssa-account-dialog{--heart-serif:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro",serif;font-family:var(--heart-serif);font-weight:400}
.ssa-check:not(.is-active) .ssa-check__header::before{background:#dfd3c2;border-radius:58% 42% 62% 38%/45% 56% 44% 55%;content:"";display:block;height:52px;margin:0 auto 30px;transform:rotate(-13deg);width:42px}
.ssa-check:not(.is-active) .ssa-check__title{font-size:clamp(25px,3vw,34px);letter-spacing:.055em;line-height:1.6;white-space:nowrap}
.ssa-check:not(.is-active) .ssa-check__notice{font-size:14px;line-height:1.85}
.ssa-check:has(.ssa-choices--words){min-height:min(650px,calc(100svh - 110px));padding:32px clamp(28px,6vw,68px) 76px}
.ssa-check:has(.ssa-choices--words) .ssa-progressbar{height:4px;margin:38px auto 0;max-width:214px;background:#d9d3ca}
.ssa-check:has(.ssa-choices--words) .ssa-progressbar span{background:#3e403c;border-radius:99px}
.ssa-check:has(.ssa-choices--words) .ssa-progress__count{font-size:14px;letter-spacing:.08em;top:24px}
.ssa-check:has(.ssa-choices--words) .ssa-question{font-size:clamp(19px,2.2vw,25px);font-weight:400;letter-spacing:.035em;line-height:1.85;margin:clamp(72px,13vh,118px) auto clamp(42px,7vh,70px);max-width:720px;min-height:3.7em}
.ssa-choices--words{gap:16px;margin:0 auto;max-width:660px}
.ssa-word-choice{background:rgba(255,253,248,.24);border-color:#d8d1c6;border-radius:12px;min-height:122px;padding:60px 14px 20px;transition:background-color .18s ease,border-color .18s ease,opacity .18s ease,transform .18s ease}
.ssa-word-choice input{appearance:none;background:#fff;border:1px solid #8f8d86;border-radius:50%;height:15px;left:50%;top:16px;transform:translateX(-50%);width:15px}
.ssa-word-choice span{font-size:14px;letter-spacing:.035em;position:relative}
.ssa-word-choice span::before{border-radius:50%;content:"";display:block;height:36px;margin:0 auto 13px;width:36px}
.ssa-word-choice:nth-child(1) span::before{background:#cad7c7}.ssa-word-choice:nth-child(2) span::before{background:#ead5ad}.ssa-word-choice:nth-child(3) span::before{background:#cbd7e2}
.ssa-word-choice:has(input:checked),.ssa-word-choice.is-selected{background:rgba(229,219,201,.62);border-color:#cbb99d;transform:none}
.ssa-word-choice input:checked{background:#a9977b;border-color:#a9977b;box-shadow:inset 0 0 0 3px #f8f4ec}
.ssa-check.is-saving .ssa-word-choice:not(:has(input:checked)){opacity:.42}
.ssa-check.is-saving .ssa-progressbar span{transition:none}
.ssa-observation-result{padding-bottom:104px}.ssa-observation-cta{bottom:max(18px,env(safe-area-inset-bottom));box-shadow:0 10px 24px rgba(50,46,39,.18);left:50%;margin:0;max-width:420px;position:fixed;transform:translateX(-50%);width:calc(100% - 40px);z-index:30}
.ssa-account-dialog{background:#fbf8f1;border:1px solid #ded5c7;border-radius:20px;box-shadow:0 22px 70px rgba(52,46,37,.2);color:#383832;max-width:520px;padding:0;width:calc(100% - 32px)}
.ssa-account-dialog::backdrop{background:rgba(45,42,36,.28);backdrop-filter:blur(3px)}
.ssa-account-choice{margin:0;max-width:none;padding:48px 42px 40px;position:relative}.ssa-account-choice__close{background:transparent;border:0;color:#69655e;cursor:pointer;font:300 28px/1 var(--heart-serif);min-height:44px;position:absolute;right:16px;top:14px;width:44px}.ssa-account-choice h2{font-size:31px}.ssa-account-choice__copy{font-size:15px}.ssa-account-choice__actions{margin-top:30px}.ssa-account-choice__actions .ssa-button{min-height:56px}.ssa-account-choice__actions .ssa-button:disabled{opacity:.48}
.ssa-auth-card{background:rgba(255,253,248,.9);border:1px solid rgba(211,201,184,.75);border-radius:18px;box-shadow:0 12px 34px rgba(63,53,39,.08);box-sizing:border-box;color:#383832;margin:clamp(42px,9vh,90px) auto;max-width:560px;padding:clamp(34px,6vw,60px)}.ssa-auth-card__eyebrow{color:#8a8277;font-size:12px;letter-spacing:.14em;text-align:center}.ssa-auth-card h1{font-size:clamp(28px,4vw,38px);font-weight:400;letter-spacing:.07em;margin:12px 0 38px;text-align:center}.ssa-auth-form{display:grid;gap:20px}.ssa-auth-form label{display:grid;font-size:13px;gap:8px;letter-spacing:.04em}.ssa-auth-form input{background:#fffefa;border:1px solid #d5ccbe;border-radius:7px;box-sizing:border-box;font:inherit;min-height:50px;padding:11px 13px;width:100%}.ssa-auth-form .ssa-button{margin-top:8px;width:100%}.ssa-auth-switch{font-size:13px;line-height:2;margin:25px 0 0;text-align:center}.ssa-auth-switch a{color:inherit;text-underline-offset:4px}.ssa-auth-message{background:#f3eee5;border-radius:7px;font-size:13px;padding:12px 16px}.ssa-auth-message.is-error{color:#744e46}
.shingo-heart-my{background:rgba(248,244,236,.42)}.ssa-account__header h1{font-size:34px}.ssa-profile-card,.ssa-heart-record,.ssa-history,.ssa-audio-letter,.ssa-booking-grid article,.ssa-settings__grid{background:rgba(255,253,248,.88);box-shadow:0 8px 26px rgba(66,55,42,.055)}.ssa-karte-section>h2{margin:0 0 18px}.ssa-heart-record.is-latest{padding:28px 28px 70px}.ssa-audio-letter{border-radius:14px}.ssa-audio-player input{accent-color:#8f846f}.ssa-bottom-nav a[aria-current=page]{border-bottom:1px solid #8f846f}
@media(min-width:900px){.ssa-observation-cta{position:sticky;transform:none;left:auto;bottom:24px;margin:24px auto 0;display:block}.ssa-observation-result{padding-bottom:30px}}
@media(max-width:600px){.ssa-check:has(.ssa-choices--words){min-height:calc(100svh - 54px);padding:26px 16px 72px}.ssa-check:has(.ssa-choices--words) .ssa-progressbar{margin-top:28px;max-width:170px}.ssa-check:has(.ssa-choices--words) .ssa-progress__count{font-size:13px;top:17px}.ssa-check:has(.ssa-choices--words) .ssa-question{font-size:19px;line-height:1.85;margin:clamp(74px,14vh,110px) auto 38px;min-height:5.55em}.ssa-choices--words{gap:8px}.ssa-word-choice{border-radius:10px;min-height:110px;padding:52px 4px 13px}.ssa-word-choice input{height:14px;top:13px;width:14px}.ssa-word-choice span{font-size:11px;letter-spacing:0}.ssa-word-choice span::before{height:30px;margin-bottom:10px;width:30px}.ssa-account-choice{padding:44px 22px 32px}.ssa-account-choice h2{font-size:27px}.ssa-auth-card{border-radius:14px;margin:24px 12px;padding:34px 22px}.ssa-observation-cta{min-height:58px}.ssa-heart-record.is-latest{padding:18px 8px 68px}}
@media(prefers-reduced-motion:reduce){.ssa-word-choice{transition:none}.ssa-check.is-saving .ssa-word-choice{opacity:1}}
.ssa-profile-form select{box-sizing:border-box;width:100%;border:1px solid var(--kline);border-radius:5px;background:#fff;padding:10px;font:inherit}
@media(max-width:600px){.ssa-check:not(.is-active) .ssa-check__title{font-size:24px;white-space:normal}.ssa-check:not(.is-active) .ssa-check__header::before{height:43px;margin-bottom:24px;width:36px}}
.ssa-account-choice__privacy,.ssa-auth-privacy a{color:#817a70;text-decoration-color:rgba(129,122,112,.38);text-underline-offset:4px}.ssa-account-choice__privacy{display:inline-block;font-size:11px;letter-spacing:.06em;margin-top:24px}.ssa-auth-privacy{border-top:1px solid rgba(145,116,77,.13);font-size:11px;letter-spacing:.06em;margin:42px 0 0;padding-top:24px;text-align:center}

/* Phase 13: finished personal heart record */
.ssa-flash-notice{position:fixed;z-index:99999;left:50%;top:24px;transform:translateX(-50%);display:flex;gap:10px;align-items:center;max-width:calc(100% - 32px);padding:15px 26px;background:#faf6ee;border:1px solid #d9cebd;box-shadow:0 8px 26px rgba(54,47,38,.09);color:#403d36;font-family:var(--heart-serif);letter-spacing:.04em;animation:ssa-notice-in .25s ease-out both,ssa-notice-out .5s ease 3.75s forwards}.ssa-flash-notice.is-error{border-color:#b9a49c}.ssa-flash-notice.is-leaving{opacity:0;transform:translate(-50%,-5px);transition:opacity .5s ease,transform .5s ease}@keyframes ssa-notice-in{from{opacity:0;transform:translate(-50%,-4px)}to{opacity:1;transform:translateX(-50%)}}@keyframes ssa-notice-out{to{opacity:0;visibility:hidden;transform:translate(-50%,-5px)}}
.shingo-heart-my{padding-top:18px;background:transparent}.ssa-account__header{padding:18px 0 24px}.ssa-account__header>p{display:none}.ssa-account__header h1{font-size:32px;margin:0}.ssa-profile-invite{max-width:360px;float:left;margin:0 18px 28px 0;min-height:210px;box-sizing:border-box;flex-direction:column;text-align:center;justify-content:center}.ssa-profile-card{min-height:210px;box-sizing:border-box;margin-bottom:38px}.ssa-profile-card__avatar{align-self:center}.ssa-profile-card dl div{gap:14px}.ssa-profile-card dt{min-width:56px}.ssa-repeat-check{display:inline-flex;justify-content:center;align-items:center;min-width:280px;min-height:64px;margin-top:18px;padding:8px 28px;border-radius:8px;background:#4a4942;color:#fff!important;text-align:center;text-decoration:none;line-height:1.5;box-sizing:border-box}.ssa-repeat-check.is-disabled{opacity:.44;cursor:not-allowed}.ssa-repeat-wrap{display:flex;gap:18px;align-items:center}.ssa-repeat-wrap p{font-size:13px;line-height:1.7;color:#7f776c}.ssa-legacy-history{clear:both}.ssa-legacy-history>details>summary{cursor:pointer;color:#746d62}
.ssa-profile-dialog,.ssa-settings-dialog,.ssa-booking-dialog,.ssa-delete-dialog{width:min(700px,calc(100% - 32px));max-height:88vh;padding:34px;border:1px solid var(--kline);border-radius:12px;background:#fcf8f0;color:#3e3b35;font-family:var(--heart-serif)}.ssa-settings-dialog,.ssa-booking-dialog,.ssa-delete-dialog{width:min(520px,calc(100% - 32px))}.ssa-profile-dialog::backdrop,.ssa-settings-dialog::backdrop,.ssa-booking-dialog::backdrop,.ssa-delete-dialog::backdrop{background:rgba(44,40,34,.32);backdrop-filter:blur(3px)}.ssa-profile-dialog h2,.ssa-settings-dialog h2,.ssa-booking-dialog h2,.ssa-delete-dialog h2{text-align:center;font-size:27px;font-weight:400;letter-spacing:.07em}.ssa-dialog-intro{text-align:center;color:#777064;font-size:13px}.ssa-profile-photo-edit{display:flex;align-items:center;gap:18px}.ssa-profile-photo-edit img{border-radius:50%;width:72px;height:72px;object-fit:cover}.ssa-birth-selects{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8px}.ssa-gender-options{display:flex;gap:22px}.ssa-gender-options label{display:flex;align-items:center;gap:6px}.ssa-tag-input{display:flex}.ssa-tag-input input{border-radius:6px 0 0 6px}.ssa-tag-input button{width:54px;border:1px solid var(--kline);border-left:0;background:#f3eadc;font:inherit}.ssa-selected-tags,.ssa-tag-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.ssa-selected-tags span,.ssa-tag-suggestions button{border:0;border-radius:999px;background:#f2e8d7;padding:7px 13px;color:inherit;font:inherit;font-size:12px}.ssa-selected-tags button{border:0;background:transparent;margin-left:6px}.ssa-tag-suggestions button{background:#f8f4ec;cursor:pointer}.ssa-settings-open{width:100%;padding:18px 4px;border:0;border-top:1px solid var(--kline);border-bottom:1px solid var(--kline);background:transparent;text-align:left;font:inherit;font-size:18px}.ssa-settings-open span{float:right}.ssa-settings-form{padding:20px 0;border-bottom:1px solid var(--kline)}.ssa-switch{display:flex;justify-content:space-between}.ssa-settings-form button,.ssa-account-info,.ssa-delete-open{display:flex;width:100%;box-sizing:border-box;justify-content:space-between;margin-top:13px;padding:13px 0;border:0;background:transparent;color:inherit;text-decoration:none;font:inherit;text-align:left}.ssa-account-info{border-bottom:1px solid var(--kline)}.ssa-account-info small{margin-left:auto;margin-right:14px;color:#777064}.ssa-delete-open{color:#76544c}.ssa-delete-dialog form label{display:grid;gap:8px}.ssa-delete-dialog input{padding:11px;border:1px solid var(--kline)}.ssa-delete-dialog form>div{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.ssa-delete-dialog button{min-height:44px;padding:8px 16px;border:1px solid var(--kline);background:transparent}.ssa-delete-dialog .is-danger{background:#554a43;color:#fff}.ssa-private-booking{padding:28px;border:1px solid var(--kline);border-radius:10px;background:rgba(255,253,248,.84)}.ssa-private-booking h3{font-weight:400;line-height:1.8}.ssa-private-booking button,.ssa-booking-dialog button{min-height:44px;padding:9px 22px;border:1px solid var(--kline);border-radius:7px;background:transparent;font:inherit}.ssa-booking-dialog fieldset{display:grid;gap:10px;border:0;padding:0}.ssa-booking-dialog fieldset label{display:block;border:1px solid var(--kline);border-radius:7px;padding:14px}.ssa-booking-dialog .ssa-button{width:100%;margin-top:22px}.ssa-booked-date{font-size:18px}.ssa-heart-record.is-latest{overflow:visible}.ssa-karte-heart.is-large{max-width:560px}.ssa-history__item{grid-template-columns:76px 1fr auto}.ssa-profile-card:after{content:"";display:block;clear:both}
@media(min-width:780px){.ssa-profile-invite+.ssa-profile-card{margin-left:378px}.ssa-karte-section{clear:both}}
@media(max-width:779px){.ssa-profile-invite{float:none;max-width:none;margin:0 0 18px}.ssa-profile-card{min-height:0}.ssa-repeat-check{width:100%;min-width:0}.ssa-repeat-wrap{display:block}.ssa-birth-selects{grid-template-columns:1fr}.ssa-gender-options{gap:14px}.ssa-account-info{display:grid;gap:5px}.ssa-account-info small{margin:0}.ssa-profile-dialog,.ssa-settings-dialog,.ssa-booking-dialog,.ssa-delete-dialog{padding:28px 18px}.ssa-flash-notice{top:12px;width:calc(100% - 28px);box-sizing:border-box;justify-content:center}.ssa-history__item{grid-template-columns:58px 1fr}}

/* Phase 13: Heart Karte visual master. Isolated from the 10-question baseline. */
.shingo-heart-my{--kpaper:rgba(255,253,248,.9);width:min(1180px,calc(100vw - 48px));padding:0 28px 108px}
.shingo-heart-my .ssa-account__header{margin-bottom:20px;padding:26px 0 20px}
.shingo-heart-my .ssa-account__header h1{font-size:30px;line-height:1.4}
.shingo-heart-my .ssa-account__header h1,.shingo-heart-my .ssa-profile-card h2,.shingo-heart-my .ssa-profile-invite h2,.shingo-heart-my .ssa-karte-section>h2,.shingo-heart-my .ssa-private-booking h3,.shingo-heart-my dialog h2{font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP",serif!important}
.shingo-heart-my .ssa-profile-invite{width:36%;max-width:none;min-height:238px;margin-right:18px;padding:26px 22px}
.shingo-heart-my .ssa-profile-invite h2{font-size:20px}
.shingo-heart-my .ssa-profile-invite .ssa-button{min-width:250px;min-height:52px;border-radius:7px;font-family:inherit}
.shingo-heart-my .ssa-profile-card{min-height:238px;padding:30px 28px;border-radius:9px}
.shingo-heart-my .ssa-karte-section{margin-bottom:32px}
.shingo-heart-my .ssa-line-link-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 28px;border:1px solid rgba(199,188,172,.5);border-radius:10px;background:rgba(255,253,248,.72)}
.shingo-heart-my .ssa-line-link-card h2{margin:0 0 5px;font-size:18px;font-weight:400}
.shingo-heart-my .ssa-line-link-card p{margin:0;color:#777064;font-size:13px;line-height:1.7}
.shingo-heart-my .ssa-line-link-card__action{flex:none;color:inherit;text-decoration:none;border-bottom:1px solid #9f8b6d;padding:7px 2px}
.shingo-heart-my .ssa-line-link-card__status{flex:none;color:#777064;font-size:13px}
@media(max-width:640px){.shingo-heart-my .ssa-line-link-card{align-items:flex-start;flex-direction:column;gap:12px;padding:20px}.shingo-heart-my .ssa-line-link-card__action{align-self:flex-end}}
.shingo-heart-my .ssa-karte-section>h2{font-size:23px;margin-bottom:12px}
.shingo-heart-my .ssa-heart-record.is-latest{min-height:450px;padding:22px 30px 66px;border-radius:9px}
.shingo-heart-my .ssa-karte-heart.is-large{width:min(100%,610px)}
.shingo-heart-my .ssa-history{border-radius:9px}
.shingo-heart-my .ssa-history__item{min-height:82px}
.shingo-heart-my .ssa-private-booking{min-height:150px;display:flex;align-items:center;padding:26px 34px}
.shingo-heart-my .ssa-settings-open{padding:21px 4px}
@media(min-width:780px){.shingo-heart-my .ssa-profile-invite+.ssa-profile-card{margin-left:calc(36% + 18px)}}
@media(max-width:779px){.shingo-heart-my{width:calc(100vw - 24px);padding:0 8px 94px}.shingo-heart-my .ssa-account__header{padding-top:18px}.shingo-heart-my .ssa-profile-invite{width:auto;min-height:0;margin-right:0}.shingo-heart-my .ssa-profile-invite .ssa-button{min-width:0;width:100%}.shingo-heart-my .ssa-profile-card{min-height:0;padding:20px 17px}.shingo-heart-my .ssa-heart-record.is-latest{min-height:0;padding:18px 8px 62px}.shingo-heart-my .ssa-karte-heart.is-large{width:100%}.shingo-heart-my .ssa-private-booking{min-height:0;padding:22px 18px}}

/* Phase 13.3 — unified Karte states and human-visible controls. */
.ssa-auth-message.is-error{position:fixed;z-index:99999;left:50%;top:24px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);box-sizing:border-box;margin:0;padding:15px 26px;border:1px solid #cbb9ae;border-radius:8px;background:#faf6ee;box-shadow:0 8px 26px rgba(54,47,38,.09);color:#6f5049;font:400 15px/1.6 var(--heart-serif);letter-spacing:.04em;animation:ssa-notice-in .25s ease-out both,ssa-notice-out .5s ease 3.75s forwards}
.ssa-profile-invite.is-first-visit{float:none!important;width:100%!important;max-width:none!important;min-height:320px!important;margin:0 0 44px!important;padding:48px 28px!important}.ssa-profile-invite.is-first-visit p{font-size:15px;line-height:2}.ssa-profile-invite.is-first-visit .ssa-button{margin-top:8px}.ssa-profile-invite h2,.ssa-profile-form legend,.ssa-profile-form>label{font-weight:400!important}.ssa-profile-dialog h2{font-size:28px!important;font-weight:400!important}
.ssa-profile-photo-edit{justify-content:center;position:relative;margin:8px 0 18px}.ssa-profile-photo-edit>span{display:block}.ssa-profile-photo-edit>label{position:relative;display:grid!important;place-items:center;width:112px;height:112px;border-radius:50%;overflow:hidden;cursor:pointer;background:#eee9df;color:transparent;font-size:0!important}.ssa-profile-photo-edit>label::after{content:"写真を選択する";position:absolute;left:0;right:0;bottom:0;padding:8px 3px;background:rgba(250,246,238,.9);color:#6d5b43;font-size:12px;text-align:center}.ssa-profile-photo-edit input[type=file]{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap}.ssa-profile-photo-edit>span img{width:112px;height:112px;object-fit:cover}.ssa-profile-form label,.ssa-profile-form legend{font-size:15px!important;line-height:1.6;color:#46423b}.ssa-profile-form input,.ssa-profile-form select,.ssa-profile-form textarea{min-height:48px;font-size:15px!important;border-radius:7px}.ssa-gender-options{display:flex!important;flex-direction:row!important;align-items:center;gap:34px!important}.ssa-gender-options label{display:flex!important;grid-template-columns:none!important;align-items:center;gap:8px;font-weight:400!important}.ssa-gender-options input{width:18px!important;min-height:18px!important}.ssa-tag-input input::placeholder{color:#8d867d}.ssa-settings-dialog{padding:36px 34px!important}.ssa-settings-dialog h2{margin-bottom:30px}.ssa-settings-form{border:0!important;padding:16px 0!important}.ssa-settings-open{border:0!important;padding:14px 4px!important;font-size:16px!important}.ssa-account-info{border-top:1px solid var(--kline);border-bottom:1px solid var(--kline)!important;padding:18px 0!important}.ssa-delete-open{color:#76544c!important;font-weight:400!important}.ssa-private-booking h3{font-size:17px!important;font-weight:400!important;line-height:1.9}.ssa-repeat-check{font-size:17px}.ssa-repeat-wrap p{line-height:1.9}
@media(max-width:600px){.ssa-auth-message.is-error{top:12px;width:calc(100% - 28px);text-align:center}.ssa-profile-invite.is-first-visit{min-height:270px!important;padding:34px 20px!important}.ssa-profile-dialog{max-height:92svh!important}.ssa-profile-dialog h2{font-size:25px!important}.ssa-profile-photo-edit{flex-direction:column}.ssa-birth-selects{grid-template-columns:1.35fr 1fr 1fr!important}.ssa-gender-options{gap:22px!important}.ssa-settings-dialog{padding:28px 20px!important}}

/* Phase 13.4: quiet, form-free answer and Karte controls. */
.ssa-balance-choice__option{background:#fffdf8;border-color:#d8d1c5}
.ssa-check:has(.ssa-choices--words) .ssa-word-choice:nth-child(1),.ssa-check:has(.ssa-choices--words) .ssa-word-choice:nth-child(2),.ssa-check:has(.ssa-choices--words) .ssa-word-choice:nth-child(3){background:#fffdf8}
.ssa-check:has(.ssa-choices--words) .ssa-word-choice input{position:absolute;opacity:0;pointer-events:none}
.ssa-check:has(.ssa-choices--words) .ssa-word-choice span{font-size:17px}
.ssa-check:has(.ssa-choices--words) .ssa-word-choice:has(input:checked),.ssa-check:has(.ssa-choices--words) .ssa-word-choice.is-selected{background:#fffdf8;border-color:#887354;box-shadow:inset 0 0 0 1px #887354}
.ssa-balance-choice__option input{position:absolute;opacity:0;pointer-events:none}
.ssa-balance-choice__option:has(input:checked){background:#fffdf8;border-color:#9d8c70;box-shadow:inset 0 0 0 1px #9d8c70}
.ssa-balance-choice__option:has(input:checked) .ssa-balance-choice__mark{outline:2px solid #9d8c70;outline-offset:6px;border-radius:50%}
.ssa-balance-choice__copy{font-size:18px}
.ssa-profile-edit{border:0;padding:9px;font-size:0}
.ssa-profile-edit span{font-size:17px}
.ssa-profile-form__actions{justify-content:center}
.ssa-profile-form__actions .ssa-button{min-width:210px}
.ssa-settings{margin-top:56px}
.ssa-settings-open{border:1px solid var(--kline)!important;border-radius:8px;padding:14px 18px!important}
.ssa-settings-form{display:grid;gap:20px}
.ssa-settings-form>label:not(.ssa-switch){display:grid;gap:7px;font-size:14px}
.ssa-settings-form input[type=email]{width:100%;min-height:48px;border:1px solid var(--kline);border-radius:7px;background:#fff;padding:10px;font:inherit}
.ssa-settings-form>.ssa-button{justify-content:center;border:1px solid var(--kline);border-radius:7px;min-height:48px}
.ssa-delete-dialog>p{font-size:14px;line-height:2;text-align:center}
.ssa-delete-dialog form{text-align:center}
.ssa-delete-dialog form>.is-danger{margin-top:20px}
.ssa-flash-notice.is-secondary{top:76px}
@media(max-width:600px){.ssa-balance-choice__copy{font-size:14px}.ssa-check:has(.ssa-choices--words) .ssa-word-choice span{font-size:14px}.ssa-profile-card dl div{align-items:baseline}.ssa-settings-open{font-size:15px!important}.ssa-flash-notice.is-secondary{top:72px}}
.ssa-mail-preference{display:flex;flex-wrap:wrap;gap:16px 28px;border:0;margin:0;padding:0}.ssa-mail-preference legend{width:100%;margin-bottom:7px;font-weight:400}.ssa-mail-preference label{display:flex;align-items:center;gap:7px}.ssa-mail-preference input[type=radio]{width:17px;height:17px;accent-color:#8f846f}
body:has(.ssa-flash-notice) .ssa-auth-message{display:none!important}
@media(prefers-reduced-motion:reduce){.ssa-flash-notice{animation:none}}

/* Phase 13.4 photo crop and shared result/Karte heart renderer. */
.ssa-photo-crop{width:min(100%,360px);margin:22px auto 8px;padding:18px;border:1px solid var(--kline);border-radius:10px;background:#fffdf8}
.ssa-photo-crop[hidden]{display:none}
.ssa-photo-crop canvas{display:block;width:min(100%,280px);height:auto;aspect-ratio:1;margin:0 auto 18px;border-radius:50%;box-shadow:0 0 0 1px var(--kline);object-fit:cover}
.ssa-photo-crop label{display:grid!important;grid-template-columns:7em 1fr!important;align-items:center;gap:12px;margin:9px 0;font-size:13px!important}
.ssa-photo-crop input[type=range]{min-height:28px!important;width:100%;padding:0;border:0}
.ssa-photo-crop p{margin:12px 0 0;text-align:center;font-size:12px;color:#7b746a}
.ssa-karte-heart-host{display:block;margin:0 auto;width:100%;max-width:640px}
.ssa-karte-heart-host:not(.is-large){max-width:92px;margin:0}
.ssa-karte-heart-host svg{display:block;width:100%;height:auto;overflow:visible}
.ssa-karte-heart-host .ssa-observation-blob{opacity:.9}
.ssa-karte-heart-host .ssa-observation-blob{fill:url(#ssa-kh-gradient-0)!important;fill-opacity:.76;stroke:#c7c2b7;stroke-width:1.2}
.ssa-profile-invite.is-first-visit{display:grid!important;float:none!important;width:min(100%,720px)!important;max-width:720px!important;min-height:330px!important;margin:0 auto 56px!important;place-items:center;text-align:center}
.ssa-profile-invite.is-first-visit h2{font-size:clamp(24px,3vw,34px)!important;line-height:1.7;margin:22px 0 28px}
.ssa-profile-invite.is-first-visit>span{font-size:42px}
@media(max-width:600px){.ssa-photo-crop{padding:14px}.ssa-photo-crop label{grid-template-columns:1fr!important;gap:2px}.ssa-profile-invite.is-first-visit{min-height:300px!important;margin-bottom:36px!important}.ssa-profile-invite.is-first-visit h2{font-size:24px!important}}

/* Final Phase 13.4 cascade: the card stays paper-white; color belongs to its circle only. */
.ssa-check:has(.ssa-choices--words) .ssa-word-choice:nth-child(1),
.ssa-check:has(.ssa-choices--words) .ssa-word-choice:nth-child(2),
.ssa-check:has(.ssa-choices--words) .ssa-word-choice:nth-child(3),
.ssa-check:has(.ssa-choices--words) .ssa-word-choice:has(input:checked){background:#fffdf8}
.ssa-check:has(.ssa-choices--words) .ssa-word-choice input{position:absolute;width:1px;height:1px;opacity:0;clip-path:inset(50%);overflow:hidden}
.ssa-observation-result .ssa-result__title{font-family:"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP",serif;font-size:clamp(25px,3.3vw,38px);font-weight:400;line-height:1.7;white-space:pre-line}
.ssa-observation-details h2{font-family:"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP",serif;font-weight:400}
.ssa-observation-empty{margin:0;padding:18px 4px;color:#625e56;font-size:15px;line-height:1.9;white-space:pre-line}

/* Phase 22: stable, line-by-line question reveal. */
.ssa-check__app,.ssa-check__app.is-fading-out,.ssa-check__app.is-fading-in{transform:none}
.ssa-check:has(.ssa-choices--words) .ssa-question{animation:none;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:5.55em;overflow:visible}
.ssa-question__measure{display:block;width:100%;visibility:hidden;white-space:normal}
.ssa-question__line{display:block;max-width:100%;clip-path:inset(0 100% 0 0);opacity:.32;white-space:nowrap;animation:ssaQuestionLineReveal .38s cubic-bezier(.33,1,.68,1) calc(var(--ssa-line-index,0)*.3s) both}
@keyframes ssaQuestionLineReveal{to{clip-path:inset(0);opacity:1}}
.ssa-check.is-saving .ssa-progressbar{min-height:4px}.ssa-check.is-saving .ssa-progress{min-height:1px}.ssa-check.is-saving .ssa-question{min-height:5.55em}.ssa-check.is-saving .ssa-question-fieldset{min-height:110px}
@media(max-width:600px){.ssa-question__line{text-align:center}}
@media(prefers-reduced-motion:reduce){.ssa-question__line{clip-path:none;opacity:1;animation:none}}
.ssa-password-field{position:relative;display:block}.ssa-password-field input{padding-right:3.25rem!important}.ssa-password-toggle{position:absolute!important;z-index:2;right:.55rem!important;top:50%!important;width:2.25rem!important;min-width:0!important;height:2.25rem!important;min-height:0!important;margin:0!important;padding:.45rem!important;transform:translateY(-50%);border:0!important;border-radius:50%!important;background:transparent!important;color:#6f665b!important;box-shadow:none!important}.ssa-password-toggle svg{display:block;width:100%;height:100%;fill:currentColor}.ssa-password-toggle:hover{background:rgba(112,96,74,.08)!important}
@media(max-width:420px){
  .ssa-check:has(.ssa-choices--words) .ssa-word-choice span{
    font-size:12px;
    letter-spacing:-.02em;
    white-space:nowrap;
  }
}

/* Phase 24.5 — in-context authentication and calmer question navigation. */
.ssa-existing-karte{position:fixed;z-index:12;top:clamp(16px,3vw,30px);right:clamp(16px,3vw,36px);display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border:1px solid rgba(113,91,62,.35);border-radius:999px;background:rgba(250,247,240,.88);color:#54493c;font:400 13px/1.4 "Yu Mincho",YuMincho,"Hiragino Mincho ProN",serif;letter-spacing:.04em;text-decoration:none;backdrop-filter:blur(8px)}
.ssa-auth-modal{width:min(92vw,520px);max-height:90svh;padding:0;border:0;border-radius:16px;background:#faf7f0;color:#3f3932;box-shadow:0 24px 80px rgba(55,44,31,.2);font-family:"Yu Mincho",YuMincho,"Hiragino Mincho ProN",serif}.ssa-auth-modal::backdrop{background:rgba(42,37,31,.34);backdrop-filter:blur(3px)}.ssa-auth-modal>section{position:relative;padding:44px clamp(24px,7vw,54px)}.ssa-auth-modal__close{position:absolute;right:18px;top:14px;border:0;background:transparent;color:#685d50;font:300 28px/1 serif}.ssa-auth-modal__eyebrow{margin:0 0 14px;color:#a08058;font-size:12px;letter-spacing:.14em}.ssa-auth-modal h2{margin:0 0 30px;font-size:28px;font-weight:400;text-align:center;letter-spacing:.06em}.ssa-auth-modal .ssa-auth-form{display:grid;gap:18px}.ssa-auth-modal .ssa-auth-form label{display:grid;gap:7px;font-size:13px}.ssa-auth-modal .ssa-auth-form input{box-sizing:border-box;width:100%;min-height:52px;padding:12px 14px;border:1px solid rgba(143,119,86,.28);border-radius:7px;background:#fffdf9;font:inherit}.ssa-auth-modal .ssa-button{display:grid;place-items:center;min-height:52px;border-radius:999px;text-decoration:none}.ssa-auth-modal__or{display:block;margin:16px 0;text-align:center;color:#9b9083;font-size:12px}.ssa-auth-modal__text{display:block;margin:18px auto 0;border:0;background:transparent;color:#766957;font:inherit;text-decoration:underline;text-underline-offset:4px}.ssa-auth-modal [data-ssa-auth-lost]{margin-top:20px}.ssa-auth-modal .ssa-auth-message{margin:0 0 18px;color:#805a50;text-align:center}.ssa-auth-modal .ssa-auth-privacy{text-align:center;font-size:12px}.ssa-auth-modal .ssa-auth-privacy a{color:#81776a}.ssa-check:has(.ssa-choices--words) .ssa-back{bottom:6px}.ssa-check:has(.ssa-choices--words){padding-bottom:86px}.ssa-account-dialog+.ssa-auth-modal{font-family:"Yu Mincho",YuMincho,"Hiragino Mincho ProN",serif}
@media(max-width:600px){.ssa-existing-karte{position:absolute;top:12px;right:12px;padding:8px 13px;font-size:11px}.ssa-auth-modal>section{padding:38px 22px}.ssa-auth-modal h2{font-size:24px}.ssa-check:has(.ssa-choices--words){padding-bottom:94px}.ssa-check:has(.ssa-choices--words) .ssa-back{bottom:10px}}

/* Phase 13 visual-master alignment: v4 start, question and result flow. */
.shingo-minimal-shell[data-page=home] .shingo-home{display:grid;place-items:center;min-height:100svh;padding:clamp(24px,5vw,64px);box-sizing:border-box;background:#f4f0e7;color:#30312d;font-family:"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP",serif}
.shingo-minimal-shell[data-page=home] .shingo-home__card{box-sizing:border-box;width:min(94vw,760px);min-height:min(76svh,650px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(44px,7vw,82px) clamp(24px,7vw,76px);border:1px solid rgba(188,178,161,.48);border-radius:14px;background:rgba(255,253,248,.87);box-shadow:0 12px 34px rgba(72,62,49,.09);text-align:center}
.shingo-minimal-shell[data-page=home] .shingo-home__pebble{width:48px;height:54px;margin-bottom:36px;border-radius:58% 42% 55% 45%/62% 48% 52% 38%;background:linear-gradient(145deg,#eee5d8 0 58%,#d8c7b1 59% 100%);transform:rotate(12deg)}
.shingo-minimal-shell[data-page=home] .shingo-home h1{margin:0;font-size:clamp(25px,3.1vw,38px);font-weight:400;line-height:1.55;letter-spacing:.075em;color:#30312d}
.shingo-minimal-shell[data-page=home] .shingo-home__copy{margin-top:25px;font-size:15px;line-height:1.75;letter-spacing:.04em}
.shingo-minimal-shell[data-page=home] .shingo-home__copy p{margin:0}.shingo-minimal-shell[data-page=home] .shingo-home__copy p+p{margin-top:2px}
.shingo-minimal-shell[data-page=home] .shingo-home__start{display:grid;place-items:center;box-sizing:border-box;width:min(100%,480px);min-height:64px;margin-top:clamp(52px,8vh,82px);border:0;border-radius:999px;background:#4b4942;color:#fffdf8;font-size:20px;font-weight:400;letter-spacing:.08em;text-decoration:none;box-shadow:0 7px 18px rgba(49,45,38,.12);transition:transform .18s ease,background-color .18s ease}
.shingo-minimal-shell[data-page=home] .shingo-home__start:hover{background:#555249;transform:translateY(-1px)}
.ssa-check:has(.ssa-choices--words){box-sizing:border-box;max-width:760px;min-height:min(76svh,650px);margin:clamp(22px,5vh,56px) auto;padding:clamp(30px,5vw,58px) clamp(24px,5vw,48px) 64px;border:1px solid rgba(188,178,161,.5);border-radius:14px;background:rgba(255,253,248,.9);box-shadow:0 12px 34px rgba(72,62,49,.08);color:#30312d;font-family:"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP",serif}
.ssa-check:has(.ssa-choices--words) .ssa-question{min-height:4.8em;margin:clamp(66px,11vh,108px) auto clamp(38px,6vh,64px);font-size:clamp(20px,2.5vw,27px);font-weight:400;line-height:1.8;color:#30312d}
.ssa-check:has(.ssa-choices--words) .ssa-question,.ssa-check:has(.ssa-choices--words) .ssa-progress,.ssa-check:has(.ssa-choices--words) .ssa-word-choice,.ssa-check:has(.ssa-choices--words) .ssa-back{font-family:"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP",serif}
.ssa-check:has(.ssa-choices--words) .ssa-choices--words{margin-top:0;gap:18px}
.ssa-check:has(.ssa-choices--words) .ssa-word-choice{min-height:128px;border-color:rgba(171,162,148,.5);border-radius:12px}.ssa-check:has(.ssa-choices--words) .ssa-word-choice:nth-child(1){background:rgba(213,223,210,.28)}.ssa-check:has(.ssa-choices--words) .ssa-word-choice:nth-child(2){background:rgba(237,219,186,.28)}.ssa-check:has(.ssa-choices--words) .ssa-word-choice:nth-child(3){background:rgba(207,218,229,.3)}
.ssa-check:has(.ssa-choices--words) .ssa-word-choice:nth-child(1) span::before{background:#c9d7c5}.ssa-check:has(.ssa-choices--words) .ssa-word-choice:nth-child(2) span::before{background:#ead3a7}.ssa-check:has(.ssa-choices--words) .ssa-word-choice:nth-child(3) span::before{background:#c5d2df}
.ssa-check:has(.ssa-choices--words) .ssa-back{position:absolute;left:50%;bottom:20px;z-index:2;min-height:38px;padding:6px 20px;transform:translateX(-50%);border:1px solid rgba(124,101,68,.22);border-radius:999px;background:#fffaf1;color:#675f55;margin:0}.ssa-check:has(.ssa-choices--words) .ssa-choices{position:relative;z-index:1}
.ssa-observation-result{padding-bottom:112px}.ssa-observation-result .ssa-observation-cta{position:fixed;z-index:18;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(560px,calc(100% - 32px));min-height:60px;margin:0;border-radius:999px;box-shadow:0 10px 28px rgba(54,48,40,.17)}
.ssa-observation-result .ssa-observation-group{background:rgba(255,253,248,.74)}
.ssa-observation-block>h2{margin:0 0 12px 8px;font-size:20px;font-weight:400;letter-spacing:.045em}.ssa-observation-block .ssa-observation-group{padding:10px 24px;border-radius:12px}.ssa-observation-block+.ssa-observation-block{margin-top:26px}
@media(max-width:600px){.shingo-minimal-shell[data-page=home] .shingo-home{padding:20px}.shingo-minimal-shell[data-page=home] .shingo-home__card{width:100%;min-height:0;padding:54px 22px 44px}.shingo-minimal-shell[data-page=home] .shingo-home__pebble{margin-bottom:28px}.shingo-minimal-shell[data-page=home] .shingo-home h1{font-size:25px;white-space:nowrap}.shingo-minimal-shell[data-page=home] .shingo-home__copy{font-size:13px}.shingo-minimal-shell[data-page=home] .shingo-home__start{min-height:58px;margin-top:52px;font-size:18px}.ssa-check:has(.ssa-choices--words){min-height:0;margin:20px 12px;padding:28px 16px 76px}.ssa-check:has(.ssa-choices--words) .ssa-question{min-height:5.2em;margin:70px auto 32px;font-size:18px}.ssa-check:has(.ssa-choices--words) .ssa-choices--words{gap:8px}.ssa-check:has(.ssa-choices--words) .ssa-word-choice{min-height:108px}.ssa-check:has(.ssa-choices--words) .ssa-back{left:50%;bottom:15px}.ssa-observation-result{padding-bottom:104px}}
@media(prefers-reduced-motion:reduce){.shingo-minimal-shell[data-page=home] .shingo-home__start{transition:none}.shingo-minimal-shell[data-page=home] .shingo-home__start:hover{transform:none}}

/* Phase 18.2 authentication and notice stability. */
.ssa-auth-card{font-family:"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP",serif}
.ssa-auth-card__eyebrow{display:none}
.ssa-auth-card h1{font-weight:400;letter-spacing:.07em}
.ssa-auth-form.is-submitting{opacity:.72;pointer-events:none}
.ssa-auth-form input[aria-invalid="true"]{border-color:#9d6f62;box-shadow:0 0 0 2px rgba(157,111,98,.12)}
.ssa-flash-notice>span[aria-hidden="true"]{display:none}
.ssa-page-ready body{animation:ssa-page-in .28s ease both}
@keyframes ssa-page-in{from{opacity:.01}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.ssa-page-ready body{animation:none}}

/* Phase 24.10 — authentication entry visibility and stable question navigation. */
.ssa-check.is-active>.ssa-existing-karte{display:none}
.ssa-check:has(.ssa-choices--words){padding-bottom:102px}
.ssa-check:has(.ssa-choices--words) .ssa-back{bottom:22px}
@media(max-width:768px){.ssa-check:has(.ssa-choices--words){padding-bottom:94px}.ssa-check:has(.ssa-choices--words) .ssa-back{bottom:18px}}
@media(max-width:600px){.ssa-check:has(.ssa-choices--words){padding-bottom:86px}.ssa-check:has(.ssa-choices--words) .ssa-back{bottom:14px}}

/* Phase 13.4 final visual acceptance overrides. */
.ssa-check:has(.ssa-choices--words) .ssa-word-choice:nth-child(1),
.ssa-check:has(.ssa-choices--words) .ssa-word-choice:nth-child(2),
.ssa-check:has(.ssa-choices--words) .ssa-word-choice:nth-child(3),
.ssa-check:has(.ssa-choices--words) .ssa-word-choice:has(input:checked){background:#fffdf8}
.ssa-check:has(.ssa-choices--words) .ssa-word-choice input{position:absolute;width:1px;height:1px;opacity:0;clip-path:inset(50%);overflow:hidden}
.ssa-observation-result .ssa-result__title{font-family:"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP",serif;font-size:clamp(25px,3.3vw,38px);font-weight:400;line-height:1.7;white-space:pre-line}
.ssa-observation-details h2{font-family:"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP",serif;font-weight:400}
.ssa-observation-empty{margin:0;padding:18px 4px;color:#625e56;font-size:15px;line-height:1.9;white-space:pre-line}
.ssa-account-confirm{width:min(430px,calc(100vw - 40px));padding:32px;border:1px solid rgba(157,126,82,.3);border-radius:12px;background:#fcfaf5;color:#3f382f;font-family:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro",serif;box-shadow:0 18px 55px rgba(63,56,47,.2)}

/* 0.24.43: the email registration view starts directly with the form. */
.ssa-auth-modal[data-ssa-register-modal]>section{padding-top:34px}
.ssa-auth-modal__intro{margin:-14px 0 24px;color:#746b60;font-size:14px;line-height:1.85;text-align:center}
.ssa-account-confirm::backdrop{background:rgba(47,43,38,.28)}
.ssa-account-confirm p{margin:0 0 28px;text-align:center;line-height:1.9}
.ssa-account-confirm div{display:flex;justify-content:center;gap:12px}
.ssa-account-confirm button{min-width:120px;padding:12px 18px;border:1px solid rgba(157,126,82,.38);border-radius:999px;background:transparent;color:inherit;font:inherit}
.ssa-account-confirm button[value="confirm"]{background:#806548;color:#fffaf1}

/* 0.24.38: shared quiet typography and undecorated client Karte headings. */
.ssa-account-choice,
.ssa-account-choice h2,
.ssa-auth-modal h2{
	font-family:"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP",serif;
}
.ssa-auth-modal h2::before,.ssa-auth-modal h2::after,.ssa-auth-modal__or::before,.ssa-auth-modal__or::after{content:none!important;display:none!important}
.shingo-heart-my .ssa-karte-section > h2::before,
.shingo-heart-my .ssa-karte-section > h2::after,
.shingo-heart-my .ssa-karte-section > header h2::before,
.shingo-heart-my .ssa-karte-section > header h2::after{
	content:none;
	display:none;
}
.shingo-heart-my .ssa-waiting-status .ssa-audio-status-card__copy h2::before,
.shingo-heart-my .ssa-waiting-status .ssa-audio-status-card__copy h2::after{
	content:none;
	display:none;
}
@media(max-width:600px){.ssa-auth-modal[data-ssa-register-modal]>section{padding-top:30px}}
