:root {
    --primary_color: #2563EB;
    --text_color: #1f2937;
    --bg_color: #ffffff;
    --header_bg: #ffffff;
    --font_family: 'Inter', sans-serif;
}
.theme-root {
    font-family: var(--font_family);
    color: var(--text_color);
    background: var(--bg_color);
    margin: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
.theme-root * { box-sizing: border-box; }
.th-container { max-width: 1140px; margin: 0 auto; padding: 0 20px; width: 100%; }

.th-header { background: var(--header_bg); border-bottom: 1px solid rgba(0,0,0,.07); }
.th-header.th-sticky { position: sticky; top: 0; z-index: 100; }
.th-header-inner { display: flex; align-items: center; gap: 24px; height: 68px; }
.th-brand { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--text_color); font-weight: 700; font-size: 1.2rem; }
.th-logo { height: 34px; width: auto; }
.th-nav { display: flex; gap: 6px; flex: 1; flex-wrap: wrap; }
.th-nav-link { padding: 8px 14px; border-radius: 8px; text-decoration: none; color: var(--text_color); font-weight: 500; transition: .2s; }
.th-nav-link:hover { background: color-mix(in srgb, var(--primary_color) 12%, #fff); color: var(--primary_color); }
.th-btn { background: var(--primary_color); color: #fff; padding: 10px 20px; border-radius: 8px; text-decoration: none; font-weight: 600; transition: .2s; white-space: nowrap; }
.th-btn:hover { opacity: .9; }

.th-main { flex: 1; }

.th-footer { background: #111827; color: #e5e7eb; padding: 50px 0 0; margin-top: 40px; }
.th-footer-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 40px; }
.th-footer h3 { color: #fff; margin: 0 0 12px; }
.th-footer h4 { color: #fff; margin: 0 0 14px; }
.th-footer p { color: #9ca3af; }
.th-footer-links { list-style: none; padding: 0; margin: 0; }
.th-footer-links li { margin: 8px 0; }
.th-footer-links a { color: #cbd5e1; text-decoration: none; }
.th-footer-links a:hover { color: var(--primary_color); }
.th-social { display: flex; gap: 10px; margin-top: 14px; }
.th-social-link { width: 38px; height: 38px; border-radius: 50%; background: rgba(255,255,255,.1); display: flex; align-items: center; justify-content: center; color: #fff; text-decoration: none; transition: .2s; }
.th-social-link:hover { background: var(--primary_color); }
.th-footer-bottom { text-align: center; padding: 18px 0; margin-top: 34px; border-top: 1px solid rgba(255,255,255,.1); color: #9ca3af; font-size: .9rem; }

.theme-dark {
    --text_color: #e5e7eb;
    --bg_color: #0f172a;
    --header_bg: #111827;
}
.theme-dark .th-header { border-color: rgba(255,255,255,.08); }
.theme-dark .th-nav-link:hover { background: color-mix(in srgb, var(--primary_color) 25%, #1e293b); }

@media (max-width: 768px) {
    .th-header-inner { flex-wrap: wrap; height: auto; padding-top: 12px; padding-bottom: 12px; }
    .th-nav { order: 3; width: 100%; }
    .th-footer-grid { grid-template-columns: 1fr; }
}
