.sayaka-quiz, .sayaka-quiz * { box-sizing: border-box; }
.sayaka-quiz { --sage:#477469; --deep:#284e47; --mint:#dbece5; --cream:#fbf8ef; --pink:#f6e9e3; max-width:720px; margin:2rem auto; padding:clamp(24px,5vw,48px); border:1px solid #d1e3d8; border-radius:26px; background:radial-gradient(circle at 4% 4%,#e9f4ed 0,transparent 24%),radial-gradient(circle at 96% 94%,#f6e9e3 0,transparent 25%),var(--cream); color:var(--deep); font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif; line-height:1.75; box-shadow:0 12px 38px rgba(41,78,68,.07); }
.sayaka-quiz__decor { color:#b59767; text-align:center; letter-spacing:.9em; font-size:18px; }
.sayaka-quiz__eyebrow { margin:.7rem 0 .2rem; text-align:center; font-size:.82rem; letter-spacing:.13em; color:var(--sage); }
.sayaka-quiz__title { margin:.3rem 0 .7rem; text-align:center; font-size:clamp(1.65rem,5vw,2.4rem); font-weight:700; line-height:1.35; letter-spacing:.045em; color:var(--deep); }
.sayaka-quiz__lead { margin:0 auto 1.8rem; max-width:37rem; text-align:center; font-size:.98rem; }
.sayaka-quiz__card { background:rgba(255,255,255,.82); border:1px solid #dce9df; border-radius:20px; padding:clamp(20px,4vw,34px); box-shadow:0 5px 16px rgba(41,78,68,.035); }
.sayaka-quiz__intro { text-align:center; }
.sayaka-quiz__intro p { margin:0 0 1.3rem; }
.sayaka-quiz__progress { margin:0; font-size:.78rem; font-weight:700; letter-spacing:.12em; color:var(--sage); }
.sayaka-quiz__bar { height:7px; margin:.65rem 0 1.4rem; background:#e5eee8; border-radius:100px; overflow:hidden; }
.sayaka-quiz__bar-fill { display:block; height:100%; background:linear-gradient(90deg,#91bdab,#567f70); border-radius:100px; transition:width .25s ease; }
.sayaka-quiz__question { margin:0 0 1.15rem; font-size:clamp(1.15rem,3vw,1.4rem); color:var(--deep); line-height:1.5; }
.sayaka-quiz__choices { display:grid; gap:.75rem; }
.sayaka-quiz button { font:inherit; cursor:pointer; }
.sayaka-quiz__choice { width:100%; min-height:55px; padding:.8rem 1rem; text-align:left; border:1.5px solid #c9ded2; border-radius:12px; background:#fff; color:var(--deep); transition:background .15s,border-color .15s,transform .15s; }
.sayaka-quiz__choice:hover { border-color:#83ab98; background:#f4faf5; }
.sayaka-quiz__choice.is-selected { background:var(--mint); border-color:var(--sage); font-weight:700; }
.sayaka-quiz__choice.is-selected::before { content:"✓ "; color:var(--sage); }
.sayaka-quiz__controls { margin-top:1.4rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.sayaka-quiz__primary { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:.65rem 1.55rem; border:0; border-radius:100px; background:var(--sage); color:white!important; font-weight:700!important; text-decoration:none!important; box-shadow:0 4px 10px rgba(40,78,71,.15); }
.sayaka-quiz__primary:hover:not(:disabled) { background:var(--deep); color:white; }
.sayaka-quiz__primary:disabled { opacity:.45; cursor:not-allowed; }
.sayaka-quiz__back, .sayaka-quiz__retry { border:0; background:transparent; color:var(--sage); text-decoration:underline; text-underline-offset:3px; }
.sayaka-quiz :focus-visible { outline:3px solid #b59863; outline-offset:3px; }
.sayaka-quiz__result { text-align:center; }
.sayaka-quiz__result-icon { display:block; font-size:2rem; }
.sayaka-quiz__result-title { margin:.4rem 0 .2rem; font-size:clamp(1.2rem,3vw,1.55rem); line-height:1.45; color:var(--deep); }
.sayaka-quiz__result-label { display:inline-block; margin:.4rem 0 .8rem; padding:.12rem 1.05rem; border-radius:30px; background:var(--mint); color:var(--deep); font-weight:700; }
.sayaka-quiz__result-copy { text-align:left; margin:.8rem 0; }
.sayaka-quiz__contact { margin:1.25rem 0; padding:.9rem 1rem; border-radius:10px; background:var(--pink); text-align:left; }
.sayaka-quiz__link { margin:1.2rem auto .5rem; }
.sayaka-quiz__retry { display:block; margin:1rem auto 0; }
.sayaka-quiz__footnote { max-width:37rem; margin:1.2rem auto 0; color:#63756d; font-size:.75rem; text-align:center; }
@media(max-width:480px) { .sayaka-quiz { margin:1rem 0; border-radius:16px; } .sayaka-quiz__controls { gap:.5rem; } .sayaka-quiz__primary { padding:.65rem 1.1rem; } }
