/* Academic Theme */
:root {
  --background: #fbfaf7; --container: #ffffff; --border: #e0e0e0;
  --text: #333333; --header: #1a1a1a; --link: #0056b3; --code-bg: #f4f4f4;
  --muted: #5a5a5a;
}
body {
    font-family: Georgia, "Times New Roman", Times, serif;
    line-height: 1.75;
    color: var(--text);
    background-color: var(--background);
    margin: 0;
    padding: 0;
}
.container {
    max-width: 800px;
    margin: 30px auto;
    padding: 30px 50px;
    background-color: var(--container);
    border: 1px solid var(--border);
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}
h1,h2,h3,h4,h5,h6 {
    margin-top: 30px;
    margin-bottom: 15px;
    font-weight: 600;
    line-height: 1.3;
    border-bottom: 1px solid var(--border);
    padding-bottom: .4em;
    color: var(--header);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; /* Sans-serif for headers often looks good */
}
h1 { font-size: 2.1em; } h2 { font-size: 1.7em; } h3 { font-size: 1.4em; }
p { margin-top: 0; margin-bottom: 20px; color: var(--text); text-align: justify; }
ul,ol { margin-top:0; margin-bottom:20px; padding-left:2em; }
a { color: var(--link); text-decoration: none; border-bottom: 1px dotted var(--link); }
a:hover { text-decoration: none; border-bottom: 1px solid var(--link); }
code {
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
    font-size: 85%;
    background-color: var(--code-bg);
    border-radius: 3px;
    padding: .2em .4em;
    margin: 0;
    color: #555;
    border: 1px solid #ddd;
}
pre {
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
    font-size: 85%;
    line-height: 1.5;
    background-color: var(--code-bg);
    border: 1px solid var(--border);
    border-radius: 4px;
    padding: 16px;
    overflow: auto;
    margin-bottom: 20px;
    color: var(--text);
}
pre code { background-color: transparent; border: 0; padding: 0; }
img { max-width: 100%; height: auto; background-color: #fff; border-radius: 4px; box-sizing: border-box; margin-top: 20px; margin-bottom: 20px; border: 1px solid var(--border); display: block; margin-left: auto; margin-right: auto; }
blockquote { margin: 0 0 20px 0; padding: 10px 20px; color: var(--muted); border-left: .3em solid var(--border); font-style: italic; }
table { border-collapse: collapse; margin-bottom: 20px; width: 100%; display: block; overflow: auto; border: 1px solid var(--border); }
th,td { border: 1px solid var(--border); padding: 8px 15px; }
tr { background-color: var(--container); border-top: 1px solid var(--border); }
tr:nth-child(2n) { background-color: var(--code-bg); }
hr { height: 1px; padding: 0; margin: 40px 0; background-color: var(--border); border: 0; }
hr.readmesite-footer-separator { margin-top: 80px; margin-bottom: 40px; }
div.readmesite-footer { text-align: center; font-size: 0.8em; color: var(--muted); padding-bottom: 15px; margin-top: 0; }
div.readmesite-footer p { margin: 0; } div.readmesite-footer a { color: var(--link); border-bottom: none; }