@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--primary:#4f46e5;--primary-hover:#4338ca;--bg-main:#f8fafc;--bg-card:#fff;--text-main:#0f172a;--text-muted:#64748b;--border-color:#e2e8f0;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--accent:#f5f3ff}*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,system-ui,sans-serif}body{background:var(--bg-main);color:var(--text-main);min-height:100vh;line-height:1.5;overflow-x:hidden}.modal-glow{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 20px 50px #4f46e51f,0 0 0 1px #4f46e50d}.animate-fade{animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.navbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);z-index:100;background:#ffffffd9;position:sticky;top:0}.main-content{padding:2.5rem 2rem}.nav-text-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:.75rem;padding:.5rem .75rem;font-size:.95rem;font-weight:700;transition:all .2s}.nav-text-btn:hover{color:var(--text-main);background:#f1f5f9}.nav-text-btn.active{color:var(--primary)}.genre-pill{border:1px solid var(--border-color);color:#475569;cursor:pointer;white-space:nowrap;background:#f8fafc;border-radius:2rem;padding:.35rem 1rem;font-size:.8rem;font-weight:700;transition:all .2s}.genre-pill:hover{color:var(--text-main);background:#e2e8f0}.genre-pill.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 4px 10px #4f46e533}.hide-scrollbar::-webkit-scrollbar{display:none}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.025em;margin-bottom:.35rem;font-size:.75rem;font-weight:700;display:block}.label-small{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.35rem;font-size:.7rem;font-weight:800;display:block}.input-field{border:1px solid var(--border-color);background:#fff;border-radius:.75rem;outline:none;width:100%;padding:.65rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s}.input-field:focus{border-color:var(--primary);box-shadow:0 0 0 4px #4f46e514}.btn-primary{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:.85rem;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:700;transition:all .2s;display:inline-flex}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 10px 20px #4f46e533}.btn-secondary{color:var(--text-main);cursor:pointer;background:#f1f5f9;border:none;border-radius:.85rem;padding:.75rem 1.25rem;font-weight:600;transition:all .2s}.btn-ghost{color:var(--text-muted);border:1px solid var(--border-color);cursor:pointer;background:0 0;border-radius:.85rem;justify-content:center;align-items:center;padding:.6rem;transition:all .2s;display:flex}.btn-ghost:hover{color:var(--text-main);background:#f1f5f9}.btn-tab{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:.6rem;padding:.5rem 1rem;font-weight:700;transition:all .2s}.btn-tab.active{color:var(--primary);box-shadow:var(--shadow-sm);background:#fff}.book-tags{border:1px solid var(--border-color);background:#fcfcfd;border-radius:.75rem;flex-wrap:wrap;gap:.35rem;min-height:42px;padding:.35rem;display:flex}.tag{background:var(--accent);color:var(--primary);border-radius:.4rem;align-items:center;gap:.25rem;padding:.2rem .5rem;font-size:.8rem;font-weight:600;display:flex}.tag svg{cursor:pointer;opacity:.6;transition:opacity .2s}.tag svg:hover{opacity:1}.tag-input{background:0 0;border:none;outline:none;flex:1;min-width:80px;padding:.15rem;font-size:.85rem}.search-bar-container{flex:1;max-width:500px;position:relative}.search-icon{color:var(--text-muted);position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.search-input{background:#f1f5f9;border:1px solid #0000;border-radius:.85rem;outline:none;width:100%;padding:.7rem 1rem .7rem 3rem;font-size:.95rem;font-weight:500;transition:all .2s}.search-input:focus{border-color:var(--border-color);background:#fff;box-shadow:0 4px 12px #00000008}.custom-select-container{position:relative}.custom-options{border:1px solid var(--border-color);z-index:100;background:#fffffffa;border-radius:.75rem;flex-direction:column;gap:.1rem;min-width:220px;padding:.4rem;display:flex;position:absolute;top:calc(100% + .5rem);left:0}.custom-options div{cursor:pointer;color:var(--text-main);border-radius:.5rem;padding:.6rem .85rem;font-size:.85rem;font-weight:600;transition:all .2s}.custom-options div:hover,.custom-options div.selected{background:var(--primary);color:#fff}.shelf-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:2rem;display:grid}.folder-card{cursor:pointer;border:1px solid var(--border-color);background:#fff;border-radius:1.25rem;align-items:center;gap:1.25rem;padding:1.5rem;transition:all .3s;display:flex}.folder-card:hover{border-color:var(--primary);transform:translateY(-4px);box-shadow:0 12px 30px #0000000f}.folder-icon-wrapper{background:var(--accent);border-radius:1rem;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.folder-info h3{margin-bottom:.15rem;font-size:1rem;font-weight:800}.folder-info span{color:var(--text-muted);font-size:.8rem;font-weight:500}.book-card-small{border:1px solid var(--border-color);cursor:pointer;background:#fff;border-radius:1.25rem;flex-direction:column;padding:.85rem;transition:all .4s cubic-bezier(.165,.84,.44,1);display:flex}.book-card-small:hover{border-color:var(--primary);transform:translateY(-6px);box-shadow:0 20px 40px #00000014}.book-cover-wrapper{aspect-ratio:2/3;background:#f1f5f9;border-radius:.85rem;width:100%;position:relative;overflow:hidden}.book-overlay-top{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;z-index:2;background:#0f172acc;border-radius:.4rem;align-items:center;gap:.2rem;padding:.2rem .4rem;font-size:.7rem;font-weight:700;display:flex;position:absolute;top:.5rem;right:.5rem}.book-status-badge{color:#fff;z-index:2;text-transform:uppercase;letter-spacing:.05em;border-radius:.4rem;padding:.2rem .5rem;font-size:.65rem;font-weight:800;position:absolute;top:.5rem;left:.5rem}.book-status-badge.read{background:#10b981}.book-status-badge.reading{background:var(--primary)}.book-cover-wrapper img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.book-card-small:hover .book-cover-wrapper img{transform:scale(1.05)}.book-details-small{padding-top:1rem}.book-details-small h4{white-space:nowrap;text-overflow:ellipsis;margin-bottom:.25rem;font-size:.95rem;font-weight:800;overflow:hidden}.book-details-small p{color:var(--text-muted);height:1.2rem;margin-bottom:.25rem;font-size:.8rem;font-weight:600;overflow:hidden}.book-meta-small{color:var(--text-muted);opacity:.8;gap:.35rem;margin-bottom:.5rem;font-size:.72rem;font-weight:600;display:flex}.progress-container{background:#f1f5f9;border-radius:10px;align-items:center;width:100%;height:6px;display:flex;position:relative;overflow:hidden}.progress-bar{background:var(--primary);border-radius:10px;height:100%;transition:width .5s}.progress-text{color:var(--primary);font-size:.7rem;font-weight:800;position:absolute;top:-14px;right:0}.context-menu{z-index:1000;border:1px solid var(--border-color);background:#fffffff2;border-radius:.75rem;flex-direction:column;gap:.1rem;min-width:220px;padding:.4rem;display:flex;position:fixed}.context-menu button{text-align:left;cursor:pointer;width:100%;color:var(--text-main);background:0 0;border:none;border-radius:.5rem;align-items:center;gap:.75rem;padding:.6rem .85rem;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.context-menu button:hover{background:var(--accent);color:var(--primary)}.context-submenu{min-width:180px;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);background:#fffffffa;border-radius:.75rem;flex-direction:column;gap:.1rem;padding:.4rem;display:flex;position:absolute}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a99;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-split{background:#fff;border-radius:1.25rem;width:100%;max-width:1250px;max-height:92vh;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.modal-left{background:#f8fafc;flex-direction:column;flex-shrink:0;width:380px;display:flex}.modal-left.upload-mode{justify-content:center;align-items:center;padding:2rem}.modal-left.view-mode{background:#0f172a;padding:0}.modal-left.view-mode img{object-fit:cover;width:100%;height:100%}.cover-upload-area{aspect-ratio:2/3;border:2px dashed var(--border-color);cursor:pointer;background:#fff;border-radius:1rem;flex-direction:column;justify-content:center;align-items:center;width:100%;transition:all .2s;display:flex;overflow:hidden}.cover-upload-area:hover{border-color:var(--primary);background:var(--accent)}.modal-right{background:#fff;flex-direction:column;flex:1;padding:2rem 2.5rem;display:flex;overflow-y:auto}.modal-header{justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;display:flex}.modal-header h2{color:#0f172a;margin:0;font-size:1.6rem;font-weight:800}.modal-form-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.form-col{flex-direction:column;gap:1rem;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.notes-block{background:#f8fafc;border:1px solid #e2e8f0;border-radius:1rem;flex-direction:column;gap:.5rem;padding:1.25rem;display:flex}.notes-block p{color:#334155;margin:0;font-size:.95rem;line-height:1.5}.notes-block span.strong{color:#0f172a;font-weight:700}.status-badge{background:var(--primary);color:#fff;text-transform:uppercase;letter-spacing:.05em;border-radius:.4rem;padding:.25rem .6rem;font-size:.75rem;font-weight:800;display:inline-flex}.status-badge.bought-true{background:#10b981}.status-badge.bought-false{background:#ef4444}.login-screen{background:#f1f5f9;place-items:center;height:100vh;display:grid}.login-box{background:#fff;border-radius:2.5rem;width:100%;max-width:440px;padding:3.5rem}
