/*
Theme Name: Zeexas
Theme URI: https://zeexastech.com
Author: Zeexas Tech
Description: A fast, lightweight blogging theme built for tutorial and how-to sites. Spreadsheet-inspired design, automatic table of contents, reading progress bar, dark mode, code copy buttons, in-article ad slot, related posts and author box. No jQuery, no external fonts.
Version: 1.0.0
Requires at least: 6.3
Tested up to: 6.8
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: zeexas
Tags: blog, two-columns, right-sidebar, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, accessibility-ready
*/

*,*::before,*::after{box-sizing:border-box}
:root{
--bg:#F2F5F8;--surface:#fff;--ink:#13202E;--muted:#556575;--line:#D3DBE3;
--accent:#107C41;--on-accent:#fff;--mark:#FFE45E;--on-mark:#13202E;
--code-bg:#0F1B26;--code-ink:#E4EDF5;--inline-code:#E6ECF2;
--serif:Charter,'Bitstream Charter','Sitka Text',Cambria,Georgia,serif;
--sans:system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,'Liberation Mono',monospace;
--wrap:1120px;
}
[data-theme="dark"]{
--bg:#0E1620;--surface:#14202C;--ink:#E7EEF5;--muted:#9AABBB;--line:#263543;
--accent:#4FD18B;--on-accent:#06150D;--code-bg:#0A121A;--inline-code:#1D2B39;
}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:1rem}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.65 var(--sans);-webkit-font-smoothing:antialiased}
img,video,iframe{max-width:100%;height:auto}
a{color:var(--accent)}
::selection{background:var(--mark);color:var(--on-mark)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 1.25rem}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
.screen-reader-text:focus,.skip-link:focus{background:var(--mark);color:var(--on-mark);clip:auto;clip-path:none;height:auto;width:auto;left:.5rem;top:.5rem;padding:.75rem 1rem;z-index:1000;text-decoration:none;font-weight:700}

/* Progress */
.progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:100}
.progress span{display:block;height:100%;background:var(--accent);transform-origin:left;transform:scaleX(0)}

/* Header */
.site-header{position:relative;background:var(--surface);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;gap:.75rem;min-height:64px}
.brand{margin-right:auto}
.brand-name,.brand .custom-logo-link{font:700 1.4rem/1 var(--serif);color:var(--ink);text-decoration:none;display:inline-block}
.brand .custom-logo{max-height:44px;width:auto}
.menu,.menu ul{list-style:none;margin:0;padding:0}
.primary-nav .menu{display:flex;gap:.25rem}
.primary-nav a{display:block;padding:.5rem .8rem;color:var(--ink);text-decoration:none;font-weight:600;font-size:.95rem}
.primary-nav a:hover{background:var(--mark);color:var(--on-mark)}
.primary-nav .current-menu-item>a,.primary-nav .current-cat>a,.primary-nav .current_page_item>a{box-shadow:inset 0 0 0 2px var(--accent)}
.primary-nav li{position:relative}
.primary-nav .sub-menu{display:none;position:absolute;left:0;top:100%;min-width:200px;background:var(--surface);border:1px solid var(--line);z-index:50}
.primary-nav li:hover>.sub-menu,.primary-nav li:focus-within>.sub-menu{display:block}
.theme-toggle,.nav-toggle{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:4px}
.theme-toggle:hover,.nav-toggle:hover{border-color:var(--accent)}
.theme-icon{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;background:linear-gradient(90deg,currentColor 50%,transparent 50%)}
.nav-toggle{display:none}
.bars{display:block;width:18px;height:2px;background:currentColor;box-shadow:0 6px 0 currentColor,0 -6px 0 currentColor}
@media (max-width:820px){
.theme-toggle{order:2}.nav-toggle{order:3;display:inline-flex}
.primary-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--surface);border-bottom:1px solid var(--line);padding:.5rem 1.25rem 1rem;z-index:60}
.primary-nav.is-open{display:block}
.primary-nav .menu{flex-direction:column}
.primary-nav .sub-menu{display:block;position:static;border:0;padding-left:1rem}
}

/* Hero */
.hero{position:relative;padding:3.5rem 0 3rem;border-bottom:1px solid var(--line);overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:36px 36px;opacity:.55;-webkit-mask-image:linear-gradient(#000 30%,transparent);mask-image:linear-gradient(#000 30%,transparent)}
.hero .wrap{position:relative}
.hero-title{font:700 clamp(2rem,5vw,3.4rem)/1.08 var(--serif);margin:0 0 .75rem;max-width:18ch}
.hero-text{font-size:1.125rem;color:var(--muted);max-width:52ch;margin:0 0 1.75rem}
.hero .formula-bar{max-width:640px}

/* Formula bar search */
.formula-bar{display:flex;border:2px solid var(--ink);background:var(--surface)}
.formula-bar:focus-within{outline:3px solid var(--mark);outline-offset:2px}
.formula-bar .fx{display:flex;align-items:center;padding:0 .9rem;border-right:2px solid var(--ink);font:italic 700 1.1rem var(--serif);color:var(--accent)}
.formula-bar input[type=search]{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;padding:.8rem .9rem}
.formula-bar button{border:0;background:var(--accent);color:var(--on-accent);font:700 .95rem var(--sans);padding:0 1.25rem;cursor:pointer}
.formula-bar button:hover{background:var(--mark);color:var(--on-mark)}
.widget .formula-bar input[type=search]{padding:.6rem .7rem}

/* Layout */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:3rem;padding:2rem 1.25rem 4rem}
@media (max-width:980px){.layout{grid-template-columns:minmax(0,1fr);gap:2rem}}

/* Chips, meta */
.chip{display:inline-block;font:600 .8125rem/1 var(--sans);padding:.3rem .5rem;border:1.5px solid var(--accent);color:var(--accent);text-decoration:none}
.chip:hover{background:var(--accent);color:var(--on-accent)}
.meta{display:flex;flex-wrap:wrap;gap:.2rem 1rem;margin:0;color:var(--muted);font-size:.875rem}

/* Post lists */
.lead{display:grid;grid-template-columns:1.15fr 1fr;gap:2rem;align-items:center;padding-bottom:2rem;border-bottom:1px solid var(--line)}
.lead:not(.has-post-thumbnail){grid-template-columns:1fr}
.lead-thumb img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.lead-title{font:700 clamp(1.5rem,3vw,2.1rem)/1.15 var(--serif);margin:.75rem 0}
.lead-title a,.row-title a,.related a{color:var(--ink);text-decoration:none}
.lead-title a:hover,.row-title a:hover,.related a:hover{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:3px}
.lead-excerpt,.row-excerpt{margin:0 0 .75rem;color:var(--muted)}
.row{display:grid;grid-template-columns:240px 1fr;gap:1.5rem;padding:1.5rem 0;border-top:1px solid var(--line)}
.lead+.row{border-top:0}
.row:not(.has-post-thumbnail){grid-template-columns:1fr}
.row-thumb img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.row-title{font:700 1.35rem/1.25 var(--serif);margin:.5rem 0}
@media (max-width:700px){.lead,.row{grid-template-columns:1fr}}
.archive-head{padding:1.5rem 0 0}
.archive-title{font:700 clamp(1.8rem,4vw,2.6rem)/1.1 var(--serif);margin:.5rem 0}
.archive-desc{color:var(--muted);max-width:60ch}
.archive-head .formula-bar{max-width:560px;margin-top:1rem}

/* Breadcrumbs */
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.25rem .5rem;list-style:none;margin:0;padding:1.25rem 0 0;font-size:.875rem;color:var(--muted)}
.breadcrumbs li+li::before{content:"/";margin-right:.5rem;color:var(--line)}
.breadcrumbs a{color:var(--muted)}
.breadcrumbs li:last-child{max-width:32ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Entry */
.entry-title{font:700 clamp(1.9rem,4vw,2.75rem)/1.15 var(--serif);margin:.9rem 0}
.entry-header{margin-bottom:1.5rem}
.entry-hero{margin:0 0 2rem}.entry-hero img{display:block;width:100%;height:auto}
.entry-content{font-size:1.125rem;line-height:1.7;max-width:70ch}
.entry-content>*{margin-top:0;margin-bottom:1.25em}
.entry-content a{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.entry-content a:hover{background:var(--mark);color:var(--on-mark)}
.entry-content h2,.entry-content h3,.entry-content h4{font-family:var(--serif);line-height:1.25;margin:2em 0 .6em}
.entry-content h2{font-size:1.75rem}.entry-content h3{font-size:1.35rem}.entry-content h4{font-size:1.15rem}
.entry-content ul,.entry-content ol{padding-left:1.5rem}
.entry-content li{margin-bottom:.4em}
.entry-content figure{margin-left:0;margin-right:0}
.entry-content figcaption,.wp-caption-text{color:var(--muted);font-size:.875rem;margin-top:.5rem}
.entry-content hr{border:0;border-top:1px solid var(--line);margin:2.5rem 0}
.entry-content blockquote{margin:1.5rem 0;padding:1rem 1.25rem;background:var(--surface);border-left:4px solid var(--accent)}
.entry-content blockquote>:last-child{margin-bottom:0}
.entry-content pre{background:var(--code-bg);color:var(--code-ink);padding:1rem 1.25rem;overflow:auto;font:.9rem/1.6 var(--mono);border-radius:4px;tab-size:2;margin:0}
.entry-content :not(pre)>code{background:var(--inline-code);padding:.15em .35em;border-radius:3px;font:.88em var(--mono)}
.entry-content kbd{font:.85em var(--mono);padding:.1em .45em;border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;background:var(--surface)}
.code-wrap{position:relative;margin:1.5rem 0}
.copy-code{position:absolute;top:.5rem;right:.5rem;font:600 .75rem var(--sans);padding:.3rem .6rem;border:1px solid #3A4B5B;background:#16293A;color:#E4EDF5;border-radius:3px;cursor:pointer}
.copy-code:hover{background:var(--mark);color:#13202E;border-color:var(--mark)}
.table-wrap,.wp-block-table{overflow-x:auto;margin:1.5rem 0}
.entry-content table{width:100%;border-collapse:collapse;font-size:.95rem}
.entry-content th,.entry-content td{border:1px solid var(--line);padding:.55rem .75rem;text-align:left}
.entry-content th{background:var(--surface)}
.alignleft{float:left;margin:0 1.5rem 1rem 0}.alignright{float:right;margin:0 0 1rem 1.5rem}.aligncenter{display:block;margin-left:auto;margin-right:auto}
.alignwide,.alignfull{max-width:100%}
.wp-caption{max-width:100%}
.wp-block-image img{height:auto}

/* TOC and ad slot */
.toc{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--accent);padding:.75rem 1.25rem;font-size:1rem;margin-bottom:2rem}
.toc summary{font:700 1.05rem var(--serif);cursor:pointer}
.toc ol{margin:.75rem 0 .25rem;padding-left:1.25rem}
.toc li{margin-bottom:.3rem}
.toc .toc-l3{margin-left:1rem;list-style:circle;font-size:.95em}
.toc a{text-decoration:none}
.in-article-ad{margin:2rem 0;text-align:center;overflow:hidden}
.in-article-ad::before{content:"Advertisement";display:block;font-size:.75rem;color:var(--muted);margin-bottom:.35rem}

/* Entry footer */
.entry-footer{margin-top:2.5rem;max-width:70ch}
.tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}
.tags a{padding:.25rem .6rem;border:1px solid var(--line);color:var(--muted);text-decoration:none;font-size:.875rem}
.tags a:hover{border-color:var(--accent);color:var(--accent)}
.share{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:0 0 2rem}
.share-label{font-weight:700;margin-right:.25rem}
.btn{font:600 .9rem var(--sans);padding:.5rem .9rem;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none;cursor:pointer;border-radius:4px}
.btn:hover{border-color:var(--accent);color:var(--accent)}
.author-box{display:flex;gap:1rem;padding:1.25rem 0;border-top:1px solid var(--line)}
.author-box img{border-radius:50%;flex:none}
.author-name{font:700 1.1rem var(--serif);margin:0 0 .25rem}
.author-name a{color:var(--ink);text-decoration:none}
.author-bio{margin:0;color:var(--muted)}
.related{margin-top:2.5rem;padding-top:1.5rem;border-top:2px solid var(--ink)}
.related h2{font:700 1.4rem var(--serif);margin:0 0 .5rem}
.related ul{list-style:none;margin:0;padding:0}
.related li{padding:.9rem 0;border-top:1px solid var(--line)}
.related li:first-child{border-top:0}
.related-title{font:700 1.1rem/1.3 var(--serif);display:block;margin-bottom:.15rem}

/* Sidebar and widgets */
.widget{margin-bottom:2.25rem}
.widget-title{font:700 1.05rem var(--serif);margin:0 0 .75rem;padding-bottom:.5rem;border-bottom:2px solid var(--ink)}
.widget ul{list-style:none;margin:0;padding:0}
.widget li{padding:.4rem 0;border-bottom:1px solid var(--line)}
.widget a{color:var(--ink);text-decoration:none}
.widget a:hover{color:var(--accent);text-decoration:underline}

/* Pagination, forms, comments */
.pagination .nav-links{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2rem}
.page-numbers{padding:.5rem .85rem;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none}
a.page-numbers:hover{border-color:var(--accent);color:var(--accent)}
.page-numbers.current{background:var(--ink);color:var(--bg);border-color:var(--ink)}
input[type=text],input[type=email],input[type=url],input[type=password],textarea,select{width:100%;padding:.65rem .75rem;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;border-radius:4px}
input[type=submit],button[type=submit]:not(.formula-bar button){background:var(--accent);color:var(--on-accent);border:0;padding:.7rem 1.4rem;font:700 1rem var(--sans);cursor:pointer;border-radius:4px}
.comments{margin-top:3rem;max-width:70ch}
.comments-title,.comment-reply-title{font:700 1.4rem var(--serif)}
.comment-list{list-style:none;padding:0}
.comment-list .children{list-style:none;padding-left:1.25rem}
.comment-body{padding:1rem 0;border-top:1px solid var(--line)}
.comment-meta{font-size:.875rem;color:var(--muted)}
.comment-author .avatar{border-radius:50%;float:left;margin-right:.75rem}
.comment-metadata a{color:var(--muted)}
.no-results,.error-404{padding:2rem 0}

/* Footer */
.site-footer{margin-top:2rem;background:var(--surface);border-top:1px solid var(--line);padding:2.5rem 0;color:var(--muted);font-size:.9rem}
.footer-widgets{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;margin-bottom:2rem}
.footer-base{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center}
.footer-base p{margin:0}
.footer-base .menu{display:flex;flex-wrap:wrap;gap:1.25rem}
.footer-base a,.footer-widgets a{color:var(--muted)}
