*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--surface);color:var(--ink);font:400 14px/20px var(--font-sans, var(--sp-font-sans));-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default}:focus-visible{outline:var(--focus-width) solid var(--focus);outline-offset:var(--focus-offset);box-shadow:0 0 0 var(--focus-offset) var(--focus-halo)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.sp-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-space-2);height:var(--button-height);padding:0 var(--sp-space-4);border:1px solid transparent;border-radius:var(--button-radius);font-weight:600;font-size:var(--sp-text-14);line-height:1;white-space:nowrap;text-decoration:none;transition:background-color var(--sp-dur-1) var(--sp-ease-out),border-color var(--sp-dur-1) var(--sp-ease-out),color var(--sp-dur-1) var(--sp-ease-out)}.sp-button[data-size=compact]{height:var(--button-height-compact);padding:0 var(--sp-space-3);font-size:var(--sp-text-13)}.sp-button[data-variant=primary]{background:var(--button-primary-bg);color:var(--button-primary-ink)}.sp-button[data-variant=primary]:hover:not(:disabled){background:var(--button-primary-hover)}.sp-button[data-variant=secondary]{background:var(--button-secondary-bg);color:var(--button-secondary-ink)}.sp-button[data-variant=secondary]:hover:not(:disabled){background:var(--button-secondary-hover)}.sp-button[data-variant=ghost]{background:transparent;border-color:var(--button-ghost-line);color:var(--ink)}.sp-button[data-variant=ghost]:hover:not(:disabled){background:var(--hover)}.sp-button[data-variant=text]{background:transparent;color:var(--ink);padding:0 var(--sp-space-1);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px}.sp-button[data-variant=danger]{background:var(--status-danger);color:var(--surface-raised)}.sp-button:disabled{opacity:.55}.sp-button[data-busy=true]{position:relative;color:transparent}.sp-button[data-busy=true]:after{content:"";position:absolute;width:14px;height:14px;border:2px solid currentColor;border-color:var(--button-primary-ink) transparent var(--button-primary-ink) transparent;border-radius:50%;animation:sp-spin .8s linear infinite}@keyframes sp-spin{to{transform:rotate(360deg)}}.sp-field{display:flex;flex-direction:column;gap:6px}.sp-field__label{font-size:var(--sp-text-12);font-weight:600;color:var(--ink)}.sp-field__hint,.sp-field__error{font-size:var(--sp-text-12);line-height:16px}.sp-field__hint{color:var(--ink-muted)}.sp-field__error{color:var(--status-danger);display:flex;gap:6px;align-items:flex-start}.sp-input,.sp-select,.sp-textarea{width:100%;min-height:var(--input-height);padding:0 var(--sp-space-3);background:var(--input-bg);border:1px solid var(--input-line);border-radius:var(--input-radius);color:var(--ink);transition:border-color var(--sp-dur-1) var(--sp-ease-out)}.sp-textarea{padding:var(--sp-space-2) var(--sp-space-3);line-height:20px;resize:vertical}.sp-input::placeholder,.sp-textarea::placeholder{color:var(--input-placeholder)}.sp-input:hover,.sp-select:hover,.sp-textarea:hover{border-color:var(--ink-muted)}.sp-input[aria-invalid=true],.sp-select[aria-invalid=true],.sp-textarea[aria-invalid=true]{border-color:var(--status-danger)}.sp-input[data-size=compact],.sp-select[data-size=compact]{min-height:var(--input-height-compact);font-size:var(--sp-text-13)}.sp-select{appearance:none;padding-right:var(--sp-space-7);background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.sp-check{display:inline-flex;align-items:flex-start;gap:var(--sp-space-2);font-size:var(--sp-text-13);line-height:18px;cursor:pointer}.sp-check input{width:16px;height:16px;margin:1px 0 0;accent-color:var(--accent);flex:none}.sp-status{display:flex;gap:var(--sp-space-2);align-items:flex-start;padding:var(--sp-space-3) var(--sp-space-4);border-radius:var(--sp-radius-3);font-size:var(--sp-text-13);line-height:18px}.sp-status[data-tone=success]{background:var(--status-success-tint);color:var(--status-success)}.sp-status[data-tone=warning]{background:var(--status-warning-tint);color:var(--status-warning)}.sp-status[data-tone=danger]{background:var(--status-danger-tint);color:var(--status-danger)}.sp-status[data-tone=info]{background:var(--status-info-tint);color:var(--status-info)}.sp-status__icon{flex:none;width:18px;height:18px}.sp-status__title{font-weight:600}.sp-badge{display:inline-flex;align-items:center;gap:6px;height:20px;padding:0 8px;border-radius:999px;border:1px solid var(--line);background:var(--surface-raised);color:var(--ink-muted);font-size:var(--sp-text-11);font-weight:600;letter-spacing:.02em}.sp-badge[data-tone=accent]{border-color:var(--accent-line);color:var(--accent-line)}.sp-badge[data-tone=success]{border-color:transparent;background:var(--status-success-tint);color:var(--status-success)}.sp-badge[data-tone=warning]{border-color:transparent;background:var(--status-warning-tint);color:var(--status-warning)}.sp-badge[data-tone=danger]{border-color:transparent;background:var(--status-danger-tint);color:var(--status-danger)}.sp-badge__dot{width:6px;height:6px;border-radius:50%;background:currentColor}.sp-dialog{width:min(var(--dialog-max),calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--line);border-radius:var(--dialog-radius);background:var(--surface-raised);color:var(--ink);box-shadow:var(--shadow-dialog)}.sp-dialog::backdrop{background:var(--backdrop)}.sp-dialog[open]{animation:sp-dialog-in var(--sp-dur-2) var(--sp-ease-out)}@keyframes sp-dialog-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.sp-dialog__header{padding:var(--sp-space-5) var(--sp-space-6) 0}.sp-dialog__title{margin:0;font-size:var(--sp-text-17);font-weight:600;line-height:24px}.sp-dialog__description{margin:var(--sp-space-1) 0 0;color:var(--ink-muted);font-size:var(--sp-text-13)}.sp-dialog__body{padding:var(--sp-space-4) var(--sp-space-6);overflow:auto}.sp-dialog__footer{display:flex;justify-content:flex-end;gap:var(--sp-space-2);padding:0 var(--sp-space-6) var(--sp-space-5)}.sp-toasts{position:fixed;inset-inline:0;bottom:var(--sp-space-5);display:flex;flex-direction:column;align-items:center;gap:var(--sp-space-2);pointer-events:none;z-index:100}.sp-toast{pointer-events:auto;display:flex;align-items:center;gap:var(--sp-space-4);max-width:min(480px,calc(100vw - 32px));padding:var(--sp-space-3) var(--sp-space-4);border-radius:var(--sp-radius-3);background:var(--toast-bg);color:var(--toast-ink);font-size:var(--sp-text-13);box-shadow:var(--shadow-dialog);animation:sp-dialog-in var(--sp-dur-2) var(--sp-ease-out)}.sp-toast__action{background:none;border:0;padding:0;color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px}.sp-empty{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-space-3);padding:var(--sp-space-7);border:1px dashed var(--line-strong);border-radius:var(--sp-radius-4);color:var(--ink-muted);max-width:48ch}.sp-empty__title{margin:0;color:var(--ink);font-size:var(--sp-text-15);font-weight:600}.sp-empty p{margin:0;font-size:var(--sp-text-13);line-height:18px}.sp-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
