/* Force global accent and visited colors used by no-style-please */
:root {
  --accent: #3366cc !important;
  --accent-visited: #285a9e !important;
  --text-color: #111 !important;
  --bg: #f9f9f8 !important;
}

/* ===== Base ===== */
body{
  background:#f9f9f8;      /* soft off-white */
  color:#111;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Ubuntu,Cantarell,"Helvetica Neue",Arial,sans-serif;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
@media (prefers-color-scheme:dark){
  body{background:#0e0e0e;color:#ddd}
}

/* Links (kill orange) */
a,.post a,.page a,.postList a,.wrap a{
  color:#3366cc !important;              /* soft blue */
  text-decoration:none;
  transition:color .2s ease;
}
a:hover,.post a:hover,.page a:hover,.postList a:hover,.wrap a:hover{
  color:#1a4f8a !important;
  text-decoration:underline;
}
a:visited,.post a:visited,.page a:visited,.postList a:visited,.wrap a:visited{
  color:#285a9e !important;
}

/* ===== Layout ===== */
.wrap{max-width:720px;margin:0 auto;padding:1rem}
.page,.post{max-width:720px;margin:0 auto;padding:0 1rem}   /* no boxed card */

/* Home header */
.site-header{text-align:center;margin:2rem 0 1.25rem}
.site-header h1{margin:0 0 .25rem}
.site-tagline{margin:0;opacity:.8}

/* Home post list (date + title) */
.postList{list-style:none;padding:0;margin:1.5rem auto;width:fit-content}
.postList li{display:flex;gap:16px;margin:.35rem 0}
.postList li span{width:80px;text-align:right;flex-shrink:0;opacity:.7}
@media (max-width:480px){
  .postList li{gap:10px}
  .postList li span{width:64px;font-size:.95rem}
}

/* Images */
.post img,.page img,figure img{
  max-width:100%;height:auto;display:block;margin:1rem auto
}
figure{margin:1.25rem auto;text-align:center}
figcaption{font-size:.9rem;opacity:.75;margin-top:.25rem}

/* Meta cleanup (hide raw timestamps some layouts emit) */
time,.post-meta{display:none !important}

/* Back-to-home link (requires _layouts/post.html nav) */
.post-nav{margin:.25rem 0 1.25rem}
.post-nav a{opacity:.9}
.post-nav a:hover{opacity:1;text-decoration:underline}

/* ===== One-padding code blocks (final) ===== */

/* Outer wrapper: ONLY border/bg here */
.highlighter-rouge,
figure.highlight,
.highlight {
  background: #f6f8fa !important;
  color: #24292f !important;
  border: 1px solid #d0d7de !important;
  border-radius: 4px !important;
  margin: 0.5rem 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

/* Kill all inner borders/padding/shadows */
.highlighter-rouge * ,
figure.highlight * ,
.highlight * {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* The ONLY padding lives on <pre> */
.highlight > pre,
figure.highlight > pre,
pre {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 8px 12px !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  font: 0.95rem/1.5 'JetBrains Mono','Fira Code',ui-monospace,Menlo,Consolas,monospace;
  white-space: pre !important;       /* no wrapping */
  overflow-x: auto !important;       /* enable manual scroll */
}

/* === Minimal macOS-style scrollbars for code === */
pre::-webkit-scrollbar {
  height: 6px;
}
pre::-webkit-scrollbar-track {
  background: transparent;
}
pre::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 3px;
}
pre::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.35);
}
pre {
  scrollbar-width: thin;
  scrollbar-color: rgba(0,0,0,0.3) transparent;
}

/* Inline code chips (short snippets in text) */
code {
  background: #f2f4f6 !important;
  color: #24292f !important;
  border: 1px solid #e1e4e8 !important;
  border-radius: 4px !important;
  padding: 0.12rem 0.3rem !important;
  font: 0.9rem 'JetBrains Mono','Fira Code',ui-monospace,Menlo,Consolas,monospace;
}

/* Undo inline styling inside <pre> so blocks aren't “skinny chips” */
pre code,
.highlight pre code,
figure.highlight pre code {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  color: inherit !important;
}

/* Slightly tighter spacing when a code block sits under a list item */
li > .highlight,
li > .highlighter-rouge { margin-top: 0.35rem !important; }

/* Long one-liner fix: wrap instead of scroll */
.wraplong pre {
  white-space: pre-wrap;
  word-break: break-word;
  overflow-x: visible;
}

/* --- Footer styling (light-only) --- */
.site-footer {
  text-align: center;
  padding: 2rem 1rem;
  background: #f3f3f0; /* slightly darker than page bg (#f9f9f8) */
  border-top: 1px solid #e0e0e0;
  color: #333;
  margin-top: 3rem;
  box-shadow: 0 -1px 4px rgba(0,0,0,0.04); /* subtle separation */
}

.footer-icons {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
  margin-bottom: 0.8rem;
}

.footer-icons a {
  color: #1a1a1a;
  transition: color 0.2s ease, transform 0.2s ease;
}

.footer-icons a:hover {
  color: #265e33; /* Deep Woods green */
  transform: scale(1.1);
}

.icon {
  width: 26px;
  height: 26px;
}

.footer-note {
  font-size: 0.85rem;
  opacity: 0.7;
}