:root{color:#17191f;background:#f5f6f8;font-family:DM Sans,system-ui,sans-serif;font-synthesis:none;--blue: #235ee7;--ink: #17191f;--muted: #69707d;--line: #d9dde5;--surface: #ffffff}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{cursor:pointer}[hidden]{display:none!important}.topbar{height:66px;padding:0 max(24px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#ffffffe6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:11px;font-weight:700}.brand-mark{width:33px;height:33px;border-radius:6px;display:grid;place-items:center;color:#fff;background:var(--blue);font-family:Space Mono,monospace}.privacy{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.privacy span{width:8px;height:8px;background:#14c96f;border-radius:50%;box-shadow:0 0 0 4px #14c96f18}#app{max-width:1240px;margin:0 auto;padding:42px 24px 70px}.upload-view{min-height:calc(100vh - 180px);display:grid;place-content:center;gap:28px}.intro{max-width:560px;text-align:center;margin:0 auto}.eyebrow{margin:0 0 8px;color:var(--blue);font:700 11px/1.2 Space Mono,monospace;letter-spacing:.12em;text-transform:uppercase}.intro h1{margin:0;font-size:clamp(32px,5vw,56px);letter-spacing:-.05em;line-height:1.02}.intro>p:last-child{margin:18px auto 0;max-width:520px;color:var(--muted);line-height:1.6}.dropzone{width:min(700px,calc(100vw - 48px));min-height:225px;padding:38px;border:2px dashed #c7ccd6;border-radius:18px;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transition:.2s ease;cursor:pointer;box-shadow:0 18px 50px #1e293b0a}.dropzone:hover,.dropzone.dragging{border-color:var(--blue);background:#f4f7ff;transform:translateY(-2px)}.dropzone input{position:absolute;opacity:0;pointer-events:none}.upload-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#eef2f8;color:var(--blue);font-size:28px;margin-bottom:19px}.dropzone strong{font-size:16px}.dropzone strong span{color:var(--blue)}.dropzone small{margin-top:8px;color:var(--muted);font:12px Space Mono,monospace}.rules{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.rules div{border:1px solid var(--line);border-radius:10px;background:#fff;padding:12px 14px;display:flex;flex-direction:column;gap:3px}.rules strong{font:700 12px Space Mono,monospace}.rules span{color:var(--muted);font-size:12px}.workspace{display:grid;grid-template-columns:300px minmax(0,1fr);gap:28px;align-items:start}.panel{position:sticky;top:88px;border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:20px;box-shadow:0 14px 40px #1e293b0c}.panel-heading,.results-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.panel h2,.results h2{margin:0;font-size:18px;letter-spacing:-.02em}.panel h2{max-width:205px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-button{border:0;background:#eef1f5;color:var(--muted);width:30px;height:30px;border-radius:7px;font-size:21px}.icon-button:hover{color:var(--ink);background:#e2e6ec}.metadata{margin:22px 0;display:grid;gap:13px}.metadata div{display:flex;justify-content:space-between;gap:14px}.metadata dt{color:var(--muted);font-size:12px}.metadata dd{margin:0;text-align:right;font:12px Space Mono,monospace}.cadence-box{padding:14px;border:1px solid #cfd9fa;border-radius:10px;background:#f3f6ff}.cadence-box span{color:var(--muted);font-size:11px}.cadence-box strong{display:block;margin:4px 0 7px;font-size:15px}.cadence-box p{color:var(--muted);margin:0;font-size:11px;line-height:1.5}.primary-button,.dark-button{border:0;border-radius:9px;width:100%;padding:12px 16px;margin-top:16px;font-weight:700;transition:.15s ease}.primary-button{background:var(--blue);color:#fff;box-shadow:0 8px 18px #235ee72b}.dark-button{background:var(--ink);color:#fff}.primary-button:hover,.dark-button:hover{transform:translateY(-1px);filter:brightness(1.06)}.primary-button:disabled,.dark-button:disabled{opacity:.55;cursor:wait;transform:none}.text-button{width:100%;border:0;background:transparent;color:var(--muted);padding:10px;margin-top:5px}.text-button:hover{color:var(--ink)}.progress-wrap{margin-top:16px}.progress-copy{display:flex;justify-content:space-between;color:var(--muted);font:11px Space Mono,monospace}.progress-track{height:7px;background:#e8ebf0;border-radius:999px;overflow:hidden;margin-top:7px}.progress-track div{height:100%;width:0;background:var(--blue);transition:width .2s ease}.interval-toggle{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;margin:12px 0 0;padding:0;border:0}.interval-toggle legend{margin-bottom:7px;color:var(--muted);font-size:10px}.interval-toggle label{cursor:pointer}.interval-toggle input{position:absolute;opacity:0;pointer-events:none}.interval-toggle span{display:block;padding:8px 4px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--muted);text-align:center;font-size:11px;font-weight:700}.interval-toggle input:checked+span{border-color:var(--blue);background:#edf3ff;color:var(--blue);box-shadow:0 0 0 1px var(--blue)}.interval-toggle input:focus-visible+span{outline:3px solid #8eb2ff;outline-offset:2px}.error{margin:15px 0 0;color:#b42318;background:#fff0ee;border:1px solid #ffd1cc;border-radius:8px;padding:10px;font-size:12px;line-height:1.45}.accessibility-tools{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.flash-screening{padding:12px;border:1px solid #d5def8;border-radius:10px;background:#f7f9ff}.tool-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.tool-label{display:block;font-size:12px;font-weight:700}.tool-heading p{margin:5px 0 0;color:var(--muted);font-size:10px;line-height:1.45}.advisory-chip,.scan-status{flex:0 0 auto;border-radius:999px;padding:4px 6px;font:700 8px Space Mono,monospace;text-transform:uppercase}.advisory-chip{color:#2859b8;background:#eaf0ff}.flash-screening .secondary-button{margin-top:12px}.flash-screening .text-button{font-size:11px;margin-top:3px}.progress-status{margin:7px 0 0;color:var(--muted);font-size:10px;line-height:1.4}.flash-results{margin-top:13px;padding-top:12px;border-top:1px solid #d5def8}.flash-results-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.flash-results-heading strong{font-size:11px;line-height:1.35}.scan-status.complete{color:#177245;background:#e8f8ef}.scan-status.cancelled{color:#9b5b00;background:#fff2dc}.flash-results>p{margin:5px 0 0;color:var(--muted);font-size:10px;line-height:1.45}.flash-result-note{padding-top:7px}.flash-event-list{display:grid;gap:6px;margin-top:10px}.flash-event{display:grid;grid-template-columns:1fr auto;gap:3px 8px;padding:8px;border-left:3px solid #d39c18;background:#fffdf7;border-radius:5px;font-size:10px}.flash-event.red{border-left-color:#c73535;background:#fff7f7}.flash-event strong{font-size:10px}.flash-event>span{color:var(--muted);font:10px Space Mono,monospace}.flash-event .event-severity{grid-column:1 / -1;color:#9b5b00;font-family:DM Sans,system-ui,sans-serif;text-transform:capitalize}.flash-event.red .event-severity{color:#a52929}.caption-upload{display:block;padding:11px 12px;border:1px dashed #bbc2cd;border-radius:8px;cursor:pointer}.caption-upload input{position:absolute;opacity:0;pointer-events:none}.caption-upload span{display:block;color:var(--muted);font-size:10px;margin-bottom:3px}.caption-upload strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--blue);font-size:12px}.review-checks{margin-top:9px;border:1px solid var(--line);border-radius:8px;background:#fff}.review-checks summary{padding:10px 12px;cursor:pointer;color:var(--ink);font-size:12px;font-weight:700}.review-checks p{margin:0;padding:0 12px 8px;color:var(--muted);font-size:10px;line-height:1.45}.review-checks label{display:flex;align-items:flex-start;gap:8px;padding:7px 12px;border-top:1px solid var(--line);color:#454b56;font-size:11px;line-height:1.4}.review-checks input{margin:2px 0 0;accent-color:var(--blue)}.secondary-button,.report-download{border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-weight:700;padding:10px 12px;transition:.15s ease}.secondary-button{width:100%;margin-top:9px;font-size:12px}.secondary-button:hover:not(:disabled),.report-download:hover{border-color:var(--blue);color:var(--blue)}.secondary-button:disabled{opacity:.45;cursor:not-allowed}.local-ai-note{margin:10px 0 0;color:var(--muted);font-size:10px;line-height:1.5}.results{min-width:0}.results-heading{border-bottom:1px solid var(--line);padding:3px 0 18px;margin-bottom:18px}.frame-count{color:var(--muted);border:1px solid var(--line);background:#fff;border-radius:7px;padding:6px 9px;font:11px Space Mono,monospace}.frames{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.empty-results{grid-column:1 / -1;min-height:450px;border:1px dashed #cdd2db;border-radius:14px;color:#9aa1ad;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;background:#ffffff80}.empty-results span{font-size:42px}.empty-results p{margin:0;font-size:14px}.frame-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 6px 20px #1e293b0a;animation:arrive .3s ease both}.frame-card img{width:100%;aspect-ratio:16/9;display:block;object-fit:contain;background:#101216}.frame-card div{padding:10px 11px;display:flex;justify-content:space-between;align-items:center}.frame-card span{color:var(--muted);font:11px Space Mono,monospace}.frame-card button{border:0;background:transparent;color:var(--blue);font-size:12px;font-weight:700}.frame-card button:hover{text-decoration:underline}.frame-description{margin:0;padding:0 11px 12px;color:#454b56;font-size:12px;line-height:1.5}.report{margin-top:28px;padding:22px;border:1px solid var(--line);border-radius:14px;background:#fff}.report-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.report-heading h2{margin:0}.report-download{font-size:11px}.report-disclaimer{padding:11px 13px;border-left:3px solid #d39c18;background:#fff9e8;color:#6b571e;font-size:11px;line-height:1.55}.audit-items{display:grid;gap:10px;margin-top:16px}.audit-item{display:grid;grid-template-columns:66px 1fr;gap:13px;border:1px solid var(--line);border-radius:9px;padding:13px}.audit-item>span{align-self:start;border-radius:999px;padding:4px 7px;text-align:center;font:700 9px Space Mono,monospace;text-transform:uppercase}.audit-item.pass>span{background:#e8f8ef;color:#177245}.audit-item.warning>span{background:#fff2dc;color:#9b5b00}.audit-item.info>span{background:#eaf0ff;color:#2859b8}.audit-item h3{margin:0;font-size:13px}.audit-item p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.5}@keyframes arrive{0%{opacity:0;transform:translateY(8px)}}@media(max-width:900px){.workspace{grid-template-columns:1fr}.panel{position:static}.frames{grid-template-columns:repeat(2,minmax(0,1fr))}.empty-results{min-height:300px}}@media(max-width:560px){.topbar{padding:0 18px}.privacy{font-size:11px}#app{padding:30px 18px 50px}.dropzone{width:calc(100vw - 36px);padding:26px 18px;min-height:210px}.rules{grid-template-columns:1fr}.rules div{flex-direction:row;justify-content:space-between}.frames{grid-template-columns:1fr}}
