:root {
  --bg-0:#050505;--bg-1:#0a0a0a;--bg-2:#141414;--bg-card:#1a1a1a;--bg-card-hover:#222;--bg-input:#1a1a1a;--bg-modal:#111;
  --text-1:#f0f0f0;--text-2:#999;--text-3:#555;
  --accent:#8b5cf6;--accent-hover:#a78bfa;--accent-dim:rgba(139,92,246,.15);
  --border:#2a2a2a;--star:#fbbf24;--green:#10b981;
  --radius:12px;--radius-sm:8px;--tr:.25s cubic-bezier(.4,0,.2,1);--font:'Inter',-apple-system,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--font);background:var(--bg-1);color:var(--text-1);min-height:100vh}
a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}

.header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;background:rgba(5,5,5,.9);backdrop-filter:blur(12px)}
.header__title{font-size:1.15rem;font-weight:700;background:linear-gradient(135deg,var(--accent),#c084fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.header__count{font-size:.75rem;color:var(--text-2);margin-left:10px}
.header__actions{display:flex;gap:6px}

.btn{border:none;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font);font-size:.8rem;padding:7px 12px;transition:var(--tr)}
.btn--ghost{background:transparent;color:var(--text-2);font-size:1rem}.btn--ghost:hover{background:var(--bg-2);color:var(--text-1)}
.btn--accent{background:var(--accent);color:#fff}.btn--accent:hover{background:var(--accent-hover)}
.btn--sm{font-size:.7rem;padding:4px 8px}
.btn--outline{background:none;border:1px solid var(--border);color:var(--text-2)}.btn--outline:hover{border-color:var(--accent);color:var(--accent)}
.btn--fav{background:transparent;border:1px solid var(--border);color:var(--text-2);font-size:.9rem;padding:5px 10px;border-radius:20px}
.btn--fav.active{background:var(--star);color:#000;border-color:var(--star)}
.btn--edit{background:rgba(255,255,255,.08);border:none;color:var(--text-2);font-size:.65rem;padding:3px 8px;border-radius:4px;position:absolute;top:8px;left:8px;z-index:2;opacity:0;transition:var(--tr)}
.card:hover .btn--edit{opacity:1}

.health-bar{display:flex;gap:12px;padding:8px 20px;border-bottom:1px solid var(--border);background:var(--bg-0);overflow-x:auto;flex-wrap:wrap}
.health-item{font-size:.72rem;color:var(--text-2);white-space:nowrap;padding:3px 8px;border-radius:4px;background:var(--bg-2)}
.health--ok{color:var(--green);background:rgba(16,185,129,.1)}
.health--warn{color:#f59e0b;background:rgba(245,158,11,.1)}
.health--dim{color:var(--text-3)}

.toolbar{padding:12px 20px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:10px}
.input{width:100%;padding:9px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-1);font-family:var(--font);font-size:.85rem;outline:none;transition:var(--tr)}
.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}
.select{appearance:none;padding:5px 24px 5px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='%23999' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E") no-repeat right 6px center;color:var(--text-1);font-family:var(--font);font-size:.75rem;cursor:pointer;outline:none}
.toolbar__row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.toolbar__right{display:flex;gap:6px;align-items:center;flex-shrink:0}

.chips{display:flex;gap:4px;flex-wrap:wrap}
.chip{border:1px solid var(--border);background:transparent;color:var(--text-2);padding:4px 10px;border-radius:20px;font-size:.72rem;cursor:pointer;transition:var(--tr);font-family:var(--font);white-space:nowrap}
.chip:hover{border-color:var(--accent);color:var(--accent)}
.chip.active{background:var(--accent);border-color:var(--accent);color:#fff}

.collections-panel{padding:12px 20px;border-bottom:1px solid var(--border)}
.collections-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.collections-header h3{font-size:.85rem;color:var(--text-2)}
.collections-list{display:flex;flex-wrap:wrap;gap:6px}
.collection-tag{padding:4px 10px;border:1px solid var(--border);border-radius:20px;font-size:.75rem;cursor:pointer;transition:var(--tr);background:transparent;color:var(--text-2);font-family:var(--font)}
.collection-tag:hover{border-color:var(--accent)}.collection-tag.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}

.gallery-grid{display:grid;grid-template-columns:1fr;gap:14px;padding:20px}
@media(min-width:640px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1440px){.gallery-grid{grid-template-columns:repeat(4,1fr)}}

.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:var(--tr);position:relative}
.card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 32px rgba(139,92,246,.1)}
.card__thumb{width:100%;aspect-ratio:16/9;object-fit:cover;background:linear-gradient(135deg,#1a1a2e,#16213e);display:block}
.card__body{padding:12px}
.card__top{display:flex;justify-content:space-between;align-items:start;margin-bottom:4px}
.card__name{font-size:.9rem;font-weight:600;line-height:1.3}
.card__tag{font-size:.8rem;flex-shrink:0}
.card__meta{display:flex;gap:6px;align-items:center;font-size:.7rem;color:var(--text-2);margin-bottom:6px}
.card__score{color:var(--star);letter-spacing:1px}
.card__summary{font-size:.75rem;color:var(--text-2);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card__stack{display:flex;flex-wrap:wrap;gap:3px;margin-top:6px}
.card__stack-tag{font-size:.6rem;padding:1px 5px;background:var(--bg-2);border-radius:3px;color:var(--text-2)}
.card__fav{position:absolute;top:8px;right:8px;background:rgba(0,0,0,.6);border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.85rem;transition:var(--tr);z-index:2}
.card__fav:hover{background:rgba(0,0,0,.8);transform:scale(1.15)}.card__fav.active{color:var(--star)}
.card__actions{display:flex;gap:4px;margin-top:8px}
.card__actions .btn{flex:1;font-size:.65rem;text-align:center;padding:5px}

.loading,.empty-state{grid-column:1/-1;text-align:center;padding:60px;color:var(--text-3);font-size:.85rem}

.modal{display:none;position:fixed;inset:0;z-index:1000}
.modal.open{display:flex;align-items:center;justify-content:center}
.modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(4px)}
.modal__content{position:relative;background:var(--bg-modal);border:1px solid var(--border);border-radius:var(--radius);max-width:680px;width:90%;max-height:85vh;overflow-y:auto;padding:20px;z-index:1}
.modal__close{position:absolute;top:10px;right:10px;background:var(--bg-2);border:none;color:var(--text-2);width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center}
.modal__close:hover{background:var(--border);color:var(--text-1)}
.modal__thumb{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-sm);margin-bottom:12px;background:linear-gradient(135deg,#1a1a2e,#16213e);cursor:pointer}
.modal__thumb-edit{text-align:right;margin:-8px 0 8px;font-size:.7rem;color:var(--text-3);cursor:pointer}.modal__thumb-edit:hover{color:var(--accent)}
.modal__title{font-size:1.2rem;font-weight:700;margin-bottom:3px}
.modal__url{font-size:.75rem;color:var(--accent);margin-bottom:10px;display:block}
.modal__badges{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}
.modal__badge{font-size:.7rem;padding:2px 8px;border-radius:20px;border:1px solid var(--border);color:var(--text-2)}
.modal__section{margin-bottom:12px}
.modal__section h4{font-size:.75rem;color:var(--accent);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.modal__section p,.modal__section li{font-size:.8rem;color:var(--text-2);line-height:1.6}
.modal__section ul{list-style:none}.modal__section li::before{content:'▸ ';color:var(--accent)}
.modal__actions{display:flex;gap:6px;margin-top:16px;flex-wrap:wrap}
.modal__actions .btn{flex:1;text-align:center;min-width:100px}

.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--green);color:#fff;padding:7px 18px;border-radius:20px;font-size:.75rem;opacity:0;transition:opacity .3s;z-index:2000;pointer-events:none}
.toast.show{opacity:1}

@media(max-width:640px){
  .header{flex-direction:column;gap:6px;align-items:flex-start}
  .toolbar__row{flex-direction:column;align-items:flex-start}
  .toolbar__right{width:100%;justify-content:flex-start}
  .modal__content{width:95%;padding:14px}
}
