:root{--sa-bg: #f4f5f2;--sa-bg-raised: #ffffff;--sa-bg-sunken: #eceee9;--sa-surface-1: #ffffff;--sa-surface-2: #eceee9;--sa-surface-3: #e3e4df;--sa-line: #e3e4df;--sa-line-strong: #cfd2ca;--sa-ink: #0b0d10;--sa-ink-muted: #565b64;--sa-ink-dim: #868c96;--sa-ink-faint: #aab0ba;--sa-violet: #00c882;--sa-violet-soft: #38e0a0;--sa-violet-deep: #009e66;--sa-link: #00794e;--sa-indigo: #007a4f;--sa-brand-wash: #dcf7ec;--sa-electric: #009e66;--sa-electric-soft:#dcf7ec;--sa-electric-deep:#007a4f;--sa-amber: #9a6b16;--sa-coral: #b3362c;--sa-cyan: #009e66;--sa-mint: #009e66;--sa-on-accent: #0b0d10;--sa-xp: var(--sa-electric);--sa-streak: #9a6b16;--sa-heart: #b3362c;--sa-gold: var(--sa-streak);--sa-r-xs: 4px;--sa-r-sm: 8px;--sa-r-md: 12px;--sa-r-lg: 16px;--sa-r-xl: 22px;--sa-r-pill: 999px;--sa-glow-violet: 0 0 0 1px var(--sa-line-strong), 0 6px 18px rgba(11, 13, 16, .07);--sa-glow-electric: 0 0 0 1px var(--sa-line-strong), 0 6px 18px rgba(11, 13, 16, .07);--sa-shadow-card: 0 1px 2px rgba(11, 13, 16, .05), 0 8px 24px rgba(11, 13, 16, .05);--sa-shadow-pop: 0 1px 2px rgba(11, 13, 16, .12);--sa-font-display: "Aeonik", "General Sans", "Satoshi", "Segoe UI", system-ui, sans-serif;--sa-font-sans: system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--sa-font-mono: ui-monospace, "Cascadia Mono", "JetBrains Mono", Consolas, monospace;--sa-ease-out: cubic-bezier(.2,.7,.3,1);--sa-ease-bouncy: cubic-bezier(.2,.9,.3,1.2)}:root[data-theme=light]{--sa-bg: #f4f5f2;--sa-bg-raised: #ffffff;--sa-bg-sunken: #eceee9;--sa-surface-1: #ffffff;--sa-surface-2: #eceee9;--sa-surface-3: #e3e4df;--sa-line: #e3e4df;--sa-line-strong: #cfd2ca;--sa-ink: #0b0d10;--sa-ink-muted: #565b64;--sa-ink-dim: #868c96;--sa-ink-faint: #aab0ba;--sa-brand-wash: #dcf7ec;--sa-on-accent: #0b0d10;--sa-link: #00794e}@media(prefers-color-scheme:dark){:root{--sa-bg: #0c0f0d;--sa-bg-raised: #141814;--sa-bg-sunken: #0a0d0b;--sa-surface-1: #141814;--sa-surface-2: #1b201b;--sa-surface-3: #232823;--sa-line: #232823;--sa-line-strong: #333a33;--sa-ink: #eef2ee;--sa-ink-muted: #a7b0a8;--sa-ink-dim: #7c857d;--sa-ink-faint: #59615a;--sa-violet: #2ee6a0;--sa-violet-soft: #6bf0c0;--sa-violet-deep: #14c584;--sa-link: #2ee6a0;--sa-brand-wash: #103227;--sa-electric: #2ee6a0;--sa-electric-soft:#103227;--sa-electric-deep:#7bf0c2;--sa-amber: #d0a24a;--sa-coral: #e07a72;--sa-cyan: #2ee6a0;--sa-mint: #2ee6a0;--sa-on-accent: #06120c;--sa-glow-violet: 0 0 0 1px var(--sa-line-strong), 0 6px 18px rgba(0, 0, 0, .4);--sa-glow-electric: 0 0 0 1px var(--sa-line-strong), 0 6px 18px rgba(0, 0, 0, .4);--sa-shadow-card: 0 1px 2px rgba(0, 0, 0, .35), 0 8px 24px rgba(0, 0, 0, .35);--sa-shadow-pop: 0 1px 2px rgba(0, 0, 0, .55)}}:root[data-theme=dark]{--sa-bg: #0c0f0d;--sa-bg-raised: #141814;--sa-bg-sunken: #0a0d0b;--sa-surface-1: #141814;--sa-surface-2: #1b201b;--sa-surface-3: #232823;--sa-line: #232823;--sa-line-strong: #333a33;--sa-ink: #eef2ee;--sa-ink-muted: #a7b0a8;--sa-ink-dim: #7c857d;--sa-ink-faint: #59615a;--sa-violet: #2ee6a0;--sa-violet-soft: #6bf0c0;--sa-violet-deep: #14c584;--sa-link: #2ee6a0;--sa-brand-wash: #103227;--sa-electric: #2ee6a0;--sa-electric-soft:#103227;--sa-electric-deep:#7bf0c2;--sa-amber: #d0a24a;--sa-coral: #e07a72;--sa-cyan: #2ee6a0;--sa-mint: #2ee6a0;--sa-on-accent: #06120c;--sa-glow-violet: 0 0 0 1px var(--sa-line-strong), 0 6px 18px rgba(0, 0, 0, .4);--sa-glow-electric: 0 0 0 1px var(--sa-line-strong), 0 6px 18px rgba(0, 0, 0, .4);--sa-shadow-card: 0 1px 2px rgba(0, 0, 0, .35), 0 8px 24px rgba(0, 0, 0, .35);--sa-shadow-pop: 0 1px 2px rgba(0, 0, 0, .55)}.sa-root{font-family:var(--sa-font-sans);color:var(--sa-ink);background:var(--sa-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sa-root *::-webkit-scrollbar{width:0;height:0}.sa-root *{scrollbar-width:none}.cert-app{margin:0;min-height:100vh;font-family:var(--sa-font-sans);background:var(--sa-bg);color:var(--sa-ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:light dark}.ca-bg{position:fixed;inset:0 0 auto;height:3px;pointer-events:none;z-index:0;background:linear-gradient(90deg,var(--sa-violet),var(--sa-violet-soft))}.cert-app>main,.cert-app .ca-layer{position:relative;z-index:1}.ca-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.ca-card{background:var(--sa-bg-raised);border:1px solid var(--sa-line);border-radius:var(--sa-r-lg);box-shadow:var(--sa-shadow-card);padding:2rem}.ca-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--sa-r-pill);padding:.72rem 1.5rem;font-family:var(--sa-font-sans);font-size:.9rem;font-weight:700;letter-spacing:.005em;text-decoration:none;cursor:pointer;background:var(--sa-violet);color:var(--sa-on-accent);box-shadow:none;transition:background .14s var(--sa-ease-out),filter .14s var(--sa-ease-out),transform .08s var(--sa-ease-out)}.ca-btn:hover:not(:disabled):not([aria-disabled=true]){background:var(--sa-violet-soft)}.ca-btn:active:not(:disabled):not([aria-disabled=true]){transform:translateY(1px)}.ca-btn:focus-visible{outline:2px solid var(--sa-violet-deep);outline-offset:2px}.ca-btn:disabled,.ca-btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.ca-btn--violet{background:var(--sa-violet);color:var(--sa-on-accent);border-color:transparent}.ca-btn--violet:hover:not(:disabled):not([aria-disabled=true]){background:var(--sa-violet-soft)}.ca-btn--ghost{background:transparent;color:var(--sa-ink);border:1px solid var(--sa-line-strong);box-shadow:none}.ca-btn--ghost:hover:not(:disabled):not([aria-disabled=true]){background:var(--sa-surface-2);border-color:var(--sa-ink-dim)}.ca-btn--sm{padding:.45rem 1rem;font-size:.8rem}.ca-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--sa-r-pill);font-family:var(--sa-font-mono);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:var(--sa-brand-wash);color:var(--sa-violet-deep);border:1px solid var(--sa-violet)}.ca-pill--electric,.ca-pill--mint{background:var(--sa-electric-soft);color:var(--sa-electric-deep);border-color:var(--sa-electric)}.ca-pill--amber{background:var(--sa-surface-2);color:var(--sa-amber);border-color:var(--sa-amber)}.ca-pill--coral{background:var(--sa-surface-2);color:var(--sa-coral);border-color:var(--sa-coral)}.ca-pill--neutral{background:var(--sa-surface-2);color:var(--sa-ink-muted);border-color:var(--sa-line-strong)}.ca-label{font-family:var(--sa-font-mono);font-size:.72rem;font-weight:600;color:var(--sa-ink-muted);letter-spacing:.06em;text-transform:uppercase}.ca-input{font:inherit;font-family:var(--sa-font-sans);font-size:.95rem;padding:.65rem .85rem;border:1px solid var(--sa-line-strong);border-radius:var(--sa-r-sm);background:var(--sa-bg-raised);color:var(--sa-ink)}.ca-input::placeholder{color:var(--sa-ink-faint)}.ca-input:focus{outline:2px solid var(--sa-violet);outline-offset:1px;border-color:var(--sa-violet)}.ca-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:.9rem 1.25rem;margin:0 0 2rem;background:var(--sa-bg-raised);border:1px solid var(--sa-line);border-radius:var(--sa-r-lg);box-shadow:var(--sa-shadow-card)}.ca-wordmark{font-family:var(--sa-font-display);font-size:1.05rem;font-weight:800;letter-spacing:-.01em;color:var(--sa-ink);margin:0}.ca-eyebrow{font-family:var(--sa-font-mono);font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--sa-violet-deep);margin:0 0 .4rem}.ca-num{font-family:var(--sa-font-mono);font-weight:700;font-size:.85em;color:var(--sa-violet-deep);letter-spacing:.02em;margin-right:.6em}.ca-marker{display:inline-flex;align-items:baseline;gap:.6rem}.ca-marker__num{font-family:var(--sa-font-mono);font-weight:700;color:var(--sa-violet-deep);font-size:.9em}.ca-msg{font-size:.88rem;padding:.75rem 1rem;border-radius:var(--sa-r-sm);line-height:1.5;border:1px solid var(--sa-line-strong);background:var(--sa-surface-1);color:var(--sa-ink-muted)}.ca-msg--success{color:var(--sa-electric-deep);border-color:var(--sa-electric);background:var(--sa-electric-soft)}.ca-msg--error{color:var(--sa-coral);border-color:var(--sa-coral);background:var(--sa-surface-2)}.ca-seal,.ca-medallion{--mark-ring: var(--sa-violet);width:58px;height:58px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--sa-bg-raised);border:2px solid var(--mark-ring);color:var(--sa-ink);font-family:var(--sa-font-mono);font-size:1rem;font-weight:700;letter-spacing:.02em;box-shadow:inset 0 0 0 4px var(--sa-bg-raised),inset 0 0 0 5px color-mix(in srgb,var(--mark-ring) 22%,transparent);position:relative}.ca-seal:after,.ca-medallion:after{content:none}.ca-seal--expert,.ca-medallion--expert{--mark-ring: var(--sa-violet-deep)}.ca-seal--master,.ca-medallion--master{--mark-ring: var(--sa-ink)}.ca-seal--architect,.ca-medallion--architect{--mark-ring: var(--sa-amber)}.ca-seal--blue,.ca-medallion--blue{--mark-ring: var(--sa-violet)}.ca-medallion--earned{box-shadow:inset 0 0 0 4px var(--sa-bg-raised),0 0 0 3px var(--sa-electric-soft);border-color:var(--sa-electric)}.ca-medallion--lg{width:96px;height:96px;font-size:1.6rem;border-width:3px}.ca-dots{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.ca-dots span{width:8px;height:8px;border-radius:50%;background:var(--sa-line-strong);transition:all .2s var(--sa-ease-out)}.ca-dots span[data-on]{background:var(--sa-violet)}.ca-link{color:var(--sa-link);text-decoration:underline}.ca-link:hover{color:var(--sa-ink)}.ca-mono{font-family:var(--sa-font-mono)}.ca-glow-electric{box-shadow:var(--sa-glow-electric)}.cert-app .ca-skel{display:block;border-radius:var(--sa-r-sm);background:linear-gradient(100deg,var(--sa-surface-2) 30%,var(--sa-surface-3) 50%,var(--sa-surface-2) 70%);background-size:200% 100%;animation:ca-skel-wave 1.4s ease-in-out infinite}.cert-app .ca-skel+.ca-skel{margin-top:.6rem}.cert-app .ca-skel--text{height:.85rem;width:100%;border-radius:var(--sa-r-xs)}.cert-app .ca-skel--text.ca-skel--last{width:62%}.cert-app .ca-skel--line{height:1rem;width:40%}.cert-app .ca-skel--block{height:7rem;width:100%;border-radius:var(--sa-r-md)}.cert-app .ca-skel-card{padding:1.5rem;border:1px solid var(--sa-line);border-radius:var(--sa-r-lg);background:var(--sa-bg-raised)}@keyframes ca-skel-wave{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.cert-app .ca-skel{animation:none;background:var(--sa-surface-2)}}.cert-app .ca-state{text-align:center;max-width:30rem;margin:2rem auto;padding:2rem 1.5rem;border:1px solid var(--sa-line);border-radius:var(--sa-r-lg);background:var(--sa-bg-raised)}.cert-app .ca-state__icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;margin:0 0 .9rem;font-size:1.2rem;background:var(--sa-brand-wash);color:var(--sa-violet-deep);border:1px solid var(--sa-violet)}.cert-app .ca-state--error .ca-state__icon{background:var(--sa-surface-2);color:var(--sa-coral);border-color:var(--sa-coral)}.cert-app .ca-state__title{font-family:var(--sa-font-display);font-weight:800;font-size:1.15rem;letter-spacing:-.01em;color:var(--sa-ink);margin:0 0 .4rem}.cert-app .ca-state__msg{font-size:.92rem;line-height:1.55;color:var(--sa-ink-muted);margin:0 0 1.1rem}.cert-app .ca-state__actions{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap}.cert-app .ca-progress{width:100%}.cert-app .ca-progress__head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin:0 0 .4rem}.cert-app .ca-progress__label{font-family:var(--sa-font-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--sa-ink-muted)}.cert-app .ca-progress__value{font-family:var(--sa-font-mono);font-size:.78rem;font-weight:700;color:var(--sa-violet-deep)}.cert-app .ca-progress__track{height:8px;border-radius:var(--sa-r-pill);background:var(--sa-surface-3);overflow:hidden}.cert-app .ca-progress__fill{height:100%;border-radius:var(--sa-r-pill);background:linear-gradient(90deg,var(--sa-violet-deep),var(--sa-violet));transition:width .4s var(--sa-ease-out)}.cert-app .ca-progress__remaining{font-family:var(--sa-font-mono);font-size:.7rem;color:var(--sa-ink-dim);margin:.35rem 0 0}@media(prefers-reduced-motion:reduce){.cert-app .ca-progress__fill{transition:none}}.cert-app .ca-protip{margin:1.25rem 0;padding:.9rem 1.15rem .95rem;border:1px solid var(--sa-line);border-inline-start:4px solid var(--sa-violet);border-radius:var(--sa-r-md);background:var(--sa-bg-sunken)}.cert-app .ca-protip__eyebrow{font-family:var(--sa-font-mono);font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sa-violet-deep);margin:0 0 .35rem}.cert-app .ca-protip__body{margin:0;font-size:.9rem;line-height:1.6;color:var(--sa-ink)}.cert-app .ca-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;font-family:var(--sa-font-mono);font-size:.74rem;letter-spacing:.03em;color:var(--sa-ink-dim);margin:0 0 1.25rem;padding:0;list-style:none}.cert-app .ca-crumbs__sep{color:var(--sa-ink-faint)}.cert-app .ca-crumbs a{color:var(--sa-ink-muted);text-decoration:none}.cert-app .ca-crumbs a:hover{color:var(--sa-violet-deep)}.cert-app .ca-crumbs [aria-current=page]{color:var(--sa-ink)}.cert-app .ca-burst{position:relative;display:inline-flex;align-items:center;justify-content:center;width:88px;height:88px}.cert-app .ca-burst__mark{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--sa-violet);color:var(--sa-on-accent);font-size:1.6rem;font-weight:800;animation:ca-burst-pop .5s var(--sa-ease-bouncy) both}.cert-app .ca-burst__ring{position:absolute;inset:0;border-radius:50%;border:2px solid var(--sa-violet);opacity:0;animation:ca-burst-ring .9s var(--sa-ease-out) forwards}.cert-app .ca-burst__spark{position:absolute;top:50%;left:50%;width:6px;height:6px;border-radius:50%;background:var(--sa-violet-soft);opacity:0;animation:ca-burst-spark .8s var(--sa-ease-out) forwards}@keyframes ca-burst-pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.12);opacity:1}to{transform:scale(1);opacity:1}}@keyframes ca-burst-ring{0%{transform:scale(.6);opacity:.8}to{transform:scale(1.5);opacity:0}}@keyframes ca-burst-spark{0%{transform:translate(-50%,-50%) rotate(var(--a, 0deg)) translateY(0);opacity:1}to{transform:translate(-50%,-50%) rotate(var(--a, 0deg)) translateY(-46px);opacity:0}}@media(prefers-reduced-motion:reduce){.cert-app .ca-burst__mark{animation:none}.cert-app .ca-burst__ring,.cert-app .ca-burst__spark{display:none}}.cert-app .ca-tip{position:relative;display:inline-flex}.cert-app .ca-tip__bubble{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:20;width:max-content;max-width:16rem;padding:.5rem .7rem;border-radius:var(--sa-r-sm);background:var(--sa-ink);color:var(--sa-bg-raised);font-size:.78rem;line-height:1.4;box-shadow:var(--sa-shadow-card)}.cert-app .ca-tip__bubble:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--sa-ink)}.cert-app .ca-checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.cert-app .ca-check-row{display:flex;align-items:center;gap:.7rem;padding:.6rem .8rem;border:1px solid var(--sa-line);border-radius:var(--sa-r-md);background:var(--sa-bg-raised)}.cert-app .ca-check-row__box{flex-shrink:0;width:20px;height:20px;border-radius:50%;border:2px solid var(--sa-line-strong);display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;color:transparent}.cert-app .ca-check-row--done .ca-check-row__box{background:var(--sa-violet);border-color:var(--sa-violet);color:var(--sa-on-accent)}.cert-app .ca-check-row__label{font-size:.9rem;color:var(--sa-ink)}.cert-app .ca-check-row--done .ca-check-row__label{color:var(--sa-ink-muted)}.cert-app .ca-checklist__bar{height:6px;border-radius:var(--sa-r-pill);background:var(--sa-surface-3);overflow:hidden;margin:.25rem 0 .75rem}.cert-app .ca-checklist__bar-fill{height:100%;background:var(--sa-violet);border-radius:var(--sa-r-pill);transition:width .4s var(--sa-ease-out)}@media(prefers-reduced-motion:reduce){.cert-app .ca-checklist__bar-fill{transition:none}}</content>{}
