@font-face{font-family:Newsreader;font-style:italic;font-weight:400 600;font-display:swap;src:url(/fonts/Newsreader-italic-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Newsreader;font-style:italic;font-weight:400 600;font-display:swap;src:url(/fonts/Newsreader-italic-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}@font-face{font-family:Newsreader;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/Newsreader-normal-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Newsreader;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/Newsreader-normal-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}@font-face{font-family:Inter Tight;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/InterTight-normal-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter Tight;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/InterTight-normal-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}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/JetBrainsMono-normal-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/JetBrainsMono-normal-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{--sp-ink:#14201a;--sp-bone:#f3eee2;--sp-bone-2:#e8e1cf;--sp-paper:#fbf8f1;--sp-apothecary:#1f4d3a;--sp-apothecary-2:#2c6a51;--sp-apothecary-3:#3f8a6c;--sp-moss:#c9d6c2;--sp-amber:#c9842b;--sp-amber-2:#e8b367;--sp-rule:#cdc4ac;--sp-muted:#6b6555;--sp-oxblood:#7a2e2e;--sp-pass:#1f4d3a;--sp-warn:#b87018;--sp-fail:#7a2e2e}:root,[data-theme=light]{--bg:var(--sp-bone);--surface:var(--sp-paper);--surface-2:var(--sp-bone-2);--text:var(--sp-ink);--text-muted:var(--sp-muted);--border:var(--sp-rule);--border-soft:#ddd5bf;--primary:var(--sp-apothecary);--primary-ink:var(--sp-bone);--accent:var(--sp-amber);--link:var(--sp-apothecary);--field-bg:var(--sp-bone)}[data-theme=dark]{--bg:var(--sp-ink);--surface:#1b2a22;--surface-2:#22332a;--text:var(--sp-bone);--text-muted:var(--sp-moss);--border:hsla(42,41%,92%,.16);--border-soft:hsla(42,41%,92%,.1);--primary:var(--sp-apothecary-3);--primary-ink:var(--sp-ink);--accent:var(--sp-amber-2);--link:var(--sp-amber-2);--field-bg:#1b2a22}:root{--font-display:"Newsreader",Georgia,"Times New Roman",serif;--font-ui:"Inter Tight",Helvetica,Arial,sans-serif;--font-mono:"JetBrains Mono",Menlo,Consolas,"Courier New",monospace;--t-display:76px;--t-display-lh:0.95;--t-display-ls:-1.2px;--t-title:36px;--t-title-lh:1.05;--t-title-ls:-0.6px;--t-heading:22px;--t-heading-lh:1.2;--t-heading-ls:-0.3px;--t-body:15px;--t-body-lh:1.5;--t-body-ls:0;--t-small:13px;--t-small-lh:1.5;--t-mono:12px;--t-mono-ls:0.6px;--t-label:9.5px;--t-label-ls:1.5px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px;--r-xs:2px;--r-sm:3px;--r-md:4px;--r-lg:6px;--r-pill:999px;--bw:1px;--bw-strong:2px;--shadow-1:0 1px 0 rgba(20,32,26,.04);--shadow-focus:0 0 0 3px rgba(31,77,58,.12);--shadow-pop:0 8px 28px rgba(20,32,26,.14)}[data-theme=dark]{--shadow-focus:0 0 0 3px rgba(63,138,108,.28)}:root{--focus-ring:var(--shadow-focus);--dur-instant:80ms;--dur-fast:120ms;--dur-base:160ms;--dur-slow:200ms;--dur-slower:280ms;--ease-standard:cubic-bezier(0.2,0,0,1);--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-in:cubic-bezier(0.4,0,1,1);--ease-inout:cubic-bezier(0.65,0,0.35,1);--ease:var(--ease-standard);--transition-hover:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease);--transition-focus:box-shadow var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease);--transition-toggle:background var(--dur-base) var(--ease-inout),color var(--dur-base) var(--ease-inout),transform var(--dur-base) var(--ease-inout);--transition-theme:background var(--dur-slow) var(--ease),color var(--dur-slow) var(--ease),border-color var(--dur-slow) var(--ease);--transition-modal:opacity var(--dur-slower) var(--ease-out),transform var(--dur-slower) var(--ease-out)}@keyframes sp-fade-in{0%{opacity:0}to{opacity:1}}@keyframes sp-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes sp-modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@keyframes sp-rise-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes sp-spin{to{transform:rotate(1turn)}}@keyframes sp-scan{0%{transform:translateY(-24px);opacity:.55}10%{opacity:.9}85%{opacity:.9}to{transform:translateY(210px);opacity:0}}@media (prefers-reduced-motion:reduce){:root{--dur-instant:0ms;--dur-fast:0ms;--dur-base:0ms;--dur-slow:0ms;--dur-slower:0ms}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body,html{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-ui);transition:var(--transition-theme);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}a{color:inherit}::selection{background:var(--sp-moss);color:var(--sp-apothecary)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--r-sm)}input::placeholder,textarea::placeholder{color:var(--text-muted)}.sp-mono{font-size:var(--t-mono);letter-spacing:var(--t-mono-ls)}.sp-label,.sp-mono{font-family:var(--font-mono)}.sp-label{font-size:var(--t-label);letter-spacing:var(--t-label-ls);text-transform:uppercase;color:var(--text-muted)}.sp-italic,.sp-serif{font-family:var(--font-display)}.sp-italic{font-style:italic}.sp-list-primary{font-weight:600;letter-spacing:-.1px;color:var(--text)}.sp-list-primary,.sp-list-secondary{font-family:var(--font-ui);font-size:var(--t-body)}.sp-list-secondary{font-weight:400;color:var(--text-muted)}.sp-card{background:var(--surface);border:var(--bw) solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-1)}.sp-btn{font-family:var(--font-ui);font-weight:600;font-size:var(--t-body);border:none;border-radius:var(--r-md);cursor:pointer;padding:12px 22px;transition:var(--transition-hover)}.sp-btn--primary{background:var(--primary);color:var(--primary-ink)}.sp-btn--ghost{background:transparent;color:var(--text);border:var(--bw) solid var(--border)}.sp-btn--amber{background:var(--accent);color:var(--sp-ink)}.sp-tag{font-family:var(--font-mono);font-size:9.5px;letter-spacing:1.4px;text-transform:uppercase;padding:4px 8px;border-radius:var(--r-xs);background:var(--surface-2);color:var(--text-muted)}:where(a,button,[role=button],select,[tabindex]):focus-visible{outline:2px solid var(--primary);outline-offset:2px}.sp-card-action{transition:var(--transition-hover)}.sp-card-action:hover{text-decoration:underline!important;text-underline-offset:3px}.sp-card-action:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:2px}.sp-nav-link{position:relative}.sp-nav-link:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--text-muted);opacity:0;transition:opacity var(--dur-fast) var(--ease)}.sp-nav-link:hover{color:var(--text)!important}.sp-nav-link:focus-visible:after,.sp-nav-link:hover:after{opacity:.45}.sp-nav-link--active:after{display:none}.sp-mobile-link:focus-visible,.sp-mobile-link:hover{background:var(--surface-2)!important;color:var(--text)!important}.sp-footer-link:focus-visible,.sp-footer-link:hover{color:var(--text)!important;text-decoration:underline!important;text-underline-offset:3px}.sp-btn-x{transition:var(--transition-hover),box-shadow var(--dur-fast) var(--ease),transform var(--dur-instant) var(--ease)}.sp-btn-x:not(:disabled):active{transform:translateY(1px)}.sp-btn-x--primary:not(:disabled):hover{background:color-mix(in srgb,var(--primary) 86%,var(--sp-ink))!important;box-shadow:var(--shadow-1)}.sp-btn-x--amber:not(:disabled):hover{background:color-mix(in srgb,var(--accent) 88%,var(--sp-ink))!important;box-shadow:var(--shadow-1)}.sp-btn-x--ghost:not(:disabled):hover,.sp-chip:not([aria-pressed=true]):not(:disabled):hover{background:var(--surface-2)!important;border-color:var(--text-muted)!important}.sp-chip:not([aria-pressed=true]):not(:disabled):hover{color:var(--text)!important}.sp-chip[aria-pressed=true]:not(:disabled):hover{filter:brightness(1.07)}a:not([class]):focus-visible,a:not([class]):hover{text-decoration-thickness:2px;text-underline-offset:2px}.sp-home-link{transition:opacity var(--dur-fast) var(--ease)}.sp-home-link:hover{opacity:.8}.sp-select{transition:var(--transition-hover)}.sp-select:hover{border-color:var(--text-muted)!important}.sp-select:focus-visible{outline:none;border-color:var(--primary)!important;box-shadow:var(--focus-ring)}.sp-row-i:focus-visible,.sp-row-i:hover{border-color:var(--text-muted)!important;background:var(--surface-2)!important}.sp-card-lift{transition:var(--transition-hover),box-shadow var(--dur-fast) var(--ease)}.sp-card-lift:focus-within,.sp-card-lift:hover{border-color:var(--text-muted)!important;box-shadow:0 3px 14px rgba(20,32,26,.1)!important}[data-theme=dark] .sp-card-lift:focus-within,[data-theme=dark] .sp-card-lift:hover{box-shadow:0 3px 14px rgba(0,0,0,.42)!important}.sp-icon-btn:focus-visible,.sp-icon-btn:hover{background:var(--surface-2)!important;color:var(--text)!important;border-color:var(--text-muted)!important}.sp-analyze-btn:not(:disabled):hover{background:color-mix(in srgb,var(--primary) 86%,var(--sp-ink))!important}.sp-analyze-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}