/* alihasanassi.com — research-forward minimal style */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
    --bg:#06060b;
    --bg-soft:#0a0a12;
    --bg-card:#0e0e18;
    --border:#1a1a2e;
    --border-h:#252540;
    --text:#e4e4f0;
    --text-dim:#9a9ab8;
    --text-muted:#6b6b8a;
    --accent:#8ab4ff;
    --accent-h:#a8c6ff;
    --link:#8ab4ff;
    --code-bg:#14142a;
    --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    --mono:'JetBrains Mono','Fira Code','Courier New',monospace;
    --max-w:720px;
}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
    background:var(--bg);
    color:var(--text);
    font-family:var(--font);
    font-size:17px;
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    overflow-x:hidden;
}

a{color:var(--link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color .15s}
a:hover{color:var(--accent-h);text-decoration-thickness:2px}

main.page{max-width:var(--max-w);margin:0 auto;padding:64px 24px 120px}

/* Headings */
h1,h2,h3,h4,h5,h6{font-weight:600;color:var(--text);line-height:1.25}
h1{font-size:2.0rem;margin:0 0 .2em;letter-spacing:-.015em}
h2{font-size:1.35rem;margin:2.4em 0 .6em;letter-spacing:-.005em;padding-top:.2em}
h3{font-size:1.1rem;margin:1.8em 0 .5em}
h4,h5,h6{font-size:1rem;margin:1.4em 0 .4em;color:var(--text-dim)}

/* Body text */
p{margin:.95em 0}
strong{font-weight:600;color:var(--text)}
em{font-style:italic;color:var(--text)}

/* Code */
code{font-family:var(--mono);font-size:.9em;background:var(--code-bg);padding:1px 6px;border-radius:3px;color:#cfd4f0;word-break:break-word}
pre{background:var(--bg-card);border:1px solid var(--border);padding:14px 18px;overflow-x:auto;border-radius:6px;font-size:.85rem;line-height:1.55;margin:1.3em 0}
pre code{background:transparent;padding:0;border-radius:0;font-size:1em;color:#cfd4f0}

/* Blockquote */
blockquote{border-left:2px solid var(--border-h);margin:1.3em 0;padding:.1em 1em;color:var(--text-dim)}
blockquote p:first-child{margin-top:0}
blockquote p:last-child{margin-bottom:0}

/* Lists */
ul,ol{padding-left:1.6em;margin:.9em 0}
li{margin:.45em 0}
li>p{margin:.4em 0}

/* HR */
hr{border:0;border-top:1px solid var(--border);margin:3em 0}

/* Tables */
table{width:100%;border-collapse:collapse;margin:1.6em 0;font-size:.92em;line-height:1.5}
th,td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:top}
th{font-weight:600;color:var(--text);border-bottom-color:var(--border-h);background:var(--bg-soft)}
tr:last-child td{border-bottom-color:var(--border-h)}

/* Paper header block */
.paper-header{border-bottom:1px solid var(--border);margin:0 0 2.4em;padding-bottom:1.6em}
.paper-header h1{margin-bottom:.3em}
.paper-subtitle{color:var(--text-dim);font-style:italic;margin:.2em 0 1em;font-size:1.05rem;line-height:1.4}
.paper-header .byline{color:var(--text-muted);font-size:.92em;margin:.1em 0;font-family:var(--mono)}
.paper-header .stat-block{color:var(--text-muted);font-size:.82em;margin-top:1em;line-height:1.6;font-family:var(--mono)}

/* Paper body */
.paper-body{font-size:1rem}

/* Paper footer */
.paper-footer{margin-top:4em;padding-top:1.8em;border-top:1px solid var(--border);color:var(--text-dim);font-size:.9em}
.paper-footer p{margin:.35em 0}

/* Nav back */
.nav-back{display:block;margin:0 0 2.4em;font-size:.9em;color:var(--text-muted);font-family:var(--mono)}
.nav-back a{color:var(--text-dim)}
.nav-back a:hover{color:var(--link)}

/* Research index specifics */
.facts-section{margin-top:4em;padding-top:2em;border-top:1px solid var(--border)}
.facts-section h2{margin-top:0}

/* Homepage */
body.home{background:var(--bg)}
.homepage-card{
    max-width:620px;
    margin:0 auto;
    padding:16vh 28px 10vh;
}
.homepage-card h1{font-size:2.4rem;margin:0 0 .15em;letter-spacing:-.02em}
.homepage-card .bio-line{color:var(--text-dim);font-size:1.12rem;margin:0 0 1.6em;line-height:1.5}
.homepage-card .bio-para{font-size:1.02rem;line-height:1.75;margin:0 0 2.2em;color:var(--text)}
.homepage-card .links{display:flex;flex-direction:column;gap:6px;margin-top:1.8em}
.homepage-card .links a{font-size:1rem;padding:3px 0;text-decoration:none}
.homepage-card .links a:hover{text-decoration:underline}

/* Mobile */
@media (max-width:640px){
    body{font-size:16px}
    main.page{padding:32px 18px 80px}
    .homepage-card{padding:12vh 22px 8vh}
    .homepage-card h1{font-size:2rem}
    h1{font-size:1.7rem}
    h2{font-size:1.2rem}
    table{font-size:.82em;display:block;overflow-x:auto}
    pre{font-size:.78rem}
}
