@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;700&family=Inter:wght@400;500;700&display=swap');

* { box-sizing: border-box; }

body {
    font-family: 'Inter', 'Helvetica Neue', sans-serif;
    font-size: 11pt;
    line-height: 1.7;
    color: #1a1a1a;
    background: #ffffff;
    max-width: 780px;
    margin: 0 auto;
    padding: 48px 56px;
}

h1 {
    font-size: 22pt;
    font-weight: 700;
    color: #000;
    border-bottom: 3px solid #000;
    padding-bottom: 10px;
    margin-top: 0;
    margin-bottom: 4px;
}

h2 {
    font-size: 13pt;
    color: #555;
    font-weight: 400;
    margin-top: 2px;
    margin-bottom: 28px;
}

h2:not(:first-of-type) {
    font-size: 15pt;
    color: #000;
    font-weight: 700;
    border-bottom: 1px solid #ddd;
    padding-bottom: 6px;
    margin-top: 40px;
}

h3 {
    font-size: 11pt;
    font-weight: 700;
    color: #222;
    margin-top: 24px;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.meta {
    font-family: 'JetBrains Mono', monospace;
    font-size: 8pt;
    color: #888;
    margin-bottom: 32px;
    border-left: 3px solid #ddd;
    padding-left: 12px;
}

p { margin: 0 0 12px 0; }

code, pre {
    font-family: 'JetBrains Mono', 'Courier New', monospace;
    font-size: 8.5pt;
}

pre {
    background: #f5f5f5;
    border: 1px solid #e0e0e0;
    border-left: 3px solid #aaa;
    padding: 12px 16px;
    overflow-x: auto;
    max-width: 100%;
    margin: 16px 0;
    line-height: 1.5;
}

code {
    background: #f5f5f5;
    padding: 1px 5px;
    border-radius: 2px;
    color: #333;
}

pre code {
    background: none;
    padding: 0;
    border-radius: 0;
}

table {
    width: 100%;
    border-collapse: collapse;
    font-size: 9pt;
    margin: 16px 0;
}

th {
    background: #f0f0f0;
    text-align: left;
    padding: 7px 10px;
    border: 1px solid #ccc;
    font-weight: 700;
    font-family: 'JetBrains Mono', monospace;
    font-size: 8pt;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

td {
    padding: 6px 10px;
    border: 1px solid #ddd;
    vertical-align: top;
    font-family: 'JetBrains Mono', monospace;
    font-size: 8pt;
}

tr:nth-child(even) td { background: #fafafa; }

img, svg {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 24px auto;
    border: 1px solid #e0e0e0;
}

hr {
    border: none;
    border-top: 1px solid #ddd;
    margin: 32px 0;
}

ul, ol {
    margin: 8px 0 16px 0;
    padding-left: 24px;
}

li { margin-bottom: 4px; }

strong { color: #000; }

blockquote {
    border-left: 3px solid #ccc;
    margin: 0;
    padding: 8px 16px;
    color: #555;
    background: #fafafa;
}

/* page breaks for PDF */
h2 { page-break-before: auto; }
img { page-break-inside: avoid; }
table { page-break-inside: avoid; }
pre { page-break-inside: avoid; }

@media (max-width: 640px) {
    body { padding: 20px 16px; }
}
