:root{--fg:#111827;--muted:#4b5563;--bg:#ffffff;--line:#e5e7eb;--accent:#1d4ed8;--danger:#b91c1c;--warn:#fef3c7;--ok:#ecfdf5;color-scheme:light}
*{box-sizing:border-box}
body{margin:0;font-family:"Hiragino Sans","Noto Sans JP",Meiryo,sans-serif;color:var(--fg);background:var(--bg);line-height:1.6;font-size:15px}
header{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--line)}
nav{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
nav a{color:var(--accent)}
main{max-width:1000px;margin:0 auto;padding:16px}
h1{font-size:1.3rem;margin:8px 0 16px}
h2{font-size:1.1rem;margin:24px 0 8px}
form{display:grid;gap:12px;max-width:420px}
label{display:grid;gap:4px;font-weight:600}
input,select,textarea{font:inherit;padding:8px;border:1px solid #9ca3af;border-radius:6px;width:100%}
textarea{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px}
textarea[readonly]{background:#f9fafb}
button{font:inherit;padding:8px 14px;border-radius:6px;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer}
button.link{background:none;border:none;color:var(--accent);padding:0;text-decoration:underline}
button.danger{background:var(--danger);border-color:var(--danger)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #f59e0b;outline-offset:2px}
.actions{display:flex;flex-wrap:wrap;gap:8px}
table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}
th,td{text-align:left;padding:8px;border-bottom:1px solid var(--line);vertical-align:top}
.error{color:var(--danger);font-weight:600}
.notice{background:var(--ok);padding:8px 12px;border-radius:6px}
.banner{background:var(--warn);padding:8px 16px}
.small{color:var(--muted);font-size:.9rem}
.status{color:var(--muted)}
.copy{margin-top:6px}
tr.warned{background:var(--warn)}
tr.reached{background:#fee2e2}
dl.info{display:grid;grid-template-columns:8em 1fr;gap:4px 12px}
dl.info dd{margin:0}
main>label{margin:12px 0}
