.tp-follow-button{position:absolute;top:6px;right:6px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:none;border-radius:10px;background:transparent;color:#64748b;cursor:pointer;transition:background .16s,color .16s}
.tp-pick-row:has(>.tp-follow-button) .tp-pick-left{padding-right:46px}
.tp-follow-button.tp-follow-button--compact{position:static;top:auto;right:auto;width:38px;height:38px;border:1px solid rgba(37,99,235,.22);border-radius:10px;background:rgba(37,99,235,.06);color:#1d4ed8}
.tp-follow-button.tp-follow-button--compact:hover{background:rgba(37,99,235,.14)}
.tp-follow-button.tp-follow-button--compact.is-followed{border-color:rgba(22,163,74,.3);background:rgba(22,163,74,.08);color:#16a34a}
.tp-follow-button.tp-follow-button--compact.is-follow-closed{border-color:rgba(100,116,139,.24);background:transparent;color:#64748b}
[data-theme="dark"] .tp-follow-button.tp-follow-button--compact{border-color:rgba(96,165,250,.3);background:rgba(96,165,250,.08);color:#93c5fd}
[data-theme="dark"] .tp-follow-button.tp-follow-button--compact.is-followed{border-color:rgba(74,222,128,.32);background:rgba(74,222,128,.1);color:#4ade80}
.tp-follow-icon{width:20px;height:20px;pointer-events:none}
.tp-follow-icon path{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;transition:fill .16s}
.tp-follow-button:hover{background:rgba(37,99,235,.1);color:#1d4ed8}
.tp-follow-button:focus-visible{outline:3px solid rgba(37,99,235,.32);outline-offset:2px}
.tp-follow-button.is-pending{cursor:wait;opacity:.55;animation:tp-follow-pulse 1s ease-in-out infinite}
.tp-follow-button.is-cooldown{cursor:wait;opacity:.65}
.tp-follow-button.is-followed{color:#16a34a}
.tp-follow-button.is-followed .tp-follow-icon path{fill:currentColor}
.tp-follow-button.is-followed:hover{background:rgba(220,38,38,.12);color:#dc2626}
.tp-follow-button.is-followed.is-locked{cursor:default}
.tp-follow-button.is-followed.is-locked:hover{background:transparent;color:#16a34a}
.tp-follow-button.is-follow-closed{cursor:not-allowed;opacity:.38}
.tp-follow-button.is-follow-closed:hover{background:transparent;color:#64748b}
@keyframes tp-follow-pulse{50%{opacity:.25}}
[data-theme="dark"] .tp-follow-button{color:#94a3b8}
[data-theme="dark"] .tp-follow-button:hover{background:rgba(96,165,250,.16);color:#93c5fd}
[data-theme="dark"] .tp-follow-button.is-followed{color:#4ade80}
[data-theme="dark"] .tp-follow-button.is-followed:hover{background:rgba(248,113,113,.16);color:#f87171}
[data-theme="dark"] .tp-follow-button.is-followed.is-locked:hover{background:transparent;color:#4ade80}
[data-theme="dark"] .tp-follow-button.is-follow-closed:hover{background:transparent;color:#94a3b8}
.tp-follow-toast{position:fixed;left:50%;bottom:24px;z-index:100020;max-width:min(420px,calc(100vw - 32px));padding:12px 18px;border-radius:12px;background:#166534;color:#fff;font-size:.9rem;font-weight:750;box-shadow:0 14px 36px rgba(15,23,42,.28);opacity:0;pointer-events:none;transform:translate(-50%,12px);transition:opacity .18s,transform .18s}
.tp-follow-toast[data-kind="error"]{background:#b91c1c}.tp-follow-toast.is-visible{opacity:1;transform:translate(-50%,0)}
.tp-follow-toast[data-kind="info"]{background:#1d4ed8}
.tp-follow-modal{position:fixed;inset:0;z-index:100030;display:grid;place-items:center;padding:20px}.tp-follow-modal__backdrop{position:absolute;inset:0;background:rgba(2,6,23,.66)}
.tp-follow-modal__dialog{position:relative;width:min(440px,100%);padding:24px;border:1px solid #dbeafe;border-radius:16px;background:var(--surface,#fff);color:var(--text,#0f172a);box-shadow:0 24px 64px rgba(2,6,23,.4)}
.tp-follow-modal__dialog h2{margin:0 0 10px;color:#1d4ed8;font-size:1.2rem}.tp-follow-modal__dialog p{margin:0;color:#475569;line-height:1.6}
.tp-follow-modal__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.tp-follow-modal__actions button{min-height:42px;padding:9px 16px;border-radius:10px;font:inherit;font-weight:800;cursor:pointer}
.tp-follow-modal__primary{border:1px solid #2563eb;background:#2563eb;color:#fff}.tp-follow-modal__secondary{border:1px solid #cbd5e1;background:transparent;color:inherit}
.tp-follow-modal__actions button:focus-visible{outline:3px solid rgba(37,99,235,.32);outline-offset:2px}
[data-theme="dark"] .tp-follow-modal__dialog{border-color:#334155;background:#0f172a}[data-theme="dark"] .tp-follow-modal__dialog p{color:#cbd5e1}
/* Mobile compact rows: filled premium action (Foresportia blue gradient) */
@media (max-width:768px){
.tp-follow-button.tp-follow-button--compact{top:auto;right:auto;border:none;border-radius:13px;background:linear-gradient(135deg,#2563eb,#1d3fc4);color:#fff;box-shadow:0 5px 14px rgba(37,99,235,.28),inset 0 1px 0 rgba(255,255,255,.25)}
.tp-follow-button.tp-follow-button--compact:hover{background:linear-gradient(135deg,#1d4ed8,#1839aa);color:#fff}
.tp-follow-button.tp-follow-button--compact:active{transform:translateY(1px);box-shadow:0 3px 8px rgba(37,99,235,.24),inset 0 1px 0 rgba(255,255,255,.2)}
.tp-follow-button.tp-follow-button--compact.is-followed{background:linear-gradient(135deg,#16a34a,#15803d);color:#fff;box-shadow:0 5px 14px rgba(22,163,74,.28),inset 0 1px 0 rgba(255,255,255,.22)}
.tp-follow-button.tp-follow-button--compact.is-followed:hover{background:linear-gradient(135deg,#15803d,#166534);color:#fff}
.tp-follow-button.tp-follow-button--compact.is-followed.is-locked:hover{background:linear-gradient(135deg,#16a34a,#15803d);color:#fff}
.tp-follow-button.tp-follow-button--compact.is-follow-closed{background:rgba(100,116,139,.14);color:#94a3b8;box-shadow:none;opacity:1}
.tp-follow-button.tp-follow-button--compact.is-follow-closed:hover{background:rgba(100,116,139,.14);color:#94a3b8}
[data-theme="dark"] .tp-follow-button.tp-follow-button--compact{background:linear-gradient(135deg,#3b82f6,#2450d6);color:#fff;box-shadow:0 5px 14px rgba(37,99,235,.4),inset 0 1px 0 rgba(255,255,255,.18)}
[data-theme="dark"] .tp-follow-button.tp-follow-button--compact:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff}
[data-theme="dark"] .tp-follow-button.tp-follow-button--compact.is-followed{background:linear-gradient(135deg,#22c55e,#15943f);color:#fff}
[data-theme="dark"] .tp-follow-button.tp-follow-button--compact.is-follow-closed{background:rgba(148,163,184,.16);color:#94a3b8}
@media (prefers-reduced-motion:reduce){.tp-follow-button.tp-follow-button--compact:active{transform:none}}
}
@media (max-width:640px){.tp-follow-button{top:4px;right:4px}.tp-follow-button.tp-follow-button--compact{top:auto;right:auto}.tp-follow-toast{bottom:16px}.tp-follow-modal{align-items:end;padding:12px}.tp-follow-modal__dialog{padding:20px;border-radius:16px}.tp-follow-modal__actions{flex-direction:column}.tp-follow-modal__actions button{width:100%;min-height:44px}.tp-follow-modal__primary{order:0}.tp-follow-modal__secondary{order:1}}
