:root{--bg: #f5f7fa;--fg: #1f2933;--muted: #616e7c;--card: #fff;--line: #e4e7eb;--primary: #1f6feb;--primary-fg: #fff;--high: #d14343;--medium: #e58e26;--low: #c9a227;--info: #6b7a90;--ok: #2f9e6e}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,Segoe UI,Hiragino Sans,Noto Sans JP,sans-serif;line-height:1.7}a{color:var(--primary)}.header,.footer{max-width:920px;margin:0 auto;padding:16px;display:flex;gap:20px;align-items:center;justify-content:space-between}.footer{color:var(--muted);font-size:.9rem;justify-content:flex-start;flex-wrap:wrap}.brand{font-weight:700;font-size:1.2rem;text-decoration:none;color:var(--fg)}.main{max-width:920px;margin:0 auto;padding:0 16px 40px}.hero{padding:24px 0 8px}.hero h1{font-size:1.7rem;line-height:1.4;margin:0 0 12px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px;margin:16px 0}.card h1{margin:0 0 8px;font-size:1.4rem}.card h2{margin:0 0 12px;font-size:1.15rem}.card h3{margin:0 0 8px;font-size:1rem}.card.small ul{margin:0;padding-left:20px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form{display:grid;gap:14px}.form label{display:grid;gap:6px;font-weight:600}.form small{font-weight:400;color:var(--muted)}.form input,.form textarea{font:inherit;padding:10px 12px;border:1px solid #c5ccd6;border-radius:8px;width:100%}.form label.check{grid-template-columns:auto 1fr;align-items:start;font-weight:400}.form label.check input{width:auto;margin-top:6px}.btn{display:inline-block;font:inherit;font-weight:600;padding:10px 18px;border-radius:8px;border:1px solid #c5ccd6;background:#fff;color:var(--fg);cursor:pointer;text-decoration:none}.btn.primary{background:var(--primary);color:var(--primary-fg);border-color:var(--primary)}.btn:disabled{opacity:.6;cursor:default}.muted{color:var(--muted)}.error{color:var(--high)}.score{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.grade{display:grid;justify-items:center;padding:12px 24px;border-radius:12px;background:#f0f4f8;min-width:160px}.grade-letter{font-size:3rem;font-weight:800;line-height:1}.grade-Ap .grade-letter,.grade-A .grade-letter{color:var(--ok)}.grade-B .grade-letter{color:var(--medium)}.grade-C .grade-letter{color:var(--high)}.grade-score{font-weight:600}.grade-label{color:var(--muted);font-size:.9rem}.badge{display:inline-block;font-size:.8rem;padding:2px 10px;border-radius:999px;color:#fff;vertical-align:middle}.sev-high{background:var(--high)}.sev-medium{background:var(--medium)}.sev-low{background:var(--low)}.sev-info{background:var(--info)}.sev-ok{background:var(--ok)}.finding{border-top:1px solid var(--line)}.finding-head{width:100%;display:flex;gap:10px;align-items:center;padding:12px 0;background:none;border:0;font:inherit;text-align:left;cursor:pointer;color:var(--fg)}.finding-title{flex:1;font-weight:600}.chev{color:var(--muted);font-size:.8rem}.dot{width:10px;height:10px;border-radius:50%;flex:none}.finding-body{padding:0 0 14px 20px}.finding-body p{margin:0 0 8px}.evidence{display:block;font-size:.85rem;background:#f0f4f8;padding:8px 10px;border-radius:6px;word-break:break-all}.cta{text-align:left}.cta .btn{display:block;width:fit-content;margin:16px auto 8px}.cta .muted{text-align:center}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin:12px 0}.detail-grid h3{margin:0 0 4px;font-size:.98rem}.detail-grid ul{margin:0;padding-left:20px}.detail-grid li{margin:2px 0;font-size:.95rem}@media(max-width:640px){.detail-grid{grid-template-columns:1fr}}.prose h3{margin-top:18px}@media(max-width:640px){.grid{grid-template-columns:1fr}.hero h1{font-size:1.35rem}}.checks{margin:0 0 8px;padding-left:22px}.checks li{margin:2px 0}
