/*
Theme Name: LaJDYCH Terminal
Theme URI: https://www.lajdych.com/
Author: Thorsten Lajdych
Author URI: https://www.lajdych.com/
Description: Dark, techy & verspieltes Terminal-/IDE-Theme für den Tech-Blog lajdych.com. Enterprise Mobility, MDM & Geek Stuff – mit Syntax-Highlight-Palette, Monospace-Struktur, Dark/Light-Toggle und CSS-Code-Thumbnails. Klassisches Theme, gebaut für WordPress 6.x/7.x.
Version: 1.2.0
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lajdych-terminal
Tags: blog, dark-mode, custom-colors, custom-menu, featured-images, threaded-comments, translation-ready, two-columns, right-sidebar
*/

/*
 * ------------------------------------------------------------
 * LaJDYCH Terminal – ein Theme von Thorsten Lajdych (lajdych.com)
 * Konzept & Umsetzung entstanden mit Unterstützung von Claude (Anthropic).
 * ------------------------------------------------------------
 */

/* ============================================================
   TOKENS
   ============================================================ */
:root{
  --bg:#0b1020; --bg2:#0e1428; --surface:#131a30; --surface2:#182140;
  --line:#243154; --line-soft:#1b2440;
  --text:#e7ecfb; --muted:#8b97b8; --faint:#5c6788;
  --cyan:#3fe0d0; --violet:#a78bfa; --amber:#ffcf5c; --pink:#ff6b9d; --green:#5ad19a;
  --shadow:0 20px 50px -20px rgba(0,0,0,.7);
  --radius:14px; --maxw:1180px;
  --f-display:"Space Grotesk",system-ui,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --f-body:"Inter",system-ui,-apple-system,sans-serif;
}
:root[data-theme="light"]{
  --bg:#eef1f8; --bg2:#e6eaf4; --surface:#ffffff; --surface2:#f3f5fb;
  --line:#d3daea; --line-soft:#e2e7f2;
  --text:#151b2e; --muted:#55618a; --faint:#8590b0;
  --cyan:#0aa79a; --violet:#6d4be0; --amber:#c78a00; --pink:#d63f74; --green:#1a9f68;
  --shadow:0 18px 40px -22px rgba(30,45,90,.35);
}

/* ============================================================
   BASE
   ============================================================ */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    radial-gradient(1100px 600px at 82% -8%, color-mix(in srgb, var(--violet) 12%, transparent), transparent 60%),
    radial-gradient(900px 500px at -6% 8%, color-mix(in srgb, var(--cyan) 10%, transparent), transparent 55%),
    var(--bg);
  color:var(--text); font-family:var(--f-body); line-height:1.65;
  -webkit-font-smoothing:antialiased;overflow-x:clip;
  transition:background-color .4s ease,color .3s ease;
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.5;
  background-image:linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(circle at 50% 0%,#000,transparent 82%);
  mask-image:radial-gradient(circle at 50% 0%,#000,transparent 82%);
}
img{max-width:100%;height:auto;display:block}
a{color:var(--cyan);text-decoration:none;transition:color .15s}
a:hover{color:var(--violet)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px;position:relative;z-index:1}
.mono{font-family:var(--f-mono)}
:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;border-radius:4px}
.skip-link{position:absolute;left:-999px;top:0;background:var(--cyan);color:#07121f;padding:10px 16px;border-radius:8px;z-index:200;font-family:var(--f-mono)}
.skip-link:focus{left:12px;top:12px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* ============================================================
   HEADER / NAV — window chrome
   ============================================================ */
.site-bar{position:sticky;top:0;z-index:50;backdrop-filter:blur(12px);
  background:color-mix(in srgb,var(--bg) 78%,transparent);border-bottom:1px solid var(--line)}
.bar-inner{display:flex;align-items:center;gap:18px;height:62px}
.dots{display:flex;gap:7px}
.dots span{width:12px;height:12px;border-radius:50%;display:block}
.dots .r{background:#ff5f57}.dots .y{background:#febc2e}.dots .g{background:#28c840}
.brand{font-family:var(--f-display);font-weight:700;font-size:1.12rem;letter-spacing:-.01em;white-space:nowrap;color:var(--text)}
.brand:hover{color:var(--text)}
.brand .dim{color:var(--faint);font-family:var(--f-mono);font-size:.82em;font-weight:500}
.brand .cur{color:var(--cyan);animation:blink 1.05s steps(1) infinite}
.brand-tag{font-family:var(--f-mono);font-size:.7rem;color:var(--faint);margin-left:2px;display:none}

.main-nav{margin-left:auto}
.main-nav ul{list-style:none;display:flex;gap:4px;margin:0;padding:0}
.main-nav li{position:relative}
.main-nav a{font-family:var(--f-mono);font-size:.82rem;color:var(--muted);padding:8px 12px;border-radius:8px;
  transition:color .18s,background .18s;display:inline-block}
.main-nav a::before{content:"~/";color:var(--cyan);opacity:.65}
.main-nav a:hover{color:var(--text);background:var(--surface2)}
.main-nav .current-menu-item>a{color:var(--text)}
.main-nav .sub-menu{position:absolute;top:100%;left:0;background:var(--bg2);border:1px solid var(--line);
  border-radius:10px;padding:6px;min-width:190px;display:none;flex-direction:column;gap:2px;box-shadow:var(--shadow);z-index:60}
.main-nav li:hover>.sub-menu{display:flex}

.tools{display:flex;align-items:center;gap:8px}
.icobtn{width:38px;height:38px;border:1px solid var(--line);background:var(--surface);color:var(--muted);
  border-radius:9px;display:grid;place-items:center;cursor:pointer;transition:.18s;font-size:1rem;line-height:1}
.icobtn:hover{color:var(--text);border-color:var(--cyan)}
.menu-btn{display:none}

@keyframes blink{50%{opacity:0}}

/* header search dropdown */
.hdr-search{display:none;border-bottom:1px solid var(--line);background:var(--bg2)}
.hdr-search.open{display:block}
.hdr-search .wrap{padding:14px 22px}

/* ============================================================
   SEARCH FORM
   ============================================================ */
.search-form{display:flex;gap:8px;font-family:var(--f-mono)}
.search-form .search-field{flex:1;padding:11px 14px;border-radius:10px;border:1px solid var(--line);
  background:var(--bg);color:var(--text);font-family:inherit;font-size:.86rem}
.search-form .search-field:focus{outline:2px solid var(--cyan);outline-offset:1px;border-color:var(--cyan)}
.search-form .search-submit{padding:11px 18px;border:1px solid transparent;border-radius:10px;
  background:var(--cyan);color:#07121f;font-weight:700;font-family:inherit;font-size:.82rem;cursor:pointer;transition:.18s}
.search-form .search-submit:hover{transform:translateY(-1px)}

/* ============================================================
   BUTTONS
   ============================================================ */
.btn{padding:12px 20px;border-radius:10px;font-size:.86rem;font-weight:500;cursor:pointer;border:1px solid transparent;
  transition:.18s;display:inline-flex;gap:9px;align-items:center;font-family:var(--f-mono)}
.btn.primary{background:var(--cyan);color:#07121f;font-weight:700}
.btn.primary:hover{transform:translateY(-2px);box-shadow:0 10px 26px -10px var(--cyan);color:#07121f}
.btn.ghost{border-color:var(--line);color:var(--text);background:var(--surface2)}
.btn.ghost:hover{border-color:var(--violet);color:var(--violet)}

/* ============================================================
   HERO TERMINAL
   ============================================================ */
.hero{padding:clamp(28px,6vw,54px) 0 26px}
.term{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}
.term-top{display:flex;align-items:center;gap:10px;padding:11px 16px;border-bottom:1px solid var(--line);
  background:linear-gradient(var(--surface2),var(--surface))}
.term-top .title{font-family:var(--f-mono);font-size:.78rem;color:var(--faint);margin-left:6px}
.term-body{padding:30px 30px 34px;font-family:var(--f-mono)}
.cmdline{font-size:.9rem;color:var(--muted);word-break:break-word}
.cmdline .u{color:var(--green)}.cmdline .path{color:var(--violet)}.cmdline .cmd{color:var(--text)}
.caret{display:inline-block;width:9px;height:1.05em;background:var(--cyan);vertical-align:-2px;margin-left:2px;animation:blink 1.05s steps(1) infinite}
.hero-out{margin-top:22px;font-family:var(--f-display)}
.hero-out h1{font-size:clamp(1.75rem,6.2vw,3.5rem);line-height:1.05;margin:0 0 14px;letter-spacing:-.02em;font-weight:700;color:var(--text)}
.hero-out h1 .hl{color:var(--cyan)} .hero-out h1 .hl2{color:var(--pink)}
.hero-tag{font-family:var(--f-mono);color:var(--muted);font-size:.9rem;margin:0 0 24px}
.hero-tag b{color:var(--amber);font-weight:500}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px}
.hero-stats{display:flex;flex-wrap:wrap;gap:26px;margin-top:30px;padding-top:24px;border-top:1px dashed var(--line)}
.stat{font-family:var(--f-mono)}
.stat .n{font-family:var(--f-display);font-size:1.6rem;font-weight:700;color:var(--text)}
.stat .n .u2{color:var(--cyan);font-size:1rem}
.stat .l{font-size:.72rem;color:var(--faint);letter-spacing:.03em}
.js-on .hero-out{opacity:0}

/* ============================================================
   SECTION HEADINGS
   ============================================================ */
.sec{padding:clamp(30px,6vw,46px) 0 8px}
.sec-h{display:flex;align-items:baseline;gap:14px;margin-bottom:22px;flex-wrap:wrap}
.sec-h h2{font-family:var(--f-display);font-size:1.5rem;margin:0;font-weight:700;letter-spacing:-.01em;color:var(--text)}
.sec-h .cmt{font-family:var(--f-mono);font-size:.8rem;color:var(--faint)}
.sec-h .cmt::before{content:"// ";color:var(--green)}

/* ============================================================
   THUMBNAILS (css code-cards + featured image fallback)
   ============================================================ */
.thumb{position:relative;display:grid;place-items:center;overflow:hidden;background:#101733}
.thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.thumb .glyph{font-family:var(--f-mono);font-weight:700;color:#0a1120;opacity:.92;z-index:2;text-shadow:0 2px 0 rgba(255,255,255,.18)}
.thumb .code{position:absolute;inset:0;font-family:var(--f-mono);font-size:.62rem;line-height:1.5;color:rgba(10,17,32,.28);
  padding:14px 16px;overflow:hidden;z-index:1;white-space:pre-wrap}
.t-sql{background:linear-gradient(135deg,#3fe0d0,#2bb3d6)}
.t-ws1{background:linear-gradient(135deg,#a78bfa,#7c6cf0)}
.t-intune{background:linear-gradient(135deg,#5aa9ff,#4f7cf0)}
.t-ios{background:linear-gradient(135deg,#ff6b9d,#ff8f6b)}
.t-bb{background:linear-gradient(135deg,#ffcf5c,#ff9f45)}
.t-mdm{background:linear-gradient(135deg,#5ad19a,#33b6c9)}
.t-default{background:linear-gradient(135deg,#3fe0d0,#a78bfa)}

/* ============================================================
   FEATURED POST
   ============================================================ */
.feat{display:grid;grid-template-columns:1.05fr 1fr;border:1px solid var(--line);border-radius:16px;overflow:hidden;
  background:var(--surface);box-shadow:var(--shadow)}
.feat .thumb{min-height:280px}
.feat .glyph{font-size:3.6rem}
.feat .body{padding:32px 34px;display:flex;flex-direction:column;justify-content:center}
.pin{font-family:var(--f-mono);font-size:.72rem;color:var(--amber);margin-bottom:12px;display:flex;align-items:center;gap:7px}
.pin::before{content:"★"}
.feat h3{font-family:var(--f-display);font-size:1.7rem;line-height:1.16;margin:6px 0 14px;font-weight:700;letter-spacing:-.01em}
.feat h3 a{color:var(--text)} .feat h3 a:hover{color:var(--cyan)}
.feat p{color:var(--muted);margin:0 0 20px;font-size:.98rem}
.feat .meta{font-family:var(--f-mono);font-size:.76rem;color:var(--faint);display:flex;gap:16px;flex-wrap:wrap}

/* ============================================================
   CATEGORY FILTER PILLS
   ============================================================ */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 26px;font-family:var(--f-mono)}
.pill{padding:7px 14px;border:1px solid var(--line);border-radius:999px;font-size:.76rem;color:var(--muted);cursor:pointer;
  transition:.16s;background:var(--surface);display:inline-block}
.pill:hover{color:var(--text);border-color:var(--muted)}
.pill.active{background:var(--cyan);color:#07121f;border-color:var(--cyan);font-weight:700}
.pill::before{content:"#";color:var(--cyan);opacity:.7;margin-right:2px}
.pill.all::before{content:"*"}
.pill.active::before{color:#07121f;opacity:1}

/* ============================================================
   POST GRID / CARDS
   ============================================================ */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden;
  display:flex;flex-direction:column;transition:border-color .2s,transform .2s}
.card:hover{border-color:var(--cyan);transform:translateY(-3px)}
.card .thumb{height:132px}
.card .glyph{font-size:2.4rem}
.card .c-body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.cats{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.cat{font-family:var(--f-mono);font-size:.68rem;padding:2px 8px;border-radius:6px;
  color:var(--cyan);background:color-mix(in srgb,var(--cyan) 12%,transparent)}
.cat:hover{color:var(--cyan)}
.cat.c-violet{color:var(--violet);background:color-mix(in srgb,var(--violet) 14%,transparent)}
.cat.c-pink{color:var(--pink);background:color-mix(in srgb,var(--pink) 14%,transparent)}
.cat.c-amber{color:var(--amber);background:color-mix(in srgb,var(--amber) 14%,transparent)}
.cat.c-green{color:var(--green);background:color-mix(in srgb,var(--green) 14%,transparent)}
.cat::before{content:"#"}
.card h4{font-family:var(--f-display);font-size:1.02rem;line-height:1.28;margin:0 0 10px;font-weight:600}
.card h4 a{color:var(--text)} .card:hover h4 a{color:var(--cyan)}
.card .m{margin-top:auto;font-family:var(--f-mono);font-size:.72rem;color:var(--faint);display:flex;gap:12px;flex-wrap:wrap}

/* ============================================================
   TAGS TERMINAL
   ============================================================ */
.grep{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:22px 24px 24px;box-shadow:var(--shadow)}
.grep .line{font-family:var(--f-mono);font-size:.85rem;color:var(--muted);margin-bottom:16px}
.grep .line .u{color:var(--green)}.grep .line .a{color:var(--amber)}
.tagcloud{display:flex;flex-wrap:wrap;gap:8px}
.tagcloud a,.tg{font-family:var(--f-mono)!important;font-size:.76rem!important;color:var(--muted);
  border:1px solid var(--line-soft);padding:5px 11px;border-radius:8px;transition:.16s;background:var(--bg2)}
.tagcloud a:hover,.tg:hover{color:var(--cyan);border-color:var(--cyan);transform:translateY(-1px)}
.tagcloud a::before,.tg::before{content:"#";color:var(--violet)}

/* ============================================================
   NEWSLETTER
   ============================================================ */
.news{margin-top:44px;border:1px solid var(--line);border-radius:16px;
  background:linear-gradient(160deg,var(--surface2),var(--surface));padding:34px 32px;box-shadow:var(--shadow)}
.news .cmt{font-family:var(--f-mono);font-size:.82rem;color:var(--green);margin-bottom:10px}
.news h3{font-family:var(--f-display);font-size:1.5rem;margin:0 0 8px;font-weight:700;color:var(--text)}
.news p{color:var(--muted);margin:0 0 20px;max-width:52ch}
.news .form{display:flex;gap:10px;flex-wrap:wrap;font-family:var(--f-mono)}
.news input{flex:1;min-width:240px;padding:13px 16px;border-radius:10px;border:1px solid var(--line);
  background:var(--bg);color:var(--text);font-family:inherit;font-size:.86rem}
.news input:focus{outline:2px solid var(--cyan);outline-offset:1px;border-color:var(--cyan)}

/* ============================================================
   SINGLE / PAGE — reading layout
   ============================================================ */
.content-area{padding:40px 0}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px}
.layout.no-sidebar{grid-template-columns:minmax(0,860px);justify-content:center}

.article-head{margin-bottom:26px}
.article-head .crumbs{font-family:var(--f-mono);font-size:.76rem;color:var(--faint);margin-bottom:14px}
.article-head .crumbs a{color:var(--muted)} .article-head .crumbs a:hover{color:var(--cyan)}
.article-head h1{font-family:var(--f-display);font-size:clamp(1.7rem,3.6vw,2.6rem);line-height:1.12;
  letter-spacing:-.02em;margin:6px 0 16px;color:var(--text)}
.article-head .meta{font-family:var(--f-mono);font-size:.78rem;color:var(--faint);display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.article-hero{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:24px 0 30px;box-shadow:var(--shadow)}
.article-hero.thumb{height:340px}
.article-hero .glyph{font-size:4rem}

.entry-content{font-size:1.04rem;line-height:1.8;color:var(--text);max-width:74ch}
.entry-content > *{margin:0 0 1.15em}
.entry-content h2{font-family:var(--f-display);font-size:1.5rem;margin:1.8em 0 .6em;color:var(--text);letter-spacing:-.01em;
  padding-left:14px;border-left:3px solid var(--cyan)}
.entry-content h3{font-family:var(--f-display);font-size:1.22rem;margin:1.5em 0 .5em;color:var(--text)}
.entry-content h4{font-family:var(--f-display);font-size:1.05rem;margin:1.3em 0 .5em;color:var(--violet)}
.entry-content a{color:var(--cyan);text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--cyan) 45%,transparent)}
.entry-content a:hover{color:var(--violet);text-decoration-color:var(--violet)}
.entry-content strong{color:var(--text)}
.entry-content ul,.entry-content ol{padding-left:1.4em}
.entry-content li{margin:.4em 0}
.entry-content ul li::marker{color:var(--cyan)}
.entry-content ol li::marker{color:var(--violet);font-family:var(--f-mono)}
.entry-content blockquote{border-left:3px solid var(--violet);margin:1.5em 0;padding:.4em 0 .4em 20px;
  color:var(--muted);font-style:italic;background:color-mix(in srgb,var(--violet) 6%,transparent);border-radius:0 8px 8px 0}
.entry-content blockquote p:last-child{margin-bottom:0}
.entry-content img,.entry-content .wp-block-image{border-radius:12px;overflow:hidden}
.entry-content hr{border:none;border-top:1px dashed var(--line);margin:2em 0}
.entry-content table{width:100%;border-collapse:collapse;font-size:.92rem;display:block;overflow-x:auto}
.entry-content th,.entry-content td{border:1px solid var(--line);padding:9px 12px;text-align:left}
.entry-content th{background:var(--surface2);font-family:var(--f-mono);font-size:.82rem;color:var(--text)}

/* inline + block code — the dev-blog essential */
.entry-content code{font-family:var(--f-mono);font-size:.86em;background:var(--surface2);
  color:var(--amber);padding:.15em .4em;border-radius:5px;border:1px solid var(--line-soft)}
.entry-content pre,.entry-content .wp-block-code{position:relative;background:#0a0f1e;border:1px solid var(--line);
  border-radius:12px;padding:42px 18px 18px;overflow-x:auto;font-family:var(--f-mono);font-size:.85rem;line-height:1.6;
  color:#d7e0f5;box-shadow:var(--shadow)}
:root[data-theme="light"] .entry-content pre,:root[data-theme="light"] .entry-content .wp-block-code{background:#0e1428;color:#d7e0f5}
.entry-content pre code,.entry-content .wp-block-code code{background:none;border:none;color:inherit;padding:0;font-size:1em}
.entry-content pre::before,.entry-content .wp-block-code::before{content:"● ● ●";position:absolute;top:12px;left:16px;
  font-size:.7rem;letter-spacing:3px;color:#ff5f57}
.entry-content pre::after,.entry-content .wp-block-code::after{content:"shell";position:absolute;top:11px;right:16px;
  font-size:.68rem;color:var(--faint)}

/* footer of article: tags + share + author */
.article-foot{margin-top:34px;padding-top:26px;border-top:1px dashed var(--line)}
.article-foot .tag-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.author-box{display:flex;gap:16px;align-items:flex-start;border:1px solid var(--line);border-radius:14px;
  padding:20px 22px;background:var(--surface)}
.author-box .ab-glyph{width:54px;height:54px;border-radius:12px;background:linear-gradient(135deg,var(--cyan),var(--violet));
  display:grid;place-items:center;font-family:var(--f-mono);font-weight:700;color:#07121f;font-size:1.1rem;flex-shrink:0}
.author-box .ab-name{font-family:var(--f-display);font-weight:700;color:var(--text);margin-bottom:2px}
.author-box .ab-bio{color:var(--muted);font-size:.9rem}

/* post navigation (prev/next) */
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:30px}
.post-nav a{border:1px solid var(--line);border-radius:12px;padding:16px 18px;background:var(--surface);display:block;transition:.18s}
.post-nav a:hover{border-color:var(--cyan)}
.post-nav .dir{font-family:var(--f-mono);font-size:.72rem;color:var(--faint);margin-bottom:6px}
.post-nav .t{font-family:var(--f-display);color:var(--text);font-size:.98rem;line-height:1.3}
.post-nav .next{text-align:right}

/* ============================================================
   SIDEBAR / WIDGETS
   ============================================================ */
.sidebar .widget{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:20px 22px;margin-bottom:20px}
.sidebar .widget-title{font-family:var(--f-display);font-size:1.05rem;font-weight:700;color:var(--text);margin:0 0 14px;
  display:flex;align-items:center;gap:8px}
.sidebar .widget-title::before{content:"$";font-family:var(--f-mono);color:var(--cyan)}
.sidebar ul{list-style:none;margin:0;padding:0}
.sidebar li{padding:6px 0;border-bottom:1px solid var(--line-soft);font-family:var(--f-mono);font-size:.84rem}
.sidebar li:last-child{border-bottom:none}
.sidebar a{color:var(--muted)} .sidebar a:hover{color:var(--cyan)}

/* ============================================================
   PAGINATION
   ============================================================ */
.pagination{margin:40px 0 10px;display:flex;justify-content:center}
.pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap;font-family:var(--f-mono)}
.pagination .page-numbers{border:1px solid var(--line);background:var(--surface);color:var(--muted);
  padding:9px 14px;border-radius:9px;font-size:.82rem;transition:.16s}
.pagination a.page-numbers:hover{border-color:var(--cyan);color:var(--cyan)}
.pagination .page-numbers.current{background:var(--cyan);color:#07121f;border-color:var(--cyan);font-weight:700}

/* ============================================================
   ARCHIVE HEADER
   ============================================================ */
.archive-head{padding:44px 0 4px}
.archive-head .kicker{font-family:var(--f-mono);font-size:.8rem;color:var(--green);margin-bottom:8px}
.archive-head .kicker::before{content:"$ "}
.archive-head h1{font-family:var(--f-display);font-size:clamp(1.8rem,4vw,2.6rem);margin:0;color:var(--text);letter-spacing:-.02em}
.archive-head .desc{color:var(--muted);margin-top:10px;max-width:60ch}

/* ============================================================
   404
   ============================================================ */
.err404{padding:70px 0}
.err404 .term-body{font-size:.95rem}
.err404 .big{font-family:var(--f-display);font-size:clamp(3rem,10vw,6rem);font-weight:700;color:var(--pink);margin:10px 0 6px;line-height:1}
.err404 .line{font-family:var(--f-mono);color:var(--muted);margin:4px 0}
.err404 .line .err{color:var(--pink)}

/* ============================================================
   COMMENTS
   ============================================================ */
.comments-area{margin-top:44px;border-top:1px dashed var(--line);padding-top:30px}
.comments-title{font-family:var(--f-display);font-size:1.3rem;color:var(--text);margin:0 0 20px}
.comment-list{list-style:none;margin:0;padding:0}
.comment-list li{margin-bottom:18px}
.comment-body{border:1px solid var(--line);border-radius:12px;padding:16px 18px;background:var(--surface)}
.comment-author{font-family:var(--f-mono);font-size:.82rem;color:var(--cyan)}
.comment-meta{font-family:var(--f-mono);font-size:.72rem;color:var(--faint);margin-bottom:8px}
.comment-list .children{list-style:none;margin:14px 0 0 26px;padding-left:16px;border-left:1px solid var(--line)}
.comment-respond{margin-top:24px;border:1px solid var(--line);border-radius:14px;padding:22px 24px;background:var(--surface)}
.comment-respond label{display:block;font-family:var(--f-mono);font-size:.78rem;color:var(--muted);margin:12px 0 6px}
.comment-respond input[type=text],.comment-respond input[type=email],.comment-respond input[type=url],.comment-respond textarea{
  width:100%;padding:11px 14px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--text);
  font-family:var(--f-mono);font-size:.86rem}
.comment-respond .submit{margin-top:16px;padding:12px 22px;border:none;border-radius:10px;background:var(--cyan);
  color:#07121f;font-family:var(--f-mono);font-weight:700;cursor:pointer}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{margin-top:56px;border-top:1px solid var(--line);padding:34px 0 46px}
.foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-family:var(--f-mono);font-size:.8rem;color:var(--faint)}
.foot a{color:var(--muted)} .foot a:hover{color:var(--cyan)}
.foot .made b{color:var(--pink)}
.foot .foot-links{display:flex;gap:8px;flex-wrap:wrap;align-items:center}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:980px){
  .layout{grid-template-columns:1fr}
  .sidebar{margin-top:20px}
}
@media(max-width:900px){
  .feat{grid-template-columns:1fr}
  .feat .thumb{min-height:200px}
  .grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
  .main-nav,.bar-inner .dots{display:none}
  .menu-btn{display:grid}
  .grid{grid-template-columns:1fr}
  .term-body{padding:22px 18px 26px}
  .feat .body{padding:24px 22px}
  .feat .thumb{min-height:170px}
  .post-nav{grid-template-columns:1fr}
  /* even 2-col grid beats ragged flex-wrap on phones */
  .hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px;margin-top:24px;padding-top:20px}
  .stat .n{font-size:1.4rem}
  .card .thumb{height:160px}
  .content-area{padding:32px 6px}   /* extra reading gutter on top of .wrap */
  .main-nav.open{display:block;position:absolute;top:62px;left:0;right:0;background:var(--bg2);
    border-bottom:1px solid var(--line);padding:12px 22px;z-index:60}
  .main-nav.open ul{flex-direction:column;gap:2px}
}
@media(max-width:480px){
  .wrap{padding:0 20px}
  .content-area{padding:28px 8px}   /* -> ~28px effective side gutter in posts */
  .term-body{padding:20px 16px 24px}
  .cmdline{font-size:.82rem}
  .term-top .title{font-size:.72rem}
  .sec-h{gap:8px}
  .sec-h h2{font-size:1.3rem}
  .feat h3{font-size:1.4rem}
  .feat .body{padding:22px 20px}
  .hero-cta{gap:8px}
  .hero-cta .btn{flex:1 1 0;justify-content:center;padding:12px 14px}
  .news{padding:26px 20px}
  .news input{min-width:0}            /* was 240px -> caused overflow on narrow screens */
  .grep{padding:18px 18px 20px}
  .article-head .meta{gap:10px}
}
@media(prefers-reduced-motion:reduce){
  .caret,.brand .cur{animation:none}
  *{transition:none!important;scroll-behavior:auto}
}
