:root {
  --bg: #f5efe7;
  --paper: rgba(255,255,255,.78);
  --ink: #2e2a27;
  --muted: #746b63;
  --line: #d8cfc5;
  --accent: #6f5d50;
  --accent-dark: #4e4037;
  --ok: #5e735d;
}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(circle at top,#fbf8f3 0,var(--bg) 52%,#eee5db 100%);color:var(--ink);font-family:Inter,system-ui,sans-serif;min-height:100vh}
.shell{min-height:100vh;display:grid;place-items:center;padding:24px 16px}
.card{width:min(620px,100%);background:var(--paper);backdrop-filter:blur(10px);border:1px solid rgba(111,93,80,.18);border-radius:28px;padding:34px 24px 28px;box-shadow:0 22px 70px rgba(73,60,50,.12);text-align:center}
.ornament{font-size:18px;color:var(--accent);opacity:.85}.eyebrow{letter-spacing:.24em;font-size:11px;color:var(--muted);margin:12px 0 4px}
h1{font-family:"Cormorant Garamond",serif;font-size:clamp(44px,11vw,68px);font-weight:600;line-height:.95;margin:8px 0 20px}h1 span{font-style:italic;font-weight:500;color:var(--accent)}
.lead{font-family:"Cormorant Garamond",serif;font-size:25px;line-height:1.2;margin:0 auto 10px;max-width:460px}.copy{font-size:14px;line-height:1.7;color:var(--muted);max-width:480px;margin:0 auto 26px}
.upload-button,.primary,.secondary{display:block;width:100%;border:0;border-radius:15px;padding:15px 18px;font-size:15px;font-weight:600;cursor:pointer;transition:.18s ease}.upload-button,.primary{background:var(--accent-dark);color:#fff;box-shadow:0 8px 20px rgba(78,64,55,.16)}.upload-button:hover,.primary:hover{transform:translateY(-1px)}
.optional{text-align:left;margin:18px 0 4px}.optional label{display:block;font-size:12px;font-weight:600;margin:0 0 7px}.optional label span{font-weight:400;color:var(--muted)}.optional input{width:100%;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.7);padding:12px 13px;font:inherit;outline:none}.optional input:focus{border-color:var(--accent)}
.selection{margin-top:20px;text-align:left}.selection-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px}.text-btn{border:0;background:none;color:var(--accent-dark);font-weight:600;cursor:pointer}.file-list{display:grid;gap:8px;margin:10px 0 14px;max-height:260px;overflow:auto}.file-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px 11px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.55)}.file-meta{min-width:0}.file-name{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size,.file-state{font-size:11px;color:var(--muted);margin-top:3px}.file-state.ok{color:var(--ok)}.file-state.err{color:#9a4d4d}.mini-progress{height:5px;border-radius:99px;background:#e7dfd5;overflow:hidden;margin-top:6px}.mini-progress>div{height:100%;width:0;background:var(--accent);transition:width .12s linear}
.status{margin-top:18px}.progress-track{height:10px;background:#e4ddd4;border-radius:99px;overflow:hidden}.progress-bar{height:100%;width:0;background:var(--accent-dark);transition:width .18s linear}.status p{font-size:12px;color:var(--muted);margin:8px 0 0}
.success{margin-top:24px;padding:18px;border-top:1px solid var(--line)}.heart{font-size:28px;color:var(--accent)}.success h2{font-family:"Cormorant Garamond",serif;font-size:34px;margin:5px 0}.success p{color:var(--muted);font-size:13px}.secondary{margin-top:12px;background:transparent;border:1px solid var(--accent);color:var(--accent-dark)}
.privacy{font-size:10.5px;line-height:1.5;color:#92887f;margin:20px 0 0}.hidden{display:none!important}
@media (min-width:700px){.card{padding:46px 48px 34px}.optional{margin-top:20px}}
