/* AgentC Design System v1.0.0 — GENERATED by tooling/design_system.cr. Do not edit by hand. */

/* reset */
*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{-webkit-text-size-adjust:100%;font-family:var(--font-sans);line-height:1.5}
body{min-height:100vh;background:var(--c-canvas);color:var(--c-text);font:400 var(--fs-body)/var(--lh-body) var(--font-sans);-webkit-font-smoothing:antialiased}
img,svg,video{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--c-link);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{line-height:1.2;font-weight:700}
:focus-visible{outline:2px solid var(--c-focus);outline-offset:2px}

/* tokens */
:root{
  --font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  --c-brand:#2563eb;
  --c-brand-hover:#1d4ed8;
  --c-brand-contrast:#ffffff;
  --c-secondary:#475569;
  --c-accent:#7c3aed;
  --c-canvas:#f8fafc;
  --c-panel:#ffffff;
  --c-elevated:#ffffff;
  --c-sunken:#f1f5f9;
  --c-inverse:#0f172a;
  --c-text:#0f172a;
  --c-text-2:#475569;
  --c-muted:#94a3b8;
  --c-text-inverse:#f8fafc;
  --c-link:#2563eb;
  --c-border:#e2e8f0;
  --c-border-subtle:#f1f5f9;
  --c-border-strong:#cbd5e1;
  --c-focus:#2563eb;
  --c-success:#16a34a;
  --c-success-surface:#f0fdf4;
  --c-success-border:#bbf7d0;
  --c-warning:#d97706;
  --c-warning-surface:#fffbeb;
  --c-warning-border:#fde68a;
  --c-danger:#dc2626;
  --c-danger-surface:#fef2f2;
  --c-danger-border:#fecaca;
  --c-info:#2563eb;
  --c-info-surface:#eff6ff;
  --c-info-border:#bfdbfe;
  --space-0:0;
  --space-xs:0.25rem;
  --space-sm:0.5rem;
  --space-md:1rem;
  --space-lg:1.5rem;
  --space-xl:2rem;
  --space-2xl:3rem;
  --space-3xl:4rem;
  --radius-none:0;
  --radius-sm:0.25rem;
  --radius-md:0.5rem;
  --radius-lg:0.75rem;
  --radius-xl:1rem;
  --radius-full:9999px;
  --shadow-flat:none;
  --shadow-raised:0 1px 2px rgba(15,23,42,.06), 0 1px 3px rgba(15,23,42,.1);
  --shadow-floating:0 4px 12px rgba(15,23,42,.12);
  --shadow-overlay:0 16px 48px rgba(15,23,42,.22);
  --fs-caption:0.8125rem;
  --lh-caption:1.4;
  --fw-caption:400;
  --fs-body:0.9375rem;
  --lh-body:1.55;
  --fw-body:400;
  --fs-body-lg:1.0625rem;
  --lh-body-lg:1.6;
  --fw-body-lg:400;
  --fs-title:1.25rem;
  --lh-title:1.3;
  --fw-title:600;
  --fs-section:1.5rem;
  --lh-section:1.25;
  --fw-section:600;
  --fs-headline:1.875rem;
  --lh-headline:1.2;
  --fw-headline:700;
  --fs-display:2.5rem;
  --lh-display:1.1;
  --fw-display:800;
  color-scheme:light;
}
[data-theme="dark"]{
  color-scheme:dark;
  --c-brand:#3b82f6;
  --c-brand-hover:#60a5fa;
  --c-brand-contrast:#ffffff;
  --c-secondary:#94a3b8;
  --c-accent:#a78bfa;
  --c-canvas:#0f172a;
  --c-panel:#1e293b;
  --c-elevated:#334155;
  --c-sunken:#0b1220;
  --c-inverse:#f8fafc;
  --c-text:#f1f5f9;
  --c-text-2:#cbd5e1;
  --c-muted:#94a3b8;
  --c-text-inverse:#0f172a;
  --c-link:#60a5fa;
  --c-border:#334155;
  --c-border-subtle:#1e293b;
  --c-border-strong:#475569;
  --c-focus:#60a5fa;
  --c-success:#4ade80;
  --c-success-surface:#14271c;
  --c-success-border:#166534;
  --c-warning:#fbbf24;
  --c-warning-surface:#2a2410;
  --c-warning-border:#854d0e;
  --c-danger:#f87171;
  --c-danger-surface:#2a1414;
  --c-danger-border:#991b1b;
  --c-info:#60a5fa;
  --c-info-surface:#0f1f33;
  --c-info-border:#1e40af;
}

/* base */
hr{border:0;border-top:1px solid var(--c-border)}
code,pre{font-family:var(--font-mono)}
::placeholder{color:var(--c-muted)}

/* utilities: spacing */
.p-0{padding:var(--space-0)}.px-0{padding-inline:var(--space-0)}.py-0{padding-block:var(--space-0)}.pt-0{padding-top:var(--space-0)}.pb-0{padding-bottom:var(--space-0)}.m-0{margin:var(--space-0)}.my-0{margin-block:var(--space-0)}.mt-0{margin-top:var(--space-0)}.mb-0{margin-bottom:var(--space-0)}.gap-0{gap:var(--space-0)}
.p-xs{padding:var(--space-xs)}.px-xs{padding-inline:var(--space-xs)}.py-xs{padding-block:var(--space-xs)}.pt-xs{padding-top:var(--space-xs)}.pb-xs{padding-bottom:var(--space-xs)}.m-xs{margin:var(--space-xs)}.my-xs{margin-block:var(--space-xs)}.mt-xs{margin-top:var(--space-xs)}.mb-xs{margin-bottom:var(--space-xs)}.gap-xs{gap:var(--space-xs)}
.p-sm{padding:var(--space-sm)}.px-sm{padding-inline:var(--space-sm)}.py-sm{padding-block:var(--space-sm)}.pt-sm{padding-top:var(--space-sm)}.pb-sm{padding-bottom:var(--space-sm)}.m-sm{margin:var(--space-sm)}.my-sm{margin-block:var(--space-sm)}.mt-sm{margin-top:var(--space-sm)}.mb-sm{margin-bottom:var(--space-sm)}.gap-sm{gap:var(--space-sm)}
.p-md{padding:var(--space-md)}.px-md{padding-inline:var(--space-md)}.py-md{padding-block:var(--space-md)}.pt-md{padding-top:var(--space-md)}.pb-md{padding-bottom:var(--space-md)}.m-md{margin:var(--space-md)}.my-md{margin-block:var(--space-md)}.mt-md{margin-top:var(--space-md)}.mb-md{margin-bottom:var(--space-md)}.gap-md{gap:var(--space-md)}
.p-lg{padding:var(--space-lg)}.px-lg{padding-inline:var(--space-lg)}.py-lg{padding-block:var(--space-lg)}.pt-lg{padding-top:var(--space-lg)}.pb-lg{padding-bottom:var(--space-lg)}.m-lg{margin:var(--space-lg)}.my-lg{margin-block:var(--space-lg)}.mt-lg{margin-top:var(--space-lg)}.mb-lg{margin-bottom:var(--space-lg)}.gap-lg{gap:var(--space-lg)}
.p-xl{padding:var(--space-xl)}.px-xl{padding-inline:var(--space-xl)}.py-xl{padding-block:var(--space-xl)}.pt-xl{padding-top:var(--space-xl)}.pb-xl{padding-bottom:var(--space-xl)}.m-xl{margin:var(--space-xl)}.my-xl{margin-block:var(--space-xl)}.mt-xl{margin-top:var(--space-xl)}.mb-xl{margin-bottom:var(--space-xl)}.gap-xl{gap:var(--space-xl)}
.p-2xl{padding:var(--space-2xl)}.px-2xl{padding-inline:var(--space-2xl)}.py-2xl{padding-block:var(--space-2xl)}.pt-2xl{padding-top:var(--space-2xl)}.pb-2xl{padding-bottom:var(--space-2xl)}.m-2xl{margin:var(--space-2xl)}.my-2xl{margin-block:var(--space-2xl)}.mt-2xl{margin-top:var(--space-2xl)}.mb-2xl{margin-bottom:var(--space-2xl)}.gap-2xl{gap:var(--space-2xl)}
.p-3xl{padding:var(--space-3xl)}.px-3xl{padding-inline:var(--space-3xl)}.py-3xl{padding-block:var(--space-3xl)}.pt-3xl{padding-top:var(--space-3xl)}.pb-3xl{padding-bottom:var(--space-3xl)}.m-3xl{margin:var(--space-3xl)}.my-3xl{margin-block:var(--space-3xl)}.mt-3xl{margin-top:var(--space-3xl)}.mb-3xl{margin-bottom:var(--space-3xl)}.gap-3xl{gap:var(--space-3xl)}
.mx-auto{margin-inline:auto}.ml-auto{margin-left:auto}

/* utilities: color */
.bg-canvas{background:var(--c-canvas)}.bg-panel{background:var(--c-panel)}.bg-elevated{background:var(--c-elevated)}.bg-sunken{background:var(--c-sunken)}.bg-inverse{background:var(--c-inverse)}.bg-brand{background:var(--c-brand)}.bg-secondary{background:var(--c-secondary)}.bg-accent{background:var(--c-accent)}.bg-success{background:var(--c-success)}.bg-warning{background:var(--c-warning)}.bg-danger{background:var(--c-danger)}.bg-info{background:var(--c-info)}
.text-primary{color:var(--c-text)}.text-secondary{color:var(--c-text-2)}.text-muted{color:var(--c-muted)}.text-inverse{color:var(--c-text-inverse)}.text-brand{color:var(--c-brand)}.text-link{color:var(--c-link)}.text-success{color:var(--c-success)}.text-warning{color:var(--c-warning)}.text-danger{color:var(--c-danger)}.text-info{color:var(--c-info)}
.border{border:1px solid var(--c-border)}.border-strong{border:1px solid var(--c-border-strong)}.border-t{border-top:1px solid var(--c-border)}

/* utilities: type */
.text-caption{font-size:var(--fs-caption);line-height:var(--lh-caption);font-weight:var(--fw-caption)}.text-body{font-size:var(--fs-body);line-height:var(--lh-body);font-weight:var(--fw-body)}.text-body-lg{font-size:var(--fs-body-lg);line-height:var(--lh-body-lg);font-weight:var(--fw-body-lg)}.text-title{font-size:var(--fs-title);line-height:var(--lh-title);font-weight:var(--fw-title)}.text-section{font-size:var(--fs-section);line-height:var(--lh-section);font-weight:var(--fw-section)}.text-headline{font-size:var(--fs-headline);line-height:var(--lh-headline);font-weight:var(--fw-headline)}.text-display{font-size:var(--fs-display);line-height:var(--lh-display);font-weight:var(--fw-display)}
.font-regular{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}
.text-center{text-align:center}.text-right{text-align:right}.uppercase{text-transform:uppercase;letter-spacing:.05em}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mono{font-family:var(--font-mono)}

/* utilities: radius + shadow */
.radius-none{border-radius:var(--radius-none)}.radius-sm{border-radius:var(--radius-sm)}.radius-md{border-radius:var(--radius-md)}.radius-lg{border-radius:var(--radius-lg)}.radius-xl{border-radius:var(--radius-xl)}.radius-full{border-radius:var(--radius-full)}
.shadow-flat{box-shadow:var(--shadow-flat)}.shadow-raised{box-shadow:var(--shadow-raised)}.shadow-floating{box-shadow:var(--shadow-floating)}.shadow-overlay{box-shadow:var(--shadow-overlay)}

/* utilities: layout */
.container{width:100%;max-width:72rem;margin-inline:auto;padding-inline:var(--space-md)}
.stack{display:flex;flex-direction:column;gap:var(--space-md)}
.stack-sm{display:flex;flex-direction:column;gap:var(--space-sm)}
.stack-lg{display:flex;flex-direction:column;gap:var(--space-lg)}
.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}
.row{display:flex;align-items:center;gap:var(--space-sm)}
.flex{display:flex}.inline-flex{display:inline-flex}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}
.items-center{align-items:center}.items-start{align-items:flex-start}
.justify-center{justify-content:center}.justify-between{justify-content:space-between}
.flex-1{flex:1 1 0%}.flex-wrap{flex-wrap:wrap}.shrink-0{flex-shrink:0}
.grid{display:grid;gap:var(--space-lg)}
.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}
.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}
.relative{position:relative}.absolute{position:absolute}.overflow-hidden{overflow:hidden}
.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}
@media (max-width:768px){
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .md-hidden{display:none}
}

/* components: button */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:.5rem 1rem;border:1px solid transparent;border-radius:var(--radius-md);font-weight:600;font-size:var(--fs-body);line-height:1;cursor:pointer;transition:background .15s,border-color .15s,color .15s;text-decoration:none}
.btn:hover{text-decoration:none}
.btn:disabled,.btn.disabled{opacity:.55;cursor:not-allowed}
.btn--primary{background:var(--c-brand);color:var(--c-brand-contrast)}
.btn--primary:hover{background:var(--c-brand-hover)}
.btn--secondary{background:var(--c-sunken);color:var(--c-text);border-color:var(--c-border)}
.btn--secondary:hover{background:var(--c-elevated)}
.btn--danger{background:var(--c-danger);color:#fff}
.btn--danger:hover{filter:brightness(.93)}
.btn--ghost{background:transparent;color:var(--c-brand)}
.btn--ghost:hover{background:var(--c-sunken)}
.btn--sm{padding:.35rem .7rem;font-size:var(--fs-caption)}
.btn--lg{padding:.7rem 1.4rem;font-size:var(--fs-body-lg)}
.btn--block{width:100%}
.btn__icon{display:inline-flex}

/* components: icon */
.icon{display:inline-block;width:1.25em;height:1.25em;vertical-align:-0.125em;fill:none;stroke:currentColor}
.icon--sm{width:1em;height:1em}.icon--lg{width:1.5em;height:1.5em}.icon--xl{width:2em;height:2em}

/* components: card */
.card{background:var(--c-panel);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised);padding:var(--space-lg)}
.card--interactive{transition:box-shadow .2s,transform .2s}
.card--interactive:hover{box-shadow:var(--shadow-floating);transform:translateY(-2px)}
.card__icon{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:var(--radius-md);background:var(--c-info-surface);color:var(--c-brand);margin-bottom:var(--space-md)}
.card__title{font-size:var(--fs-title);font-weight:600;margin-bottom:var(--space-xs)}
.card__body{color:var(--c-text-2)}
.card__link{display:inline-flex;align-items:center;gap:var(--space-xs);color:var(--c-brand);font-weight:600;margin-top:var(--space-sm)}

/* components: stat */
.stat{background:var(--c-panel);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised);padding:var(--space-lg)}
.stat__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}
.stat__icon{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:var(--radius-md);background:var(--c-info-surface);color:var(--c-brand)}
.stat__value{font-size:var(--fs-headline);font-weight:700}
.stat__foot{display:flex;align-items:center;justify-content:space-between}
.stat__label{font-size:var(--fs-caption);font-weight:500;color:var(--c-text-2)}
.stat__trend{font-size:var(--fs-caption);font-weight:600}
.stat__trend--up{color:var(--c-success)}.stat__trend--down{color:var(--c-danger)}

/* components: form field */
.field{display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:var(--space-md)}
.field__label{font-size:var(--fs-caption);font-weight:600;color:var(--c-text-2)}
.field__input{width:100%;padding:.55rem .75rem;background:var(--c-panel);border:1px solid var(--c-border);border-radius:var(--radius-md);font-size:var(--fs-body);transition:border-color .15s,box-shadow .15s}
.field__input:focus{outline:none;border-color:var(--c-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--c-focus) 25%,transparent)}
.field--error .field__input{border-color:var(--c-danger)}
.field__error{font-size:var(--fs-caption);color:var(--c-danger)}
.field__hint{font-size:var(--fs-caption);color:var(--c-muted)}
.checkbox{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:var(--fs-body)}

/* components: alert (flash) */
.alert{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);border:1px solid;border-radius:var(--radius-md);margin-bottom:var(--space-md)}
.alert__icon{flex-shrink:0}
.alert__body{font-size:var(--fs-body);font-weight:500}
.alert--success{background:var(--c-success-surface);border-color:var(--c-success-border);color:var(--c-success)}
.alert--danger{background:var(--c-danger-surface);border-color:var(--c-danger-border);color:var(--c-danger)}
.alert--warning{background:var(--c-warning-surface);border-color:var(--c-warning-border);color:var(--c-warning)}
.alert--info{background:var(--c-info-surface);border-color:var(--c-info-border);color:var(--c-info)}

/* components: badge */
.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .55rem;border-radius:var(--radius-full);font-size:var(--fs-caption);font-weight:600;background:var(--c-sunken);color:var(--c-text-2)}
.badge--success{background:var(--c-success-surface);color:var(--c-success)}
.badge--danger{background:var(--c-danger-surface);color:var(--c-danger)}
.badge--warning{background:var(--c-warning-surface);color:var(--c-warning)}
.badge--info{background:var(--c-info-surface);color:var(--c-info)}

/* components: avatar */
.avatar{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:var(--radius-full);background:var(--c-info-surface);color:var(--c-brand);font-weight:600;overflow:hidden}
.avatar--sm{width:1.75rem;height:1.75rem;font-size:var(--fs-caption)}
.avatar--lg{width:3.5rem;height:3.5rem}

/* components: nav */
.nav{background:var(--c-panel);border-bottom:1px solid var(--c-border);box-shadow:var(--shadow-raised)}
.nav__inner{display:flex;align-items:center;justify-content:space-between;height:4rem;max-width:72rem;margin-inline:auto;padding-inline:var(--space-md)}
.nav__brand{display:flex;align-items:center;gap:var(--space-sm);font-weight:700;font-size:var(--fs-title);color:var(--c-text)}
.nav__links{display:flex;align-items:center;gap:var(--space-lg)}
.nav__link{color:var(--c-text-2);font-weight:500;font-size:var(--fs-body);padding:.25rem 0;border-bottom:2px solid transparent}
.nav__link:hover{color:var(--c-text);text-decoration:none}
.nav__link--active{color:var(--c-text);border-bottom-color:var(--c-brand)}
.nav__session{display:flex;align-items:center;gap:var(--space-md)}
.nav__toggle{display:none;background:none;border:0;padding:.5rem;border-radius:var(--radius-md);color:var(--c-text-2);cursor:pointer}
.nav__toggle:hover{background:var(--c-sunken)}

/* components: theme toggle */
.theme-toggle{background:none;border:1px solid var(--c-border);border-radius:var(--radius-md);padding:.4rem;color:var(--c-text-2);cursor:pointer;display:inline-flex}
.theme-toggle:hover{background:var(--c-sunken);color:var(--c-text)}

/* components: hero + sections (marketing pages) */
.hero{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2xl);align-items:center;padding:var(--space-3xl) 0}
.hero__title{font-size:var(--fs-display);font-weight:800;letter-spacing:-.02em}
.hero__highlight{color:var(--c-brand)}
.hero__text{margin-top:var(--space-md);font-size:var(--fs-body-lg);color:var(--c-text-2);max-width:32rem}
.hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-lg)}
.hero__media{display:flex;align-items:center;justify-content:center;min-height:18rem;border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--c-accent),var(--c-brand));color:#fff;text-align:center;padding:var(--space-xl)}
.section{padding:var(--space-3xl) 0}
.section__eyebrow{color:var(--c-brand);font-weight:600;font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.08em;text-align:center}
.section__title{margin-top:var(--space-sm);font-size:var(--fs-headline);font-weight:800;text-align:center}
.section__text{margin-top:var(--space-sm);color:var(--c-text-2);text-align:center;max-width:42rem;margin-inline:auto}
.feature__icon{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:var(--radius-md);background:var(--c-brand);color:#fff;margin-bottom:var(--space-sm)}
.feature__title{font-size:var(--fs-body-lg);font-weight:600;margin-bottom:var(--space-xs)}
.feature__text{color:var(--c-text-2)}

/* components: auth card + timeline */
.auth{display:flex;align-items:center;justify-content:center;padding:var(--space-2xl) var(--space-md)}
.auth__card{width:100%;max-width:26rem}
.auth__head{text-align:center;margin-bottom:var(--space-lg)}
.auth__badge{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:var(--radius-full);background:var(--c-info-surface);color:var(--c-brand);margin-bottom:var(--space-sm)}
.timeline{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--space-lg)}
.timeline__item{display:flex;gap:var(--space-sm)}
.timeline__icon{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:var(--radius-full);color:#fff;flex-shrink:0}

/* components: modal */
.modal__backdrop{position:fixed;inset:0;background:rgba(15,23,42,.5);display:flex;align-items:center;justify-content:center;padding:var(--space-md);z-index:50}
.modal__panel{background:var(--c-panel);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay);max-width:32rem;width:100%;padding:var(--space-lg)}
.modal__title{font-size:var(--fs-title);font-weight:600;margin-bottom:var(--space-sm)}
.modal__actions{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-lg)}

@media (max-width:768px){
  .hero{grid-template-columns:1fr;padding:var(--space-2xl) 0}
  .nav__links{gap:var(--space-md)}
  .nav__toggle{display:inline-flex}
}
