:root{--paper: #eef1f3;--card: #ffffff;--ink: #1b2430;--ink-soft: #51606f;--line: #d4dade;--federal: #1f4e8c;--federal-deep: #163a69;--pass: #1b7f4d;--pass-bg: #ecf7f0;--note: #9a6b00;--note-bg: #fdf6e5;--fail: #b3261e;--fail-bg: #fceeed;--radius: 6px;--font-body: "Public Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.5}.page{min-height:100vh;display:flex;flex-direction:column}.masthead{background:var(--federal-deep);color:#fff;border-bottom:4px solid #c9a227}.masthead-inner{max-width:980px;margin:0 auto;padding:28px 20px 24px}.eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:.75}.masthead h1{margin:4px 0 6px;font-size:34px;font-weight:800;letter-spacing:-.01em}.tagline{margin:0;max-width:56ch;opacity:.9;font-size:15px}.content{max-width:980px;width:100%;margin:0 auto;padding:24px 20px 48px;flex:1}.mode-switch{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:20px;background:var(--card)}.mode-switch button{font:inherit;font-weight:600;padding:10px 22px;border:0;background:transparent;cursor:pointer;color:var(--ink-soft)}.mode-switch button.active{background:var(--federal);color:#fff}.mode-switch button:focus-visible{outline:3px solid var(--federal);outline-offset:-3px}.workbench{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 760px){.workbench{grid-template-columns:1fr}}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.panel h2{margin:0 0 4px;font-size:17px;font-weight:700}.hint{margin:0 0 14px;color:var(--ink-soft);font-size:14px}.hint code{font-family:var(--font-mono);font-size:12.5px}label{display:block;font-size:13px;font-weight:600;margin-bottom:12px;color:var(--ink-soft)}input[type=text],label input{display:block;width:100%;margin-top:4px;padding:10px 12px;font:15px var(--font-body);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);background:#fff}label input:focus-visible{outline:3px solid var(--federal);outline-offset:0;border-color:var(--federal)}.dropzone{border:2px dashed var(--line);border-radius:var(--radius);padding:38px 16px;text-align:center;color:var(--ink-soft);cursor:pointer;font-weight:600;background:#fafbfc;transition:border-color .15s,background .15s}.dropzone.over,.dropzone:hover{border-color:var(--federal);background:#f0f5fb;color:var(--federal)}.dropzone:focus-visible{outline:3px solid var(--federal)}.actions{display:flex;gap:10px;margin-top:16px}button.primary{font:inherit;font-weight:700;font-size:16px;background:var(--federal);color:#fff;border:0;border-radius:var(--radius);padding:12px 26px;cursor:pointer;min-height:48px}button.primary:hover:not(:disabled){background:var(--federal-deep)}button.primary:disabled{opacity:.45;cursor:not-allowed}button.secondary{font:inherit;font-weight:600;background:#fff;color:var(--federal);border:1px solid var(--federal);border-radius:var(--radius);padding:11px 18px;cursor:pointer;min-height:48px}button.primary:focus-visible,button.secondary:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.results{margin-top:28px}.results h2{font-size:20px;margin:0 0 8px}.result-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;margin-bottom:16px}.result-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.result-top strong{font-size:15px;word-break:break-all}.result-meta{display:flex;align-items:center;gap:10px}.elapsed{font-family:var(--font-mono);font-size:13px;color:var(--ink-soft)}.working{color:var(--ink-soft);font-style:italic}.stamp{font-weight:800;font-size:13px;letter-spacing:.12em;padding:5px 12px;border-radius:3px;border:2.5px solid currentColor;transform:rotate(-2deg);display:inline-block;text-transform:uppercase}.stamp-pass{color:var(--pass);background:var(--pass-bg)}.stamp-note{color:var(--note);background:var(--note-bg)}.stamp-fail{color:var(--fail);background:var(--fail-bg)}.result-body{display:grid;grid-template-columns:180px 1fr;gap:18px;margin-top:16px}@media (max-width: 700px){.result-body{grid-template-columns:1fr}}.thumb{width:100%;border:1px solid var(--line);border-radius:var(--radius);align-self:start}.check-row{border-top:1px solid var(--line);padding:12px 0}.check-head{display:flex;align-items:center;gap:10px}.check-icon{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:#fff;flex-shrink:0}.status-pass .check-icon{background:var(--pass)}.status-note .check-icon{background:var(--note)}.status-fail .check-icon{background:var(--fail)}.check-label{font-weight:700;font-size:14px}.check-status{margin-left:auto;font-size:13px;font-weight:700}.status-pass .check-status{color:var(--pass)}.status-note .check-status{color:var(--note)}.status-fail .check-status{color:var(--fail)}.check-values{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0 0 32px}@media (max-width: 700px){.check-values{grid-template-columns:1fr}}.value-tag{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:2px}.value-text{font-family:var(--font-mono);font-size:13px;word-break:break-word}.check-detail{margin:8px 0 0 32px;font-size:13.5px;color:var(--ink-soft)}.quality-note{margin:10px 0 0;font-size:13px;color:var(--note);font-weight:600}.reference{margin-top:32px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px}.reference summary{cursor:pointer;font-weight:600;font-size:14px}.reference p{margin:10px 0 4px}.footer{text-align:center;padding:18px;color:var(--ink-soft);font-size:13px;border-top:1px solid var(--line)}@media (prefers-reduced-motion: reduce){*{transition:none!important}}
