#not-logged-page{min-height:100vh;background:#f7f9fc;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#00356b;display:flex;justify-content:center;align-items:center;padding:1.5rem 1.75rem}.not-logged-page{width:100%}.not-logged-card{width:100%;max-width:480px;background:#fff;border-radius:12px;border:1px solid #e3e6ea;box-shadow:0 10px 30px #0000000f;padding:1.8rem 2rem;text-align:center}.not-logged-title{margin:0 0 .6rem;font-size:1.8rem;font-weight:700}.not-logged-text{margin:0 0 1.3rem;font-size:.95rem;color:#5a6a80}.primary-button{background:#00356b;color:#fff;border:1px solid #00356b;border-radius:999px;padding:.5rem 1.6rem;font-size:.95rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .18s ease,transform .12s ease,box-shadow .12s ease,border-color .12s ease}.not-logged-button{margin-top:.3rem;min-width:180px}@media(max-width:600px){#not-logged-page{padding:1.2rem 1rem}.not-logged-card{padding:1.5rem 1.3rem}.not-logged-title{font-size:1.6rem}}.demo-login-form{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;text-align:left;margin-bottom:.8rem}.demo-login-label{font-size:.85rem;font-weight:600;color:#00356b}.demo-login-input{width:100%;box-sizing:border-box;padding:.55rem .85rem;font-size:.95rem;font-family:inherit;color:#00356b;background:#fff;border:1px solid #d7dce3;border-radius:999px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.demo-login-input:focus{border-color:#00356b;box-shadow:0 0 0 3px #00356b1f}.demo-login-form .not-logged-button{align-self:center;margin-top:.5rem}.demo-login-form .not-logged-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.demo-login-error{margin:0;font-size:.85rem;color:#b3261e}.demo-login-note{margin:0 0 1.1rem;font-size:.8rem;color:#8a97a8}.cas-dropdown{border-top:1px solid #e3e6ea;padding-top:.9rem;text-align:center}.cas-dropdown-summary{cursor:pointer;list-style:none;font-size:.9rem;font-weight:600;color:#0f4d92;-webkit-user-select:none;user-select:none}.cas-dropdown-summary::-webkit-details-marker{display:none}.cas-dropdown-summary:after{content:" ▾"}.cas-dropdown[open] .cas-dropdown-summary:after{content:" ▴"}.cas-dropdown-summary:hover{text-decoration:underline}.cas-dropdown-body{padding-top:.8rem}.cas-dropdown-body .not-logged-text{margin-bottom:.9rem}#home-page{background:#f7f9fc;min-height:100vh;padding:1.5rem 1.75rem 2.5rem;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#00356b}.home-header{max-width:1100px;margin:0 auto 1.6rem;padding:1rem 1.2rem;background:#fff;border-radius:12px;border:1px solid #e3e6ea;box-shadow:0 4px 14px #0000000a;display:flex;flex-direction:column;gap:.4rem}.page-title{font-size:2rem;font-weight:700;margin:0}.welcome-text{font-size:.98rem;color:#5a6a80;margin:.1rem 0 0}.home-header:after{content:"";display:block;margin-top:.7rem;height:2px;width:70px;border-radius:999px;background:linear-gradient(90deg,#00356b,#0f4d92)}.book-list-container{max-width:1100px;margin:0 auto}.book-list-container h2{font-size:1.15rem;margin:0 0 .8rem;color:#00356b;font-weight:600}.book-list{list-style:none;padding:0;margin:.9rem 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));column-gap:1.4rem;row-gap:1.9rem}.book-list-item{margin:0}.book-link{text-decoration:none;color:inherit}.book-card{background:#fff;border-radius:12px;border:1px solid #e3e6ea;box-shadow:0 4px 12px #00000008;display:flex;flex-direction:column;align-items:stretch;padding:.75rem .8rem .85rem;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.book-card:hover{transform:translateY(-4px);box-shadow:0 10px 24px #00000017;border-color:#c7d1de}.book-cover{flex-shrink:0;width:100%;max-width:140px;margin:0 auto .55rem;aspect-ratio:2 / 3;object-fit:cover;border-radius:8px;border:1px solid #e3e6ea;background:#fff}.book-info{display:flex;flex-direction:column;gap:.25rem;min-width:0}#home-page .book-title{font-size:.78rem;font-weight:500;color:#00356b;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.book-rating{margin-top:.05rem;font-size:.86rem;color:#0f4d92;display:inline-flex;align-items:center;padding:.12rem .5rem;border-radius:999px;background:#e7edf6}@media(max-width:900px){#home-page{padding:1.3rem 1.1rem 2rem}.page-title{font-size:1.8rem}.book-list{column-gap:1.2rem;row-gap:1.6rem}}@media(max-width:600px){#home-page{padding:1rem .85rem 1.8rem}.home-header{padding:.9rem .95rem}.page-title{font-size:1.6rem}.book-card{padding:.7rem .8rem .8rem}.book-cover{max-width:120px}#home-page .book-title{font-size:.74rem}.book-rating{font-size:.82rem}}.navbar{display:flex;justify-content:flex-start;align-items:center;padding:.7rem 1.2rem;background-color:#f9f9f9;border-bottom:1px solid #eaeaea;position:sticky;top:0;z-index:1000}.navbar-inner{width:100%;display:flex;align-items:center}.nav-left{display:flex;align-items:center;margin-right:auto}#navbar-title{font-size:1.4rem;font-weight:700;color:#00356b;letter-spacing:.4px}.nav-links{display:flex;flex-direction:row;flex-wrap:wrap;gap:1.2rem;list-style:none;margin:0;padding:0}.nav-links a{text-decoration:none;color:#00356b;font-weight:500;font-size:.96rem;transition:color .2s ease}.nav-links a:hover{color:#0f4d92}.active-link a{border-bottom:2px solid #00356b;padding-bottom:2px;font-weight:600}.logout-button{background:#00356b;color:#fff;border:none;padding:6px 14px;border-radius:6px;font-size:.9rem;cursor:pointer;transition:background .2s ease,transform .15s ease}.logout-button:hover{background:#0f4d92;transform:translateY(-2px)}@media(max-width:900px){.nav-links{gap:.9rem}#navbar-title{font-size:1.2rem}}@media(max-width:700px){.navbar{padding:.5rem .8rem}#navbar-title{font-size:1.1rem}.nav-links{justify-content:flex-end;gap:.6rem}.nav-links a{font-size:.85rem}.logout-button{padding:5px 10px;font-size:.8rem}}html{scrollbar-gutter:stable}#book-page{min-height:100vh;background:#f7f9fc;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#00356b;padding:1.5rem 1.75rem 2.5rem}.book-header{max-width:1100px;margin:0 auto 1rem}.book-layout{max-width:1100px;margin:0 auto;display:flex;gap:2rem;align-items:flex-start}.book-main{flex:2;min-width:0}.book-side{flex:1;display:flex;justify-content:flex-end}.book-title-block{margin-bottom:1rem}.book-title{margin:0 0 .5rem;font-size:2rem;overflow-wrap:anywhere}.book-authors{list-style:none;margin:0 0 .4rem;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}.book-author-item{font-size:.9rem}.book-author-link{text-decoration:none;color:#0f4d92;padding:.15rem .5rem;border-radius:999px;background:#e7edf6;transition:background .15s ease,color .15s ease}.book-author-link:hover{background:#d1def2;color:#00356b}.book-genres{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}.book-genre-chip{font-size:.8rem;padding:.2rem .6rem;border-radius:999px;background:#eef2f7;color:#445468}.book-meta{margin-bottom:.9rem;display:flex;flex-wrap:wrap;gap:.75rem;font-size:.9rem;color:#5a6a80}.book-average-rating{font-size:.9rem;font-weight:600;color:#0f4d92;padding:.15rem .6rem;border-radius:999px;background:#e7edf6}.book-length{margin:0}.book-purchase-link{margin:0;text-decoration:none;color:#0f4d92;font-weight:500;padding:.1rem .4rem;border-radius:999px;background:#e7edf6;transition:background .15s ease,color .15s ease}.book-purchase-link:hover{background:#d1def2;color:#00356b}.book-blurb{margin-top:.5rem;margin-bottom:1.2rem;line-height:1.5;font-size:.95rem;color:#223144}.book-actions{margin-bottom:1.5rem}.book-actions-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:.7rem}.primary-button,.secondary-button{border-radius:999px;padding:.45rem 1.3rem;font-size:.9rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background .15s ease,color .15s ease,transform .1s ease,box-shadow .1s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.review-button{margin-top:.25rem;padding-inline:1.5rem}#book-page .primary-button,#book-page .secondary-button{max-width:100%;box-sizing:border-box}.book-review-action{font-size:.9rem}.already-reviewed-text{margin:.1rem 0 0;color:#5a6a80}.book-cover-card{background:#fff;border-radius:12px;border:1px solid #e3e6ea;padding:1rem 1.2rem;box-shadow:0 6px 18px #00000008;max-width:260px;width:100%;text-align:center}.book-cover-image{width:100%;aspect-ratio:2 / 3;object-fit:cover;border-radius:8px;border:1px solid #e3e6ea;background:#fff;margin-bottom:.6rem}.book-cover-link{display:inline-block;font-size:.8rem;text-decoration:none;color:#0f4d92;padding:.2rem .5rem;border-radius:999px;background:#e7edf6;transition:background .15s ease,color .15s ease}.book-cover-link:hover{background:#d1def2;color:#00356b}.book-reviews-section{max-width:1100px;margin:2.2rem auto 0}.reviews-title{margin-bottom:1rem}.reviews-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}.review-item{margin:0}.review-link-card{display:block;text-decoration:none;background:#fff;border-radius:10px;border:1px solid #e3e6ea;padding:.8rem 1rem;color:#00356b;transition:box-shadow .12s ease,transform .12s ease,border-color .12s ease}.review-link-card:hover{border-color:#c7d1de;box-shadow:0 4px 12px #0000000f;transform:translateY(-1px)}.review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.review-user{font-weight:600}.review-rating{font-size:.9rem;color:#0f4d92}.review-text{margin:.2rem 0 .4rem;font-size:.9rem;color:#223144}.review-date{margin:0;font-size:.78rem;color:#7b8798}@media(max-width:900px){#book-page{padding:1.2rem 1.1rem 2rem}.book-layout{gap:1.5rem}.book-title{font-size:1.8rem}}@media(max-width:700px){#book-page{padding:1rem .8rem 1.8rem}.book-layout{flex-direction:column}.book-side{justify-content:center}.book-cover-card{max-width:220px}}#wishlist-page{min-height:100vh;background:#f7f9fc;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#00356b;padding:1.5rem 1.75rem 2.5rem}.wishlist-header{max-width:900px;margin:0 auto 1.5rem}.wishlist-title{margin:0 0 .3rem;font-size:2rem;font-weight:700}.wishlist-subtitle{margin:0;font-size:.95rem;color:#5a6a80}.wishlist-content{max-width:1100px;margin:0 auto}.wishlist-list{list-style:none;padding:0;margin:1.5rem 0 2.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));column-gap:1.8rem;row-gap:2.5rem}.wishlist-item{position:relative;padding-bottom:1.4rem}.wishlist-item:after{content:"";position:absolute;left:.5rem;right:.5rem;bottom:0;height:4px;background:#e3e6ea;border-radius:999px}.wishlist-link{text-decoration:none;color:inherit}.wishlist-card{background:#fff;border-radius:10px;border:1px solid #e3e6ea;box-shadow:0 6px 18px #00000008;display:flex;flex-direction:column;overflow:hidden;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.wishlist-card:hover{transform:translateY(-4px);box-shadow:0 10px 24px #00000014}.wishlist-cover-wrapper{width:100%;padding:.9rem .9rem .4rem;display:flex;justify-content:center}.wishlist-cover{width:100%;max-width:160px;aspect-ratio:2 / 3;object-fit:cover;border-radius:8px;border:1px solid #e3e6ea;background:#fff}.wishlist-info{padding:.6rem .9rem .9rem;display:flex;flex-direction:column;gap:.3rem}.wishlist-book-title{font-size:1rem;font-weight:600;color:#00356b}.wishlist-meta{display:flex;justify-content:space-between;align-items:center}.wishlist-rating{font-size:.9rem;color:#0f4d92}@media(max-width:900px){#wishlist-page{padding:1.2rem 1.1rem 2rem}.wishlist-title{font-size:1.8rem}.wishlist-list{column-gap:1.4rem;row-gap:2.1rem}}@media(max-width:600px){#wishlist-page{padding:1rem .8rem 1.8rem}.wishlist-title{font-size:1.5rem}.wishlist-list{grid-template-columns:1fr}.wishlist-cover{max-width:140px}}#recommended-page{min-height:100vh;background:#f7f9fc;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#00356b;padding:1.5rem 1.75rem}.recommended-header{max-width:900px;margin:0 auto 1.5rem;text-align:left}.recommended-title{margin:0 0 .3rem;font-size:2rem;font-weight:700}.recommended-subtitle{margin:0;font-size:.95rem;color:#5a6a80}.recommended-content{max-width:1100px;margin:0 auto}.recommended-list{list-style:none;padding:0;margin:1.5rem 0 2.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));column-gap:1.8rem;row-gap:2.4rem}.recommended-item{position:relative;padding-bottom:1.4rem}.recommended-item:after{content:"";position:absolute;left:.5rem;right:.5rem;bottom:0;height:4px;background:#e3e6ea;border-radius:999px}.recommended-link{text-decoration:none;color:inherit}.recommended-card{background:#fff;border-radius:10px;border:1px solid #e3e6ea;box-shadow:0 6px 18px #00000008;display:flex;flex-direction:column;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease;cursor:pointer}.recommended-card:hover{transform:translateY(-4px);box-shadow:0 10px 24px #00000014}.recommended-cover-wrapper{width:100%;padding:.9rem .9rem .4rem;display:flex;justify-content:center}.recommended-cover{width:100%;max-width:160px;aspect-ratio:2 / 3;object-fit:cover;border-radius:8px;border:1px solid #e3e6ea;background:#fff}.recommended-info{padding:.6rem .9rem .9rem;display:flex;flex-direction:column;gap:.35rem}.recommended-book-title{font-size:1rem;font-weight:600;color:#00356b}.recommended-rating{font-size:.9rem;color:#0f4d92}@media(max-width:900px){#recommended-page{padding:1.2rem 1.1rem}.recommended-title{font-size:1.8rem}.recommended-list{column-gap:1.4rem;row-gap:2rem}}@media(max-width:600px){#recommended-page{padding:1rem .8rem}.recommended-title{font-size:1.5rem}.recommended-list{grid-template-columns:1fr;row-gap:1.8rem}.recommended-cover{max-width:140px}}#search-page{min-height:100vh;background:#f7f9fc;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#00356b;padding:1.5rem 1.75rem 2.5rem}.search-header{max-width:1100px;margin:0 auto 1.5rem}.search-title{margin:0 0 .3rem;font-size:2rem;font-weight:700}.search-subtitle{margin:0;font-size:.95rem;color:#5a6a80}.search-layout{max-width:1100px;margin:0 auto;display:flex;gap:2rem;align-items:flex-start}.search-form{flex:1.3;background:#fff;border-radius:12px;border:1px solid #e3e6ea;padding:1.25rem 1.4rem;box-shadow:0 6px 18px #00000008;display:flex;flex-direction:column;gap:.9rem}.search-field{display:flex;flex-direction:column;gap:.25rem}.search-label{font-size:.9rem;font-weight:600;color:#00356b}.search-label-hint{font-weight:400;font-size:.8rem;color:#7b8798}.search-input{font-size:.93rem;padding:.5rem .7rem;border-radius:8px;border:1px solid #d1d7e0;background:#fff;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.search-input:focus{border-color:#00356b;box-shadow:0 0 0 2px #00356b1f;background-color:#fbfdff}.genre-select-container{border-radius:8px;border:1px solid #d1d7e0;padding:.35rem;background:#fff}.genre-select{width:100%;border:none;outline:none;font-size:.9rem;background:transparent}.genre-select option{padding:.25rem .3rem}.toggle-field{margin-top:.25rem}.search-advanced-note{font-size:.85rem;color:#5a6a80;margin-top:.4rem}.search-actions{margin-top:.4rem;display:flex;justify-content:flex-start}.advanced-button{background:#fff;color:#00356b;border-radius:999px;border:1px solid #00356b;padding:.45rem 1.3rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,transform .1s ease,box-shadow .1s ease}.advanced-button:hover{background:#00356b;color:#fff;transform:translateY(-1px);box-shadow:0 4px 10px #0000001f}.search-results-section{flex:2}.search-empty-state{background:#fff;border-radius:12px;border:1px solid #e3e6ea;padding:1.2rem 1.4rem;text-align:center;font-size:.95rem;color:#5a6a80}.add-book-link{display:inline-block;margin-top:.5rem;text-decoration:none;color:#0f4d92;font-weight:500}.add-book-link:hover{text-decoration:underline}.search-results-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));column-gap:1.5rem;row-gap:2rem;margin-top:.5rem}.search-result-item{position:relative;padding-bottom:1.2rem}.search-result-item:after{content:"";position:absolute;left:.4rem;right:.4rem;bottom:0;height:3px;background:#e3e6ea;border-radius:999px}.search-result-link{text-decoration:none;color:inherit}.search-result-card{background:#fff;border-radius:10px;border:1px solid #e3e6ea;box-shadow:0 6px 18px #00000008;display:flex;flex-direction:column;overflow:hidden;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.search-result-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #00000014}.search-result-cover-wrapper{width:100%;padding:.9rem .9rem .4rem;display:flex;justify-content:center}.search-result-cover{width:100%;max-width:160px;aspect-ratio:2 / 3;object-fit:cover;border-radius:8px;border:1px solid #e3e6ea;background:#fff}.search-result-info{padding:.6rem .9rem .9rem;display:flex;flex-direction:column;gap:.3rem}.search-result-title{font-size:1rem;font-weight:600;color:#00356b}.search-result-meta{display:flex;justify-content:space-between;align-items:center}.search-result-rating{font-size:.9rem;color:#0f4d92}@media(max-width:900px){#search-page{padding:1.2rem 1.1rem 2rem}.search-layout{flex-direction:column}.search-form{order:1}.search-results-section{order:2}.search-title{font-size:1.8rem}}@media(max-width:600px){#search-page{padding:1rem .8rem 1.8rem}.search-title{font-size:1.5rem}.search-form{padding:1rem 1.05rem}.search-results-list{grid-template-columns:1fr}.search-result-cover{max-width:140px}}.search-results-section{flex:2;display:flex;flex-direction:column}.search-results-scroll{margin-top:.5rem;max-height:70vh;overflow-y:auto;padding-right:4px}.search-results-scroll::-webkit-scrollbar{width:6px}.search-results-scroll::-webkit-scrollbar-track{background:#f1f3f7;border-radius:999px}.search-results-scroll::-webkit-scrollbar-thumb{background:#c2ccd9;border-radius:999px}@media(max-width:600px){.search-results-scroll{max-height:55vh}}.form-error{margin:0;color:#b3261e;font-size:.9rem}#people-page{min-height:100vh;background:#f7f9fc;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#00356b;padding:1.5rem 1.75rem 2.5rem}.people-header{max-width:1100px;margin:0 auto 1.5rem}.people-title{margin:0 0 .3rem;font-size:2rem;font-weight:700}.people-subtitle{margin:0;font-size:.95rem;color:#5a6a80}.people-layout{max-width:1100px;margin:0 auto;display:flex;gap:2rem;align-items:flex-start}.people-form{flex:1.2;background:#fff;border-radius:12px;border:1px solid #e3e6ea;padding:1.25rem 1.4rem;box-shadow:0 6px 18px #00000008;display:flex;flex-direction:column;gap:.8rem}.people-field{display:flex;flex-direction:column;gap:.25rem}.people-label{font-size:.9rem;font-weight:600;color:#00356b}.people-input{font-size:.93rem;padding:.5rem .7rem;border-radius:8px;border:1px solid #d1d7e0;background:#fff;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.people-input:focus{border-color:#00356b;box-shadow:0 0 0 2px #00356b1f;background-color:#fbfdff}.people-toggle{margin-top:.1rem}.toggle-label{display:flex;align-items:center;gap:.4rem;font-size:.9rem;color:#223144}.toggle-checkbox{width:15px;height:15px}.people-results{flex:2}.people-list{list-style:none;padding:0;margin:.5rem 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));column-gap:1.6rem;row-gap:1.6rem}.people-item{margin:0}.people-link{text-decoration:none;color:inherit}.people-card{background:#fff;border-radius:10px;border:1px solid #e3e6ea;box-shadow:0 6px 18px #00000008;display:flex;align-items:center;gap:.9rem;padding:.8rem .9rem;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.people-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #00000014;border-color:#c7d1de}.people-avatar{width:40px;height:40px;border-radius:999px;background:#e7edf6;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;color:#00356b;flex-shrink:0}.people-info{display:flex;flex-direction:column;gap:.2rem;min-width:0}.people-netid{font-size:.96rem;font-weight:600;color:#00356b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.people-meta{font-size:.85rem;color:#5a6a80}.people-reputation{font-weight:500;color:#0f4d92}@media(max-width:900px){#people-page{padding:1.2rem 1.1rem 2rem}.people-layout{flex-direction:column}.people-form{order:1}.people-results{order:2}.people-title{font-size:1.8rem}}@media(max-width:600px){#people-page{padding:1rem .8rem 1.8rem}.people-title{font-size:1.5rem}.people-form{padding:1rem 1.05rem}.people-list{grid-template-columns:1fr}}.people-results{flex:2;display:flex;flex-direction:column}.people-empty{font-size:.95rem;color:#5a6a80;margin-top:.5rem}.people-results-scroll{margin-top:.5rem;max-height:70vh;overflow-y:auto;padding-right:4px}.people-results-scroll::-webkit-scrollbar{width:6px}.people-results-scroll::-webkit-scrollbar-track{background:#f1f3f7;border-radius:999px}.people-results-scroll::-webkit-scrollbar-thumb{background:#c2ccd9;border-radius:999px}@media(max-width:600px){.people-results-scroll{max-height:55vh}}#profile-page{min-height:100vh;background:#f7f9fc;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#00356b;padding:1.5rem 1.75rem 2.5rem}.profile-header{max-width:1100px;margin:0 auto 1.2rem;display:flex;flex-direction:column;gap:.6rem}.profile-identity{display:flex;align-items:center;gap:.9rem}.profile-avatar{width:46px;height:46px;border-radius:999px;background:#e7edf6;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.25rem;color:#00356b;flex-shrink:0}.profile-identity-text h1,.profile-netid{margin:0}.profile-netid{font-size:1.7rem;font-weight:700}.profile-reputation{margin:.15rem 0 0;font-size:.95rem;color:#5a6a80}.profile-reputation span{font-weight:600;color:#0f4d92}.profile-top-row{max-width:1100px;margin:0 auto 1.5rem;display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.profile-stats-card{background:#fff;border-radius:10px;border:1px solid #e3e6ea;box-shadow:0 4px 12px #00000008;padding:.8rem 1rem;display:flex;gap:1.3rem}.profile-stat{display:flex;flex-direction:column;gap:.1rem}.profile-stat-label{font-size:.8rem;color:#5a6a80}.profile-stat-value{font-size:1rem;font-weight:600;color:#00356b}.profile-actions{flex:0 0 auto}.primary-button,.secondary-button{border-radius:999px;padding:.45rem 1.3rem;font-size:.9rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background .15s ease,color .15s ease,transform .1s ease,box-shadow .1s ease,border-color .1s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.primary-button{background:#00356b;color:#fff;border-color:#00356b}.secondary-button{background:#fff;color:#00356b;border-color:#c7d1de}.secondary-button:hover{background:#f1f4f9;border-color:#00356b;transform:translateY(-1px)}.profile-follow-button{min-width:110px}.profile-bio-card{max-width:1100px;margin:0 auto 1.8rem;background:#fff;border-radius:10px;border:1px solid #e3e6ea;box-shadow:0 4px 12px #00000008;padding:1rem 1.2rem}.profile-section-title{margin:0 0 .6rem;font-size:1.2rem;font-weight:600}.profile-bio{margin:0;font-size:.95rem;color:#223144;line-height:1.5}.profile-reviews-section{max-width:1100px;margin:0 auto}.profile-empty-reviews{margin-top:.4rem;font-size:.95rem;color:#5a6a80}.profile-reviews-list{list-style:none;padding:0;margin:.7rem 0 0;display:flex;flex-direction:column;gap:.85rem}.profile-review-item{margin:0}.profile-review-link{text-decoration:none;color:inherit}.profile-review-card{background:#fff;border-radius:10px;border:1px solid #e3e6ea;box-shadow:0 4px 12px #00000008;padding:.7rem .9rem;display:flex;gap:.8rem;cursor:pointer;transition:box-shadow .12s ease,transform .12s ease,border-color .12s ease}.profile-review-card:hover{border-color:#c7d1de;box-shadow:0 8px 20px #00000014;transform:translateY(-2px)}.profile-review-cover-wrapper{flex-shrink:0}.profile-review-cover{width:60px;aspect-ratio:2 / 3;object-fit:cover;border-radius:6px;border:1px solid #e3e6ea;background:#fff}.profile-review-info{display:flex;flex-direction:column;gap:.25rem;min-width:0}.profile-review-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.profile-review-title{font-size:.95rem;font-weight:600;color:#00356b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-review-rating{font-size:.9rem;color:#0f4d92;flex-shrink:0}.profile-review-text{margin:0;font-size:.9rem;color:#223144}.profile-review-date{margin:0;font-size:.78rem;color:#7b8798}@media(max-width:900px){#profile-page{padding:1.2rem 1.1rem 2rem}.profile-netid{font-size:1.5rem}.profile-top-row{flex-direction:row;align-items:flex-start}}@media(max-width:700px){.profile-top-row{flex-direction:column;align-items:stretch}.profile-actions{display:flex;justify-content:flex-start}}@media(max-width:600px){#profile-page{padding:1rem .8rem 1.8rem}.profile-review-card{padding:.65rem .8rem}.profile-review-cover{width:54px}.profile-netid{font-size:1.4rem}}#add-book-page{min-height:100vh;background:#f7f9fc;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#00356b}.add-book-container{max-width:720px;margin:2rem auto;padding:1.5rem 1.75rem;background:#fff;border-radius:12px;border:1px solid #e3e6ea;box-shadow:0 6px 18px #00000008}.add-book-header{margin-bottom:1.5rem}.add-book-title{font-size:1.9rem;margin:0 0 .3rem;color:#00356b}.add-book-subtitle{margin:0;font-size:.95rem;color:#5a6a80}.add-book-form{display:flex;flex-direction:column;gap:1rem}.form-field{display:flex;flex-direction:column}.field-label{font-size:.9rem;font-weight:600;margin-bottom:.35rem;color:#00356b}.field-input,.field-textarea,.field-file-input{font-size:.95rem;padding:.55rem .7rem;border-radius:8px;border:1px solid #d1d7e0;background:#fff;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;color:#1a2938}.field-textarea{min-height:120px;resize:vertical}.field-file-input{padding:.4rem .1rem}.field-input:focus,.field-textarea:focus,.field-file-input:focus{border-color:#00356b;box-shadow:0 0 0 2px #00356b1f;background-color:#fbfdff}.field-hint{margin-top:.25rem;font-size:.8rem;color:#7b8798}.form-actions{margin-top:.75rem;display:flex;justify-content:flex-end}.primary-button{background:#00356b;color:#fff;border:none;padding:.55rem 1.4rem;border-radius:999px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .18s ease,transform .12s ease,box-shadow .12s ease}.primary-button:hover{background:#0f4d92;transform:translateY(-1px);box-shadow:0 4px 10px #0000001f}.primary-button:active{transform:translateY(0);box-shadow:none}@media(max-width:900px){.add-book-container{margin:1.5rem 1rem;padding:1.25rem 1.3rem}.add-book-title{font-size:1.6rem}}@media(max-width:600px){.add-book-container{margin:1rem .75rem;padding:1rem}.add-book-title{font-size:1.4rem}.form-actions{justify-content:center}.primary-button{width:100%;max-width:260px;text-align:center}}.form-error{margin:0 0 .6rem;color:#b3261e;font-size:.88rem}#alreadyread-page{min-height:100vh;background:#f7f9fc;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#00356b;padding:1.5rem 1.75rem 2.5rem}.already-header{max-width:900px;margin:0 auto 1.5rem}.already-title{margin:0 0 .3rem;font-size:2rem;font-weight:700}.already-subtitle{margin:0;font-size:.95rem;color:#5a6a80}.already-content{max-width:1100px;margin:0 auto}.already-list{list-style:none;padding:0;margin:1.5rem 0 2.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));column-gap:1.8rem;row-gap:2.5rem}.already-item{position:relative;padding-bottom:1.4rem}.already-item:after{content:"";position:absolute;left:.5rem;right:.5rem;bottom:0;height:4px;background:#e3e6ea;border-radius:999px}.already-link{text-decoration:none;color:inherit}.already-card{background:#fff;border-radius:10px;border:1px solid #e3e6ea;box-shadow:0 6px 18px #00000008;display:flex;flex-direction:column;overflow:hidden;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.already-card:hover{transform:translateY(-4px);box-shadow:0 10px 24px #00000014}.already-cover-wrapper{width:100%;padding:.9rem .9rem .4rem;display:flex;justify-content:center}.already-cover{width:100%;max-width:160px;aspect-ratio:2 / 3;object-fit:cover;border-radius:8px;border:1px solid #e3e6ea;background:#fff}.already-info{padding:.6rem .9rem .9rem;display:flex;flex-direction:column;gap:.3rem}.already-book-title{font-size:1rem;font-weight:600;color:#00356b}.already-meta{display:flex;justify-content:space-between;align-items:center}.already-rating{font-size:.9rem;color:#0f4d92}@media(max-width:900px){#alreadyread-page{padding:1.2rem 1.1rem 2rem}.already-title{font-size:1.8rem}.already-list{column-gap:1.4rem;row-gap:2.1rem}}@media(max-width:600px){#alreadyread-page{padding:1rem .8rem 1.8rem}.already-title{font-size:1.5rem}.already-list{grid-template-columns:1fr}.already-cover{max-width:140px}}#my-profile-page{min-height:100vh;background:#f7f9fc;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#00356b}#my-profile-page.profile-container{width:100%;margin:0;padding:0}#my-profile-page .profile-inner{max-width:1100px;margin:0 auto;padding:1.5rem 1.75rem 2.5rem}#my-profile-page .profile-header{margin-bottom:1.5rem}#my-profile-page .profile-page-title{margin:0 0 .6rem;font-size:2rem;font-weight:700}#my-profile-page .profile-identity{display:flex;align-items:center;gap:.9rem}#my-profile-page .profile-avatar{width:46px;height:46px;border-radius:999px;background:#e7edf6;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.25rem;color:#00356b;flex-shrink:0}#my-profile-page .profile-identity-text{display:flex;flex-direction:column;gap:.15rem}#my-profile-page .profile-netid{margin:0;font-size:1.6rem;font-weight:700}#my-profile-page .profile-reputation{margin:0;font-size:.95rem;color:#5a6a80}#my-profile-page .profile-reputation span{font-weight:600;color:#0f4d92}#my-profile-page .profile-top-section{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:1.8rem}#my-profile-page .profile-stats-card{background:#fff;border-radius:10px;border:1px solid #e3e6ea;box-shadow:0 4px 12px #00000008;padding:.8rem 1rem;display:flex;gap:1.3rem}#my-profile-page .profile-stat{display:flex;flex-direction:column;gap:.1rem}#my-profile-page .profile-stat-label{font-size:.8rem;color:#5a6a80}#my-profile-page .profile-stat-value{font-size:1rem;font-weight:600;color:#00356b}#my-profile-page .profile-edit-wrapper{flex:0 0 auto}#my-profile-page .profile-edit-link{display:inline-flex;align-items:center;justify-content:center;padding:.45rem 1.1rem;border-radius:999px;border:1px solid #00356b;background:#fff;color:#00356b;font-size:.9rem;font-weight:600;text-decoration:none;cursor:pointer;transition:background .15s ease,color .15s ease,transform .1s ease,box-shadow .1s ease,border-color .1s ease}#my-profile-page .profile-edit-link:hover{background:#00356b;color:#fff;border-color:#00356b;transform:translateY(-1px);box-shadow:0 4px 10px #0000001f}#my-profile-page .profile-bio-section{background:#fff;border-radius:10px;border:1px solid #e3e6ea;box-shadow:0 4px 12px #00000008;padding:1rem 1.2rem;margin-bottom:2rem}#my-profile-page .profile-section-title{margin:0 0 .6rem;font-size:1.2rem;font-weight:600}#my-profile-page .profile-bio{margin:0;font-size:.95rem;color:#223144;line-height:1.5}#my-profile-page .profile-reviews-section{margin-top:.5rem}#my-profile-page .profile-empty-reviews{margin-top:.4rem;font-size:.95rem;color:#5a6a80}#my-profile-page .profile-reviews-list{list-style:none;padding:0;margin:.7rem 0 0;display:flex;flex-direction:column;gap:.9rem}#my-profile-page .profile-review-item{margin:0}#my-profile-page .profile-review-card{background:#fff;border-radius:10px;border:1px solid #e3e6ea;box-shadow:0 4px 12px #00000008;padding:.7rem .9rem;display:flex;align-items:flex-start;gap:.7rem}#my-profile-page .profile-review-main{flex:1;display:flex;gap:.8rem;text-decoration:none;color:inherit}#my-profile-page .profile-review-cover-wrapper{flex-shrink:0}#my-profile-page .profile-review-cover{width:60px;aspect-ratio:2 / 3;object-fit:cover;border-radius:6px;border:1px solid #e3e6ea;background:#fff}#my-profile-page .profile-review-info{display:flex;flex-direction:column;gap:.25rem;min-width:0}#my-profile-page .profile-review-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}#my-profile-page .profile-review-title{font-size:.95rem;font-weight:600;color:#00356b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#my-profile-page .profile-review-rating{font-size:.9rem;color:#0f4d92}#my-profile-page .profile-review-text{margin:0;font-size:.9rem;color:#223144}#my-profile-page .profile-review-date{margin:0;font-size:.78rem;color:#7b8798}#my-profile-page .profile-delete-button{flex-shrink:0;align-self:center;padding:.3rem .8rem;border-radius:999px;border:1px solid #d08a8a;background:#fff5f5;color:#b3261e;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .1s ease,box-shadow .1s ease}#my-profile-page .profile-delete-button:hover{background:#b3261e;color:#fff;border-color:#b3261e;transform:translateY(-1px);box-shadow:0 3px 8px #b3261e47}@media(max-width:900px){#my-profile-page .profile-page-title{font-size:1.8rem}#my-profile-page .profile-netid{font-size:1.5rem}}@media(max-width:700px){#my-profile-page .profile-inner{padding:1.3rem 1.05rem 2rem}#my-profile-page .profile-top-section{flex-direction:column;align-items:stretch}#my-profile-page .profile-edit-wrapper{display:flex;justify-content:flex-start}#my-profile-page .profile-review-card{flex-direction:column;align-items:stretch}#my-profile-page .profile-delete-button{align-self:flex-end;margin-top:.4rem}}@media(max-width:600px){#my-profile-page .profile-inner{padding:1rem .8rem 1.8rem}#my-profile-page .profile-review-card{padding:.65rem .8rem}#my-profile-page .profile-review-cover{width:54px}}#review-page{min-height:100vh;background:#f7f9fc;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#00356b;padding:1.5rem 1.75rem 2.5rem}.review-page{display:flex;justify-content:center;align-items:flex-start}.review-card{width:100%;max-width:600px;margin-top:1.5rem;background:#fff;border-radius:12px;border:1px solid #e3e6ea;box-shadow:0 6px 18px #00000008;padding:1.5rem 1.7rem}.review-title{margin:0 0 1rem;font-size:1.8rem;font-weight:700}.review-form{display:flex;flex-direction:column;gap:1rem}.review-field{display:flex;flex-direction:column;gap:.35rem}.review-label{font-size:.9rem;font-weight:600;color:#00356b}.review-select,.review-textarea{font-size:.95rem;padding:.5rem .7rem;border-radius:8px;border:1px solid #d1d7e0;background:#fff;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;color:#1a2938}.review-select:focus,.review-textarea:focus{border-color:#00356b;box-shadow:0 0 0 2px #00356b1f;background-color:#fbfdff}.review-textarea{min-height:140px;resize:vertical}.review-actions{margin-top:.5rem;display:flex;justify-content:flex-end}.review-submit-button{min-width:140px}@media(max-width:700px){#review-page{padding:1rem .8rem 1.8rem}.review-card{padding:1.25rem 1.3rem;margin-top:1.2rem}.review-title{font-size:1.5rem}.review-actions{justify-content:center}.review-submit-button{width:100%;max-width:260px}}#bio-page{min-height:100vh;background:#f7f9fc;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#00356b;padding:1.5rem 1.75rem 2.5rem}.bio-page{display:flex;justify-content:center;align-items:flex-start}.bio-card{width:100%;max-width:600px;margin-top:1.5rem;background:#fff;border-radius:12px;border:1px solid #e3e6ea;box-shadow:0 6px 18px #00000008;padding:1.5rem 1.7rem}.bio-title{margin:0 0 1rem;font-size:1.8rem;font-weight:700}.bio-form{display:flex;flex-direction:column;gap:1rem}.bio-field{display:flex;flex-direction:column;gap:.35rem}.bio-label{font-size:.9rem;font-weight:600;color:#00356b}.bio-textarea{font-size:.95rem;padding:.6rem .75rem;border-radius:8px;border:1px solid #d1d7e0;background:#fff;outline:none;min-height:160px;resize:vertical;color:#1a2938;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.bio-textarea:focus{border-color:#00356b;box-shadow:0 0 0 2px #00356b1f;background-color:#fbfdff}.bio-actions{margin-top:.5rem;display:flex;justify-content:flex-end}.primary-button{background:#00356b;color:#fff;border:1px solid #00356b;border-radius:999px;padding:.5rem 1.4rem;font-size:.95rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .18s ease,transform .12s ease,box-shadow .12s ease,border-color .12s ease}.primary-button:hover{background:#0f4d92;border-color:#0f4d92;transform:translateY(-1px);box-shadow:0 4px 10px #0000001f}.bio-submit-button{min-width:140px}@media(max-width:700px){#bio-page{padding:1.2rem 1rem 2rem}.bio-card{padding:1.25rem 1.3rem;margin-top:1.2rem}.bio-title{font-size:1.5rem}.bio-actions{justify-content:center}.bio-submit-button{width:100%;max-width:260px}}.back-button{background:transparent;border:none;color:#00356b;font-size:.9rem;cursor:pointer;padding:.25rem 0;display:inline-flex;align-items:center;gap:.2rem;transition:color .15s ease,transform .1s ease}.back-button:hover{color:#0f4d92;transform:translate(-1px)}#author-books-page{min-height:100vh;background:#f7f9fc;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#00356b;padding:1.5rem 1.75rem 2.5rem}.author-header{max-width:1100px;margin:0 auto 1.5rem}.author-title{margin:0 0 .3rem;font-size:2rem;font-weight:700}.author-subtitle{margin:0;font-size:.95rem;color:#5a6a80}.author-books-content{max-width:1100px;margin:0 auto}.author-empty{font-size:.95rem;color:#5a6a80}.author-book-list{list-style:none;padding:0;margin:1.5rem 0 2.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));column-gap:1.8rem;row-gap:2.5rem}.author-book-item{position:relative;padding-bottom:1.4rem}.author-book-item:after{content:"";position:absolute;left:.5rem;right:.5rem;bottom:0;height:4px;background:#e3e6ea;border-radius:999px}.author-book-link{text-decoration:none;color:inherit}.author-book-card{background:#fff;border-radius:10px;border:1px solid #e3e6ea;box-shadow:0 6px 18px #00000008;display:flex;flex-direction:column;overflow:hidden;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.author-book-card:hover{transform:translateY(-4px);box-shadow:0 10px 24px #00000014}.author-book-cover-wrapper{width:100%;padding:.9rem .9rem .4rem;display:flex;justify-content:center}.author-book-cover{width:100%;max-width:160px;aspect-ratio:2 / 3;object-fit:cover;border-radius:8px;border:1px solid #e3e6ea;background:#fff}.author-book-info{padding:.6rem .9rem .9rem;display:flex;flex-direction:column;gap:.3rem}.author-book-title{font-size:1rem;font-weight:600;color:#00356b}.author-book-meta{display:flex;justify-content:space-between;align-items:center}.author-book-rating{font-size:.9rem;color:#0f4d92}@media(max-width:900px){#author-books-page{padding:1.2rem 1.1rem 2rem}.author-title{font-size:1.8rem}.author-book-list{column-gap:1.4rem;row-gap:2.1rem}}@media(max-width:600px){#author-books-page{padding:1rem .8rem 1.8rem}.author-title{font-size:1.5rem}.author-book-list{grid-template-columns:1fr}.author-book-cover{max-width:140px}}
