:root{--accent:#f4e99b;--background:#fff;--border:#71642233;--text:#3a3215;--text-strong:#241e08;--muted:#6b6133;--sans:"Avenir Next", "Trebuchet MS", "Segoe UI", sans-serif;font:18px/1.5 var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}body{color:var(--text);background:var(--background);margin:0}h1{letter-spacing:-.06em;color:var(--text-strong);margin:0 0 18px;font-size:clamp(3rem,8vw,5.6rem);line-height:.94}p{margin:0}.home-shell{justify-content:center;align-items:center;min-height:100vh;padding:32px;display:flex}.hero-panel{border:1px solid var(--border);background:radial-gradient(circle at 0 0,#f4e99b52,#0000 32%),linear-gradient(#fffffffa,#fffffff2);border-radius:32px;width:min(720px,100%);padding:56px;box-shadow:0 24px 80px #241e0814}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0 0 16px;font-size:.85rem;font-weight:700}.hero-copy{max-width:34rem;color:var(--muted);margin:0 0 32px;font-size:1.05rem}.upload-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe6;border:1px solid #71642229;border-radius:24px;flex-direction:column;gap:14px;padding:24px;display:flex}.field-label{color:var(--text-strong);font-size:.95rem;font-weight:700}.file-input{box-sizing:border-box;width:100%;color:var(--text-strong);background:#fff;border:1px dashed #71642259;border-radius:18px;padding:16px}.upload-button{font:inherit;color:#403611;background:var(--accent);cursor:pointer;border:0;border-radius:999px;padding:14px 20px;font-weight:700;transition:transform .16s,box-shadow .16s,background-color .16s}.upload-button:disabled{cursor:wait;opacity:.72;box-shadow:none;transform:none}.upload-button:hover{transform:translateY(-1px);box-shadow:0 14px 28px #594b122e}.upload-button:focus-visible,.file-input:focus-visible{outline-offset:3px;outline:3px solid #5a4e1847}.file-status{min-height:1.5rem;color:var(--muted);margin:0}.upload-error{color:#b23b2a;margin:0;font-weight:600}.upload-result{background:#f4e99b2e;border:1px solid #71642229;border-radius:18px;gap:6px;padding:16px 18px;display:grid}.upload-result-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.8rem;font-weight:700}.upload-result-link{color:var(--text-strong);word-break:break-word;font-weight:700;text-decoration-thickness:.08em}@media (width<=720px){.home-shell{padding:20px}.hero-panel{border-radius:24px;padding:32px 22px}}
