.kbib{--b-tx:#1e1b4b;--b-card:rgba(255,255,255,.75);--b-line:rgba(128,128,160,.38);--b-in:#fff;--b-link:#4f46e5;--b-top:rgba(255,255,255,.92);--b-badge:#e0e7ff;--b-badge-tx:#3730a3;--b-soft:#e2e8f0;--b-soft-tx:#334155;--b-panel:#fff;background:transparent;color:var(--b-tx);min-height:100vh;font:14px/1.5 system-ui,-apple-system,'Segoe UI',Roboto,sans-serif}
html.dark .kbib{--b-tx:#e8eaf6;--b-card:rgba(255,255,255,.05);--b-line:rgba(255,255,255,.14);--b-in:rgba(255,255,255,.07);--b-link:#a5b4fc;--b-top:rgba(20,24,42,.92);--b-badge:#312e81;--b-badge-tx:#c7d2fe;--b-soft:#1e293b;--b-soft-tx:#cbd5e1;--b-panel:#14182a}
.kbib h1,.kbib h2,.kbib h3,.kbib button,.kbib input,.kbib select,.kbib textarea{font-family:inherit}
.kbib-top{display:flex;gap:.8rem;align-items:center;padding:.55rem 1rem;border-bottom:1px solid var(--b-line);background:var(--b-top)}
.kbib-top a{color:var(--b-link);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 var(--b-line);background:var(--b-in);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:var(--b-link);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 var(--b-line);background:var(--b-card);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 var(--b-line);background:var(--b-card);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 var(--b-line);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 var(--b-line);background:var(--b-card)}
.kbib-badge{display:inline-block;font-size:.7rem;font-weight:700;padding:.1rem .4rem;border-radius:999px;background:var(--b-badge);color:var(--b-badge-tx);text-transform:uppercase}
.kbib-clip .meta{font-size:.8rem;opacity:.75;margin-top:.2rem}
.kbib-clip-actions a{color:var(--b-link);font-size:.85rem}
.kbib-more{margin-top:1rem;padding:.5rem 1rem;border-radius:.5rem;border:1px solid var(--b-line);background:var(--b-card);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 var(--b-line);background:var(--b-in);color:inherit}
.kbib-badge.soft{background:var(--b-soft);color:var(--b-soft-tx);font-weight:600}
.kbib-link{background:none;border:0;color:var(--b-link);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:var(--b-panel);border:1px solid var(--b-line);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 var(--b-line);background:var(--b-in);color:inherit;resize:vertical}
