:root{--bg: #0f1412;--panel: #171e1b;--panel-2: #1e2723;--line: #2c3833;--text: #e8efe9;--muted: #93a39a;--accent: #7cb389;--warn: #d4a054;--danger: #d36b6b}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:"Source Sans 3",Segoe UI,sans-serif;background:var(--bg);color:var(--text)}a{color:var(--accent);text-decoration:none}.layout{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.nav{background:var(--panel);border-right:1px solid var(--line);padding:24px 16px}.nav h1{font-size:16px;margin:0 0 8px;letter-spacing:.04em}.nav-lede{color:var(--muted);font-size:12px;margin:0 0 16px;line-height:1.4}.nav-advanced{margin-top:16px}.nav-advanced summary{color:var(--muted);cursor:pointer;padding:8px 10px}.meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin:0}.meta-grid dt{color:var(--muted);font-size:12px;text-transform:uppercase}.meta-grid dd{margin:4px 0 0}.nav a{display:block;padding:8px 10px;color:var(--text);border-radius:6px}.nav a.active,.nav a:hover{background:var(--panel-2)}.main{padding:28px 32px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.card,.table,form.panel,.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px}.card .label{color:var(--muted);font-size:12px;text-transform:uppercase}.card .value{font-size:28px;margin-top:6px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);font-size:14px}.badge{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--panel-2);font-size:12px}.badge.REVIEW,.badge.warn{color:var(--warn)}.badge.PUBLISHED{color:var(--accent)}.row{display:flex;gap:12px;flex-wrap:wrap}input,textarea,select,button{font:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:8px 10px}button{cursor:pointer;background:var(--accent);color:#102016;font-weight:600}button.secondary{background:transparent;color:var(--text)}label{display:block;font-size:13px;color:var(--muted);margin-bottom:4px}.field{flex:1;min-width:180px}.grid{display:grid;gap:16px}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}a.card{color:inherit}.review-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.review-card{padding:0;overflow:hidden}.review-card img,.review-placeholder{width:100%;height:160px;object-fit:cover;background:var(--panel-2)}.review-placeholder{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px}.review-body{padding:16px}.review-body h3{margin:8px 0 6px;font-size:18px}.review-site{margin:8px 0 0;font-size:16px;color:var(--muted);font-weight:600}.site-chip{display:inline-block;background:var(--panel-2);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:14px;margin:0}.article-preview.panel{padding:0;overflow:hidden}.article-hero,.article-preview .review-placeholder{width:100%;height:280px;object-fit:cover;background:var(--panel-2)}.article-preview h1{font-size:28px;margin:16px 20px 8px}.article-preview .lede{color:var(--muted);margin:0 20px 16px;font-size:16px}.article-body{padding:0 20px 20px;font-size:17px;line-height:1.55}.article-body h2,.article-body h3,.article-body h4{margin:20px 0 8px}.article-body p{margin:0 0 12px}.article-body ul,.article-body ol{margin:0 0 12px;padding-left:1.2em}.article-body blockquote{margin:0 0 12px;padding-left:12px;border-left:3px solid var(--accent);color:var(--muted)}.article-body .faq section{margin:12px 0}.media-grid img{width:100%;height:120px;object-fit:cover;border-radius:8px}.warn{color:var(--warn);font-size:12px}.error{color:var(--danger)}.login{max-width:380px;margin:12vh auto}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}.intel h3{margin-top:0}.intel-scores{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:12px 0}.intel-scores button{width:100%}.checks{list-style:none;padding:0;font-size:13px}.checks li{margin:6px 0}.checks .PASS{color:var(--accent)}.checks .FAIL{color:var(--danger)}.checks .WARN{color:var(--warn)}.muted{color:var(--muted);font-size:13px}@media(max-width:1100px){.editor-layout{grid-template-columns:1fr}}
