/* Cardeo — Legal. Restrained twilight palette, light/dark safe. */
:root{
  --bg:#faf9fd; --panel:#ffffff; --ink:#181528; --muted:#5b5570;
  --line:#e6e1f2; --accent:#5a4fa0; --accent2:#7b6cf6; --brand:#4a3d9e;
  --tableHead:#f1edfb; --tableStripe:#faf8fe;
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#0d0b22; --panel:#14112e; --ink:#ede6fb; --muted:#b4acd9;
    --line:#2a2550; --accent:#b4acd9; --accent2:#a78bfa; --brand:#c9b8f5;
    --tableHead:#1c1840; --tableStripe:#171334;
  }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,
    "Noto Sans",sans-serif;
  line-height:1.65;font-size:16px;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--accent2);text-decoration:underline;text-underline-offset:2px}
a:hover{color:var(--accent)}
.site-header,.site-footer{max-width:820px;margin:0 auto;padding:20px 24px}
.site-header{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  border-bottom:1px solid var(--line);
}
.wordmark{font-weight:700;font-size:20px;letter-spacing:-.02em;color:var(--brand);
  text-decoration:none}
.wordmark:hover{color:var(--accent2)}
.badge{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);border:1px solid var(--line);border-radius:999px;
  padding:4px 10px}
main{max-width:820px;margin:0 auto;padding:32px 24px 8px}
.doc-title{font-size:28px;line-height:1.2;letter-spacing:-.02em;margin:0 0 6px}
.doc-meta{color:var(--muted);font-size:14px;margin:0 0 28px}
.content p{margin:0 0 14px}
.content strong{font-weight:700}
.content ul,.content ol{margin:0 0 16px;padding-left:22px}
.content li{margin:4px 0}
.content h1,.content h2,.content h3{letter-spacing:-.01em;margin:28px 0 10px}
.content img{max-width:100%;height:auto;border:1px solid var(--line);border-radius:8px}
.content blockquote{margin:0 0 14px;padding:0 0 0 16px;border-left:3px solid var(--line);
  color:var(--muted)}
.content .notice{margin:0 0 28px;padding:16px 18px;border:1px solid var(--line);
  border-left:4px solid var(--accent2);border-radius:8px;background:var(--panel)}
.content .notice p{margin:0 0 10px}
.content .notice p:last-child{margin:0}
.content table{border-collapse:collapse;width:100%;margin:0 0 20px;font-size:14.5px;
  display:block;overflow-x:auto}
.content th,.content td{border:1px solid var(--line);padding:8px 10px;
  text-align:left;vertical-align:top}
.content thead th,.content tr:first-child td{background:var(--tableHead);font-weight:600}
.content tbody tr:nth-child(even){background:var(--tableStripe)}
.back{display:inline-block;margin:8px 0 40px;font-size:14px}
.site-footer{border-top:1px solid var(--line);color:var(--muted);font-size:13px;
  display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:space-between;
  align-items:flex-start;line-height:1.6}
.site-footer a{color:var(--muted)}
.site-footer .entity{max-width:44ch}
.site-footer .foot-links{text-align:right}
@media (max-width:600px){
  .site-footer{flex-direction:column;gap:12px}
  .site-footer .foot-links{text-align:left}
}
/* index */
.index-intro{color:var(--muted);margin:0 0 28px}
.card-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.card-list a{display:block;text-decoration:none;color:inherit;background:var(--panel);
  border:1px solid var(--line);border-radius:12px;padding:18px 20px;
  transition:border-color .15s ease,transform .15s ease}
.card-list a:hover{border-color:var(--accent2);transform:translateY(-1px)}
.card-list h2{margin:0 0 4px;font-size:18px;letter-spacing:-.01em;color:var(--ink)}
.card-list p{margin:0;color:var(--muted);font-size:14.5px}
