:root{--btn-primary-bg:linear-gradient(135deg, var(--color-brand), var(--color-brand-soft));--btn-primary-fg:#fff;--btn-primary-shadow:var(--shadow-cta);--btn-secondary-bg:var(--color-surface-raised);--btn-secondary-fg:var(--color-ink);--btn-secondary-border:var(--color-border);--btn-secondary-bg-hover:var(--color-surface-elevated);--btn-secondary-border-hover:var(--color-border-strong);--btn-ghost-fg:var(--color-ink);--btn-ghost-bg-hover:var(--color-surface-raised);--btn-outline-fg:var(--color-ink);--btn-outline-border:var(--color-border-strong);--btn-outline-bg-hover:var(--color-surface-raised);--btn-danger-bg:var(--color-danger);--btn-danger-fg:#fff;--btn-success-bg:var(--color-success);--btn-success-fg:#04140a;--btn-link-fg:var(--color-brand-soft)}.btn{height:var(--control-h-md);padding:0 var(--control-px-md);border-radius:var(--radius-control);font-family:var(--font-sans);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .15s var(--ease-brand), box-shadow .15s var(--ease-brand), background-color .15s var(--ease-brand), border-color .15s var(--ease-brand), color .15s var(--ease-brand), filter .15s var(--ease-brand);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:500;line-height:1;text-decoration:none;display:inline-flex}.btn svg{flex:none}.btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.btn:disabled,.btn[aria-disabled=true],.btn.is-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn--xs{height:var(--control-h-xs);padding:0 var(--control-px-xs);gap:6px;font-size:12.5px}.btn--sm{height:var(--control-h-sm);padding:0 var(--control-px-sm);gap:6px;font-size:13px}.btn--md{height:var(--control-h-md);padding:0 var(--control-px-md);font-size:14px}.btn--lg{height:var(--control-h-lg);padding:0 var(--control-px-lg);font-size:16px}.btn--primary{background:var(--btn-primary-bg);color:var(--btn-primary-fg);box-shadow:var(--btn-primary-shadow)}.btn--primary:hover{filter:brightness(1.08)}.btn--primary:active{transform:translateY(1px)}.btn--secondary{background:var(--btn-secondary-bg);color:var(--btn-secondary-fg);border-color:var(--btn-secondary-border)}.btn--secondary:hover{background:var(--btn-secondary-bg-hover);border-color:var(--btn-secondary-border-hover)}.btn--ghost{color:var(--btn-ghost-fg);background:0 0}.btn--ghost:hover{background:var(--btn-ghost-bg-hover)}.btn--outline{color:var(--btn-outline-fg);border-color:var(--btn-outline-border);background:0 0}.btn--outline:hover{background:var(--btn-outline-bg-hover)}.btn--danger{background:var(--btn-danger-bg);color:var(--btn-danger-fg)}.btn--danger:hover{filter:brightness(1.08)}.btn--danger:active{transform:translateY(1px)}.btn--success{background:var(--btn-success-bg);color:var(--btn-success-fg)}.btn--success:hover{filter:brightness(1.06)}.btn--link{height:auto;color:var(--btn-link-fg);box-shadow:none;background:0 0;padding:0}.btn--link:hover{text-decoration:underline}.btn--link:active{transform:none}.btn--icon{width:var(--control-h-md);padding:0}.btn--icon.btn--xs{width:var(--control-h-xs)}.btn--icon.btn--sm{width:var(--control-h-sm)}.btn--icon.btn--lg{width:var(--control-h-lg)}.btn--block{width:100%}
.t-display{font-family:var(--font-display);font-size:var(--text-display);letter-spacing:var(--tracking-heading);font-weight:700;line-height:1.05}.t-title-lg{font-family:var(--font-display);font-size:var(--text-title-lg);letter-spacing:var(--tracking-heading);font-weight:700;line-height:1.15}.t-title{font-family:var(--font-display);font-size:var(--text-title);letter-spacing:var(--tracking-heading);font-weight:600;line-height:1.2}.t-title-sm{font-family:var(--font-display);font-size:var(--text-title-sm);letter-spacing:var(--tracking-heading);font-weight:600;line-height:1.25}.t-stat{font-family:var(--font-mono);font-size:var(--text-stat);font-variant-numeric:tabular-nums;font-weight:600;line-height:1}.t-eyebrow{font-family:var(--font-mono);font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);font-weight:600;line-height:1}.t-body-lg{font-family:var(--font-sans);font-size:var(--text-body-lg);font-weight:400;line-height:1.5}.t-body{font-family:var(--font-sans);font-size:var(--text-body);font-weight:400;line-height:1.5}.t-caption{font-family:var(--font-sans);font-size:var(--text-caption);font-weight:400;line-height:1.4}.t-label{font-family:var(--font-sans);font-size:var(--text-body);font-weight:500;line-height:1.3}
:where(input,select,textarea).field{height:var(--control-h-sm);padding:0 var(--control-px-sm);border:1px solid var(--control-border);border-radius:var(--radius-control);background:var(--control-bg);color:var(--color-ink);font-family:var(--font-sans);font-size:var(--text-body);transition:border-color .15s var(--ease-brand), box-shadow .15s var(--ease-brand), background-color .15s var(--ease-brand);line-height:1.2}:where(input,textarea).field::placeholder{color:var(--color-ink-50)}:where(input,select,textarea).field:focus,:where(input,select,textarea).field:focus-within{border-color:var(--control-border-focus);box-shadow:var(--focus-ring);outline:none}:where(input,select,textarea).field:disabled,:where(input,select,textarea).field.is-disabled{opacity:.5;cursor:not-allowed}:where(input,select,textarea).field[aria-invalid=true],:where(input,select,textarea).field.has-error{border-color:var(--color-danger)}.field--lg{height:var(--control-h-md);font-size:var(--text-body-lg)}.field--xs{height:var(--control-h-xs);padding:0 var(--control-px-xs)}.field--block{width:100%}.field--textarea{height:auto;min-height:80px;padding:8px var(--control-px-sm);resize:vertical;line-height:1.5}.field--select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239aa6b4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:16px;padding-right:32px}.checkbox,.radio{appearance:none;width:var(--control-checkbox-size);height:var(--control-checkbox-size);border:1.5px solid var(--control-border);background:var(--control-bg);cursor:pointer;transition:background .12s var(--ease-brand), border-color .12s var(--ease-brand);flex:none}.checkbox{border-radius:4px}.radio{border-radius:50%}.checkbox:checked{border-color:var(--color-brand);background-color:var(--color-brand);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 6.2l2.2 2.2 4.8-5'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:11px}.radio:checked{border-color:var(--color-brand);background:radial-gradient(circle at center, var(--color-brand) 0 38%, var(--control-bg) 44%)}.checkbox:focus-visible,.radio:focus-visible{box-shadow:var(--focus-ring);outline:none}.checkbox:disabled,.radio:disabled{opacity:.5;cursor:not-allowed}.seg{background:var(--control-bg);border:1px solid var(--control-border);border-radius:var(--radius-control);align-items:center;gap:2px;padding:3px;display:inline-flex}.seg__opt{appearance:none;border-radius:calc(var(--radius-control) - 4px);height:30px;font-family:var(--font-sans);font-size:var(--text-body);color:var(--color-ink-70);white-space:nowrap;cursor:pointer;transition:background .15s var(--ease-brand), color .15s var(--ease-brand), box-shadow .15s var(--ease-brand);background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:600;display:inline-flex}.seg__opt:hover{color:var(--color-ink)}.seg__opt.is-active,.seg__opt[aria-checked=true],.seg__opt[aria-selected=true]{background:var(--color-surface-elevated);color:var(--color-ink);box-shadow:inset 0 0 0 1px var(--control-border)}.seg__opt:focus-visible{box-shadow:var(--focus-ring);outline:none}
.toast-stack{right:24px;bottom:max(24px, calc(env(safe-area-inset-bottom) + 12px));z-index:100;pointer-events:none;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed}.toast{pointer-events:auto;background:var(--color-surface-raised);color:var(--color-ink);border:1px solid var(--color-border-strong);border-left:3px solid var(--color-brand-soft);border-radius:10px;align-items:center;gap:10px;max-width:340px;padding:10px 12px 10px 14px;animation:.22s cubic-bezier(.22,1,.36,1) toast-in;display:inline-flex;box-shadow:0 18px 40px #0000008c}.toast.is-danger{border-left-color:var(--color-danger,#ef4444)}.toast.is-success{border-left-color:#34d399}.toast-ic{width:24px;height:24px;color:var(--color-brand-soft);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.toast.is-danger .toast-ic{color:var(--color-danger,#ef4444)}.toast.is-success .toast-ic{color:#34d399}.toast-msg{min-width:0;color:var(--color-ink);flex:1;font-size:13px;line-height:1.45}.toast-x{width:22px;height:22px;color:var(--color-ink-50);cursor:pointer;background:0 0;border:0;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;transition:color .12s,background .12s;display:inline-flex}.toast-x:hover{color:var(--color-ink);background:var(--color-surface)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden}.card-filters{background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;display:flex}.card-title-row{justify-content:space-between;align-items:center;gap:12px;padding:16px 16px 12px;display:flex}.card-title{font-family:var(--font-display);font-size:var(--text-title-sm);color:var(--color-ink);margin:0;font-weight:600;line-height:1.25}.card-legend{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-50);white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:inline-flex}.card-legend-dot{background:var(--color-brand-soft);border-radius:50%;width:6px;height:6px;box-shadow:0 0 8px #6aafffb3}
.ca-crop-backdrop{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.ca-crop{background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-card);flex-direction:column;gap:14px;width:360px;max-width:100%;padding:16px;display:flex}.ca-crop-head{justify-content:space-between;align-items:center;display:flex}.ca-crop-head h3{font-family:var(--font-display);color:var(--ink);margin:0;font-size:15px;font-weight:600}.ca-crop-head button{width:28px;height:28px;color:var(--ink-50);cursor:pointer;background:0 0;border:0;border-radius:6px;font-size:20px;line-height:1}.ca-crop-head button:hover{color:var(--ink);background:var(--surface)}.ca-crop-stage{border:1px solid var(--border-strong);cursor:grab;touch-action:none;background:#0b0f15;border-radius:10px;align-self:center;position:relative;overflow:hidden}.ca-crop-stage:active{cursor:grabbing}.ca-crop-img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;max-width:none;position:absolute;top:0;left:0}.ca-crop-grid{pointer-events:none;background-image:linear-gradient(#ffffff2e 1px,#0000 1px),linear-gradient(90deg,#ffffff2e 1px,#0000 1px);background-size:100% 33.333%,33.333% 100%;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff1f}.ca-crop-zoom{align-items:center;gap:10px;display:flex}.ca-crop-zoom-lbl{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-50);font-size:10.5px}.ca-crop-zoom input[type=range]{accent-color:var(--brand);flex:1}.ca-crop-hint{color:var(--ink-50);text-align:center;margin:-6px 0 0;font-size:12px}.ca-crop-error{text-align:center;color:var(--ink-70);padding:24px 12px;font-size:13px;line-height:1.5}.ca-crop-foot{justify-content:flex-end;gap:8px;display:flex}[data-theme=light] .rt-root .ca-crop-backdrop{background:#0f172a4d}[data-theme=light] .rt-root .ca-crop-stage{background:#eef1f6}[data-theme=light] .rt-root .ca-crop-grid{background-image:linear-gradient(#0f172a2e 1px,#0000 1px),linear-gradient(90deg,#0f172a2e 1px,#0000 1px);box-shadow:inset 0 0 0 1px #0f172a1f}
