/* =====================================================================
   Tighe Lory's Blog - modern refresh
   Replaces generic.css, structure.css and type.css with one file.
   Upload to:  https://me.tighelory.com/style/blog/blog-modern.css
   Keeps the purple/pixel identity, widens the page, enlarges the type,
   and adds responsive (mobile) behaviour.
   ===================================================================== */

/* ---- Design tokens --------------------------------------------------- */
:root{
  --page-max: 1180px;      /* was a fixed 997px */
  --ink:       #f3eaf5;    /* body text (soft white) */
  --ink-dim:   #c9b6d0;    /* muted text */
  --bg-deep:   #1b021c;    /* outer background */
  --panel:     #400040;    /* main container */
  --panel-soft:rgba(0,0,0,0.16);
  --accent:    #ee99ee;    /* pink accent from the old palette */
  --link:      #b9a9ff;    /* link periwinkle, brightened for contrast */
  --link-hover:#ffffff;
  --rule:      rgba(238,153,238,0.35);
  --radius:    10px;
  --font-head: "Palatino Linotype","Palatino",Palatino,Georgia,"Times New Roman",serif;
  --font-body: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Trebuchet MS",Arial,sans-serif;
}

/* ---- Reset-ish ------------------------------------------------------- */
*,*::before,*::after{ box-sizing:border-box; }

html{
  margin:0; padding:0;
  background:var(--bg-deep)
    url("https://me.tighelory.com/images/blog/design/initial/base_background_8-bit-alpha.png")
    center repeat-y;
  color:var(--ink);
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
}
body{
  margin:0; padding:0;
  background:url("https://me.tighelory.com/images/blog/design/initial/background_2_8-bit-alpha.png")
    top left repeat-x;
  color:var(--ink);
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.7;
}
::selection{ background:var(--accent); color:#1b021c; }

img{ max-width:100%; height:auto; }
a img{ border:0; }

/* ---- Page container -------------------------------------------------- */
#all{
  width:100%;
  max-width:var(--page-max);
  margin:0 auto;
  background-color:var(--panel);
  box-shadow:0 0 40px rgba(0,0,0,0.45);
  border-radius:0 0 12px 12px;
  overflow:hidden;            /* contains the floated columns */
}

/* ---- Banner (kept) --------------------------------------------------- */
/* Native 997x194 pixel banner is centred on a full-width bar; the deep
   purple fills the sides on wide screens, and it scales DOWN on phones. */
#banner{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:997 / 194;
  max-height:194px;
  background:var(--bg-deep)
    url("https://me.tighelory.com/images/blog/design/initial/banner_256_997x194.png")
    no-repeat center center;
  background-size:contain;
  border-top:1px solid #000;
  border-bottom:1px solid #000;
  text-indent:-9999px;        /* keep the real <h1>/description for SEO, hide it */
  overflow:hidden;
}
#banner a{ display:block; height:100%; }

/* ---- Navigation ------------------------------------------------------ */
#navigation{ width:100%; }
#navigation > div{
  background:linear-gradient(180deg, rgba(0,0,0,0.35), rgba(0,0,0,0.15));
  border-bottom:1px solid rgba(255,255,255,0.08);
}
#navigation ul{
  display:flex; flex-wrap:wrap; justify-content:flex-end;
  gap:2px; margin:0; padding:0 12px; list-style:none;
}
#navigation ul li{ list-style:none; }
#navigation ul li a{
  display:flex; align-items:center; gap:6px;
  margin:0; padding:12px 14px;
  color:var(--ink);
  font-family:var(--font-head);
  font-size:15px;
  text-decoration:none;
  border-radius:8px;
  transition:background .15s ease, color .15s ease;
}
#navigation ul li a:hover{ background:rgba(238,153,238,0.18); color:#fff; }
#navigation img{ width:16px; height:16px; vertical-align:middle; }

/* ---- Layout columns -------------------------------------------------- */
#content{
  float:left;
  width:62%;
  margin:34px 0 60px 0;
  padding:0 0 0 44px;
}
#special{
  float:right;
  width:33%;
  margin:34px 0 40px 0;
  padding:0 40px 0 0;
}
#footer{ clear:both; }

/* ---- Post content ---------------------------------------------------- */
#content .date-header{
  font-family:var(--font-head);
  font-size:14px; letter-spacing:.04em; text-transform:uppercase;
  color:var(--ink-dim);
  font-weight:600;
  border:0; padding:0;
  margin:8px 0 14px;
}
#content .post{
  margin-bottom:28px;
  padding-bottom:24px;
  border-bottom:1px dotted rgba(204,102,204,0.55);
}
#content .post-title{
  margin:6px 0 14px;
  font-family:var(--font-head);
  font-weight:700;
  font-size:32px;
  line-height:1.2;
  color:#fff;
}
#content .post-title a{ color:#fff; text-decoration:none; }
#content .post-title a:hover{ color:var(--accent); }

/* headings inside the article body (## -> h2, etc.) */
#content h1{ font-size:30px; font-family:var(--font-head); color:#fff; }
#content h2{
  margin:34px 0 12px;
  font-family:var(--font-head);
  font-size:25px; font-weight:700; color:#fff;
  padding-bottom:6px;
  border-bottom:1px solid var(--rule);
}
#content h3{ margin:26px 0 10px; font-size:20px; font-weight:700; color:#fff; font-family:var(--font-head); }
#content h4{ margin:22px 0 8px;  font-size:17px; font-weight:700; color:#fff; font-family:var(--font-head); }

/* body text - the main readability change */
#content p, #content li{
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.75;
  color:var(--ink);
}
#content p{ margin:0 0 18px; }
#content ul, #content ol{ margin:0 0 18px; padding-left:26px; }
#content li{ margin:6px 0; }

#content a{ color:var(--link); text-decoration:underline; text-underline-offset:2px; }
#content a:hover{ color:var(--link-hover); }

#content hr{ border:0; height:1px; background:var(--rule); margin:28px 0; }

blockquote{
  margin:18px 0; padding:10px 18px;
  border-left:3px solid var(--accent);
  background:rgba(0,0,0,0.18);
  color:var(--ink);
}

/* translate dropdown that sits at the top of each post - keep it tidy */
.translate_tool{ float:right; margin:0 0 10px 14px; }
.translate_tool select{
  font-family:var(--font-body); font-size:13px;
  padding:4px 6px; border-radius:6px;
  background:#2a022b; color:var(--ink);
  border:1px solid var(--rule);
}

/* post footer / meta */
.post-footer{ margin-top:16px; font-size:14px; color:var(--ink-dim); }
.post-footer a{ color:var(--link); text-decoration:none; }
.post-footer a:hover{ color:#fff; text-decoration:underline; }
.post-author, .post-timestamp{ margin-right:14px; }
.post-labels a{
  display:inline-block; margin:2px 4px 2px 0; padding:2px 10px;
  background:rgba(238,153,238,0.15); border-radius:999px; font-size:13px;
  text-decoration:none;
}

.feed-links, .blog-feeds, .post-feeds{ font-size:13px; color:var(--ink-dim); margin:14px 0; }
.feed-links a, .blog-feeds a, .post-feeds a{ color:var(--link); }

.comments h4{
  font-family:var(--font-head); font-size:20px; color:#fff;
  margin:24px 0 12px; padding-bottom:8px; border-bottom:1px solid var(--rule);
}

/* ---- Pager ----------------------------------------------------------- */
#blog-pager{
  clear:both; margin:24px 0;
  color:#ffd54a; font-size:22px; font-weight:bold;
  font-family:"Century Gothic","Trebuchet MS",sans-serif;
}
#blog-pager a{ color:#ffd54a; text-decoration:none; }
#blog-pager a:hover{ color:#fff; }

/* ---- Sidebar --------------------------------------------------------- */
#special .widget{
  margin-bottom:26px; padding:16px 18px;
  background:var(--panel-soft);
  border:1px solid rgba(255,255,255,0.06);
  border-radius:var(--radius);
}
#special h2{
  margin:0 0 12px;
  font-family:var(--font-head);
  font-size:20px; color:#fff;
  padding-bottom:8px; border-bottom:1px solid var(--rule);
}
#special .widget-content{ font-size:15px; }
#special ul{ list-style:none; margin:0; padding:0; }
#special li{ margin:6px 0; line-height:1.5; }
#special a{ color:var(--link); text-decoration:none; }
#special a:hover{ color:#fff; text-decoration:underline; }
.profile-img{ float:left; margin:0 12px 8px 0; border-radius:8px; }

#ArchiveList .hierarchy{ margin:0; padding-left:14px; }
.label-size{ display:inline-block; margin:2px 4px 2px 0; }

/* ---- Tables (legacy schedule posts) ---------------------------------- */
#content table{ border-collapse:collapse; font-size:14px; margin:16px 0; }
#content table th{
  font-family:var(--font-head); font-weight:600; font-size:14px;
  background:#2c2c2c; color:#fff; padding:8px; border:1px solid #000; text-align:center;
}
#content table td{
  padding:8px; color:#111; background:#e9e9ef; border:1px solid #000;
  vertical-align:top; font-size:14px;
}
#content table td a{ color:#3a2a8c; }

/* ---- Footer ---------------------------------------------------------- */
#footer{
  text-align:center;
  padding:26px 16px 34px;
  border-top:1px solid rgba(255,255,255,0.08);
}
#footer p{ margin:0; font-size:13px; color:var(--ink-dim); }
#footer a{ color:var(--link); }

/* =====================================================================
   Responsive
   ===================================================================== */
@media (max-width:900px){
  #content, #special{
    float:none; width:100%;
    margin:0; padding:22px 22px 30px;
  }
  #navigation ul{ justify-content:center; }
}
@media (max-width:520px){
  body{ font-size:16px; }
  #content p, #content li{ font-size:16px; }
  #content .post-title{ font-size:26px; }
  #content h2{ font-size:22px; }
  #navigation ul li a{ padding:10px; font-size:14px; }
}
