/* ecopoetry.ie — no external hosts: system fonts only, no webfonts, no scripts */
:root{
  --ink:#1c1b19; --ink-soft:#4a463f; --faint:#8a857c;
  --bg:#fbfaf7; --panel:#f2efe8; --rule:#ddd8cd;
  --link:#2f5d50; --link-hover:#1b3a31; --accent:#7a6a4f;
  --measure:38rem;
}
/* Dark follows the system setting. There is no toggle: a toggle needs JavaScript, and
   the accessibility page promises none runs. */
@media (prefers-color-scheme:dark){
  :root{
    --ink:#e8e4db; --ink-soft:#b8b2a5; --faint:#8a857c;
    --bg:#16150f; --panel:#1f1e17; --rule:#332f26;
    --link:#8fbfa9; --link-hover:#b7dbc9; --accent:#b3a074;
  }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  font-size:1.0625rem; line-height:1.62;
}
.skip{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.skip:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;
  clip:auto;clip-path:none;white-space:normal;
  display:inline-block;background:var(--panel);color:var(--ink);
  padding:.6rem 1rem;z-index:10;outline:3px solid var(--accent);outline-offset:2px}

/* keyboard focus — explicit, not the browser default */
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:2px}
a:focus-visible{background:var(--panel)}
nav.primary a:focus-visible,nav.secondary a:focus-visible{background:var(--panel)}
.wrap{max-width:var(--measure);margin:0 auto;padding:0 1.25rem}
/* header — centred masthead, two nav tiers */
.site-head{border-bottom:1px solid var(--rule);padding:1.6rem 0 0;margin-bottom:2rem;text-align:center}

.masthead{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--ink)}
.mark{color:var(--accent);display:flex;flex:0 0 auto}
.mark svg{display:block}
.site-title{font-size:1.55rem;font-weight:600;letter-spacing:.002em;line-height:1}
.masthead:hover .site-title{color:var(--link-hover)}

.byline{font-size:.79rem;color:var(--faint);margin:.4rem 0 0;font-style:italic}
.byline a{color:var(--faint);text-decoration-thickness:.05em}
.byline a:hover{color:var(--link-hover)}

nav.primary{margin-top:1.15rem}
nav.primary ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;
  justify-content:center;gap:0 1.9rem;font-size:.95rem}
nav.primary li{margin:0}
nav.primary a{display:inline-block;color:var(--ink-soft);text-decoration:none;
  padding:0 0 .7rem;border-bottom:2px solid transparent;white-space:nowrap}
nav.primary a:hover{color:var(--link-hover);border-bottom-color:var(--rule)}
nav.primary a.here{color:var(--ink);font-weight:600;border-bottom-color:var(--accent)}

nav.secondary{border-top:1px solid var(--rule);padding:.5rem 0 .6rem}
nav.secondary ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;
  justify-content:center;gap:0 1.4rem;font-size:.8rem}
nav.secondary li{margin:0}
nav.secondary li + li::before{content:"·";color:var(--rule);margin-right:1.4rem}
nav.secondary a{color:var(--faint);text-decoration:none;white-space:nowrap}
nav.secondary a:hover{color:var(--link-hover)}
nav.secondary a.here{color:var(--ink-soft);font-weight:600}

@media (max-width:38rem){
  .site-head{padding-top:1.3rem}
  .site-title{font-size:1.32rem}
  nav.primary ul{gap:0 1.2rem;font-size:.9rem}
  nav.primary a{padding-bottom:.55rem}
  nav.secondary ul{gap:.35rem 1rem}
  nav.secondary li + li::before{margin-right:1rem}
}
/* type */
main{padding-bottom:3rem}
h1{font-size:1.95rem;line-height:1.2;margin:0 0 .3rem;letter-spacing:-.01em}
h2{font-size:1.28rem;margin:2.4rem 0 .7rem;line-height:1.28}
h3{font-size:1.06rem;margin:1.9rem 0 .5rem}
h4{font-size:.95rem;margin:1.4rem 0 .4rem;color:var(--ink-soft)}
.lede{color:var(--ink-soft);font-size:1.06rem;margin:.2rem 0 2rem}
p,ul,ol,table,blockquote{margin:0 0 1.15rem}
a{color:var(--link);text-decoration-thickness:.06em;text-underline-offset:.14em}
a:hover{color:var(--link-hover)}
ul,ol{padding-left:1.3rem}
li{margin-bottom:.4rem}
blockquote{border-left:3px solid var(--accent);margin-left:0;padding:.15rem 0 .15rem 1.1rem;color:var(--ink-soft)}
blockquote p:last-child{margin-bottom:0}
hr{border:0;border-top:1px solid var(--rule);margin:2.6rem 0}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.87em;background:var(--panel);padding:.1em .32em;border-radius:3px}
pre{background:var(--panel);padding:1rem;overflow-x:auto;border-radius:4px}
pre code{background:none;padding:0}
/* tables scroll inside their own container */
.table-scroll{overflow-x:auto;margin:0 0 1.3rem;border:1px solid var(--rule);border-radius:4px}
table{border-collapse:collapse;width:100%;font-size:.9rem;margin:0}
th,td{text-align:left;padding:.55rem .75rem;border-bottom:1px solid var(--rule);vertical-align:top}
th{background:var(--panel);font-weight:600;white-space:nowrap}
tr:last-child td{border-bottom:0}
/* anchored directory entries */
h2[id],h3[id]{scroll-margin-top:1.5rem}
h2[id]:target,h3[id]:target{background:var(--panel);box-shadow:-.6rem 0 0 var(--panel),.6rem 0 0 var(--panel);border-radius:2px}
/* directory list — navigation, not tabular data */
ul.directory{list-style:none;padding:0;margin:0 0 1.4rem}
ul.directory li{margin:0;border-top:1px solid var(--rule);padding:.62rem 0}
ul.directory li:last-child{border-bottom:1px solid var(--rule)}
ul.directory a{font-weight:600;text-decoration:none}
ul.directory a:hover{text-decoration:underline}
ul.directory .what{color:var(--ink-soft);font-size:.92rem}
@media (min-width:32rem){
  ul.directory li{display:flex;gap:1rem;align-items:baseline}
  ul.directory a{flex:0 0 11rem}
}

/* footer */
.site-foot{border-top:1px solid var(--rule);padding:1.6rem 0 3rem;font-size:.82rem;color:var(--faint)}
.site-foot p{margin:0 0 .45rem}
.site-foot a{color:var(--ink-soft)}
.site-foot nav a{margin-right:.9rem;white-space:nowrap}
.updated{font-size:.78rem;color:var(--faint);margin-top:2.5rem}
@media (max-width:34rem){ h1{font-size:1.6rem} body{font-size:1rem} }
