:root{--ink: #17211e;--muted: #5e6a65;--paper: #f5f7f3;--surface: #ffffff;--line: #dbe2dc;--accent: #0b6b57;--accent-dark: #075244;--accent-soft: #dceee7;--lime: #b9dc72;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(90deg,rgba(23,33,30,.026) 1px,transparent 1px),linear-gradient(rgba(23,33,30,.026) 1px,transparent 1px),var(--paper);background-size:32px 32px;min-width:320px}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid rgba(11,107,87,.28);outline-offset:3px}.site-header{height:70px;max-width:1240px;margin:0 auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(23,33,30,.12)}.wordmark{display:inline-flex;align-items:center;color:var(--ink);text-decoration:none;font-size:17px;font-weight:740;letter-spacing:-.03em}.wordmark .mark{width:29px;height:29px;margin-right:9px;border-radius:8px;display:grid;place-items:center;color:#fff;background:var(--accent);font-size:15px;font-weight:850}.wordmark .dot{color:#75817c;font-weight:560}.utility-label{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.header-nav{display:flex;align-items:center;gap:18px}.header-nav a{color:#68756f;font-size:12px;font-weight:620;text-decoration:none}.header-nav a:hover{color:var(--accent)}main{overflow:hidden}.hero{max-width:1240px;margin:0 auto;padding:64px 28px 54px;position:relative}.hero:after{content:"";position:absolute;width:420px;height:420px;right:-150px;top:-175px;border:1px solid rgba(11,107,87,.16);border-radius:50%;box-shadow:0 0 0 65px #0b6b5709,0 0 0 130px #0b6b5706;pointer-events:none}.eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:18px;color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.eyebrow span{width:20px;height:2px;background:var(--lime)}h1{max-width:760px;margin:0;font-size:clamp(48px,7vw,84px);line-height:.94;letter-spacing:-.065em;font-weight:720}h1 em{color:var(--accent);font-family:Georgia,Times New Roman,serif;font-weight:500}.lede{max-width:690px;margin:26px 0 18px;color:#46534e;font-size:clamp(17px,2vw,21px);line-height:1.55;letter-spacing:-.018em}.safety-note{display:inline-flex;align-items:center;gap:8px;margin:0;color:#66736d;font-size:13px}.safety-note svg{width:17px;fill:none;stroke:var(--accent);stroke-width:1.8}.library{background:#ffffffa1;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0 max(28px,calc((100vw - 1184px)/2)) 72px}.library-bar{padding:30px 0 28px;display:flex;align-items:flex-start;justify-content:space-between;gap:28px}.section-kicker{margin:0 0 5px;color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.library-bar h2{margin:0;font-size:23px;letter-spacing:-.035em}.filter-stack{display:grid;gap:9px}.filter-row{display:flex;align-items:center;justify-content:flex-end;gap:10px}.filter-row>span{width:56px;color:#7a8781;font:9px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.1em;text-transform:uppercase;text-align:right}.filters{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.filter-button{border:1px solid #cdd6cf;border-radius:999px;padding:8px 13px;color:#4b5953;background:#ffffffb8;cursor:pointer;font:inherit;font-size:12px;font-weight:620;transition:border-color .15s ease,color .15s ease,background .15s ease}.filter-button:hover{border-color:#8ca49a;color:var(--accent)}.filter-button[aria-pressed=true]{color:#fff;border-color:var(--accent);background:var(--accent)}.filter-button--behavior{padding-block:6px;font-size:11px}.test-section+.test-section{margin-top:54px}.section-heading{margin:0 0 18px;padding-top:4px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.section-heading h2{margin:0;font-size:20px;letter-spacing:-.03em}.section-heading>p{max-width:390px;margin:0;color:var(--muted);font-size:12px;line-height:1.5;text-align:right}.advanced-section{margin-inline:-14px;padding:28px 14px 14px;border-top:1px solid #cbd9d1;background:linear-gradient(180deg,rgba(220,238,231,.32),transparent 170px);border-radius:14px 14px 0 0}.test-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.test-card{min-width:0;min-height:430px;padding:22px;display:flex;flex-direction:column;background:var(--surface);border:1px solid #d7ded8;border-radius:14px;box-shadow:0 1px 1px #0f231c08;animation:rise .45s both;animation-delay:var(--delay);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.test-card--advanced{border-color:#c9d9d1}.test-card:hover{transform:translateY(-2px);border-color:#b8c8bf;box-shadow:0 12px 32px #1d322b14}.test-card[hidden]{display:none}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.card-topline{display:flex;justify-content:space-between;align-items:center}.test-id{color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px;font-weight:750;letter-spacing:.09em}.taxonomy{display:flex;align-items:center;gap:7px;color:#6b7872;font:9px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-align:right}.taxonomy i{width:3px;height:3px;flex:0 0 3px;border-radius:50%;background:var(--lime)}.card-heading h3{margin:17px 0 8px;font-size:19px;letter-spacing:-.025em}.test-title-link{color:inherit;text-decoration:none}.test-title-link:hover{color:var(--accent)}.card-heading p{min-height:60px;margin:11px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.flow{display:flex;align-items:flex-start;gap:7px;color:var(--accent);font:10px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:650}.flow span{color:#8fb1a3}.prompt-switch{margin:16px 0 0;padding:3px;display:grid;grid-template-columns:1fr 1fr;gap:3px;background:#edf1ed;border-radius:7px}.prompt-mode{min-height:30px;padding:5px 7px;border:0;border-radius:5px;color:#6b7771;background:transparent;cursor:pointer;font:inherit;font-size:10px;font-weight:680}.prompt-mode:hover{color:var(--accent)}.prompt-mode.is-active{color:var(--ink);background:#fff;box-shadow:0 1px 3px #142a221a}.prompt-wrap{margin:15px 0 16px;padding:15px;flex:1;background:#f6f8f5;border:1px solid #e1e6e1;border-radius:9px}.prompt{margin:0;color:#45514c;font-size:12.5px;line-height:1.58}.copy-button{width:100%;min-height:42px;display:inline-flex;justify-content:center;align-items:center;gap:8px;border:0;border-radius:8px;color:#fff;background:var(--accent);cursor:pointer;font:inherit;font-size:13px;font-weight:720;transition:background .15s ease,transform .15s ease}.copy-button:hover{background:var(--accent-dark)}.copy-button:active{transform:scale(.985)}.copy-button svg{fill:none;stroke:currentColor;stroke-width:1.8}.copy-button.is-copied{color:#164d3f;background:var(--accent-soft)}.fixture-disclosure{margin-top:13px;border-top:1px solid #e1e6e1}.fixture-disclosure summary{padding:13px 2px 0;display:flex;align-items:center;color:#738079;cursor:pointer;font-size:11px;list-style:none}.fixture-disclosure summary::-webkit-details-marker{display:none}.fixture-disclosure summary strong{margin-left:4px;color:var(--accent);font-weight:700}.fixture-disclosure summary>span{margin-left:auto;color:var(--accent);font-size:17px;font-weight:400;transition:transform .2s ease}.fixture-disclosure[open] summary>span{transform:rotate(45deg)}.fixture-list{padding-top:13px}.fixture-instruction{margin:0 0 11px;color:var(--muted);font-size:11px;line-height:1.45}.fixture{margin-top:9px;padding:12px;background:#f6f8f5;border:1px solid #e0e6e1;border-radius:8px}.fixture-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.fixture-heading span{color:var(--accent);font:8px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:750;letter-spacing:.08em}.fixture-heading h4{margin:2px 0 0;font-size:11px}.fixture-description{margin:8px 0;color:var(--muted);font-size:10px;line-height:1.45}.fixture pre{max-height:180px;margin:0;padding:10px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;color:#46524d;background:#fff;border:1px solid #e2e7e3;border-radius:6px;font:9px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.copy-fixture{flex:0 0 auto;min-height:29px;padding:5px 9px;border:1px solid #bfd0c7;border-radius:6px;color:var(--accent);background:#fff;cursor:pointer;font:inherit;font-size:9px;font-weight:700}.copy-fixture:hover{border-color:var(--accent)}.copy-fixture.is-copied{color:#164d3f;background:var(--accent-soft)}.empty-state{padding:50px;text-align:center;color:var(--muted)}footer{max-width:1240px;margin:0 auto;padding:32px 28px 42px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px}footer p{margin:0}.footer-mark{color:var(--ink);font-weight:750;letter-spacing:-.02em}.footer-mark span{color:#7a8781;font-weight:520}.footer-copy{display:flex;align-items:center;gap:18px}.footer-copy a{color:#74817b;text-decoration-color:#b7c1bc;text-underline-offset:3px}.footer-copy a:hover{color:var(--accent);text-decoration-color:var(--accent)}.methodology-main{overflow:visible}.methodology-document{width:min(760px,calc(100% - 56px));margin:0 auto;padding:68px 0 76px}.methodology-header{padding-bottom:39px;border-bottom:1px solid var(--line)}.methodology-header .eyebrow{margin-top:0}.methodology-header h1{max-width:720px;font-size:clamp(42px,6vw,66px);line-height:1.01}.methodology-header p,.methodology-document section p{color:#46534e;font-size:16px;line-height:1.75}.methodology-header .methodology-intro{margin-top:28px;color:var(--ink);font-size:20px;line-height:1.6;letter-spacing:-.015em}.methodology-document section{padding-top:40px}.methodology-document section h2{margin:0 0 18px;color:var(--ink);font-size:25px;letter-spacing:-.035em}.methodology-document section p{margin:0 0 16px}.methodology-document ul{margin:14px 0 22px;padding-left:22px;color:#46534e}.methodology-document li{margin:8px 0;padding-left:4px;font-size:15px;line-height:1.6}.methodology-document li::marker{color:var(--accent)}.methodology-document .flow-example{width:fit-content;margin:12px 0;padding:10px 14px;color:var(--accent);background:#dceee78f;border:1px solid #cfe0d7;border-radius:7px;font:13px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.authorization-section{margin-top:40px;padding:27px 28px 12px!important;background:#dceee773;border:1px solid #ccddd4;border-radius:12px}.back-to-library{margin-top:38px;display:inline-flex;align-items:center;gap:8px;color:var(--accent);font-size:13px;font-weight:700;text-decoration:none}.back-to-library:hover{color:var(--accent-dark)}.test-page-main{overflow:visible}.test-document{width:min(880px,calc(100% - 56px));margin:0 auto;padding:62px 0 76px}.test-document-header{padding-bottom:38px;border-bottom:1px solid var(--line)}.test-document-meta{display:flex;align-items:center;gap:9px;color:#66736d;font:10px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:700;letter-spacing:.075em;text-transform:uppercase}.test-document-meta .test-id{margin-right:7px}.test-document-meta i{width:3px;height:3px;border-radius:50%;background:var(--lime)}.test-document h1{margin-top:18px;max-width:820px;font-size:clamp(44px,6vw,68px);line-height:1}.test-purpose{max-width:720px;margin:24px 0 22px;color:#46534e;font-size:18px;line-height:1.65}.test-document-flow{display:flex;align-items:center;gap:12px}.test-document-flow span{color:#7a8781;font:9px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.1em;text-transform:uppercase}.test-document-flow strong{color:var(--accent);font:12px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.test-document>section{padding:38px 0;border-bottom:1px solid var(--line)}.test-section-title{margin-bottom:18px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.test-section-title h2{margin:0;font-size:24px;letter-spacing:-.035em}.test-section-title>p{max-width:440px;margin:0;color:var(--muted);font-size:12px;line-height:1.5;text-align:right}.test-page-prompt-switch{width:min(460px,100%);margin-bottom:13px}.test-page-prompt{padding:22px;color:#3f4d47;background:#fff;border:1px solid #d9e0da;border-radius:11px;box-shadow:0 1px 2px #0f231c08}.test-page-prompt p{margin:0;font-size:15px;line-height:1.7}.test-page-copy{width:auto;min-width:170px;margin-top:13px;padding-inline:20px}.test-page-fixtures{display:grid;gap:14px}.test-page-fixture{padding:20px;background:#fff;border:1px solid #d9e0da;border-radius:11px}.test-page-fixture header{display:flex;align-items:center;justify-content:space-between;gap:18px}.test-page-fixture header span{color:var(--accent);font:9px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:750;letter-spacing:.08em}.test-page-fixture h3{margin:4px 0 0;font-size:16px}.test-page-fixture>p{margin:14px 0;color:var(--muted);font-size:13px;line-height:1.55}.test-page-fixture pre{max-height:380px;margin:0;padding:17px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;color:#405049;background:#f6f8f5;border:1px solid #e0e6e1;border-radius:8px;font:11px/1.65 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.observe-section>p{max-width:740px;margin:0;color:#46534e;font-size:16px;line-height:1.75}.test-document-links{padding-top:32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.test-document-links a{color:var(--accent);font-size:13px;font-weight:700;text-decoration:none}.test-document-links a:hover{color:var(--accent-dark)}.toast{position:fixed;z-index:5;left:50%;bottom:24px;padding:11px 16px;color:#fff;background:#17211e;border-radius:8px;box-shadow:0 10px 30px #0003;font-size:13px;font-weight:650;opacity:0;transform:translate(-50%,10px);pointer-events:none;transition:.2s ease}.toast.is-visible{opacity:1;transform:translate(-50%)}@media(max-width:940px){.test-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-bar{align-items:flex-start;flex-direction:column}.filter-stack{width:100%}.filter-row{justify-content:flex-start}.filter-row>span{text-align:left}.filters{justify-content:flex-start}}@media(max-width:620px){.site-header{height:62px;padding:0 18px}.utility-label{display:none}.header-nav{gap:12px}.hero{padding:42px 18px 38px}.hero:after{display:none}h1{font-size:clamp(44px,14vw,62px)}.lede{margin-top:20px}.safety-note{align-items:flex-start;font-size:12px;line-height:1.45}.library{padding:0 18px 48px}.library-bar{padding-top:24px}.filter-stack{gap:5px}.filter-row{align-items:flex-start;flex-direction:column;gap:5px}.filter-row>span{width:auto}.filters{flex-wrap:nowrap;width:calc(100vw - 36px);overflow-x:auto;padding-bottom:5px;scrollbar-width:none}.filter-button{flex:0 0 auto}.test-grid{grid-template-columns:1fr}.test-card{min-height:0;padding:19px}.card-heading p{min-height:0}.section-heading{align-items:flex-start;flex-direction:column;gap:6px}.section-heading>p{text-align:left}.advanced-section{margin-inline:-6px;padding-inline:6px}.methodology-document{width:calc(100% - 36px);padding:44px 0 54px}.methodology-header{padding-bottom:30px}.methodology-header h1{font-size:clamp(39px,12vw,54px)}.methodology-header .methodology-intro{font-size:18px}.methodology-document section{padding-top:32px}.authorization-section{margin-top:32px;padding:22px 20px 8px!important}.test-document{width:calc(100% - 36px);padding:42px 0 54px}.test-document h1{font-size:clamp(39px,12vw,54px)}.test-purpose{font-size:17px}.test-document-flow,.test-section-title{align-items:flex-start;flex-direction:column;gap:6px}.test-section-title>p{text-align:left}.test-page-copy{width:100%}.test-page-fixture{padding:16px}.test-page-fixture header{align-items:flex-start}.test-document-links{align-items:flex-start;flex-direction:column}footer{padding:28px 18px 34px;align-items:flex-start;flex-direction:column}.footer-copy{align-items:flex-start;flex-direction:column;gap:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
