:root{--ink: #1b1d21;--muted: #656b74;--line: #e4e6e8;--bg: #f7f7f5;--surface: #fff;--primary: #246bfd;--ok: #25724b;--bad: #b42318}*{box-sizing:border-box}body{margin:0;font-family:"Source Sans 3",-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--ink)}.shell{min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:12px}.brand{display:flex;gap:10px;align-items:center;color:var(--primary)}.brand-name{font-size:18px;font-weight:700;color:var(--ink)}.brand-sub{font-size:13px;color:var(--muted)}.pills{display:flex;gap:8px;flex-wrap:wrap}.pill{padding:5px 12px;border-radius:999px;font-size:12px;font-weight:600}.pill.ok{background:#e6f4ec;color:var(--ok)}.pill.bad{background:#fdecea;color:var(--bad)}.pill.idle{background:#f0f1f3;color:var(--muted)}main{max-width:720px;margin:32px auto;padding:0 24px}.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:20px;margin-bottom:20px}.card h2{font-size:16px;margin:0 0 6px}.hint{color:var(--muted);font-size:13px;margin:0 0 14px}.drop{display:flex;gap:8px;align-items:center;border:1px dashed var(--line);border-radius:8px;padding:14px 16px;margin-bottom:14px;cursor:pointer;color:var(--muted);font-size:14px}.drop input{display:none}.btn-primary{display:inline-flex;gap:8px;align-items:center;background:var(--primary);color:#fff;border:0;border-radius:8px;padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer}.btn-primary:disabled{opacity:.5;cursor:default}.verdict{display:flex;gap:8px;align-items:center;font-size:20px;font-weight:700;margin-bottom:12px}.v-pass{color:var(--ok)}.v-block{color:var(--bad)}pre{background:#101418;color:#d7e0e8;padding:14px;border-radius:8px;overflow:auto;font-size:12px;line-height:1.5;white-space:pre-wrap}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.input{width:100%;padding:10px 12px;margin-bottom:14px;border:1px solid var(--line);border-radius:8px;font-size:14px;color:var(--ink);background:#fff}.input:focus{outline:2px solid var(--primary);border-color:transparent}.preview{max-width:100%;border-radius:10px;border:1px solid var(--line)}
