/* OCR PDF to Word — simple, fast, mobile-friendly */
:root { --navy:#1a2a4a; --gold:#c9a227; --ink:#222; --muted:#555; --line:#ddd; --bg:#f7f5ef; --card:#fff; }
* { box-sizing:border-box; }
body { margin:0; font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; color:var(--ink); background:var(--bg); line-height:1.55; }
header { background:var(--navy); color:#fff; padding:14px 18px; }
header a { color:#fff; text-decoration:none; }
header .brand { font-size:1.25rem; font-weight:700; }
header nav { margin-top:6px; font-size:.95rem; }
header nav a { margin-right:14px; opacity:.9; }
header nav a:hover { opacity:1; text-decoration:underline; }
main { max-width:860px; margin:0 auto; padding:20px 16px 60px; }
h1 { font-size:1.7rem; color:var(--navy); margin:.4em 0 .2em; }
h2 { color:var(--navy); margin-top:1.6em; }
.lede { font-size:1.08rem; color:var(--muted); }
.card { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:18px; margin:16px 0; }
.notice { background:#fff8e1; border:1px solid #e6c65a; border-radius:10px; padding:14px 16px; margin:16px 0; }
.error { background:#fdecea; border:1px solid #e57373; color:#7a1f1a; border-radius:10px; padding:12px 16px; margin:12px 0; display:none; }
.error.show { display:block; }
.status { font-weight:600; color:var(--navy); margin:10px 0; }
.drop { border:2px dashed var(--navy); border-radius:10px; padding:26px 16px; text-align:center; background:#fbfaf7; cursor:pointer; }
.drop.drag { background:#eef2fa; border-color:var(--gold); }
input[type=file] { display:none; }
.btn { display:inline-block; background:var(--navy); color:#fff; border:0; border-radius:8px; padding:11px 18px; font-size:1rem; cursor:pointer; margin:6px 6px 6px 0; }
.btn.gold { background:var(--gold); color:#1a1a1a; }
.btn.ghost { background:#eee; color:var(--ink); }
.btn:disabled { opacity:.55; cursor:not-allowed; }
textarea { width:100%; min-height:260px; font:1rem/1.5 system-ui,sans-serif; padding:12px; border:1px solid var(--line); border-radius:8px; }
#pageList { list-style:none; padding:0; margin:10px 0; }
#pageList li { padding:6px 0; border-bottom:1px solid #eee; }
small { color:var(--muted); }
footer { background:var(--navy); color:#fff; text-align:center; padding:18px; font-size:.92rem; }
footer a { color:#fff; }
details { margin:8px 0; }
@media (max-width:600px){ h1{font-size:1.4rem;} .card{padding:14px;} }
