:root{--ink:#40363b;--muted:#756a70;--rose:#a7546f;--rose-dark:#7e3c52;--blush:#fff5f7;--paper:#fffdfb;--line:#eadde1;--safe:#fff8e7;--shadow:0 16px 45px rgba(89,54,66,.10)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:linear-gradient(160deg,#fff9fa 0%,#f8f3ed 100%);color:var(--ink);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",system-ui,sans-serif;line-height:1.75;min-height:100vh}
.pr-bar{background:#402f36;color:#fff;text-align:center;font-size:.8rem;letter-spacing:.08em;padding:.35rem 1rem}
.site-header{max-width:760px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:1.1rem 1.25rem;color:var(--muted);font-size:.85rem}
.brand{color:var(--ink);font-family:serif;font-size:1.15rem;text-decoration:none;letter-spacing:.08em}
main{width:min(680px,calc(100% - 2rem));margin:1rem auto 4rem}
.card{background:rgba(255,253,251,.96);border:1px solid var(--line);border-radius:24px;padding:clamp(1.4rem,5vw,3rem);box-shadow:var(--shadow)}
.hero{text-align:center}
.eyebrow{color:var(--rose-dark);font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;margin:0 0 .6rem}
h1,h2,h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;line-height:1.45;margin:.25rem 0 1rem}
h1{font-size:clamp(1.9rem,7vw,3rem)}h2{font-size:clamp(1.45rem,5vw,2.05rem)}h3{font-size:1.25rem}
.lead{font-size:1.05rem;color:#594d53}
.feature-list{display:flex;justify-content:center;gap:.5rem;list-style:none;padding:0;margin:1.6rem 0;flex-wrap:wrap}
.feature-list li{background:var(--blush);border:1px solid #f0dce3;border-radius:999px;padding:.3rem .8rem;font-size:.8rem}
button,a.primary,a.secondary{font:inherit;cursor:pointer}
.primary,.secondary{display:block;width:100%;border:0;border-radius:14px;padding:.9rem 1.2rem;text-align:center;text-decoration:none;font-weight:700}
.primary{background:var(--rose);color:#fff;box-shadow:0 7px 20px rgba(167,84,111,.24)}
.primary:hover{background:var(--rose-dark)}
.secondary{background:#e8f6e9;color:#275c32;border:1px solid #b9dcbe}
.fine{font-size:.78rem;color:var(--muted);margin-top:1rem}
.fine-list{font-size:.82rem;color:var(--muted);padding-left:1.2rem}
.hidden{display:none!important}
.progress-row{display:flex;justify-content:space-between;font-size:.78rem;color:var(--muted)}
.progress{height:6px;background:#eee6e8;border-radius:9px;margin:.55rem 0 2rem;overflow:hidden}.progress span{display:block;height:100%;width:0;background:var(--rose);transition:width .25s}
.question-note{color:var(--muted);font-size:.9rem}
.choices{display:grid;gap:.75rem;margin-top:1.5rem}
.choice{background:#fff;border:1px solid #ddcbd1;border-radius:14px;text-align:left;padding:1rem 1.1rem;color:var(--ink)}
.choice:hover,.choice:focus{border-color:var(--rose);background:var(--blush)}
.text-button{border:0;background:transparent;color:var(--rose-dark);text-decoration:underline;margin:1rem auto 0;display:block;padding:.5rem}
.result-actions{background:var(--blush);border-radius:16px;padding:1rem 1.2rem;margin:1.5rem 0}.result-actions ol{padding-left:1.25rem;margin:.4rem 0}
.feedback-box,.comparison,.line-box{border-top:1px solid var(--line);margin-top:1.6rem;padding-top:1.5rem}
.inline-buttons{display:flex;gap:.7rem;flex-wrap:wrap}.inline-buttons button{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.55rem .9rem;color:var(--ink)}
.comparison>a{display:block;background:var(--rose);color:#fff;border-radius:14px;padding:.9rem 1.2rem;text-align:center;text-decoration:none;font-weight:700;box-shadow:0 7px 20px rgba(167,84,111,.24)}
.comparison>a:hover{background:var(--rose-dark)}
.safety{background:var(--safe);border-color:#ead7a7}
footer{width:min(760px,calc(100% - 2rem));margin:0 auto 3rem;color:var(--muted);font-size:.75rem;text-align:center}
footer nav{display:flex;justify-content:center;gap:.7rem 1rem;flex-wrap:wrap}footer a{color:var(--rose-dark)}
@media(max-width:520px){main{width:min(100% - 1rem,680px)}.card{border-radius:18px;padding:1.35rem}.site-header{padding:.85rem}.lead{font-size:.98rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.progress span{transition:none}}
