:root{--acc:#3a86ff;--ink:#333;--bg:#fff;--muted:#777;}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui, -apple-system, "Helvetica Neue", Arial, "Noto Sans JP", sans-serif;color:var(--ink);background:#f7f7f7}
.survey-wrap,.thanks-wrap,.error-wrap{max-width:720px;margin:0 auto;padding:24px}
h1{font-size:1.4rem;margin:0 0 16px}
.q{background:#fff;border-radius:8px;padding:16px;margin:12px 0;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.q .req{color:#d00;font-size:.85em}
.stars{display:flex;gap:6px;flex-wrap:wrap}
.stars input{display:none}
.stars label{border:1px solid #ddd;border-radius:6px;padding:6px 10px;background:#fafafa;cursor:pointer}
.stars input:checked+label{background:var(--acc);border-color:var(--acc);color:#fff}
textarea{width:100%;padding:10px;border:1px solid #ccc;border-radius:6px}
.btn-primary{display:inline-block;padding:10px 16px;background:var(--acc);color:#fff;border-radius:6px;text-decoration:none;border:none;cursor:pointer}
.note{color:var(--muted)}
.ai-summary{display:flex;gap:8px;align-items:stretch}
.ai-summary textarea{flex:1}
