.bookmark-button__wrapper{display:inline-block;position:relative}.bookmark-button{justify-content:center;align-items:center;gap:var(--space-xs);padding:var(--space-sm);background:var(--glass-surface);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-ui);display:inline-flex}html[data-theme=light] .bookmark-button{color:var(--color-text-primary);background:#fffffff2;border-color:#00000026;box-shadow:0 2px 8px #0000001a}html[data-theme=light] .bookmark-button:hover:not(:disabled){background:#fff;box-shadow:0 4px 12px #00000026}html[data-theme=light] .bookmark-button--active{color:var(--accent);background:#8b5cf61a;border-color:#8b5cf64d}html[data-theme=light] .bookmark-button--active:hover:not(:disabled){background:#8b5cf626}html[data-theme=light] .bookmark-button--button{color:#1f2937;background:#fffffff2}html[data-theme=light] .bookmark-button--button.bookmark-button--active{color:#fff;background:linear-gradient(135deg,#8b5cf6 0%,#6366f1 100%);border-color:#0000}.bookmark-button:hover:not(:disabled){background:var(--glass-surface-hover);border-color:var(--color-border-hover);color:var(--color-text-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.bookmark-button:active:not(:disabled){transform:translateY(0)}.bookmark-button:disabled{opacity:.6;cursor:not-allowed}.bookmark-button--active{color:var(--color-accent-primary);background:#6a4cff0d;border-color:#6a4cff4d}.bookmark-button--active:hover:not(:disabled){box-shadow:var(--shadow-glow-sm);background:#6a4cff1a}.bookmark-button--loading{pointer-events:none}.bookmark-button--loading .bookmark-button__icon{animation:1s linear infinite bookmarkButtonSpin}@keyframes bookmarkButtonSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.bookmark-button__icon{transition:transform var(--transition-fast);font-size:1rem}.bookmark-button:hover:not(:disabled) .bookmark-button__icon{transform:scale(1.1)}.bookmark-button--active .bookmark-button__icon{animation:bookmarkPop .3s var(--ease-out)}@keyframes bookmarkPop{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.bookmark-button__label{font-size:var(--text-sm);font-weight:var(--font-medium)}.bookmark-button--button{padding:var(--space-sm) var(--space-md);background:var(--color-bg-elevated)}.bookmark-button--button:hover:not(:disabled){background:var(--color-bg-secondary)}.bookmark-button--button.bookmark-button--active{background:var(--color-accent-gradient);color:#fff;border-color:#0000}.bookmark-button--button.bookmark-button--active:hover:not(:disabled){box-shadow:var(--shadow-glow-md)}.bookmark-button--sm{padding:var(--space-xs);border-radius:var(--radius-sm)}.bookmark-button--sm .bookmark-button__icon{font-size:.875rem}.bookmark-button--sm.bookmark-button--button{padding:var(--space-xs) var(--space-sm)}.bookmark-button--sm.bookmark-button--button .bookmark-button__label{font-size:var(--text-xs)}.bookmark-button--md{padding:var(--space-sm)}.bookmark-button--md .bookmark-button__icon{font-size:1rem}.bookmark-button--md.bookmark-button--button{padding:var(--space-sm) var(--space-md)}.bookmark-button--md.bookmark-button--button .bookmark-button__label{font-size:var(--text-sm)}.bookmark-button--lg{padding:var(--space-md)}.bookmark-button--lg .bookmark-button__icon{font-size:1.25rem}.bookmark-button--lg.bookmark-button--button{padding:var(--space-md) var(--space-lg)}.bookmark-button--lg.bookmark-button--button .bookmark-button__label{font-size:var(--text-base)}.bookmark-button__tooltip{bottom:calc(100% + var(--space-sm));padding:var(--space-xs) var(--space-sm);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--color-text-primary);white-space:nowrap;box-shadow:var(--shadow-lg);animation:tooltipFadeIn var(--duration-base) var(--ease-out);z-index:10;position:absolute;left:50%;transform:translate(-50%)}.bookmark-button__tooltip:after{content:"";border:6px solid #0000;border-top-color:var(--color-border);position:absolute;top:100%;left:50%;transform:translate(-50%)}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%)translateY(4px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@media (max-width:640px){.bookmark-button__tooltip{padding:var(--space-2xs) var(--space-xs);font-size:.7rem}}
