:root{--btn-hover-bg:var(--accent);--panel-border:var(--border);--panel-border-hover:var(--border);--input-bg:var(--card);--text-primary:var(--foreground);--text-secondary:var(--muted-foreground);--text-muted:var(--muted-foreground)}.donate-heart-wrapper{justify-content:center;align-items:center;width:16px;height:16px;margin-right:.15rem;display:inline-flex;position:relative}.donate-heart-ring{pointer-events:none;border:1px solid #fb718573;border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;animation:2.4s ease-out infinite donateHeartPulse;position:absolute;top:50%;left:50%}.donate-heart-icon{color:#fb7185;transform-origin:50%;font-size:.85rem;animation:2.4s ease-in-out infinite donateHeartBeat;display:inline-block}.btn-donate:hover{transform:translateY(-1px);box-shadow:0 0 15px #fb718540;background:#fb718540!important;border-color:#fb71858c!important}.btn-donate:hover .donate-heart-icon{color:#ff4757;animation:.8s ease-in-out infinite donateHeartBeatHover}.btn-donate:hover .donate-heart-ring{border-color:#ff475799;animation:.8s ease-out infinite donateHeartPulseHover}@keyframes donateHeartBeat{0%{transform:scale(1)}14%{transform:scale(1.22)}28%{transform:scale(1)}42%{transform:scale(1.22)}70%{transform:scale(1)}to{transform:scale(1)}}@keyframes donateHeartBeatHover{0%{transform:scale(1)}30%{transform:scale(1.35)}60%{transform:scale(1)}to{transform:scale(1)}}@keyframes donateHeartPulse{0%{opacity:.6;width:14px;height:14px;margin:-7px 0 0 -7px}80%{opacity:0;width:34px;height:34px;margin:-17px 0 0 -17px}to{opacity:0;width:34px;height:34px;margin:-17px 0 0 -17px}}@keyframes donateHeartPulseHover{0%{opacity:.7;width:14px;height:14px;margin:-7px 0 0 -7px}to{opacity:0;width:38px;height:38px;margin:-19px 0 0 -19px}}.modal{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;background:#000000bf;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.modal-content{text-align:center;width:90%;max-width:400px;max-height:90vh;padding:2.25rem;animation:.3s scaleIn;position:relative;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)translateY(12px)}to{opacity:1;transform:scale(1)}}.btn-close-coffee-modal:hover{background:var(--panel-border-hover);color:var(--text-primary);border-color:var(--panel-border-hover);box-shadow:0 0 10px var(--panel-border);transform:rotate(90deg)}.coffee-icon{margin-bottom:.25rem;font-size:2.25rem}.footer-social-grid{flex-wrap:wrap;justify-content:center;gap:1rem;width:100%;margin-top:0;margin-bottom:0;display:flex}.footer-social-grid .social-card{flex:100%;min-width:0}@media (width>=720px){.footer-social-grid .social-card{flex:0 calc(33.3333% - .666667rem);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.25rem .5rem;padding:.75rem;display:grid}.footer-social-grid .social-info{display:contents}.footer-social-grid .social-icon{grid-area:1/1}.footer-social-grid .social-platform{grid-area:1/2}.footer-social-grid .social-handle{grid-area:2/1/auto/-1;font-size:.8125rem}}@media (width>=1024px){.footer-social-grid{flex-wrap:nowrap;gap:.5rem}.footer-social-grid .social-card{flex:1 1 0}}.social-card{background:var(--input-bg);border:1px solid var(--panel-border);border-radius:16px;flex:none;align-items:center;gap:1rem;min-width:170px;padding:1rem 1.25rem;text-decoration:none;transition:all .3s;display:flex}.social-card:hover{background:var(--btn-hover-bg);border-color:var(--panel-border-hover);transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.social-icon{flex-shrink:0;justify-content:center;align-items:center;font-size:1.4rem;display:flex}.social-info{text-align:left;flex-direction:column;gap:.2rem;min-width:0;display:flex;overflow:hidden}.social-platform{color:var(--text-secondary);font-size:.75rem;font-weight:500}.social-handle{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.footer-label{color:var(--text-secondary);letter-spacing:.1em;align-items:center;gap:1rem;margin-bottom:.75rem;font-size:.75rem;font-weight:600;display:flex}.footer-line{background:var(--panel-border);width:32px;height:1px}.donate-panel{background:var(--card);color:var(--foreground);border:1px solid var(--border);max-height:calc(100dvh - 2rem);box-shadow:0 30px 70px #00000040}
