:root{--bg:#f7f8fa;--surface:#ffffff;--text:#1a2233;--text-soft:#5a6478;--border:#dfe3ea;--accent:#2451e6;--accent-soft:#e8edfd;--warn-bg:#fff6d6;--warn-border:#e6c94d;--error:#c92a2a;--ok:#2b8a3e}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Hiragino Sans,Noto Sans JP,Yu Gothic UI,system-ui,sans-serif;line-height:1.7}main{max-width:1080px;margin:0 auto;padding:24px 20px 80px}header.site{display:flex;align-items:baseline;gap:12px;padding:8px 0 28px}header.site .logo{font-size:22px;font-weight:800;letter-spacing:.04em}header.site .logo span{color:var(--accent)}header.site .tagline{color:var(--text-soft);font-size:13px}.hero{text-align:center;padding:16px 0 28px}.hero h1{font-size:clamp(24px,4.2vw,38px);font-weight:800;line-height:1.4}.hero p.lead{margin-top:12px;color:var(--text-soft);font-size:15px}.hero .badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:16px}.hero .badges span{background:var(--accent-soft);color:var(--accent);border-radius:999px;font-size:12.5px;font-weight:600;padding:4px 12px}.dropzone{border:2px dashed var(--border);border-radius:14px;background:var(--surface);padding:44px 20px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.dropzone.dragging,.dropzone:hover{border-color:var(--accent);background:var(--accent-soft)}.dropzone .main-label{font-size:17px;font-weight:700}.dropzone .sub-label{margin-top:6px;color:var(--text-soft);font-size:13px}.status{margin-top:14px;font-size:14px}.status .error{color:var(--error)}.status .info{color:var(--text-soft)}.results{margin-top:36px}.results .toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}.results .toolbar h2{font-size:18px;margin-right:auto}button.action{background:var(--accent);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:9px 18px}button.action.secondary{background:var(--surface);border:1px solid var(--border);color:var(--text)}button.action:disabled{opacity:.5;cursor:default}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow-x:auto}table{border-collapse:collapse;font-size:13.5px;min-width:900px;width:100%}td,th{border-bottom:1px solid var(--border);padding:8px 10px;text-align:left;vertical-align:top;white-space:nowrap}th{background:#f0f2f6;font-size:12.5px;color:var(--text-soft)}td input{border:1px solid transparent;border-radius:6px;background:transparent;font:inherit;padding:3px 6px;width:100%;min-width:90px}td input:focus{border-color:var(--accent);background:#fff;outline:none}td.low-confidence input{background:var(--warn-bg);border-color:var(--warn-border)}.legend{margin-top:10px;color:var(--text-soft);font-size:12.5px}.legend .swatch{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:3px;display:inline-block;height:12px;margin-right:4px;vertical-align:-1px;width:12px}section.explain{margin-top:64px;display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}section.explain article{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px}section.explain h3{font-size:15px;margin-bottom:8px}section.explain p{color:var(--text-soft);font-size:13.5px}footer.site{border-top:1px solid var(--border);color:var(--text-soft);font-size:12.5px;margin-top:72px;padding:20px 0;text-align:center}