:root{color-scheme:light;--paper:#fffafa;--ink:#342831;--rose:#a44968;--accent:#b54e71}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:#f5ecef;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.8}
[hidden]{display:none!important}
.article{width:min(100%,780px);margin:0 auto;background:var(--paper);box-shadow:0 10px 70px #70405212}
.panel{display:block;width:100%;height:auto}
section{margin:0;padding:0}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:10;top:8px;left:8px;transform:translateY(-200%);padding:10px 20px;background:var(--rose);color:white}
.skip-link:focus{transform:none}
a,button,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible,pre:focus-visible{outline:3px solid #9f345b;outline-offset:5px}
.prompt-tools{padding:36px clamp(22px,6vw,54px) 42px;background:#fbedf2;border-top:1px solid #f0dce5;border-bottom:1px solid #f0dce5}
.eyebrow{margin:0 0 8px;font-size:clamp(12px,2vw,15px);font-weight:700;letter-spacing:.09em;color:var(--rose)}
h2{margin:0 0 12px;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:clamp(23px,4.6vw,34px);line-height:1.5;letter-spacing:-.035em}
.supporting{margin:0 0 22px;font-size:15px}
.copy-button{width:100%;min-height:56px;display:flex;align-items:center;justify-content:center;gap:18px;border:1px solid var(--rose);border-radius:14px;background:var(--rose);color:#fff;font:inherit;font-size:16px;font-weight:700;cursor:pointer}
.copy-button:hover{background:#8f3d59}
.copy-status{margin:8px 0 0;font-size:13px;min-height:24px;color:var(--rose)}
details{margin-top:14px;border-top:1px solid #e8c9d5;padding-top:16px}
summary{width:fit-content;font-weight:700;cursor:pointer;font-size:14px}
pre{margin:18px 0;padding:20px;background:#fffdfd;border:1px solid #efdce4;border-radius:14px;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:15px;line-height:1.9;max-height:480px;overflow:auto}
.text-link{color:var(--rose);font-size:14px;text-underline-offset:4px}
.ending-copy{padding:42px clamp(22px,6vw,54px) 32px;background:linear-gradient(180deg,#fffafa,#fdf0f4)}
.ending-copy h2{color:#4d263c}
.ending-copy p:not(.eyebrow){margin:14px 0 0;font-size:clamp(14px,2.3vw,17px);line-height:1.9}
.ending-copy--benefits{background:linear-gradient(180deg,#fffafa,#fff2f6)}
.ending-panel{position:relative}
.image-link{position:absolute;left:6%;width:88%;border-radius:999px}
.voices-link{left:4.4%;width:91.2%;top:90.52%;height:4.74%}
.explainer-link{left:4.43%;width:91.24%;top:91.86%;height:6.45%}
.application-link{top:90.16%;height:6.65%}
.image-link:hover{box-shadow:inset 0 0 0 2px #ffffff85}
.image-link:focus-visible{outline:4px solid #611337;outline-offset:3px}
.results-note{margin:0;padding:14px 24px 24px;color:#806c75;font-size:12px;text-align:center;line-height:1.8}
.cta-note{margin:18px 0 0;color:#806c75;font-size:12px;line-height:1.8}
.ending-note{margin:0;padding:8px 24px 30px;text-align:center}
footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #eddde4;margin:0 24px;padding:22px 0 30px;font-size:10px;letter-spacing:.06em}
footer a{color:var(--rose);font-size:12px;text-decoration:none;letter-spacing:0}
@media(min-width:820px){body{padding:28px 0}.article{overflow:hidden;border-radius:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
