:root {
  color-scheme: light;
  --ink:#302643;
  --muted:#8c809f;
  --purple:#8056c9;
  --purple-dark:#6f46b8;
  --stroke:#ece5f4;
}
* { box-sizing:border-box; }
[hidden] { display:none !important; }
html { min-width:320px; }
body {
  margin:0;
  min-height:100vh;
  font-family:ui-rounded,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:radial-gradient(65% 55% at 0% 0%,#fff0f1 0%,transparent 100%),radial-gradient(60% 45% at 100% 7%,#ebefff 0%,transparent 100%),#faf8ff;
  color:var(--ink);
}
button,input { font:inherit; }
button { -webkit-tap-highlight-color:transparent; }
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.page { max-width:1000px;margin:0 auto;padding:0 18px 24px; }
.topbar { height:77px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 8px; }
.brand { display:flex;align-items:center;gap:9px;font-weight:850;font-size:15px;letter-spacing:-.035em;white-space:nowrap; }
.brand-icon { display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#eadcff;color:#9063cf;font-family:Georgia,serif;font-size:24px;box-shadow:inset 0 -2px 0 #dccaf5; }
.time-chip { background:#fffdfd;border:1px solid #efe8f4;border-radius:99px;padding:9px 13px;color:#9882ae;font-size:11px;font-weight:750;white-space:nowrap; }
.survey-card { position:relative;overflow:hidden;background:white;border:1px solid var(--stroke);border-radius:25px;padding:28px 34px 29px;box-shadow:0 22px 65px rgba(83,55,126,.07),0 2px 14px rgba(83,55,126,.035); }
.survey-card::before { content:"";position:absolute;top:0;left:12%;right:12%;height:4px;border-radius:0 0 10px 10px;background:linear-gradient(90deg,#ffbed1,#c1aff8,#b4daed,#c8eec9); }
.question-area { margin:0 0 19px; }
.heading-label { font-weight:850;color:#9870c3;letter-spacing:.15em;font-size:10px;margin-bottom:12px; }
.heading-label span { color:#dea5be;font-size:14px;vertical-align:-1px; }
h1 { font-family:Georgia,"Times New Roman",serif;font-size:clamp(24px,3.2vw,32px);font-weight:700;line-height:1.27;letter-spacing:-.025em;margin:0;max-width:900px;text-wrap:pretty; }
.choose-hint { display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;margin-top:12px; }
.small-heart { color:#e6a2c3;font-size:16px; }
.option-grid { min-width:0;margin:0;padding:0;border:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
.option { min-width:0;display:flex;align-items:center;gap:12px;min-height:57px;padding:11px 16px;background:#fdfcff;border:1.5px solid #eee8f6;border-radius:14px;cursor:pointer;user-select:none;transition:background .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease; }
.option:hover { border-color:#c8afeb;background:#fbf6ff;transform:translateY(-1px); }
.option:has(input:checked) { background:#f4edff;border-color:#9b76dc;box-shadow:0 0 0 1px rgba(135,94,200,.17) inset; }
.option:has(input:focus-visible) { outline:3px solid #a992e7;outline-offset:2px; }
.option input { position:absolute;width:1px;height:1px;opacity:0;pointer-events:none; }
.option-number { display:none; }
.option-indicator { width:21px;height:21px;flex:none;border-radius:50%;background:#fff;border:1.7px solid #d6cbe5;display:grid;place-items:center;color:transparent;transition:.16s ease; }
.option-indicator span { font-size:12px;line-height:1; }
.option:has(input:checked) .option-indicator { background:#8b60d1;border-color:#8b60d1;color:white; }
.option-name { min-width:0;font-size:14px;line-height:1.3;font-weight:720;letter-spacing:-.01em; }
.option:has(input:checked) .option-name { color:#6743a8; }

.custom-suggestion { margin-top:16px; display:block; width:100%; clear:both; }
.custom-suggestion label { display:block; width:100%; margin:0 0 8px; color:#7f7394; font-size:13px; font-weight:750; }
.custom-suggestion label span { color:#ab9abf; font-weight:600; }
.custom-suggestion textarea { display:block; width:100%; max-width:100%; min-height:92px; resize:vertical; border:1.5px solid #eee8f6; border-radius:14px; padding:12px 14px; background:#fdfcff; color:var(--ink); outline:none; box-sizing:border-box; margin:0; }
.custom-suggestion textarea::placeholder { color:#b4a8c4; }
.custom-suggestion textarea:focus { border-color:#a483de; box-shadow:0 0 0 3px rgba(164,131,222,.12); }

.vote-button { display:flex;align-items:center;justify-content:center;gap:12px;width:100%;max-width:310px;min-height:50px;margin:22px auto 0;border:0;border-radius:14px;background:linear-gradient(105deg,#8056c8,#9b69d4);color:white;font-weight:850;font-size:14px;cursor:pointer;box-shadow:0 9px 23px rgba(116,77,180,.21);transition:transform .16s ease,box-shadow .16s ease; }
.vote-button span:last-child { color:#ffcfdf;font-size:18px; }
.vote-button:hover:not(:disabled) { transform:translateY(-1px);box-shadow:0 12px 23px rgba(116,77,180,.27); }
.vote-button:disabled { background:#d4c8e4;box-shadow:none;cursor:not-allowed; }
.vote-button:focus-visible { outline:3px solid #aa98d3;outline-offset:3px; }
.form-error { margin:13px auto 0;padding:12px 15px;max-width:440px;border-radius:10px;background:#fff0f3;border:1px solid #ffdce7;color:#a84569;text-align:center;font-weight:650;font-size:13px; }
.bot-field { position:absolute!important;left:-100000px!important;opacity:0!important;height:0!important;overflow:hidden!important; }
.thank-you { min-height:460px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 12px; }
.thank-icon { width:70px;height:70px;display:grid;place-items:center;border-radius:22px;background:#f8deed;color:#c381bd;font-size:38px;transform:rotate(-7deg); }
.thank-you h2 { font-family:Georgia,"Times New Roman",serif;font-size:clamp(29px,4vw,40px);margin:22px 0 9px; }
.thank-you p { font-size:15px;color:var(--muted);line-height:1.6;margin:0; }
.page-footer { display:flex;justify-content:center;align-items:flex-start;gap:14px;flex-wrap:wrap;color:#a298b1;font-size:11px;padding:14px 8px; }
.privacy-details { text-align:center; }
.privacy-details summary { text-decoration:underline;text-underline-offset:3px;cursor:pointer; }
.privacy-content { background:#fff;border:1px solid var(--stroke);border-radius:12px;box-shadow:0 6px 18px rgba(83,55,126,.04);padding:12px 15px;max-width:720px;text-align:left;color:#726783;font-size:12px;line-height:1.55;margin:10px auto 0; }
.privacy-content p { margin:7px 0; }
@media(max-width:650px) {
  .page { padding:0 12px 18px; }
  .topbar { height:66px;padding:0 5px; }
  .brand { font-size:14px; }
  .brand-icon { width:33px;height:33px;border-radius:11px;font-size:21px; }
  .time-chip { padding:7px 10px;font-size:10px; }
  .survey-card { border-radius:21px;padding:22px 18px 21px; }
  .heading-label { margin-bottom:10px; }
  h1 { font-size:clamp(23px,5.7vw,29px);line-height:1.28; }
  .question-area { margin-bottom:17px; }
  .option-grid { grid-template-columns:1fr;gap:8px; }
  .option { min-height:51px;padding:9px 12px;border-radius:12px;gap:11px; }
  .option-name { font-size:14px; }
  .vote-button { max-width:100%;margin-top:16px;min-height:52px; }
  .page-footer { padding:15px 4px; }
  .thank-you { min-height:390px; }
}
@media(max-width:370px) {
  .time-chip { font-size:9px;padding:7px 8px; }
  .brand { font-size:13px;gap:6px; }
  .survey-card { padding-left:14px;padding-right:14px; }
}
@media(prefers-reduced-motion:reduce) { *, *::before,*::after { transition:none!important; } }
