
  :root { --accent: #2c6e49; --bg: #f6f8f7; --card: #ffffff; --text: #1f2a24; --err: #b00020; }
  * { box-sizing: border-box; }
  [hidden] { display: none !important; }
  body { margin: 0; font-family: "Yu Gothic UI", "Meiryo", sans-serif; background: var(--bg); color: var(--text); line-height: 1.6; }
  main { max-width: 860px; margin: 0 auto; padding: 24px 16px 48px; }
  h1 { font-size: 1.5rem; margin: 0 0 8px; }
  h2 { font-size: 1.1rem; margin: 0 0 12px; }
  h3 { font-size: 1rem; margin: 18px 0 6px; }
  .card { background: var(--card); border-radius: 10px; padding: 20px; box-shadow: 0 1px 3px rgba(0,0,0,.08); margin-bottom: 16px; }
  .field { margin-bottom: 14px; }
  label.title { display: block; font-weight: bold; margin-bottom: 4px; }
  input[type="text"], select { padding: 6px 8px; font-size: 1rem; border: 1px solid #aab7b0; border-radius: 6px; }
  input[type="file"] { font-size: 0.95rem; }
  .actions { display: flex; flex-wrap: wrap; gap: 8px; }
  button { background: var(--accent); color: #fff; border: 0; border-radius: 6px; padding: 10px 22px; font-size: 1rem; cursor: pointer; }
  button:disabled, input:disabled, select:disabled { cursor: not-allowed; }
  button:disabled { background: #9aa8a0; }
  button:focus-visible, input:focus-visible, select:focus-visible, a:focus-visible, .scroll:focus-visible { outline: 3px solid #f0b429; outline-offset: 2px; }
  #status { min-height: 1.6em; margin: 12px 0; font-weight: bold; }
  #status.error { color: var(--err); }
  a { color: var(--accent); }
  ul.notes { padding-left: 1.2em; font-size: 0.95rem; }
  ul.keys { padding-left: 1.2em; margin: 0; max-height: 240px; overflow-y: auto; }
  .muted { color: #55635b; font-size: 0.9rem; }
  .sensitive { background: #fff4e5; border-left: 4px solid #b26a00; padding: 8px 12px; font-size: 0.95rem; }
  dl.summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 8px; margin: 12px 0; }
  dl.summary div { background: var(--bg); border-radius: 6px; padding: 8px 12px; }
  dl.summary dt { font-size: 0.9rem; color: #55635b; }
  dl.summary dd { margin: 0; font-size: 1.3rem; font-weight: bold; }
  .scroll { overflow: auto; max-height: 420px; border: 1px solid #d5ded9; border-radius: 6px; }
  table { border-collapse: collapse; width: 100%; font-size: 0.95rem; }
  th, td { border-bottom: 1px solid #e3e9e6; padding: 6px 10px; text-align: left; vertical-align: top; word-break: break-all; }
  thead th { position: sticky; top: 0; background: #eef3f0; }
  .muted + .scroll, #changedNote + .scroll { margin-top: 6px; }
