/* LinuxToday.net - Optimized CSS for 100/100 PageSpeed */
/* Reset & Base Styles */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;line-height:1.6;color:#1a1a1a;background:#fff;overflow-x:hidden}

/* CSS Variables for Design System */
:root{
--primary:#0066cc;
--primary-dark:#004499;
--secondary:#00b386;
--text-primary:#1a1a1a;
--text-secondary:#4a4a4a;
--text-muted:#767676;
--bg-white:#fff;
--bg-gray:#f5f5f5;
--bg-dark:#1a1a1a;
--border-color:#e0e0e0;
--code-bg:#f7f7f7;
--warning:#ff6b35;
--success:#00b386;
--spacing-xs:0.25rem;
--spacing-sm:0.5rem;
--spacing-md:1rem;
--spacing-lg:1.5rem;
--spacing-xl:2rem;
--spacing-2xl:3rem;
--spacing-3xl:4rem;
--radius-sm:4px;
--radius-md:8px;
--radius-lg:12px;
--shadow-sm:0 1px 3px rgba(0,0,0,0.1);
--shadow-md:0 4px 6px rgba(0,0,0,0.1);
--shadow-lg:0 10px 20px rgba(0,0,0,0.15);
--max-width:1200px;
--header-height:64px;
}

/* Typography */
h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;margin-bottom:var(--spacing-md);color:var(--text-primary)}
h1{font-size:2.5rem}
h2{font-size:2rem}
h3{font-size:1.5rem}
h4{font-size:1.25rem}
h5{font-size:1.125rem}
h6{font-size:1rem}
p{margin-bottom:var(--spacing-md)}
a{color:var(--primary);text-decoration:none;transition:color 0.2s ease}
a:hover{color:var(--primary-dark)}
strong{font-weight:600}
em{font-style:italic}

/* Layout */
.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-md)}
.wrapper{min-height:100vh;display:flex;flex-direction:column}
main{flex:1}

/* Header */
.header{background:var(--bg-white);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100;height:var(--header-height)}
.header-content{display:flex;align-items:center;justify-content:space-between;height:100%}
.logo{font-size:1.5rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:var(--spacing-sm)}
.logo-icon{width:32px;height:32px}

/* Navigation */
.nav{display:flex;gap:var(--spacing-lg);align-items:center}
.nav a{color:var(--text-secondary);font-weight:500;font-size:0.9375rem;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);transition:all 0.2s ease}
.nav a:hover{color:var(--primary);background:var(--bg-gray)}
.nav a.active{color:var(--primary);background:rgba(0,102,204,0.1)}

/* Mobile Menu */
.mobile-menu-btn{display:none;background:none;border:none;cursor:pointer;padding:var(--spacing-sm);color:var(--text-primary)}
.mobile-menu-btn svg{width:24px;height:24px}
.mobile-nav{display:none;position:absolute;top:var(--header-height);left:0;right:0;background:var(--bg-white);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-md)}
.mobile-nav.active{display:block}
.mobile-nav a{display:block;padding:var(--spacing-md);border-bottom:1px solid var(--border-color);color:var(--text-secondary)}
.mobile-nav a:hover{background:var(--bg-gray);color:var(--primary)}

/* Search */
.search-container{position:relative;flex:1;max-width:400px}
.search-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);padding-left:2.5rem;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:0.9375rem;transition:all 0.2s ease}
.search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(0,102,204,0.1)}
.search-icon{position:absolute;left:var(--spacing-md);top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}
.search-results{position:absolute;top:calc(100% + var(--spacing-sm));left:0;right:0;background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-height:400px;overflow-y:auto;display:none}
.search-results.active{display:block}
.search-result-item{padding:var(--spacing-md);border-bottom:1px solid var(--border-color);cursor:pointer;transition:background 0.2s ease}
.search-result-item:hover{background:var(--bg-gray)}
.search-result-item:last-child{border-bottom:none}
.search-result-title{font-weight:600;margin-bottom:var(--spacing-xs);color:var(--text-primary)}
.search-result-excerpt{font-size:0.875rem;color:var(--text-muted)}

/* Hero Section */
.hero{background:linear-gradient(135deg,#0066cc 0%,#004499 100%);color:#fff;padding:var(--spacing-3xl) 0}
.hero-content{text-align:center;max-width:800px;margin:0 auto}
.hero h1{color:#fff;font-size:3rem;margin-bottom:var(--spacing-md)}
.hero p{font-size:1.25rem;opacity:0.95;margin-bottom:var(--spacing-xl)}
.hero-stats{display:flex;justify-content:center;gap:var(--spacing-2xl);margin-top:var(--spacing-2xl)}
.hero-stat{text-align:center}
.hero-stat-number{font-size:2rem;font-weight:700;display:block}
.hero-stat-label{font-size:0.875rem;opacity:0.9;text-transform:uppercase;letter-spacing:0.5px}

/* Buttons */
.btn{display:inline-block;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-weight:600;text-align:center;cursor:pointer;transition:all 0.2s ease;border:none;font-size:1rem}
.btn-primary{background:var(--primary);color:#fff}
.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}
.btn-secondary{background:var(--bg-gray);color:var(--text-primary)}
.btn-secondary:hover{background:#e5e5e5}
.btn-outline{background:transparent;border:2px solid var(--primary);color:var(--primary)}
.btn-outline:hover{background:var(--primary);color:#fff}

/* Cards */
.card{background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:all 0.2s ease}
.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.card-title{font-size:1.25rem;font-weight:600;margin-bottom:var(--spacing-sm);color:var(--text-primary)}
.card-meta{font-size:0.875rem;color:var(--text-muted);margin-bottom:var(--spacing-md);display:flex;gap:var(--spacing-md);align-items:center}
.card-excerpt{color:var(--text-secondary);margin-bottom:var(--spacing-md)}
.card-link{color:var(--primary);font-weight:600;display:inline-flex;align-items:center;gap:var(--spacing-xs)}

/* Grid Layouts */
.grid{display:grid;gap:var(--spacing-xl)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}

/* Section */
.section{padding:var(--spacing-3xl) 0}
.section-header{text-align:center;margin-bottom:var(--spacing-2xl)}
.section-title{font-size:2.5rem;margin-bottom:var(--spacing-md)}
.section-subtitle{font-size:1.125rem;color:var(--text-secondary);max-width:700px;margin:0 auto}

/* Content Boxes */
.tldr-box,.info-box,.warning-box,.success-box{padding:var(--spacing-lg);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);border-left:4px solid}
.tldr-box{background:#e6f2ff;border-color:var(--primary)}
.info-box{background:#e6f7f4;border-color:var(--secondary)}
.warning-box{background:#fff3e6;border-color:var(--warning)}
.success-box{background:#e6f7f1;border-color:var(--success)}
.box-title{font-weight:700;margin-bottom:var(--spacing-sm);display:flex;align-items:center;gap:var(--spacing-sm)}

/* Code Blocks */
code{font-family:'Courier New',Courier,monospace;background:var(--code-bg);padding:0.125rem 0.375rem;border-radius:var(--radius-sm);font-size:0.9em;color:#c7254e}
pre{background:var(--code-bg);padding:var(--spacing-lg);border-radius:var(--radius-md);overflow-x:auto;margin-bottom:var(--spacing-lg);border:1px solid var(--border-color);position:relative}
pre code{background:none;padding:0;color:var(--text-primary);display:block}
.code-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm);font-size:0.875rem;color:var(--text-muted)}
.copy-btn{background:var(--primary);color:#fff;border:none;padding:0.25rem 0.75rem;border-radius:var(--radius-sm);cursor:pointer;font-size:0.75rem;font-weight:600;transition:all 0.2s ease}
.copy-btn:hover{background:var(--primary-dark)}
.copy-btn.copied{background:var(--success)}

/* Table of Contents */
.toc{background:var(--bg-gray);padding:var(--spacing-lg);border-radius:var(--radius-md);margin-bottom:var(--spacing-xl)}
.toc-title{font-weight:700;margin-bottom:var(--spacing-md)}
.toc ul{list-style:none}
.toc li{margin-bottom:var(--spacing-sm)}
.toc a{color:var(--text-secondary);display:block;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);transition:all 0.2s ease}
.toc a:hover{background:var(--bg-white);color:var(--primary)}

/* Breadcrumbs */
.breadcrumb{display:flex;gap:var(--spacing-sm);align-items:center;font-size:0.875rem;margin-bottom:var(--spacing-lg);color:var(--text-muted)}
.breadcrumb a{color:var(--text-muted)}
.breadcrumb a:hover{color:var(--primary)}
.breadcrumb-separator{color:var(--text-muted)}

/* Tags */
.tags{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}
.tag{display:inline-block;padding:0.25rem 0.75rem;background:var(--bg-gray);color:var(--text-secondary);border-radius:var(--radius-md);font-size:0.875rem;transition:all 0.2s ease}
.tag:hover{background:#e0e0e0;color:var(--text-primary)}

/* Article Meta */
.article-meta{display:flex;gap:var(--spacing-lg);align-items:center;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--border-color);font-size:0.875rem;color:var(--text-muted)}
.article-meta-item{display:flex;align-items:center;gap:var(--spacing-xs)}

/* Sidebar */
.content-with-sidebar{display:grid;grid-template-columns:1fr 300px;gap:var(--spacing-2xl)}
.sidebar{position:sticky;top:calc(var(--header-height) + var(--spacing-lg));align-self:start}
.sidebar-section{margin-bottom:var(--spacing-xl)}
.sidebar-title{font-weight:700;margin-bottom:var(--spacing-md);font-size:1.125rem}
.sidebar-list{list-style:none}
.sidebar-list li{margin-bottom:var(--spacing-sm)}
.sidebar-list a{color:var(--text-secondary);display:block;padding:var(--spacing-sm);border-radius:var(--radius-sm);transition:all 0.2s ease}
.sidebar-list a:hover{background:var(--bg-gray);color:var(--primary)}

/* Footer */
.footer{background:var(--bg-dark);color:#fff;padding:var(--spacing-2xl) 0;margin-top:var(--spacing-3xl)}
.footer-content{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-2xl);margin-bottom:var(--spacing-2xl)}
.footer-section h4{color:#fff;margin-bottom:var(--spacing-md)}
.footer-links{list-style:none}
.footer-links li{margin-bottom:var(--spacing-sm)}
.footer-links a{color:rgba(255,255,255,0.8);transition:color 0.2s ease}
.footer-links a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.1);padding-top:var(--spacing-lg);text-align:center;color:rgba(255,255,255,0.7);font-size:0.875rem}

/* Responsive */
@media (max-width:768px){
html{font-size:14px}
h1{font-size:2rem}
h2{font-size:1.75rem}
h3{font-size:1.375rem}
.nav{display:none}
.mobile-menu-btn{display:block}
.search-container{max-width:none;order:-1;width:100%}
.header-content{flex-wrap:wrap;gap:var(--spacing-md)}
.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
.content-with-sidebar{grid-template-columns:1fr}
.sidebar{position:static}
.footer-content{grid-template-columns:1fr}
.hero h1{font-size:2rem}
.hero p{font-size:1rem}
.hero-stats{flex-direction:column;gap:var(--spacing-md)}
}

/* Performance Optimizations */
img{max-width:100%;height:auto;display:block}
.lazy{opacity:0;transition:opacity 0.3s}
.lazy.loaded{opacity:1}

/* Accessibility */
:focus{outline:2px solid var(--primary);outline-offset:2px}
.skip-link{position:absolute;top:-40px;left:0;background:var(--primary);color:#fff;padding:var(--spacing-sm) var(--spacing-md);z-index:1000}
.skip-link:focus{top:0}

/* Print Styles */
@media print{
.header,.footer,.search-container,.mobile-menu-btn,.nav{display:none}
body{color:#000;background:#fff}
a{text-decoration:underline}
}
