.no-scroll{overflow:hidden}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.section{padding-top:var(--section-gap);padding-bottom:var(--section-gap)}.btn--dark{color:var(--color-white);background-color:var(--color-black);border:1px solid var(--color-white-50)}.btn--dark:hover{filter:brightness(1.15)}.accent-divider--bare::after{content:none}.ui-btn--sm{padding:6px 14px;font-size:14px}.ui-btn--lg{padding:12px 24px;font-size:18px}.ui-btn--dark{color:var(--color-white);background-color:var(--color-black);border-color:var(--color-white-50)}.ui-btn--dark:hover{filter:brightness(1.15)}.ui-btn--secondary{color:var(--color-black);background-color:transparent;border-color:var(--color-stroke-10)}.ui-btn--secondary:hover{border-color:rgba(46,46,46,.35);background-color:rgba(46,46,46,.03)}.ui-btn--ghost{color:var(--color-accent);background-color:transparent}.ui-btn--ghost:hover{background-color:var(--color-error-bg)}.ui-btn--danger{color:var(--color-white);background-color:var(--color-error)}.ui-btn--danger:hover{filter:brightness(1.06)}.ui-btn--icon{width:40px;height:40px;padding:0;border-radius:12px}.ui-btn--icon.ui-btn--sm{width:32px;height:32px}.ui-btn__icon{width:20px;height:20px;flex-shrink:0}.ui-btn.is-loading{pointer-events:none;position:relative;color:transparent}.ui-btn.is-loading::after{content:"";position:absolute;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ui-spin .7s linear infinite}.ui-btn--danger.is-loading::after,.ui-btn--dark.is-loading::after,.ui-btn--primary.is-loading::after{border-color:var(--color-white);border-right-color:transparent}@media (prefers-reduced-motion:reduce){.ui-btn.is-loading::after{animation-duration:1.4s}}.ui-badge{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:100px;font-size:12px;line-height:166.67%;font-weight:600}.ui-badge--neutral{color:rgba(46,46,46,.7);background-color:#f3f3f3}.ui-badge--accent{color:var(--color-white);background-image:var(--grad-primary)}.ui-badge--success{color:var(--color-success);background-color:var(--color-success-bg)}.ui-badge--warning{color:var(--color-warning);background-color:var(--color-warning-bg)}.ui-badge--error{color:var(--color-error);background-color:var(--color-error-bg)}.ui-badge--info{color:var(--color-info);background-color:var(--color-info-bg)}.ui-badge__dot{width:6px;height:6px;border-radius:50%;background-color:currentColor}.ui-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 8px 6px 12px;border-radius:100px;background-color:rgba(46,46,46,.05);font-size:14px;line-height:142.86%;font-weight:500;color:var(--color-black)}.ui-chip--selected{background-image:var(--grad-primary);color:var(--color-white)}.ui-chip__remove{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:0;border-radius:50%;background-color:rgba(46,46,46,.1);color:inherit;cursor:pointer;transition:background-color .15s ease}.ui-chip--selected .ui-chip__remove{background-color:rgba(255,255,255,.25)}.ui-chip__remove:hover{background-color:rgba(46,46,46,.2)}.ui-chip__remove:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.ui-alert{display:flex;align-items:flex-start;gap:12px;padding:16px;border-left:3px solid transparent;border-radius:0 16px 16px 0}.ui-alert__icon{flex-shrink:0;width:20px;height:20px;margin-top:1px}.ui-alert__body{display:flex;flex-direction:column;gap:2px}.ui-alert__text,.ui-alert__title{font-size:14px;line-height:142.86%}.ui-alert__title{font-weight:600;color:var(--color-black)}.ui-alert__text{font-weight:400;color:rgba(46,46,46,.7)}.ui-alert--success{background-color:var(--color-success-bg);border-left-color:var(--color-success)}.ui-alert--success .ui-alert__icon{color:var(--color-success)}.ui-alert--warning{background-color:var(--color-warning-bg);border-left-color:var(--color-warning)}.ui-alert--warning .ui-alert__icon{color:var(--color-warning)}.ui-alert--error{background-color:var(--color-error-bg);border-left-color:var(--color-error)}.ui-alert--error .ui-alert__icon{color:var(--color-error)}.ui-alert--info{background-color:var(--color-info-bg);border-left-color:var(--color-info)}.ui-alert--info .ui-alert__icon{color:var(--color-info)}.ui-toast{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:16px;background-color:var(--color-white);border:1px solid var(--color-stroke-10);box-shadow:0 12px 32px rgba(46,46,46,.12);animation:ui-toast-in .25s ease}.ui-toast__icon{flex-shrink:0;width:20px;height:20px;margin-top:1px}.ui-toast--success .ui-toast__icon{color:var(--color-success)}.ui-toast--error .ui-toast__icon{color:var(--color-error)}.ui-toast--info .ui-toast__icon{color:var(--color-info)}.ui-toast__body{flex:1 1 0;min-width:0}.ui-toast__title{font-size:14px;line-height:142.86%;font-weight:600;color:var(--color-black)}.ui-toast__text{font-size:13px;line-height:146%;font-weight:400;color:rgba(46,46,46,.6)}.ui-toast__close{flex-shrink:0;width:20px;height:20px;padding:0;border:0;background:0 0;color:rgba(46,46,46,.5);cursor:pointer;transition:color .15s ease}.ui-toast__close:hover{color:var(--color-accent)}.ui-toast__close:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){.ui-toast{animation:none}}.ui-tooltip{position:relative;display:inline-flex}.ui-tooltip__bubble{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(4px);padding:6px 10px;border-radius:8px;background-color:var(--color-black);color:var(--color-white);font-size:12px;line-height:150%;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease;z-index:200}.ui-tooltip__bubble::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--color-black)}.ui-tooltip:focus-within .ui-tooltip__bubble,.ui-tooltip:hover .ui-tooltip__bubble{opacity:1;transform:translateX(-50%) translateY(0)}