:root { --ink:#18211e; --paper:#f6f4ee; --line:#bcbeb5; --rust:#b6533f; --muted:#66706b; --green:#246447; --brand-navy:#0b2f4a; --brand-blue:#0d6f9f; --brand-mint:#e4efe7; --brand-sky:#dceff5; }
* { box-sizing:border-box; } body { background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; margin:0; }
main { margin:auto; max-width:800px; padding:56px 6% 78px; } .eyebrow { color:var(--brand-blue); font:700 .76rem Consolas,monospace; letter-spacing:.1em; text-transform:uppercase; }
h1 { color:var(--brand-navy); font:500 clamp(3rem,8vw,5.7rem)/.94 Georgia,serif; letter-spacing:-.055em; margin:10px 0 18px; } .intro,.help,#submission-status { color:var(--muted); line-height:1.55; max-width:640px; }
form { border-top:1px solid #c9d8d2; margin-top:34px; padding-top:28px; } label { color:var(--brand-green); display:block; font:700 .76rem Consolas,monospace; letter-spacing:.08em; margin-bottom:8px; text-transform:uppercase; }
input { background:linear-gradient(90deg,#fffefa,#f7fbf9); border:1px solid #7d9daa; font:inherit; font-size:1rem; padding:13px 14px; width:100%; } input:focus { outline:3px solid #82cda6; outline-offset:2px; }
button { background:var(--green); border:0; color:white; cursor:pointer; font:700 .78rem Consolas,monospace; margin-top:19px; padding:13px 18px; text-transform:uppercase; } button:disabled { cursor:not-allowed; opacity:.65; } button:not(:disabled):hover,button:not(:disabled):focus-visible { background:var(--brand-blue); }
.submission-progress { align-items:flex-start; background:linear-gradient(90deg,var(--brand-sky),var(--brand-mint)); border-left:3px solid var(--brand-blue); display:flex; gap:14px; margin-top:20px; max-width:640px; padding:15px 16px; }
.submission-progress[hidden] { display:none; }
.progress-orbit { border:3px solid rgba(13,111,159,.2); border-top-color:var(--brand-blue); border-radius:50%; flex:0 0 auto; height:22px; margin-top:2px; width:22px; animation:progress-spin .9s linear infinite; }
.progress-title { color:var(--brand-navy); font-weight:700; margin:0 0 4px; }
.progress-copy { color:var(--muted); line-height:1.45; margin:0; }
.progress-estimate { color:#351565; font-weight:800; line-height:1.4; margin:2px 0 4px; }
.progress-privacy { color:var(--muted); font-size:.9rem; line-height:1.4; margin:6px 0 0; }
.pdf-fallback { background:var(--brand-mint); border-left:3px solid var(--green); margin-top:24px; max-width:640px; padding:18px; }
.pdf-fallback[hidden] { display:none; }
.pdf-fallback h2 { color:var(--brand-navy); font:500 1.5rem Georgia,serif; margin:0 0 10px; }
.pdf-fallback p { line-height:1.5; }
.pdf-fallback label { margin-top:16px; }
.pdf-confirm { align-items:flex-start; display:flex; font:inherit; gap:9px; letter-spacing:0; line-height:1.45; text-transform:none; }
.pdf-confirm input { flex:0 0 auto; margin-top:3px; padding:0; width:auto; }
.private-option{border-top:1px solid #c9d8d2;margin-top:34px;padding-top:24px}.private-option h2{color:var(--brand-navy);font:500 1.7rem Georgia,serif}.private-option p{line-height:1.55}.private-option a{color:var(--brand-green);font-weight:700}
@keyframes progress-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce){.progress-orbit{animation:none;border-color:var(--brand-blue)}}
@media(max-width:650px){main{padding-bottom:60px;padding-top:42px}form{margin-top:28px;padding-top:24px}}

.pdf-feedback { background:#e0f3ff; border-left:4px solid #0879bf; color:#123b59; line-height:1.5; padding:14px; overflow-wrap:anywhere; }
.pdf-feedback[data-state="ready"] { background:#dcfce7; border-color:#07834a; color:#14532d; }
.pdf-feedback[data-state="error"] { background:#fff0ed; border-color:#c43e20; color:#842b18; }
input[type="file"]::file-selector-button { background:#0873ae; border:0; border-radius:4px; color:#fff; padding:10px 14px; margin-right:12px; cursor:pointer; }
.source-kind { align-items:center; background:linear-gradient(135deg,#e7faff,#f0e9ff); border:1px solid #0873ae; border-radius:8px; color:#0b2f4a; display:flex; font-weight:700; gap:10px; margin-top:12px; padding:11px 13px; }
.source-kind input { accent-color:#7b2cbf; height:20px; margin:0; width:20px; }

.remove-pdf { background:transparent; border:2px solid var(--brand-blue); color:var(--brand-navy); margin-top:10px; }
.remove-pdf:not(:disabled):hover,.remove-pdf:not(:disabled):focus-visible { color:white; }
.remove-pdf[hidden] { display:none; }

.pdf-preview { border:2px solid #0873ae; border-radius:6px; background:#f2faff; color:#123b59; margin:16px 0; padding:14px; }
.pdf-preview[hidden] { display:none; }
.pdf-preview summary { cursor:pointer; font-weight:700; }
.pdf-preview summary:focus-visible,.pdf-preview pre:focus-visible { outline:3px solid #0873ae; outline-offset:3px; }
.pdf-preview p { line-height:1.5; }
.pdf-preview pre { background:white; color:#18211e; max-height:320px; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; font:1rem/1.6 Arial,Helvetica,sans-serif; padding:14px; border:1px solid #7d9daa; }
