/* ═══════════════════════════════════════════════════
   Bernardo Faro Ghost Theme — screen.css
   v1.0.0 · April 2026
   ═══════════════════════════════════════════════════ */

/* ── GOOGLE FONTS ── */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500&display=swap');

/* ── GHOST NATIVE RESETS ── */
.gh-content h1,.gh-content h2,.gh-content h3{font-weight:500;letter-spacing:-.015em}
.gh-content p{margin-bottom:1.3rem;font-size:.9375rem;color:var(--mid);line-height:1.82}
.gh-content a{color:var(--text);border-bottom:1px solid var(--border)}
.gh-content a:hover{border-color:var(--faint);text-decoration:none}
.gh-content blockquote{border-left:3px solid var(--border);padding:.5rem 0 .5rem 1.2rem;margin:1.5rem 0;color:var(--faint);font-style:italic}
.gh-content ul,.gh-content ol{margin:.75rem 0 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.4rem}
.gh-content li{font-size:.9375rem;color:var(--mid);line-height:1.7}
.gh-content h2{font-size:1.0625rem;margin:2.2rem 0 .75rem}
.gh-content h3{font-size:.9375rem;margin:1.6rem 0 .5rem}
.gh-content strong,.gh-content b{color:var(--text);font-weight:500}
.gh-content figure{margin:1.5rem 0}
.gh-content figcaption{font-size:.75rem;color:var(--fainter);text-align:center;margin-top:6px}
.gh-content img{max-width:100%;border-radius:6px}
.kg-card{margin:2rem 0}
.kg-image-card img{width:100%;border-radius:6px}
.kg-embed-card{display:flex;justify-content:center}
.kg-callout-card{border-left:3px solid var(--green);padding:.75rem 1rem;background:var(--bg2);border-radius:0 6px 6px 0;margin:1.5rem 0}
.kg-callout-card-callout{font-size:.9375rem;color:var(--mid)}
.kg-toggle-card{border:1px solid var(--border2);border-radius:6px;padding:.75rem 1rem}
.kg-toggle-heading-text{font-size:.9375rem;font-weight:500;color:var(--text)}
.kg-code-card pre{background:var(--bg2);border:1px solid var(--border2);border-radius:6px;padding:1rem;overflow-x:auto}
.kg-code-card code{font-family:monospace;font-size:.8125rem;color:var(--text)}

/* ── GHOST READING PROGRESS ── */
.reading-progress{position:fixed;top:0;left:0;width:0%;height:2px;background:var(--green);z-index:999;transition:width .1s linear}

/* ── POST HEADER ── */
.post-header{margin-bottom:36px;padding-bottom:20px;border-bottom:1px solid var(--border2)}
.post-header-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.post-header-date{font-size:.8125rem;color:var(--muted)}
.post-header-rt{font-size:.8125rem;color:var(--fainter)}
.post-header-tags{display:flex;gap:8px}
.post-header-tag{font-size:.6875rem;color:var(--fainter)}
.post-header-tag::before{content:'#'}
.post-header-title{font-size:1.75rem;font-weight:500;color:var(--text);letter-spacing:-.03em;line-height:1.18}

/* ── HANDBOOK READER (Ghost) ── */
.handbook-outer{max-width:960px;margin:0 auto;padding:0 24px}
.handbook-nav-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border2);margin-bottom:0}
.handbook-nav-bar a{font-size:.8125rem;color:var(--muted);transition:color .12s}
.handbook-nav-bar a:hover{color:var(--text);text-decoration:none;border:none}
.handbook-nav-title{font-size:.8125rem;color:var(--fainter);max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.handbook-layout{display:grid;grid-template-columns:210px 1fr;min-height:80vh}
.handbook-toc{padding:32px 32px 40px 0;position:sticky;top:0;height:100vh;overflow-y:auto}
.handbook-toc-item{font-size:.8125rem;color:var(--muted);padding:5px 0 5px 10px;border-left:2px solid transparent;display:block;text-decoration:none;transition:all .12s;line-height:1.4}
.handbook-toc-item:hover{color:var(--text);border:none}
.handbook-toc-item.active{color:var(--text);border-left-color:var(--text);font-weight:500}
.handbook-main{padding:32px 0 80px 32px;border-left:1px solid var(--border2);max-width:620px}
.handbook-type{font-size:.6rem;font-weight:500;color:var(--fainter);letter-spacing:.09em;text-transform:uppercase;margin-bottom:8px}
.handbook-chap-num{font-size:.75rem;color:var(--fainter);margin-bottom:4px}
.handbook-chap-nav{display:flex;justify-content:space-between;align-items:center;margin-top:48px;padding-top:22px;border-top:1px solid var(--border2)}
.handbook-chap-btn{font-size:.8125rem;color:var(--muted);text-decoration:none;transition:color .12s;max-width:44%;line-height:1.4;border:none!important}
.handbook-chap-btn:hover{color:var(--text)}
.handbook-chap-progress{font-size:.6875rem;color:var(--fainter)}

@media(max-width:640px){
  .handbook-layout{grid-template-columns:1fr}
  .handbook-toc{display:none}
  .handbook-main{padding:24px 0 60px;border-left:none}
}


/* ── SITE STYLES (from v10) ── */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500&display=swap');
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --text:#111;--mid:#444;--muted:#666;--faint:#999;--fainter:#bbb;
  --border:#e5e5e5;--border2:#f0f0f0;--bg:#fff;--bg2:#f9f9f8;
  --green:#2d7a4f;--amber:#a05800;--w:640px;
}
body.dark{
  --text:#e8e6e1;--mid:#aaa;--muted:#888;--faint:#666;--fainter:#444;
  --border:#252525;--border2:#1e1e1e;--bg:#0f0f0d;--bg2:#141412;
  --green:#1a9060;--amber:#c07010;
}
html{font-size:16px}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;padding:0 24px;transition:background .2s,color .2s}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--w);margin:0 auto}
.view{display:none}.view.active{display:block}

/* ── NAV ── */
header{padding:44px 0 0}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.nav-name{font-size:.875rem;font-weight:500;color:var(--text);cursor:pointer;white-space:nowrap}
.nav-name:hover{color:var(--green)}
.nav-r{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
nav{display:flex;gap:20px;flex-wrap:wrap}
nav a{font-size:.8125rem;color:var(--muted);cursor:pointer;transition:color .12s}
nav a:hover{color:var(--text)}
nav a.active{color:var(--text);font-weight:500}
.theme-btn{background:none;border:1px solid var(--border);border-radius:5px;color:var(--muted);cursor:pointer;font-size:.8rem;padding:3px 8px;transition:all .15s;line-height:1.4}
.theme-btn:hover{border-color:var(--faint);color:var(--text)}

/* ── SHARED ── */
.sec-row{margin-top:44px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.sec-label{font-size:.6875rem;font-weight:500;color:var(--fainter);letter-spacing:.08em;text-transform:uppercase}
.view-all{font-size:.75rem;color:var(--muted);cursor:pointer;transition:color .12s;display:flex;align-items:center;gap:3px}
.view-all:hover{color:var(--text)}

/* ── HANDBOOK FEATURE ROW (Julian-style) ── */
.handbook-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:8px}
.handbook-feature{padding:22px 16px 20px;text-align:center;cursor:pointer;border-radius:8px;transition:all .18s;border:1px solid var(--border);background:var(--bg);position:relative;overflow:hidden}
.handbook-feature::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--green);opacity:.7;transition:opacity .18s}
.handbook-feature:hover{border-color:var(--green);box-shadow:0 4px 18px rgba(45,122,79,.1);transform:translateY(-1px)}
.handbook-feature:hover::before{opacity:1}
body.dark .handbook-feature:hover{box-shadow:0 4px 18px rgba(26,144,96,.15)}
.hf-emoji{font-size:2rem;display:block;margin-bottom:12px}
.hf-title{font-size:.9375rem;font-weight:600;color:var(--text);margin-bottom:6px;line-height:1.3;letter-spacing:-.01em}
.hf-desc{font-size:.8125rem;color:var(--muted);line-height:1.5;margin-bottom:10px}
.hf-cta{font-size:.75rem;color:var(--green);font-weight:500;display:inline-flex;align-items:center;gap:3px}
.hf-meta{font-size:.6875rem;color:var(--fainter);margin-top:4px}

/* ── CANON CARDS (2-col) ── */
.card-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.content-card{border:1px solid var(--border);border-radius:8px;padding:18px;cursor:pointer;transition:all .18s;background:var(--bg)}
.content-card:hover{border-color:var(--faint);box-shadow:0 2px 12px rgba(0,0,0,.06);transform:translateY(-1px)}
body.dark .content-card:hover{box-shadow:0 2px 12px rgba(0,0,0,.3)}
.content-card.canon-card{border-style:dashed;border-color:var(--faint)}
.content-card.canon-card:hover{border-style:solid;border-color:var(--amber);box-shadow:0 4px 18px rgba(160,88,0,.08)}
body.dark .content-card.canon-card:hover{box-shadow:0 4px 18px rgba(192,112,16,.12)}
.cc-emoji{font-size:1.2rem;margin-bottom:8px;display:block}
.cc-type-label{font-size:.6rem;font-weight:500;color:var(--fainter);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.cc-title{font-size:.9375rem;font-weight:500;color:var(--text);margin-bottom:4px;line-height:1.3}
.cc-desc{font-size:.8125rem;color:var(--muted);line-height:1.5;margin-bottom:8px}
.cc-meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.cc-tag{font-size:.6rem;color:var(--fainter)}.cc-tag::before{content:'#'}
.cc-sub{font-size:.6875rem;color:var(--fainter)}

/* ── ESSAY CATEGORY GRID (screenshot-1 style) ── */
.essay-cats{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;margin-bottom:8px}
.essay-cat{padding-bottom:32px}
.ecat-title{font-size:.875rem;font-weight:600;color:var(--text);margin-bottom:10px;letter-spacing:-.01em}
.ecat-rule{height:1px;background:var(--border2);margin-bottom:12px}
.ecat-list{display:flex;flex-direction:column;gap:0}
.ecat-item{display:flex;align-items:baseline;gap:7px;padding:5px 0;cursor:pointer;border-bottom:1px solid transparent;transition:color .12s}
.ecat-item:hover .ecat-name{color:var(--text)}
.ecat-arrow{font-size:.75rem;color:var(--fainter);flex-shrink:0;transition:color .12s}
.ecat-item:hover .ecat-arrow{color:var(--muted)}
.ecat-name{font-size:.875rem;color:var(--muted);line-height:1.4;transition:color .12s}
.ecat-show-all{font-size:.8125rem;color:var(--green);cursor:pointer;margin-top:10px;display:inline-flex;align-items:center;gap:3px;transition:opacity .12s}
.ecat-show-all:hover{opacity:.7}


/* ── COURSES PAGE ── */
.courses-intro{padding:36px 0 0}
.courses-intro h1{font-size:1.25rem;font-weight:500;color:var(--text);margin-bottom:8px;letter-spacing:-.01em}
.courses-intro p{font-size:.9375rem;color:var(--muted);line-height:1.7;max-width:480px}
.course-featured{border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:14px;transition:all .18s;background:var(--bg)}
.course-featured:hover{border-color:var(--green);box-shadow:0 4px 20px rgba(45,122,79,.1)}
.cf-head{padding:22px 22px 18px;border-bottom:1px solid var(--border2);position:relative}
.cf-badge{position:absolute;top:18px;right:18px;background:var(--green);color:#fff;font-size:.6875rem;font-weight:600;padding:3px 10px;border-radius:20px}
.cf-badge.wait{background:var(--amber)}
.cf-emoji{font-size:1.4rem;margin-bottom:9px;display:block}
.cf-title{font-size:1.0625rem;font-weight:600;color:var(--text);margin-bottom:4px;letter-spacing:-.01em}
.cf-desc{font-size:.875rem;color:var(--muted);line-height:1.6;max-width:480px}
.cf-price{font-size:1.25rem;font-weight:600;color:var(--green);margin-top:8px}
.cf-price-note{font-size:.75rem;color:var(--fainter);font-weight:400;margin-left:4px}
.cf-body{padding:18px 22px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}
.cf-highlights{display:flex;flex-direction:column;gap:5px}
.cf-hl{font-size:.8125rem;color:var(--muted);display:flex;align-items:baseline;gap:7px}
.cf-hl::before{content:'✓';color:var(--green);font-size:.7rem;flex-shrink:0}
.enroll-btn{font-family:inherit;font-size:.875rem;font-weight:600;background:var(--green);color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;white-space:nowrap;transition:opacity .15s;text-decoration:none;display:inline-block}
.enroll-btn:hover{opacity:.82}
.enroll-btn.amber{background:var(--amber)}
.course-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:48px}
.course-card{border:1px solid var(--border);border-radius:8px;padding:18px;transition:all .18s;background:var(--bg)}
.course-card:hover{border-color:var(--faint);box-shadow:0 2px 12px rgba(0,0,0,.06);transform:translateY(-1px)}
.c-emoji{font-size:1.2rem;margin-bottom:7px;display:block}
.c-status{font-size:.6rem;font-weight:600;color:var(--fainter);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.c-title{font-size:.9375rem;font-weight:600;color:var(--text);margin-bottom:4px;letter-spacing:-.01em}
.c-desc{font-size:.8125rem;color:var(--muted);line-height:1.5;margin-bottom:10px}
.c-price{font-size:.875rem;font-weight:600;color:var(--amber);margin-bottom:6px}
.c-cta{font-size:.75rem;font-weight:500;color:var(--amber);display:inline-flex;align-items:center;gap:3px;cursor:pointer}
.services-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:48px}
.svc{border:1px solid var(--border);border-radius:8px;padding:18px;background:var(--bg);transition:all .18s}
.svc:hover{border-color:var(--faint);box-shadow:0 2px 12px rgba(0,0,0,.06)}
.svc-emoji{font-size:1.2rem;margin-bottom:7px;display:block}
.svc-title{font-size:.9375rem;font-weight:600;color:var(--text);margin-bottom:5px}
.svc-desc{font-size:.8125rem;color:var(--muted);line-height:1.55;margin-bottom:10px}
.svc-price{font-size:.8125rem;color:var(--fainter);margin-bottom:10px}
.svc-btn{display:inline-flex;align-items:center;font-family:inherit;font-size:.8125rem;font-weight:500;background:var(--text);color:var(--bg);border:none;padding:7px 14px;border-radius:5px;cursor:pointer;text-decoration:none;transition:opacity .15s}
.svc-btn:hover{opacity:.75}
.free-box{border:1px solid var(--border2);border-radius:8px;padding:20px;background:var(--bg2);margin-bottom:64px}
.free-box-title{font-size:.875rem;font-weight:600;color:var(--text);margin-bottom:12px}
.free-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.free-item{padding:12px 14px;border:1px solid var(--border);border-radius:6px;background:var(--bg);cursor:pointer;transition:border-color .15s}
.free-item:hover{border-color:var(--faint)}
.free-item-title{font-size:.875rem;font-weight:500;color:var(--text);margin-bottom:2px}
.free-item-desc{font-size:.75rem;color:var(--muted)}

/* ── ABOUT REBUILD ── */
.about-content{padding:36px 0 72px}
.about-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;margin-bottom:32px}
.about-name{font-size:1.375rem;font-weight:600;color:var(--text);letter-spacing:-.02em;margin-bottom:5px}
.about-tagline{font-size:.875rem;color:var(--muted);line-height:1.6}
.about-avatar{width:96px;height:96px;border-radius:8px;background:var(--bg2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:2.5rem;flex-shrink:0}
.about-body{font-size:.9375rem;color:var(--muted);line-height:1.8}
.about-body p{margin-bottom:14px}
.about-body p:last-child{margin-bottom:0}
.about-body b{color:var(--text);font-weight:500}
.about-body a{color:var(--text);border-bottom:1px solid var(--border)}
.about-body a:hover{border-color:var(--faint);text-decoration:none}
.about-body em{font-style:italic;color:var(--faint)}
.about-body blockquote{border-left:3px solid var(--border);padding:.4rem 0 .4rem 1rem;margin:1.2rem 0;color:var(--faint);font-style:italic}
.how-i-help{margin-top:28px;border:1px solid var(--border2);border-radius:8px;padding:20px;background:var(--bg2)}
.how-i-help-title{font-size:.875rem;font-weight:600;color:var(--text);margin-bottom:12px}
.help-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.help-item{padding:12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);text-decoration:none;display:block;transition:border-color .15s}
.help-item:hover{border-color:var(--faint)}
.help-item-title{font-size:.8125rem;font-weight:500;color:var(--text);margin-bottom:2px}
.help-item-desc{font-size:.75rem;color:var(--muted)}

/* ── GARDEN INTRO ── */
.site-intro{padding:38px 0 0}
.site-intro p{font-size:.9375rem;color:var(--muted);line-height:1.72;max-width:480px}
.site-intro p+p{margin-top:10px}
.site-intro a{color:var(--text);border-bottom:1px solid var(--border);transition:border-color .12s}
.site-intro a:hover{border-color:var(--faint);text-decoration:none}

/* ── GARDEN PAGE ── */
.garden-header{padding:36px 0 0}
.garden-header h1{font-size:1.25rem;font-weight:500;color:var(--text);margin-bottom:6px;letter-spacing:-.01em}
.garden-header p{font-size:.9375rem;color:var(--muted);line-height:1.7}
.search-bar{margin-top:20px;position:relative}
.search-input{width:100%;border:1px solid var(--border);border-radius:6px;padding:10px 14px 10px 36px;font-family:inherit;font-size:.9375rem;color:var(--text);outline:none;background:var(--bg);transition:border-color .15s}
.search-input::placeholder{color:var(--fainter)}
.search-input:focus{border-color:var(--faint)}
.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--fainter);font-size:.875rem;pointer-events:none}
.legend{display:flex;align-items:center;gap:14px}
.leg{font-size:.6875rem;color:var(--fainter);display:flex;align-items:center;gap:4px}
.leg-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.leg-dot.ev{background:var(--green)}.leg-dot.gr{background:var(--amber);opacity:.75}.leg-dot.sd{background:transparent;border:1.5px dashed var(--fainter)}

/* ── CATEGORY PILLS ── */
.cat-bar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:4px}
.cat-pill{font-size:.6875rem;padding:4px 10px;border-radius:20px;border:1px solid var(--border);color:var(--faint);cursor:pointer;transition:all .12s;background:var(--bg);user-select:none}
.cat-pill:hover{border-color:var(--faint);color:var(--mid)}
.cat-pill.active{background:var(--text);color:var(--bg);border-color:var(--text)}

/* ── ESSAY LIST ── */
.essay-list{display:flex;flex-direction:column}
.essay-item{display:grid;grid-template-columns:48px 1fr auto;gap:0 18px;padding:14px 0;border-bottom:1px solid var(--border2);align-items:baseline;cursor:pointer;transition:opacity .12s}
.essay-item:first-of-type{border-top:1px solid var(--border2)}
.essay-item:hover{opacity:.55}
.essay-item.hidden{display:none}
.e-year{font-size:.75rem;color:var(--fainter);font-variant-numeric:tabular-nums;padding-top:2px}
.e-title{font-size:.9375rem;color:var(--text);font-weight:400;line-height:1.35;margin-bottom:3px}
.e-desc{font-size:.8125rem;color:var(--muted);line-height:1.5;margin-bottom:5px;font-style:italic}
.e-tags{display:flex;gap:8px;flex-wrap:wrap}
.e-tag{font-size:.6875rem;color:var(--fainter)}.e-tag::before{content:'#'}
.e-right{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:4px;padding-top:2px}
.e-status{font-size:.6875rem;color:var(--fainter);display:flex;align-items:center;gap:4px;white-space:nowrap}
.e-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.e-dot.ev{background:var(--green)}.e-dot.gr{background:var(--amber);opacity:.75}
.e-rt{font-size:.6875rem;color:var(--fainter)}

/* ── SEEDS ── */
.seed-list{display:flex;flex-direction:column}
.seed-item{padding:10px 0;border-bottom:1px solid var(--border2);display:flex;align-items:baseline;gap:12px;color:var(--muted)}
.seed-item:first-of-type{border-top:1px solid var(--border2)}
.seed-item.hidden{display:none}
.seed-bullet{font-size:.75rem;color:var(--fainter);flex-shrink:0}
.seed-title{font-size:.875rem;line-height:1.4}

/* ── NEWSLETTER ── */
.newsletter{margin-top:48px;margin-bottom:64px}
.nl-label{font-size:.6875rem;font-weight:500;color:var(--fainter);letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}
.nl-desc{font-size:.875rem;color:var(--muted);line-height:1.6;margin-bottom:14px}
.nl-form{display:flex;gap:8px;flex-wrap:wrap}
.nl-input{flex:1;min-width:180px;border:1px solid var(--border);border-radius:6px;padding:9px 12px;font-family:inherit;font-size:.875rem;color:var(--text);outline:none;background:var(--bg);transition:border-color .15s}
.nl-input::placeholder{color:var(--fainter)}
.nl-input:focus{border-color:var(--faint)}
.nl-btn{font-family:inherit;font-size:.875rem;font-weight:500;background:var(--text);color:var(--bg);border:none;border-radius:6px;padding:9px 18px;cursor:pointer;transition:opacity .15s}
.nl-btn:hover{opacity:.7}
.nl-ok{display:none;font-size:.875rem;color:var(--muted);margin-top:10px}

/* ── ESSAY READER ── */
.essay-reader{padding:36px 0 80px}
.er-back{font-size:.8125rem;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;gap:4px;margin-bottom:36px;transition:color .12s}
.er-back:hover{color:var(--text)}
.er-title{font-size:1.75rem;font-weight:500;color:var(--text);letter-spacing:-.03em;line-height:1.18;margin-bottom:12px}
.er-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:36px;padding-bottom:20px;border-bottom:1px solid var(--border2)}
.er-date{font-size:.8125rem;color:var(--muted)}
.er-rt{font-size:.8125rem;color:var(--fainter)}
.er-tag-list{display:flex;gap:8px}
.er-tag{font-size:.6875rem;color:var(--fainter)}.er-tag::before{content:'#'}
.er-body{font-size:.9375rem;color:var(--mid);line-height:1.82}
.er-body p{margin-bottom:1.3rem}
.er-body h2{font-size:1.0625rem;font-weight:500;color:var(--text);margin:2.2rem 0 .75rem;letter-spacing:-.015em}
.er-body h3{font-size:.9375rem;font-weight:500;color:var(--text);margin:1.6rem 0 .5rem}
.er-body ul{margin:.75rem 0 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.4rem}
.er-body li{font-size:.9375rem;color:var(--mid);line-height:1.7}
.er-body blockquote{border-left:3px solid var(--border);padding:.5rem 0 .5rem 1.2rem;margin:1.5rem 0;color:var(--faint);font-style:italic}
.er-body b,.er-body strong{color:var(--text);font-weight:500}
.er-body a{color:var(--text);border-bottom:1px solid var(--border)}
.er-body a:hover{border-color:var(--faint);text-decoration:none}
.er-nav{display:flex;justify-content:space-between;margin-top:52px;padding-top:22px;border-top:1px solid var(--border2)}
.er-nav-btn{font-size:.8125rem;color:var(--muted);cursor:pointer;display:flex;align-items:center;gap:5px;transition:color .12s;max-width:48%;line-height:1.4}
.er-nav-btn:hover{color:var(--text)}
.er-nav-btn.ghost{opacity:0;pointer-events:none}

/* ── LISTING PAGES ── */
.listing-intro{padding:36px 0 0}
.listing-intro h1{font-size:1.25rem;font-weight:500;color:var(--text);margin-bottom:8px;letter-spacing:-.01em}
.listing-intro p{font-size:.9375rem;color:var(--muted);line-height:1.7;max-width:480px}
.listing-grid{margin-top:24px;margin-bottom:64px}

/* ── READER (shared handbook + canon) ── */
#view-reader,#view-canon-reader{max-width:none;padding:0}
.reader-outer{max-width:960px;margin:0 auto;padding:0 24px}
.reader-nav-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border2)}
.rnb-back{font-size:.8125rem;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:color .12s}
.rnb-back:hover{color:var(--text)}
.rnb-title{font-size:.8125rem;color:var(--fainter);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}
.reader-wrap{display:grid;grid-template-columns:210px 1fr;gap:0;min-height:80vh}
.reader-sidebar{padding:36px 36px 40px 0;position:sticky;top:0;height:100vh;overflow-y:auto}
.rs-toc{display:flex;flex-direction:column;gap:0}
.rs-toc-item{font-size:.8125rem;color:var(--muted);padding:5px 0 5px 10px;border-left:2px solid transparent;cursor:pointer;transition:all .12s;line-height:1.4}
.rs-toc-item:hover{color:var(--text)}
.rs-toc-item.active{color:var(--text);border-left-color:var(--text);font-weight:500}
.reader-content{padding:36px 0 80px 36px;border-left:1px solid var(--border2);max-width:620px}
.rc-type-label{font-size:.6rem;font-weight:500;color:var(--fainter);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}
.rc-num{font-size:.75rem;color:var(--fainter);margin-bottom:4px}
.rc-title{font-size:1.625rem;font-weight:500;color:var(--text);letter-spacing:-.025em;line-height:1.2;margin-bottom:8px}
.rc-meta{font-size:.75rem;color:var(--fainter);margin-bottom:32px}
.rc-body{font-size:.9375rem;color:var(--mid);line-height:1.8}
.rc-body p{margin-bottom:1.2rem}
.rc-body p:last-child{margin-bottom:0}
.rc-body h2{font-size:1.0625rem;font-weight:500;color:var(--text);margin:2rem 0 .75rem;letter-spacing:-.015em}
.rc-body h3{font-size:.9375rem;font-weight:500;color:var(--text);margin:1.5rem 0 .5rem}
.rc-body ul{margin:.75rem 0 1rem 1.2rem;display:flex;flex-direction:column;gap:.35rem}
.rc-body li{font-size:.9375rem;color:var(--mid);line-height:1.65}
.rc-body blockquote{border-left:3px solid var(--border);padding:.5rem 0 .5rem 1.2rem;margin:1.2rem 0;color:var(--faint);font-style:italic}
.rc-body b,.rc-body strong{color:var(--text);font-weight:500}
.rc-body a{color:var(--text);border-bottom:1px solid var(--border)}
.rc-body a:hover{border-color:var(--faint);text-decoration:none}
.rc-nav{display:flex;justify-content:space-between;align-items:center;margin-top:48px;padding-top:22px;border-top:1px solid var(--border2)}
.rc-nav-btn{font-size:.8125rem;color:var(--muted);cursor:pointer;transition:color .12s;line-height:1.4;max-width:44%}
.rc-nav-btn:hover{color:var(--text)}
.rc-nav-btn.disabled{opacity:.3;cursor:default;pointer-events:none}
.rc-progress{font-size:.6875rem;color:var(--fainter);white-space:nowrap}
.cc-sec-intro{font-size:.875rem;color:var(--muted);line-height:1.7;margin-bottom:24px;font-style:italic;padding-bottom:16px;border-bottom:1px solid var(--border2)}
.cc-items{display:flex;flex-direction:column}
.cc-item{padding:14px 0;border-bottom:1px solid var(--border2)}
.cc-item:last-child{border-bottom:none}
.cc-item-link{font-size:.9375rem;font-weight:500;color:var(--text);border-bottom:1px solid var(--border);transition:border-color .12s}
.cc-item-link:hover{border-color:var(--faint);text-decoration:none}
.cc-item-by{font-size:.75rem;color:var(--fainter);margin:3px 0 5px}
.cc-item-note{font-size:.875rem;color:var(--muted);line-height:1.65}

/* ── STATIC PAGES ── */
.page-content{padding:36px 0 72px}
.page-title{font-size:1.25rem;font-weight:500;color:var(--text);margin-bottom:22px;letter-spacing:-.01em}
.page-body{font-size:.9375rem;color:var(--muted);line-height:1.78}
.page-body p{margin-bottom:14px}
.page-body p:last-child{margin-bottom:0}
.page-body b{color:var(--text);font-weight:500}
.page-body a{color:var(--text);border-bottom:1px solid var(--border);transition:border-color .12s}
.page-body a:hover{border-color:var(--faint);text-decoration:none}
.page-body em{font-style:italic;color:var(--faint)}
.page-updated{font-size:.75rem;color:var(--fainter);margin-top:16px}
.about-links{margin-top:24px;display:flex;flex-direction:column}
.about-link{padding:10px 0;border-bottom:1px solid var(--border2);display:flex;justify-content:space-between;align-items:baseline;gap:12px;text-decoration:none;color:inherit;transition:opacity .12s}
.about-link:first-of-type{border-top:1px solid var(--border2)}
.about-link:hover{opacity:.55}
.about-link-name{font-size:.875rem;color:var(--text)}
.about-link-handle{font-size:.8125rem;color:var(--fainter)}

/* ── FOOTER ── */
footer{padding:24px 0 40px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.footer-l{font-size:.75rem;color:var(--fainter)}
.footer-r{display:flex;gap:16px}
.footer-r a{font-size:.75rem;color:var(--fainter);transition:color .12s}
.footer-r a:hover{color:var(--text);text-decoration:none}

@media(max-width:640px){
  header{padding-top:28px}
  .nav-inner{flex-direction:column;align-items:flex-start;gap:10px}
  .handbook-row{grid-template-columns:1fr}
  .essay-item{grid-template-columns:38px 1fr;gap:0 10px}
  .e-right{display:none}
  .card-grid,.course-row,.services-row,.free-row,.help-grid{grid-template-columns:1fr}
  .essay-cats{grid-template-columns:1fr}
  .reader-wrap{grid-template-columns:1fr}
  .reader-sidebar{display:none}
  .about-hero{flex-direction:column}
  .about-avatar{display:none}
  .reader-content{padding:28px 0 60px;border-left:none}
  footer{flex-direction:column;gap:8px}
}
/* ── GHOST KOENIG CARD WIDTH CLASSES (required) ── */
.kg-width-wide {
  position: relative;
  width: 85vw;
  min-width: 100%;
  margin: auto calc(50% - 50vw) * -1;
}
.kg-width-full {
  position: relative;
  width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}
@media (max-width: 640px) {
  .kg-width-wide,
  .kg-width-full {
    width: 100%;
    margin: 0;
    left: auto;
    right: auto;
  }
}
