@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/bricolage-grotesque-latin-600-normal-nxTgbNFE.woff2)format("woff2"),url(/assets/bricolage-grotesque-latin-600-normal-Bw0J83-2.woff)format("woff")}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/bricolage-grotesque-latin-700-normal-gtcctNPv.woff2)format("woff2"),url(/assets/bricolage-grotesque-latin-700-normal-DvJDmrLu.woff)format("woff")}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-latin-400-normal-8Rpg0ruU.woff2)format("woff2"),url(/assets/public-sans-latin-400-normal-SBbinRkI.woff)format("woff")}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-latin-600-normal-Fru-LXNs.woff2)format("woff2"),url(/assets/public-sans-latin-600-normal-BR59oU-I.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff")}:root{--clinic:#f5f7f6;--ink:#111b17;--intact:#0e6b4f;--damage:#d96c2c;--data:#5a6b64;--hairline:#d7ded9;--damage-ink:#9c4a17;--surface-raised:color-mix(in srgb, #fff 60%, var(--clinic));--intact-soft:color-mix(in srgb, var(--intact) 12%, transparent);--font-head:"Bricolage Grotesque", "Public Sans", system-ui, sans-serif;--font-body:"Public Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", monospace}*{box-sizing:border-box}html{background:var(--clinic)}body{font-family:var(--font-body);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.55}::selection{background:color-mix(in srgb, var(--intact) 22%, transparent)}#root,.app{flex-direction:column;min-height:100dvh;display:flex}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-header{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:baseline;gap:1rem;padding:1.125rem 1.75rem;display:flex}.brand{font-family:var(--font-head);letter-spacing:-.01em;margin:0;font-size:1.125rem;font-weight:700}.brand__tag{font-family:var(--font-mono);color:var(--data);letter-spacing:0;margin-left:.625rem;font-size:.75rem;font-weight:400}.net-counter{font-family:var(--font-mono);color:var(--intact);align-items:center;gap:.5rem;margin:0;font-size:.8125rem;font-weight:500;display:flex}.net-counter__dot{background:var(--intact);border-radius:50%;width:6px;height:6px}.net-counter--dirty{color:var(--damage-ink)}.net-counter--dirty .net-counter__dot{background:var(--damage)}.app-main{flex:1;width:100%;max-width:42.5rem;margin:0 auto;padding:2.5rem 1.5rem 3.5rem}.panel{gap:1.25rem;display:grid}.panel__title{font-family:var(--font-head);letter-spacing:-.015em;text-wrap:balance;margin:0;font-size:1.75rem;font-weight:600;line-height:1.15}.panel__body{text-wrap:pretty;max-width:65ch;margin:0;font-size:.9375rem}.file-line{font-family:var(--font-mono);color:var(--data);overflow-wrap:anywhere;margin:0;font-size:.8125rem}.status-line{font-family:var(--font-mono);color:var(--ink);margin:0;font-size:.875rem}.fineprint{max-width:60ch;color:var(--data);text-wrap:pretty;margin:0;font-size:.8125rem}.engine-notes{max-width:65ch;color:var(--data);font-size:.8125rem}.engine-notes summary{cursor:pointer;font-family:var(--font-mono);color:var(--ink);font-size:.8125rem}.engine-notes ul{gap:.25rem;margin:.5rem 0 0;padding-left:1.25rem;display:grid}.engine-notes li{overflow-wrap:anywhere}.aux-picker{border:1px dashed var(--hairline);background:color-mix(in srgb, var(--data) 4%, transparent);border-radius:.5rem;flex-direction:column;gap:.375rem;max-width:65ch;padding:.75rem;display:flex}.aux-picker__label{font-family:var(--font-mono);color:var(--ink);font-size:.8125rem}.aux-picker input[type=file]{font-family:var(--font-mono);color:var(--data);font-size:.8125rem}.aux-picker__file{font-family:var(--font-mono);color:var(--intact);overflow-wrap:anywhere;font-size:.75rem}.verdict{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.verdict__format{font-family:var(--font-mono);color:var(--data);font-size:.8125rem}.chip{font-family:var(--font-mono);border:1px solid;border-radius:999px;padding:.125rem .625rem;font-size:.8125rem;font-weight:500}.chip--high{color:var(--intact);border-color:color-mix(in srgb, var(--intact) 35%, transparent);background:color-mix(in srgb, var(--intact) 10%, transparent)}.chip--medium{color:var(--damage-ink);border-color:color-mix(in srgb, var(--damage) 45%, transparent);background:color-mix(in srgb, var(--damage) 10%, transparent)}.chip--low{color:color-mix(in srgb, var(--data) 55%, var(--ink));border-color:var(--hairline);background:color-mix(in srgb, var(--data) 8%, transparent)}.actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:.5rem;align-items:center;gap:.5rem;padding:.625rem 1.125rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:background-color .15s ease-out,border-color .15s ease-out,transform 80ms ease-out;display:inline-flex}.btn:focus-visible{outline:2px solid var(--intact);outline-offset:2px}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--intact);color:#fff}.btn--primary:hover{background:color-mix(in srgb, var(--intact) 85%, var(--ink))}.btn--ghost{color:var(--ink);border-color:var(--hairline);background:0 0}.btn--ghost:hover{border-color:color-mix(in srgb, var(--ink) 30%, var(--hairline));background:color-mix(in srgb, var(--ink) 4%, transparent)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.byte-strip{gap:2px;height:2.25rem;display:flex;position:relative}.byte-strip__cell{border-radius:1px;flex:1;transition:opacity .15s ease-out,background-color .15s ease-out}.byte-strip__cell--intact{background:var(--intact-soft)}.byte-strip__cell--damaged{background:repeating-linear-gradient(-45deg, color-mix(in srgb, var(--damage) 85%, transparent) 0 2px, color-mix(in srgb, var(--damage) 12%, transparent) 2px 6px)}.byte-strip__cell--unknown{background:color-mix(in srgb, var(--data) 14%, transparent)}.byte-strip__cell--pending{opacity:.35}.byte-strip__cursor{background:var(--intact);width:2px;transition:left .16s linear;animation:1.1s ease-out infinite byte-strip-pulse;position:absolute;top:-.25rem;bottom:-.25rem}@keyframes byte-strip-pulse{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.byte-strip__cursor{transition:none;animation:none}.byte-strip__cell,.btn{transition:none}}.drop-zone{text-align:center;border:1px solid var(--hairline);background:var(--surface-raised);border-radius:.75rem;flex-direction:column;align-items:center;gap:1rem;padding:3.5rem 2rem 3rem;transition:border-color .15s ease-out,background-color .15s ease-out;display:flex}.drop-zone--active{border-color:var(--intact);background:color-mix(in srgb, var(--intact) 5%, var(--surface-raised))}.drop-zone .byte-strip{align-self:stretch;height:1.25rem;margin-bottom:1rem}.drop-zone__title{font-family:var(--font-head);letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:2rem;font-weight:600;line-height:1.1}.drop-zone__sub{max-width:44ch;color:var(--data);text-wrap:pretty;margin:0;font-size:.9375rem}.drop-zone__cap{font-family:var(--font-mono);color:var(--data);margin:.5rem 0 0;font-size:.75rem}.app-footer{border-top:1px solid var(--hairline);color:var(--data);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1.5rem;padding:1rem 1.75rem 1.25rem;font-size:.8125rem;display:flex}.app-footer p{margin:0}.app-footer__caps{font-family:var(--font-mono);font-size:.75rem}.gate{flex-direction:column;min-height:100dvh;display:flex}.gate__main{flex:1;justify-content:center;align-items:center;padding:2rem 1.75rem 4rem;display:flex}.gate__panel{max-width:34rem}.gate__panel .actions{margin-top:1.25rem}@media (max-width:34rem){.app-header,.app-footer,.gate__main{padding-inline:1.25rem}.brand__tag{display:none}.drop-zone{padding:2.5rem 1.25rem 2.25rem}.drop-zone__title{font-size:1.625rem}.panel__title{font-size:1.5rem}}
