:root{--bg:#140f1a;--elev:#1d1526;--line:#ff4ecd2e;--text:#f7eef8;--muted:#a893b0;--pink:#ff4ecd;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--display:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{background:var(--bg);color:var(--text);font-family:var(--font);margin:0}body{width:420px;min-height:560px}.lens-app{background:radial-gradient(480px 220px at 100% 0%, #ff4ecd29, transparent 55%), var(--bg);flex-direction:column;min-height:560px;display:flex}.header{align-items:flex-start;gap:8px;padding:14px 14px 8px;display:flex}.header h1{font-family:var(--display);letter-spacing:-.03em;flex:1;margin:0;font-size:1.25rem;font-weight:800}.header p{color:var(--muted);margin:2px 0 0;font-size:.74rem}.btn{appearance:none;border:1px solid var(--line);background:var(--elev);color:var(--text);font:inherit;cursor:pointer;border-radius:10px;padding:8px 10px;font-size:.74rem;font-weight:700}.btn.primary{background:var(--pink);color:#2a0420;border-color:#0000}.btn:disabled{opacity:.5;cursor:not-allowed}.toolbar{flex-wrap:wrap;gap:6px;padding:0 14px 8px;display:flex}.toolbar select,.toolbar input{border:1px solid var(--line);color:var(--text);font:inherit;background:#00000040;border-radius:9px;padding:7px 8px;font-size:.74rem}.toolbar input{width:88px}.stats{color:var(--muted);padding:0 14px 8px;font-size:.74rem}.stats strong{color:var(--pink)}.grid{grid-template-columns:repeat(3,1fr);gap:8px;max-height:380px;padding:0 14px 14px;display:grid;overflow:auto}.card{border:1px solid var(--line);cursor:pointer;background:#00000038;border-radius:12px;position:relative;overflow:hidden}.card.selected{outline:2px solid var(--pink);outline-offset:1px}.card img,.card .svg-fallback{object-fit:cover;background:#0c0910;width:100%;height:84px;display:block}.card .meta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;padding:5px 6px 6px;font-size:.62rem;overflow:hidden}.card .check{background:#00000059;border:1px solid #ffffff59;border-radius:4px;width:16px;height:16px;position:absolute;top:6px;right:6px}.card.selected .check{background:var(--pink);border-color:#0000}.actions{gap:8px;padding:0 14px 14px;display:flex}.actions .btn{flex:1}.error{color:#ffb4aa;background:#ff7b721f;border-radius:10px;margin:0 14px 8px;padding:8px 10px;font-size:.74rem}.empty{color:var(--muted);text-align:center;padding:28px 14px;font-size:.82rem}
