:root{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN",sans-serif;color:#25352f;background:#fbfaf5;line-height:1.65}*{box-sizing:border-box}body{margin:0}button,textarea{font:inherit}button{cursor:pointer;min-height:44px}button:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b68b1c;outline-offset:3px}.shell{max-width:1440px;margin:auto;padding:0 5vw 70px}.top{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid #cdd7d0;font-size:.85rem}.brand{font-family:Georgia,serif;font-size:1.3rem;font-weight:bold;color:#2d6358}.reception{display:grid;grid-template-columns:minmax(260px, .8fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);padding-top:clamp(28px,5vw,70px)}.person{align-self:start;position:sticky;top:20px}.person img{display:block;width:100%;height:auto;object-fit:contain}.person h1{font-family:"Hiragino Mincho ProN",serif;font-weight:600;font-size:clamp(1.5rem,2.5vw,2.3rem);margin:.3em 0}.eyebrow{color:#2d6358;font-size:.85rem;margin:1rem 0 0}.person p{margin:.5em 0}#status{color:#2d6358;font-weight:700}.workspace{background:#fff;border:1px solid #dce3dc;padding:clamp(20px,3vw,40px);min-width:0}.bar{display:flex;justify-content:space-between;align-items:center;gap:1rem}.bar h2,.memo h2{font-size:1.2rem;margin:0}.notice{background:#f8f2d8;border-left:3px solid #d5af3b;padding:10px 14px;font-size:.9rem}.conversation{min-height:100px;max-height:320px;overflow:auto;padding:12px 0}.message,.greeting{padding:12px 15px;margin:8px 0;max-width:90%;background:#f1f5f1}.message.user{margin-left:auto;background:#e9f1ee}.message strong{display:block;font-size:.75rem;color:#46685e}.cards article{border-left:3px solid #2d6358;background:#f5f8f5;padding:14px;margin:10px 0}.cards h3,.cards p{margin:0 0 .4em}.cards a{color:#2d6358}.actions,.choices{display:flex;flex-wrap:wrap;gap:8px}.primary,.secondary,.choices button{border:1px solid #2d6358;padding:10px 16px;border-radius:3px}.primary{background:#2d6358;color:white}.secondary,.choices button{background:white;color:#24564c}.text-button{border:0;background:transparent;text-decoration:underline;color:#24564c;padding:8px}.hint{font-size:.86rem;color:#4b5a53}label{display:block;font-weight:600;margin-top:14px}textarea{display:block;width:100%;resize:vertical;border:1px solid #8da59a;border-radius:3px;padding:10px;background:#fff;color:#25352f}fieldset{border:0;padding:0;margin:24px 0}legend{font-weight:700;margin-bottom:10px}details{margin-top:14px}summary{cursor:pointer;min-height:44px}.memo{border-top:1px solid #cdd7d0;margin-top:28px;padding-top:24px}.memo p{font-size:.9rem}.memo button{margin-top:18px}@media(max-width:700px){.shell{padding:0 16px 48px}.top{min-height:56px}.reception{display:block;padding-top:16px}.person{position:static;display:grid;grid-template-columns:112px minmax(0,1fr);gap:15px;align-items:center;margin-bottom:16px}.person img{height:auto;object-fit:contain}.person h1{font-size:1.25rem}.person p{font-size:.85rem}.eyebrow{margin:0}.workspace{padding:18px}.choices button{width:100%;text-align:left}.conversation{max-height:250px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.message,.cards p{text-wrap:pretty}
.message{max-width:100%}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* A portrait column with a wider conversation desk, rather than equal halves. */
.reception{grid-template-columns:minmax(220px,320px) minmax(0,1fr);gap:clamp(24px,4vw,64px)}
.avatar-stage{position:relative;width:100%;aspect-ratio:1;background:#e9e5dd;overflow:hidden;border-radius:48% 48% 12px 12px}
.avatar-stage img,.avatar-stage canvas{display:block;width:100%;height:100%;object-fit:cover}
.avatar-stage canvas{position:absolute;inset:0;opacity:0}
.avatar-stage[data-ready=true] canvas{opacity:1}
.avatar-stage[data-ready=true] img{visibility:hidden}
@media(max-width:700px){
 .person{grid-template-columns:132px minmax(0,1fr);gap:16px}
 .person .avatar-stage img{height:100%}
 .person h1{font-size:1.2rem}
 .person p{font-size:.8rem}
 .person .eyebrow:first-child{display:none}
 .person #status{grid-column:1/-1}
 .workspace{padding:16px}
 .conversation{max-height:28svh}
}
/* B2: one central stage, with the conversation over the lower torso. */
.shell{max-width:1200px;padding:0 32px 48px}.top{height:64px;min-height:64px;border:0}.brand{width:148px;height:auto;object-fit:contain}.reception{display:block;position:relative;padding:0}.person{position:absolute;inset:0 0 auto;display:block;height:760px;margin:0;background:#e9e5dd}.avatar-stage{width:506px;height:760px;aspect-ratio:auto;margin:auto;border-radius:0;overflow:hidden}.avatar-stage img{object-fit:contain}.introduction{position:absolute;top:24px;left:28px;max-width:260px}.introduction h1{font-size:26px}.introduction p{font-size:14px}.introduction .eyebrow{font-size:12px;letter-spacing:.12em}.workspace{position:relative;margin:auto;padding:410px 0 0;border:0;background:none;max-width:680px}.desk{position:relative;background:rgba(251,250,245,.96);border:1px solid #c7cec5;padding:20px 24px;box-shadow:0 12px 40px #25352f14}.welcome{font-family:"Hiragino Mincho ProN",serif;font-size:23px;margin:0 0 6px}.entry-choices{display:flex;gap:8px;margin:16px 0}.entry-choices button{flex:1;background:transparent;border:1px solid #9bac9e;color:#24564c;border-radius:3px}.desk #open{width:100%}.desk .hint{margin:8px 0 0;font-size:12px}.desk .bar h2{font-size:14px}.desk .bar{height:30px}.desk #status{font-size:12px;margin:4px 0}.desk .notice{background:none;border:0;padding:0;font-size:12px;margin:4px 0}.conversation{min-height:54px;height:90px;max-height:90px;padding:0;overscroll-behavior:contain}.message,.greeting{background:transparent;margin:0;padding:8px 0;font-size:16px}.message.user{background:#e9f1ee;padding:8px}.desk fieldset{margin:10px 0}.desk legend{font-size:12px;margin:0 0 4px}.desk .choices{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.desk .choices button{font-size:13px;padding:6px;text-align:center;width:auto}.desk label{font-size:12px;margin:8px 0 3px}.desk textarea{height:48px;min-height:48px;padding:10px;font-size:16px}.continuation{background:#fbfaf5;margin:32px 0 0;padding:24px 0}.continuation>h2{font-family:"Hiragino Mincho ProN",serif;font-size:22px}.continuation .notice{display:block}#entry .hint:last-child{margin-bottom:0}
@media(max-width:700px){.shell{padding:0 12px 32px}.top{height:48px;min-height:48px;font-size:11px}.brand{width:116px}.person{height:620px}.avatar-stage{width:100%;height:620px}.introduction{top:12px;left:14px;max-width:none}.introduction h1{font-size:19px;margin:2px 0}.introduction .eyebrow,.introduction>p:last-child{display:none}.workspace{padding-top:310px}.desk{padding:12px}.welcome{font-size:18px}.entry-choices{gap:5px;margin:12px 0}.entry-choices button{font-size:13px;padding:4px}.desk .bar{height:26px}.desk .notice{font-size:11px}.desk #status{margin:0;font-size:12px}.conversation{height:62px;min-height:62px;max-height:62px}.message,.greeting{font-size:14px;padding:5px 0}.desk .hint{font-size:11px;line-height:1.5}.desk fieldset{margin:6px 0}.desk .choices button{font-size:12px}.desk label{margin-top:4px}.desk textarea{height:44px;min-height:44px;padding:8px}.continuation{margin-top:28px}.person .avatar-stage img{height:100%}}
@media(min-width:701px){.desk .choices button{min-height:44px}}
/* First drawing correction: keep the title clear of hair and cover the T-pose shoulders. */
.workspace{padding-top:350px}.introduction{max-width:310px}.introduction h1{font-size:24px}.avatar-stage img{object-fit:cover}
@media(max-width:700px){.workspace{padding-top:282px}.introduction{top:0}.introduction h1{font-size:16px}.desk .notice{display:none}.desk .conversation{height:58px;min-height:58px;max-height:58px}}
/* Keep the portrait's full frame behind the desk without stretching its poster. */
.avatar-stage{isolation:isolate}

/* Independent review: an opaque counter masks the unchanged T-pose. */
.workspace{padding-top:330px}
.desk{background:#fbfaf5}
.mobile-greeting{display:none}
@media(max-width:700px){
 .workspace{padding-top:270px}
 .introduction{display:none}
 .mobile-greeting{display:block;font-family:"Hiragino Mincho ProN",serif;font-size:18px;margin:0 0 8px}
}
.handoff-review{min-width:0;margin-top:16px}.handoff-review textarea{min-height:180px}.handoff-review button{margin:4px 8px 4px 0}

[hidden]{display:none!important}
.cards a{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid #2d6358;border-radius:3px;text-decoration:none}

/* The answer's next action belongs beside the answer, before another topic. */
.guide-actions .cards article{border:0;background:none;padding:0;margin:0}
.guide-actions .cards:empty{display:none}
.guide-actions #product-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.guide-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.guide-actions #product-choices{flex-basis:100%}
.guide-actions:has(.cards:empty):has(#product-choices[hidden]):has(#save-memo[hidden]){display:none}
.reception-direct{display:flex;flex-wrap:wrap;gap:8px 20px;margin:12px 0;font-size:13px}
.reception-direct a{display:inline-flex;align-items:center;min-height:44px;color:#2d6358;text-decoration:underline;text-underline-offset:4px}
.reception-direct a:hover{color:#245248}
.reception-direct a:focus-visible{outline:2px solid #2d6358;outline-offset:3px}

/* One primary action carries the memo; copying and cancelling stay secondary. */
.memo .handoff-start{display:block;width:100%;margin-top:20px}
.memo .primary{min-height:48px;font-weight:600}
.memo .primary:hover{background:#245248;border-color:#245248}
.memo .text-button{text-underline-offset:4px}
.handoff-review .primary{display:block;width:100%;margin:20px 0 8px}
.handoff-review .text-button{margin:0}
