.ss-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-weight:600;border:1px solid transparent;border-radius:var(--radius-2);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast),color var(--dur-fast),transform var(--dur-fast);white-space:nowrap;line-height:1;text-decoration:none}
.ss-btn:active:not(:disabled){transform:translateY(1px)}.ss-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.ss-btn:disabled{opacity:.4;cursor:not-allowed}
.ss-btn--sm{height:32px;padding:0 12px;font-size:13px}.ss-btn--md{height:40px;padding:0 16px;font-size:14px}.ss-btn--lg{height:48px;padding:0 22px;font-size:16px}.ss-btn--full{width:100%}
.ss-btn--primary{background:var(--action-primary);color:#fff}.ss-btn--primary:hover:not(:disabled){background:var(--action-primary-hover)}
.ss-btn--secondary{background:var(--ink-900);color:#fff}.ss-btn--secondary:hover:not(:disabled){background:var(--ink-700)}
.ss-btn--outline{background:var(--surface-card);color:var(--text-primary);border-color:var(--border-strong)}.ss-btn--outline:hover:not(:disabled){border-color:var(--ink-900)}
.ss-btn--ghost{background:transparent;color:var(--text-primary)}.ss-btn--ghost:hover:not(:disabled){background:var(--ink-100)}
.ss-btn--inverse{background:#fff;color:var(--ink-900)}.ss-btn--inverse:hover:not(:disabled){background:var(--ink-100)}
.ss-iconbtn{padding:0}.ss-iconbtn.ss-btn--sm{width:32px}.ss-iconbtn.ss-btn--md{width:40px}.ss-iconbtn.ss-btn--lg{width:48px}
.ss-icon{display:inline-block;flex:none;background:currentColor;-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat}
.ss-badge{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius-1);border:1px solid transparent;white-space:nowrap}
.ss-badge--neutral{background:var(--ink-100);color:var(--ink-700)}.ss-badge--outline{border-color:var(--border-strong);color:var(--ink-700)}.ss-badge--pink{background:var(--pink-100);color:var(--pink-700)}.ss-badge--success{background:var(--success-100);color:var(--success-600)}.ss-badge--warning{background:var(--warning-100);color:var(--warning-600)}.ss-badge--danger{background:var(--danger-100);color:var(--danger-600)}.ss-badge--info{background:var(--info-100);color:var(--info-600)}.ss-badge--ai{background:var(--ink-900);color:#fff}
.ss-badge__dot{width:6px;height:6px;border-radius:var(--radius-dot);background:currentColor}.ss-badge__bar{width:14px;height:8px;background:var(--ai-stripe)}
.ss-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-2);display:flex;flex-direction:column;overflow:hidden;font-family:var(--font-body)}
.ss-card--interactive{cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out)}.ss-card--interactive:hover{border-color:var(--ink-900)}
.ss-card__media{aspect-ratio:16/10;background:var(--ink-100);display:grid;place-items:center;color:var(--text-muted);font:500 11px var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.ss-card__media img{width:100%;height:100%;object-fit:cover}
.ss-card__body{padding:20px}.ss-card--sm .ss-card__body{padding:14px}.ss-card--lg .ss-card__body{padding:28px}
.ss-card__eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:8px}
.ss-card__title{font-family:var(--font-display);font-size:18px;font-weight:600;letter-spacing:-.01em;margin:0 0 6px;color:var(--text-primary)}
.ss-card__content{font-size:14px;line-height:1.55;color:var(--text-secondary)}
.ss-card__footer{border-top:1px solid var(--border-default);padding:12px 20px;display:flex;gap:8px;align-items:center}
.ss-field{display:flex;flex-direction:column;gap:6px;font-family:var(--font-body);min-width:0}.ss-field__label{font-size:13px;font-weight:600;color:var(--text-primary)}.ss-field__hint{font-size:12px;color:var(--text-secondary)}.ss-field__hint--error{color:var(--danger)}
.ss-input{display:flex;align-items:center;gap:8px;height:40px;padding:0 12px;background:var(--surface-card);border:1px solid var(--border-strong);border-radius:var(--radius-2);transition:border-color var(--dur-fast),box-shadow var(--dur-fast);color:var(--text-secondary)}
.ss-input:hover{border-color:var(--ink-500)}.ss-input:focus-within{border-color:var(--ink-900);box-shadow:0 0 0 3px var(--focus-ring)}.ss-input--error{border-color:var(--danger)}.ss-input--lg{height:48px}.ss-input--sm{height:32px}.ss-input--disabled{background:var(--ink-100);opacity:.6;pointer-events:none}
.ss-input input,.ss-input select{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:14px;color:var(--text-primary);height:100%;padding:0}.ss-input--lg input{font-size:16px}.ss-input input::placeholder{color:var(--text-muted)}
.ss-input--mono input{font-family:var(--font-mono);font-size:13px}.ss-input__affix{color:var(--text-secondary);font-size:13px;display:inline-flex;align-items:center;flex:none}.ss-input select{appearance:none;-webkit-appearance:none;cursor:pointer}
.ss-check{position:relative;display:inline-flex;align-items:center;gap:10px;font:400 14px var(--font-body);color:var(--text-primary);cursor:pointer;user-select:none}.ss-check input{position:absolute;opacity:0;pointer-events:none}
.ss-check__box{width:18px;height:18px;border:1.5px solid var(--ink-500);border-radius:var(--radius-1);display:grid;place-items:center;background:var(--surface-card);color:#fff;transition:background var(--dur-fast),border-color var(--dur-fast);flex:none}
.ss-check--on .ss-check__box{background:var(--ink-900);border-color:var(--ink-900)}.ss-check:focus-within .ss-check__box{box-shadow:0 0 0 3px var(--focus-ring)}.ss-check--disabled{opacity:.4;cursor:not-allowed}
.ss-switch__track{width:36px;height:20px;border-radius:var(--radius-1);background:var(--ink-300);position:relative;transition:background var(--dur-base) var(--ease-out);flex:none}
.ss-switch__knob{position:absolute;top:3px;left:3px;width:14px;height:14px;background:#fff;border-radius:1px;transition:transform var(--dur-base) var(--ease-out)}.ss-check--on .ss-switch__track{background:var(--action-primary)}.ss-check--on .ss-switch__knob{transform:translateX(16px)}.ss-check:focus-within .ss-switch__track{box-shadow:0 0 0 3px var(--focus-ring)}
.ss-tabs{display:flex;gap:24px;border-bottom:1px solid var(--border-default);font-family:var(--font-body)}
.ss-tab{background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:10px 0;font:600 14px var(--font-body);color:var(--text-secondary);cursor:pointer;display:inline-flex;gap:8px;align-items:center;transition:color var(--dur-fast)}.ss-tab:hover{color:var(--text-primary)}.ss-tab--active{color:var(--text-primary);border-bottom-color:var(--ink-900)}
.ss-tab__count{font:500 11px var(--font-mono);color:var(--text-secondary)}
.ss-tabs--segmented{display:inline-flex;gap:0;border:1px solid var(--border-strong);border-radius:var(--radius-2);padding:2px;background:var(--surface-card)}.ss-tabs--segmented .ss-tab{padding:6px 12px;border:0;margin:0;border-radius:var(--radius-1)}.ss-tabs--segmented .ss-tab--active{background:var(--ink-900);color:#fff}.ss-tabs--segmented .ss-tab--active .ss-tab__count{color:var(--ink-300)}
.ss-dialog-scrim{position:fixed;inset:0;background:rgba(20,20,24,.42);backdrop-filter:blur(3px);display:grid;align-items:safe center;justify-items:center;z-index:100;padding:24px;overflow:auto}.ss-dialog-scrim--inline{position:relative;inset:auto;background:transparent;backdrop-filter:none;padding:0;z-index:auto;overflow:visible}.ss-dialog-scrim--inline .ss-dialog{max-height:none}
.ss-dialog{width:100%;max-width:440px;max-height:calc(100vh - 48px);display:flex;flex-direction:column;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-2);box-shadow:var(--shadow-overlay);font-family:var(--font-body);animation:ss-rise var(--dur-base) var(--ease-out);overflow:hidden}
.ss-dialog__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 20px 0}.ss-dialog__title{font:600 20px/1.2 var(--font-display);letter-spacing:-.01em;margin:0;color:var(--text-primary)}
.ss-dialog__body{flex:1 1 auto;min-height:0;overflow:auto;padding:10px 20px 20px;font-size:14px;line-height:1.55;color:var(--text-secondary)}.ss-dialog__actions{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border-default);background:var(--ink-50)}
.ss-toast{position:relative;display:flex;gap:12px;align-items:flex-start;width:380px;max-width:100%;padding:14px 12px 14px 16px;background:var(--ink-900);color:#fff;border-radius:var(--radius-2);box-shadow:var(--shadow-overlay);font:400 14px var(--font-body);overflow:hidden;animation:ss-rise var(--dur-base) var(--ease-out)}
.ss-toast__main{flex:1;min-width:0}.ss-toast__title{font-weight:600;line-height:1.35}.ss-toast__msg{color:var(--ink-300);font-size:13px;margin-top:2px;line-height:1.45}
.ss-toast__action{color:#fff;font:600 13px var(--font-body);background:none;border:0;padding:0;margin-top:8px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.ss-toast__close{background:none;border:0;color:var(--ink-400);cursor:pointer;padding:2px;display:inline-flex}.ss-toast__close:hover{color:#fff}
.ss-toast--success .ss-toast__icon{color:var(--sesame-lime)}.ss-toast--warning .ss-toast__icon{color:var(--sesame-orange)}.ss-toast--danger .ss-toast__icon{color:#FF8074}.ss-toast--info .ss-toast__icon{color:var(--sesame-sky)}.ss-toast--ai .ss-toast__icon{color:var(--sesame-pink)}
.ss-toast .ss-stripe{position:absolute;left:0;right:0;top:0}
.ss-tip{position:relative;display:inline-flex}.ss-tip__bubble{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px);background:var(--ink-900);color:#fff;font:500 12px/1.3 var(--font-body);padding:6px 8px;border-radius:var(--radius-1);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur-fast),transform var(--dur-fast) var(--ease-out);z-index:50}
.ss-tip--bottom .ss-tip__bubble{bottom:auto;top:calc(100% + 8px);transform:translate(-50%,-4px)}.ss-tip:hover .ss-tip__bubble,.ss-tip:focus-within .ss-tip__bubble,.ss-tip--open .ss-tip__bubble{opacity:1;transform:translate(-50%,0)}
.ss-tip__kbd{font-family:var(--font-mono);font-size:11px;color:var(--ink-400);margin-left:6px}
.ss-stripe{position:relative;overflow:hidden;height:3px;flex:none}.ss-stripe::before{content:"";position:absolute;top:0;bottom:0;left:0;width:100%;background:var(--ai-stripe)}
.ss-stripe--active::before{width:200%;background:var(--ai-stripe-loop);animation:ss-stripe 1.8s linear infinite}
.ss-stream{white-space:pre-wrap}.ss-stream__caret{display:inline-block;width:.5em;height:1.05em;background:var(--accent);vertical-align:-.15em;margin-left:2px;animation:ss-blink 1s steps(1) infinite}
.ss-ai{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-2);overflow:hidden;font-family:var(--font-body);display:flex;flex-direction:column}
.ss-ai__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border-default);font:500 11px/1.3 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}
.ss-ai__status{display:inline-flex;gap:6px;align-items:center}.ss-ai__dot{width:6px;height:6px;background:currentColor}.ss-ai--generating .ss-ai__status{color:var(--pink-600)}.ss-ai--generating .ss-ai__dot{animation:ss-blink 1s steps(1) infinite}.ss-ai--review .ss-ai__status{color:var(--warning)}.ss-ai--ready .ss-ai__status{color:var(--success)}
.ss-ai__body{padding:16px}.ss-ai__title{font:600 18px/1.25 var(--font-display);margin:0 0 8px;letter-spacing:-.01em;color:var(--text-primary)}.ss-ai__text{font-size:14px;line-height:1.6;color:var(--ink-700)}
.ss-ai__actions{display:flex;gap:8px;align-items:center;padding:10px 16px;border-top:1px solid var(--border-default);background:var(--ink-50)}
@keyframes ss-stripe{to{transform:translateX(-50%)}}@keyframes ss-blink{50%{opacity:0}}@keyframes ss-rise{from{opacity:0;transform:translateY(6px)}}
@media (prefers-reduced-motion:reduce){.ss-stripe--active::before,.ss-stream__caret,.ss-ai__dot{animation:none}}
