:root{--bg:#0b1220;--panel:#121b2e;--card:#0f1a30;--text:#e8edf7;--muted:#aab4c5;--bad:#ef4444;--good:#22c55e;}*{box-sizing:border-box}body{margin:0;font-family:system-ui;background:var(--bg);color:var(--text)}#layout{display:flex;min-height:100vh}#sidebar{width:320px;padding:16px;background:var(--panel)}#main{flex:1;padding:18px}label{display:block;font-size:12px;color:var(--muted);margin:6px 0 4px}input,select,textarea{width:100%;padding:10px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.2);color:var(--text)}textarea{min-height:140px;font-family:ui-monospace,Menlo,monospace}button{width:100%;padding:10px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);color:var(--text);cursor:pointer}button:hover{background:rgba(255,255,255,.12)}.card{background:var(--card);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:12px;margin:10px 0}.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.inline{display:flex;gap:8px}.inline button{width:auto}.good{color:var(--good)}.bad{color:var(--bad)}.req{color:#ffd166}select, option {  background-color: #0f1a30;  color: #e8edf7;}input, textarea {  user-select: text;  -webkit-user-select: text;}.field{margin-bottom:10px}.field-desc,.topic-desc,.schema-desc{font-size:12px;color:var(--muted);margin:0 0 8px;line-height:1.45}.topic-title{margin:0 0 6px;font-size:16px;font-weight:600}.topic-desc,.schema-desc{margin-bottom:12px}