:root{color-scheme:light;--bg:#f8fafc;--panel:#ffffff;--text:#0f172a;--muted:#475569;--line:#cbd5e1;--brand:#0f766e}*{box-sizing:border-box}body{margin:0;font-family:Avenir Next,Segoe UI,sans-serif;background:radial-gradient(circle at top right,#e2e8f0,var(--bg));color:var(--text)}main{min-height:100vh;padding:2rem 1rem 4rem}.container{margin:0 auto;max-width:1080px}h1{margin:0;font-size:clamp(1.8rem,3vw,2.5rem)}p{color:var(--muted)}.panel{margin-top:1.25rem;padding:1rem;border:1px solid var(--line);border-radius:16px;background:var(--panel)}label{display:block;font-weight:600;margin-bottom:.35rem}button,input,textarea{font:inherit}input[type=file],textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:.7rem}button{background:var(--brand);color:#fff;border:none;border-radius:10px;padding:.7rem 1rem;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.grid{margin-top:1rem;display:grid;grid-gap:.8rem;gap:.8rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.card img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}.card-body{padding:.6rem}.pill{padding:.2rem .55rem;border-radius:999px;font-size:.75rem;border:1px solid var(--line)}.error{color:#b91c1c;font-weight:600}