.ui-spinner{border:2px solid var(--surface-3);border-top-color:var(--primary);border-radius:50%;flex:none;animation:.7s linear infinite ui-spin;display:inline-block}.ui-button-primary .ui-spinner,.ui-button-danger .ui-spinner{border-color:color-mix(in srgb, currentColor 30%, transparent);border-top-color:currentColor}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-skeleton{border-radius:var(--r-sm);background:var(--surface-2);display:block;position:relative;overflow:hidden}.ui-skeleton:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--surface) 60%, transparent), transparent);animation:1.4s ease-in-out infinite ui-shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes ui-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.ui-skeleton:after{display:none}}.ui-skeleton-rows{flex-direction:column;display:flex}.ui-skeleton-row{align-items:center;gap:var(--sp-7);padding:0 var(--pad-row-x);border-top:1px solid var(--border);display:flex}.ui-skeleton-row:first-of-type{border-top:0}.ui-page-loader{gap:var(--sp-5);flex-direction:column;display:flex}.ui-page-loader-status{align-items:center;gap:var(--sp-3);color:var(--text-muted);font-size:var(--fs-sm);display:flex}.ui-page-loader-blocks{gap:var(--sp-5);margin-top:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.ui-button{--b-h:36px;justify-content:center;align-items:center;gap:var(--sp-2);height:var(--b-h);min-height:var(--b-h);padding:0 var(--sp-6);border-radius:var(--r-md);font:inherit;font-size:var(--fs-md);font-weight:var(--fw-medium);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--dur-fast), border-color var(--dur-fast), box-shadow var(--dur-fast), color var(--dur-fast);border:1px solid #0000;line-height:1;text-decoration:none;display:inline-flex}.ui-button:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}.ui-button:disabled,.ui-button[aria-disabled=true]{opacity:.45;cursor:not-allowed}.ui-button.is-loading{cursor:progress}.ui-button-label{text-overflow:ellipsis;line-height:var(--lh-snug);padding-block:.05em;overflow:hidden}.ui-button .ui-icon{flex:none}.ui-button-sm{--b-h:30px;padding:0 var(--sp-4);font-size:var(--fs-sm);gap:var(--sp-1)}.ui-button-lg{--b-h:44px;padding:0 var(--sp-7);font-size:var(--fs-base)}.ui-button-block{width:100%;display:flex}@media (pointer:coarse){.ui-button-sm,.ui-button-md{height:auto;min-height:40px}}.ui-button-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-fg);font-weight:var(--fw-semibold)}.ui-button-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.ui-button-primary:active:not(:disabled){background:var(--primary-active)}.ui-button-secondary{background:var(--surface-2);color:var(--text)}.ui-button-secondary:hover:not(:disabled){background:var(--surface-3)}.ui-button-outline{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.ui-button-outline:hover:not(:disabled){background:var(--surface-2)}.ui-button-ghost{color:var(--text-muted);background:0 0}.ui-button-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.ui-button-danger{background:var(--danger);border-color:var(--danger);color:var(--on-danger);font-weight:var(--fw-semibold)}.ui-button-danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 88%, #000)}.ui-button-gold{background:var(--gold);border-color:var(--gold);color:var(--on-gold);font-weight:var(--fw-semibold)}.ui-button-gold:hover:not(:disabled){background:var(--gold-hover)}.ui-button-on-dark{border-color:var(--header-line);color:var(--header-fg);background:0 0}.ui-button-on-dark:hover:not(:disabled){background:var(--header-hover)}.ui-icon-button{width:var(--b-h);padding:0}.ui-icon-button.ui-button-on-dark{border-color:#0000}@media (pointer:coarse){.ui-icon-button.ui-button-sm,.ui-icon-button.ui-button-md{width:40px;height:40px}}.ui-tone-neutral{--t:var(--neutral);--t-bg:var(--neutral-bg);--t-bd:var(--neutral-bd);--t-fg:var(--neutral-fg)}.ui-tone-primary{--t:var(--primary);--t-bg:var(--primary-tint);--t-bd:var(--primary-line);--t-fg:var(--primary-ink)}.ui-tone-success{--t:var(--success);--t-bg:var(--success-bg);--t-bd:var(--success-bd);--t-fg:var(--success-fg)}.ui-tone-warning{--t:var(--warning);--t-bg:var(--warning-bg);--t-bd:var(--warning-bd);--t-fg:var(--warning-fg)}.ui-tone-danger{--t:var(--danger);--t-bg:var(--danger-bg);--t-bd:var(--danger-bd);--t-fg:var(--danger-fg)}.ui-tone-info{--t:var(--info);--t-bg:var(--info-bg);--t-bd:var(--info-bd);--t-fg:var(--info-fg)}.ui-tone-gold{--t:var(--gold);--t-bg:var(--gold-tint);--t-bd:var(--gold);--t-fg:var(--gold-ink)}.ui-callout{align-items:flex-start;gap:var(--sp-4);padding:var(--sp-5) var(--sp-6);border-radius:var(--r-lg);background:var(--t-bg);border:1px solid var(--t-bd);color:var(--t-fg);font-size:var(--fs-md);line-height:var(--lh-base);display:flex}.ui-callout-icon{color:var(--t);flex:none;margin-top:3px}.ui-callout-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ui-callout-title{font-weight:var(--fw-semibold)}.ui-callout-text>p+p{margin-top:var(--sp-2)}.ui-callout-action{flex:none;align-self:center}.ui-callout a{color:inherit;font-weight:var(--fw-semibold)}
