:root{color-scheme:light;--color-paper: oklch(98% .004 262.6);--color-surface: oklch(99.6% .002 262.6);--color-surface-2: oklch(97% .013 266.7);--color-rule: oklch(94% .005 262.6);--color-rule-2: oklch(71.5% .008 262.6);--color-ink: oklch(27.5% .008 262.6);--color-ink-2: oklch(54.3% .039 268.9);--color-accent: oklch(65.9% .181 262.6);--color-accent-ink: oklch(53.3% .189 262.8);--color-accent-bg: oklch(97% .013 266.7);--color-on-accent: oklch(99.6% .002 262.6);--color-focus: oklch(48.7% .187 270.9);--color-scrim: color-mix(in oklch, var(--color-ink) 45%, transparent);--color-good: oklch(60.2% .1 160);--color-good-ink: oklch(41.2% .073 160);--color-good-bg: oklch(93.8% .02 164.6);--color-good-line: oklch(86.1% .044 164.5);--color-warn: oklch(82.9% .146 73.7);--color-warn-ink: oklch(42.6% .092 58);--color-warn-bg: oklch(98.3% .019 87.5);--color-warn-line: oklch(96.6% .04 88.2);--color-crit: oklch(56.4% .183 28.1);--color-crit-ink: oklch(36.7% .125 29.1);--color-crit-bg: oklch(92.1% .032 20.1);--color-crit-line: oklch(82.2% .068 23.2);--font-display: "PT Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-body: "PT Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--track-text: .5px;--track-caps: .06em;--track-tally: -.02em;--text-xs: .75rem;--text-sm: .8125rem;--text-md: .875rem;--text-lg: 1rem;--text-xl: 1.25rem;--text-2xl: 1.75rem;--text-tally: clamp(2.5rem, 5vw + 1rem, 4rem);--leading-xs: 1rem;--leading-sm: 1.125rem;--leading-md: 1.25rem;--leading-lg: 1.5rem;--leading-xl: 2rem;--leading-2xl: 2.25rem;--space-3xs: .125rem;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.5rem;--space-2xl: 4rem;--control-h: 2rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 999px;--hairline: 1px;--rule-w: 2px;--control-h-touch: 2.75rem;--mark-size: .75rem;--meter-h: .5rem;--opacity-disabled: .55;--measure: 68ch;--page-w: 74rem;--page-pad: clamp(1rem, 4vw, 2.5rem);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-micro: .12s;--dur-short: .22s;--dur-long: .42s;--dur-reduced: .15s;--z-base: 1;--z-raised: 10;--z-sticky: 200;--z-modal: 400}*,*:before,*:after{box-sizing:border-box}html,body{overflow-x:clip}body{margin:0;font-family:var(--font-body);font-size:var(--text-md);line-height:var(--leading-md);letter-spacing:var(--track-text);color:var(--color-ink);background:var(--color-paper);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);font-style:normal;font-weight:700;letter-spacing:var(--track-text);overflow-wrap:anywhere;min-width:0}h1{margin:0;font-size:var(--text-xl);line-height:var(--leading-xl)}h2{margin:0 0 var(--space-2xs);font-size:var(--text-lg);line-height:var(--leading-lg)}h3{margin:0 0 var(--space-2xs);font-size:var(--text-md);line-height:var(--leading-md)}h4{margin:0 0 var(--space-2xs);font-size:var(--text-xs);line-height:var(--leading-xs);text-transform:uppercase;letter-spacing:var(--track-caps);color:var(--color-ink-2)}p{margin:0 0 var(--space-xs)}p:last-child{margin-bottom:0}a{color:var(--color-accent-ink);text-decoration-thickness:var(--hairline);text-underline-offset:var(--space-3xs)}@media(hover:hover){a:hover{text-decoration-thickness:var(--rule-w)}}:focus{outline:none}:focus-visible{outline:var(--rule-w) solid var(--color-focus);outline-offset:var(--space-3xs);border-radius:var(--radius-sm)}code,pre,.mono{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:0}.app-shell{min-height:100dvh;display:grid;grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr)}.app-header{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;flex-wrap:wrap;padding:var(--space-sm) var(--page-pad);border-bottom:var(--hairline) solid var(--color-rule);background:var(--color-surface)}.app-header__inner{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm) var(--space-lg);width:100%;min-width:0;max-width:var(--page-w);margin-inline:auto}.app-brand{display:flex;flex:0 0 auto;align-items:baseline;gap:var(--space-xs);text-decoration:none;color:inherit}.app-brand__name{margin:0;font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;line-height:var(--leading-lg);letter-spacing:var(--track-text);white-space:nowrap}@media(hover:hover){.app-brand:hover .app-brand__name{color:var(--color-accent-ink)}}.app-brand__env{font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--leading-xs);color:var(--color-ink-2);border:var(--hairline) solid var(--color-rule-2);border-radius:var(--radius-pill);padding:0 var(--space-xs);white-space:nowrap}.app-search{flex:1 1 20rem;min-width:14rem;max-width:32rem}.app-search input{width:100%}.app-nav{display:flex;flex:0 1 auto;flex-wrap:wrap;min-width:0;margin-left:auto;gap:var(--space-xs) var(--space-md)}.app-nav a{font-size:var(--text-xs);line-height:var(--leading-xs);color:var(--color-ink-2);text-decoration:none;white-space:nowrap;padding-bottom:var(--space-3xs);border-bottom:var(--rule-w) solid transparent;transition:color var(--dur-micro) var(--ease-out)}@media(hover:hover){.app-nav a:hover{color:var(--color-ink);border-bottom-color:var(--color-rule-2)}}.app-nav a[aria-current=page]{color:var(--color-ink);font-weight:700;border-bottom-color:var(--color-accent)}.app-main{flex:1 1 auto;width:100%;max-width:calc(var(--page-w) + 2 * var(--page-pad));margin-inline:auto;padding:var(--space-lg) var(--page-pad) var(--space-2xl)}.app-main:focus-visible{outline:none}.app-colophon{display:flex;flex-wrap:wrap;gap:var(--space-2xs) var(--space-md);padding:var(--space-sm) max(var(--page-pad),calc((100% - var(--page-w)) / 2));width:100%;border-top:var(--hairline) solid var(--color-rule);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--leading-xs);color:var(--color-ink-2)}.page-head{margin-bottom:var(--space-lg)}.page-head__sub{margin:var(--space-2xs) 0 0;max-width:var(--measure);font-size:var(--text-xs);line-height:var(--leading-xs);color:var(--color-ink-2)}.flow-md{margin-top:var(--space-md)}.flow-lg{margin-top:var(--space-lg)}.panel{background:var(--color-surface);border:var(--hairline) solid var(--color-rule);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-lg)}.panel:last-child{margin-bottom:0}.panel__head{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-xs) var(--space-md);margin-bottom:var(--space-xs)}.panel__head>:first-child{margin-bottom:0}.panel__sub{margin:0 0 var(--space-md);max-width:var(--measure);font-size:var(--text-xs);line-height:var(--leading-xs);color:var(--color-ink-2)}.subpanel{margin-top:var(--space-md);padding-top:var(--space-md);border-top:var(--hairline) solid var(--color-rule)}.subpanel--fill{background:var(--color-surface-2);border:0;border-radius:var(--radius-sm);padding:var(--space-md)}.tally{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-xs) var(--space-md);margin-bottom:var(--space-md)}.tally__n{font-family:var(--font-display);font-size:var(--text-tally);font-weight:700;line-height:1;letter-spacing:var(--track-tally);font-variant-numeric:tabular-nums}.tally__label{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;line-height:var(--leading-lg)}.tally__note{flex:1 1 12rem;font-size:var(--text-xs);line-height:var(--leading-xs);color:var(--color-ink-2)}.wlist{display:grid;gap:var(--space-xs);margin:0 0 var(--space-lg);padding:0;list-style:none}.wrow{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-2xs) var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-surface);border:var(--hairline) solid var(--color-rule);border-radius:var(--radius-md)}.wrow--crit{background:var(--color-crit-bg);border-color:var(--color-crit-line)}.wrow__mark{grid-row:1 / span 3;align-self:start;margin-top:calc((var(--leading-md) - var(--mark-size)) / 2);width:var(--mark-size);height:var(--mark-size);border-radius:var(--radius-sm);background:var(--color-accent)}.wrow--warn .wrow__mark{background:var(--color-warn);border-radius:0;clip-path:polygon(50% 0,100% 100%,0 100%)}.wrow--crit .wrow__mark{background:var(--color-crit);border-radius:0;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.wrow__headline{margin:0;font-family:var(--font-display);font-weight:700}.wrow--warn .wrow__headline{color:var(--color-warn-ink)}.wrow--crit .wrow__headline{color:var(--color-crit-ink)}.wrow__detail{margin:0;max-width:var(--measure);font-size:var(--text-xs);line-height:var(--leading-xs);color:var(--color-ink-2)}.wrow__controls{margin-top:var(--space-2xs)}.wrow__link{font-family:var(--font-display);font-weight:700}.wrow--warn .action-row__note{color:var(--color-warn-ink)}.wrow--crit .action-row__note{color:var(--color-crit-ink)}.allclear{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-2xs) var(--space-sm);padding:var(--space-md);margin-bottom:var(--space-lg);background:var(--color-good-bg);border:var(--hairline) solid var(--color-good-line);border-radius:var(--radius-md)}.allclear__mark{grid-row:1 / span 2;align-self:start;margin-top:calc((var(--leading-lg) - var(--mark-size)) / 2);width:var(--mark-size);height:var(--mark-size);border-radius:var(--radius-pill);background:var(--color-good)}.allclear__headline{margin:0;font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;line-height:var(--leading-lg);color:var(--color-good-ink)}.allclear__detail{margin:0;font-size:var(--text-xs);line-height:var(--leading-xs);color:var(--color-ink-2)}button{font:inherit;letter-spacing:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2xs);min-height:var(--control-h);padding:0 var(--space-md);font-family:var(--font-body);font-size:var(--text-xs);line-height:var(--leading-xs);letter-spacing:var(--track-text);color:var(--color-ink);background:var(--color-surface);border:var(--hairline) solid var(--color-rule-2);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:background-color var(--dur-micro) var(--ease-out),color var(--dur-micro) var(--ease-out),transform var(--dur-micro) var(--ease-out)}@media(hover:hover){.btn:hover:not(:disabled){background:var(--color-surface-2)}}.btn:active:not(:disabled){transform:translateY(var(--hairline));background:var(--color-surface-2);border-color:var(--color-focus)}.btn:disabled,.btn[aria-disabled=true]{color:var(--color-rule-2);background:var(--color-surface);border-color:var(--color-rule);cursor:not-allowed;transform:none}.btn[data-state=loading]{cursor:progress}.btn[data-state=loading]:after{content:"…"}.btn[data-state=error]{color:var(--color-crit-ink);border-color:var(--color-crit);background:var(--color-crit-bg)}.btn[data-state=success]{color:var(--color-good-ink);border-color:var(--color-good);background:var(--color-good-bg)}.btn--primary{color:var(--color-on-accent);background:var(--color-accent-ink);border-color:var(--color-accent-ink);font-weight:700}@media(hover:hover){.btn--primary:hover:not(:disabled){background:var(--color-focus);border-color:var(--color-focus)}}.btn--primary:active:not(:disabled){background:var(--color-focus);border-color:var(--color-focus)}.btn--guard{color:var(--color-warn-ink);background:var(--color-warn-bg);border-color:var(--color-warn);font-weight:700}@media(hover:hover){.btn--guard:hover:not(:disabled){background:var(--color-warn-line)}}.btn--guard:active:not(:disabled){background:var(--color-warn-line)}.btn--text{min-height:auto;padding:var(--space-2xs) 0;color:var(--color-accent-ink);background:none;border:0;border-radius:0;text-decoration:underline;text-decoration-thickness:var(--hairline);text-underline-offset:var(--space-3xs)}@media(hover:hover){.btn--text:hover:not(:disabled){background:none;text-decoration-thickness:var(--rule-w)}}.btn--text:active:not(:disabled){background:none;border:0}.action-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-xs) var(--space-sm)}.action-row__note{font-size:var(--text-xs);line-height:var(--leading-xs);color:var(--color-ink-2)}.pause-line{margin:0 0 var(--space-md)}input[type=search],input[type=text],input[type=number]{min-height:var(--control-h);padding:0 var(--space-xs);font-family:var(--font-body);font-size:var(--text-md);line-height:var(--leading-md);letter-spacing:var(--track-text);color:var(--color-ink);background:var(--color-surface);border:var(--hairline) solid var(--color-rule-2);border-radius:var(--radius-sm);outline:var(--rule-w) solid transparent;outline-offset:var(--hairline);transition:background-color var(--dur-micro) var(--ease-out)}input[type=number]{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:0;font-variant-numeric:tabular-nums}input::placeholder{color:var(--color-ink-2)}@media(hover:hover){input[type=search]:hover,input[type=text]:hover,input[type=number]:hover{background:var(--color-surface-2)}}input:focus-visible{outline-color:var(--color-focus);border-color:var(--color-ink-2)}input:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}input[aria-invalid=true]{border-color:var(--color-crit)}input[type=checkbox]{accent-color:var(--color-accent-ink);width:1rem;height:1rem}.field{max-width:var(--measure);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-xs);padding:var(--space-xs) 0;border-bottom:var(--hairline) solid var(--color-rule)}.field:last-of-type{border-bottom:0}.field__label{font-size:var(--text-md)}.field__control{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-xs);color:var(--color-ink-2);white-space:nowrap}.field__control input[type=number]{width:5rem;text-align:right}.field__error{grid-column:1 / -1;font-size:var(--text-xs);line-height:var(--leading-xs);color:var(--color-crit-ink)}.field--wide{grid-template-columns:minmax(0,1fr)}.field--wide .field__control{white-space:normal}.field--wide .field__control input{flex:1 1 12rem;min-width:0}.responsive-table{max-width:100%;overflow-x:auto;border:var(--hairline) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-surface)}.panel .responsive-table{border:0;border-radius:0}.responsive-table table{min-width:36rem;width:100%;border-collapse:collapse;font-size:var(--text-xs);line-height:var(--leading-xs)}caption{padding:var(--space-xs) var(--space-md);text-align:left;font-size:var(--text-xs);line-height:var(--leading-xs);color:var(--color-ink-2);border-bottom:var(--hairline) solid var(--color-rule)}thead th{position:sticky;top:0;z-index:var(--z-base);padding:var(--space-xs) var(--space-md);text-align:left;font-family:var(--font-body);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:var(--track-caps);color:var(--color-ink-2);background:var(--color-surface-2);border-bottom:var(--hairline) solid var(--color-rule);white-space:nowrap}thead th:empty,td:has(>input[type=checkbox]){width:var(--hairline);padding-right:0}tbody td{padding:var(--space-xs) var(--space-md);vertical-align:top;border-bottom:var(--hairline) solid var(--color-rule)}tbody th{padding:var(--space-xs) var(--space-md);text-align:left;vertical-align:top;border-bottom:var(--hairline) solid var(--color-rule)}tbody tr:last-child td,tbody tr:last-child th{border-bottom:0}@media(hover:hover){tbody tr:hover td,tbody tr:hover th{background:var(--color-surface-2)}}td .mono,td code,.num{font-variant-numeric:tabular-nums}.num{text-align:right}.verdict[data-status=fail]{color:var(--color-crit-ink);font-weight:700}.verdict[data-status=pass]{color:var(--color-ink-2)}.meter{height:var(--meter-h);background:var(--color-surface-2);border:var(--hairline) solid var(--color-rule);border-radius:var(--radius-pill);overflow:hidden}.meter__fill{height:100%;background:var(--color-accent);border-radius:inherit;transition:width var(--dur-long) var(--ease-out)}.meter+p{margin-top:var(--space-xs)}.first-pass__table{margin-top:var(--space-md)}.first-pass__table table{min-width:58rem}.first-pass__table th[scope=row]{font-weight:700}.first-pass__note{display:block;margin-top:var(--space-3xs);font-weight:400;color:var(--color-ink-2)}.first-pass__split{min-width:15rem;color:var(--color-ink-2)}.first-pass__footer{margin-top:var(--space-md);padding-top:var(--space-xs);border-top:var(--hairline) solid var(--color-rule);font-size:var(--text-xs);color:var(--color-ink-2)}.first-pass__footer span{font-weight:700;color:var(--color-ink)}.notice{max-width:var(--measure);margin:0 0 var(--space-md);padding:var(--space-xs) var(--space-md);font-size:var(--text-xs);line-height:var(--leading-xs);color:var(--color-ink-2);background:var(--color-surface-2);border:var(--hairline) solid var(--color-rule);border-radius:var(--radius-sm)}.notice--warn{color:var(--color-warn-ink);background:var(--color-warn-bg);border-color:var(--color-warn)}.notice--crit{color:var(--color-crit-ink);background:var(--color-crit-bg);border-color:var(--color-crit)}.notice--good{color:var(--color-good-ink);background:var(--color-good-bg);border-color:var(--color-good)}.report{margin:var(--space-xs) 0 0;padding-left:var(--space-md)}.report li+li{margin-top:var(--space-xs)}.spec{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-2xs) var(--space-md);margin:0;font-size:var(--text-xs);line-height:var(--leading-xs)}.spec dt{color:var(--color-ink-2);white-space:nowrap}.spec dd{margin:0;font-family:var(--font-mono);letter-spacing:0;overflow-wrap:anywhere}.copy-preview,.raw{margin-top:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-surface-2);border:var(--hairline) solid var(--color-rule);border-radius:var(--radius-md)}.panel .copy-preview,.panel .raw{border:0;border-radius:var(--radius-sm)}.copy-preview pre,.raw pre{margin:var(--space-xs) 0 0;max-width:100%;max-height:24rem;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--color-ink)}@media(pointer:coarse){.btn,input[type=search],input[type=text],input[type=number],.btn--text{min-height:var(--control-h-touch)}.app-nav a{position:relative}.app-nav a:before{content:"";position:absolute;inset:calc(-1 * var(--space-sm)) calc(-1 * var(--space-xs))}input[type=checkbox]{width:1.25rem;height:1.25rem}}@media(max-width:40rem){.app-brand{flex-wrap:wrap;min-width:0}.app-search{order:3;flex-basis:100%;max-width:none}.app-nav{flex:1 1 auto;justify-content:flex-end}.field{grid-template-columns:minmax(0,1fr)}.field__control{justify-content:flex-start}.spec{grid-template-columns:minmax(0,1fr);gap:0}.spec dt{margin-top:var(--space-xs)}}.dialog{width:min(32rem,calc(100vw - 2 * var(--space-md)));max-height:calc(100dvh - 2 * var(--space-lg));padding:0;color:var(--color-ink);background:var(--color-surface);border:var(--hairline) solid var(--color-rule-2);border-radius:var(--radius-md)}.dialog::backdrop{background:var(--color-scrim)}.dialog__form{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md)}.dialog__title{margin:0;font-family:var(--font-display);font-size:var(--text-lg);line-height:var(--leading-lg);font-weight:700;letter-spacing:var(--track-text);overflow-wrap:anywhere;min-width:0}.dialog__body{max-width:var(--measure);margin:0;font-size:var(--text-md);line-height:var(--leading-md)}.dialog__field{display:flex;flex-direction:column;gap:var(--space-2xs);margin:0}.dialog__field label{font-size:var(--text-xs);line-height:var(--leading-xs);color:var(--color-ink-2)}.dialog__field input{width:100%}.dialog__field input[type=number]{width:6rem}.dialog__optional{margin-left:var(--space-2xs);font-style:italic}.dialog__error{font-size:var(--text-xs);line-height:var(--leading-xs);color:var(--color-crit-ink)}.dialog__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-xs);margin-top:var(--space-2xs)}@media(max-width:30rem){.dialog__actions>.btn{flex:1 1 auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:var(--dur-reduced)!important;animation-duration:var(--dur-reduced)!important;animation-iteration-count:1!important}.btn:active:not(:disabled){transform:none}}
