:root { color-scheme: light dark; }
* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Noto Sans JP", sans-serif;
  line-height: 1.85;
  color: #1c1c1e;
  background: #fff;
}
@media (prefers-color-scheme: dark) {
  body { color: #ececf0; background: #131316; }
  .card { background: #1c1c20 !important; border-color: rgba(255,255,255,.10) !important; }
  th { background: rgba(255,255,255,.05) !important; }
  td, th { border-color: rgba(255,255,255,.12) !important; }
}
.wrap { max-width: 720px; margin: 0 auto; padding: 40px 20px 96px; }
header { display: flex; align-items: center; gap: 14px; margin-bottom: 8px; }
.mark {
  width: 44px; height: 44px; border-radius: 11px; flex: none;
  background: linear-gradient(135deg, #0b1c47 0%, #2a6bec 100%);
  position: relative;
}
.mark span {
  position: absolute; left: 50%; transform: translateX(-50%);
  background: #fff; border-radius: 2px; height: 3px;
}
.mark span:nth-child(1) { top: 11px; width: 24px; }
.mark span:nth-child(2) { top: 18px; width: 17px; opacity: .9; }
.mark span:nth-child(3) { top: 25px; width: 10px; opacity: .8; }
.mark span:nth-child(4) { top: 32px; width: 5px; height: 5px; border-radius: 50%; background: #5fd8ff; }
h1 { font-size: 26px; margin: 0; letter-spacing: .01em; }
.lead { color: #6b6b70; margin: 4px 0 36px; }
@media (prefers-color-scheme: dark) { .lead { color: #9a9aa2; } }
h2 { font-size: 19px; margin: 40px 0 12px; padding-top: 20px; border-top: 1px solid rgba(128,128,128,.22); }
h3 { font-size: 16px; margin: 26px 0 8px; }
p, li { font-size: 15px; }
ul { padding-left: 22px; }
li { margin-bottom: 8px; }
a { color: #2563eb; }
@media (prefers-color-scheme: dark) { a { color: #7aa5ff; } }
.card {
  background: #f6f6f8; border: 1px solid rgba(0,0,0,.07);
  border-radius: 14px; padding: 20px 22px; margin: 20px 0;
}
.btn {
  display: inline-block; background: #2563eb; color: #fff !important;
  text-decoration: none; font-weight: 600; font-size: 15px;
  padding: 13px 26px; border-radius: 999px; margin-top: 8px;
}
table { width: 100%; border-collapse: collapse; margin: 16px 0; font-size: 14px; }
th, td { border: 1px solid rgba(0,0,0,.12); padding: 9px 12px; text-align: left; vertical-align: top; }
th { background: rgba(0,0,0,.035); font-weight: 600; }
.meta { font-size: 13px; color: #7a7a80; }
footer { margin-top: 56px; padding-top: 20px; border-top: 1px solid rgba(128,128,128,.22); font-size: 13px; color: #7a7a80; }
footer a { margin-right: 16px; }
code { font-size: 13px; background: rgba(128,128,128,.14); padding: 2px 6px; border-radius: 5px; }
