@font-face{font-family:Quicksand;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/quicksand-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{--color-brand:#12a068;--color-brand-strong:#096146;--color-brand-soft:#e8fff5;--color-brand-deep:#002919;--color-ink:#0e0e0e;--color-mint:#46ffb0;--color-ink-muted:#333333;--color-ink-subtle:#5c5c5c;--color-surface:#ffffff;--color-surface-muted:#f7f7f8;--color-border:#d5d5d5;--color-border-strong:#6f7579;--color-focus:#002919;--color-danger:#b3261e;--color-success:#146c2e;--color-warning:#7a4b00;--color-info:#0b4f9c;--font-body:system-ui,"Segoe UI",Roboto,sans-serif;--font-heading:"Quicksand","Segoe UI",system-ui,sans-serif;--font-mono:ui-monospace,"SFMono-Regular",Menlo,monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.5625rem;--text-2xl:1.9375rem;--text-3xl:2.4375rem;--space-3xs:0.125rem;--space-2xs:0.25rem;--space-xs:0.5rem;--space-sm:0.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-full:9999px;--shadow-sm:0 1px 2px rgba(6,6,6,0.08);--shadow-md:0 4px 12px rgba(6,6,6,0.12);--duration-fast:120ms;--duration-base:200ms;--easing-standard:cubic-bezier(0.2,0,0,1);--target-size:44px;--content-width:72rem}*,:after,:before{box-sizing:border-box}html{font-size:100%}body{margin:0;background:var(--color-surface-muted);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-md);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-heading);font-weight:600;line-height:1.2;margin:0 0 var(--space-sm)}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}p{margin:0 0 var(--space-md);max-width:68ch}a{color:var(--color-brand-strong);text-decoration-thickness:2px;text-underline-offset:2px}a:hover{color:var(--color-brand)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}.skip-link{position:absolute;left:var(--space-md);top:var(--space-md);z-index:10;padding:var(--space-sm) var(--space-md);background:var(--color-ink);color:var(--color-surface);border-radius:var(--radius-md);transform:translateY(-200%)}.skip-link:focus-visible{transform:translateY(0)}.app-header{background:var(--color-surface);border-bottom:1px solid var(--color-border)}.app-footer__inner,.app-header__inner,.app-main{width:100%;max-width:var(--content-width);margin:0 auto;padding:0 var(--space-lg)}.app-header__inner{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md);min-height:4rem;padding-top:var(--space-xs);padding-bottom:var(--space-xs)}.brand{display:inline-flex;align-items:center;gap:var(--space-xs);font-family:var(--font-heading);font-size:var(--text-lg);font-weight:700;color:var(--color-ink);text-decoration:none}.brand:hover{color:var(--color-brand)}.brand__mark{display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:var(--radius-md);background:var(--color-brand-deep);color:var(--color-mint);font-size:var(--text-sm);font-weight:700}.badge{display:inline-flex;align-items:center;gap:var(--space-2xs);padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface-muted);color:var(--color-ink-muted);font-size:var(--text-xs);font-weight:600;letter-spacing:.02em;text-transform:uppercase}.app-nav{margin-left:auto}.app-nav__list{display:flex;flex-wrap:wrap;gap:var(--space-2xs);list-style:none;margin:0;padding:0}.app-nav__link{display:inline-flex;align-items:center;min-height:var(--target-size);padding:0 var(--space-sm);border-radius:var(--radius-md);color:var(--color-ink-muted);font-weight:500;text-decoration:none}.app-nav__link:hover{background:var(--color-surface-muted);color:var(--color-ink)}.app-nav__link[aria-current=page]{background:var(--color-brand-soft);color:var(--color-brand-strong);font-weight:600}.app-main{padding-top:var(--space-xl);padding-bottom:var(--space-2xl)}.app-main:focus{outline:none}.lede{color:var(--color-ink-muted);font-size:var(--text-lg)}.card-grid{display:grid;grid-gap:var(--space-md);gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));margin:var(--space-lg) 0 0;padding:0;list-style:none}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-lg)}.card h2{font-size:var(--text-lg)}.card p:last-child{margin-bottom:0}.status{display:inline-flex;align-items:center;gap:var(--space-2xs);font-size:var(--text-sm);font-weight:600}.status--planned{color:var(--color-warning)}.status--ready{color:var(--color-success)}.form-field{display:block;margin-bottom:var(--space-md);max-width:24rem}.form-field__label{font-weight:600}.form-field__hint,.form-field__label{display:block;margin-bottom:var(--space-2xs)}.form-field__hint{color:var(--color-ink-muted);font-size:var(--text-sm)}.form-field__input{width:100%;padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface)}.button,.form-field__input{min-height:var(--target-size);color:var(--color-ink);font:inherit}.button{padding:0 var(--space-lg);border:0;border-radius:var(--radius-full);background:var(--color-brand);font-weight:600;cursor:pointer}.button:hover{background:var(--color-brand-strong);color:var(--color-surface)}.button:disabled{background:var(--color-surface-muted);border:1px solid var(--color-border-strong);color:var(--color-ink-muted);cursor:not-allowed}.notice{border-left:4px solid var(--color-info);background:var(--color-surface);padding:var(--space-md) var(--space-lg);border-radius:0 var(--radius-md) var(--radius-md) 0;max-width:40rem}.notice p:last-child{margin-bottom:0}.token-table{width:100%;border-collapse:collapse;margin:var(--space-md) 0 var(--space-xl);background:var(--color-surface)}.token-table caption{text-align:left;font-weight:600;padding-bottom:var(--space-xs)}.token-table td,.token-table th{text-align:left;padding:var(--space-xs) var(--space-sm);border-bottom:1px solid var(--color-border);font-size:var(--text-sm)}.token-table th{color:var(--color-ink-muted);font-weight:600}.swatch{display:inline-block;width:1.5rem;height:1.5rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);vertical-align:middle}.app-footer{background:var(--color-brand-deep)}.app-footer .badge{border-color:var(--color-mint);background:transparent;color:var(--color-mint)}.app-footer__inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-xs);padding-top:var(--space-md);padding-bottom:var(--space-md);color:var(--color-brand-soft);font-size:var(--text-sm)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms;scroll-behavior:auto}}@media (min-width:768px){.app-main{padding-top:var(--space-2xl)}}