:root{--bg:#fffdfb;--fg:#1f1b16;--muted:#6d6257;--brand:#b86b77;--line:#eee2dc}
*{box-sizing:border-box} html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
.wrap{max-width:1100px;margin:0 auto;padding:16px}
a{color:var(--brand);text-decoration:none} a:hover{text-decoration:underline}
h1,h2{line-height:1.2} h1{font-size:2rem;margin:10px 0} h2{font-size:1.5rem;margin:16px 0 12px}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:0 8px 24px rgba(0,0,0,.04);margin:14px 0}
.btn{display:inline-block;background:var(--brand);color:#fff;padding:8px 12px;border-radius:10px;border:0;font-weight:700;cursor:pointer}
.muted{color:var(--muted)} .small{font-size:.92rem}
.alert{background:#fff3f3;border:1px solid #ffd0d0;padding:10px;border-radius:8px;margin:10px 0}
.top{display:flex;gap:14px;align-items:center;justify-content:space-between}
.top nav a{margin-left:12px}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.thumb img{width:100%;border-radius:10px;display:block}
.row{display:flex;gap:10px;align-items:center}
.badge{font-size:.85rem; padding:2px 8px; border:1px solid var(--line); border-radius:999px}
#dropzone{border:2px dashed var(--brand); border-radius:14px; padding:20px; text-align:center; background:#fff}
#dropzone.highlight{background:#fff7f9}
#queue{list-style:none; padding:0; margin:10px 0 0}
#queue li{display:flex; align-items:center; gap:10px; padding:6px 0; border-bottom:1px solid #f1e7e0}
.progress{flex:1; height:8px; background:#f1e7e0; border-radius:6px; overflow:hidden}
.progress > span{display:block; height:100%; width:0%; background:var(--brand)}
