:root{--fg:#1f2328;--muted:#59636e;--border:#d1d9e0;--bg:#f6f8fa;--accent:#0b5cad}*{box-sizing:border-box}body{color:var(--fg);margin:0;font-family:system-ui,-apple-system,Hiragino Sans,Noto Sans JP,sans-serif;line-height:1.6}header.site{border-bottom:1px solid var(--border);align-items:center;gap:24px;padding:12px 24px;display:flex}header.site .brand{color:var(--fg);font-size:1.1rem;font-weight:700;text-decoration:none}header.site nav a{color:var(--accent);margin-right:16px;text-decoration:none}main{max-width:1100px;margin:0 auto;padding:24px}footer.site{max-width:1100px;color:var(--muted);border-top:1px solid var(--border);margin:32px auto;padding:16px 24px;font-size:.85rem}h1{font-size:1.5rem}h2{border-bottom:1px solid var(--border);margin-top:32px;padding-bottom:4px;font-size:1.2rem}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:6px 8px}th{background:var(--bg);white-space:nowrap}input[type=text],textarea{border:1px solid var(--border);border-radius:6px;width:100%;padding:8px;font-family:inherit;font-size:1rem}button,.button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:6px;padding:8px 16px;font-size:1rem;text-decoration:none;display:inline-block}button:disabled{opacity:.5;cursor:default}.button.secondary{color:var(--accent);border:1px solid var(--accent);background:#fff}.notice{background:#fff8c5;border:1px solid #d4a72c;border-radius:6px;margin:12px 0;padding:10px 14px}.error{background:#ffebe9;border:1px solid #cf222e;border-radius:6px;margin:12px 0;padding:10px 14px}.muted{color:var(--muted);font-size:.9rem}.grade{color:#fff;border-radius:12px;justify-content:center;align-items:center;width:72px;height:72px;font-size:2.4rem;font-weight:700;display:inline-flex}.grade-A{background:#1a7f37}.grade-B{background:#4d9a2a}.grade-C{background:#bf8700}.grade-D{background:#d1242f}.grade-E{background:#82071e}.grade-none{background:#8c959f;font-size:1rem}.sev{white-space:nowrap;font-weight:700}.sev-critical{color:#82071e}.sev-high{color:#d1242f}.sev-medium{color:#bf8700}.sev-low{color:#59636e}.sev-info{color:#8c959f}.row{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.draft{border:1px solid var(--border);border-radius:8px;margin:12px 0;padding:12px}.draft textarea{min-height:300px;font-size:.9rem}header.site nav a.active{font-weight:700}.wrap,td{overflow-wrap:anywhere}label.check{align-items:flex-start;gap:6px;display:inline-flex}label.check input{flex:none;width:18px;height:18px;margin-top:.35em}.progress{border:1px solid var(--border);background:var(--bg);border-radius:8px;margin:16px 0;padding:12px 14px}.progress-head{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.steps{margin:8px 0;padding:0;list-style:none}.step{grid-template-columns:1.5em 1fr auto;align-items:baseline;gap:8px;padding:4px 0;display:grid}.step-mark{text-align:center;font-weight:700}.step-done .step-mark{color:#1a7f37}.step-running .step-mark{color:var(--accent);animation:1s ease-in-out infinite pulse}.step-running .step-label{font-weight:700}.step-waiting,.step-skipped{color:var(--muted)}.step-note{text-align:right}@keyframes pulse{50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.step-running .step-mark{animation:none}}@media (width<=640px){header.site{flex-wrap:wrap;gap:4px 16px;padding:10px 16px}header.site nav{flex-wrap:wrap;display:flex}header.site nav a{margin-right:0;padding:8px 12px 8px 0}main{padding:16px}footer.site{margin:24px auto;padding:16px}.row{gap:12px}.row .button,.row button{text-align:center;flex:auto}button,.button{padding:10px 16px}.grade-row{flex-wrap:nowrap;align-items:flex-start}.grade-row .grade{flex:none;width:60px;height:60px;font-size:2rem}.grade-row .grade.grade-none{font-size:.85rem}.step{grid-template-columns:1.5em 1fr}.step-note{text-align:left;grid-column:2}table.responsive,table.responsive tbody,table.responsive tr,table.responsive td{width:100%;display:block}table.responsive thead{display:none}table.responsive tr{border:1px solid var(--border);border-radius:8px;margin:0 0 12px;padding:4px 0}table.responsive td{border:0;grid-template-columns:7.5em 1fr;gap:8px;padding:4px 12px;display:grid}table.responsive td:before{content:attr(data-label);color:var(--muted);font-size:.85rem;font-weight:600}table.responsive td:empty{display:none}input[type=file]{max-width:100%}}
