:root{--ink:#18251f;--green:#2f7a4b;--deep:#204832;--mint:#dff3e5;--cream:#fff9e8;--yellow:#ffd84d;--red:#d94c3d;--paper:#fffef9;--line:#d8e0d9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(145deg,#f4f8ef 0%,#fff8dc 100%);color:var(--ink);font-family:"BIZ UDPGothic","Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif}.story-shell{width:min(1160px,100%);min-height:100vh;margin:auto;background:var(--paper);box-shadow:0 0 60px rgba(31,72,50,.12)}button,a{font:inherit}.story-header{height:78px;display:flex;align-items:center;gap:12px;padding:0 4vw;border-bottom:1px solid var(--line);background:rgba(255,254,249,.96);position:sticky;top:0;z-index:20}.story-header>a img{width:44px;height:52px;object-fit:contain}.story-header>div{display:flex;flex-direction:column}.story-header strong{font-size:19px}.story-header small{margin-top:2px;color:#718078;font-size:9px}.privacy-badge{margin-left:auto;padding:9px 13px;border-radius:99px;background:var(--mint);color:var(--deep);font-size:10px;font-weight:700}.welcome{min-height:calc(100vh - 78px);display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden}.welcome-copy{padding:9vh 6vw 7vh;align-self:center}.eyebrow{color:var(--green);font-size:10px;font-weight:800;letter-spacing:.2em}.welcome h1{margin:20px 0 28px;font:700 clamp(39px,5.2vw,68px)/1.4 "Yu Mincho",serif;letter-spacing:.03em}.welcome h1 em{color:var(--green);font-style:normal;border-bottom:9px solid #ffe46b}.welcome-copy>p:not(.eyebrow){max-width:590px;color:#5c6861;font-size:13px;line-height:2}.primary-button{display:flex;align-items:center;justify-content:space-between;width:min(360px,100%);margin-top:34px;padding:19px 22px;border:0;border-radius:8px;background:var(--green);color:#fff;font-weight:800;cursor:pointer;box-shadow:0 8px 0 #1e5333;transition:transform .15s,box-shadow .15s}.primary-button:hover{transform:translateY(2px);box-shadow:0 6px 0 #1e5333}.primary-button span{font-size:20px}.text-link{display:inline-block;margin-top:28px;color:#56645b;font-size:11px;text-decoration:underline}.welcome-visual{position:relative;display:grid;place-items:end center;background:radial-gradient(circle at 50% 45%,#fff 0 25%,#dff3e5 26% 53%,#b7dfc4 54%);overflow:hidden}.welcome-visual:before{content:"";position:absolute;inset:8% 7%;border:2px dashed rgba(32,72,50,.25);border-radius:48%}.welcome-visual>img{position:relative;width:min(78%,420px);max-height:78vh;object-fit:contain;object-position:bottom}.speech{position:absolute;z-index:2;top:13%;right:7%;padding:17px 19px;border:3px solid var(--ink);border-radius:50%;background:#fff;font-weight:800;line-height:1.5;transform:rotate(5deg)}.chapter-preview{position:absolute;z-index:3;left:6%;right:6%;bottom:4%;display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:4px;padding:7px;border-radius:8px;background:rgba(24,37,31,.92);color:#fff}.chapter-preview>*{padding:9px 5px;text-align:center;font-size:10px}.chapter-preview span{background:rgba(255,255,255,.1);border-radius:4px}.diagnosis{min-height:calc(100vh - 78px);padding:34px 5vw 70px;background:#f8f7ee}.progress-area{max-width:940px;margin:0 auto 28px}.chapter-map{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:13px}.chapter-map span{padding:9px;border-radius:5px;background:#e2e5df;color:#788078;text-align:center;font-size:10px;font-weight:700}.chapter-map span.active{background:var(--deep);color:#fff}.chapter-map span.done{background:#a9d7b7;color:#183e28}.progress-track{height:8px;border-radius:99px;background:#dfe5df;overflow:hidden}.progress-track span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--green),#7aba5d);transition:width .25s}.progress-area>p{display:flex;justify-content:space-between;margin:8px 0 0;color:#66716b;font-size:10px}.question-layout{max-width:940px;margin:auto;display:grid;grid-template-columns:300px 1fr;gap:22px}.guide-panel,.question-panel{border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 12px 30px rgba(31,72,50,.08)}.guide-panel{padding:26px;display:flex;flex-direction:column}.chapter-number{margin:0;color:var(--green);font-size:10px;font-weight:800;letter-spacing:.16em}.guide-panel h2{margin:10px 0 4px;font:700 27px "Yu Mincho",serif}.guide-panel>img{width:100%;height:230px;object-fit:contain;margin-top:auto}.guide-comment{position:relative;margin-top:-4px;padding:14px;border:2px solid var(--deep);border-radius:9px;background:#fff}.guide-comment:before{content:"";position:absolute;top:-10px;left:35px;width:16px;height:16px;border-left:2px solid var(--deep);border-top:2px solid var(--deep);background:#fff;transform:rotate(45deg)}.guide-comment b{color:var(--green);font-size:10px}.guide-comment p{margin:6px 0 0;font-size:11px;line-height:1.7}.question-panel{min-height:610px;padding:38px;display:flex;flex-direction:column}.question-count{margin:0 0 15px;color:var(--green);font-size:11px;font-weight:800}.question-panel h3{margin:0;font:700 clamp(23px,3vw,34px)/1.6 "Yu Mincho",serif}.question-note{margin:13px 0 0;color:#66716b;font-size:11px;line-height:1.7}.answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:30px 0 0}.answer-card{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:12px;min-height:64px;padding:13px 16px;border:2px solid #d8dfd9;border-radius:9px;background:#fff;color:var(--ink);text-align:left;cursor:pointer;transition:.15s}.answer-card:hover{border-color:#85b596;background:#f5fcf7}.answer-card .answer-key{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#edf2ee;color:#617068;font-weight:800}.answer-card.selected{border-color:var(--green);background:var(--mint);box-shadow:0 0 0 3px rgba(47,122,75,.12)}.answer-card.selected .answer-key{background:var(--green);color:#fff}.answer-card span:last-child{font-size:12px;font-weight:700;line-height:1.6}.selection-message{min-height:22px;margin:16px 0 0;color:var(--green);font-size:11px;font-weight:700}.question-actions{display:flex;gap:12px;margin-top:auto;padding-top:24px}.question-actions button{padding:15px 18px;border-radius:7px;cursor:pointer;font-weight:700}.back-button{border:1px solid #bcc7bf;background:#fff;color:#59665e}.next-button{margin-left:auto;border:0;background:var(--deep);color:#fff}.next-button:disabled{background:#cad0cc;color:#8d9690;cursor:not-allowed}.result-screen{min-height:calc(100vh - 78px);padding:70px 7vw;background:#f8f7ee}.result-heading{text-align:center}.result-heading h2{margin:12px 0 36px;font:700 clamp(34px,4vw,52px) "Yu Mincho",serif}.result-card{display:grid;grid-template-columns:210px 1fr;gap:35px;align-items:center;max-width:850px;margin:auto;padding:28px;border:1px solid var(--line);border-radius:14px;background:#fff}.signal{text-align:center}.signal img{width:150px;height:100px;margin:auto;object-fit:contain}.signal span{display:block;margin-top:8px;font-size:24px;font-weight:800}.result-copy p{font-size:15px;line-height:2}.result-copy small{color:#77817a;font-size:10px;line-height:1.7}.risk-results{max-width:850px;margin:25px auto 0;display:grid;gap:10px}.risk-item{display:grid;grid-template-columns:42px 1fr;gap:13px;align-items:center;padding:17px;border-radius:9px;background:#fff;border:1px solid var(--line)}.risk-item b{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#ffefe8;color:#a74237}.risk-item span{font-size:12px;font-weight:700;line-height:1.7}.risk-clear{padding:23px;border-radius:9px;background:var(--mint);color:var(--deep);text-align:center;font-weight:700}.result-actions{max-width:850px;margin:30px auto 0;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.result-actions .primary-button{margin:0}.office-button,.retry-button{padding:17px 20px;border-radius:7px}.office-button{background:#fff;border:1px solid #9cad9f;color:var(--deep);font-size:12px;font-weight:700;text-decoration:none}.retry-button{border:0;background:transparent;color:#67736b;text-decoration:underline;cursor:pointer;font-size:11px}
@media(max-width:760px){.story-header{height:66px;padding:0 16px}.story-header>a img{width:35px;height:42px}.story-header strong{font-size:16px}.privacy-badge{font-size:8px;padding:7px 8px}.welcome{display:block;min-height:0}.welcome-copy{padding:60px 7vw 45px}.welcome h1{font-size:38px}.welcome-visual{min-height:470px}.speech{top:9%;right:5%;font-size:12px}.chapter-preview{grid-template-columns:repeat(4,1fr)}.chapter-preview b{grid-column:1/5}.diagnosis{padding:24px 16px 55px}.chapter-map span{font-size:8px;padding:8px 3px}.question-layout{grid-template-columns:1fr}.guide-panel{display:grid;grid-template-columns:1fr 100px;align-items:center;padding:17px}.guide-panel h2{font-size:22px}.guide-panel>img{grid-column:2;grid-row:1/3;width:100px;height:100px}.guide-comment{grid-column:1/3;margin-top:12px}.question-panel{min-height:560px;padding:25px 18px}.question-panel h3{font-size:23px}.answer-grid{grid-template-columns:1fr;gap:9px;margin-top:23px}.answer-card{min-height:58px}.question-actions{gap:8px}.question-actions button{padding:14px 12px;font-size:11px}.result-screen{padding:55px 16px}.result-card{grid-template-columns:1fr;gap:16px}.result-copy{text-align:center}.result-actions{display:grid}.result-actions>*{width:100%!important;text-align:center}.result-actions .primary-button{max-width:none}}
.header-actions{display:flex;align-items:center;gap:9px;margin-left:auto}.bgm-toggle{padding:8px 12px;border:1px solid #9bb9a4;border-radius:999px;background:#fff;color:var(--deep);font-size:10px;font-weight:800;cursor:pointer}.bgm-toggle[aria-pressed="true"]{border-color:var(--green);background:var(--mint)}.welcome-visual>img{width:100%;max-width:none;max-height:none;height:100%;object-fit:cover;object-position:58% center}.guide-panel>img{height:210px;margin:18px 0 0;border-radius:10px;object-fit:cover;object-position:62% center}.guide-comment{margin-top:14px}@media(max-width:760px){.header-actions{gap:5px}.privacy-badge{display:none}.bgm-toggle{padding:7px 9px;font-size:9px}.welcome-visual>img{height:470px;object-position:61% center}.guide-panel>img{width:100px;height:100px;margin:0;object-fit:cover}}
.signal img{width:190px;height:140px;border-radius:10px;object-fit:cover;box-shadow:0 8px 20px rgba(31,72,50,.13)}
.speech{top:25%;right:24%;transform:rotate(-2deg)}.speech:before{content:"";position:absolute;right:10px;bottom:-27px;border-style:solid;border-width:25px 0 0 30px;border-color:transparent transparent transparent var(--ink);transform:rotate(-5deg)}.speech:after{content:"";position:absolute;right:13px;bottom:-19px;border-style:solid;border-width:19px 0 0 23px;border-color:transparent transparent transparent #fff;transform:rotate(-5deg)}@media(max-width:760px){.speech{top:20%;right:27%;font-size:11px}}
.speech{right:43%}.speech:before{right:-132px;bottom:-52px;width:150px;height:48px;border:0;background:var(--ink);clip-path:polygon(0 0,100% 78%,4% 42%);transform:none}.speech:after{right:-123px;bottom:-47px;width:140px;height:37px;border:0;background:#fff;clip-path:polygon(0 0,100% 78%,4% 42%);transform:none}@media(max-width:760px){.speech{right:46%}}
.speech{left:5%;right:auto;top:24%}.speech:before{right:-225px;bottom:-52px;width:245px}.speech:after{right:-214px;bottom:-47px;width:233px}@media(max-width:760px){.speech{left:4%;right:auto;top:20%}}
.speech:before{right:-42px;bottom:-28px;width:18px;height:18px;border:3px solid var(--ink);border-radius:50%;background:#fff;clip-path:none;box-shadow:80px 24px 0 -2px #fff,80px 24px 0 1px var(--ink),165px 42px 0 -5px #fff,165px 42px 0 -2px var(--ink)}.speech:after{display:none}

/* Simple caption bubble: no pointed tail or thought-bubble dots. */
.speech{left:6%;right:auto;top:20%;padding:15px 18px;border-width:2px;border-radius:18px;box-shadow:0 8px 20px rgba(24,37,31,.12);transform:none}
.speech:before,.speech:after{display:none!important;content:none!important}
@media(max-width:760px){.speech{left:5%;right:auto;top:14%;font-size:11px}}
