#cheers-dialog [hidden]{display:none!important}
.cheers-open{display:inline-flex;align-items:center;gap:7px;border:1px solid #d9bdcb;background:#f6e9ef;color:#85576f;padding:8px 12px;border-radius:30px;font-size:calc(11px * var(--text-scale,1));font-weight:700;white-space:nowrap}.cheers-open>span:first-child{font-size:calc(21px * var(--text-scale,1));line-height:1;display:inline-block;animation:cheer-beat 6s ease-in-out infinite}.cheers-open:hover{background:#efdae5;transform:translateY(-2px)}
#cheers-dialog{width:590px;background:#fcf7f8}#cheers-dialog .dialog-eyebrow{color:#98687e}#cheers-dialog h2{font-size:calc(24px * var(--text-scale,1));letter-spacing:-1px}#cheers-dialog .primary{background:#805b73;color:white}#cheers-dialog .primary:hover{background:#6c4a60}#cheers-dialog :is(input,textarea,select):focus-visible{outline:2px solid #b57693;outline-offset:3px}#cheers-dialog textarea{background:#fffafb;border-color:#e7d7df;resize:vertical;min-height:94px}
.cheers-hero{display:flex;align-items:center;justify-content:center;gap:20px;margin:2px 0 18px}.cheer-heart-art{width:145px;height:122px;overflow:visible}.cheer-heart-body{transform-origin:90px 85px;animation:cheer-breathe 4s ease-in-out infinite}.cheers-hero p{font-size:calc(17px * var(--text-scale,1));line-height:1.5;margin:0;color:#846576}.cheers-hero b{color:#5b4353}.cheers-hero small{display:block;font-size:calc(11px * var(--text-scale,1));line-height:1.6;margin-top:9px;max-width:215px;color:#93818d}
.cheers-form-row{display:grid;grid-template-columns:1fr 1.3fr;gap:22px;margin-top:18px;align-items:start}.cheers-form-row>label{margin:0}.cheers-form-row input[type=date]{margin-top:8px;width:100%;min-width:0;background:#fffafb}.cheers-tokens{margin:0;padding:0;border:0;min-width:0}.cheers-tokens legend{font-size:calc(12px * var(--text-scale,1));font-weight:600;margin-bottom:8px}#cheers-token-options{display:flex;gap:8px}.cheer-token-option{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;margin:0!important;padding:6px 5px;border-radius:12px;border:1px solid #eadde3;background:#fffafb;cursor:pointer}.cheer-token-option input{position:absolute;opacity:0;width:1px;height:1px}.cheer-token-option>span{font-size:calc(23px * var(--text-scale,1));line-height:26px;color:#a96584}.cheer-token-option small{font-size:calc(9px * var(--text-scale,1));font-weight:500}.cheer-token-option:has(input:checked){background:#f3e0e9;border-color:#b67e99;box-shadow:0 0 0 1px #b67e99}.cheer-token-option:has(input:focus-visible){outline:2px solid #805b73;outline-offset:3px}.cheers-form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:18px}.cheers-settings{border-top:1px solid #e9dfe4;border-bottom:1px solid #e9dfe4;margin:24px 0;padding:15px 0}.cheers-settings summary{font-size:calc(11px * var(--text-scale,1));font-weight:600;color:#846576;cursor:pointer}.cheers-settings label{margin-top:18px}.cheers-settings select{width:100%;background:#fffafb;font-size:calc(11px * var(--text-scale,1))}.cheers-settings p,.cheers-settings [role=status]{font-size:calc(11px * var(--text-scale,1));line-height:1.7;color:#93818d}.cheers-settings [role=status]:empty{display:none}.cheers-settings .text-button{display:block;margin-top:12px;font-size:calc(11px * var(--text-scale,1));color:#805b73}
.cheers-collection-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.cheers-collection h3{font-size:calc(17px * var(--text-scale,1));letter-spacing:-.5px;margin:0 0 4px}.cheers-collection-heading span{font-size:calc(10px * var(--text-scale,1));color:#9b8592}.cheers-collection-heading .text-button{font-size:calc(10px * var(--text-scale,1))}.cheers-empty{padding:22px;border:1px dashed #e0cdd7;border-radius:14px;font-size:calc(12px * var(--text-scale,1));line-height:1.7;color:#9b8592}.cheer-entry{display:grid;grid-template-columns:36px 1fr;gap:10px;padding:15px 0;border-top:1px solid #eee2e8}.cheer-entry-token{display:grid;place-items:center;align-self:start;background:#f3e3eb;border-radius:12px;width:34px;height:36px;font-size:calc(23px * var(--text-scale,1));color:#a96584}.cheer-entry time{font-size:calc(10px * var(--text-scale,1));color:#9b8592}.cheer-entry p{margin:7px 0 9px;font-size:calc(13px * var(--text-scale,1));line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.cheer-entry-actions{display:flex;gap:14px}.cheer-entry-actions button{border:0;background:none;padding:4px 0;font-size:calc(10px * var(--text-scale,1));color:#9b8592}.cheer-entry-actions button:hover{color:#805b73;text-decoration:underline}.cheers-collection>.button{font-size:calc(11px * var(--text-scale,1));margin-top:14px;border-color:#dfcbd7;background:#f7eaf0;color:#805b73}.cheers-collection>.button:disabled{opacity:.45;cursor:default}.cheers-storage-note{font-size:calc(10px * var(--text-scale,1));color:#a18d99;margin:20px 0 0;line-height:1.6}
.cheers-popup{position:fixed;z-index:18;right:26px;top:110px;width:340px;max-height:calc(100dvh - 140px);overflow:auto;border:1px solid #dec5d2;border-radius:24px;background:#fff7fa;box-shadow:0 14px 55px #60415f24;padding:25px 25px 20px;transform-origin:90% 0;animation:cheer-card-in .65s cubic-bezier(.2,1.2,.35,1) both}.cheers-popup[hidden]{display:none}.cheers-popup-close{position:absolute;right:12px;top:10px;border:0;background:none;font-size:calc(23px * var(--text-scale,1));color:#a18b98;width:32px;height:32px;border-radius:50%}.cheers-popup-close:hover{background:#f3e4eb}#cheers-popup-token{display:grid;place-items:center;width:55px;height:55px;border-radius:19px;background:#f1dce6;font-size:calc(35px * var(--text-scale,1));color:#b06c8c;margin-bottom:17px;animation:cheer-token-wiggle 5s ease-in-out infinite}.cheers-popup[data-token=cake] #cheers-popup-token{background:#f7e9d6}.cheers-popup[data-token=star] #cheers-popup-token{background:#eee5c9;color:#ae8e45}#cheers-popup-kicker{display:block;font-size:calc(9px * var(--text-scale,1));letter-spacing:.8px;text-transform:uppercase;color:#aa8297;margin-right:8px}.cheers-popup h3{font-size:calc(21px * var(--text-scale,1));line-height:1.25;letter-spacing:-.7px;color:#674a5d;margin:10px 0 14px}.cheers-popup p{font-size:calc(14px * var(--text-scale,1));line-height:1.65;color:#805f72;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 16px}.cheers-popup>small{display:block;font-size:calc(10px * var(--text-scale,1));line-height:1.7;color:#a18b98}.cheers-popup-actions{margin-top:20px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.cheers-popup-actions button{font-size:calc(10px * var(--text-scale,1));border:0;border-radius:12px;padding:10px 12px;background:#ead4e0;color:#77566a;font-weight:600}.cheers-popup-actions button:last-child{background:none;padding:8px 0;color:#9b7a8e}.cheers-popup-actions button:hover{filter:brightness(.96)}
@keyframes cheer-breathe{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-6px) rotate(3deg)}}@keyframes cheer-beat{0%,70%,100%{transform:scale(1)}76%,87%{transform:scale(1.15)}82%,92%{transform:scale(1)}}@keyframes cheer-token-wiggle{0%,75%,100%{transform:rotate(-4deg)}82%{transform:rotate(9deg) scale(1.08)}90%{transform:rotate(-7deg)}}@keyframes cheer-card-in{from{opacity:0;transform:translateY(-12px) rotate(3deg) scale(.92)}to{opacity:1;transform:none}}
@media(max-width:1250px){.cheers-open>span:last-child{display:none}.cheers-open{padding:7px 9px}}
@media(max-width:600px){#cheers-dialog{padding:23px 20px}#cheers-dialog h2{font-size:calc(22px * var(--text-scale,1))}.cheers-hero{gap:9px}.cheer-heart-art{width:114px;height:100px}.cheers-hero p{font-size:calc(15px * var(--text-scale,1))}.cheers-hero small{font-size:calc(10px * var(--text-scale,1))}.cheers-form-row{gap:15px;grid-template-columns:1fr}.cheers-form-row input[type=date]{max-width:100%;box-sizing:border-box}#cheers-token-options{max-width:280px}.cheers-popup{top:88px;right:12px;width:calc(100% - 24px);max-width:340px;max-height:calc(100dvh - 110px)}.cheers-open{padding:6px 8px}.cheers-form-actions .primary{font-size:calc(11px * var(--text-scale,1))}.cheers-settings select{font-size:calc(10px * var(--text-scale,1))}}
@media(prefers-reduced-motion:reduce){.cheer-heart-body,.cheers-open>span:first-child,#cheers-popup-token,.cheers-popup{animation:none}}
