:root {
  --bg:#f5efe7;--paper:#fffdfa;--ink:#2e2119;--muted:#76675d;--line:#e6d9ca;
  --brand:#6b351b;--brand-dark:#3f2115;--brand-soft:#efe1d1;--gold:#b78543;
  --answer:#8f4d38;--shadow:0 12px 34px rgba(55,34,22,.08);--radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;color:var(--ink);background:radial-gradient(circle at 50% 0,rgba(255,255,255,.9),rgba(255,255,255,0) 520px),var(--bg);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic","YuGothic","Noto Sans JP",sans-serif;line-height:1.75;-webkit-font-smoothing:antialiased}
button,a{font:inherit}button{color:inherit;cursor:pointer}[hidden]{display:none!important}
.page-shell{width:min(calc(100% - 24px),680px);min-width:0;min-height:100vh;margin:auto;padding:10px 0 calc(130px + env(safe-area-inset-bottom))}
.hero{overflow:hidden;border-radius:24px;background:#2a160e;box-shadow:var(--shadow)}
.hero-button{display:block;width:100%;padding:0;border:0;background:transparent}.hero-button img{display:block;width:100%;height:auto}
.hero-button:focus-visible{outline:3px solid #d7a85f;outline-offset:4px}
.intro{margin-top:19px}.intro-row{display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;align-items:start}
.portrait{display:block;overflow:visible;flex-shrink:0;background:transparent;border:0;box-shadow:none}.portrait img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 5px 10px rgba(62,37,22,.12))}
.intro-avatar{width:54px;height:54px;border-radius:16px}.intro-bubble{border:1px solid var(--line);border-radius:19px;padding:15px 18px;background:rgba(255,253,250,.96)}
.intro-bubble p{margin:0;font-size:15px;line-height:1.85}.intro-bubble p+p{margin-top:6px}.intro-bubble strong{color:var(--brand-dark)}
.intro-start{margin:18px 0 0 66px}.primary{width:100%;min-height:58px;border:0;border-radius:14px;padding:13px 17px;color:#fff;font-weight:800;background:linear-gradient(135deg,#8c4a31,#5b2b18);box-shadow:0 10px 22px rgba(74,39,23,.16)}
.primary:hover{filter:brightness(1.035)}
.panel{margin-top:18px;border:1px solid #fff;border-radius:25px;background:rgba(255,253,250,.95);box-shadow:0 18px 46px rgba(55,34,22,.07)}
.content{padding:24px 18px}.timeline{display:grid;grid-template-columns:minmax(0,1fr);gap:13px;width:100%;min-width:0}.timeline>*{min-width:0;max-width:100%}
.turn{margin:0;animation:enter .28s ease both}@keyframes enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.selected-answer{justify-self:end;margin-left:auto;width:fit-content;max-width:88%;padding:13px 15px;border-radius:18px 18px 5px 18px;background:var(--answer);color:#fff;box-shadow:0 7px 17px rgba(93,48,31,.14);font-weight:700;font-size:15px;line-height:1.7;overflow-wrap:anywhere;scroll-margin-top:18px}
.kana-row{display:grid;grid-template-columns:50px minmax(0,1fr);gap:10px;align-items:start}.kana-avatar{width:50px;height:50px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 3px 7px rgba(60,38,25,.14))}
.bubble{margin:0;width:100%;padding:15px 16px;border:1px solid var(--line);border-radius:18px 18px 18px 5px;background:#f8f2ea;box-shadow:0 6px 18px rgba(55,34,22,.04);font-size:15px;line-height:1.9;overflow-wrap:anywhere}.bubble p{margin:0}.bubble p+p{margin-top:9px}.bubble strong{color:var(--brand-dark)}
.visual-card{margin:0 0 0 60px;border-radius:18px;overflow:hidden;background:#24130e;box-shadow:0 8px 24px rgba(55,34,22,.09)}.visual-card img{display:block;width:100%;height:auto}.visual-caption{margin:7px 4px 0 60px;color:var(--muted);font-size:11px}
.question{margin:0 0 0 60px;padding:15px;border:1px solid var(--line);border-radius:18px;background:#fff}.question-title{margin:0 0 10px;font-size:15px;font-weight:800;line-height:1.55}.choices{display:grid;gap:9px}.choice{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;min-height:49px;padding:12px 14px;text-align:left;border:1px solid #dcc7b0;border-radius:14px;background:#fff;cursor:pointer;transition:background .15s ease,transform .15s ease,border-color .15s ease}.choice:hover{background:#fbf4eb;border-color:#c8a47a;transform:translateY(-1px)}.choice:focus-visible{outline:3px solid rgba(183,133,67,.35);outline-offset:2px}.choice-number{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#f6eee5;color:var(--answer);font-weight:800;font-size:15px;line-height:1}.choice-copy{min-width:0;overflow-wrap:anywhere}.choice::after{content:"›";color:var(--gold);font-size:22px;line-height:1}.question.is-answered{display:none}
.summary-card{margin:0 0 0 60px;padding:15px;border-radius:18px;background:#f6efe6;border:1px solid #e3d5c5}.summary-card h3{margin:0 0 8px;font-size:13px}.summary-list{margin:0;padding:0;list-style:none;display:grid;gap:5px}.summary-list li{font-size:13px;color:#5b4c42}.summary-list li::before{content:"✓";color:var(--gold);margin-right:7px;font-weight:800}
.result-actions{display:grid;gap:9px;margin:0 0 0 60px}.secondary-button,.text-button,.utility button{border:0;cursor:pointer}.secondary-button{min-height:48px;padding:11px 14px;border:1px solid #d8c2aa;border-radius:14px;background:#fff;font-weight:700}.secondary-button:hover{background:#fbf4eb}
.closing{margin:38px auto 0}.closing-card{padding:clamp(20px,5vw,34px);border:1px solid var(--line);border-radius:26px;background:#fffdfa;box-shadow:var(--shadow)}.eyebrow{margin:0 0 3px;color:var(--gold);font-size:12px;font-weight:800;letter-spacing:.1em}.closing h2{margin:0 0 8px;font-size:clamp(23px,5vw,32px);line-height:1.35}#closingLead{margin:0 0 22px;color:var(--muted)}.closing-grid{display:grid;gap:12px}.closing-grid article{padding:15px;border-radius:16px;background:#f8f2ea}.closing-grid h3{margin:0 0 5px;font-size:15px}.closing-grid p{margin:0;font-size:13px}.closing-grid p+p{margin-top:4px}.cta-box{margin-top:22px;padding-top:20px;border-top:1px solid var(--line);text-align:center}.cta-copy{margin:0 0 12px;font-weight:700}.primary-link{display:block;width:100%;min-height:54px;padding:13px 18px;border-radius:15px;color:#fff;background:linear-gradient(135deg,#6b351b,#3f2115);text-decoration:none;font-weight:800;box-shadow:0 8px 20px rgba(74,39,23,.18)}.text-button{margin-top:12px;padding:7px 10px;background:transparent;color:var(--muted);text-decoration:underline}
.utility{position:fixed;right:max(10px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));z-index:20;display:grid;gap:7px}.utility button{padding:9px 11px;border:1px solid rgba(72,47,32,.14);border-radius:12px;background:rgba(255,253,250,.94);color:#5d4a3d;font-size:11px;box-shadow:0 5px 16px rgba(55,34,22,.09);backdrop-filter:blur(8px)}
.end-note{margin:0 0 0 60px;padding:14px 15px;border-radius:16px;background:#f8f3ed;color:var(--muted);font-size:13px}
button:focus-visible,a:focus-visible{outline:3px solid #c89659;outline-offset:3px}[tabindex="-1"]:focus{outline:none}
@media(max-width:520px){.page-shell{width:calc(100% - 18px);padding-top:8px}.hero{border-radius:20px}.intro{margin-top:16px}.intro-row{grid-template-columns:48px minmax(0,1fr);gap:10px}.intro-avatar{width:48px;height:48px;border-radius:14px}.intro-bubble{padding:14px 15px}.intro-bubble p{font-size:14px}.intro-start{margin:16px 0 0 58px}.primary{font-size:14px}.content{padding:20px 13px}.kana-row{grid-template-columns:46px minmax(0,1fr);gap:8px}.kana-avatar{width:46px;height:46px}.visual-card,.visual-caption,.question,.summary-card,.result-actions,.end-note{margin-left:54px}.bubble{padding:14px;font-size:14px}.choice{padding:11px 12px;font-size:14px}.selected-answer{font-size:14px}.utility{right:7px;bottom:8px}}
@media(max-width:390px){.intro-start{margin-left:0}.visual-card,.visual-caption,.question,.summary-card,.result-actions,.end-note{margin-left:0}.selected-answer{max-width:92%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.turn{animation:none}}
