.tappy{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Noto Sans JP",sans-serif;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.06);margin:16px auto;max-width:600px}
.tappy .tappy-question{color:#fff;padding:14px 16px;font-weight:700;text-align:center}
.tappy .tappy-choices{list-style:none;margin:0;padding:12px}
.tappy .tappy-choice{display:flex;align-items:center;justify-content:space-between;background:#fff;border:2px solid #eee;border-radius:24px;padding:12px 14px;margin:10px 0;cursor:pointer;transition:transform .03s ease, border-color .2s}
.tappy .tappy-choice:active{transform:scale(.99)}
.tappy .tappy-choice:hover{border-color:#dbeafe}
.tappy .tappy-choice-badge{display:none}
.tappy .tappy-choice-label{display:flex;align-items:center;gap:6px}
.tappy .tappy-choice-result{flex:0 0 auto;color:#111;padding:0 0 0 10px;min-width:3ch;text-align:right}
.tappy .tappy-actions{padding:0 12px 14px;display:none}
.tappy .tappy-share{width:100%;background:#0ea5e9;color:#fff;border:none;border-radius:10px;padding:12px 14px;font-weight:700;cursor:pointer}
.tappy .tappy-viewonly{padding:0 12px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.tappy .tappy-viewonly-link{color:#1a0dab;text-decoration:underline;cursor:pointer;font-size:12px}
.tappy .tappy-viewonly-link:visited{color:#681da8}
.tappy .tappy-total{font-size:12px;color:#9ca3af;margin-bottom:6px}

/* 投票済みの進捗バー（背景グラデーションで表現） */
.tappy .tappy-choice.tappy-voted{position:relative}
.tappy .tappy-choice.tappy-voted::before{content:"";position:absolute;left:0;top:0;bottom:0;border-radius:22px;background:var(--tappy-bar, linear-gradient(90deg,#dbeafe,#bfdbfe));width:var(--tappy-ratio,0%);z-index:0}
.tappy .tappy-choice.tappy-voted .tappy-choice-label, .tappy .tappy-choice.tappy-voted .tappy-choice-result{position:relative;z-index:1}

