:root{--ib-bg: rgba(30, 30, 30, 0.95);--ib-color: #fff;--ib-icon-color: #6b7280;--ib-icon-hover: #374151;--ib-icon-active: #2d9dff;--ib-size: 18px;--ib-radius: 6px;--ib-padding: 10px 14px;--ib-max-width: 280px;--ib-gap: 8px;--ib-arrow: 6px;--ib-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);--ib-font-size: 13px;--ib-line-height: 1.5;--ib-z-index: 1000;--ib-transition: 0.15s ease}.info-button,.info-button *,.info-button *::before,.info-button *::after{all:unset;box-sizing:border-box}.info-button--light,[data-theme=light] .info-button{--ib-bg: #fff;--ib-color: #1f2937;--ib-shadow: 0 4px 12px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0,0,0,0.05)}.info-button{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;width:18px;height:18px;vertical-align:middle}.info-button::before{content:"?";font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-weight:600;font-size:11px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1.5px solid #9ca3af;color:#9ca3af;background:rgba(0,0,0,0);transition:all .15s ease;line-height:1;padding-bottom:1px}.info-button:hover::before{border-color:#2d9dff;color:#2d9dff}.info-button.is-active::before{background:#2d9dff;border-color:#2d9dff;color:#fff}.info-button:focus{outline:none}.info-button:focus-visible::before{box-shadow:0 0 0 3px rgba(45,157,255,.3);border-radius:50%}.info-button__body,.info-button::after{position:absolute;background:var(--ib-bg);color:var(--ib-color);padding:var(--ib-padding);border-radius:var(--ib-radius);font-size:var(--ib-font-size);line-height:var(--ib-line-height);max-width:var(--ib-max-width);width:-moz-max-content;width:max-content;box-shadow:var(--ib-shadow);z-index:var(--ib-z-index);text-align:left;white-space:normal;word-wrap:break-word;opacity:0;visibility:hidden;transform:scale(0.95);transition:opacity var(--ib-transition),transform var(--ib-transition),visibility var(--ib-transition);pointer-events:none}.info-button[data-info]::after{content:attr(data-info)}.info-button__arrow{position:absolute;width:0;height:0;border:var(--ib-arrow) solid rgba(0,0,0,0)}.info-button::after,.info-button__body{top:calc(100% + var(--ib-gap));left:50%;transform:translateX(-50%) scale(0.95)}.info-button.is-active::after,.info-button.is-active .info-button__body{opacity:1;visibility:visible;transform:translateX(-50%) scale(1);pointer-events:auto}.info-button--top::after,.info-button--top .info-button__body,.info-button[data-pos=top]::after,.info-button[data-pos=top] .info-button__body{top:auto;bottom:calc(100% + var(--ib-gap))}.info-button--left::after,.info-button--left .info-button__body,.info-button[data-pos=left]::after,.info-button[data-pos=left] .info-button__body{top:50%;left:auto;right:calc(100% + var(--ib-gap));transform:translateY(-50%) scale(0.95)}.info-button--left.is-active::after,.info-button--left.is-active .info-button__body,.info-button[data-pos=left].is-active::after,.info-button[data-pos=left].is-active .info-button__body{transform:translateY(-50%) scale(1)}.info-button--right::after,.info-button--right .info-button__body,.info-button[data-pos=right]::after,.info-button[data-pos=right] .info-button__body{top:50%;left:calc(100% + var(--ib-gap));right:auto;transform:translateY(-50%) scale(0.95)}.info-button--right.is-active::after,.info-button--right.is-active .info-button__body,.info-button[data-pos=right].is-active::after,.info-button[data-pos=right].is-active .info-button__body{transform:translateY(-50%) scale(1)}.info-button--sm,.info-button[data-size=sm]{--ib-size: 14px;--ib-font-size: 12px;--ib-padding: 6px 10px;--ib-max-width: 200px}.info-button--lg,.info-button[data-size=lg]{--ib-size: 22px;--ib-font-size: 14px;--ib-padding: 12px 16px;--ib-max-width: 350px}@media(hover: hover){.info-button--hover:hover::after,.info-button--hover:hover .info-button__body{opacity:1;visibility:visible;transform:translateX(-50%) scale(1);pointer-events:auto}.info-button--hover--left:hover::after,.info-button--hover--left:hover .info-button__body,.info-button--hover[data-pos=left]:hover::after,.info-button--hover--right:hover::after,.info-button--hover--right:hover .info-button__body,.info-button--hover[data-pos=right]:hover::after{transform:translateY(-50%) scale(1)}}@media(prefers-reduced-motion: reduce){.info-button::after,.info-button__body{transition:none}}