:root{--color-signal-green:#71d083;--color-led-green:#366740;--color-moss-border:#2d5736;--color-forest-wash:#1d3a24;--color-fern-ground:#1b2a1e;--color-link-blue:#70b8ff;--color-lilac-accent:#baa7ff;--color-plum-edge:#291f43;--color-iris-border:#473876;--color-lavender-mist:#e2ddfe;--color-carbon:#04040b;--color-graphite:#121113;--color-obsidian:#1a191b;--color-slate:#232225;--color-basalt:#2b292d;--color-iron:#323035;--color-pewter:#3c393f;--color-steel:#49474e;--color-fog:#7c7a85;--color-fog-text:#8f8d99;--color-silver:#b5b2bc;--color-ash:#eeeef0;--color-chalk:#e5e5e5;--color-ember:#e0867c;--color-ember-wash:#271513;--color-ember-border:#5a2c27;--font-display:"Red Hat Display Variable", "Red Hat Display", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-text:"Red Hat Text Variable", "Red Hat Text", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"Red Hat Mono Variable", "Red Hat Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--color-accent-text:var(--color-signal-green);--color-mark:var(--color-signal-green);--color-band:var(--color-led-green);--color-on-signal:#04040b;--radius-small:2px;--radius-medium:6px;--shadow-subtle:#ffffff0f 0 1px 0 0 inset;--page-gutter:max(24px, calc((100% - 1200px) / 2));font-family:var(--font-text);letter-spacing:.025em;color:var(--color-ash);background:var(--color-carbon);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.43}*{box-sizing:border-box}body{background:var(--color-carbon);margin:0}::selection{background:var(--color-moss-border);color:var(--color-ash)}button,input,select{font:inherit;letter-spacing:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--color-link-blue);outline-offset:2px}a{color:inherit;text-decoration:none}.site-header{z-index:10;height:64px;padding:0 var(--page-gutter);background:var(--color-carbon);border-bottom:1px solid var(--color-basalt);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.brand{font-family:var(--font-display);letter-spacing:-.025em;color:var(--color-chalk);align-items:center;gap:12px;font-size:18px;display:flex}.brand strong{font-weight:700}.brand img{width:28px;height:28px}.version,.mini-label{font-family:var(--font-mono);letter-spacing:0;color:var(--color-silver);border:1px solid var(--color-basalt);border-radius:var(--radius-small);padding:2px 6px;font-size:12px}.local-badge{text-transform:uppercase;color:var(--color-accent-text);background:var(--color-fern-ground);border:1px solid var(--color-moss-border);border-radius:var(--radius-small);align-items:center;gap:8px;padding:4px 8px;font-size:12px;font-weight:500;display:flex}.local-badge i{background:var(--color-accent-text);border-radius:50%;width:6px;height:6px}main{padding:0 var(--page-gutter)}.intro{max-width:760px;padding:64px 0 48px}.eyebrow{font-family:var(--font-mono);letter-spacing:.08em;color:var(--color-fog-text);font-size:12px}h1{font-family:var(--font-display);letter-spacing:-.025em;color:var(--color-chalk);margin:16px 0 24px;font-size:60px;font-weight:700;line-height:1}h1 span{color:var(--color-fog)}.intro>p{color:var(--color-silver);max-width:600px;margin:0;font-size:18px;line-height:1.56}.intro-tags{font-family:var(--font-mono);letter-spacing:0;color:var(--color-fog-text);flex-wrap:wrap;gap:8px 24px;margin-top:24px;font-size:12px;display:flex}.intro-tags span:before{content:"+";color:var(--color-led-green);margin-right:8px}.workspace{grid-template-columns:minmax(320px,.88fr) minmax(440px,1.5fr);align-items:start;gap:24px;display:grid}.controls,.results{gap:16px;display:grid}.panel{border:1px solid var(--color-basalt);border-radius:var(--radius-medium);background:var(--color-graphite);box-shadow:var(--shadow-subtle);padding:24px}h2{font-family:var(--font-display);letter-spacing:0;color:var(--color-chalk);margin:0 0 16px;font-size:18px;font-weight:600;line-height:1.4}.step-heading{align-items:center;gap:12px;margin-bottom:24px;display:flex}.step-heading h2{margin:0}.step{font-family:var(--font-mono);letter-spacing:0;border:1px solid var(--color-basalt);background:var(--color-obsidian);border-radius:var(--radius-small);width:28px;height:28px;color:var(--color-silver);place-items:center;font-size:12px;display:grid}.file-area{text-align:center;border:1px dashed var(--color-steel);border-radius:var(--radius-medium);background:var(--color-obsidian);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:136px;padding:16px;display:flex;position:relative;overflow:hidden}.file-area:hover{border-color:var(--color-moss-border);background:var(--color-fern-ground)}.file-area:focus-within{outline:2px solid var(--color-link-blue);outline-offset:2px}.file-area svg{fill:none;width:24px;height:24px;stroke:var(--color-silver);stroke-width:1.5px}.file-area strong{color:var(--color-ash);overflow-wrap:anywhere;font-size:14px;font-weight:500}.file-area span{color:var(--color-fog-text);font-size:12px}.file-area input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.demo-button{border:1px solid var(--color-basalt);border-radius:var(--radius-medium);width:100%;color:var(--color-ash);text-align:left;background:0 0;margin-top:12px;padding:10px 16px;font-size:14px;font-weight:500}.demo-button:hover:not(:disabled){border-color:var(--color-pewter)}.demo-button span{float:right;color:var(--color-silver)}label{color:var(--color-silver);margin-bottom:16px;font-size:12px;font-weight:500;display:block}label:last-child{margin-bottom:0}select,input:not([type=checkbox]):not([type=file]){border:1px solid var(--color-basalt);background:var(--color-slate);border-radius:var(--radius-medium);width:100%;color:var(--color-ash);min-height:40px;margin-top:8px;padding:10px 12px;font-size:14px;display:block}select:hover:not(:disabled),input:not([type=checkbox]):not([type=file]):hover:not(:disabled){border-color:var(--color-pewter)}select{padding-right:28px}input:disabled,select:disabled{color:var(--color-fog);background:var(--color-obsidian)}details{color:var(--color-silver);margin:16px 0;font-size:13px;line-height:1.6}summary{cursor:pointer;color:var(--color-ash);font-weight:500}summary:hover{color:var(--color-chalk)}code{font-family:var(--font-mono);letter-spacing:0;overflow-wrap:anywhere}dl{grid-template-columns:72px 1fr;gap:8px;margin:12px 0 0;font-size:12px;display:grid}dt{color:var(--color-fog-text)}dd{color:var(--color-silver);overflow-wrap:anywhere;margin:0}dd code{display:block}.identity{border-left:2px solid var(--color-moss-border);margin-bottom:24px;padding-left:12px}.fine,.method-panel>.fine{color:var(--color-fog-text);overflow-wrap:anywhere;font-size:12px;line-height:1.5}.contract{color:var(--color-silver);align-items:start;gap:12px;font-size:13px;font-weight:400;line-height:1.6;display:flex}.contract input{accent-color:var(--color-mark);flex-shrink:0;width:16px;height:16px;margin:3px 0 0}.field-row{grid-template-columns:.7fr 1.3fr;gap:16px;display:grid}.field-row label{margin-bottom:0}.result-panel{background:var(--color-graphite);min-height:355px;padding:32px}.result-panel.within_limit{background:var(--color-fern-ground);border-color:var(--color-moss-border)}.result-panel.exceeds_limit{background:var(--color-ember-wash);border-color:var(--color-ember-border)}.result-panel.indeterminate{background:var(--color-obsidian);border-color:var(--color-iris-border)}.result-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:32px;display:flex}.verdict{align-items:center;gap:12px;display:flex}.verdict h2{margin:0;font-size:20px}.verdict-symbol{border:1px solid var(--color-steel);width:24px;height:24px;color:var(--color-silver);letter-spacing:0;border-radius:50%;flex-shrink:0;place-items:center;font-size:13px;display:grid}.within_limit .verdict-symbol{border-color:var(--color-mark);color:var(--color-mark)}.exceeds_limit .verdict-symbol{border-color:var(--color-ember);color:var(--color-ember)}.indeterminate .verdict-symbol{border-color:var(--color-lilac-accent);color:var(--color-lilac-accent)}.range-number{font-family:var(--font-display);letter-spacing:-.025em;font-variant-numeric:tabular-nums;color:var(--color-chalk);overflow-wrap:anywhere;margin-top:24px;font-size:56px;font-weight:700;line-height:1.11}.range-number span{color:var(--color-fog);margin:0 8px;font-weight:400}.range-caption{color:var(--color-silver);margin:8px 0 32px;font-size:13px}.range-visual{margin:0}.range-legend{color:var(--color-silver);justify-content:space-between;gap:12px;margin-bottom:20px;font-size:12px;display:flex}.range-legend span:last-child{color:var(--color-lilac-accent)}.track{background:var(--color-slate);border:1px solid var(--color-basalt);border-radius:var(--radius-small);height:8px;position:relative}.band{background:var(--color-band);border-radius:var(--radius-small);height:8px;position:absolute;top:-1px}.endpoint{background:var(--color-mark);width:2px;height:16px;position:absolute;top:-5px;transform:translate(-1px)}.threshold{background:var(--color-lilac-accent);width:2px;height:28px;position:absolute;top:-11px;transform:translate(-1px)}.axis{font-family:var(--font-mono);letter-spacing:0;color:var(--color-fog-text);justify-content:space-between;margin-top:16px;font-size:11px;display:flex}.chart-note{color:var(--color-fog-text);margin:16px 0 0;font-size:12px;line-height:1.5}.explanation{border-top:1px solid var(--color-basalt);margin-top:24px;padding-top:24px}.explanation strong{color:var(--color-ash);font-size:14px;font-weight:600}.explanation p{color:var(--color-silver);margin:8px 0 0;font-size:13px;line-height:1.6}.empty{max-width:460px;padding:16px 0 24px}.empty-symbol{font-family:var(--font-mono);letter-spacing:0;color:var(--color-steel);margin-bottom:24px;font-size:28px}.empty h2{letter-spacing:-.025em;margin-bottom:12px;font-size:24px;line-height:1.25}.empty p{color:var(--color-silver);font-size:14px;line-height:1.6}.counts{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.counts>div{border-right:1px solid var(--color-basalt);min-width:0;padding-right:12px}.counts>div:last-child{border:0}.counts span{color:var(--color-silver);font-size:12px;line-height:1.5;display:block}.counts code{color:var(--color-fog-text);font-size:12px}.counts strong{font-family:var(--font-display);letter-spacing:-.025em;font-variant-numeric:tabular-nums;color:var(--color-chalk);overflow-wrap:anywhere;margin-top:12px;font-size:32px;font-weight:600;line-height:1.11;display:block}.counts-panel>.fine{border-top:1px solid var(--color-basalt);margin:24px 0 0;padding-top:16px}.formula-row{border:1px solid var(--color-basalt);border-radius:var(--radius-medium);background:var(--color-obsidian);grid-template-columns:1fr 1fr;margin-bottom:24px;display:grid}.formula-row>div{min-width:0;padding:16px}.formula-row>div:first-child{border-right:1px solid var(--color-iron)}.formula-row span{font-family:var(--font-mono);letter-spacing:.08em;color:var(--color-fog-text);margin-bottom:12px;font-size:11px;display:block}.formula-row code{color:var(--color-lavender-mist);font-size:18px}.formula-row p{color:var(--color-fog-text);overflow-wrap:anywhere;margin:8px 0 0;font-size:12px}.method-panel>p{color:var(--color-silver);font-size:13px;line-height:1.6}.method-panel details{border-top:1px solid var(--color-basalt);border-bottom:1px solid var(--color-basalt);padding:16px 0}.export-button{background:var(--color-signal-green);color:var(--color-on-signal);border:1px solid var(--color-led-green);border-radius:var(--radius-medium);text-align:left;width:100%;padding:10px 20px;font-size:14px;font-weight:500}.export-button span{float:right}.diagnostic{background:var(--color-obsidian);border:1px solid var(--color-iron);border-left:2px solid var(--color-lilac-accent);border-radius:var(--radius-medium);color:var(--color-silver);overflow-wrap:anywhere;padding:16px;font-size:13px;line-height:1.6}.diagnostic h2{margin-bottom:8px}.diagnostic p{margin:8px 0}.diagnostic code{color:var(--color-lavender-mist);font-size:12px}.invalid_input .diagnostic{background:var(--color-ember-wash);border-color:var(--color-ember-border);border-left-color:var(--color-ember)}.invalid_input .diagnostic code{color:var(--color-ember)}.no-data{color:var(--color-silver);margin-top:24px;line-height:1.6}footer{border-top:1px solid var(--color-basalt);color:var(--color-fog-text);justify-content:space-between;gap:16px;margin-top:64px;padding:24px 0 32px;font-size:12px;display:flex}@media (prefers-color-scheme:light){:root{--color-moss-border:#a9d4b1;--color-fern-ground:#e7f3e9;--color-link-blue:#1a6fd0;--color-lilac-accent:#6a4fd0;--color-iris-border:#c6bbf0;--color-lavender-mist:#4b3a9a;--color-carbon:#f5f5f3;--color-graphite:#fff;--color-obsidian:#f1f0ee;--color-slate:#fafaf9;--color-basalt:#dedde0;--color-iron:#d2d1d6;--color-pewter:#b9b7bf;--color-steel:#a5a3ac;--color-fog:#6c6a75;--color-fog-text:#5f5d69;--color-silver:#4a4852;--color-ash:#1d1c20;--color-chalk:#121113;--color-ember:#b3382c;--color-ember-wash:#fdeeed;--color-ember-border:#e8b9b4;--color-accent-text:#1f6b33;--color-mark:#2f8a47;--color-band:#a8dbb2;--shadow-subtle:#ffffffe6 0 1px 0 0 inset;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}@media (width<=1000px){.workspace{grid-template-columns:minmax(300px,1fr) minmax(340px,1.2fr);gap:16px}.panel{padding:20px}.result-panel{padding:24px}h1{font-size:48px}.range-number{font-size:44px}.counts{grid-template-columns:1fr 1fr;gap:24px}.counts>div:nth-child(2){border:0}}@media (width<=760px){:root{--page-gutter:20px}.site-header{height:56px}.brand{font-size:16px}.brand img{width:24px;height:24px}.local-badge{font-size:11px}.intro{padding:40px 0 32px}h1{font-size:40px}.intro>p{font-size:16px}.workspace{grid-template-columns:1fr}.result-panel{min-height:300px}.range-number{font-size:40px}.counts{grid-template-columns:repeat(4,1fr);gap:8px}.counts strong{font-size:24px}.counts>div{padding-right:8px}.counts>div:nth-child(2){border-right:1px solid var(--color-basalt)}footer{flex-direction:column;gap:8px}}@media (width<=420px){.local-badge{padding:2px 6px}.counts{grid-template-columns:1fr 1fr;gap:16px}.counts>div:nth-child(2){border:0}}@media (prefers-reduced-motion:no-preference){button,.file-area,select,input{transition:border-color .15s,background-color .15s,filter .15s}.export-button:hover:not(:disabled){filter:brightness(1.08)}}
