/*
Theme Name: GeneratePress Child (Darkroom Lime)
Template: generatepress
Description: Bold dark child theme for GeneratePress. Cool off-black ground, one electric lime accent, self-hosted Geist.
Version: 1.0.0
Text Domain: generatepress-child
*/

@font-face{font-family:Geist;src:url(assets/fonts/Geist-Variable.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Geist Mono";src:url(assets/fonts/GeistMono-Variable.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
	--bg:#0D1013;--surface:#161A20;--ink:#ECEFF3;--muted:#9AA3B0;--line:#262D37;
	--accent:#C8F031;--accent-ink:#0D1013;
	--r-sm:10px;--r-md:16px;
	--font-sans:Geist,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
	--font-mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}
html{color-scheme:dark;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:var(--accent);color:var(--accent-ink)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* Type */
body h1,body h2,body h3,body h4,body h5,body h6{font-family:var(--font-sans);font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--ink)}
body h1,body .entry-title{font-size:clamp(34px,5vw,56px);margin-bottom:.4em}
body h2{font-size:clamp(24px,3vw,32px)}
body h3{font-size:22px}
body .entry-content h2{margin-top:2.2em}
body p{margin-bottom:1.25em}
body a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:4px;transition:color .15s ease}
body a:hover{color:var(--accent)}
body code,body kbd,body pre,body samp{font-family:var(--font-mono);background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:.1em .4em;font-size:.9em}
body pre{padding:16px;border-radius:var(--r-sm);overflow:auto}
body blockquote{border-left:3px solid var(--accent);padding:.2em 0 .2em 1.2em;margin-left:0;color:var(--muted);font-style:normal}
body hr{border:0;border-top:1px solid var(--line);background:none;height:0}
body table{border-collapse:collapse}body th,body td{border:0;border-bottom:1px solid var(--line);padding:8px 10px}body th{color:var(--muted);font-weight:600;text-align:left}

/* Readable measure for running text */
.entry-content>:where(p,ul,ol,h2,h3,h4,blockquote,details),.entry-content .pf>:where(p,ul,ol,h2,h3,h4,details){max-width:68ch}

/* Header */
body .site-header{background:var(--bg);border-bottom:1px solid var(--line)}
body .inside-header{padding:14px 24px;align-items:center}
body .site-branding .main-title,body .site-branding .main-title a{font-family:var(--font-mono);font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--ink);text-decoration:none;display:block;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body .site-branding .main-title a:hover{color:var(--accent)}
body .site-description{color:var(--muted)}

/* Navigation */
body .main-navigation,body .main-navigation ul ul,body .main-navigation .main-nav ul li a{background:transparent}
body .main-navigation .main-nav ul li a{color:var(--muted);font-size:15px;font-weight:500;text-decoration:none;line-height:44px;padding:0 14px;transition:color .15s ease}
body .main-navigation .main-nav ul li:hover>a,body .main-navigation .main-nav ul li:focus>a,body .main-navigation .main-nav ul li.sfHover>a{color:var(--ink);background:transparent}
body .main-navigation .main-nav ul li[class*="current-menu-"]>a,body .main-navigation .main-nav ul li.current_page_item>a{color:var(--ink);background-color:transparent;background-image:linear-gradient(var(--accent),var(--accent));background-size:calc(100% - 28px) 2px;background-position:14px calc(100% - 4px);background-repeat:no-repeat}
body .main-navigation ul ul{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;box-shadow:none;padding:6px 0}
body .main-navigation .main-nav ul ul li a{line-height:1.4;padding:10px 18px;background:transparent;color:var(--muted)}
body .main-navigation .main-nav ul ul li:hover>a{color:var(--ink);background:var(--bg)}
body .main-navigation .main-nav ul ul li[class*="current-menu-"]>a{background-image:none;color:var(--accent)}
body .menu-toggle{color:var(--ink);background:transparent}
body .menu-toggle:hover,body .menu-toggle:focus{color:var(--accent);background:transparent}
body .main-navigation.toggled .main-nav>ul{background:var(--surface);border-top:1px solid var(--line)}
body .main-navigation.toggled .main-nav ul li a{line-height:1.4;padding:14px 20px}
body .main-navigation.toggled .main-nav ul li[class*="current-menu-"]>a{background-image:none;color:var(--accent)}

/* Content area */
body .site-content{padding:0 24px}
body.separate-containers .site-main{margin:48px 0}
body.separate-containers .inside-article,body.separate-containers .comments-area,body.separate-containers .page-header,body.separate-containers .paging-navigation{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-md);padding:40px;box-shadow:none}
body.separate-containers .site-main>*{margin-bottom:20px}
body.page.separate-containers .inside-article,body.single.separate-containers .inside-article{background:transparent;border:0;border-radius:0;padding:0}
body .entry-header{margin-bottom:1.2em}
body .entry-title a{color:var(--ink);text-decoration:none}
body .entry-title a:hover{color:var(--accent)}
body .entry-meta,body .entry-meta a,body footer.entry-meta,body .entry-meta .gp-icon{color:var(--muted);font-size:14px}
body .entry-meta a{text-decoration:none}body .entry-meta a:hover{color:var(--ink)}
body .entry-summary,body .entry-content{color:var(--ink)}
body .read-more,body .more-link{color:var(--accent);font-weight:600}

/* Buttons and forms */
html body button:not(.menu-toggle),html body input[type="button"],html body input[type="reset"],html body input[type="submit"],html body a.button,html body a.wp-block-button__link:not(.has-background){background:var(--accent);color:var(--accent-ink);border:0;border-radius:var(--r-sm);padding:11px 20px;font-weight:600;text-decoration:none;cursor:pointer;transition:opacity .15s ease}
html body button:not(.menu-toggle):hover,html body input[type="submit"]:hover,html body a.button:hover,html body a.wp-block-button__link:not(.has-background):hover{background:var(--accent);color:var(--accent-ink);opacity:.88}
body input[type="text"],body input[type="email"],body input[type="url"],body input[type="password"],body input[type="search"],body input[type="tel"],body input[type="number"],body textarea,body select{background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-sm);padding:11px 14px;font-family:var(--font-sans)}
body input::placeholder,body textarea::placeholder{color:var(--muted);opacity:1}
body input:focus,body textarea:focus,body select:focus{background:var(--bg);color:var(--ink);border-color:var(--accent);outline:0}

/* Footer */
body .site-footer{background:var(--surface);border-top:1px solid var(--line);margin-top:48px}
body .site-info{background:transparent;color:var(--muted);font-size:14px;padding:28px 24px}
body .site-info a{color:var(--muted);text-decoration-color:var(--line)}
body .site-info a:hover{color:var(--ink)}

/* Comments */
body .comment-respond,body .comment-content,body .comment-metadata,body .comment-metadata a{color:var(--muted)}
body .comments-title,body .comment-reply-title{font-size:24px}

/* Mobile */
@media (max-width:768px){
	body .site-content{padding:0 16px}
	body.separate-containers .site-main{margin:28px 0}
	body.separate-containers .inside-article,body.separate-containers .comments-area,body.separate-containers .page-header{padding:24px}
	body .site-branding .main-title,body .site-branding .main-title a{max-width:210px}
}
