:root { color-scheme:dark; font:16px/1.6 system-ui,-apple-system,sans-serif; background:#0c1116; color:#e0e8ec; }
* { box-sizing:border-box; }
body { margin:0; }
header, main { max-width:1300px; margin:auto; padding:28px; }
header { border-bottom:1px solid #30414c; }
a { color:#bcdcc9; }
.eyebrow { color:#bbd6bf; letter-spacing:.16em; }
h1 { font:500 40px Georgia,serif; margin:8px 0; }
h2 { font-size:22px; color:#c9decf; margin:0; }
h3 { font-size:17px; color:#c9decf; }
.subtitle,.hint,small,.footnote { color:#abc0cf; }
.subtitle { margin:5px 0 0; }
section { border:1px solid #30414c; border-radius:12px; padding:24px; margin:24px 0; background:#111a22; }
label { display:block; font-weight:600; margin:12px 0 6px; }
textarea,input,select,button { font:inherit; color:inherit; border:1px solid #465d69; border-radius:6px; background:#17232d; padding:10px; }
textarea,select,input { width:100%; }
textarea { resize:vertical; line-height:1.7; }
#prose { background:#0c151d; }
button { cursor:pointer; background:#244339; }
button:hover { background:#345c4e; }
button.secondary { background:#17232d; }
button.secondary:hover { background:#253543; }
button:disabled { opacity:.48; cursor:not-allowed; }
button:focus-visible,a:focus-visible,textarea:focus-visible,select:focus-visible,input:focus-visible { outline:3px solid #d8bd75; outline-offset:2px; }
.heading-row,.actions { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.actions { justify-content:flex-start; margin-top:18px; }
.field-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.hint { font-size:.9rem; margin:8px 0 14px; }
small { display:block; font-size:.8rem; margin-top:5px; }
#converterStatus { color:#c9decf; }
#notesSection { margin-top:15px; padding:12px 18px; border-left:3px solid #759e87; background:#17232d; }
#converterNotes { padding-left:20px; }
.footnote { font-size:.86rem; text-align:center; padding:0 0 24px; }
[hidden] { display:none!important; }
@media(max-width:760px) { header,main{padding:16px} section{padding:16px} h1{font-size:32px} .field-grid{grid-template-columns:1fr} button{min-height:44px} }
