.app{max-width:1100px;margin:0 auto;padding:2rem 1.25rem 4rem}.app__header h1{margin:0 0 .25rem;font-size:2rem}.app__header p{margin:0 0 1.5rem;color:var(--muted)}.app__status{color:var(--muted);text-align:center;padding:2rem 0}.app__error{color:var(--danger)}.dropzone{border:2px dashed #2a2f3a;border-radius:12px;padding:2.5rem 1rem;text-align:center;color:var(--muted);cursor:pointer;transition:border-color .15s,background .15s;margin-bottom:2rem}.dropzone--over{border-color:var(--accent);background:#5b8cff14}.dropzone--busy{cursor:progress;opacity:.7}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}.grid__item{position:relative;margin:0;aspect-ratio:1 / 1;border-radius:10px;overflow:hidden;background:var(--panel)}.grid__item img{width:100%;height:100%;object-fit:cover;display:block}.grid__delete{position:absolute;top:6px;right:6px;width:28px;height:28px;border:none;border-radius:50%;background:#0000008c;color:#fff;cursor:pointer;opacity:0;transition:opacity .15s}.grid__item:hover .grid__delete{opacity:1}.grid__delete:hover{background:var(--danger)}:root{--bg: #0f1115;--panel: #181b22;--text: #e7e9ee;--muted: #9aa3b2;--accent: #5b8cff;--danger: #ff5b6e;color-scheme:dark}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}
