:root {
    color-scheme:dark; --bg:#090a0c; --panel:#111318; --panel-raised:#171a20; --panel-soft:#0d0f13;
    --line:#292d35; --line-soft:#20242b; --text:#f4f0e8; --muted:#9b9da3; --subtle:#686c74;
    --gold:#d6a85f; --gold-bright:#edc37d; --gold-dark:#6b512e; --green:#70c68a; --red:#e2776d;
    --blue:#72a9d8; --mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
    --serif:Georgia,"Times New Roman",serif; --sans:Inter,"Segoe UI",system-ui,sans-serif;
}
* { box-sizing:border-box; }
html { background:var(--bg); min-width:320px; }
body { background:var(--bg); color:var(--text); font-family:var(--sans); margin:0; min-height:100vh; }
button,input,select,textarea { font:inherit; }
button { color:inherit; }
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:2px solid var(--gold); outline-offset:2px; }
.sr-only { clip:rect(0,0,0,0); clip-path:inset(50%); height:1px; overflow:hidden; position:absolute; white-space:nowrap; width:1px; }

.railway-image-proof { margin:0 auto; max-width:760px; padding:32px 24px 64px; }
.railway-image-proof > label { display:block; font-weight:700; margin:28px 0 8px; }
.railway-image-proof > textarea { background:var(--panel); border:1px solid var(--line); border-radius:8px; color:var(--text); display:block; padding:14px; resize:vertical; width:100%; }
.railway-image-proof > button { background:var(--gold-dark); border:1px solid var(--gold); border-radius:8px; cursor:pointer; margin-top:16px; padding:12px 18px; }
.railway-image-proof > button:disabled { cursor:wait; opacity:.65; }
.railway-image-proof > img { background:#fff; border:1px solid var(--line); display:block; margin-top:20px; max-width:100%; }
