:root { color-scheme: dark; --cream: #fff0cc; --gold: #ffd078; --teal: #29bbae; --line: #4a6969; font-family: Trebuchet MS, Arial, sans-serif; color: var(--cream); }
* { box-sizing: border-box; }
body { margin: 0; background: #0d2228; }
button, input, select { font: inherit; color: inherit; }
button, select { background: #1c393b; border: 1px solid var(--line); border-radius: 8px; padding: 6px 8px; }
input { background: #10282e; border: 1px solid var(--line); border-radius: 8px; padding: 6px 8px; width: 7.2rem; }
header { display: flex; gap: 12px; align-items: center; padding: 14px 18px; background: #163033; border-bottom: 1px solid var(--line); }
.logo { font-weight: 800; color: #ffc967; letter-spacing: -0.5px; }
.logo span { color: var(--cream); }
header a { color: var(--gold); }
.layout { display: grid; grid-template-columns: 180px minmax(0, 1fr) 340px; min-height: calc(100vh - 62px); }
#tabs { display: flex; flex-direction: column; gap: 6px; padding: 12px; border-right: 1px solid var(--line); }
#tabs button.on { border-color: var(--gold); color: var(--gold); }
#form, #preview { padding: 16px 18px 40px; overflow: auto; max-height: calc(100vh - 62px); }
#preview { border-left: 1px solid var(--line); background: #10262b; }
h2 { margin: 0 0 12px; font-size: 22px; }
h3 { margin: 18px 0 8px; font-size: 16px; }
.line { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin: 6px 0; }
.line span { color: #b7ccc6; font-size: 13px; }
.note { color: #9eb8b2; font-size: 13px; line-height: 1.45; }
table { width: 100%; border-collapse: collapse; font-size: 13px; }
th, td { border-bottom: 1px solid #2c4a4e; padding: 4px; text-align: left; vertical-align: middle; }
.errors { color: #ffb5a4; padding-left: 18px; }
.warnings { color: #ffd78a; padding-left: 18px; }
.links { color: #c5ddd6; font-size: 12px; line-height: 1.4; padding-left: 18px; }
section { margin-bottom: 16px; }
@media (max-width: 980px) { .layout { grid-template-columns: 1fr; } #preview, #form { max-height: none; } }
