@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2) format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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{--gray-0: #f4f4f2;--gray-1: #dcdcd9;--gray-2: #b9b9b5;--gray-3: #8e8e8a;--gray-4: #5e5e5b;--gray-5: #2c2c2b;--gray-6: #141414;--black: #000;--text: var(--gray-0);--text-soft: var(--gray-2);--text-quiet: var(--gray-3);--bad: #d9786b;--warn: #d4a85a;--good: #8fbf8a;--scene: linear-gradient( 135deg, var(--gray-1) 0%, #a4a4a0 14%, #5a5a57 30%, #1e1e1d 46%, #070707 62%, var(--black) 100% );--scene-light: radial-gradient(120% 80% at 0% 0%, rgba(255, 255, 255, .35), transparent 55%);--grain-opacity: .11;--glass-fill: rgba(10, 10, 10, .72);--glass-fill-solid: rgba(16, 16, 16, .94);--glass-border: rgba(255, 255, 255, .11);--glass-blur: 22px;--line: rgba(255, 255, 255, .16);--line-strong: rgba(255, 255, 255, .42);--radius-panel: 20px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 72px;--space-9: 112px;--measure: 560px;--gutter: var(--space-4);--font: "Geist Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--text-xs: 11px;--text-sm: 14px;--text-md: 16px;--text-lg: 22px;--text-hero: 26px;--text-score: 64px;--label-tracking: .16em;--ease: cubic-bezier(.2, .7, .2, 1);--fade: .6s;--ring-turn: 18s;color-scheme:dark}@media(min-width:720px){:root{--gutter: var(--space-6);--text-hero: 32px;--text-score: 80px}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--black)}body{margin:0;min-height:100vh;color:var(--text-soft);font-family:var(--font);font-size:var(--text-md);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}body:before,body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none}body:before{z-index:-2;background:var(--scene-light),var(--scene)}body:after{z-index:10;background:url(/noise.svg) repeat;background-size:240px;opacity:var(--grain-opacity);mix-blend-mode:overlay}a{color:var(--text);text-decoration-color:var(--line-strong);text-underline-offset:3px}:focus-visible{outline:1px solid var(--text);outline-offset:3px}p,h1,h2,dl,dd,ul,fieldset{margin:0}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.shell{max-width:calc(var(--measure) + 2 * var(--gutter));margin:0 auto;padding:var(--space-5) var(--gutter) var(--space-7)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-1) var(--space-1) var(--space-1) var(--space-4);border-radius:var(--radius-pill)}.wordmark{color:var(--text);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--label-tracking);text-transform:uppercase;text-decoration:none}.nav{display:flex}.nav a{padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);color:var(--text-soft);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--label-tracking);text-transform:uppercase;text-decoration:none;transition:color var(--fade) var(--ease),background-color var(--fade) var(--ease)}.nav a[aria-current=page]{color:var(--black);background:var(--gray-0)}.screen{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4);margin-top:var(--space-8)}@media(min-width:720px){.screen{margin-top:var(--space-9)}}.footer{display:grid;gap:var(--space-2);margin-top:var(--space-9);color:var(--text-soft);font-size:var(--text-xs);line-height:1.7}.footer a{color:var(--text)}.glass{background:var(--glass-fill-solid);border:1px solid var(--glass-border)}@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.glass{background:var(--glass-fill);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(120%);backdrop-filter:blur(var(--glass-blur)) saturate(120%)}}.panel{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-5);padding:var(--space-5);border-radius:var(--radius-panel);animation:rise var(--fade) var(--ease) both;transition:opacity var(--fade) var(--ease)}.hero{gap:var(--space-5);padding:var(--space-6) var(--space-5)}@media(min-width:720px){.panel{padding:var(--space-6)}.hero{padding:var(--space-7) var(--space-6)}}.panel-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.group{display:grid;gap:var(--space-3)}.is-dim{opacity:.55}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}.label{display:block;padding:0;color:var(--text-soft);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--label-tracking);text-transform:uppercase}.label-row{display:flex;justify-content:space-between}.hint{color:var(--text-quiet);font-size:var(--text-sm)}.quiet{color:var(--text-quiet)}.value,.hash,.meter-score,.rows dd{color:var(--text);font-variant-numeric:tabular-nums}.hash{letter-spacing:.03em;overflow-wrap:anywhere}.status{font-weight:500}.tone-bad{--tone: var(--bad)}.tone-warn{--tone: var(--warn)}.tone-good{--tone: var(--good)}.status.tone-bad,.status.tone-warn,.status.tone-good{color:var(--tone)}.field{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-2);min-width:0;margin:0;padding:0;border:0}.with-toggle{display:flex;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--line);transition:border-color var(--fade) var(--ease)}.with-toggle:focus-within{border-color:var(--line-strong)}.input{flex:1;width:100%;min-width:0;padding:var(--space-3) 0;border:0;background:transparent;color:var(--text);font:inherit;font-size:var(--text-hero);font-weight:500;letter-spacing:.01em}.input:focus{outline:none}.input::placeholder{color:var(--text-quiet);font-weight:400}.button,.text-button{min-height:44px;font:inherit;font-size:var(--text-xs);font-weight:700;letter-spacing:var(--label-tracking);text-transform:uppercase;cursor:pointer;transition:opacity var(--fade) var(--ease),border-color var(--fade) var(--ease)}.button{padding:0 var(--space-5);border:1px solid var(--gray-0);border-radius:var(--radius-pill);background:var(--gray-0);color:var(--black)}.button:hover{opacity:.85}.button-quiet{border-color:var(--line);background:transparent;color:var(--text)}.button-quiet:hover{opacity:1;border-color:var(--line-strong)}.text-button{padding:0;border:0;background:none;color:var(--text-soft)}.text-button:hover{color:var(--text)}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-5)}.segmented{display:flex;justify-self:start;padding:var(--space-1);border:1px solid var(--glass-border);border-radius:var(--radius-pill)}.segmented button{min-height:36px;padding:0 var(--space-4);border:0;border-radius:var(--radius-pill);background:none;color:var(--text-soft);font:inherit;font-size:var(--text-xs);font-weight:700;letter-spacing:var(--label-tracking);text-transform:uppercase;cursor:pointer;transition:color var(--fade) var(--ease),background-color var(--fade) var(--ease)}.segmented button[aria-pressed=true]{background:var(--gray-5);color:var(--text)}.range{width:100%;height:28px;margin:0;accent-color:var(--gray-0);background:transparent}.checks{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-5);color:var(--text)}.check{display:inline-flex;align-items:center;gap:var(--space-2);min-height:40px;cursor:pointer}.check input{width:16px;height:16px;margin:0;accent-color:var(--gray-0)}.meter{display:grid;gap:var(--space-3);transition:opacity var(--fade) var(--ease)}.meter-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4)}.meter-score{font-size:var(--text-score);font-weight:600;line-height:1;letter-spacing:-.04em}.meter-score small{margin-left:2px;color:var(--text-quiet);font-size:.24em;font-weight:500;letter-spacing:0}.meter-label{color:var(--tone)}.meter-compact .meter-score{font-size:var(--text-md);font-weight:500;letter-spacing:0}.meter-compact .meter-score small{font-size:1em}.meter-track{height:2px;overflow:hidden;border-radius:1px;background:var(--line)}.meter-fill{height:100%;background:var(--tone);transform-origin:left;transition:transform var(--fade) var(--ease)}.rows{display:grid;gap:var(--space-2)}.rows div{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:0 var(--space-3)}.rows dd{min-width:0;text-align:right}.rows-small{font-size:var(--text-sm)}.findings{display:grid;gap:var(--space-2);padding-left:1.1em;color:var(--text)}.findings li::marker{color:var(--text-quiet)}.output{display:block;min-height:1.35em;color:var(--text);font-size:var(--text-hero);font-weight:500;line-height:1.35;letter-spacing:.01em;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.ring{--ring-size: 120px;justify-self:center;width:var(--ring-size);height:var(--ring-size)}.ring-sm{--ring-size: 96px}.ring-lg{--ring-size: 150px}.ring-svg{display:block;width:100%;height:100%;overflow:visible;animation:turn var(--ring-turn) linear infinite}.ring-text{fill:var(--text-soft);font-family:var(--font);font-size:8.5px;font-weight:700}.boot{display:grid;place-items:center;min-height:100vh}@keyframes turn{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
