/*
Theme Name: Oshelot
Theme URI: https://oshelot.me
Author: Ash Patel
Description: A minimalist greyscale one-page personal site.
Version: 1.0.0
Requires at least: 6.0
Text Domain: oshelot
License: MIT
*/

:root{
  --bg:#ffffff;
  --fg:#1a1a1a;
  --muted:#6b6b6b;
  --faint:#9a9a9a;
  --line:#e6e6e6;
  --wash:#f4f4f4;
  --sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--bg);color:var(--fg);
  font-family:var(--sans);font-size:17px;line-height:1.75;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
.wrap{max-width:44rem;margin:0 auto;padding:0 1.5rem;}
a{color:inherit;text-decoration:none;border-bottom:1px solid var(--line);transition:border-color .15s ease,color .15s ease;}
a:hover{border-bottom-color:var(--fg);}
.site-name a{border-bottom:0;}

/* Header */
.site-header{padding:5rem 0 3rem;}
.site-name{font-size:1.6rem;font-weight:600;letter-spacing:-.015em;margin:0;}
.site-tagline{color:var(--muted);font-size:1rem;margin:.35rem 0 0;}
.site-nav{margin-top:1.8rem;display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;font-family:var(--mono);font-size:.82rem;color:var(--muted);}
.site-nav a{border-bottom:0;color:var(--muted);}
.site-nav a:hover{color:var(--fg);}
.site-nav .sep{color:var(--faint);}
.social{margin-top:.9rem;display:flex;gap:1.1rem;font-family:var(--mono);font-size:.82rem;}
.social a{border-bottom:1px solid transparent;color:var(--muted);}
.social a:hover{color:var(--fg);border-bottom-color:var(--fg);}

/* Sections */
section{padding:2.5rem 0;border-top:1px solid var(--line);}
.section-label{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--faint);margin:0 0 1.4rem;}
h2{font-size:1.15rem;font-weight:600;letter-spacing:-.01em;margin:0 0 1rem;}
h3{font-size:1rem;font-weight:600;margin:0 0 .2rem;}
p{margin:0 0 1rem;}
p:last-child{margin-bottom:0;}

/* Experience entries */
.entry-list{display:flex;flex-direction:column;gap:1.8rem;}
.exp-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;}
.exp-role{font-weight:600;}
.exp-org{color:var(--muted);font-weight:400;}
.exp-date{font-family:var(--mono);font-size:.78rem;color:var(--faint);white-space:nowrap;}
.exp-desc{margin-top:.4rem;color:var(--muted);}

/* Writing */
.post-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.1rem;}
.post-list li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;}
.post-title{font-weight:500;border-bottom:1px solid var(--line);}
.post-title:hover{border-bottom-color:var(--fg);}
.post-date{font-family:var(--mono);font-size:.78rem;color:var(--faint);white-space:nowrap;}

/* Résumé button */
.btn{display:inline-block;font-family:var(--mono);font-size:.82rem;padding:.6rem 1.1rem;border:1px solid var(--fg);color:var(--fg);background:transparent;}
.btn:hover{background:var(--fg);color:var(--bg);}

/* Footer */
.site-footer{padding:3rem 0 5rem;color:var(--faint);font-size:.85rem;}
.site-footer a{color:var(--muted);border-bottom:0;}
.site-footer a:hover{color:var(--fg);}
.foot-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;}

/* Prose (pages + single posts) */
.prose{padding:2.5rem 0 4rem;}
.prose h1{font-size:1.6rem;font-weight:600;letter-spacing:-.015em;margin:0 0 .5rem;}
.prose h2,.prose h3{margin-top:2rem;}
.prose ul,.prose ol{padding-left:1.2rem;}
.prose li{margin:.3rem 0;}
.prose blockquote{margin:1.5rem 0;padding-left:1rem;border-left:2px solid var(--line);color:var(--muted);}
.prose code{font-family:var(--mono);font-size:.88em;background:var(--wash);padding:.1em .35em;border-radius:3px;}
.prose pre{background:var(--wash);padding:1rem;overflow:auto;border:1px solid var(--line);}
.prose pre code{background:none;padding:0;}
.prose img{max-width:100%;height:auto;filter:grayscale(100%);}
.post-meta{font-family:var(--mono);font-size:.78rem;color:var(--faint);margin:0 0 2rem;}
.back-link{display:inline-block;margin-top:3rem;}

/* Pagination */
.pagination{margin-top:2rem;font-family:var(--mono);font-size:.82rem;}
.pagination a,.pagination .current{padding:.2rem .5rem;}
.pagination .current{color:var(--faint);}

/* Responsive */
@media (max-width:520px){
  body{font-size:16px;}
  .site-header{padding:3rem 0 2rem;}
  .exp-head{flex-direction:column;gap:.1rem;}
  .post-list li{flex-direction:column;gap:.1rem;align-items:flex-start;}
}
