/* Scoped classes: copy selectively into an existing app. No framework dependency. */
.ag-root{font-family:var(--ag-font);color:var(--ag-text);background:var(--ag-surface);font-size:var(--ag-body);line-height:1.6}
.ag-root *{box-sizing:border-box}.ag-root img{max-width:100%;height:auto}
.ag-container{width:min(calc(100% - 2 * var(--ag-gutter)),var(--ag-max));margin-inline:auto}
.ag-section{padding-block:var(--ag-section)}.ag-reading{max-width:var(--ag-reading)}
.ag-display,.ag-root h1,.ag-root h2,.ag-root h3{font-weight:800;letter-spacing:-.035em;line-height:1.12;margin:0 0 24px}
.ag-display{font-size:var(--ag-display)}.ag-root h1{font-size:var(--ag-h1)}.ag-root h2{font-size:var(--ag-h2)}.ag-root h3{font-size:var(--ag-h3)}
.ag-root a:not(.ag-button){color:var(--ag-link);text-decoration:underline;text-underline-offset:.2em}.ag-root a:not(.ag-button):hover{text-decoration-thickness:3px}
.ag-eyebrow{font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:24px}
.ag-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border:2px solid var(--ag-purple);border-radius:var(--ag-radius-control);background:var(--ag-purple);color:var(--ag-white);font:700 16px var(--ag-font);text-decoration:none;cursor:pointer;transition:background 160ms ease,transform 160ms ease}
.ag-button:hover{background:var(--ag-aubergine);border-color:var(--ag-aubergine)}.ag-button:active{transform:translateY(1px)}
.ag-button.secondary{background:transparent;color:var(--ag-text);border-color:var(--ag-text)}.ag-button.secondary:hover{background:var(--ag-mint);color:var(--ag-aubergine);border-color:var(--ag-aubergine)}
[data-ag-theme="dark"] .ag-button{background:var(--ag-mint);color:var(--ag-aubergine);border-color:var(--ag-mint)}
[data-ag-theme="dark"] .ag-button:hover{background:var(--ag-paper);border-color:var(--ag-paper)}
.ag-root :focus-visible{outline:3px solid var(--ag-aubergine);outline-offset:4px;box-shadow:0 0 0 3px var(--ag-paper)}
[data-ag-theme="dark"] :focus-visible{outline-color:var(--ag-mint);box-shadow:0 0 0 3px var(--ag-aubergine)}
.ag-button:disabled{opacity:.45;cursor:not-allowed;transform:none}
.ag-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.ag-card{padding:32px;background:var(--ag-white);border:1px solid var(--ag-line);border-radius:var(--ag-radius-card);color:var(--ag-aubergine)}
.ag-card p{margin-bottom:0}.ag-rule{height:5px;width:96px;background:linear-gradient(90deg,var(--ag-aubergine) 0 31%,transparent 31% 34%,var(--ag-purple) 34% 65%,transparent 65% 68%,var(--ag-mint) 68%);transform:skewX(-28deg);margin-bottom:32px}
.ag-field{display:grid;gap:8px;max-width:560px;margin-bottom:24px}.ag-field label{font-weight:700;font-size:16px}.ag-field input,.ag-field textarea,.ag-field select{font:400 18px var(--ag-font);color:var(--ag-aubergine);background:white;border:1.5px solid var(--ag-muted);border-radius:6px;min-height:48px;padding:12px;max-width:100%}
.ag-field [aria-invalid="true"]{border:2px solid var(--ag-error)}.ag-hint{font-size:14px;color:var(--ag-muted)}.ag-error{color:var(--ag-error);font-size:14px;font-weight:600}.ag-alert{padding:20px;border-left:4px solid var(--ag-success);background:var(--ag-mint);color:var(--ag-aubergine)}
.ag-skip{position:absolute;left:20px;top:-100px;background:white;padding:12px;z-index:10}.ag-skip:focus{top:12px}
@media(max-width:48rem){.ag-grid{grid-template-columns:1fr}.ag-card{padding:24px}}
@media(prefers-reduced-motion:reduce){.ag-root *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.ag-root .ag-display{font-size:var(--ag-display)}
