:root{--bg:#f9f7f3;--surface:#fff;--surface-warm:#fffdf9;--fg:#2b2b28;--muted:#6b6b66;--border:#e5e0d8;--primary:#0b5e5a;--primary-light:#0e7c77;--secondary:#5b8faf;--accent:#f2c94c;--accent-soft:#fff4d6;--primary-soft:#e8f2f1;--font-display:"Urbanist", Georgia, sans-serif;--font-body:"DM Sans", system-ui, sans-serif;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--text-3xl:36px;--text-4xl:48px;--leading-body:1.6;--leading-tight:1.2;--radius:12px;--radius-sm:8px;--radius-lg:20px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--shadow-sm:0 1px 2px #2b2b280a;--shadow:0 2px 8px #2b2b280f;--shadow-md:0 4px 16px #2b2b2814;--shadow-lg:0 8px 32px #2b2b281a;--shadow-glow:0 0 0 4px #0b5e5a1f}.dark{--bg:#1a2322;--surface:#25302f;--surface-warm:#2a3635;--fg:#f0efec;--muted:#9ca8a6;--border:#354341;--primary:#2db3ae;--primary-light:#3dc9c3;--secondary:#7fb3d1;--accent:#f2c94c;--accent-soft:#3a3526;--primary-soft:#1f2e2d}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);line-height:var(--leading-tight);color:var(--fg)}a{color:var(--primary);text-decoration:none;transition:color .15s}a:hover{color:var(--primary-light)}button{font-family:var(--font-body);cursor:pointer;background:0 0;border:none}input{font-family:var(--font-body)}::selection{background:var(--accent-soft);color:var(--fg)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}.btn{align-items:center;gap:var(--space-2);font-family:var(--font-body);cursor:pointer;white-space:nowrap;border:none;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.btn-primary{background:var(--primary);color:#fff;padding:var(--space-3) var(--space-5);border-radius:var(--radius);font-size:var(--text-base);font-weight:600}.btn-primary:hover{background:var(--primary-light);color:#fff}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);border-radius:var(--radius-sm)}.nav-link{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--muted);font-size:var(--text-sm);font-weight:500;text-decoration:none;transition:color .15s,background .15s;display:flex}.nav-link:hover{color:var(--fg);background:var(--primary-soft)}.nav-link.active{color:var(--primary)}.theme-toggle:hover{color:var(--fg);background:var(--primary-soft)}.sidebar-link{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);color:var(--muted);font-size:var(--text-base);font-weight:500;text-decoration:none;transition:color .15s,background .15s;display:flex;position:relative}.sidebar-link:hover{color:var(--fg);background:var(--primary-soft)}.sidebar-link.active{color:var(--primary);background:var(--primary-soft);font-weight:600}.sidebar-link.active:before{content:"";background:var(--primary);border-radius:0 2px 2px 0;width:3px;height:20px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.category-grid{gap:var(--space-5);grid-template-columns:repeat(3,1fr);display:grid}.category-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary);transform:translateY(-2px)}.article-list-item:hover{border-color:var(--primary);box-shadow:var(--shadow)}.search-result-item:hover{background:var(--primary-soft)}.feedback-btn:hover{border-color:var(--primary);background:var(--primary-soft)}@media (width<=1024px){.category-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.desktop-sidebar{display:none!important}.mobile-only{display:flex!important}.desktop-only{display:none!important}.category-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr!important}.cta-banner{text-align:center;flex-direction:column;padding:var(--space-8) var(--space-6)!important}.form-row-2,.contact-info-grid{grid-template-columns:1fr!important}}@media (width<=480px){.footer-grid{grid-template-columns:1fr!important}}
