.lib-add-btn{font-family:var(--mono);letter-spacing:.2em;color:var(--cyan);border:1px solid var(--cyan-glow);margin-bottom:2rem;padding:.6rem 1.2rem;font-size:.7rem;display:inline-block}.lib-add-btn:hover{border-color:var(--cyan);box-shadow:0 0 16px var(--cyan-glow)}.lib-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:1.5rem;display:grid}.lib-card{border:1px solid var(--cyan-glow);background:#080a0c8c;transition:border-color .3s,box-shadow .3s,transform .3s;position:relative}.lib-card:hover{border-color:var(--cyan);box-shadow:0 0 24px var(--cyan-glow);transform:translateY(-3px)}.lib-cover{aspect-ratio:2/3;object-fit:cover;background:#0a0d10;width:100%;display:block}.lib-card-body{padding:.7rem .8rem}.lib-title{font-family:var(--serif);margin-bottom:.25rem;font-size:1.05rem;line-height:1.15}.lib-meta{font-family:var(--mono);letter-spacing:.12em;color:var(--text-dim);justify-content:space-between;font-size:.55rem;display:flex}.lib-meta .cyan{color:var(--cyan)}.lib-empty{font-family:var(--mono);color:var(--text-dim);letter-spacing:.1em}.series-head{flex-wrap:wrap;gap:2rem;margin-bottom:2.5rem;display:flex}.series-head .lib-cover{aspect-ratio:2/3;border:1px solid var(--cyan-glow);width:200px}.series-info{flex:1;min-width:260px}.series-info h1{font-family:var(--serif);margin-bottom:.5rem;font-size:2.4rem;line-height:1}.series-sub{font-family:var(--mono);letter-spacing:.18em;color:var(--cyan-dim);margin-bottom:1rem;font-size:.62rem}.series-desc{color:var(--text-dim);max-width:60ch;margin-bottom:1.2rem}.entry-panel{border:1px solid var(--cyan-glow);gap:.9rem;max-width:520px;margin-top:1.5rem;padding:1.2rem;display:grid}.entry-row{font-family:var(--mono);letter-spacing:.12em;color:var(--text-dim);align-items:center;gap:.8rem;font-size:.62rem;display:flex}.entry-panel select,.entry-panel input,.entry-panel textarea{border:1px solid var(--cyan-glow);color:var(--text);font-family:var(--mono);background:#0a0d10;padding:.4rem .6rem;font-size:.7rem}.entry-panel textarea{resize:vertical;width:100%;min-height:70px}.lib-btn{font-family:var(--mono);letter-spacing:.15em;color:var(--cyan);border:1px solid var(--cyan-glow);cursor:none;background:0 0;padding:.45rem .9rem;font-size:.62rem}.lib-btn:hover{border-color:var(--cyan);box-shadow:0 0 12px var(--cyan-glow)}.links-list{gap:.4rem;list-style:none;display:grid}.links-list a{color:var(--cyan);font-family:var(--mono);font-size:.65rem}.login-note{font-family:var(--mono);color:var(--text-dim);font-size:.62rem}.lib-filters{flex-wrap:wrap;align-items:center;gap:.7rem;margin-bottom:1.6rem;display:flex}.lib-search{border:1px solid var(--cyan-glow);min-width:180px;color:var(--text);font-family:var(--mono);letter-spacing:.06em;background:#0a0d10;flex:1;padding:.55rem .8rem;font-size:.7rem}.lib-search:focus{border-color:var(--cyan);box-shadow:0 0 12px var(--cyan-glow);outline:none}.lib-chips{flex-wrap:wrap;gap:.4rem;display:flex}.lib-chip{font-family:var(--mono);letter-spacing:.14em;color:var(--text-dim);border:1px solid var(--cyan-glow);cursor:none;background:0 0;padding:.5rem .7rem;font-size:.58rem}.lib-chip.active,.lib-chip:hover{color:var(--cyan);border-color:var(--cyan);box-shadow:0 0 10px var(--cyan-glow)}.lib-select{font-family:var(--mono);letter-spacing:.12em;color:var(--text);border:1px solid var(--cyan-glow);cursor:none;background:#0a0d10;padding:.5rem .6rem;font-size:.58rem}.lib-loadmore{font-family:var(--mono);letter-spacing:.22em;color:var(--cyan);border:1px solid var(--cyan-glow);cursor:none;background:0 0;margin:1.8rem auto 0;padding:.6rem 1.8rem;font-size:.62rem;display:block}.lib-loadmore:hover{border-color:var(--cyan);box-shadow:0 0 14px var(--cyan-glow)}.lib-loadmore[hidden]{display:none}.reviews-head{font-family:var(--mono);letter-spacing:.28em;color:var(--cyan);border-bottom:1px solid var(--cyan-glow);margin:2.5rem 0 1.1rem;padding-bottom:.6rem;font-size:.7rem}.review-form{border:1px solid var(--cyan-glow);gap:.7rem;max-width:620px;margin-bottom:1.4rem;padding:1rem 1.1rem;display:grid}.review-form textarea{resize:vertical;border:1px solid var(--cyan-glow);width:100%;min-height:70px;color:var(--text);font-family:var(--mono);background:#0a0d10;padding:.5rem .6rem;font-size:.72rem}.reviews-list{gap:1rem;max-width:680px;padding:0;list-style:none;display:grid}.review{border-top:1px solid var(--cyan-glow);padding-top:.9rem}.review-who{font-family:var(--mono);letter-spacing:.1em;align-items:center;gap:.7rem;margin-bottom:.4rem;font-size:.62rem;display:flex}.review-name{color:var(--text)}.review-score{color:var(--cyan);border:1px solid var(--cyan-glow);padding:.05rem .4rem;font-size:.55rem}.review-mine{color:var(--cyan-dim);letter-spacing:.12em;font-size:.52rem}.review-body{color:var(--text-dim);max-width:74ch;font-size:.82rem;line-height:1.55}.lib-tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:1.6rem;display:flex}.lib-tab{font-family:var(--mono);letter-spacing:.14em;color:var(--text-dim);border:1px solid var(--cyan-glow);cursor:none;background:0 0;padding:.5rem .8rem;font-size:.58rem}.lib-tab.active,.lib-tab:hover{color:var(--cyan);border-color:var(--cyan);box-shadow:0 0 10px var(--cyan-glow)}.lib-tab.fav{margin-left:auto}.lib-prog{font-family:var(--mono);letter-spacing:.1em;color:var(--cyan-dim);margin-bottom:.3rem;font-size:.55rem}.lib-link{color:var(--cyan)}
