/* MainframeModernization.org Ghost Theme CSS */

:root {
  --bg:         #0d1117;
  --bg-card:    #161b22;
  --bg-card2:   #1a2030;
  --bg-input:   #0d1117;
  --bg-code:    #010409;
  --bg-code-header: #161b22;
  --bg-footer:  #090d13;
  --bg-hero-start: #111827;
  --bg-hero-end:   #0d1117;
  --bg-nav:     rgba(13,17,23,0.94);
  --bg-hover:   rgba(255,255,255,0.05);
  --border:     #21262d;
  --border-l:   #2d3748;
  --cyan:       #22d3ee;
  --cyan-dark:  #0891b2;
  --cyan-hover: #38e8ff;
  --cyan-glow:  rgba(34,211,238,0.10);
  --cyan-glow2: rgba(34,211,238,0.05);
  --white:      #f0f6fc;
  --white-dim:  #c9d1d9;
  --muted:      #8b949e;
  --muted-dk:   #4a5568;
  --green:      #3fb950;
  --green-bg:   rgba(63,185,80,0.10);
  --amber:      #d29922;
  --amber-bg:   rgba(210,153,34,0.10);
  --red:        #f85149;
  --red-bg:     rgba(248,81,73,0.10);
  --purple:     #a78bfa;
  --purple-border: rgba(167,139,250,.35);
  --purple-bg:  rgba(167,139,250,.08);
  --code-comment: #4a5568;
  --code-keyword: #79c0ff;
  --code-string:  #a5d6ff;
  --code-number:  #ff7b72;
  --mono:       'IBM Plex Mono', monospace;
  --sans:       'Inter', system-ui, sans-serif;
}

/* Light Mode Variables */
[data-theme="light"] {
  --bg:         #ffffff;
  --bg-card:    #f6f8fa;
  --bg-card2:   #e8eef5;
  --bg-input:   #ffffff;
  --bg-code:    #f6f8fa;
  --bg-code-header: #e8eef5;
  --bg-footer:  #f6f8fa;
  --bg-hero-start: #e8eef5;
  --bg-hero-end:   #ffffff;
  --bg-nav:     rgba(255,255,255,0.94);
  --bg-hover:   rgba(0,0,0,0.05);
  --border:     #d0d7de;
  --border-l:   #a8b3bf;
  --cyan:       #0891b2;
  --cyan-dark:  #0e7490;
  --cyan-hover: #0e7490;
  --cyan-glow:  rgba(8,145,178,0.08);
  --cyan-glow2: rgba(8,145,178,0.04);
  --white:      #1f2328;
  --white-dim:  #424a53;
  --muted:      #656d76;
  --muted-dk:   #8c959f;
  --green:      #1a7f37;
  --green-bg:   rgba(26,127,55,0.08);
  --amber:      #9a6700;
  --amber-bg:   rgba(154,103,0,0.08);
  --red:        #cf222e;
  --red-bg:     rgba(207,34,46,0.08);
  --purple:     #8250df;
  --purple-border: rgba(130,80,223,.35);
  --purple-bg:  rgba(130,80,223,.08);
  --code-comment: #6e7781;
  --code-keyword: #0550ae;
  --code-string:  #0a3069;
  --code-number:  #cf222e;
}

*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:var(--sans);background:var(--bg);color:var(--white-dim);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;transition:background-color 0.3s ease, color 0.3s ease;}
a{color:var(--cyan);text-decoration:none;}
a:hover{text-decoration:underline;}

/* NAV */
nav{position:sticky;top:0;z-index:200;background:var(--bg-nav);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);height:60px;display:flex;align-items:center;padding:0 32px;gap:0;}
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0;margin-right:36px;}
.m-box{width:30px;height:30px;background:var(--cyan);border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:900;color:var(--bg);flex-shrink:0;}
.nav-logo-text{font-size:15px;font-weight:700;color:var(--white);}
.nav-logo-text span{color:var(--cyan);}
.nav-links{display:flex;gap:2px;list-style:none;flex:1;}
.nav-links a{font-size:13.5px;font-weight:500;color:var(--muted);padding:6px 11px;border-radius:6px;text-decoration:none;transition:color .15s,background .15s;}
.nav-links a:hover{color:var(--white);background:var(--bg-hover);}
.nav-links a.active{color:var(--cyan);}
.nav-right{display:flex;align-items:center;gap:10px;}
.btn-ghost-sm{font-size:13px;font-weight:500;color:var(--muted);padding:6px 14px;border-radius:6px;border:1px solid var(--border);text-decoration:none;transition:all .15s;}
.btn-ghost-sm:hover{color:var(--white);border-color:var(--border-l);}
.btn-cta{font-size:13px;font-weight:700;color:var(--bg);background:var(--cyan);padding:8px 18px;border-radius:8px;text-decoration:none;transition:background .15s;white-space:nowrap;}
.btn-cta:hover{background:var(--cyan-hover);}

/* HERO */
.art-hero{background:linear-gradient(175deg,var(--bg-hero-start) 0%,var(--bg-hero-end) 100%);border-bottom:1px solid var(--border);padding:56px 32px 48px;}
.hero-inner{max-width:860px;margin:0 auto;}
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);margin-bottom:22px;}
.breadcrumb a{color:var(--muted);text-decoration:none;}
.breadcrumb a:hover{color:var(--cyan);}
.breadcrumb .sep{color:var(--muted-dk);}
.tag-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;}
.tag{font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;padding:4px 11px;border-radius:20px;border:1px solid;}
.tag-cyan  {color:var(--cyan); border-color:rgba(34,211,238,.35);background:var(--cyan-glow2);}
.tag-amber {color:var(--amber);border-color:rgba(210,153,34,.35);background:var(--amber-bg);}
.tag-green {color:var(--green);border-color:rgba(63,185,80,.35); background:var(--green-bg);}
.tag-purple{color:var(--purple);border-color:var(--purple-border);background:var(--purple-bg);}
.art-hero h1{font-size:clamp(1.9rem,4vw,2.85rem);font-weight:800;color:var(--white);line-height:1.15;margin-bottom:18px;letter-spacing:-.5px;}
.art-hero h1 span{color:var(--cyan);}
.art-deck{font-size:17px;color:var(--white-dim);font-weight:400;line-height:1.75;max-width:720px;margin-bottom:28px;}
.meta-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-top:22px;border-top:1px solid var(--border);}
.meta-av{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#0c3050,#22d3ee);display:flex;align-items:center;justify-content:center;color:white;font-weight:700;font-size:13px;flex-shrink:0;}
.meta-author strong{display:block;font-size:13.5px;font-weight:600;color:var(--white);}
.meta-author span{font-size:12px;color:var(--muted);}
.meta-sep{width:1px;height:26px;background:var(--border);}
.meta-chip{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:5px;}
.meta-chip .dot{width:6px;height:6px;border-radius:50%;background:var(--cyan);}

/* LAYOUT */
.page-wrap{max-width:1160px;margin:0 auto;padding:48px 32px 80px;display:grid;grid-template-columns:1fr 300px;gap:48px;align-items:start;}

/* STAT BAR */
.stat-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:40px;}
.stat-cell{background:var(--bg-card);padding:22px 20px;text-align:center;}
.stat-cell .num{font-size:2.2rem;font-weight:800;color:var(--white);line-height:1;margin-bottom:5px;}
.stat-cell .num span{color:var(--cyan);}
.stat-cell .label{font-size:12px;color:var(--muted);line-height:1.4;}

/* ARTICLE BODY */
.article-body h2{font-size:1.45rem;font-weight:700;color:var(--white);margin:48px 0 16px;line-height:1.3;padding-bottom:12px;border-bottom:1px solid var(--border);}
.article-body h2:first-child{margin-top:0;}
.article-body h3{font-size:1rem;font-weight:600;color:var(--white);margin:32px 0 12px;display:flex;align-items:center;gap:10px;}
.article-body h3::before{content:'';display:inline-block;width:3px;height:16px;background:var(--cyan);border-radius:2px;flex-shrink:0;}
.article-body p{font-size:16px;line-height:1.85;color:var(--white-dim);margin-bottom:20px;}
.article-body strong{color:var(--white);font-weight:600;}
.article-body ul{margin:20px 0 20px 30px;color:var(--white-dim);}
.article-body li{margin-bottom:10px;line-height:1.75;}
code{font-family:var(--mono);font-size:13px;background:var(--bg-card);color:var(--cyan);padding:2px 7px;border-radius:4px;border:1px solid var(--border);}

/* CALLOUT */
.callout{border:1px solid rgba(34,211,238,.25);background:var(--cyan-glow);border-radius:8px;padding:20px 24px;margin:28px 0;}
.callout p{font-size:16px;font-style:italic;color:var(--cyan);margin:0;font-weight:500;}
.callout-warn{border-color:rgba(210,153,34,.3);background:var(--amber-bg);}
.callout-warn p{color:var(--amber);}

/* CARDS */
.card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:24px 0;}
.card{border:1px solid var(--border);border-radius:8px;padding:20px;background:var(--bg-card);transition:border-color .2s,background .2s;}
.card:hover{border-color:rgba(34,211,238,.35);background:var(--bg-card2);}
.card-icon{font-size:20px;margin-bottom:10px;}
.card h4{font-size:14px;font-weight:600;color:var(--white);margin-bottom:6px;}
.card p{font-size:13px;color:var(--muted);margin:0;line-height:1.6;}

/* CODE BLOCK */
.code-wrap{background:var(--bg-code);border-radius:10px;overflow:hidden;margin:28px 0;border:1px solid var(--border);}
.code-header{background:var(--bg-code-header);padding:10px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);}
.code-dots{display:flex;gap:6px;}
.cd{width:11px;height:11px;border-radius:50%;}
.cd-r{background:#f85149;}.cd-y{background:#d29922;}.cd-g{background:#3fb950;}
.code-fname{font-family:var(--mono);font-size:12px;color:var(--muted);}
.lang-badge{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--cyan);background:var(--cyan-glow);padding:3px 10px;border-radius:4px;border:1px solid rgba(34,211,238,.2);}
.code-body{padding:24px 28px;overflow-x:auto;font-family:var(--mono);font-size:12.5px;line-height:1.85;}
.code-body pre{margin:0;white-space:pre;}
.cc{color:var(--code-comment);}.ck{color:var(--code-keyword);}.cs{color:var(--code-string);}.cn{color:var(--code-number);}

/* TABLE */
.cap-table{width:100%;border-collapse:collapse;font-size:14px;margin:24px 0;border-radius:8px;overflow:hidden;border:1px solid var(--border);}
.cap-table th{text-align:left;padding:12px 16px;background:var(--bg-card2);color:var(--white-dim);font-size:11px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;border-bottom:1px solid var(--border);}
.cap-table td{padding:12px 16px;border-bottom:1px solid var(--border);color:var(--white-dim);line-height:1.5;vertical-align:middle;}
.cap-table tr:last-child td{border-bottom:none;}
.cap-table tr:hover td{background:var(--bg-card);}
.pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;white-space:nowrap;border:1px solid;}
.pill::before{content:'●';font-size:7px;}
.pill-green{color:var(--green);border-color:rgba(63,185,80,.3); background:var(--green-bg);}
.pill-amber{color:var(--amber);border-color:rgba(210,153,34,.3);background:var(--amber-bg);}
.pill-red  {color:var(--red);  border-color:rgba(248,81,73,.3); background:var(--red-bg);}

/* TERMINAL */
.terminal{background:var(--bg-code);border-radius:10px;overflow:hidden;margin:24px 0;border:1px solid var(--border);}
.term-bar{background:var(--bg-code-header);padding:10px 18px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border);}
.term-title{font-family:var(--mono);font-size:12px;color:var(--muted);margin:0 auto;}
.term-body{padding:20px 24px;font-family:var(--mono);font-size:13px;line-height:2;}
.t-p{color:var(--green);}.t-c{color:var(--white);}.t-ok{color:var(--green);}.t-w{color:var(--amber);}.t-i{color:var(--muted);}

/* LIMITS */
.limit-item{border:1px solid var(--border);border-radius:8px;padding:20px;margin-bottom:14px;background:var(--bg-card);transition:border-color .2s;}
.limit-item:hover{border-color:rgba(210,153,34,.3);}
.limit-item h4{font-size:14px;font-weight:600;color:var(--white);margin-bottom:7px;display:flex;align-items:center;gap:8px;}
.limit-item h4::before{content:'⚠';color:var(--amber);font-size:13px;}
.limit-item p{font-size:14px;color:var(--muted);margin:0;line-height:1.65;}

/* TIMELINE */
.timeline{margin:24px 0;}
.tl-item{display:flex;gap:20px;margin-bottom:32px;}
.tl-left{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:44px;}
.tl-dot{width:38px;height:38px;background:var(--bg-card2);color:var(--cyan);border:2px solid var(--cyan);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0;z-index:1;}
.tl-line{flex:1;width:2px;background:var(--border);margin-top:6px;}
.tl-item:last-child .tl-line{display:none;}
.tl-content{padding-top:6px;}
.tl-year{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--cyan);margin-bottom:5px;}
.tl-content h4{font-size:15px;font-weight:600;color:var(--white);margin-bottom:7px;}
.tl-content p{font-size:14px;color:var(--muted);margin:0;line-height:1.65;}

/* CTA BOX */
.cta-box{border:1px solid rgba(34,211,238,.2);background:linear-gradient(135deg,rgba(34,211,238,.07),rgba(34,211,238,.02));border-radius:10px;padding:32px;margin:36px 0;text-align:center;}
.cta-box h3{font-size:1.2rem;font-weight:700;color:var(--white);margin-bottom:8px;}
.cta-box h3::before{display:none;}
.cta-box p{font-size:14px;color:var(--muted);margin-bottom:20px;}
.btn-cyan{display:inline-block;background:var(--cyan);color:var(--bg);font-size:14px;font-weight:700;padding:11px 24px;border-radius:8px;text-decoration:none;margin:4px;transition:background .15s;}
.btn-cyan:hover{background:var(--cyan-hover);}
.btn-ghost-lg{display:inline-block;background:transparent;color:var(--muted);font-size:14px;font-weight:500;padding:11px 24px;border-radius:8px;border:1px solid var(--border);text-decoration:none;margin:4px;transition:all .15s;}
.btn-ghost-lg:hover{border-color:var(--border-l);color:var(--white);}

/* SIDEBAR */
.sidebar{position:sticky;top:76px;}
.s-card{border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:20px;background:var(--bg-card);}
.s-head{background:var(--bg-card2);padding:12px 18px;font-size:11px;font-weight:600;color:var(--white);letter-spacing:.8px;text-transform:uppercase;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px;}
.s-head::before{content:'';width:3px;height:13px;background:var(--cyan);border-radius:2px;}
.s-body{padding:16px 18px;}
.author-av{width:54px;height:54px;border-radius:50%;background:var(--cyan);margin:0 auto 12px;display:flex;align-items:center;justify-content:center;color:var(--bg);font-size:20px;font-weight:800;}
.author-box{text-align:center;}
.author-box strong{display:block;font-size:14px;font-weight:600;color:var(--white);margin-bottom:2px;}
.author-box .role{font-size:11px;color:var(--muted);margin-bottom:10px;}
.author-box p{font-size:12px;color:var(--muted);line-height:1.6;}
.share-row{display:flex;gap:7px;margin-top:14px;}
.share-btn{flex:1;text-align:center;padding:7px 4px;border-radius:6px;font-size:11px;font-weight:500;text-decoration:none;border:1px solid var(--border);color:var(--muted);transition:all .15s;}
.share-btn:hover{border-color:var(--cyan);color:var(--cyan);}
.toc-list{list-style:none;}
.toc-list li{border-bottom:1px solid var(--border);}
.toc-list li:last-child{border-bottom:none;}
.toc-list a{display:flex;align-items:center;gap:10px;padding:9px 0;font-size:13px;color:var(--muted);text-decoration:none;transition:color .15s;}
.toc-list a:hover{color:var(--cyan);}
.toc-num{font-size:11px;font-weight:700;color:var(--muted-dk);width:18px;flex-shrink:0;}
.rel-list{max-height:480px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent;}
.rel-list::-webkit-scrollbar{width:6px;}
.rel-list::-webkit-scrollbar-track{background:transparent;}
.rel-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px;}
.rel-list::-webkit-scrollbar-thumb:hover{background:var(--border-l);}
.rel-item{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--border);text-decoration:none;align-items:flex-start;transition:all .15s;}
.rel-item:last-child{border-bottom:none;padding-bottom:0;}
.rel-item:first-child{padding-top:0;}
.rel-icon{width:36px;height:36px;border-radius:7px;background:var(--bg-card2);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}
.rel-title{font-size:13px;font-weight:500;color:var(--white-dim);line-height:1.4;}
.rel-meta{font-size:11px;color:var(--muted);margin-top:2px;}
.rel-item:hover .rel-title{color:var(--cyan);}
.nl-card{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--bg-card);margin-bottom:20px;}
[data-theme="dark"] .nl-card{border-color:rgba(34,211,238,.2);background:linear-gradient(135deg,#0d1f2d,#0d1117);}
.nl-head{background:rgba(34,211,238,.08);border-bottom:1px solid rgba(34,211,238,.15);padding:12px 18px;font-size:11px;font-weight:600;color:var(--cyan);letter-spacing:.8px;text-transform:uppercase;display:flex;align-items:center;gap:8px;}
.nl-body{padding:16px 18px;}
.nl-body p{font-size:13px;color:var(--muted);margin-bottom:12px;line-height:1.5;}
.nl-input{width:100%;padding:9px 12px;border-radius:6px;border:1px solid var(--border);background:var(--bg-input);color:var(--white);font-size:13px;margin-bottom:8px;outline:none;font-family:var(--sans);transition:border-color .15s;}
.nl-input:focus{border-color:var(--cyan);}
.nl-btn{width:100%;background:var(--cyan);color:var(--bg);border:none;padding:9px;border-radius:6px;font-size:13px;font-weight:700;cursor:pointer;font-family:var(--sans);transition:background .15s;}
.nl-btn:hover{background:var(--cyan-hover);}
.nl-fine{font-size:11px;color:var(--muted-dk);text-align:center;margin-top:8px;}

/* Article List (Index Page) */
.article-list{max-height:none;}
.article-list-item{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--border);text-decoration:none;align-items:flex-start;transition:all .15s;}
.article-list-item:last-child{border-bottom:none;padding-bottom:0;}
.article-list-item:first-child{padding-top:0;}
.article-list-item:hover{background:var(--bg-hover);margin:0 -18px;padding-left:18px;padding-right:18px;}
.article-list-number{min-width:32px;height:32px;border-radius:6px;background:var(--bg-card2);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--cyan);flex-shrink:0;}
.article-list-content{flex:1;min-width:0;}
.article-list-title{font-size:14px;font-weight:600;color:var(--white);line-height:1.4;margin-bottom:4px;}
.article-list-meta{font-size:11px;color:var(--muted);display:flex;gap:4px;flex-wrap:wrap;}
.article-list-tag{color:var(--cyan);font-weight:500;}
.article-list-item:hover .article-list-title{color:var(--cyan);}

/* Sidebar Tools & Quick Links */
.tool-links{display:flex;flex-direction:column;gap:12px;}
.tool-link{display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px;background:var(--bg-card2);text-decoration:none;transition:all .15s;border:1px solid var(--border);}
.tool-link:hover{border-color:var(--cyan);background:var(--cyan-glow);}
.tool-icon{font-size:24px;flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;}
.tool-title{font-size:13px;font-weight:600;color:var(--white);line-height:1.3;margin-bottom:2px;}
.tool-desc{font-size:11px;color:var(--muted);line-height:1.3;}
.tool-link:hover .tool-title{color:var(--cyan);}
.quick-links{display:flex;flex-direction:column;gap:8px;}
.quick-links a{display:block;padding:8px 12px;border-radius:6px;background:var(--bg-card2);color:var(--white-dim);font-size:13px;text-decoration:none;transition:all .15s;border:1px solid var(--border);}
.quick-links a:hover{background:var(--cyan-glow);border-color:var(--cyan);color:var(--cyan);}

/* Advisor CTA (In-Article) */
.advisor-cta-inline{border:2px solid var(--cyan);background:linear-gradient(135deg,var(--cyan-glow),transparent);border-radius:12px;padding:28px;margin:32px 0;text-align:center;}
.advisor-cta-inline h3{font-size:1.3rem;font-weight:700;color:var(--white);margin-bottom:12px;line-height:1.3;}
.advisor-cta-inline p{font-size:15px;color:var(--muted);margin-bottom:20px;line-height:1.6;max-width:600px;margin-left:auto;margin-right:auto;}
.advisor-cta-inline .btn-cyan{display:inline-block;margin:0 auto;}

/* Theme Toggle */
.theme-toggle-card{margin-bottom:20px;}
.theme-toggle-wrapper{display:flex;align-items:center;justify-content:center;gap:12px;}
.theme-label{font-size:13px;color:var(--muted);font-weight:500;}
.theme-toggle{position:relative;width:52px;height:28px;background:var(--bg-card2);border:1px solid var(--border);border-radius:20px;cursor:pointer;transition:all 0.3s ease;padding:0;outline:none;}
.theme-toggle:hover{border-color:var(--border-l);}
.theme-toggle-slider{position:absolute;top:3px;left:3px;width:20px;height:20px;background:var(--cyan);border-radius:50%;transition:all 0.3s ease;box-shadow:0 2px 4px rgba(0,0,0,0.2);}
[data-theme="light"] .theme-toggle-slider{left:27px;background:var(--amber);}
[data-theme="light"] .theme-label:first-of-type{color:var(--muted-dk);}
[data-theme="light"] .theme-label:last-of-type{color:var(--white);font-weight:600;}
body:not([data-theme="light"]) .theme-label:first-of-type{color:var(--white);font-weight:600;}
body:not([data-theme="light"]) .theme-label:last-of-type{color:var(--muted-dk);}

/* FOOTER */
footer{background:var(--bg-footer);border-top:1px solid var(--border);padding:40px 32px 28px;}
.footer-inner{max-width:1160px;margin:0 auto;}
.footer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px;margin-bottom:28px;border-bottom:1px solid var(--border);}
.f-logo{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700;color:var(--white);text-decoration:none;}
.f-logo span{color:var(--cyan);}
.f-tag{font-size:13px;color:var(--muted);}
.footer-columns{display:grid;grid-template-columns:repeat(5,1fr);gap:32px;padding-bottom:28px;margin-bottom:20px;border-bottom:1px solid var(--border);}
.footer-col h4{font-size:11px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--white);margin-bottom:14px;}
.footer-col a{display:block;font-size:13px;color:var(--muted);text-decoration:none;margin-bottom:8px;transition:color .15s;}
.footer-col a:hover{color:var(--cyan);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted-dk);flex-wrap:wrap;gap:10px;}
.f-links{display:flex;gap:16px;}
.f-links a{color:var(--muted-dk);text-decoration:none;font-size:12px;}
.f-links a:hover{color:var(--muted);}

/* BLOG INDEX / POST LISTING */
.post-feed{display:grid;grid-template-columns:repeat(auto-fill, minmax(350px, 1fr));gap:24px;margin:40px 0;}
.post-feed-single{display:flex;flex-direction:column;gap:20px;margin:40px 0;}
.post-card{border:1px solid var(--border);border-radius:10px;padding:24px;background:var(--bg-card);transition:all .2s;text-decoration:none;display:block;}
.post-card:hover{border-color:rgba(34,211,238,.35);background:var(--bg-card2);transform:translateY(-2px);}
.post-card-image{width:100%;height:200px;border-radius:8px;overflow:hidden;margin-bottom:16px;background:var(--bg-card2);}
.post-card-image img{width:100%;height:100%;object-fit:cover;}
.post-card-tags{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap;}
.post-card-tag{font-size:10px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;padding:3px 9px;border-radius:20px;border:1px solid rgba(34,211,238,.35);color:var(--cyan);background:var(--cyan-glow2);}
.post-card-title{font-size:1.1rem;font-weight:700;color:var(--white);margin-bottom:10px;line-height:1.3;}
.post-card-excerpt{font-size:14px;color:var(--muted);line-height:1.6;margin-bottom:14px;}
.post-card-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted-dk);}

/* GHOST KOENIG EDITOR - REQUIRED IMAGE WIDTH CLASSES */
.kg-width-wide{position:relative;width:75vw;min-width:100%;margin:auto calc(50% - 50vw);transform:translateX(calc(50vw - 50%));}
.kg-width-full{position:relative;width:100vw;margin:auto calc(50% - 50vw);transform:translateX(calc(50vw - 50%));}
.kg-width-wide img,.kg-width-full img{width:100%;height:auto;}

/* GHOST KOENIG EDITOR - IMAGE CARDS */
.kg-image-card{margin:24px 0;max-width:100%;}
.kg-image-card img{display:block;margin:0 auto;max-width:100%;height:auto;}
.kg-image-card figcaption{text-align:center;font-size:13px;color:var(--muted);margin-top:10px;font-style:italic;}

/* GHOST KOENIG EDITOR - GALLERY CARDS */
.kg-gallery-card{margin:24px 0;}
.kg-gallery-container{display:flex;flex-direction:column;gap:8px;}
.kg-gallery-row{display:flex;gap:8px;}
.kg-gallery-image{flex:1;overflow:hidden;border-radius:8px;}
.kg-gallery-image img{width:100%;height:100%;object-fit:cover;}

/* GHOST KOENIG EDITOR - BOOKMARK CARDS */
.kg-bookmark-card{margin:24px 0;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg-card);transition:border-color .2s;}
.kg-bookmark-card:hover{border-color:rgba(34,211,238,.35);}
.kg-bookmark-container{display:flex;text-decoration:none;color:inherit;}
.kg-bookmark-content{flex:1;padding:20px;}
.kg-bookmark-title{font-size:15px;font-weight:600;color:var(--white);margin-bottom:8px;line-height:1.4;}
.kg-bookmark-description{font-size:13px;color:var(--muted);line-height:1.5;margin-bottom:10px;}
.kg-bookmark-metadata{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted-dk);}
.kg-bookmark-icon{width:16px;height:16px;}
.kg-bookmark-thumbnail{flex-shrink:0;width:200px;height:100%;overflow:hidden;}
.kg-bookmark-thumbnail img{width:100%;height:100%;object-fit:cover;}

/* GHOST KOENIG EDITOR - EMBED CARDS */
.kg-embed-card{margin:24px 0;position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:8px;background:var(--bg-card);}
.kg-embed-card iframe{position:absolute;top:0;left:0;width:100%;height:100%;}

/* GHOST KOENIG EDITOR - CALLOUT CARDS */
.kg-callout-card{margin:24px 0;padding:20px 24px;border-radius:8px;border:1px solid var(--border);background:var(--bg-card);}
.kg-callout-card-accent{border-color:rgba(34,211,238,.25);background:var(--cyan-glow);}
.kg-callout-emoji{font-size:24px;margin-right:12px;}
.kg-callout-text{color:var(--white-dim);}

@media(max-width:940px){.page-wrap{grid-template-columns:1fr;}.sidebar{position:static;}.card-grid{grid-template-columns:1fr;}.stat-bar{grid-template-columns:1fr 1fr;}.kg-width-wide,.kg-width-full{width:100%;min-width:100%;margin:0;transform:none;}.kg-bookmark-container{flex-direction:column;}.kg-bookmark-thumbnail{width:100%;height:200px;}.footer-columns{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){nav{padding:0 16px;}.nav-links,.btn-ghost-sm{display:none;}.art-hero{padding:36px 16px 32px;}.page-wrap{padding:28px 16px 56px;}.stat-bar{grid-template-columns:1fr;}footer{padding:28px 16px;}.post-feed{grid-template-columns:1fr;}.footer-columns{grid-template-columns:1fr;}}
