.kbib{background:var(--bg,#0f1220);color:var(--tx,#e8eaf6);min-height:100vh}
.kbib-top{display:flex;gap:.8rem;align-items:center;padding:.55rem 1rem;border-bottom:1px solid #2a3150;background:#14182a}
.kbib-top a{color:#a5b4fc;text-decoration:none}
.kbib-main{max-width:1100px;margin:0 auto;padding:1rem 1.1rem 3rem}
.kbib-hd h1{margin:0 0 .35rem;font-size:1.7rem}
.kbib-hd p{margin:0 0 1rem;opacity:.85;line-height:1.45}
.kbib-search{display:flex;gap:.4rem;margin-bottom:.8rem}
.kbib-search input{flex:1;padding:.55rem .75rem;border-radius:.55rem;border:1px solid #2a3150;background:#0a0c14;color:inherit}
.kbib-search button{padding:.55rem 1rem;border:0;border-radius:.55rem;background:#4f46e5;color:#fff;font-weight:600;cursor:pointer}
.kbib-bc{font-size:.85rem;opacity:.8;margin-bottom:1rem}
.kbib-bc a{color:#a5b4fc;text-decoration:none}
.kbib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.85rem}
.kbib-card{display:flex;flex-direction:column;gap:.35rem;padding:1rem;border-radius:1rem;border:1px solid #2a3150;background:#1a1f35;text-decoration:none;color:inherit;min-height:7.5rem;transition:border-color .15s}
.kbib-card:hover{border-color:#818cf8}
.kbib-card .ic{font-size:1.6rem}
.kbib-card h2{margin:0;font-size:1.05rem}
.kbib-card p{margin:0;font-size:.88rem;opacity:.8;line-height:1.35;flex:1}
.kbib-card .meta{font-size:.75rem;opacity:.65}
.kbib-empty{opacity:.8;padding:1rem 0}
.kbib-list{display:grid;gap:.5rem}
.kbib-row{display:flex;gap:.75rem;align-items:flex-start;padding:.75rem 1rem;border-radius:.75rem;border:1px solid #2a3150;background:#1a1f35;text-decoration:none;color:inherit}
.kbib-row:hover{border-color:#818cf8}
.kbib-row .ic{font-size:1.4rem}
@media(max-width:600px){.kbib-grid{grid-template-columns:1fr 1fr}}
.kbib-tools{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}
.kbib-btn{display:inline-block;padding:.45rem .9rem;border-radius:.5rem;background:#4f46e5;color:#fff;text-decoration:none;font-weight:600;border:0;cursor:pointer;font-size:.9rem}
.kbib-btn.ghost{background:transparent;border:1px solid #2a3150;color:inherit}
.kbib-clips{display:grid;gap:.55rem}
.kbib-clip{display:flex;justify-content:space-between;gap:.8rem;align-items:center;padding:.75rem 1rem;border-radius:.75rem;border:1px solid #2a3150;background:#1a1f35}
.kbib-badge{display:inline-block;font-size:.7rem;font-weight:700;padding:.1rem .4rem;border-radius:999px;background:#312e81;color:#c7d2fe;text-transform:uppercase}
.kbib-clip .meta{font-size:.8rem;opacity:.75;margin-top:.2rem}
.kbib-clip-actions a{color:#a5b4fc;font-size:.85rem}
.kbib-more{margin-top:1rem;padding:.5rem 1rem;border-radius:.5rem;border:1px solid #2a3150;background:#1a1f35;color:inherit;cursor:pointer}
.kbib-upload{max-width:520px}
.kbib-up-form{display:grid;gap:.65rem}
.kbib-up-form label{display:grid;gap:.25rem;font-size:.88rem}
.kbib-up-form input,.kbib-up-form select{padding:.5rem .65rem;border-radius:.5rem;border:1px solid #2a3150;background:#0a0c14;color:inherit}
.kbib-badge.soft{background:#1e293b;color:#cbd5e1;font-weight:600}
.kbib-link{background:none;border:0;color:#a5b4fc;cursor:pointer;font-size:.85rem;text-decoration:underline}
.kbib-ficha{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:80;padding:1rem}
.kbib-ficha[hidden]{display:none!important}
.kbib-ficha-panel{background:#14182a;border:1px solid #2a3150;border-radius:1rem;padding:1.2rem 1.4rem;max-width:520px;width:100%;max-height:90vh;overflow:auto;position:relative}
.kbib-ficha-x{position:absolute;top:.4rem;right:.6rem;border:0;background:transparent;color:inherit;font-size:1.5rem;cursor:pointer}
.kbib-dl{display:grid;grid-template-columns:1fr 1fr;gap:.5rem .8rem;margin:1rem 0}
.kbib-dl dt{font-size:.75rem;opacity:.7}
.kbib-dl dd{margin:0;font-weight:600}
.kbib-up-form textarea{padding:.5rem .65rem;border-radius:.5rem;border:1px solid #2a3150;background:#0a0c14;color:inherit;resize:vertical}
