:root{--border: #cbd2d9;--muted: #52606d;--error: #b00020;--warning: #8a5a00;--info: #1a5f9e;--tool: #5b3fa8;color-scheme:light}*{box-sizing:border-box}body{margin:0;font-family:Hiragino Sans,Yu Gothic,Meiryo,sans-serif;font-size:15px;line-height:1.7;color:#1f2933;background:#f5f7fa}main{max-width:960px;margin:0 auto;padding:1.5rem 1rem 4rem}h1{font-size:1.4rem;margin:.5rem 0 .25rem}h2{font-size:1.1rem;margin:2rem 0 .5rem;border-bottom:1px solid var(--border);padding-bottom:.25rem}.subtitle{color:var(--muted);margin:0 0 1rem}.disclaimer{background:#fff8e6;border:1px solid #e6cf8b;border-radius:6px;padding:.6rem .9rem;margin:1rem 0}.privacy-note{color:var(--muted);font-size:.85rem;margin:.5rem 0 1.5rem}.controls{background:#fff;border:1px solid var(--border);border-radius:6px;padding:1rem;margin-bottom:1rem}.controls fieldset{border:none;margin:0 0 .75rem;padding:0}.controls legend{font-weight:600;padding:0;margin-bottom:.25rem}.controls label{margin-right:1.25rem}.controls .note{color:var(--muted);font-size:.85rem}.dropzone{border:2px dashed var(--border);border-radius:8px;background:#fff;padding:2.5rem 1rem;text-align:center;color:var(--muted)}.dropzone.dragover{border-color:var(--info);background:#eef6fd}.dropzone input[type=file]{display:block;margin:.75rem auto 0}.conditions,.summary,.aggregated,.undetermined{background:#fff;border:1px solid var(--border);border-radius:6px;padding:.75rem 1rem;margin-bottom:1rem}.conditions dl{display:grid;grid-template-columns:max-content 1fr;gap:.15rem 1rem;margin:0}.conditions dt{color:var(--muted)}.conditions dd{margin:0}.summary-groups{display:flex;flex-wrap:wrap;gap:2rem}.summary-group h3{font-size:.95rem;margin:0 0 .25rem}.summary-group ul{list-style:none;margin:0;padding:0}table.findings{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--border);font-size:.9rem}table.findings th,table.findings td{border:1px solid var(--border);padding:.4rem .6rem;text-align:left;vertical-align:top}table.findings th{background:#e4e9ef}.badge{display:inline-block;padding:0 .45rem;border-radius:4px;font-size:.8rem;font-weight:600;color:#fff;white-space:nowrap}.badge.error{background:var(--error)}.badge.warning{background:var(--warning)}.badge.info{background:var(--info)}.badge.format-error,.badge.setting-error{background:var(--tool)}.aggregated ul,.undetermined ul{margin:.25rem 0 0;padding-left:1.25rem}.empty-note{color:var(--muted)}footer{margin-top:3rem;color:var(--muted);font-size:.85rem;border-top:1px solid var(--border);padding-top:1rem}
