/* Core dark theme layout + basic responsive table styling */
* { box-sizing: border-box; }
body { font-family: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,sans-serif; margin: 0; background:#0f1115; color:#f3f5f8; }
.container { max-width: 960px; margin: 0 auto; padding: 2rem 1.25rem 4rem; }
h1 { margin-top:0; font-size: 1.9rem; letter-spacing:.5px; }
form { background:#161a21; padding:1rem 1.25rem 1.5rem; border:1px solid #2a313d; border-radius:10px; display:grid; gap:1rem; }
.field-group, .field-inline { display:flex; flex-direction:column; gap:.35rem; }
.field-inline input, .field-group input { padding:.55rem .7rem; border:1px solid #303a47; background:#1e242d; color:#e8edf3; border-radius:6px; }
.mode-switch { display:flex; gap:1.1rem; font-size:.8rem; background:#1e242d; padding:.4rem .6rem; border:1px solid #2d3642; border-radius:6px; }
.mode-switch label { display:flex; align-items:center; gap:.35rem; cursor:pointer; }
.hint { color:#8a97a7; font-size:.7rem; margin-top:-.4rem; }
button { background:#2563eb; border:none; color:#fff; font-weight:600; padding:.7rem 1.2rem; border-radius:6px; cursor:pointer; font-size:.95rem; }
button:disabled { opacity:.5; cursor:not-allowed; }
.status { margin-top:1rem; min-height:1.2rem; font-size:.9rem; }
.hidden { display:none !important; }
section { margin-top:2rem; }
h2 { margin-bottom:.75rem; font-size:1.4rem; }
h3 { margin:.9rem 0 .4rem; font-size:1.05rem; }
.meta-block, .fields-block, .missing-block, .raw-json { background:#161a21; padding:1rem; border:1px solid #252c36; border-radius:8px; margin-bottom:1rem; }
pre { margin:0; font-size:.75rem; max-height:300px; overflow:auto; background:#11151b; padding:.75rem; border-radius:6px; }
table { border-collapse: collapse; width:100%; font-size:.8rem; }
th, td { text-align:left; padding:.45rem .5rem; border-bottom:1px solid #252c36; }
th { background:#1f2630; position:sticky; top:0; }
tr:hover td { background:#1b222b; }
ul { margin:0; padding-left:1.2rem; }
summary { cursor:pointer; }
.raw-json details { font-size:.85rem; }
.raw-json summary { font-weight:600; }
