/* Fabrika Template: midnight-ember */
:root {
    --bg: #0f0f0f; --bg-card: #1a1a1a; --bg-card-hover: #252525;
    --text: #d4d4d4; --text-muted: #888888;
    --accent: #f97316; --accent-hover: #ea580c;
    --accent-glow: rgba(249,115,22,0.15); --border: #2a2a2a;
    --heading-color: #fafafa; --radius: 12px;
    --max-w: 900px;
    --font: 'DM Sans', -apple-system, sans-serif;
    --font-heading: 'Plus Jakarta Sans', 'DM Sans', sans-serif;
}
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:var(--font); background:var(--bg); color:var(--text); line-height:1.7; font-size:16px; -webkit-font-smoothing:antialiased; }
.container { max-width:var(--max-w); margin:0 auto; padding:0 20px; }
.site-header { position:sticky; top:0; z-index:100; background:#0f0f0ff5; -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border-bottom:1px solid var(--border); padding:14px 0; transition:all .3s; }
.site-header .header-inner { position:relative; z-index:2; }
.site-header.scrolled { background:#0f0f0ff2; box-shadow:0 2px 16px rgba(15,15,15,0.5); }
.header-inner { display:flex; align-items:center; justify-content:space-between; max-width:1100px; margin:0 auto; padding:0 20px; gap:12px; }
.logo img { height:36px; display:block; }
.main-nav ul { display:flex; list-style:none; gap:6px; }
.main-nav a { color:var(--text-muted); text-decoration:none; font-size:14px; font-weight:500; padding:6px 12px; border-radius:var(--radius); transition:.2s; }
.main-nav a:hover,.main-nav a.active { color:var(--text); background:var(--bg-card); }
.header-cta { background:var(--accent); color:#fff!important; padding:8px 20px; border-radius:var(--radius); text-decoration:none; font-size:14px; font-weight:600; }
.header-cta:hover { background:var(--accent-hover); }
.header-actions { display:flex; align-items:center; gap:8px; margin-left:auto; }
.menu-toggle { display:none; background:none; border:none; cursor:pointer; padding:8px; position:relative; z-index:101; touch-action:manipulation; }
.menu-toggle svg { pointer-events:none; stroke:var(--text); }
.breadcrumb { padding:20px 0 0; font-size:13px; color:var(--text-muted); }
.breadcrumb a { color:var(--accent); text-decoration:none; }
.breadcrumb span { margin:0 6px; }
.site-main { padding:40px 0 60px; }
.content h1 { font-family:var(--font-heading); font-size:2.2rem; font-weight:800; line-height:1.2; margin-bottom:8px; color:var(--heading-color); }
.article-meta { display:flex; flex-wrap:wrap; gap:6px; align-items:center; font-size:13px; color:var(--text-muted); margin-bottom:24px; padding-bottom:16px; border-bottom:1px solid var(--border); }
.meta-sep { opacity:0.4; }
.meta-author strong { color:var(--text); }
.content h2 { font-family:var(--font-heading); font-size:1.4rem; font-weight:700; margin:40px 0 16px; color:var(--heading-color); padding-bottom:8px; border-bottom:1px solid var(--border); }
.content h3 { font-size:1.1rem; font-weight:600; margin:24px 0 10px; color:var(--text); }
.content p { margin-bottom:16px; }
.content a { color:var(--accent); text-decoration:none; }
.content a:hover { border-bottom:1px solid var(--accent); }
.content ul,.content ol { margin:16px 0; padding-left:24px; }
.content li { margin-bottom:8px; }
.content table { width:100%; border-collapse:collapse; margin:20px 0; background:var(--bg-card); border-radius:var(--radius); overflow:hidden; }
.content th { background:var(--accent); color:#fff; font-weight:600; font-size:14px; padding:12px 16px; text-align:left; }
.content td { padding:12px 16px; border-bottom:1px solid var(--border); font-size:14px; }
.content tr:last-child td { border-bottom:none; }
.content tr:hover td { background:var(--bg-card-hover); }
.page-hero { margin:0 -20px 30px; border-radius:var(--radius); overflow:hidden; }
.page-hero img { width:100%; height:auto; display:block; border-radius:var(--radius); }
.cta-block { margin:40px 0; text-align:center; }
.cta-button,.content .cta-block .cta-button { display:inline-block; background:linear-gradient(135deg,var(--accent),var(--accent-hover)); color:#fff!important; padding:16px 48px; border-radius:50px; font-size:18px; font-weight:700; text-decoration:none; transition:transform .2s,box-shadow .2s; box-shadow:0 4px 24px var(--accent-glow); }
.cta-button:hover { transform:translateY(-2px); box-shadow:0 8px 32px var(--accent-glow); }
.content strong { color:var(--heading-color); }
.scroll-top { position:fixed; bottom:24px; right:24px; width:44px; height:44px; border-radius:50%; background:var(--accent); border:none; cursor:pointer; display:none; align-items:center; justify-content:center; box-shadow:0 4px 16px var(--accent-glow); z-index:50; }
.scroll-top.visible { display:flex; }
.scroll-top svg { fill:none; stroke:#fff; stroke-width:3; stroke-linecap:round; }
.site-footer { background:var(--bg-card); border-top:1px solid var(--border); padding:48px 0 24px; }
.site-footer .container { max-width:1100px; }
.footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:40px; margin-bottom:40px; }
.footer-brand p { color:var(--text-muted); font-size:14px; margin-top:12px; line-height:1.6; }
.footer-brand img { height:28px; }
.footer-links h4 { color:var(--heading-color); font-size:14px; font-weight:700; margin-bottom:16px; text-transform:uppercase; letter-spacing:.5px; }
.footer-links ul { list-style:none; }
.footer-links li { margin-bottom:8px; }
.footer-links a { color:var(--text-muted); text-decoration:none; font-size:14px; }
.footer-links a:hover { color:var(--accent); }
.footer-bottom { border-top:1px solid var(--border); padding-top:24px; }
.risk-warning { color:var(--text-muted); font-size:12px; line-height:1.6; margin-bottom:12px; }
.copyright { color:var(--text-muted); font-size:12px; }
@media(max-width:768px){
.content h1{font-size:1.6rem} .content h2{font-size:1.2rem} .footer-grid{grid-template-columns:1fr 1fr;gap:24px}
.site-header {padding:10px 0;-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg)!important}
.header-inner{gap:8px;flex-wrap:nowrap}
.logo img{height:28px}
.main-nav{display:none;position:fixed;top:58px;left:0;right:0;bottom:0;background:var(--bg);padding:0;border-top:1px solid var(--border);overflow-y:auto;z-index:99}
.main-nav ul{flex-direction:column;gap:0} .main-nav a{padding:14px 20px;display:block;border-bottom:1px solid var(--border);font-size:15px}
.menu-open .main-nav{display:block}
.menu-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background:var(--bg-card);border:1px solid var(--border);position:relative;z-index:101;-webkit-tap-highlight-color:transparent;touch-action:manipulation;cursor:pointer}
.menu-toggle svg{pointer-events:none}
.header-cta.desktop-only{display:none}
.mobile-cta{display:inline-flex!important;align-items:center;justify-content:center;background:var(--accent)!important;color:#fff!important;padding:8px 16px!important;border-radius:8px!important;font-size:13px!important;font-weight:700!important;text-decoration:none!important;white-space:nowrap;margin-left:auto;box-shadow:0 2px 8px var(--accent-glow)}
.mobile-cta:hover{background:var(--accent-hover)!important}
.search-toggle{width:40px;height:40px;display:flex!important;align-items:center;justify-content:center;border-radius:8px;background:var(--bg-card);border:1px solid var(--border)}
.search-toggle svg{width:18px;height:18px}
.toc-sidebar{display:none}
.sidebar-banner{display:none}
.content-with-toc{max-width:var(--max-w)}
.inline-banner{margin:20px -10px}
.search-overlay{padding-top:10vh}
.search-box{width:95%;max-width:500px;padding:16px}
.search-box input{font-size:16px;padding:14px 16px;-webkit-appearance:none;border-radius:10px}
}
@media(min-width:769px){
.mobile-cta{display:none!important}
}
@media(max-width:480px){ .footer-grid{grid-template-columns:1fr} .cta-button{padding:14px 32px;font-size:16px} }

/* TOC Sidebar */
.content-wrapper{display:flex;gap:40px;max-width:1100px;margin:0 auto}
.content-with-toc{flex:1;min-width:0;max-width:var(--max-w)}
.toc-sidebar{width:260px;flex-shrink:0;position:sticky;top:80px;align-self:flex-start;max-height:calc(100vh - 100px);overflow-y:auto}
.toc-sidebar h4{font-family:var(--font-heading);font-size:14px;font-weight:700;color:var(--heading-color);margin-bottom:12px}
.toc-sidebar ul{list-style:none;padding:0;margin:0}
.toc-sidebar li{border-left:2px solid var(--border);padding:6px 0 6px 14px;font-size:13px;transition:.2s}
.toc-sidebar li:hover,.toc-sidebar li.active{border-left-color:var(--accent)}
.toc-sidebar a{color:var(--text-muted);text-decoration:none;display:block}
.toc-sidebar a:hover,.toc-sidebar li.active a{color:var(--accent)}

/* Sidebar Banner (under TOC) */
.sidebar-banner{margin-top:24px;text-align:center}
.sidebar-banner img{max-width:100%;border-radius:var(--radius);cursor:pointer}
.sidebar-banner a{display:block}

/* Inline Banner */
.inline-banner{margin:30px 0;text-align:center}
.inline-banner img{max-width:100%;border-radius:var(--radius);cursor:pointer}
.inline-banner a{display:block}

/* Page images */
.page-image{margin:24px 0;border-radius:var(--radius);overflow:hidden}
.page-image img{width:100%;height:auto;display:block}

/* Search */
.search-toggle{background:none;border:1px solid var(--border);cursor:pointer;padding:0;color:var(--text-muted);width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:.2s}
.search-toggle:hover{color:var(--text);background:var(--bg-card);border-color:var(--accent)}
.search-toggle svg{width:16px;height:16px}
.search-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.75);backdrop-filter:blur(4px);z-index:200;align-items:flex-start;justify-content:center;padding-top:15vh}
.search-overlay.active{display:flex}
.search-box{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:24px;width:90%;max-width:560px;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.search-box input{width:100%;padding:14px 18px;background:var(--bg);color:var(--text);border:2px solid var(--border);border-radius:12px;font-size:16px;outline:none;transition:border-color .2s}
.search-box input:focus{border-color:var(--accent)}
.search-box input::placeholder{color:var(--text-muted)}
.search-results{margin-top:12px;max-height:300px;overflow-y:auto}
.search-results a{display:block;padding:12px 14px;color:var(--text);text-decoration:none;border-radius:8px;font-size:14px;transition:.15s}
.search-results a:hover{background:var(--bg-card-hover)}
.search-results .sr-title{font-weight:600;color:var(--heading-color)}
.search-results .sr-desc{font-size:12px;color:var(--text-muted);margin-top:2px}

/* Dropdown Nav */
.nav-item{position:relative}
.nav-item .dropdown{display:none;position:absolute;top:100%;left:0;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:8px 0;min-width:180px;box-shadow:0 8px 24px rgba(0,0,0,.2);z-index:50}
.nav-item:hover .dropdown{display:block}
.dropdown a{display:block;padding:8px 16px;color:var(--text-muted);text-decoration:none;font-size:13px}
.dropdown a:hover{background:var(--bg-card-hover);color:var(--text)}
