:root{color-scheme:light;--ink:#332c26;--muted:#62584e;--line:#ded6c8;--accent:#886a48;--paper:#f6f4ee}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;min-height:100vh;padding:48px 20px 24px;background:radial-gradient(ellipse at 10% 8%,#ebe3d5 0,transparent 39%),radial-gradient(ellipse at 90% 82%,#eee6da 0,transparent 40%),var(--paper);color:var(--ink);font:16px/1.55 system-ui,sans-serif}
header,footer{text-align:center}
header{margin:0 auto 24px}
.brand{color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:.25em;text-decoration:none}
.brand::before,.brand::after{content:'•';margin:0 .7rem}
h1,h2{font-family:Georgia,serif;font-weight:400;line-height:1.15}
h1{font-size:clamp(2rem,7vw,3.25rem);margin:12px 0 6px}
h2{font-size:clamp(1.55rem,5vw,2.1rem);margin:0 0 10px}
p{margin:0 0 18px}
header p{margin-bottom:0}
.muted{color:var(--muted);font-size:.875rem}
.card{max-width:600px;margin:auto;padding:clamp(20px,5vw,34px);background:#fffdfae8;border:1px solid white;border-radius:24px;box-shadow:0 12px 38px #493b2412}
.picker{display:grid;justify-items:center;gap:5px;padding:22px 12px;border:2px dashed var(--line);border-radius:18px;background:#f9f6f0;cursor:pointer;text-align:center}
.plus{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:white;color:var(--accent);font-size:1.4rem;margin-bottom:5px}
.file-input{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.file-input:focus-visible+.picker,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.note{font-size:.78rem;margin:10px 0 16px}
button{display:block;width:100%;min-height:48px;border:0;border-radius:13px;padding:10px 16px;background:#4b3e31;color:white;font:700 .9rem system-ui,sans-serif;cursor:pointer}
button:disabled{background:#e5dfd6;color:#5e554b;cursor:default}
#file-list{list-style:none;padding:0;margin:0 0 16px}
#file-list li{padding:7px 0;border-bottom:1px solid var(--line);font-size:.875rem;overflow-wrap:anywhere}
#status{color:#7c3a29;font-size:.875rem}
#success{padding:10px 0;text-align:center}
footer{margin:22px auto 0;color:var(--muted);font-size:.78rem}
footer a{color:inherit}
@media(max-width:420px){body{padding:30px 14px 20px}.card{border-radius:20px}}
