@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;1,6..72,400;1,6..72,500&family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');
body{margin:0;font-family:var(--font-sans);font-size:16px;line-height:24px;background:var(--surface);color:var(--ink);-webkit-font-smoothing:antialiased}
.sk-row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;padding:var(--space-6)}
.sk-stack{display:grid;gap:var(--space-4);padding:var(--space-6)}
:where(.sk-btn,.sk-input,.sk-card a):focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.sk-btn{font:inherit;font-weight:600;border-radius:var(--radius-md);border:1px solid var(--line-strong);background:var(--surface-raised);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-2);transition:background .15s,transform .15s}
.sk-btn:active{transform:translateY(1px)}
.sk-btn-md{height:40px;padding:0 var(--space-4);font-size:15px}
.sk-btn-sm{height:32px;padding:0 var(--space-3);font-size:13px}
.sk-btn-quiet:hover{background:var(--surface-sunk)}
.sk-btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.sk-btn-primary:hover{filter:brightness(1.08)}
.sk-btn-ghost{background:transparent;border-color:transparent;color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:4px}
.sk-btn-ghost:hover{text-decoration-color:var(--ink)}
.sk-btn:disabled{opacity:.5;cursor:not-allowed}
.sk-badge{display:inline-flex;align-items:center;gap:var(--space-1);font-size:13px;line-height:16px;font-weight:600;padding:4px var(--space-2);border-radius:var(--radius-sm);background:var(--surface-sunk);color:var(--ink)}
.sk-badge-accent{background:var(--accent-soft);color:var(--accent-ink)}
.sk-badge-success{background:var(--success-soft);color:var(--success-ink)}
.sk-badge-warning{background:var(--warning-soft);color:var(--warning-ink)}
.sk-badge-danger{background:var(--danger-soft);color:var(--danger-ink)}
.sk-badge-spec,.sk-badge-brain,.sk-badge-build,.sk-badge-factory,.sk-badge-team{padding-left:6px}
.sk-badge-spec::before,.sk-badge-brain::before,.sk-badge-build::before,.sk-badge-factory::before,.sk-badge-team::before{content:'';width:8px;height:8px;border-radius:999px;background:var(--dot)}
.sk-badge-spec{--dot:var(--spec)}.sk-badge-brain{--dot:var(--brain)}.sk-badge-build{--dot:var(--build)}.sk-badge-factory{--dot:var(--factory)}.sk-badge-team{--dot:var(--team)}
.sk-badge-key{font-family:var(--font-mono);font-weight:500;background:transparent;border:1px solid var(--line-strong)}
.sk-card{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:var(--space-6);display:grid;gap:var(--space-3);max-width:420px}
.sk-card-eyebrow{font-family:var(--font-mono);font-size:13px;line-height:16px;color:var(--ink-muted);margin-bottom:var(--space-1)}
.sk-card-title{margin:0;font-size:20px;line-height:28px;font-weight:600}
.sk-card-body{color:var(--ink);font-size:15px;line-height:22px}
.sk-card-foot{display:flex;gap:var(--space-2);align-items:center;padding-top:var(--space-3);border-top:1px solid var(--line)}
.sk-field{display:grid;gap:6px;max-width:360px}
.sk-label{font-size:13px;line-height:16px;font-weight:600}
.sk-input{font:inherit;font-size:15px;min-height:40px;padding:8px var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--ink);box-sizing:border-box;width:100%}
textarea.sk-input{min-height:88px;resize:vertical}
.sk-input::placeholder{color:var(--ink-muted)}
.sk-input-mono{font-family:var(--font-mono);font-size:14px}
.sk-input-error{border-color:var(--danger-ink)}
.sk-hint{font-size:13px;line-height:18px;color:var(--ink-muted)}
.sk-hint-error{color:var(--danger-ink)}
.sk-callout{display:flex;gap:var(--space-4);align-items:flex-start;padding:var(--space-4) var(--space-6) var(--space-4) var(--space-4);border-radius:var(--radius-md);background:var(--surface-sunk);max-width:560px}
/* the kitty's asides: product tint for work in progress, status tints for outcomes */
.sk-callout-review,.sk-callout-question{background:var(--accent-soft)}
.sk-callout-success{background:var(--success-soft)}
.sk-callout-warning{background:var(--warning-soft)}
.sk-callout-danger{background:var(--danger-soft)}
.sk-callout .sk-kitty{flex:none}
.sk-callout-title{margin:2px 0 4px;font-family:var(--font-serif);font-weight:500;font-size:20px;line-height:27px}
.sk-callout-text{font-size:15px;line-height:22px}
.sk-callout-success .sk-callout-title{color:var(--success-ink)}
.sk-callout-warning .sk-callout-title{color:var(--warning-ink)}
.sk-callout-danger .sk-callout-title{color:var(--danger-ink)}
.sk-kitty svg{width:100%;height:auto;display:block;overflow:visible}
