:root { color-scheme: light dark; --bg: #f5f7fa; --paper: #fff; --ink: #233044; --muted: #5d697b; --line: #e0e5ed; --link: #245db7; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 16px/1.65 system-ui, -apple-system, "Segoe UI", sans-serif; }
main { max-width: 920px; margin: 40px auto; padding: 42px 48px; background: var(--paper); border: 1px solid var(--line); border-radius: 16px; }
.brand { font-weight: 600; font-size: 14px; }
h1 { margin: 16px 0 12px; font-size: clamp(28px, 5vw, 38px); line-height: 1.2; letter-spacing: -.025em; }
h2 { margin: 0 0 12px; font-size: 23px; line-height: 1.35; }
p { margin: 0 0 14px; }
.intro { color: var(--muted); max-width: 660px; }
section { margin-top: 30px; padding-top: 28px; border-top: 1px solid var(--line); }
a { color: var(--link); text-underline-offset: 3px; }
a:focus-visible, .table-scroll:focus-visible { outline: 2px solid var(--link); outline-offset: 4px; }
.table-scroll { overflow-x: auto; margin: 18px 0; border: 1px solid var(--line); border-radius: 9px; }
table { width: 100%; border-collapse: collapse; text-align: left; font-size: 14px; }
th, td { padding: 14px 16px; vertical-align: top; border-bottom: 1px solid var(--line); }
thead { background: var(--bg); }
tbody th { width: 34%; font-weight: 600; }
tbody tr:last-child > * { border-bottom: 0; }
small { font-size: 12px; color: var(--muted); font-weight: 400; }
.font-license-index { font-size: 14px; line-height: 2; margin: 20px 0; }
.font-license-card { margin-top: 22px; padding: 22px; border: 1px solid var(--line); border-radius: 10px; scroll-margin-top: 20px; }
.font-license-card h3 { font-size: 22px; margin: 0 0 12px; }
.font-license-card p { font-size: 14px; overflow-wrap: anywhere; }
.font-license-card details { margin-top: 12px; }
.font-license-card summary { cursor: pointer; color: var(--link); text-decoration: underline; text-underline-offset: 3px; }
.font-license-card summary:focus-visible { outline: 2px solid var(--link); outline-offset: 4px; }
.font-license-card pre { white-space: pre-wrap; overflow-wrap: anywhere; padding: 16px; border: 1px solid var(--line); background: var(--bg); font: 12px/1.6 monospace; }
.font-file-details { font-size: 13px; }
@media (max-width: 600px) { .font-license-card { padding: 16px 12px; } }
.note, footer { color: var(--muted); font-size: 13px; }
footer { margin-top: 32px; padding-top: 20px; border-top: 1px solid var(--line); }
footer p:last-child { margin-bottom: 0; }
@media (max-width: 600px) { main { margin: 0; padding: 28px 20px; border: 0; border-radius: 0; } th, td { padding: 12px 10px; } h2 { font-size: 21px; } }
@media (prefers-color-scheme: dark) { :root { --bg: #181e27; --paper: #222b38; --ink: #e8eef6; --muted: #b1bed0; --line: #425064; --link: #9ac0ff; } }
