.icon-button{justify-content:center;align-items:center;gap:var(--space-2);border:1px solid var(--color-neutral-200);border-radius:var(--radius-lg);background:var(--color-neutral-0);min-width:44px;min-height:44px;color:var(--color-neutral-600);cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-sm);transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);touch-action:manipulation;padding:10px;font-weight:600;line-height:1;display:inline-flex;position:relative}.icon-button:hover{background:var(--color-neutral-50);border-color:var(--color-neutral-300);color:var(--color-primary-600)}.icon-button:focus-visible{border-color:var(--color-primary-400);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.icon-button:active{transform:translateY(1px)}.icon-button:disabled{cursor:not-allowed;opacity:.55}.icon-button--primary{color:var(--color-primary-700);border-color:var(--color-primary-200);background:var(--color-primary-50)}.icon-button--primary:hover,.icon-button--primary.icon-button--selected{color:var(--color-primary-800);border-color:var(--color-primary-300);background:var(--color-primary-100)}.icon-button--danger{color:var(--color-error);border-color:var(--color-error-200);background:var(--color-error-50)}.icon-button--danger:hover{color:var(--color-error-700);border-color:var(--color-error-400);background:var(--color-error-100)}[data-theme=dark] .icon-button--primary{background:var(--color-primary-50);border-color:var(--color-primary-200);color:var(--color-primary-800)}[data-theme=dark] .icon-button--primary:hover,[data-theme=dark] .icon-button--primary.icon-button--selected{background:var(--color-primary-100);border-color:var(--color-primary-300);color:var(--color-primary-900)}[data-theme=dark] .icon-button--danger{background:var(--color-error-50);border-color:var(--color-error-200);color:var(--color-error-700)}[data-theme=dark] .icon-button--danger:hover{background:var(--color-error-100);border-color:var(--color-error-400);color:var(--color-error-700)}.icon-button__icon{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-button__label{white-space:nowrap;display:none}@media (hover:hover) and (pointer:fine){.icon-button:after{z-index:200;border-radius:var(--radius-md);color:#f8fafc;content:attr(data-tooltip);max-width:220px;font-size:var(--font-size-xs);opacity:0;pointer-events:none;text-align:center;transition:opacity var(--transition-fast), transform var(--transition-fast);white-space:nowrap;background:#020617;padding:6px 8px;font-weight:600;line-height:1.25;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px)}.icon-button:before{z-index:201;content:"";opacity:0;pointer-events:none;width:8px;height:8px;transition:opacity var(--transition-fast), transform var(--transition-fast);background:#020617;position:absolute;bottom:calc(100% + 3px);left:50%;transform:translate(-50%,4px)rotate(45deg)}.icon-button:hover:after,.icon-button:hover:before,.icon-button:focus-visible:after,.icon-button:focus-visible:before{opacity:1;transform:translate(-50%)}.icon-button:hover:before,.icon-button:focus-visible:before{transform:translate(-50%)rotate(45deg)}}@media (width<=600px){.icon-button--mobile-label{padding-inline:var(--space-3);flex:120px;justify-content:center}.icon-button--mobile-label .icon-button__label{display:inline}}
