:root{--bg: #0a0a0a;--bg-card: #141414;--bg-input: #1a1a1a;--border: #2a2a2a;--text: #e0e0e0;--text-dim: #888;--accent: #fff;--danger: #e53e3e;--pill-bg: #1e1e1e;--pill-active: #333;--radius: 8px;--font: "SF Mono", "Fira Code", "Roboto Mono", "Consolas", monospace}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased}.login-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem}.login-container h1{font-size:2rem;font-weight:400;letter-spacing:.1em;text-transform:lowercase}.subtitle{color:var(--text-dim);margin-bottom:2rem}.login-container form{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:320px}.login-container input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem;color:var(--text);font-family:var(--font);font-size:13px;outline:none}.login-container input:focus{border-color:var(--text-dim)}.login-container button{background:var(--accent);color:var(--bg);border:none;border-radius:var(--radius);padding:.75rem 1rem;font-family:var(--font);font-size:13px;cursor:pointer}.login-container button:disabled{opacity:.5;cursor:default}.error{color:var(--danger)}.sent{text-align:center}.dev-link{color:var(--accent);margin-top:1rem;display:inline-block}.pile-container{padding:1.5rem}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}header h1{font-size:1.25rem;font-weight:400;letter-spacing:.1em;text-transform:lowercase}.header-right{display:flex;align-items:center;gap:1rem}.user-email{color:var(--text-dim);font-size:12px}.logout-btn{background:none;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-dim);font-family:var(--font);font-size:12px;padding:.35rem .75rem;cursor:pointer}.logout-btn:hover{border-color:var(--text-dim);color:var(--text)}.add-form{display:flex;gap:.5rem;margin-bottom:1rem}.add-form input{flex:1;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .75rem;color:var(--text);font-family:var(--font);font-size:13px;outline:none}.add-form input:focus{border-color:var(--text-dim)}.add-form select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .75rem;color:var(--text-dim);font-family:var(--font);font-size:12px;outline:none;cursor:pointer}.add-form button{background:var(--accent);color:var(--bg);border:none;border-radius:var(--radius);padding:.6rem 1.25rem;font-family:var(--font);font-size:13px;cursor:pointer;white-space:nowrap}.add-form button:disabled{opacity:.5;cursor:default}.filters{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.filter-row{display:flex;gap:.35rem;flex-wrap:wrap}.pill{background:var(--pill-bg);border:1px solid var(--border);border-radius:20px;padding:.3rem .75rem;color:var(--text-dim);font-family:var(--font);font-size:11px;cursor:pointer;text-transform:lowercase}.pill:hover{border-color:var(--text-dim)}.pill.active{background:var(--pill-active);border-color:var(--text-dim);color:var(--text)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;cursor:pointer;position:relative;transition:transform .15s ease,border-color .15s ease}.card:hover{transform:scale(1.02);border-color:var(--text-dim)}.card img{width:100%;display:block;aspect-ratio:16 / 10;object-fit:cover}.no-screenshot{aspect-ratio:16 / 10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;background:var(--bg-input);color:var(--text-dim);font-size:12px}.retry-btn{background:var(--pill-bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-dim);font-family:var(--font);font-size:11px;padding:.3rem .75rem;cursor:pointer}.retry-btn:hover{border-color:var(--text-dim);color:var(--text)}.retry-btn:disabled{opacity:.5;cursor:default}.badges{position:absolute;bottom:8px;left:8px;display:flex;gap:4px}.badge{background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:4px;padding:2px 6px;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.badge-type{color:#8bb4f0}.badge-cat{color:#a8d8a8}.retry-btn-icon{display:none;position:absolute;top:8px;right:44px;width:28px;height:28px;border-radius:50%;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;border:none;font-size:16px;align-items:center;justify-content:center;cursor:pointer;line-height:1}.cmd-held .card .retry-btn-icon{display:flex}.retry-btn-icon:hover{background:#000000e6}.retry-btn-icon:disabled{opacity:.5;cursor:default}.delete-btn{display:none;position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;background:var(--danger);color:#fff;border:none;font-size:16px;align-items:center;justify-content:center;cursor:pointer;line-height:1}.cmd-held .card .delete-btn{display:flex}.delete-btn:hover{background:#c53030}.empty{text-align:center;color:var(--text-dim);margin-top:4rem}@media (max-width: 640px){.add-form{flex-wrap:wrap}.add-form input{width:100%}.add-form select{flex:1}.grid{grid-template-columns:1fr}}
