:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}body{color:#2b2b2b;background:#f6f5f1;margin:0}@media (prefers-color-scheme:dark){body{color:#e8e6e1;background:#1b1b1b}}.app{max-width:900px;margin:0 auto;padding:2rem 1rem 4rem}.search{gap:.5rem;margin:1.5rem 0;display:flex}.search input{color:inherit;background:#fff;border:1px solid #ccc;border-radius:8px;flex:1;padding:.75rem 1rem;font-size:1rem}.search button{color:#fff;cursor:pointer;background:#2c5f4a;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem}.search button:disabled{opacity:.6;cursor:wait}.manual-form{margin-bottom:1.5rem}.hint{color:#888;text-align:center;margin-top:3rem}.warning{color:#8a1f1f;background:#fdecea;border-radius:8px;padding:.75rem 1rem}.results{flex-direction:column;gap:1rem;display:flex}.book-card{background:#fff;border:1px solid #e2ded5;border-radius:10px;gap:1rem;padding:1rem;display:flex}@media (prefers-color-scheme:dark){.book-card{background:#242424;border-color:#3a3a3a}}.book-cover{object-fit:cover;border-radius:4px;flex-shrink:0;width:88px;height:128px}.book-cover-placeholder{color:#999;text-align:center;background:#eee;justify-content:center;align-items:center;font-size:.8rem;display:flex}.book-title{margin:0;font-size:1.05rem}.book-subtitle{color:#666;margin:.15rem 0 0}.book-authors{color:#444;margin:.3rem 0 0}.book-meta{color:#888;margin:.3rem 0 0;font-size:.9rem}.book-tags{flex-wrap:wrap;gap:.4rem;margin:.5rem 0 0;display:flex}.tag{color:#666;background:#efede7;border-radius:999px;padding:.15rem .6rem;font-size:.75rem}@media (prefers-color-scheme:dark){.tag{color:#aaa;background:#333}}.tag-source{color:#2c5f4a;background:#e3efe8}.header-user{color:#888;align-self:center;font-size:.85rem}.hero{border:1px solid #44403c;border-radius:24px;align-items:flex-end;min-height:22rem;margin-bottom:2rem;display:flex;position:relative;overflow:hidden}.hero-bg{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero-content{z-index:1;width:100%;padding:2rem;position:relative}.hero-label{letter-spacing:.28em;text-transform:uppercase;color:#f59e0b;margin:0 0 .6rem;font-size:.75rem;font-weight:600}.hero-title{letter-spacing:-.02em;color:#f5f5f4;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.6rem,7vw,4.5rem);line-height:.98}.hero-dot{color:#f59e0b}.hero-tagline{color:#d6d3d1;margin:.7rem 0 0;font-size:1.1rem}.hero-tagline strong{color:#f5f5f4;font-weight:600}.tabs{border-bottom:1px solid #e2ded5;gap:.25rem;margin:1rem 0 1.5rem;display:flex}.tab{cursor:pointer;color:#666;background:0 0;border:none;border-bottom:2px solid #0000;padding:.5rem 1rem;font-size:1rem}.tab.active{color:#2c5f4a;border-bottom-color:#2c5f4a;font-weight:600}.login{background:#fff;border:1px solid #e2ded5;border-radius:10px;flex-direction:column;gap:.75rem;max-width:360px;margin:3rem auto;padding:1.5rem;display:flex}@media (prefers-color-scheme:dark){.login{background:#242424;border-color:#3a3a3a}}.login input{color:inherit;background:#fff;border:1px solid #ccc;border-radius:8px;padding:.65rem .9rem;font-size:1rem}.login h2{margin:0 0 .25rem}.login button[type=submit]{color:#fff;cursor:pointer;background:#2c5f4a;border:none;border-radius:8px;padding:.65rem;font-size:1rem}.login-switch{color:#888;text-align:center;margin:.25rem 0 0;font-size:.9rem}.link{color:#2c5f4a;cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.add-btn{color:#fff;cursor:pointer;background:#2c5f4a;border:1px solid #2c5f4a;border-radius:8px;margin-top:.75rem;padding:.4rem .9rem;font-size:.9rem}.add-form{flex-direction:column;gap:.5rem;margin-top:.75rem;display:flex}.add-hint{color:#666;margin:0;font-size:.9rem}.add-form input{color:inherit;background:#fff;border:1px solid #ccc;border-radius:8px;padding:.5rem .75rem;font-size:.95rem}.add-actions,.location-edit{gap:.5rem;display:flex}.add-actions button[type=submit],.location-edit button[type=submit]{color:#fff;cursor:pointer;background:#2c5f4a;border:none;border-radius:8px;padding:.45rem .9rem}.ghost{color:inherit;cursor:pointer;background:0 0;border:1px solid #ccc;border-radius:8px;padding:.45rem .9rem;font-size:.9rem}.ghost.danger{color:#a33;border-color:#d99;margin-top:.5rem}.book-location{flex-wrap:wrap;align-items:center;gap:.4rem;margin:.75rem 0 0;display:flex}.location-value{color:#1d4d3a;background:#e3efe8;border-radius:8px;padding:.45rem .9rem;font-size:1.15rem;font-weight:700;display:inline-block}@media (prefers-color-scheme:dark){.location-value{color:#bfe6d2;background:#2a4a3c}}.book-location .link{font-weight:400}.find-head{justify-content:space-between;align-items:center;gap:1rem;margin:0 0 .5rem;display:flex}.find-title{margin:0;font-size:1.6rem}.find-actions{align-items:center;gap:.5rem;display:flex}.search-big input{border-radius:10px;padding:.9rem 1.1rem;font-size:1.15rem}.find-count{color:#888;margin:.6rem 0 0;font-size:.9rem}.find .book-card:first-of-type{margin-top:1rem}.location-edit{margin-top:.5rem}.location-edit input{color:inherit;background:#fff;border:1px solid #ccc;border-radius:8px;flex:1;padding:.4rem .6rem}.pagination{justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.pagination .ghost:disabled{opacity:.5;cursor:not-allowed}.pagination-page{color:#888;font-size:.9rem}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:800px;max-height:90vh;animation:.2s ease-out modal-fadeIn;position:relative;overflow-y:auto;box-shadow:0 10px 30px #0000004d}@keyframes modal-fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-close{cursor:pointer;color:#666;background:0 0;border:none;font-size:28px;line-height:1;transition:color .2s;position:absolute;top:15px;right:20px}.modal-close:hover{color:#000}.modal-body{gap:30px;padding:40px;display:flex}@media (width<=600px){.modal-body{flex-direction:column;gap:20px;padding:30px 20px}}.modal-left{flex-direction:column;flex:0 0 200px;align-items:center;display:flex}.modal-cover{object-fit:cover;border-radius:6px;width:100%;max-width:200px;box-shadow:0 4px 15px #00000026}.modal-cover-placeholder{color:#888;background:#eee;border:1px dashed #ccc;border-radius:6px;justify-content:center;align-items:center;width:150px;height:220px;font-weight:700;display:flex}.modal-right{flex-direction:column;flex:1;gap:15px;display:flex}.modal-title{color:#111;margin:0;font-size:24px;line-height:1.2}.modal-subtitle{color:#666;margin:-5px 0 0;font-size:16px;font-weight:400}.modal-authors{margin:0;font-size:16px}.modal-grid{background:#f8f9fa;border-radius:8px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;padding:15px;font-size:14px;display:grid}.modal-grid p{margin:0}.modal-highlight{color:#004085;background:#e9f5ff;border-radius:4px;grid-column:1/-1;padding:6px 10px}.modal-categories{font-size:14px}.modal-tag-list{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.modal-tag{color:#383d41;background:#e2e3e5;border-radius:4px;padding:4px 8px;font-size:12px}.modal-tag.shelf-tag{color:#155724;background:#d4edda}.modal-description{border-top:1px solid #eee;margin-top:10px;padding-top:15px;font-size:14px;line-height:1.6}.modal-description p{color:#444;white-space:pre-line;margin:6px 0 0}.book-title{cursor:pointer;transition:color .2s}.book-title:hover{text-decoration:underline;color:#2c5f4a!important}.book-cover{cursor:pointer;transition:transform .2s,opacity .2s}.book-cover:hover{opacity:.9;transform:translateY(-3px)}@media (prefers-color-scheme:dark){.modal-content{color:#e7e5e4;background:#1c1a17;box-shadow:0 10px 30px #00000080}.modal-title{color:#f5f5f4}.modal-subtitle,.modal-close{color:#a8a29e}.modal-close:hover{color:#f5f5f4}.modal-grid{background:#292524}.modal-highlight{color:#a3cfbb;background:#1c2d26}.modal-tag{color:#e7e5e4;background:#44403c}.modal-tag.shelf-tag{color:#a3cfbb;background:#1d3326}.modal-description{border-top-color:#292524}.modal-description p{color:#d6d3d1}.modal-cover-placeholder{color:#78716c;background:#292524;border-color:#44403c}}
