:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#f0e7d8;background-color:#14102d;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@tailwind base;@tailwind components;@tailwind utilities;a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#f0e7d8;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}#root{max-width:1000px;margin:0 auto;padding:1.5rem 1rem 2rem;font-family:Montserrat,sans-serif}.poiret-one-regular{font-family:Poiret One,sans-serif;font-weight:400;font-style:normal}.cinzel-decorative-regular{font-family:Cinzel Decorative,serif;font-weight:400;font-style:normal}.cinzel-decorative-bold{font-family:Cinzel Decorative,serif;font-weight:700;font-style:normal}.cinzel-decorative-black{font-family:Cinzel Decorative,serif;font-weight:900;font-style:normal}.montserrat-regular{font-family:Montserrat,sans-serif;font-optical-sizing:auto;font-weight:400;font-style:normal}.app-header{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:.5rem 1rem;border-radius:8px}.app-title{margin:0;font-size:2rem;font-family:Cinzel Decorative,serif;font-weight:400;text-align:center;grid-column:2}.app-header .app-title{color:#f0e7d8;text-shadow:#14102D 1px 1px 2px}@media(max-width:350px){.app-title{font-size:1.5rem}}.header-left{display:flex;justify-content:flex-start;grid-column:1}.app-nav{display:flex;justify-content:flex-end;grid-column:3}.icon-button{width:56px;height:56px;min-width:60px;min-height:60px;background:#2a2a2a;border:2px solid #3a3a3a;color:#f0e7d8;cursor:pointer;padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 2px 4px #0003}.icon-button:hover{background:#3a3a3a;transform:scale(1.05);box-shadow:0 4px 8px #0003}.icon-button svg{width:24px;height:24px}.profile-icon-button{width:48px;height:48px;min-width:60px;min-height:60px;border-radius:50%;background-color:#2a2a2a;color:#f0e7d8;border:2px solid #4a4a4a;display:flex;align-items:center;justify-content:center;font-family:Montserrat,sans-serif;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0003}.profile-icon-button:hover{background-color:#4a4a4a;transform:scale(1.05);box-shadow:0 4px 8px #0003}.profile-icon-button{width:48px;height:48px;border-radius:9999px;display:flex;align-items:center;justify-content:center;padding:0}@media(max-width:1000px){.profile-icon-button,.icon-button{width:40px;height:40px}}.bottom-nav{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);gap:4rem;display:flex;justify-content:space-evenly;padding:10px 0}.library-page .bottom-nav button{box-shadow:0 4px 10px #0006}@media(min-width:700px){.bottom-nav{gap:6rem}.icon-button,.profile-icon-button{width:60px;height:60px}.icon-button svg{width:28px;height:28px}}.discover-page,.book-detail-page{max-width:1000px;margin:0 auto}.library-page{max-width:1000px;margin:0 auto 3rem;padding:0 4%}.filtration{max-width:1000px;margin:0 auto 6rem;padding:0 15%;text-align:left}.library-sort{margin:.5rem 0 1rem}.library-sort label{font-weight:600}.library-sort select{font-weight:600;background-color:#14102d;color:#f0e7d8}.empty-library{margin-top:1rem;text-align:center;display:flex;justify-content:center}.filter-section,.results-section{margin-top:1rem;text-align:center}.filter-section{text-align:left}.genre-list{display:flex;flex-wrap:wrap;gap:.5rem 1rem}.filter-dropdown-toggle{width:100%;background:transparent;border:none;color:#f0e7d8;font-size:1.2rem;font-weight:600;text-align:left;padding:.75rem 0;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.filter-dropdown-toggle:after{content:"▶";font-size:.9rem;transition:transform .2s ease}.filter-dropdown-toggle--open:after{transform:rotate(90deg)}.genre-item{display:flex;align-items:center;gap:.35rem;font-size:.9rem}@media(min-width:700px){.filtration{padding:0 18%}.filter-dropdown-toggle{font-size:2rem;padding:.85rem 0}.genre-item{font-size:1.2rem}.genre-item input{width:1.1rem;height:1.1rem}}.discover-current-book{margin-bottom:5rem;transition:transform .3s ease-out,opacity .3s ease-out}.discover-current-book--swipe-left{transform:translate(-120%) rotate(-5deg);opacity:0}.discover-current-book--swipe-right{transform:translate(120%) rotate(5deg);opacity:0}.page-title{text-align:center;margin:0 auto 1rem;font-family:Montserrat,sans-serif}.home-page-title{margin:1rem auto;font-size:4rem}.home-page{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:1.5rem;margin-top:2rem}.welcome-page{display:flex;flex-direction:column;align-items:center}.welcome-content{max-width:480px;text-align:center;padding:0 4%}.welcome-content h2{font-size:1.4rem}.avatar-btn{margin-bottom:5rem}.change-avatar-btn{padding:.3em .7em}.home-actions{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:240px}.home-about{max-width:480px;text-align:center}.profile-bottom-buttons{display:flex;flex-direction:column;align-items:center;gap:.75rem}.book-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.library-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.library-actions{display:flex;justify-content:flex-end;margin-bottom:.5rem}.delete-multiple-btn{padding:.3em .7em}@media(max-width:600px){.library-card{grid-template-columns:auto 1fr auto;padding:.6rem .75rem}.library-card-main h2{font-size:.9rem}.library-card-main p{font-size:.8rem}.status-icon{font-size:1.1rem}.library-actions button,.delete-multiple-btn{font-size:.85rem;padding:.25em .6em}}.book-item{padding:.75rem 1rem;border-radius:8px;background-color:#fff;box-shadow:0 1px 3px #0f172a14}.book-item h3{margin:0 0 .25rem;font-size:1rem;color:#4b5563}.book-item p{margin:0;font-size:.875rem;color:#4b5563}.discover-book-cover{width:80%;max-width:360px;height:auto;display:block;margin:0 auto 1rem;object-fit:contain;border-radius:8px;box-shadow:0 2px 8px #00000059}.discover-book-cover--placeholder{display:flex;align-items:center;justify-content:center;height:320px;max-width:360px;margin:0 auto 1rem;background-color:#f0e7d8;color:#14102d;border-radius:8px;border:2px dashed #b19770;box-shadow:0 2px 8px #00000059;font-size:.95rem;text-align:center;padding:0 .75rem}.auth-page{max-width:400px;margin:2rem auto;padding:1.5rem 1.75rem;border-radius:12px;background-color:#fff;box-shadow:0 2px 8px #0f172a1f;text-align:left}.auth-page h1{margin-top:0;margin-bottom:1rem;font-size:1.5rem;color:#14102d}.auth-form{display:flex;flex-direction:column;gap:.75rem}.auth-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem;color:#14102d}.auth-form input{padding:.5rem .75rem;border-radius:6px;border:1px solid #d1d5db;font:inherit}.auth-page p{margin-top:1rem;font-size:.9rem;color:#14102d}.error-message{margin-top:.75rem;color:#b91c1c;font-size:.9rem}.save-message{margin-top:.75rem;font-size:.9rem;color:#15803d}.save-popup{position:fixed;bottom:5rem;left:50%;transform:translate(-50%);background-color:#15803d;color:#fff;padding:.5rem 1rem;border-radius:9999px;font-size:.9rem;box-shadow:0 4px 10px #0000004d;z-index:50}.save-popup--already-saved{background-color:#7c3aed}.go-back-btn{padding:.4em .8em;margin:0 1rem}.book-detail-content{margin-top:1.5rem;display:flex;flex-direction:column;gap:1rem;align-items:center}.book-detail-cover{max-width:250px;width:100%;border-radius:8px;box-shadow:0 2px 8px #0f172a26}.book-detail-info h1{margin-top:0;margin-bottom:.5rem;color:#f0e7d8}.book-detail-meta{text-align:center}.book-detail-info p{margin:.25rem 0}.book-detail-description{margin-top:1rem;padding:0 2rem}.book-detail-description h2{margin:0 0 .5rem;font-size:1.1rem}.book-detail-description p{margin:0;font-size:.95rem;line-height:1.5;margin-bottom:4rem}@media(min-width:700px){.book-detail-info h1{font-size:2.5rem;text-shadow:#14102D 1px 1px 2px}.book-detail-meta{font-size:1.4rem}.book-detail-description h2{font-size:2.2rem}.book-detail-description p{font-size:1.5rem}}.profile-page{max-width:600px;margin:0 auto}.profile-content{margin-top:1rem;text-align:center;display:flex;justify-content:center}.profile-preferences{margin-top:1rem}.profile-preference-group{margin-bottom:6rem}.profile-preference-group h3{text-align:center;margin-bottom:.5rem}.profile-preference-group ul{list-style:none;display:flex;padding:0;margin:0 auto;max-width:400px;columns:2;column-gap:1.5rem;justify-content:center}.profile-preference-group li{break-inside:avoid;padding:.15rem 0}.library-list{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.75rem}.library-card{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;column-gap:.75rem;padding:.75rem 1rem;border-radius:8px;background-color:#f0e7d8;box-shadow:0 1px 3px #0f172a14}.library-card-cover{width:56px;height:84px;object-fit:cover;border-radius:4px}.library-card-main{flex:1;text-align:center}.library-card-main h2{margin:0 0 .25rem;font-size:1.2rem;color:#4b5563}.library-card-main p{margin:0;color:#4b5563}@media(max-width:600px){.library-card-main h2{font-size:.9rem}}.library-card-status{display:flex;align-items:center;justify-content:flex-end;gap:.25rem}.status-icon{font-size:1.4rem;font-weight:700}.status-icon.heart{color:#dc2626}.status-icon.check{color:#176133}.library-card-menu{position:relative}.menu-button{padding:0;font-size:2rem;font-weight:550}.menu-dropdown{position:absolute;right:0;top:100%;margin-top:.25rem;padding:.25rem 0;background-color:#fff;box-shadow:0 2px 8px #0f172a2e;border-radius:6px;min-width:120px;z-index:10}.menu-item{display:block;width:100%;padding:.35rem .75rem;background:transparent;border:none;text-align:left;font-size:.85rem}.menu-item:hover{background-color:#f3f4f6}.menu-item.active{font-weight:600}.spinner{display:inline-flex;align-items:center;gap:.5rem}.spinner-container{display:flex;justify-content:center;align-items:center;padding:2rem 0}.spinner-circle{width:1.5rem;height:1.5rem;border-radius:9999px;border:3px solid rgba(240,231,216,.4);border-top-color:#f0e7d8;animation:spinner-rotate .8s linear infinite}.spinner-label{font-size:.95rem}@keyframes spinner-rotate{to{transform:rotate(360deg)}}
