*{box-sizing:border-box}body{font-family:system-ui,"Hiragino Sans","Noto Sans JP",sans-serif;margin:0;color:#222;background:#fafafa;line-height:1.6}
.banner{background:#fff3cd;border-bottom:1px solid #e0c060;padding:.6em 1em;font-size:.95em}
header,main,footer{max-width:1100px;margin:0 auto;padding:0 1em}h1{font-size:1.4em}
nav{display:flex;gap:.5em;flex-wrap:wrap;align-items:center;margin-bottom:1em}nav a{margin-left:auto}
button{font-size:1em;padding:.4em .9em;border:1px solid #888;border-radius:4px;background:#fff;cursor:pointer}
button.primary{background:#2a6;color:#fff;border-color:#2a6}.tab.active{background:#234;color:#fff}
.panel{background:#fff;border:1px solid #ddd;border-radius:6px;padding:1em;margin-bottom:1em}.hidden{display:none}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:1em}@media(max-width:700px){.grid2{grid-template-columns:1fr}}
label{display:block;font-weight:bold;font-size:.9em}textarea{width:100%;font-family:monospace;font-size:.9em}
.row{display:flex;gap:1.5em;flex-wrap:wrap}.row input,.row select{font-size:1em;width:10em}
table{border-collapse:collapse;width:100%;margin:.5em 0;font-size:.9em}th,td{border:1px solid #ccc;padding:.25em .5em;text-align:left}td.n{text-align:right}
tr.flag td{background:#fde2e2}.ok{color:#176}.ng{color:#b00;font-weight:bold}.note{color:#555;font-size:.9em}
.summary{display:flex;gap:1em;flex-wrap:wrap}.summary div{background:#eef;padding:.4em .8em;border-radius:4px}
a.disabled{color:#888;pointer-events:none}footer{font-size:.85em;color:#666}
.copymsg{margin-left:.6em}ul.flags{margin:0;padding-left:1.1em}.explain{background:#fff8f0;border-left:4px solid #e09040;padding:.3em .8em;margin:.5em 0}
