/* Yardlie — advanced editorial theme. No external resources. System fonts only. */
:root{
  --bg:#f5f8f2; --bg2:#eef3e8; --card:#ffffff; --ink:#1c2b22; --mut:#526155;
  --moss:#2d6a3e; --moss2:#1f4c2c; --moss-soft:#dfeeda; --sun:#e9b824; --sun-soft:#fdf3c4;
  --line:#d8e2d3; --shadow:0 10px 30px rgba(28,43,34,.10); --radius:14px; --radius-sm:9px;
  --serif:Georgia,"Times New Roman",serif; --sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
[data-theme="dark"]{
  --bg:#111a14; --bg2:#16241b; --card:#1a2a20; --ink:#eaf1ea; --mut:#a8bcae;
  --moss:#7cc98d; --moss2:#a5e2b6; --moss-soft:#223a28; --sun:#e9b824; --sun-soft:#3a3316;
  --line:#2a3d2f; --shadow:0 10px 30px rgba(0,0,0,.35);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#111a14; --bg2:#16241b; --card:#1a2a20; --ink:#eaf1ea; --mut:#a8bcae;
    --moss:#7cc98d; --moss2:#a5e2b6; --moss-soft:#223a28; --line:#2a3d2f; --shadow:0 10px 30px rgba(0,0,0,.35);
  }
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.7 var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--moss);text-underline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--sun);outline-offset:2px;border-radius:4px}
img,svg{max-width:100%}
.wrap{max-width:1140px;margin:0 auto;padding:0 20px}
.wrap-narrow{max-width:760px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-9999px;top:0;background:var(--sun);color:#1c2b22;padding:10px 16px;font-weight:700;z-index:50}
.skip:focus{left:12px;top:12px}
/* Header */
.site-head{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.head-in{display:flex;align-items:center;gap:14px;min-height:68px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font:700 1.55rem var(--serif);letter-spacing:-.01em}
.logo b{color:var(--moss)}
.logo-mark{width:38px;height:38px;border-radius:11px;background:var(--moss);display:grid;place-items:center;flex:0 0 auto;box-shadow:var(--shadow)}
.main-nav{margin-left:auto;display:flex;gap:4px;align-items:center}
.main-nav a{color:var(--ink);text-decoration:none;font-weight:600;padding:8px 12px;border-radius:8px}
.main-nav a:hover,.main-nav a[aria-current="page"]{background:var(--moss-soft);color:var(--moss2)}
.icon-btn{background:var(--card);border:1px solid var(--line);color:var(--ink);border-radius:9px;padding:8px 11px;cursor:pointer;font:inherit}
#menuBtn{display:none}
/* Hero */
.hero{padding:52px 0 34px}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:center}
.eyebrow{display:inline-block;background:var(--sun-soft);border:1px solid var(--sun);color:var(--ink);font-weight:700;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;padding:5px 11px;border-radius:999px}
.hero h1{font:700 clamp(2.1rem,5vw,3.5rem)/1.08 var(--serif);margin:16px 0 14px;letter-spacing:-.02em;max-width:22ch}
.hero p.lede{font-size:1.18rem;color:var(--mut);max-width:58ch;margin:0 0 20px}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.btn{display:inline-block;background:var(--moss);color:#fff;text-decoration:none;font-weight:700;padding:12px 22px;border-radius:10px;border:1px solid var(--moss)}
.btn:hover{background:var(--moss2)}
.btn-ghost{background:var(--card);color:var(--ink);border:1px solid var(--line)}
.btn-sun{background:var(--sun);color:#1c2b22;border-color:var(--sun)}
.hero-art{background:linear-gradient(160deg,var(--moss) 0%,#3d8a52 55%,#7ab648 100%);border-radius:18px;padding:22px;color:#fff;box-shadow:var(--shadow);position:relative;overflow:hidden}
.hero-art svg{width:100%;height:auto;display:block}
.hero-art .art-cap{font-size:.92rem;opacity:.92;margin:12px 0 0}
.stats{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0 0;padding:0;list-style:none}
.stats li{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-size:.92rem}
.stats strong{display:block;font:700 1.35rem var(--serif);color:var(--moss)}
/* Sections / cards */
.section{padding:34px 0}
.section h2{font:700 clamp(1.5rem,3vw,2rem)/1.2 var(--serif);margin:0 0 8px}
.section .sub{color:var(--mut);margin:0 0 20px;max-width:68ch}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid-4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column;box-shadow:0 2px 10px rgba(28,43,34,.05);transition:transform .15s ease,box-shadow .15s ease}
.card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.card h3{font:700 1.22rem/1.3 var(--serif);margin:8px 0 8px}
.card h3 a{color:var(--ink);text-decoration:none}
.card h3 a:hover{color:var(--moss)}
.card p{color:var(--mut);margin:0 0 14px;font-size:.97rem;flex:1}
.meta{color:var(--mut);font-size:.85rem}
.tag{display:inline-block;font-size:.78rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--moss);background:var(--moss-soft);padding:4px 9px;border-radius:999px}
.cat-card{text-decoration:none;color:var(--ink)}
.cat-card .cat-icon{font-size:1.9rem;line-height:1}
.cat-card h3{margin:10px 0 6px}
.cat-card p{flex:0}
.cat-card .count{font-weight:700;color:var(--moss)}
.featured{display:grid;grid-template-columns:1.2fr .8fr;gap:0;background:var(--moss);color:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}
.featured .f-body{padding:30px}
.featured h3{font:700 1.7rem/1.25 var(--serif);margin:10px 0}
.featured h3 a{color:#fff;text-decoration:none}
.featured p{color:#e6f0e4}
.featured .f-art{background:linear-gradient(140deg,#e9b824,#7ab648);display:grid;place-items:center;font-size:4rem;padding:20px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.chip{background:var(--card);border:1px solid var(--line);color:var(--ink);padding:7px 14px;border-radius:999px;cursor:pointer;font:inherit;font-weight:600}
.chip[aria-pressed="true"],.chip.active{background:var(--moss);color:#fff;border-color:var(--moss)}
/* Forms / tools */
.search{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font-size:1rem}
label{display:grid;gap:5px;font-weight:600;font-size:.95rem}
input,select,textarea{padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);font:inherit;width:100%}
form.tool{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
form.tool .full{grid-column:1/-1}
.tool-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
.result{background:var(--moss-soft);border-left:5px solid var(--moss);padding:14px 18px;border-radius:8px;margin-top:16px}
.result p{margin:4px 0}
.assumptions{font-size:.92rem;color:var(--mut)}
table{width:100%;border-collapse:collapse;margin:14px 0;font-size:.95rem}
th,td{border:1px solid var(--line);padding:9px 11px;text-align:left}
th{background:var(--moss-soft)}
/* Article */
.progress{position:fixed;top:0;left:0;height:4px;background:var(--sun);width:0;z-index:60}
.breadcrumb{font-size:.9rem;color:var(--mut);margin:26px 0 6px}
.breadcrumb a{color:var(--mut)}
article.post{max-width:760px;margin:0 auto;padding:28px 20px 10px}
article.post h1{font:700 clamp(1.9rem,4.5vw,2.8rem)/1.15 var(--serif);margin:8px 0 12px;letter-spacing:-.015em}
article.post h2{font:700 1.55rem/1.3 var(--serif);margin:2em 0 .5em;padding-top:.2em}
article.post h3{font:700 1.2rem/1.35 var(--serif);margin:1.4em 0 .4em}
article.post p{margin:0 0 1.05em}
article.post li{margin:.35em 0}
article.post ul,article.post ol{padding-left:24px}
.post-art{height:120px;border-radius:14px;background:linear-gradient(120deg,var(--moss),#7ab648 70%,var(--sun));display:grid;place-items:center;font-size:3rem;margin:18px 0;box-shadow:var(--shadow)}
.toc{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin:20px 0}
.toc h2{font-size:1.05rem !important;margin:0 0 8px !important;font-family:var(--sans) !important}
.toc ol{margin:0;padding-left:20px}
.toc a.active{font-weight:800;color:var(--moss2)}
.note{background:var(--card);border-left:5px solid var(--sun);padding:13px 17px;border-radius:6px;color:var(--mut);font-size:.93rem;margin:18px 0}
.callout{background:var(--moss-soft);border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin:18px 0}
.author-box{display:flex;gap:16px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin:30px 0}
.author-avatar{width:56px;height:56px;border-radius:50%;background:var(--moss);color:#fff;display:grid;place-items:center;font:700 1.3rem var(--serif);flex:0 0 auto}
.related{padding:20px 0 50px}
details{border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin:10px 0;background:var(--card)}
details summary{font-weight:700;cursor:pointer}
.backtop{position:fixed;right:18px;bottom:86px;background:var(--moss);color:#fff;border:0;border-radius:999px;padding:10px 14px;cursor:pointer;box-shadow:var(--shadow);display:none}
.backtop.show{display:block}
/* Footer / cookie */
.site-foot{border-top:1px solid var(--line);background:var(--bg2);padding:36px 0;margin-top:20px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px}
.site-foot a{color:var(--mut);text-decoration:none}
.site-foot a:hover{color:var(--moss)}
.site-foot ul{list-style:none;padding:0;margin:0}
.site-foot li{margin:6px 0}
.cookie{position:fixed;left:16px;right:16px;bottom:16px;max-width:640px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 18px;box-shadow:var(--shadow);z-index:40;display:flex;gap:14px;align-items:center}
.cookie[hidden]{display:none}
.cookie p{margin:0;font-size:.92rem;flex:1}
.cookie .btn{padding:9px 15px;white-space:nowrap}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (max-width:900px){
  .hero-grid,.featured{grid-template-columns:1fr}
  .grid{grid-template-columns:repeat(2,1fr)}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr}
  form.tool{grid-template-columns:1fr}
}
@media (max-width:640px){
  body{font-size:16.5px}
  .grid,.grid-4{grid-template-columns:1fr}
  #menuBtn{display:block}
  .main-nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;padding:12px 20px 18px}
  .main-nav.open{display:flex}
  .main-nav a{display:block}
  .hero{padding-top:30px}
  .cookie{flex-direction:column;align-items:stretch}
  .cookie .btn{text-align:center}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none !important}
}
@media print{
  .site-head,.site-foot,.cookie,.backtop,.progress{display:none !important}
  body{background:#fff;color:#000}
}
