/* Friends of Jade — restored archive. Palette drawn from the original banner. */
:root{
  --jade-900:#173a1f; --jade-800:#1f4a28; --jade-700:#2c5f35; --jade-600:#3c7a45; --jade-400:#7fae6e; --jade-200:#cfe0c3; --jade-100:#e8f0e1;
  --paper:#f5f3ea; --panel:#ffffff; --ink:#22261f; --muted:#5f665a; --rule:#d9dccf; --link:#2c6a36; --link-hover:#16441e;
  --serif: Georgia, "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", serif;
  --sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
@media (prefers-color-scheme: dark){
  :root{ --paper:#11160f; --panel:#181f16; --ink:#e3e8dc; --muted:#a3ad9c; --rule:#2d3829; --link:#9fd08c; --link-hover:#c7ecb8;
         --jade-100:#1d2a1b; --jade-200:#2b3f27; }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 var(--serif)}
a{color:var(--link)} a:hover{color:var(--link-hover)}
img{max-width:100%;height:auto}
.skip{position:absolute;left:-999px} .skip:focus{left:8px;top:8px;background:#fff;padding:6px 10px;z-index:9}

/* masthead: the original 660x80 banner sits on a jade band */
.masthead{background:linear-gradient(180deg,var(--jade-800),var(--jade-900));border-bottom:4px solid var(--jade-400)}
.masthead-inner{max-width:1120px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.banner{display:block;line-height:0;border:1px solid rgba(255,255,255,.18);box-shadow:0 2px 10px rgba(0,0,0,.35)}
.banner img{display:block;width:660px;max-width:100%;height:auto}
.menu-toggle{display:none;font:600 15px var(--sans);color:#fff;background:transparent;border:1px solid rgba(255,255,255,.5);border-radius:4px;padding:8px 12px;cursor:pointer}

/* two-column layout like the original */
.wrap{max-width:1120px;margin:0 auto;padding:24px 16px 40px;display:grid;grid-template-columns:230px minmax(0,1fr);gap:28px;align-items:start}
.sidebar{position:sticky;top:16px}
.side-box{background:var(--panel);border:1px solid var(--rule);border-top:3px solid var(--jade-600);margin-bottom:16px}
.side-box h2{margin:0;padding:8px 12px;font:700 12px/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--jade-700)}
.nav{list-style:none;margin:0;padding:6px 0}
.nav a{display:block;padding:6px 14px;text-decoration:none;font:15px/1.4 var(--sans);color:var(--ink)}
.nav a:hover{background:var(--jade-100);color:var(--link-hover)}
.nav a[aria-current]{font-weight:700;color:var(--jade-700);border-left:3px solid var(--jade-600);padding-left:11px}
@media (prefers-color-scheme: dark){ .nav a[aria-current]{color:var(--link)} }
.search{display:flex;padding:10px}
.search input{flex:1;min-width:0;font:15px var(--sans);padding:7px 8px;border:1px solid var(--rule);border-right:0;background:var(--paper);color:var(--ink)}
.search button{font:700 15px var(--sans);padding:0 12px;border:1px solid var(--jade-700);background:var(--jade-700);color:#fff;cursor:pointer}
.search.big{padding:0;margin:0 0 20px} .search.big input{font-size:17px;padding:10px}

.content{background:var(--panel);border:1px solid var(--rule);padding:28px 36px 36px;min-width:0}
h1,h2,h3{font-family:var(--serif);color:var(--jade-800);line-height:1.25}
@media (prefers-color-scheme: dark){ h1,h2,h3{color:#bfe0b0} }
h1{font-size:30px;margin:.1em 0 .35em;font-weight:normal}
h2{font-size:23px;font-weight:normal} h3{font-size:19px}
.crumbs{font:13px var(--sans);color:var(--muted);margin-bottom:14px} .crumbs a{color:var(--muted)} .crumbs span{margin:0 2px}
.meta{font:14px var(--sans);color:var(--muted);margin:.2em 0 1.2em}
.lede{font-size:18px;color:var(--muted)}
.note{font:14px var(--sans);background:var(--jade-100);border-left:3px solid var(--jade-400);padding:8px 12px}

/* article bodies: tame legacy HTML */
.entry-body{overflow-wrap:break-word}
.entry-body img{margin:10px 0;border:1px solid var(--rule);background:#fff}
.entry-body img.float-left{float:left;margin:4px 18px 10px 0;max-width:50%}
.entry-body img.float-right{float:right;margin:4px 0 10px 18px;max-width:50%}
.entry-body::after{content:"";display:block;clear:both}
.entry-body table{border-collapse:collapse;max-width:100%}
.entry-body td,.entry-body th{padding:4px 6px;vertical-align:top}
.table-wrap{overflow-x:auto;max-width:100%}
.center{text-align:center}
.img-missing{display:inline-flex;align-items:center;justify-content:center;min-width:140px;min-height:70px;max-width:100%;padding:8px 12px;margin:6px 4px 6px 0;
  font:italic 13px/1.3 var(--sans);color:var(--muted);background:repeating-linear-gradient(45deg,var(--jade-100),var(--jade-100) 8px,transparent 8px,transparent 16px);
  border:1px dashed var(--rule);text-align:center;vertical-align:middle}
blockquote{margin:1em 0;padding:.2em 1em;border-left:3px solid var(--jade-200);color:var(--muted)}

.prevnext{display:flex;justify-content:space-between;gap:16px;margin:32px 0 0;padding-top:14px;border-top:1px solid var(--rule);font:14px/1.4 var(--sans)}
.prevnext a{max-width:48%;text-decoration:none} .prevnext .next{text-align:right;margin-left:auto}
.comments{margin-top:32px} .comments h2{font-size:19px;border-bottom:1px solid var(--rule);padding-bottom:6px}
.comment{padding:10px 0;border-bottom:1px dotted var(--rule)} .comment-meta{font:13px var(--sans);color:var(--muted);margin:4px 0 0}

/* listings */
.year-jump{font:14px var(--sans);display:flex;flex-wrap:wrap;gap:6px 12px}
.year{border-bottom:2px solid var(--jade-200);padding-bottom:4px;margin-top:36px}
.cards{list-style:none;margin:0;padding:0}
.card{display:flex;gap:16px;padding:14px 0;border-bottom:1px solid var(--rule)}
.card h3{margin:0 0 2px;font-size:19px} .card h3 a{text-decoration:none} .card h3 a:hover{text-decoration:underline}
.card p{margin:.2em 0} .card .meta{margin:0 0 .3em}
.thumb{flex:0 0 120px;height:90px;overflow:hidden;background:var(--jade-100);border:1px solid var(--rule)}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.cards.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.cards.grid .card{flex-direction:column;border:1px solid var(--rule);padding:0 0 12px;gap:10px}
.cards.grid .card>div{padding:0 14px} .cards.grid .thumb{flex:none;height:160px;border:0;border-bottom:1px solid var(--rule)}
.more{font:15px var(--sans);text-align:right}
.section-title{border-bottom:2px solid var(--jade-200);padding-bottom:4px;margin-top:34px}
.hero{background:linear-gradient(135deg,var(--jade-100),transparent);border-left:4px solid var(--jade-600);padding:6px 20px 8px;margin:-6px 0 10px}
.hero h1{margin-bottom:.2em}.hero p{font-size:18px;margin:.4em 0}.stats{font:15px var(--sans)!important}
ul.plain{padding-left:20px} ul.plain li{margin:3px 0} .count{color:var(--muted);font-size:15px}

/* forum */
.threads{width:100%;border-collapse:collapse;font:15px/1.4 var(--sans)}
.threads th{text-align:left;background:var(--jade-100);padding:8px;border-bottom:2px solid var(--jade-200)}
.threads td{padding:8px;border-bottom:1px solid var(--rule);vertical-align:top}
.num{text-align:right}
.post{border:1px solid var(--rule);padding:12px 16px;margin:0 0 12px} .post.first{border-left:3px solid var(--jade-600)}
.post-meta{font:14px var(--sans);color:var(--muted);margin:0 0 6px}

/* galleries */
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.gallery figure{margin:0;background:var(--jade-100);border:1px solid var(--rule)}
.gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.gallery figcaption{font:13px var(--sans);padding:6px 8px}

/* search results */
#results .hit{padding:12px 0;border-bottom:1px solid var(--rule)} #results .hit h3{margin:0;font-size:18px}
#results mark{background:var(--jade-200);color:inherit}

.footer{max-width:1120px;margin:0 auto;padding:0 16px 40px;font:13px/1.5 var(--sans);color:var(--muted);text-align:center}

/* mobile */
@media (max-width:820px){
  body{font-size:17px}
  .menu-toggle{display:block}
  .wrap{grid-template-columns:1fr;padding:12px 0 32px;gap:0}
  .sidebar{position:static;display:none;padding:0 16px 12px}
  .sidebar.open{display:block}
  .content{border-left:0;border-right:0;padding:18px 16px 28px}
  h1{font-size:25px}
  .card{gap:12px} .thumb{flex-basis:88px;height:70px}
  .entry-body img.float-left,.entry-body img.float-right{float:none;margin:10px 0;max-width:100%}
  .prevnext{flex-direction:column} .prevnext a{max-width:100%}
}
@media print{ .masthead,.sidebar,.prevnext,.footer{display:none} .wrap{display:block} .content{border:0} }
.tags{display:flex;flex-wrap:wrap;gap:6px 8px;margin:.4em 0 1.2em}
.tag{display:inline-block;font:13px/1.2 var(--sans);text-decoration:none;padding:5px 10px;border-radius:999px;background:var(--jade-100);border:1px solid var(--jade-200);color:var(--jade-700)}
.tag:hover{background:var(--jade-200);color:var(--link-hover)}
.tag span{color:var(--muted);margin-left:2px}
@media (prefers-color-scheme: dark){ .tag{color:var(--link)} }
