.google-auth{width:100%;margin:1rem 0}.google-login-btn{width:100%;padding:.75rem 1rem;background:var(--color-gray-800);color:var(--color-white);border:1px solid var(--color-gray-800);border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.google-login-btn:hover:not(:disabled){background-color:var(--color-gray-900);border-color:var(--color-gray-900)}.google-login-btn:disabled{opacity:.6;cursor:not-allowed}.error-message{color:var(--color-red-500);font-size:.875rem;margin-top:.5rem;text-align:center}.report-review-btn{background:var(--color-gray-50);border:1px solid var(--color-gray-200);color:var(--color-gray-900);cursor:pointer;font-size:.9rem;font-weight:600;padding:.55rem 1rem;border-radius:4px;transition:all .15s ease;display:inline-flex;align-items:center;gap:.35rem}.report-review-btn:hover{background:var(--color-gray-100);border-color:var(--color-gray-300)}.report-success-message{color:var(--color-flat-green);font-weight:500;font-size:.9rem;padding:.5rem 1rem;background:var(--color-green-light);border-radius:4px;display:inline-block}.report-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.report-modal-content{background:var(--color-white);border-radius:0;box-shadow:none;max-width:520px;width:90%;overflow:hidden;animation:slideUp .3s ease;border:1px solid var(--color-gray-200)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.report-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-gray-200)}.report-modal-header h3{margin:0;color:var(--color-gray-900);font-size:1.15rem}.report-modal-close{background:var(--color-gray-50);border:1px solid var(--color-gray-200);font-size:.9rem;cursor:pointer;color:var(--color-gray-500);padding:.35rem .6rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s ease}.report-modal-close:hover{background:var(--color-gray-100);color:var(--color-gray-900)}.report-modal-body{padding:1.5rem}.report-modal-description{color:#6b7280;margin:0 0 1.5rem;font-size:.95rem}.report-reasons{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.report-reason{display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:.85rem 1rem;border-radius:10px;border:1px solid var(--color-gray-200);transition:all .2s ease;background:var(--color-white)}.report-reason:hover{background:var(--color-gray-50);border-color:#cbd5f5}.report-reason input[type=radio]{cursor:pointer;width:18px;height:18px}.report-reason span{color:var(--color-gray-900);font-weight:600}.report-error{background:var(--color-red-bg-alt);color:var(--color-red-text-alt);padding:.75rem;border-radius:4px;font-size:.9rem;margin-top:1rem}.report-modal-footer{padding:1rem 1.5rem 1.5rem;border-top:1px solid var(--color-gray-200);display:flex;gap:.75rem;justify-content:flex-end}.report-btn-cancel,.report-btn-submit{padding:.65rem 1.4rem;border:1px solid transparent;border-radius:8px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .2s ease}.report-btn-cancel{background:var(--color-gray-100);color:var(--color-gray-900);border-color:var(--color-gray-200)}.report-btn-cancel:hover:not(:disabled){background:var(--color-gray-200)}.report-btn-submit{background:var(--color-gray-900);color:var(--color-white)}.report-btn-submit:hover:not(:disabled){background:var(--color-slate-900)}.report-btn-cancel:disabled,.report-btn-submit:disabled{opacity:.6;cursor:not-allowed}.loader{--background: linear-gradient(135deg, var(--color-brand-darkest), var(--color-brand-light));--shadow: rgba(48, 25, 11, .35);--text: #6C7486;--page: rgba(255, 255, 255, .36);--page-fold: rgba(255, 255, 255, .52);--duration: 3s;width:200px;height:140px;position:relative}.loader--sm{width:140px;height:98px}.loader:before,.loader:after{--r: -6deg;content:"";position:absolute;bottom:8px;width:120px;top:80%;box-shadow:0 16px 12px var(--shadow);transform:rotate(var(--r))}.loader:before{left:4px}.loader:after{--r: 6deg;right:4px}.loader div{width:100%;height:100%;border-radius:13px;position:relative;z-index:1;perspective:600px;box-shadow:0 4px 6px var(--shadow);background-image:var(--background)}.loader div ul{margin:0;padding:0;list-style:none;position:relative}.loader div ul li{--r: 180deg;--o: 0;--c: var(--page);position:absolute;top:10px;left:10px;transform-origin:100% 50%;color:var(--c);opacity:var(--o);transform:rotateY(var(--r));animation:var(--duration) ease infinite}.loader div ul li:nth-child(2){--c: var(--page-fold);animation-name:page-2}.loader div ul li:nth-child(3){--c: var(--page-fold);animation-name:page-3}.loader div ul li:nth-child(4){--c: var(--page-fold);animation-name:page-4}.loader div ul li:nth-child(5){--c: var(--page-fold);animation-name:page-5}.loader div ul li svg{width:90px;height:120px;display:block}.loader--sm div ul li svg{width:64px;height:86px}.loader div ul li:first-child{--r: 0deg;--o: 1}.loader div ul li:last-child{--o: 1}.loader span{display:block;left:0;right:0;top:100%;margin-top:20px;text-align:center;color:var(--text);font-size:1.05rem;font-weight:600;letter-spacing:.6px}.loader--sm span{margin-top:12px;font-size:.9rem;letter-spacing:.4px}.page-loader{width:100%;display:flex;justify-content:center;align-items:center;padding:4rem 1.5rem}.section-loader{width:100%;display:flex;justify-content:center;align-items:center;padding:2rem 0}@keyframes page-2{0%{transform:rotateY(180deg);opacity:0}20%{opacity:1}35%,to{opacity:0}50%,to{transform:rotateY(0)}}@keyframes page-3{15%{transform:rotateY(180deg);opacity:0}35%{opacity:1}50%,to{opacity:0}65%,to{transform:rotateY(0)}}@keyframes page-4{30%{transform:rotateY(180deg);opacity:0}50%{opacity:1}65%,to{opacity:0}80%,to{transform:rotateY(0)}}@keyframes page-5{45%{transform:rotateY(180deg);opacity:0}65%{opacity:1}80%,to{opacity:0}95%,to{transform:rotateY(0)}}.book-container{max-width:920px;margin:0 auto;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background-color:var(--color-bg-light-alt);min-height:100vh;color:var(--color-gray-800)}.book-container h1{color:var(--color-gray-900);margin-bottom:.75rem;font-size:2rem;font-weight:700;line-height:1.2}.book-title-row{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.book-title-row h1{margin-bottom:0}.book-back-btn{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--color-gray-200);background-color:var(--color-gray-50);color:var(--color-gray-900);padding:.5rem .75rem;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .15s ease;white-space:nowrap}.book-back-btn:hover{background-color:var(--color-gray-200);border-color:var(--color-gray-800);color:var(--color-gray-900)}.book-container h3{margin-top:1.5rem;margin-bottom:.75rem;font-size:1rem;font-weight:600;color:var(--color-gray-900);text-transform:uppercase;letter-spacing:.5px}.book-header-wrapper{display:flex;gap:2rem;margin-bottom:1.5rem}.book-image-section{flex-shrink:0}.book-image{max-width:180px;border-radius:2px;box-shadow:none;transition:all .15s ease}.book-rating{margin-top:1rem;text-align:center}.book-rating-stars{display:flex;gap:.25rem;justify-content:center;margin-bottom:.375rem}.book-rating-stars span{font-size:1.25rem}.book-rating-value{font-size:.8125rem;font-weight:600;color:var(--color-gray-700)}.book-info{flex:1}.book-info-group{margin-bottom:1.5rem;line-height:1.6}.book-info-item{margin:.375rem 0;font-size:.9375rem;color:var(--color-gray-700)}.book-info-item strong{color:var(--color-gray-900);font-weight:600}.book-description{clear:both;color:var(--color-gray-600);line-height:1.8;margin-bottom:1.75rem;font-size:.9375rem;padding:1rem;background-color:var(--color-gray-50);border-radius:0;border-left:3px solid var(--color-gray-200)}.book-description:empty:before{content:"Aucune description disponible";font-style:italic;color:var(--color-gray-400)}.book-lists-section{margin-bottom:1.5rem;background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:0;padding:1rem}.book-lists-section h4{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:var(--color-gray-700);text-transform:uppercase;letter-spacing:.5px}.book-lists-container{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.25rem}.book-list-label{display:flex;align-items:center;gap:.625rem;cursor:pointer;padding:.625rem .75rem;background-color:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:0;transition:all .15s ease;font-size:.875rem}.book-list-label:hover{background-color:var(--color-white);border-color:var(--color-blue-500);box-shadow:0 2px 4px #3b82f61a}.book-list-label input[type=radio],.book-list-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--color-gray-900)}.book-list-label span{font-weight:500;color:var(--color-gray-900);-webkit-user-select:none;user-select:none}.book-remove-button{background-color:var(--color-red-500);color:var(--color-white);border:none;border-radius:4px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;font-weight:700;transition:all .2s ease;flex-shrink:0}.book-remove-button:hover{background-color:var(--color-red-600);transform:scale(1.05)}.book-remove-button:disabled{background-color:var(--color-gray-300);cursor:not-allowed}.book-progress-bar{background-color:var(--color-white);padding:1rem;border:1px solid var(--color-gray-300);border-radius:0;margin-bottom:.75rem}.book-progress-container{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.book-progress-track{flex:1;background-color:var(--color-gray-200);height:6px;border-radius:0;overflow:hidden}.book-progress-fill{background-color:var(--color-gray-800);height:100%;transition:width .3s ease;border-radius:0}.book-progress-text{font-size:.8125rem;color:var(--color-gray-650);white-space:nowrap;min-width:60px;text-align:right}.book-progress-form{background-color:var(--color-white);padding:1rem;border:1px solid var(--color-gray-300);border-radius:0;margin-bottom:1.25rem}.book-mode-tabs{display:flex;gap:.5rem;margin-bottom:.75rem;border-bottom:1px solid var(--color-gray-300);padding-bottom:.75rem}.book-mode-tab{padding:.5rem 1rem;background-color:var(--color-white);color:var(--color-gray-900);border:1px solid var(--color-gray-300);cursor:pointer;font-size:.8125rem;font-weight:500;border-radius:4px 4px 0 0;transition:all .2s ease}.book-mode-tab.active{background-color:var(--color-gray-900);color:var(--color-white)}.book-mode-tab:hover:not(.active){background-color:var(--color-gray-200)}.book-input-group{display:flex;gap:.5rem;align-items:center}.book-input-group input{flex:1;padding:.5rem;border:1px solid var(--color-placeholder);border-radius:4px;font-size:.8125rem}.book-input-group input:focus{outline:none;border-color:var(--color-gray-900);box-shadow:0 0 0 3px #1118271a}.book-input-unit{font-size:.8125rem;color:var(--color-gray-650);white-space:nowrap}.book-btn{padding:.625rem 1rem;background-color:var(--color-gray-900);color:var(--color-white);border:none;border-radius:6px;cursor:pointer;font-weight:500;font-size:.8125rem;transition:all .2s ease}.book-btn:hover:not(:disabled){background-color:var(--color-gray-800);box-shadow:0 4px 6px #0000001a}.book-btn:disabled{opacity:.6;cursor:not-allowed}.book-btn-secondary{background-color:var(--color-border-light);color:var(--color-gray-700);border:1px solid var(--color-gray-300)}.book-btn-secondary:hover:not(:disabled){background-color:var(--color-gray-200)}.book-btn-danger{background-color:transparent;color:var(--color-bootstrap-red);border:1px solid var(--color-bootstrap-red);padding:.25rem .625rem;font-size:.7rem}.book-btn-danger:hover:not(:disabled){background-color:var(--color-bootstrap-red);color:var(--color-white)}.book-review-form{background-color:var(--color-white);padding:1rem;border:1px solid var(--color-gray-300);border-radius:6px;margin-bottom:1.25rem}.book-review-group{margin-bottom:1rem}.book-review-group label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.8125rem;color:var(--color-gray-900)}.book-rating-selector{display:flex;gap:.5rem}.book-star-btn{padding:0;background:none;border:none;cursor:pointer;font-size:1.5rem;transition:opacity .2s ease}.book-star-btn.selected{opacity:1}.book-star-btn:not(.selected){opacity:.3}.book-star-btn:hover{opacity:.8}.book-textarea{width:100%;min-height:100px;padding:.5rem;border:1px solid var(--color-placeholder);border-radius:4px;font-size:.8125rem;font-family:inherit;resize:vertical;transition:border-color .2s ease}.book-textarea:focus{outline:none;border-color:var(--color-gray-900);box-shadow:0 0 0 3px #1118271a}.book-button-group{display:flex;gap:.5rem}.book-reviews-section{margin-bottom:2rem}.book-reviews-list{display:flex;flex-direction:column;gap:1rem}.book-review-card{padding:1rem;background-color:var(--color-white);border:1px solid var(--color-gray-300);border-radius:6px;transition:all .2s ease}.book-review-card:hover{box-shadow:0 4px 6px #0000000d;border-color:var(--color-blue-200)}.book-review-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.book-review-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;background-color:var(--color-gray-200)}.book-review-user-info{flex:1}.book-review-username{font-weight:600;color:var(--color-gray-900);font-size:.9375rem}.book-review-rating{display:flex;gap:.125rem;margin-top:.25rem}.book-review-rating span{font-size:.875rem;line-height:1}.book-review-text{margin:0;color:var(--color-gray-700);line-height:1.5;margin-bottom:.5rem;font-size:.9375rem}.book-review-footer{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--color-gray-400);gap:1rem}.book-review-actions{display:flex;gap:.5rem;align-items:center}.book-review-empty{color:var(--color-gray-400);font-style:italic;text-align:center;padding:1rem;background-color:var(--color-gray-50);border-radius:6px}.book-identifiers{color:var(--color-gray-650);font-size:.8125rem}.book-identifiers ul{list-style:none;padding:0;margin:0}.book-identifiers li{margin-bottom:.25rem}.book-identifiers strong{color:var(--color-gray-900);font-weight:600}.book-link{color:var(--color-link);text-decoration:underline;transition:color .2s ease;font-size:.8125rem}.book-link:hover{color:var(--color-link-hover)}.book-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.book-modal-content{background-color:var(--color-white);border-radius:12px;padding:1.5rem;max-width:400px;width:90%;box-shadow:0 20px 60px #0000004d;animation:slideUp .2s ease-out}.book-modal-header{text-align:center;margin-bottom:1.25rem}.book-modal-icon{width:56px;height:56px;border-radius:50%;background-color:var(--color-red-100);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-size:1.75rem}.book-modal-title{margin:0 0 .5rem;font-size:1.125rem;font-weight:600;color:var(--color-gray-900)}.book-modal-description{margin:0;font-size:.875rem;color:var(--color-gray-650);line-height:1.5}.book-modal-buttons{display:flex;gap:.75rem}.book-modal-buttons button{flex:1;padding:.75rem 1rem;border:none;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease}.book-modal-cancel{background-color:var(--color-gray-100);color:var(--color-gray-700)}.book-modal-cancel:hover:not(:disabled){background-color:var(--color-gray-200)}.book-modal-confirm{background-color:var(--color-red-600);color:var(--color-white)}.book-modal-confirm:hover:not(:disabled){background-color:var(--color-red-700)}.book-modal-confirm:disabled{opacity:.7}.book-error-message{padding:1rem;color:var(--color-red-600);font-size:.875rem}.book-loading-message{padding:1rem;font-size:.875rem;color:var(--color-gray-650)}.book-unavailable-message{padding:2rem;font-size:.875rem;color:var(--color-gray-650)}@media(max-width:768px){.book-container{padding:1rem}.book-header-wrapper{flex-direction:column;gap:1rem}.book-image{margin:0 auto;display:block}.book-lists-container{flex-direction:column}.book-modal-content{width:95%}.book-info-item{font-size:.875rem}.book-input-group{flex-direction:column}.book-input-unit{text-align:left}}@media(max-width:480px){.book-container{padding:.75rem}.book-container h1{font-size:1.5rem}.book-container h3{font-size:.9rem}.book-image{max-width:150px}.book-btn{padding:.5rem .75rem;font-size:.75rem}}.profile-container{max-width:1200px;margin:0 auto;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background-color:var(--color-bg-light-alt);min-height:100vh;color:var(--color-gray-800)}.profile-error,.profile-not-authenticated{padding:2rem;font-size:.9375rem;text-align:center}.profile-error{color:var(--color-red-600);background-color:var(--color-red-100);border-radius:0;padding:1rem;margin-bottom:1rem}.profile-not-authenticated{background-color:var(--color-gray-50);border-radius:0;padding:2rem;border:1px solid var(--color-gray-200);color:var(--color-gray-650)}.profile-banner-section{position:relative;margin:-2rem -2rem 2rem;height:280px;background:var(--color-gray-800);border-radius:0;overflow:hidden;display:flex;align-items:flex-end;justify-content:flex-start}.profile-banner{width:100%;height:100%;object-fit:cover;position:absolute;top:0;left:0}.profile-banner-placeholder{width:100%;height:100%;background:var(--color-gray-800);position:absolute;top:0;left:0}.profile-banner-edit{position:absolute;bottom:1.5rem;right:1.5rem;padding:.75rem 1.25rem;background-color:var(--color-gray-800);color:var(--color-white);border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;transition:background-color .15s ease;z-index:5}.profile-banner-edit:hover{background-color:#000c}.profile-hero{background:var(--color-white);border-radius:0;padding:6rem 2rem 2rem;margin-bottom:2rem;border:1px solid var(--color-gray-200);position:relative;margin-top:-60px;box-shadow:none}.profile-hero-content{display:flex;gap:2rem;align-items:flex-start}.profile-avatar-section{position:absolute;top:-50px;left:2rem;flex-shrink:0;text-align:center;z-index:10}.profile-avatar{width:140px;height:140px;border-radius:50%;object-fit:cover;border:5px solid var(--color-white);box-shadow:0 4px 12px #00000026;background-color:var(--color-gray-200)}.profile-avatar-placeholder{width:140px;height:140px;border-radius:50%;background:var(--color-gray-800);display:flex;align-items:center;justify-content:center;font-size:3.5rem;color:var(--color-white);box-shadow:none;border:5px solid var(--color-white)}.profile-avatar-edit-btn{margin-top:.75rem;padding:.5rem 1rem;background-color:var(--color-gray-800);color:var(--color-white);border:none;border-radius:4px;cursor:pointer;font-size:.75rem;font-weight:500;transition:all .15s ease}.profile-avatar-edit-btn:hover{box-shadow:none}.profile-image-upload{display:none}.profile-upload-zone{display:inline-block;cursor:pointer}.profile-upload-zone:hover{opacity:.8}.profile-info{flex:1}.profile-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:2rem}.profile-header-title{display:flex;align-items:flex-start;gap:1rem}.profile-header h1{margin:0;font-size:1.875rem;font-weight:700;color:var(--color-gray-900);flex-shrink:0}.profile-badges-inline{display:flex;gap:.75rem;margin-bottom:.75rem;margin-top:.25rem;flex-wrap:nowrap;align-items:flex-start}.profile-badge-inline-item{display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;transition:transform .15s ease;flex-shrink:0}.profile-badge-inline-item:hover{transform:scale(1.15)}.profile-badge-inline-icon{font-size:1.75rem;display:block;flex-shrink:0;width:1.75rem;height:1.75rem;line-height:1.75rem}.profile-badge-inline-icon img{width:100%;height:100%;object-fit:contain}.profile-badge-tooltip{position:absolute;left:calc(100% + .5rem);top:50%;transform:translateY(-50%);background:var(--color-gray-800);color:var(--color-white);padding:.5rem .75rem;border-radius:.5rem;white-space:nowrap;z-index:50;display:flex;flex-direction:column;gap:.15rem;box-shadow:0 4px 12px #0003;animation:badgeTooltipIn .15s ease}.profile-badge-tooltip:before{content:"";position:absolute;right:100%;top:50%;transform:translateY(-50%);border:5px solid transparent;border-right-color:var(--color-gray-800)}.profile-badge-tooltip strong{font-size:.8125rem;font-weight:600}.profile-badge-tooltip span{font-size:.6875rem;color:var(--color-gray-300)}@keyframes badgeTooltipIn{0%{opacity:0;transform:translateY(-50%) translate(-4px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.profile-header-actions{display:flex;gap:.75rem;align-items:center}.profile-reviews-btn{padding:.625rem 1.1rem;background-color:var(--color-white);color:var(--color-gray-900);border:1px solid var(--color-gray-200);border-radius:6px;cursor:pointer;font-weight:500;font-size:.875rem;transition:all .2s ease}.profile-reviews-btn:hover{border-color:var(--color-blue-500);background-color:var(--color-white);color:var(--color-gray-800)}.profile-edit-btn{padding:.625rem 1.25rem;background-color:var(--color-gray-900);color:var(--color-white);border:none;border-radius:6px;cursor:pointer;font-weight:500;font-size:.875rem;transition:all .2s ease}.profile-edit-btn:hover{box-shadow:0 4px 6px #0000001a}.profile-stats{display:flex;gap:2rem;margin-bottom:1rem}.profile-stat{text-align:center}.profile-stat-value{font-size:1.5rem;font-weight:700;color:var(--color-gray-900)}.profile-stat-label{font-size:.75rem;color:var(--color-gray-650);text-transform:uppercase;letter-spacing:.5px;margin-top:.25rem}.profile-bio{color:var(--color-gray-600);line-height:1.6;margin-bottom:0;font-size:.9375rem}.profile-bio-empty{color:var(--color-gray-400);font-style:italic}.profile-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.profile-modal{background-color:var(--color-white);border-radius:12px;padding:2rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .2s ease-out}.profile-modal-header{margin-bottom:1.5rem}.report-modal{max-width:640px;padding:0;overflow-y:auto;max-height:90vh;border:1px solid var(--color-gray-200);background:var(--color-white)}.report-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.75rem 2rem 1.25rem;background:var(--color-white);border-bottom:1px solid var(--color-gray-200)}.report-modal-title{margin:0;font-size:1.5rem;font-weight:700;color:var(--color-slate-900)}.report-modal-subtitle{margin:.35rem 0 0;color:var(--color-slate-500);font-size:.95rem}.report-modal-close{border:1px solid var(--color-gray-200);background:var(--color-gray-50);color:var(--color-gray-500);width:36px;height:36px;border-radius:4px;cursor:pointer;font-weight:700;transition:all .15s ease}.report-modal-close:hover{background:var(--color-gray-200);border-color:var(--color-gray-400)}.report-modal-error{margin:1rem 2rem 0;background:var(--color-red-100);color:var(--color-red-700);padding:.75rem 1rem;border-radius:0;font-size:.9rem}.report-modal-body{padding:1.5rem 2rem 0}.report-reason-section{margin-bottom:1.5rem}.report-section-title{margin:0 0 .75rem;font-weight:600;color:var(--color-gray-900)}.report-reason-grid{display:grid;gap:.75rem}.report-reason-card{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:flex-start;padding:.9rem 1rem;border:1px solid var(--color-gray-200);border-radius:0;background:var(--color-white);cursor:pointer;transition:all .15s ease}.report-reason-card input{margin-top:.2rem}.report-reason-card:hover{border-color:var(--color-blue-500);background:var(--color-white)}.report-reason-card.active{border-color:var(--color-indigo-500);box-shadow:0 0 0 3px #6366f126}.report-reason-title{font-weight:600;color:var(--color-slate-900)}.report-reason-desc{font-size:.85rem;color:var(--color-slate-500);margin-top:.15rem}.report-details{margin-top:1.5rem}.report-details-label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--color-gray-900)}.report-details-textarea{width:100%;min-height:120px;padding:.85rem 1rem;border:1px solid var(--color-gray-200);border-radius:12px;font-family:inherit;font-size:.95rem;resize:vertical;transition:all .2s ease;background:var(--color-white)}.report-details-textarea:focus{outline:none;border-color:var(--color-indigo-500);box-shadow:0 0 0 3px #6366f126}.report-details-hint{margin-top:.5rem;font-size:.75rem;color:var(--color-slate-400)}.report-modal-footer{padding:1.5rem 2rem 2rem;display:flex;justify-content:flex-end;gap:.75rem;border-top:1px solid var(--color-gray-200);margin-top:1.5rem;background:var(--color-white)}.report-submit-btn{padding:.7rem 1.6rem;border-radius:10px;border:none;background:linear-gradient(135deg,var(--color-red-500),var(--color-red-600));color:var(--color-white);font-weight:600;cursor:pointer;transition:all .2s ease}.report-submit-btn:hover:not(:disabled){box-shadow:0 12px 20px #ef444440}.report-submit-btn:disabled{opacity:.6;cursor:not-allowed}.profile-modal-title{margin:0;font-size:1.5rem;font-weight:700;color:var(--color-gray-900)}.profile-form-group{margin-bottom:1.25rem}.profile-form-label{display:block;margin-bottom:.5rem;font-weight:600;font-size:.875rem;color:var(--color-gray-900)}.profile-form-input,.profile-form-textarea{width:100%;padding:.75rem;border:1px solid var(--color-gray-300);border-radius:6px;font-family:inherit;font-size:.9375rem;transition:all .2s ease;box-sizing:border-box}.profile-form-input:focus,.profile-form-textarea:focus{outline:none;box-shadow:0 0 0 3px #1118271a}.profile-form-textarea{resize:vertical;min-height:120px}.profile-avatar-upload{display:none}.profile-avatar-upload-label{display:block;padding:.75rem;background-color:var(--color-gray-100);border:2px dashed var(--color-gray-300);border-radius:6px;text-align:center;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500;color:var(--color-gray-650)}.profile-avatar-upload-label:hover{background-color:var(--color-gray-200);border-color:var(--color-gray-400)}.profile-modal-buttons{display:flex;gap:.75rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-gray-200)}.profile-btn{padding:.625rem 1.25rem;border:none;border-radius:6px;cursor:pointer;font-weight:500;font-size:.875rem;transition:all .2s ease}.profile-btn-primary{background-color:var(--color-gray-900);color:var(--color-white)}.profile-btn-primary:hover:not(:disabled){box-shadow:0 4px 6px #0000001a}.profile-btn-secondary{background-color:var(--color-gray-100);color:var(--color-gray-700);border:1px solid var(--color-gray-300)}.profile-btn-secondary:hover:not(:disabled){background-color:var(--color-gray-200)}.profile-btn:disabled{opacity:.6;cursor:not-allowed}.profile-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem .875rem;border:1px solid var(--color-gray-200);border-radius:10px;background:var(--color-gray-50)}.profile-toggle{display:inline-flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.profile-toggle-input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.profile-toggle-track{width:44px;height:24px;border-radius:2px;background:var(--color-gray-300);position:relative;transition:background-color .15s ease;box-shadow:none}.profile-toggle-thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:0;background:var(--color-white);transition:transform .15s ease;box-shadow:none}.profile-toggle-text{font-size:.875rem;color:var(--color-gray-900);font-weight:600}.profile-toggle-badge{font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:2px;border:1px solid transparent}.profile-toggle-badge.is-private{background:var(--color-red-100);color:var(--color-red-800);border-color:var(--color-red-200)}.profile-toggle-badge.is-public{background:var(--color-cyan-50);color:var(--color-cyan-800);border-color:var(--color-cyan-100)}.profile-toggle-help{margin:.5rem 0 0;font-size:.75rem;color:var(--color-gray-500)}.profile-toggle-input:checked+.profile-toggle-track{background:var(--color-gray-900)}.profile-toggle-input:checked+.profile-toggle-track .profile-toggle-thumb{transform:translate(20px)}.profile-toggle-input:focus-visible+.profile-toggle-track{outline:2px solid var(--color-gray-900);outline-offset:2px}.profile-toggle-input:disabled+.profile-toggle-track{opacity:.6}.profile-toggle-input:disabled~.profile-toggle-text{opacity:.6;cursor:not-allowed}.profile-section{margin-bottom:2rem}.profile-section-title{font-size:1.25rem;font-weight:700;color:var(--color-gray-900);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid var(--color-gray-200)}.profile-books-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.profile-book-card{background-color:var(--color-white);border:1px solid var(--color-gray-200);border-radius:8px;overflow:hidden;transition:all .2s ease;cursor:pointer;display:flex;flex-direction:column}.profile-book-card:hover{box-shadow:0 8px 16px #0000001a;border-color:var(--color-gray-300)}.profile-book-image{width:100%;height:220px;background-color:var(--color-gray-100);display:flex;align-items:center;justify-content:center;overflow:hidden}.profile-book-image img{width:100%;height:100%;object-fit:cover}.profile-book-info{padding:1rem;flex:1;display:flex;flex-direction:column}.profile-book-title{font-weight:600;color:var(--color-gray-900);margin:0 0 .5rem;font-size:.9375rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.profile-book-author{font-size:.75rem;color:var(--color-gray-650);margin-bottom:.75rem;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.profile-book-progress{margin-top:auto}.profile-progress-track{width:100%;height:6px;background-color:var(--color-gray-200);border-radius:3px;overflow:hidden;margin-bottom:.5rem}.profile-progress-bar{height:100%;background:var(--color-gray-800);border-radius:0;transition:width .3s ease}.profile-progress-text{font-size:.75rem;color:var(--color-gray-650);display:flex;justify-content:space-between}.profile-empty-list{padding:2rem;text-align:center;color:var(--color-gray-400);background-color:var(--color-gray-50);border-radius:8px;font-style:italic}.profile-reviews-list{display:flex;flex-direction:column;gap:1rem}.profile-review-card{background-color:var(--color-white);border:1px solid var(--color-gray-200);border-radius:8px;padding:1.25rem;transition:all .2s ease}.profile-review-card:hover{box-shadow:0 4px 12px #0000000d;border-color:var(--color-gray-300)}.profile-review-header{display:flex;gap:1rem;margin-bottom:1rem;align-items:flex-start}.profile-review-book-img{width:60px;height:90px;background-color:var(--color-gray-100);border-radius:4px;overflow:hidden;flex-shrink:0;cursor:pointer;transition:transform .2s ease}.profile-review-book-img:hover{transform:scale(1.05)}.profile-review-book-img img{width:100%;height:100%;object-fit:cover}.profile-review-book-info{flex:1}.profile-review-title{margin:0 0 .25rem;font-weight:600;color:var(--color-gray-900);cursor:pointer;transition:color .2s ease;font-size:.9375rem}.profile-review-title:hover{color:var(--color-blue-500)}.profile-review-author{font-size:.8125rem;color:var(--color-gray-650);margin-bottom:.5rem}.profile-review-rating{display:flex;gap:.25rem;align-items:center;font-size:.75rem}.profile-review-rating span{font-size:.9rem}.profile-review-content{background-color:var(--color-gray-50);padding:1rem;border-radius:6px;margin:1rem 0;line-height:1.6;color:var(--color-gray-700);font-size:.9375rem}.profile-review-date{font-size:.75rem;color:var(--color-gray-400)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:768px){.profile-container{padding:1rem}.profile-banner-section{margin:-1rem -1rem 0;height:200px}.profile-hero{margin-top:-50px;padding:2.5rem 1.5rem 1.5rem}.profile-avatar-section{position:static;margin-top:-72px;margin-bottom:.75rem;align-self:center;text-align:center}.profile-avatar,.profile-avatar-placeholder{width:120px;height:120px;font-size:2.8rem;border:4px solid var(--color-white)}.profile-hero-content{flex-direction:column;align-items:center;text-align:center;gap:1.5rem}.profile-header{flex-direction:column;gap:1rem;width:100%}.profile-header h1{font-size:1.5rem}.profile-stats{justify-content:space-around;gap:1rem;width:100%}.profile-books-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}.profile-modal{width:95%;padding:1.5rem}.profile-review-header{flex-direction:column;text-align:center}.profile-review-book-img{margin:0 auto}.profile-stats-dashboard{padding:1.5rem}.profile-stats-header{flex-direction:column;align-items:flex-start}.profile-stats-grid{grid-template-columns:1fr}.profile-stats-card-wide{grid-column:span 1}.profile-chart-container{height:220px}}@media(max-width:480px){.profile-container{padding:.75rem}.profile-banner-section{margin:-.75rem -.75rem 0;height:140px}.profile-hero{padding:1.25rem;margin-top:-45px}.profile-avatar-section{position:static;margin-top:-64px;margin-bottom:.5rem;align-self:center;text-align:center}.profile-avatar,.profile-avatar-placeholder{width:100px;height:100px;font-size:2.5rem;border:4px solid var(--color-white)}.profile-hero-content{flex-direction:column;align-items:center;text-align:center}.profile-header h1{font-size:1.5rem}.profile-books-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem}.profile-book-image{height:180px}.profile-modal-buttons{flex-direction:column}.profile-btn{width:100%}.profile-banner-edit{padding:.4rem .6rem;font-size:.7rem}.profile-stats-dashboard{padding:1.2rem}.profile-stats-total{width:100%;text-align:left}.profile-stats-hero{grid-template-columns:1fr}.profile-chart-container{height:200px}}.profile-section-tabs{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:2px solid var(--color-gray-200)}.profile-tab{padding:.75rem 1rem;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:1rem;font-weight:500;color:var(--color-gray-500);transition:all .2s ease;margin-bottom:-2px}.profile-tab.active{color:var(--color-blue-500);border-bottom-color:var(--color-blue-500)}.profile-stats-dashboard{background:linear-gradient(135deg,var(--color-slate-50) 0%,var(--color-cyan-50) 45%,#fff7ed 100%);border:1px solid var(--color-gray-200);border-radius:18px;padding:2rem;position:relative;overflow:hidden;font-family:Libre Franklin,Trebuchet MS,sans-serif}.profile-stats-dashboard:before{content:"";position:absolute;inset:-30% 0 0 -10%;background:radial-gradient(circle at 20% 20%,rgba(14,165,233,.18),transparent 45%),radial-gradient(circle at 80% 10%,rgba(234,88,12,.12),transparent 55%),radial-gradient(circle at 30% 80%,rgba(15,118,110,.12),transparent 50%);pointer-events:none}.profile-stats-header{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;position:relative;z-index:1;margin-bottom:2rem}.profile-stats-title{margin:0 0 .5rem;font-size:1.6rem;font-weight:700;color:var(--color-slate-900);font-family:Playfair Display,Georgia,serif}.profile-stats-subtitle{margin:0;color:var(--color-slate-600);font-size:.95rem;max-width:520px}.profile-stats-total{background:var(--color-slate-900);color:var(--color-slate-50);padding:1rem 1.5rem;border-radius:14px;text-align:right;min-width:160px;box-shadow:0 12px 30px #0f172a2e}.profile-stats-total-value{font-size:1.75rem;font-weight:700}.profile-stats-total-label{font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:#f8fafcb3;margin-top:.25rem}.profile-stats-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;position:relative;z-index:1;margin-bottom:2rem}.profile-stats-card{background:var(--color-white);border:1px solid rgba(15,23,42,.08);border-radius:14px;padding:1.25rem;box-shadow:0 12px 24px #0f172a14;position:relative;animation:statsReveal .6s ease both;transition:transform .2s ease,box-shadow .2s ease}.profile-stats-hero .profile-stats-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px #0f172a24}.profile-stats-card:nth-child(2){animation-delay:.05s}.profile-stats-card:nth-child(3){animation-delay:.1s}.profile-stats-card:nth-child(4){animation-delay:.15s}.profile-stats-card:nth-child(5){animation-delay:.2s}.profile-stats-card-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-slate-500);margin-bottom:.5rem}.profile-stats-card-value{font-size:1.5rem;font-weight:700;color:var(--color-slate-900);margin-bottom:.25rem}.profile-stats-card-meta{font-size:.85rem;color:var(--color-slate-500)}.profile-stats-stars{display:flex;gap:.2rem;margin-top:.5rem}.profile-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;position:relative;z-index:1}.profile-stats-card-chart{min-height:280px}.profile-stats-card-wide{grid-column:span 2}.profile-stats-card-header{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.profile-stats-card-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--color-slate-900);font-family:Playfair Display,Georgia,serif}.profile-stats-card-header span{font-size:.85rem;color:var(--color-slate-500)}.profile-chart-container{position:relative;width:100%;height:260px}.profile-chart-tall{height:280px}.profile-genre-cloud{display:flex;flex-wrap:wrap;gap:.65rem 1.1rem;align-items:center;justify-content:center;padding:1.5rem .5rem;min-height:180px}.profile-genre-cloud-tag{font-weight:700;cursor:default;transition:transform .2s ease,opacity .2s ease;line-height:1.3;white-space:nowrap}.profile-genre-cloud-tag:hover{transform:scale(1.12);opacity:1!important}.profile-stats-empty{position:relative;z-index:1}.profile-stats-empty-card{background:#fffc;border:1px dashed var(--color-slate-300);padding:1.25rem;border-radius:12px;text-align:center;color:var(--color-slate-500);font-size:.9rem}@keyframes statsReveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.profile-personal-lists{display:flex;flex-direction:column;gap:2rem}.profile-personal-list-item{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:12px;padding:1.5rem;margin-bottom:1rem}.profile-personal-list-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border-light)}.profile-personal-list-name{font-size:1.25rem;font-weight:600;color:var(--color-gray-800);margin:0;margin-bottom:.5rem}.profile-personal-list-description{font-size:.9rem;color:var(--color-gray-500);margin:0;margin-bottom:.5rem}.profile-personal-list-count{font-size:.875rem;color:var(--color-gray-400);margin:0}.profile-personal-list-actions{display:flex;gap:.5rem}.profile-list-action-btn{padding:.5rem .875rem;background-color:var(--color-gray-900);color:var(--color-white);border:none;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.profile-list-action-btn:hover{box-shadow:0 2px 4px #0000001a}.profile-list-delete-btn{background-color:var(--color-red-600)}.profile-list-delete-btn:hover{background-color:var(--color-red-700);box-shadow:0 2px 4px #0000001a}.profile-btn-danger{background-color:var(--color-red-600);color:var(--color-white)}.profile-btn-danger:hover:not(:disabled){background-color:var(--color-red-700);box-shadow:0 4px 6px #0000001a}.profile-modal-compact{max-width:400px}.profile-modal-badges{max-width:1000px;width:95%;max-height:70vh;padding:1.5rem}.profile-badges-container{padding:1rem;background-color:var(--color-gray-50);border-radius:6px;border:1px solid var(--color-gray-200)}.profile-badges-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem}.profile-badge-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background-color:var(--color-white);border:2px solid var(--color-amber-500);border-radius:8px;position:relative;transition:all .2s ease}.profile-badge-item:hover{box-shadow:0 4px 6px #0000001a;border-color:var(--color-amber-500);transform:translateY(-2px)}.profile-badge-icon{font-size:2rem;line-height:1;width:2rem;height:2rem;object-fit:contain}.profile-badge-name{font-size:.875rem;font-weight:600;text-align:center;color:var(--color-gray-800);word-break:break-word}.profile-badge-remove{position:absolute;top:-8px;right:-8px;width:24px;height:24px;padding:0;background-color:var(--color-red-500);color:var(--color-white);border:none;border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;opacity:0}.profile-badge-item:hover .profile-badge-remove{opacity:1}.profile-badge-remove:hover{background-color:var(--color-red-600);transform:scale(1.1)}.profile-badge-remove:disabled{cursor:not-allowed;opacity:.5}.profile-badges-empty{text-align:center;color:var(--color-gray-400);font-size:.9rem;padding:1rem;margin:0;font-style:italic}.profile-badges-empty-wrapper{display:flex;align-items:center;gap:1rem;padding:1rem}.profile-badges-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--color-gray-200)}.profile-badges-section:last-child{border-bottom:none}.profile-badges-section-title{font-size:1.125rem;font-weight:600;color:var(--color-gray-800);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.profile-badges-modal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem}.profile-badge-modal-item{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1rem;background-color:var(--color-white);border:2px solid var(--color-slate-500);border-radius:10px;position:relative;transition:all .2s ease}.profile-badge-modal-item.unlocked{background-color:var(--color-slate-100);border-color:var(--color-slate-500)}.profile-badge-modal-item.unlocked:hover{box-shadow:0 4px 12px #64748b40;transform:translateY(-2px)}.profile-badge-modal-item.locked{background-color:var(--color-gray-50);border-color:var(--color-gray-300);opacity:.7}.profile-badge-modal-header{position:relative;width:100%;height:100px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:8px;background:linear-gradient(135deg,var(--color-slate-400) 0%,var(--color-slate-500) 100%)}.profile-badge-modal-header.locked-badge{background:var(--color-gray-100);border:1px solid var(--color-gray-200)}.profile-badge-modal-image{width:100%;height:100%;object-fit:contain;padding:.5rem}.profile-badge-modal-image.locked-image{opacity:.4;filter:grayscale(100%)}.profile-badge-modal-icon{font-size:3rem;line-height:1}.profile-badge-modal-icon.locked-icon{font-size:2.5rem;opacity:.4}.profile-badge-locked-overlay{position:absolute;inset:0;background:#0003;display:flex;align-items:center;justify-content:center;font-size:2rem}.profile-badge-modal-name{font-size:.95rem;font-weight:700;text-align:center;color:var(--color-gray-800);margin:0}.profile-badge-modal-condition{font-size:.8rem;text-align:center;color:var(--color-gray-500);margin:0;min-height:2.4rem;display:flex;align-items:center;justify-content:center;word-break:break-word}.profile-badge-progress{width:100%;margin-top:.5rem}.profile-badge-progress-track{width:100%;height:6px;background-color:var(--color-gray-200);border-radius:3px;overflow:hidden;margin-bottom:.5rem}.profile-badge-progress-bar{height:100%;background:linear-gradient(90deg,var(--color-slate-400) 0%,var(--color-slate-500) 100%);border-radius:3px;transition:width .3s ease}.profile-badge-progress-text{font-size:.75rem;color:var(--color-gray-500);text-align:center;margin:0;font-weight:600}.profile-badge-toggle-btn{width:100%;padding:.5rem .75rem;margin-top:.5rem;background-color:var(--color-slate-500);color:var(--color-white);border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .2s ease}.profile-badge-toggle-btn:hover:not(:disabled){transform:scale(1.02)}.profile-badge-toggle-btn.added{background-color:var(--color-green-500)}.profile-badge-toggle-btn.added:hover:not(:disabled){background-color:var(--color-green-600)}.profile-badge-toggle-btn:disabled{opacity:.6;cursor:not-allowed}.profile-badges-empty{text-align:center;color:var(--color-gray-400);font-size:.95rem;padding:2rem 1rem;margin:0;font-style:italic}.search-container{max-width:1200px;margin:0 auto;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background:var(--color-white);min-height:100vh;color:var(--color-gray-800)}.search-header{margin-bottom:3rem;animation:fadeInDown .6s ease}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.search-title{font-size:2.5rem;font-weight:800;color:var(--color-gray-900);margin-bottom:1.5rem;letter-spacing:-.5px}.search-lists-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.search-list-card{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:0;padding:1.25rem;box-shadow:none;cursor:pointer;transition:all .15s ease}.search-list-card:hover{border-color:var(--color-blue-500);background:var(--color-white)}.search-list-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.search-list-avatar{width:44px;height:44px;border-radius:50%;overflow:hidden;background:var(--color-gray-100);display:flex;align-items:center;justify-content:center;flex-shrink:0}.search-list-avatar img{width:100%;height:100%;object-fit:cover}.search-list-avatar-placeholder{color:var(--color-gray-400);font-size:1.25rem}.search-list-info{flex:1;min-width:0}.search-list-name{font-size:1.05rem;font-weight:700;color:var(--color-gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-list-owner{font-size:.875rem;color:var(--color-gray-500)}.search-list-count{font-size:.85rem;font-weight:600;color:var(--color-indigo-600);background:var(--color-indigo-50);padding:.25rem .5rem;border-radius:999px}.search-list-description{font-size:.9rem;color:var(--color-gray-500);line-height:1.5;min-height:2.7em}.search-list-card-content{display:flex;align-items:stretch;gap:1rem}.search-list-text{flex:1;min-width:0;display:flex;flex-direction:column}.search-list-preview{display:flex;align-items:center;justify-content:flex-end;gap:.35rem;min-width:120px}.search-list-preview img{width:48px;height:72px;object-fit:cover;border-radius:6px;border:1px solid var(--color-gray-200);box-shadow:0 4px 12px #1118271f;background:var(--color-gray-100)}.search-list-preview-placeholder{width:48px;height:72px;border-radius:6px;border:1px dashed var(--color-gray-300);background:linear-gradient(135deg,var(--color-gray-50) 0%,var(--color-indigo-50) 100%);box-shadow:inset 0 1px 2px #0f172a0d}.search-list-preview-empty{font-size:.8rem;color:var(--color-gray-400);text-align:right}.search-input-section{display:flex;gap:1rem;margin-bottom:2rem;animation:fadeInUp .6s ease .1s both;align-items:center}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.search-input-wrapper{flex:1;position:relative}.search-input{width:100%;padding:1.125rem 3.25rem 1.125rem 1.5rem;font-size:1.0625rem;border:1px solid var(--color-gray-200);border-radius:4px;background-color:var(--color-white);color:var(--color-gray-900);font-family:inherit;transition:all .15s ease;box-shadow:none;min-height:48px}.search-input:focus{outline:none;border-color:var(--color-blue-500);box-shadow:0 0 0 3px #3b82f61a}.search-input::placeholder{color:var(--color-gray-400)}.search-clear-button{position:absolute;top:50%;right:1rem;transform:translateY(-50%);width:36px;height:36px;border:none;border-radius:4px;background:var(--color-gray-50);color:var(--color-gray-500);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.search-clear-button:hover{background:var(--color-gray-200);color:var(--color-gray-900)}.search-clear-button:focus-visible{outline:2px solid var(--color-blue-500);outline-offset:2px}.search-button{padding:.875rem 1.75rem;background:var(--color-gray-800);color:var(--color-white);border:1px solid var(--color-gray-800);border-radius:4px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .15s ease;box-shadow:none;min-height:48px;white-space:nowrap;flex-shrink:0}.search-button:hover{background:var(--color-gray-900)}.search-button:disabled{background:var(--color-gray-300);cursor:not-allowed;box-shadow:none}.search-type-select{padding:.875rem 1rem;background:var(--color-gray-800);color:var(--color-white);border:1px solid var(--color-blue-500);border-radius:4px;font-size:.9375rem;font-weight:500;cursor:pointer;transition:background-color .15s ease;box-shadow:none;min-height:48px;flex-shrink:0;width:auto}.search-type-select option{background-color:var(--color-white);color:var(--color-gray-900);font-weight:500;padding:.5rem}.search-type-select:hover{border-color:#60a5fa}.search-type-select:focus{outline:2px solid var(--color-blue-500);outline-offset:2px}.search-browse{margin-bottom:3rem;animation:fadeInUp .6s ease .2s both}.search-browse-title{font-size:1.5rem;font-weight:700;color:var(--color-gray-900);margin-bottom:1.5rem;position:relative;padding-bottom:.75rem}.search-browse-title:after{content:"";position:absolute;bottom:0;left:0;height:3px;width:60px;background:var(--color-gray-800);border-radius:0}.search-categories{display:flex;gap:1rem;overflow-x:auto;scroll-behavior:smooth;padding-bottom:.5rem;margin-bottom:.5rem;scrollbar-width:thin;scrollbar-color:var(--color-gray-300) var(--color-gray-100)}.search-categories::-webkit-scrollbar{height:6px}.search-categories::-webkit-scrollbar-track{background:var(--color-gray-100);border-radius:0}.search-categories::-webkit-scrollbar-thumb{background:var(--color-gray-800);border-radius:0}.search-categories::-webkit-scrollbar-thumb:hover{background:var(--color-gray-900)}.search-category-card{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:0;padding:1.5rem;cursor:pointer;transition:all .15s ease;box-shadow:none;flex-shrink:0;min-width:200px;width:200px}.search-category-card:hover{border-color:var(--color-blue-500);background:var(--color-white)}.search-category-label{font-size:1rem;font-weight:600;color:var(--color-gray-900);margin-bottom:.75rem;display:block}.search-category-count{font-size:.875rem;color:var(--color-gray-400);font-weight:500}.search-books-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,180px));gap:1.5rem;margin-bottom:1.5rem;width:100%;justify-content:center}.search-book-card{background:var(--color-white);border-radius:0;overflow:hidden;cursor:pointer;transition:all .15s ease;box-shadow:none;border:1px solid var(--color-gray-200);display:flex;flex-direction:column}.search-book-card:hover{border-color:var(--color-blue-500);background:var(--color-white)}.search-book-image{width:100%;height:220px;background:var(--color-gray-100);overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative}.search-book-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.search-book-card:hover .search-book-image img{transform:scale(1.05)}.search-book-info{padding:1.25rem;flex:1;display:flex;flex-direction:column}.search-book-title{font-size:.9375rem;font-weight:600;color:var(--color-gray-900);margin-bottom:.5rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.search-book-author{font-size:.8125rem;color:var(--color-gray-400);margin-bottom:.75rem;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.search-book-rating{font-size:.8125rem;color:var(--color-placeholder);margin-top:auto;display:flex;align-items:center;gap:.5rem}.search-empty{text-align:center;padding:4rem 2rem;background:var(--color-white);border-radius:0;border:1px solid var(--color-gray-200);animation:fadeInUp .6s ease}.search-empty-icon{font-size:3.5rem;margin-bottom:1.5rem;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.search-empty-title{font-size:1.25rem;font-weight:700;color:var(--color-gray-900);margin-bottom:.75rem}.search-empty-text{color:var(--color-gray-400);font-size:1rem}.search-error{background:var(--color-red-100);color:var(--color-red-600);padding:1.25rem 1.5rem;border-radius:0;margin-bottom:1.5rem;border:1px solid var(--color-red-300);font-size:.9375rem;font-weight:500;box-shadow:none;animation:slideInDown .3s ease}@keyframes slideInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.search-container{padding:1.5rem;background:var(--color-white)}.search-title{font-size:1.875rem;margin-bottom:1rem}.search-input-section{flex-direction:column;gap:.75rem}.search-category-card{min-width:180px;width:180px}.search-books-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.search-book-card{width:auto}.search-book-image{height:220px}.search-book-info{padding:1rem}.search-browse-title:after{width:50px}.search-empty{padding:3rem 1.5rem}.search-empty-icon{font-size:2.75rem}.search-empty-title{font-size:1.125rem}.search-list-card-content{flex-direction:column}.search-list-preview{justify-content:flex-start}}@media(max-width:480px){.search-container{padding:1rem}.search-title{font-size:1.5rem;margin-bottom:.75rem}.search-button{padding:.75rem 1.25rem;font-size:.875rem}.search-type-select{padding:.75rem .875rem;font-size:.875rem}.search-category-card{min-width:160px;width:160px;padding:1.25rem 1rem}.search-books-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.search-book-image{height:180px}.search-book-info{padding:.75rem}.search-book-title{font-size:.875rem}.search-book-author{font-size:.75rem}.search-empty{padding:2rem 1rem}.search-empty-icon{font-size:2.5rem}.search-empty-title{font-size:1rem}.search-empty-text{font-size:.875rem}.search-users-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.search-user-card{padding:.75rem}.search-user-avatar,.search-user-avatar-placeholder{width:60px;height:60px}.search-user-avatar-placeholder{font-size:1.5rem}.search-user-name{font-size:.875rem}.search-user-status-text{font-size:.75rem}}.search-users-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;margin:2rem 0}.search-user-card{text-decoration:none;color:inherit;display:block}.search-user-card{background:linear-gradient(135deg,var(--color-white) 0%,var(--color-gray-50) 100%);border:1px solid var(--color-gray-200);border-radius:16px;padding:2rem 1.5rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #00000014,0 1px 2px #0000000a;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;overflow:hidden}.search-user-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--color-gray-800);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.search-user-card:hover{box-shadow:0 20px 40px #3b82f626,0 12px 24px #0000001f;border-color:var(--color-blue-500)}.search-user-card:hover:before{transform:scaleX(1)}.search-user-card:hover .search-user-action{transform:translate(4px);opacity:1}.search-user-avatar-wrapper{position:relative;margin-bottom:1.5rem}.search-user-avatar,.search-user-avatar-placeholder{width:100px;height:100px;border-radius:50%;object-fit:cover;border:3px solid var(--color-gray-200);display:block;transition:all .3s ease}.search-user-card:hover .search-user-avatar,.search-user-card:hover .search-user-avatar-placeholder{border-color:var(--color-blue-500);transform:scale(1.05)}.search-user-avatar-placeholder{background:var(--color-gray-800);display:flex;align-items:center;justify-content:center;font-size:2.5rem;color:var(--color-white)}.search-user-status{position:absolute;bottom:0;right:0;width:32px;height:32px;border-radius:50%;background:var(--color-white);border:2px solid var(--color-gray-200);display:flex;align-items:center;justify-content:center;font-size:1.25rem;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.search-user-card:hover .search-user-status{transform:scale(1.1);border-color:var(--color-blue-500);box-shadow:0 4px 12px #3b82f633}.search-user-info{flex:1;margin-bottom:1rem}.search-user-name{font-size:1.125rem;font-weight:700;color:var(--color-gray-900);margin:0 0 .5rem;line-height:1.4;word-break:break-word}.search-user-status-text{font-size:.875rem;color:var(--color-gray-400);margin:0;font-weight:500}.search-user-action{font-size:1.5rem;color:var(--color-blue-500);transition:all .3s ease;opacity:.6;font-weight:300;letter-spacing:2px}@media(max-width:768px){.search-users-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem}.search-user-card{padding:1.5rem 1rem}.search-user-avatar,.search-user-avatar-placeholder{width:80px;height:80px}.search-user-avatar-placeholder{font-size:2rem}.search-user-name{font-size:1rem}}@media(max-width:480px){.search-users-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.search-user-card{padding:1rem .75rem}.search-user-avatar,.search-user-avatar-placeholder{width:70px;height:70px}.search-user-avatar-placeholder{font-size:1.75rem}.search-user-name{font-size:.9375rem}.search-user-status-text{font-size:.8125rem}}.list-detail-container{max-width:1200px;margin:0 auto;padding:2.5rem 2rem 4rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;color:var(--color-gray-900)}.list-detail-header{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.5rem;background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:0;box-shadow:none}.list-detail-user{display:flex;align-items:center;gap:1rem;cursor:pointer}.list-detail-avatar{width:64px;height:64px;border-radius:50%;overflow:hidden;background:var(--color-gray-100);display:flex;align-items:center;justify-content:center;flex-shrink:0}.list-detail-avatar img{width:100%;height:100%;object-fit:cover}.list-detail-avatar-placeholder{font-size:1.5rem;color:var(--color-gray-400)}.list-detail-meta{display:flex;flex-direction:column;gap:.35rem}.list-detail-title{font-size:1.6rem;font-weight:700;color:var(--color-gray-900)}.list-detail-subtitle{font-size:.95rem;color:var(--color-gray-500);display:flex;align-items:center;gap:.5rem}.list-detail-separator{font-size:.8rem}.list-detail-visibility{background:var(--color-gray-100);color:var(--color-gray-800);padding:.2rem .6rem;border-radius:2px;font-weight:600;font-size:.8rem}.list-detail-count{font-size:.95rem;font-weight:600;color:var(--color-gray-900);background:var(--color-gray-50);padding:.4rem .9rem;border-radius:2px}.list-detail-description{margin-top:2rem;background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:0;padding:1.5rem;box-shadow:none}.list-detail-description h3{margin:0 0 .75rem;font-size:1.1rem;color:var(--color-gray-900)}.list-detail-description p{margin:0;color:var(--color-gray-500);line-height:1.6}.list-detail-books{margin-top:2.5rem}.list-detail-books h3{margin-bottom:1.25rem;font-size:1.2rem;color:var(--color-gray-900)}.list-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:1.5rem}.list-detail-book-card{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:0;overflow:hidden;cursor:pointer;transition:all .15s ease}.list-detail-book-card:hover{border-color:var(--color-blue-500);background:var(--color-white)}.list-detail-book-image{width:100%;height:230px;background:var(--color-gray-100);display:flex;align-items:center;justify-content:center}.list-detail-book-image img{width:100%;height:100%;object-fit:cover}.list-detail-book-placeholder{width:100%;height:100%;background:var(--color-gray-200)}.list-detail-book-info{padding:.75rem}.list-detail-book-title{font-size:.95rem;font-weight:600;color:var(--color-gray-900);margin-bottom:.35rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-detail-book-author{font-size:.8rem;color:var(--color-gray-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-detail-empty{padding:1.5rem;background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:0;color:var(--color-gray-500)}.list-detail-error{max-width:960px;margin:3rem auto;text-align:center;color:var(--color-gray-500);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.list-detail-error-title{font-size:1.3rem;font-weight:700;color:var(--color-gray-900);margin-bottom:.5rem}.reported-reviews-container{max-width:1200px;margin:2rem auto;padding:0 1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.reported-reviews-container h1{color:var(--color-flat-dark);margin-bottom:2rem;font-size:2rem}.filter-tabs{display:flex;gap:.5rem;margin-bottom:2rem;flex-wrap:wrap;border-bottom:2px solid var(--color-flat-border);padding-bottom:1rem}.filter-btn{padding:.75rem 1.5rem;border:none;background:var(--color-flat-border);color:var(--color-flat-dark);border-radius:4px;cursor:pointer;font-weight:500;transition:all .3s ease}.filter-btn:hover{background:var(--color-flat-gray-medium)}.filter-btn.active{background:var(--color-flat-blue);color:var(--color-white)}.loading{text-align:center;padding:2rem;color:var(--color-flat-gray-dark);font-size:1.1rem}.error-message{background:var(--color-red-bg-alt);color:var(--color-red-text-alt);padding:1rem;border-radius:4px;margin-bottom:1rem}.no-reports{text-align:center;padding:3rem 1rem;color:var(--color-flat-gray-dark);font-size:1.1rem}.reports-list{display:grid;gap:1.5rem}.report-card{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:0;padding:1.5rem;box-shadow:none;transition:all .15s ease}.report-card:hover{border-color:var(--color-blue-500);background:var(--color-gray-50)}.report-card.processing{opacity:.6;pointer-events:none}.report-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.reason-badge{background:var(--color-amber-50);color:var(--color-amber-700);padding:.5rem 1rem;border-radius:2px;font-weight:600;font-size:.9rem}.type-badge{padding:.35rem .85rem;border-radius:2px;font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;background:var(--color-gray-100);color:var(--color-gray-800)}.type-badge[data-type=review]{background:#e0f2fe;color:var(--color-blue-dark)}.type-badge[data-type=user]{background:var(--color-red-100);color:var(--color-red-700)}.report-date{color:var(--color-flat-gray-dark);font-size:.9rem}.status-badge{padding:.5rem 1rem;border-radius:2px;font-weight:600;font-size:.9rem;margin-left:auto}.status-badge[data-status=pending]{background:var(--color-amber-bg);color:var(--color-amber-800)}.status-badge[data-status=approved]{background:var(--color-green-bg-alt);color:var(--color-green-800)}.status-badge[data-status=rejected]{background:var(--color-cyan-bg);color:var(--color-cyan-900)}.status-badge[data-status=resolved]{background:var(--color-green-bg-alt);color:var(--color-green-800)}.report-content{margin-bottom:1.5rem}.book-info{background:var(--color-bg-light);padding:1rem;border-radius:4px;margin-bottom:1rem}.book-info strong{display:block;margin-bottom:.5rem;color:var(--color-flat-dark)}.book-info p{margin:0;color:var(--color-flat-gray-dark);font-size:.9rem}.review-section{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--color-flat-border)}.review-section strong{display:block;margin-bottom:.5rem;color:var(--color-flat-dark)}.user-info{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.user-info img{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid var(--color-flat-border)}.user-info span{color:var(--color-flat-dark);font-weight:500}.btn-profile{margin-left:auto;border:1px solid var(--color-gray-200);background:var(--color-white);color:var(--color-slate-900);padding:.35rem .75rem;border-radius:999px;font-weight:600;font-size:.8rem;cursor:pointer;transition:all .2s ease}.btn-profile:hover:not(:disabled){background:#f8fafc;border-color:#cbd5f5}.btn-profile:disabled{opacity:.6;cursor:not-allowed}.rating{color:var(--color-flat-orange);font-weight:600}.review-text{background:var(--color-bg-light);padding:1rem;border-radius:4px;margin-top:.75rem;color:var(--color-flat-dark);line-height:1.6;border-left:4px solid var(--color-flat-blue)}.account-report-section{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--color-flat-border)}.account-report-section strong{display:block;margin-bottom:.5rem;color:var(--color-flat-dark)}.report-details{background:var(--color-bg-light);padding:1rem;border-radius:4px;margin-top:.75rem;color:var(--color-flat-dark);line-height:1.6;border-left:4px solid var(--color-red-500)}.reporter-section{background:var(--color-bg-info);padding:1rem;border-radius:4px}.reporter-section strong{display:block;margin-bottom:.5rem;color:var(--color-flat-dark)}.report-actions{display:flex;gap:.75rem;flex-wrap:wrap}.admin-confirm-overlay{position:fixed;inset:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;z-index:1000}.admin-confirm-modal{background:var(--color-white);border-radius:12px;max-width:520px;width:92%;box-shadow:0 20px 40px #0f172a33;overflow:hidden;animation:modalFadeIn .2s ease}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.admin-confirm-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-gray-200)}.admin-confirm-header h3{margin:0;font-size:1.1rem;color:var(--color-gray-900)}.admin-confirm-close{border:1px solid var(--color-gray-200);background:var(--color-white);color:var(--color-gray-500);width:32px;height:32px;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s ease}.admin-confirm-close:hover{background:var(--color-gray-100);color:var(--color-gray-900)}.admin-confirm-body{padding:1.5rem;color:var(--color-gray-700);font-size:.95rem}.admin-confirm-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem 1.5rem}.admin-confirm-cancel,.admin-confirm-submit{border:1px solid transparent;padding:.65rem 1.4rem;border-radius:8px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .2s ease}.admin-confirm-cancel{background:var(--color-gray-100);color:var(--color-gray-900);border-color:var(--color-gray-200)}.admin-confirm-cancel:hover{background:var(--color-gray-200)}.admin-confirm-submit{background:var(--color-gray-900);color:var(--color-white)}.admin-confirm-submit:hover{background:var(--color-slate-900)}button[class^=btn-]{padding:.75rem 1.25rem;border:none;border-radius:4px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .3s ease;flex:1;min-width:150px}.btn-approve{background:var(--color-flat-green);color:var(--color-white)}.btn-approve:hover:not(:disabled){background:var(--color-flat-green-dark)}.btn-delete{background:var(--color-flat-red);color:var(--color-white)}.btn-delete:hover:not(:disabled){background:var(--color-flat-red-dark)}.btn-reject{background:var(--color-flat-gray);color:var(--color-white)}.btn-reject:hover:not(:disabled){background:var(--color-flat-gray-dark)}button:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.report-card{padding:1rem}.report-header{flex-direction:column;align-items:flex-start}.status-badge{margin-left:0}.filter-tabs{flex-direction:column}.filter-btn{width:100%}.report-actions{flex-direction:column}button[class^=btn-]{width:100%;min-width:unset}}.admin-badges-container{max-width:1200px;margin:2rem auto;padding:0 1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.admin-badges-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.admin-badges-header h1{color:var(--color-flat-dark);font-size:2rem;margin:0}.admin-badges-btn-create{padding:.75rem 1.5rem;background:var(--color-blue-500);color:var(--color-white);border:none;border-radius:6px;font-weight:600;font-size:.95rem;cursor:pointer;transition:background .2s}.admin-badges-btn-create:hover{background:var(--color-blue-600)}.admin-badges-success{background:var(--color-green-100);color:var(--color-green-700);padding:1rem 1.25rem;border-radius:6px;margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center;font-weight:500}.admin-badges-dismiss{background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--color-green-700);padding:0 .25rem}.admin-badges-error{background:var(--color-red-100);color:var(--color-red-800);padding:1rem 1.25rem;border-radius:6px;margin-bottom:1.5rem;font-weight:500}.admin-badges-empty{text-align:center;padding:4rem 2rem;color:var(--color-gray-500)}.admin-badges-empty-icon{font-size:4rem;display:block;margin-bottom:1rem}.admin-badges-empty p{font-size:1.1rem;margin:.5rem 0}.admin-badges-empty-hint{font-size:.95rem!important;color:var(--color-gray-400)!important}.admin-badges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.25rem}.admin-badges-card{background:var(--color-white);border:1px solid var(--color-gray-200);padding:1.25rem;display:flex;align-items:flex-start;gap:1rem;transition:border-color .15s,background .15s}.admin-badges-card:hover{border-color:var(--color-blue-500);background:var(--color-gray-50)}.admin-badges-card-icon{font-size:2.5rem;flex-shrink:0;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-blue-light);border-radius:12px}.admin-badges-card-content{flex:1;min-width:0}.admin-badges-card-content h3{margin:0 0 .25rem;font-size:1.1rem;color:var(--color-gray-800)}.admin-badges-card-condition{color:var(--color-gray-500);font-size:.875rem;margin:0 0 .25rem}.admin-badges-card-pages{color:var(--color-blue-500);font-weight:600;font-size:.85rem;margin:0 0 .5rem}.admin-badges-card-id{display:inline-block;background:var(--color-gray-100);color:var(--color-gray-500);padding:.15rem .5rem;border-radius:3px;font-size:.75rem;font-family:monospace}.admin-badges-card-actions{display:flex;flex-direction:column;gap:.5rem;flex-shrink:0}.admin-badges-btn-edit,.admin-badges-btn-delete{background:none;border:1px solid var(--color-gray-200);width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer;font-size:1rem;transition:all .15s}.admin-badges-btn-edit:hover{background:var(--color-blue-50);border-color:var(--color-blue-500)}.admin-badges-btn-delete:hover{background:#fef2f2;border-color:var(--color-red-500)}.admin-badges-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.admin-badges-modal{background:var(--color-white);border-radius:12px;width:100%;max-width:560px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 50px #00000026}.admin-badges-modal-compact{max-width:440px}.admin-badges-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-gray-200)}.admin-badges-modal-header h2{margin:0;font-size:1.25rem;color:var(--color-gray-800)}.admin-badges-modal-close{background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--color-gray-500);padding:.25rem}.admin-badges-modal-close:hover{color:var(--color-gray-800)}.admin-badges-modal-body{padding:1.5rem;overflow-y:auto;flex:1}.admin-badges-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--color-gray-200)}.admin-badges-form-group{margin-bottom:1.25rem}.admin-badges-form-label{display:block;font-weight:600;font-size:.875rem;color:var(--color-gray-700);margin-bottom:.5rem}.admin-badges-form-input{width:100%;padding:.625rem .75rem;border:1px solid var(--color-gray-300);border-radius:6px;font-size:.9375rem;color:var(--color-gray-800);background:var(--color-white);transition:border-color .15s;box-sizing:border-box}.admin-badges-form-input:focus{outline:none;border-color:var(--color-blue-500);box-shadow:0 0 0 3px #3b82f61a}.admin-badges-form-input:disabled{background:var(--color-gray-100);color:var(--color-gray-400);cursor:not-allowed}.admin-badges-form-hint{display:block;font-size:.75rem;color:var(--color-gray-400);margin-top:.35rem}.admin-badges-icon-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.admin-badges-icon-option{width:42px;height:42px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;border:2px solid var(--color-gray-200);border-radius:8px;background:var(--color-white);cursor:pointer;transition:all .15s}.admin-badges-icon-option:hover{border-color:#93c5fd;background:var(--color-blue-50)}.admin-badges-icon-option.selected{border-color:var(--color-blue-500);background:#dbeafe}.admin-badges-custom-icon{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.admin-badges-condition-types{display:flex;gap:.75rem;flex-wrap:wrap}.admin-badges-condition-type-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border:2px solid var(--color-gray-200);border-radius:.5rem;background:var(--color-white);cursor:pointer;font-size:.875rem;font-weight:500;color:var(--color-gray-700);transition:all .2s}.admin-badges-condition-type-btn:hover{border-color:var(--color-indigo-500);background:#f5f3ff}.admin-badges-condition-type-btn.selected{border-color:var(--color-indigo-500);background:var(--color-indigo-50);color:var(--color-indigo-700)}.admin-badges-condition-type-icon{font-size:1.25rem}.admin-badges-subject-search-wrapper{position:relative}.admin-badges-selected-subject{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--color-indigo-50);border:1px solid var(--color-indigo-500);border-radius:6px;color:var(--color-indigo-700);font-weight:500;font-size:.9rem}.admin-badges-subject-remove{background:none;border:none;color:var(--color-indigo-500);font-size:1rem;font-weight:700;cursor:pointer;padding:0 .25rem;line-height:1;transition:color .15s}.admin-badges-subject-remove:hover{color:var(--color-red-500)}.admin-badges-subject-dropdown{position:absolute;top:100%;left:0;right:0;max-height:220px;overflow-y:auto;background:var(--color-white);border:1px solid var(--color-gray-300);border-top:none;border-radius:0 0 6px 6px;box-shadow:0 4px 12px #0000001a;z-index:50}.admin-badges-subject-option{display:block;width:100%;padding:.5rem .75rem;background:none;border:none;text-align:left;font-size:.875rem;color:var(--color-gray-700);cursor:pointer;transition:background .12s}.admin-badges-subject-option:hover{background:var(--color-indigo-50);color:var(--color-indigo-700)}.admin-badges-subject-more{padding:.5rem .75rem;font-size:.8rem;color:var(--color-gray-400);text-align:center;font-style:italic}.admin-badges-subject-empty{padding:.75rem;font-size:.875rem;color:var(--color-gray-400);text-align:center}.admin-badges-card-category{color:var(--color-indigo-500);font-weight:500}.admin-badges-card-icon-img{width:36px;height:36px;object-fit:contain;border-radius:4px}.admin-badges-preview-icon-img{width:36px;height:36px;object-fit:contain;border-radius:6px}.admin-badges-preview{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--color-gray-200)}.admin-badges-preview-card{display:flex;align-items:center;gap:1rem;background:var(--color-gray-50);padding:1rem;border-radius:8px;border:1px solid var(--color-gray-200);margin-top:.5rem}.admin-badges-preview-icon{font-size:2rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-blue-light);border-radius:10px;flex-shrink:0}.admin-badges-preview-card strong{color:var(--color-gray-800);display:block;margin-bottom:.15rem}.admin-badges-preview-card p{color:var(--color-gray-500);font-size:.85rem;margin:0 0 .15rem}.admin-badges-preview-card small{color:var(--color-blue-500);font-weight:600;font-size:.8rem}.admin-badges-btn-cancel{padding:.625rem 1.25rem;background:var(--color-white);color:var(--color-gray-700);border:1px solid var(--color-gray-300);border-radius:6px;font-weight:500;cursor:pointer;transition:background .15s}.admin-badges-btn-cancel:hover{background:var(--color-gray-100)}.admin-badges-btn-save{padding:.625rem 1.25rem;background:var(--color-blue-500);color:var(--color-white);border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:background .15s}.admin-badges-btn-save:hover{background:var(--color-blue-600)}.admin-badges-btn-save:disabled,.admin-badges-btn-cancel:disabled{opacity:.6;cursor:not-allowed}.admin-badges-btn-danger{padding:.625rem 1.25rem;background:var(--color-red-500);color:var(--color-white);border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:background .15s}.admin-badges-btn-danger:hover{background:var(--color-red-600)}.admin-badges-btn-danger:disabled{opacity:.6;cursor:not-allowed}.admin-badges-delete-preview{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#fef2f2;border-radius:8px;margin-bottom:1rem}.admin-badges-delete-icon{font-size:2rem}.admin-badges-delete-warning{color:var(--color-gray-500);font-size:.9375rem;line-height:1.5}@media(max-width:768px){.admin-badges-header{flex-direction:column;align-items:flex-start}.admin-badges-grid{grid-template-columns:1fr}.admin-badges-modal{max-width:100%;margin:.5rem}}.notifications-page{max-width:900px;margin:0 auto;padding:20px;min-height:calc(100vh - 80px);background-color:var(--color-white)}.notifications-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.notifications-header h1{font-size:28px;font-weight:600;color:var(--color-gray-800);margin:0}.mark-all-read-btn-full{background-color:var(--color-gray-800);color:var(--color-white);border:none;padding:10px 16px;border-radius:4px;font-size:14px;cursor:pointer;transition:all .15s ease}.mark-all-read-btn-full:hover{background-color:var(--color-gray-900)}.notifications-empty{text-align:center;padding:60px 20px;color:var(--color-gray-500);font-size:16px}.notifications-list-full{display:flex;flex-direction:column;gap:12px}.notification-card-full{display:flex;align-items:center;gap:16px;padding:16px;background-color:var(--color-white);border:1px solid var(--color-gray-200);border-radius:0;transition:all .15s ease}.notification-card-full:hover{background-color:var(--color-white);border-color:var(--color-blue-500)}.notification-card-full.unread{background-color:var(--color-blue-50);border-color:var(--color-blue-200)}.notification-card-full.clickable{cursor:pointer}.notification-card-full.clickable:hover{background-color:var(--color-white);border-color:var(--color-blue-500)}.notification-card-avatar{flex-shrink:0;width:50px;height:50px;border-radius:50%;overflow:hidden;background-color:var(--color-gray-200);display:flex;align-items:center;justify-content:center}.notification-avatar-fallback{font-size:24px}.notification-card-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px}.notification-card-main{display:flex;flex-direction:column;gap:4px}.notification-card-text{font-size:15px;color:var(--color-gray-800);margin:0;line-height:1.4;word-break:break-word}.notification-card-time{font-size:13px;color:var(--color-gray-400)}.notification-card-actions{display:flex;gap:8px}.action-btn-full{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:13px;border:1px solid var(--color-gray-200);border-radius:4px;cursor:pointer;transition:all .2s ease}.action-btn-full.accept-btn{background-color:var(--color-green-100);color:var(--color-green-700);border-color:var(--color-green-200)}.action-btn-full.accept-btn:hover{background-color:var(--color-green-200)}.action-btn-full.reject-btn{background-color:var(--color-red-100);color:var(--color-red-900);border-color:var(--color-red-200)}.action-btn-full.reject-btn:hover{background-color:var(--color-red-200)}.notification-card-book{flex-shrink:0;width:80px;height:120px;border-radius:4px;overflow:hidden;background-color:var(--color-gray-100);display:flex;align-items:center;justify-content:center;border:1px solid var(--color-gray-200)}.notification-book-placeholder{font-size:36px;opacity:.5}.notification-book-img{width:100%;height:100%;object-fit:cover;display:block}.notification-card-controls{flex-shrink:0;display:flex;gap:8px}.mark-read-btn-full,.delete-btn-full{background:none;border:none;color:var(--color-gray-500);cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.mark-read-btn-full:hover,.delete-btn-full:hover{background-color:#0000000d;color:var(--color-gray-800)}@media(max-width:768px){.notifications-page{padding:12px}.notifications-header{flex-direction:column;gap:12px;align-items:flex-start}.notification-card-full{flex-direction:column;align-items:stretch}.notification-card-content{order:2}.notification-card-avatar{order:1}.notification-card-controls{order:3;width:100%;justify-content:flex-end;margin-left:0}.notification-card-book{display:none}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}.landing-root{position:relative;min-height:100vh;width:100%;overflow:hidden;display:flex;align-items:center;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,sans-serif}.landing-hero{position:relative;z-index:10;width:45%;padding:0 4rem 0 5rem;display:flex;flex-direction:column;gap:1.6rem;animation:fadeSlideUp .9s cubic-bezier(.22,1,.36,1) both}.landing-badge{display:inline-flex;align-items:center;gap:.5rem;background:#ffffff2e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.35);color:var(--color-brand-dark);font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:.45rem 1rem;border-radius:999px;width:fit-content;animation:fadeSlideUp .9s .1s cubic-bezier(.22,1,.36,1) both}.landing-title{margin:0;line-height:1.2;overflow:visible;animation:fadeSlideUp .9s .2s cubic-bezier(.22,1,.36,1) both}.landing-title-main{display:block;font-size:clamp(5rem,10vw,9rem);font-weight:900;letter-spacing:-.04em;color:var(--color-brand-dark);line-height:1.2;padding-bottom:.1em;animation:fadeSlideUp .9s .2s cubic-bezier(.22,1,.36,1) both}.landing-title-dot{display:inline-block;font-size:clamp(5rem,10vw,9rem);font-weight:900;color:var(--color-brand-accent);-webkit-text-fill-color:var(--color-brand-accent);line-height:1}.landing-tagline{margin:0;font-size:clamp(1rem,1.6vw,1.25rem);color:var(--color-brand-dark);line-height:1.65;font-weight:400;max-width:380px;animation:fadeSlideUp .9s .35s cubic-bezier(.22,1,.36,1) both}.landing-stats{display:flex;align-items:center;gap:1.5rem;animation:fadeSlideUp .9s .45s cubic-bezier(.22,1,.36,1) both}.landing-stat{display:flex;flex-direction:column;align-items:flex-start}.landing-stat-number{font-size:1.6rem;font-weight:800;color:var(--color-brand-darkest);line-height:1}.landing-stat-label{font-size:.75rem;color:var(--color-brand-medium);font-weight:500;letter-spacing:.05em;text-transform:uppercase;margin-top:2px}.landing-stat-divider{width:1px;height:36px;background:#3d1a0833}.landing-cta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;animation:fadeSlideUp .9s .55s cubic-bezier(.22,1,.36,1) both}.landing-btn-primary{padding:.85rem 2rem;background:var(--color-brand-darkest);color:var(--color-brand-light);border:none;border-radius:999px;font-size:.95rem;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s;box-shadow:0 4px 20px #30190b59}.landing-btn-primary:hover{background:var(--color-brand-dark-hover);transform:translateY(-2px);box-shadow:0 8px 28px #30190b73}.landing-btn-primary:active{transform:translateY(0)}.landing-btn-secondary{padding:.85rem 1.6rem;background:transparent;color:var(--color-brand-darkest);border:2px solid rgba(48,25,11,.4);border-radius:999px;font-size:.95rem;font-weight:600;cursor:pointer;transition:border-color .2s,background .2s,transform .2s;display:flex;align-items:center;gap:.4rem}.landing-btn-secondary:hover{border-color:var(--color-brand-darkest);background:#30190b12;transform:translateY(-2px)}.landing-btn-arrow{transition:transform .2s}.landing-btn-secondary:hover .landing-btn-arrow{transform:translate(4px)}.landing-footer-note{margin:0;font-size:.8rem;color:var(--color-brand-medium);animation:fadeSlideUp .9s .65s cubic-bezier(.22,1,.36,1) both}.landing-link{text-decoration:underline;cursor:pointer;font-weight:600;color:var(--color-brand-darkest)}.landing-link:hover{color:var(--color-brand-accent)}.landing-3d-wrapper{position:absolute;left:75%;top:0;width:90%;height:120vh;transform:translate(-50%);pointer-events:none}.landing-3d-inner{width:100%;height:100%}.home-container{max-width:1400px;margin:0 auto;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.home-hero{text-align:center;padding:4rem 2rem;background:var(--color-gray-800);border-radius:0;color:var(--color-white);margin-bottom:2rem}.home-hero h1{font-size:2.5rem;margin-bottom:1rem}.home-hero p{font-size:1.2rem;opacity:.9}.feed-error,.feed-empty{text-align:center;padding:3rem 2rem;color:var(--color-gray-650);font-size:1.1rem}.feed-error{color:var(--color-flat-red)}.feed-empty p{margin:.5rem 0}.feed-list{display:flex;flex-direction:column;gap:1.5rem}.feed-card{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:0;padding:1.5rem;box-shadow:none;transition:all .15s ease;border-bottom:1px solid var(--color-gray-200)}.feed-card:hover{border-color:var(--color-gray-300);background:var(--color-white)}.feed-liked-banner{background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem;font-size:.875rem;color:var(--color-gray-500);display:flex;align-items:center;gap:.5rem}.feed-liked-icon{font-size:1rem;color:var(--color-gray-400)}.feed-liked-username{color:var(--color-gray-800);font-weight:600;cursor:pointer;text-decoration:none}.feed-liked-username:hover{text-decoration:underline}.feed-card-header{display:flex;align-items:center;gap:12px;margin-bottom:1rem}.feed-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--color-blue-500);cursor:pointer}.feed-user-info{display:flex;flex-direction:column;gap:2px}.feed-username{font-weight:600;font-size:1rem;color:var(--color-text-twitter-dark);cursor:pointer}.feed-timestamp{font-size:.875rem;color:var(--color-text-twitter-muted)}.feed-activity-content{padding-left:60px}.feed-review-activity{display:flex;flex-direction:column;gap:1rem}.feed-review-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.feed-review-title{font-size:1rem;color:var(--color-text-twitter);line-height:1.5}.feed-review-title strong,.feed-review-title em{color:var(--color-text-twitter-dark);font-weight:600;cursor:pointer}.feed-review-meta{display:flex;align-items:center;gap:.5rem}.feed-stars{display:inline-flex;gap:2px}.feed-star{font-size:.9rem;color:var(--color-gray-300);line-height:1}.feed-star.filled{color:var(--color-amber-500)}.feed-review-rating-text{font-size:.85rem;color:var(--color-gray-400);font-weight:500}.feed-review-body{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:8px;padding:.75rem 1rem}.feed-review-text{margin:0;color:var(--color-gray-800);line-height:1.6;font-size:.95rem;white-space:pre-wrap;word-break:break-word;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}.feed-review-text.expanded{-webkit-line-clamp:unset}.feed-review-more{background:none;border:none;padding:0;margin-top:.5rem;color:var(--color-blue-600);font-weight:500;font-size:.9rem;cursor:pointer}.feed-review-book-card{display:flex;gap:1rem;padding:.75rem;border:1px solid var(--color-gray-200);border-radius:8px;background:var(--color-gray-50);align-items:center}.feed-review-book-details{display:flex;flex-direction:column;gap:.25rem}.feed-review-book-title{font-weight:600;color:var(--color-text-twitter-dark);cursor:pointer}.feed-review-book-author{color:var(--color-gray-500);font-size:.9rem}.feed-review-book-status{display:inline-flex;align-items:center;gap:.25rem;background:var(--color-green-50);color:var(--color-green-600);border-radius:2px;font-size:.75rem;padding:.2rem .6rem;width:max-content}.feed-review-book-status-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.feed-review-book-select{border:1px solid var(--color-gray-800);border-radius:4px;padding:.3rem .85rem;font-size:.75rem;background:var(--color-gray-800);color:var(--color-white);font-weight:600;cursor:pointer;transition:all .15s ease}.feed-review-book-select:hover:not(:disabled){background:var(--color-gray-900)}.feed-review-book-select:disabled{opacity:.6;cursor:not-allowed}.feed-review-book-select option{background:var(--color-white);color:var(--color-gray-900);font-weight:400}.feed-review-book-select option:checked{background:var(--color-blue-500);color:var(--color-white);background-image:linear-gradient(var(--color-blue-500),var(--color-blue-500))}.feed-review-book-error{font-size:.75rem;color:var(--color-red-500)}.feed-activity-header{font-size:1rem;color:var(--color-text-twitter);margin-bottom:1rem;line-height:1.5}.feed-activity-header strong{color:var(--color-blue-500);font-weight:600}.feed-activity-header em{color:var(--color-text-twitter-dark);font-weight:500}.feed-rating{color:var(--color-flat-orange);font-weight:500}.feed-book-info{display:flex;gap:1rem;padding:1rem;background:var(--color-bg-hover);border-radius:8px;align-items:flex-start}.feed-book-thumbnail{width:80px;height:120px;object-fit:cover;border-radius:4px;box-shadow:0 2px 8px #00000026;flex-shrink:0}.feed-review-text{flex:1;color:var(--color-text-twitter);line-height:1.6;font-size:.95rem;white-space:pre-wrap;word-break:break-word}.feed-activity-comment-preview{margin:.5rem 0 .75rem;padding:.6rem .8rem;background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:8px;font-size:.9rem;color:var(--color-gray-700)}.feed-progress-info{flex:1;display:flex;flex-direction:column;gap:.75rem}.feed-progress-text{font-size:1rem;color:var(--color-text-twitter);font-weight:500}.feed-progress-bar{width:100%;height:10px;background:var(--color-border-message);border-radius:0;overflow:hidden}.feed-progress-fill{height:100%;background:var(--color-gray-800);border-radius:0;transition:width .3s ease}@media(max-width:768px){.home-container{padding:1rem}.home-hero h1{font-size:2rem}.home-hero p{font-size:1rem}.feed-card{padding:1rem}.feed-activity-content{padding-left:0;margin-top:.5rem}.feed-review-header{flex-direction:column;align-items:flex-start}.feed-book-info{flex-direction:column;align-items:center;text-align:center}.feed-review-book-card{flex-direction:column;text-align:center}.feed-book-thumbnail{width:100px;height:150px}}.feed-card-actions{display:flex;gap:1.5rem;padding:1rem 0;border-top:1px solid var(--color-border-light);margin-top:1rem}.feed-like-container{display:flex;align-items:center;gap:.5rem}.feed-like-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid var(--color-gray-300);border-radius:4px;cursor:pointer;color:var(--color-gray-500);font-size:.95rem;transition:all .15s ease}.feed-like-btn:hover:not(:disabled){border-color:var(--color-gray-800);color:var(--color-gray-800);background-color:var(--color-white)}.feed-like-btn.liked{border-color:var(--color-red-500);color:var(--color-red-500);background-color:var(--color-red-50)}.feed-like-btn.liked:hover{border-color:var(--color-red-600);color:var(--color-red-600)}.feed-like-btn:disabled{opacity:.5;cursor:not-allowed}.feed-like-icon{width:16px;height:16px}.feed-like-count{font-size:.875rem;color:var(--color-gray-500);font-weight:500}.feed-comment-container{display:flex;align-items:center;gap:.5rem}.feed-comment-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid var(--color-gray-300);border-radius:4px;cursor:pointer;color:var(--color-gray-500);transition:all .15s ease}.feed-comment-btn:hover{border-color:var(--color-gray-800);color:var(--color-gray-800);background-color:var(--color-white)}.feed-comment-icon{width:16px;height:16px}.feed-comment-count{font-size:.875rem;color:var(--color-gray-500);font-weight:500}.feed-comments-section{margin-top:1rem;padding-top:1rem}.feed-comment-form{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem;background:var(--color-gray-50);border-radius:4px;border:1px solid var(--color-gray-200)}.feed-comment-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}.feed-comment-input{flex:1;border:none;background:transparent;padding:.5rem 0;font-size:.9rem;color:var(--color-gray-800);outline:none}.feed-comment-input::placeholder{color:var(--color-gray-400)}.feed-comment-submit{padding:.5rem 1rem;background:var(--color-gray-800);color:var(--color-white);border:none;border-radius:4px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s ease}.feed-comment-submit:hover{background:var(--color-gray-900)}.feed-comment-submit:disabled{opacity:.5;cursor:not-allowed}.feed-comments-list{display:flex;flex-direction:column;gap:.75rem}.feed-comment{display:flex;gap:.75rem;padding:.75rem;border-radius:12px;transition:background-color .2s}.feed-comment:hover{background-color:var(--color-gray-50)}.feed-comment-content{flex:1;min-width:0}.feed-comment-header{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.25rem}.feed-comment-username{font-size:.875rem;font-weight:600;color:var(--color-gray-800)}.feed-comment-date{font-size:.75rem;color:var(--color-gray-400)}.feed-comment-text{margin:0;font-size:.9rem;color:var(--color-gray-700);line-height:1.5;word-break:break-word}.feed-comment-delete{width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:50%;color:var(--color-gray-400);font-size:1.5rem;line-height:1;cursor:pointer;transition:all .2s;flex-shrink:0}.feed-comment-delete:hover{background-color:var(--color-red-100);color:var(--color-red-500)}.feed-comments-show-more{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;margin-top:.5rem;background:transparent;border:none;border-radius:8px;color:var(--color-gray-500);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;width:100%;justify-content:center}.feed-comments-show-more:hover{background-color:var(--color-gray-100);color:var(--color-gray-700)}.feed-comments-show-more svg{flex-shrink:0}.home-layout{display:flex;gap:2rem;align-items:flex-start}.home-feed{flex:1;min-width:0;max-width:800px}.currently-reading-sidebar{width:320px;flex-shrink:0;position:sticky;top:5rem;max-height:calc(100vh - 6rem);overflow-y:auto;padding:1.25rem;background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:0}.sidebar-title{font-size:.8rem;font-weight:700;color:var(--color-gray-800);letter-spacing:.05em;margin:0 0 1rem;padding-bottom:.75rem;border-bottom:2px solid var(--color-gray-800)}.sidebar-empty{font-size:.875rem;color:var(--color-gray-400);padding:1rem 0;text-align:center}.sidebar-books{display:flex;flex-direction:column;gap:1.25rem}.sidebar-book-card{padding-bottom:1.25rem;border-bottom:1px solid var(--color-gray-100)}.sidebar-book-card:last-child{border-bottom:none;padding-bottom:0}.sidebar-book-row{display:flex;gap:.75rem}.sidebar-book-cover{width:60px;height:90px;object-fit:cover;border-radius:2px;box-shadow:0 1px 4px #00000026;flex-shrink:0;cursor:pointer}.sidebar-book-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.sidebar-book-title{font-size:.875rem;font-weight:600;color:var(--color-gray-800);cursor:pointer;line-height:1.3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.sidebar-book-title:hover{text-decoration:underline}.sidebar-book-author{font-size:.75rem;color:var(--color-gray-500);line-height:1.3}.sidebar-book-progress{display:flex;align-items:center;gap:.5rem;margin-top:.25rem}.sidebar-progress-bar{flex:1;height:5px;background:var(--color-gray-200);border-radius:3px;overflow:hidden}.sidebar-progress-fill{height:100%;background:var(--color-gray-800);border-radius:3px;transition:width .3s ease}.sidebar-progress-text{font-size:.7rem;color:var(--color-gray-500);font-weight:500;white-space:nowrap}.sidebar-update-btn{margin-top:.35rem;padding:.3rem .75rem;font-size:.75rem;font-weight:500;color:var(--color-gray-800);background:var(--color-white);border:1px solid var(--color-gray-300);border-radius:4px;cursor:pointer;transition:all .15s ease;width:fit-content}.sidebar-update-btn:hover{background:var(--color-gray-100);border-color:var(--color-gray-800)}.sidebar-links{margin-top:1.25rem;padding-top:.75rem;border-top:1px solid var(--color-gray-200);font-size:.8rem;display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.sidebar-links a{color:var(--color-blue-600);cursor:pointer;text-decoration:none}.sidebar-links a:hover{text-decoration:underline}.sidebar-link-sep{color:var(--color-gray-400)}.progress-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeInOverlay .15s ease}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.progress-modal{background:var(--color-white);border-radius:8px;padding:1.75rem;width:420px;max-width:90vw;position:relative;box-shadow:0 20px 60px #0003;animation:slideUpModal .2s ease}@keyframes slideUpModal{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.progress-modal-close{position:absolute;top:.75rem;right:.75rem;width:30px;height:30px;background:transparent;border:none;font-size:1.4rem;color:var(--color-gray-400);cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.progress-modal-close:hover{background:var(--color-gray-100);color:var(--color-gray-800)}.progress-modal-header h3{margin:0 0 1.25rem;font-size:1.1rem;font-weight:600;color:var(--color-gray-800)}.progress-modal-book{display:flex;gap:1rem;margin-bottom:1.5rem;padding:.75rem;background:var(--color-gray-50);border-radius:6px;border:1px solid var(--color-gray-200)}.progress-modal-cover{width:50px;height:75px;object-fit:cover;border-radius:3px;box-shadow:0 1px 4px #00000026}.progress-modal-book-info{display:flex;flex-direction:column;justify-content:center;gap:.25rem}.progress-modal-title{font-weight:600;font-size:.95rem;color:var(--color-gray-800);line-height:1.3}.progress-modal-author{font-size:.825rem;color:var(--color-gray-500)}.progress-modal-input-group{margin-bottom:1.25rem}.progress-modal-input-group label{display:block;font-size:.825rem;font-weight:600;color:var(--color-gray-700);margin-bottom:.5rem}.progress-modal-input-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.progress-modal-input{width:80px;padding:.5rem .6rem;border:1px solid var(--color-gray-300);border-radius:4px;font-size:1rem;font-weight:500;color:var(--color-gray-800);text-align:center}.progress-modal-input:focus{outline:none;border-color:var(--color-gray-800);box-shadow:0 0 0 2px #1f29371a}.progress-modal-total{font-size:.9rem;color:var(--color-gray-500)}.progress-modal-bar-container{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.progress-modal-bar{flex:1;height:8px;background:var(--color-gray-200);border-radius:4px;overflow:hidden}.progress-modal-bar-fill{height:100%;background:var(--color-gray-800);border-radius:4px;transition:width .2s ease}.progress-modal-percentage{font-size:.875rem;font-weight:600;color:var(--color-gray-800);min-width:35px;text-align:right}.progress-modal-error{color:var(--color-red-500);font-size:.825rem;margin-bottom:.75rem}.progress-modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.progress-modal-cancel{padding:.5rem 1.25rem;border:1px solid var(--color-gray-300);background:var(--color-white);color:var(--color-gray-700);font-size:.875rem;font-weight:500;border-radius:4px;cursor:pointer;transition:all .15s ease}.progress-modal-cancel:hover{background:var(--color-gray-100)}.progress-modal-save{padding:.5rem 1.25rem;border:none;background:var(--color-gray-800);color:var(--color-white);font-size:.875rem;font-weight:600;border-radius:4px;cursor:pointer;transition:all .15s ease}.progress-modal-save:hover:not(:disabled){background:var(--color-gray-900)}.progress-modal-save:disabled{opacity:.6;cursor:not-allowed}@media(max-width:1024px){.currently-reading-sidebar{width:280px}}@media(max-width:768px){.home-layout{flex-direction:column}.currently-reading-sidebar{width:100%;position:static;max-height:none;order:-1;margin-bottom:1rem}}.mybooks-container{max-width:1200px;margin:0 auto;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.mybooks-layout{display:flex;gap:2rem;align-items:flex-start}.mybooks-sidebar{width:220px;flex-shrink:0;position:sticky;top:5rem}.mybooks-sidebar-title{font-size:1rem;font-weight:700;color:var(--color-gray-800);margin:0 0 .75rem}.mybooks-sidebar-subtitle{font-size:.85rem;font-weight:600;color:var(--color-gray-500);margin:1rem 0 .5rem}.mybooks-shelf-list{list-style:none;padding:0;margin:0}.mybooks-shelf-item{padding:.4rem .6rem;font-size:.9rem;color:var(--color-blue-600);cursor:pointer;border-radius:4px;transition:background .15s}.mybooks-shelf-item:hover{background:var(--color-gray-100)}.mybooks-shelf-item.active{font-weight:700;color:var(--color-gray-800);background:var(--color-gray-100)}.mybooks-main{flex:1;min-width:0}.mybooks-header h1{font-size:1.4rem;font-weight:400;color:var(--color-gray-800);margin:0;display:flex;align-items:center;gap:.5rem}.mybooks-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-gray-200);padding-bottom:.75rem;margin-bottom:1.25rem}.mybooks-active-filter{font-weight:700}.mybooks-count{color:var(--color-gray-500);font-size:1.1rem;margin-left:.25rem}.mybooks-clear-filter{color:var(--color-gray-400);font-size:1.2rem;cursor:pointer;margin-left:.25rem;font-weight:300}.mybooks-clear-filter:hover{color:var(--color-red-500)}.mybooks-view-toggle{display:flex;align-items:center;gap:2px;border:1px solid var(--color-gray-300);border-radius:4px;overflow:hidden;flex-shrink:0}.mybooks-view-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:var(--color-white);border:none;color:var(--color-gray-400);font-size:.9rem;cursor:pointer;transition:all .15s}.mybooks-view-btn:first-child{border-right:1px solid var(--color-gray-300)}.mybooks-view-btn:hover{color:var(--color-gray-800);background:var(--color-gray-50)}.mybooks-view-btn.active{color:var(--color-gray-800);background:var(--color-gray-100)}.mybooks-empty{text-align:center;padding:3rem;color:var(--color-gray-400);font-size:1rem}.mybooks-table-wrapper{overflow-x:auto}.mybooks-table{width:100%;border-collapse:collapse;font-size:.9rem}.mybooks-table thead{border-bottom:2px solid var(--color-gray-200)}.mybooks-table th{text-align:left;padding:.5rem .75rem;font-weight:400;color:var(--color-gray-500);font-size:.8rem;white-space:nowrap}.mybooks-table td{padding:.75rem;border-bottom:1px solid var(--color-gray-100);vertical-align:middle}.mybooks-row:hover{background:#fafbfc}.mybooks-th-cover{width:60px}.mybooks-th-title{min-width:200px}.mybooks-th-author{min-width:120px}.mybooks-th-rating{width:80px}.mybooks-th-shelves{width:130px}.mybooks-th-date{width:100px}.mybooks-th-actions{width:80px}.mybooks-cover{width:50px;height:70px;object-fit:cover;border-radius:2px;box-shadow:0 1px 3px #0000001f;cursor:pointer}.mybooks-cover-placeholder{width:50px;height:70px;background:var(--color-gray-100);border-radius:2px;display:flex;align-items:center;justify-content:center;color:var(--color-gray-300);font-size:1.25rem;cursor:pointer}.mybooks-title-link{color:var(--color-blue-600);cursor:pointer;font-weight:500;line-height:1.4}.mybooks-title-link:hover{text-decoration:underline}.mybooks-td-author{color:var(--color-gray-700)}.mybooks-td-rating{color:var(--color-gray-700);font-size:.85rem}.mybooks-stars{display:inline-flex;gap:1px}.mybooks-star{font-size:.85rem;color:var(--color-gray-300)}.mybooks-star.filled{color:var(--color-amber-500)}.mybooks-no-rating{color:var(--color-gray-300)}.mybooks-shelf-badge{display:inline-block;padding:.2rem .5rem;font-size:.8rem;color:var(--color-blue-600);cursor:pointer;position:relative}.mybooks-shelf-badge:hover{text-decoration:underline}.mybooks-shelf-dropdown{position:absolute;top:100%;left:0;background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:4px;box-shadow:0 4px 12px #0000001a;z-index:50;min-width:150px;margin-top:2px}.mybooks-shelf-option{padding:.5rem .75rem;font-size:.85rem;color:var(--color-gray-700);cursor:pointer;transition:background .1s}.mybooks-shelf-option:hover{background:var(--color-gray-100)}.mybooks-td-shelves{position:relative}.mybooks-td-date{color:var(--color-gray-500);font-size:.8rem;white-space:nowrap}.mybooks-td-actions{white-space:nowrap}.mybooks-action-link{color:var(--color-blue-600);font-size:.8rem;cursor:pointer;margin-right:.5rem}.mybooks-action-link:hover{text-decoration:underline}.mybooks-remove-btn{color:var(--color-gray-400);font-size:1.2rem;cursor:pointer;font-weight:300;transition:color .15s}.mybooks-remove-btn:hover{color:var(--color-red-500)}.mybooks-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--color-gray-200);flex-wrap:wrap}.mybooks-footer-left{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--color-gray-500)}.mybooks-select{padding:.3rem .5rem;border:1px solid var(--color-gray-300);border-radius:4px;font-size:.85rem;color:var(--color-gray-700);background:var(--color-white);cursor:pointer}.mybooks-radio-label{display:flex;align-items:center;gap:.2rem;font-size:.85rem;color:var(--color-gray-500);cursor:pointer}.mybooks-radio-label input[type=radio]{margin:0;accent-color:var(--color-gray-800)}.mybooks-pagination{display:flex;gap:.25rem}.mybooks-page-btn{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-gray-300);background:var(--color-white);color:var(--color-gray-700);font-size:.85rem;border-radius:4px;cursor:pointer;transition:all .15s}.mybooks-page-btn:hover{background:var(--color-gray-100);border-color:var(--color-gray-800)}.mybooks-page-btn.active{background:var(--color-gray-800);color:var(--color-white);border-color:var(--color-gray-800)}.mybooks-grid{display:flex;flex-wrap:wrap;gap:1.25rem}.mybooks-grid-card{cursor:pointer;transition:transform .15s,box-shadow .15s}.mybooks-grid-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001f}.mybooks-grid-cover{width:130px;height:200px;object-fit:cover;border-radius:3px;box-shadow:0 2px 8px #00000026;display:block}.mybooks-grid-cover-placeholder{width:130px;height:200px;background:var(--color-gray-100);border-radius:3px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:var(--color-gray-400);font-size:.75rem;text-align:center;padding:.5rem;box-shadow:0 2px 8px #0000001a}.mybooks-grid-cover-placeholder i{font-size:2rem}@media(max-width:768px){.mybooks-layout{flex-direction:column}.mybooks-sidebar{width:100%;position:static}.mybooks-shelf-list{display:flex;flex-wrap:wrap;gap:.25rem}.mybooks-shelf-item{font-size:.8rem}.mybooks-table th:nth-child(4),.mybooks-table td:nth-child(4){display:none}.mybooks-footer{flex-direction:column;align-items:flex-start}}.review-page{max-width:1100px;margin:0 auto;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.review-error{text-align:center;padding:3rem 2rem;color:var(--color-gray-500)}.review-layout{display:grid;grid-template-columns:200px 1fr;gap:2rem;align-items:start;margin-bottom:1.5rem}.review-cover-col{display:flex;justify-content:center}.review-breadcrumb{font-size:.9rem;color:var(--color-gray-500);margin-bottom:.35rem}.review-header-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.review-back-btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--color-gray-50);border:1px solid var(--color-gray-200);color:var(--color-gray-900);padding:.4rem .85rem;border-radius:4px;cursor:pointer;font-size:.8rem;font-weight:600;transition:all .15s ease}.review-back-btn:hover{background:var(--color-gray-200);border-color:var(--color-gray-800);color:var(--color-gray-900)}.review-title{font-size:1.9rem;margin:0 0 .15rem;color:var(--color-gray-900);font-weight:600}.review-author{margin:0 0 1rem;color:var(--color-gray-500);font-size:.95rem}.review-cover{width:170px;height:250px;object-fit:cover;border-radius:2px;box-shadow:0 8px 24px #00000026;cursor:pointer}.review-card{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:12px;padding:1.25rem 1.5rem}.review-card-header{display:flex;gap:1rem;align-items:center;margin-bottom:.75rem}.review-avatar{width:56px;height:56px;border-radius:8px;object-fit:cover;cursor:pointer}.review-user{flex:1}.review-user-line{display:flex;align-items:center;justify-content:space-between;gap:1rem}.review-user-label{font-weight:600;color:var(--color-gray-900)}.review-date{font-size:.85rem;color:var(--color-gray-400);white-space:nowrap}.review-rating{display:flex;align-items:center;gap:.35rem;margin-top:.25rem}.review-rating-text{font-size:.85rem;color:var(--color-gray-400);font-weight:500}.review-body{color:var(--color-gray-800);line-height:1.75;font-size:1.02rem;white-space:pre-wrap;margin-top:.5rem}.review-actions{display:flex;align-items:center;gap:.75rem;justify-content:flex-end;margin-top:1rem}.review-like-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:4px;border:1px solid var(--color-gray-300);background:transparent;color:var(--color-gray-500);cursor:pointer;transition:all .15s ease}.review-like-btn:hover:not(:disabled){border-color:var(--color-gray-500);color:var(--color-gray-900);background:var(--color-gray-100)}.review-like-btn.liked{border-color:var(--color-red-500);color:var(--color-red-500);background:var(--color-red-50)}.review-like-btn:disabled{opacity:.5;cursor:not-allowed}.review-like-icon{width:18px;height:18px}.review-like-count,.review-comment-count{font-size:.9rem;color:var(--color-gray-500);font-weight:500}.review-comments{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:12px;padding:1.5rem}.review-comments-title{margin:0 0 1rem;font-size:1.1rem;color:var(--color-gray-900)}.review-comment-form{display:flex;align-items:center;gap:.75rem;background:var(--color-gray-50);border-radius:20px;padding:.75rem;margin-bottom:1rem}.review-comment-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}.review-comment-input{flex:1;border:none;background:transparent;font-size:.9rem;outline:none}.review-comment-submit{padding:.45rem .9rem;background:var(--color-gray-800);color:var(--color-white);border:1px solid var(--color-gray-800);border-radius:4px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s ease}.review-comment-submit:hover{background:var(--color-gray-900)}.review-comment-list{display:flex;flex-direction:column;gap:.75rem}.review-comment{display:flex;gap:.75rem;padding:.75rem;border-radius:0}.review-comment:hover{background:var(--color-white);border-radius:4px}.review-comment-content{flex:1}.review-comment-header{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--color-gray-500);margin-bottom:.25rem}.review-empty{text-align:center;color:var(--color-gray-400);padding:1rem 0}.my-reviews-page{max-width:1000px;margin:0 auto;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.my-reviews-header h1{margin:0 0 .25rem;color:var(--color-gray-900)}.my-reviews-header p{color:var(--color-gray-500);margin:0 0 1.5rem}.my-reviews-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.my-reviews-back-btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--color-gray-50);border:1px solid var(--color-gray-200);color:var(--color-gray-900);padding:.5rem .9rem;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .15s ease;height:fit-content}.my-reviews-back-btn:hover{background:var(--color-gray-200);border-color:var(--color-gray-300)}.my-reviews-error,.my-reviews-empty{text-align:center;padding:2.5rem 2rem;color:var(--color-gray-500)}.my-reviews-error{color:var(--color-red-500)}.my-reviews-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.my-review-card{display:flex;gap:1rem;background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:0;padding:1rem;cursor:pointer;transition:all .15s ease}.my-review-card:hover{border-color:var(--color-blue-500);background:var(--color-white)}.my-review-cover img,.my-review-cover-fallback{width:70px;height:100px;border-radius:8px;object-fit:cover;background:var(--color-gray-100)}.my-review-content h3{margin:0 0 .2rem;font-size:1rem;color:var(--color-gray-900)}.my-review-author{margin:0 0 .5rem;color:var(--color-gray-500);font-size:.85rem}.my-review-snippet{margin:0 0 .5rem;color:var(--color-gray-700);font-size:.9rem;line-height:1.4}.my-review-rating{font-size:.85rem;color:var(--color-amber-500);font-weight:600}.messages-container{display:flex;height:calc(100vh - 70px);height:calc(100dvh - 70px);background:var(--color-white)}.messages-sidebar{width:360px;background:var(--color-white);border-right:1px solid var(--color-border-message);display:flex;flex-direction:column}.messages-sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border-message)}.messages-sidebar-header h2{margin:0;font-size:1.5rem;font-weight:700}.messages-new-btn{width:40px;height:40px;border-radius:4px;border:none;background:var(--color-gray-800);color:var(--color-white);font-size:1rem;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.messages-new-btn:hover{background:var(--color-gray-900)}.messages-conversations-list{flex:1;overflow-y:auto}.messages-conversation-item{display:flex;gap:12px;padding:1rem 1.5rem;cursor:pointer;transition:background-color .2s;border-bottom:1px solid var(--color-border-light)}.messages-conversation-item:hover{background-color:var(--color-white);border-color:var(--color-gray-300)}.messages-conversation-item.active{background-color:var(--color-blue-50);border-color:var(--color-blue-200)}.messages-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;flex-shrink:0}.messages-conversation-info{flex:1;min-width:0}.messages-conversation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;gap:8px}.messages-username{font-weight:600;font-size:.95rem;color:var(--color-text-twitter-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messages-time{font-size:.75rem;color:var(--color-gray-400);white-space:nowrap}.messages-last-message{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--color-text-twitter-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.messages-last-message .unread{font-weight:600;color:var(--color-text-twitter-dark)}.messages-unread-badge{background:var(--color-blue-500);color:var(--color-white);border-radius:999px;padding:2px 7px;font-size:.7rem;font-weight:600;min-width:18px;text-align:center}.messages-main{flex:1;display:flex;flex-direction:column;background:var(--color-white)}.messages-header{display:flex;align-items:center;gap:12px;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border-message);background:var(--color-white)}.messages-back-btn{display:none;width:36px;height:36px;border-radius:8px;border:1px solid var(--color-border-message);background:var(--color-white);color:var(--color-gray-800);align-items:center;justify-content:center}.messages-header-info{flex:1}.messages-header-username{margin:0;font-size:1.1rem;font-weight:600;cursor:pointer;color:var(--color-text-twitter-dark)}.messages-header-username:hover{color:var(--color-blue-500)}.messages-list{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;background:var(--color-gray-50)}.messages-message{display:flex;flex-direction:column;max-width:70%;animation:messageSlide .2s ease-out}@keyframes messageSlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.messages-message.sent{align-self:flex-end;align-items:flex-end}.messages-message.received{align-self:flex-start;align-items:flex-start}.messages-message-content{padding:.75rem 1rem;border-radius:4px;word-wrap:break-word;line-height:1.4}.messages-message.sent .messages-message-content{background:var(--color-gray-800);color:var(--color-white);border-bottom-right-radius:4px}.messages-message.received .messages-message-content{background:var(--color-gray-100);color:var(--color-gray-800);border-bottom-left-radius:4px}.messages-message-time{font-size:.7rem;color:var(--color-gray-400);margin-top:4px;padding:0 8px}.messages-input-form{display:flex;gap:12px;padding:1rem 1.5rem;border-top:1px solid var(--color-border-message);background:var(--color-white);padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.messages-input{flex:1;padding:.75rem 1rem;border:1px solid var(--color-border-message);border-radius:24px;font-size:.95rem;outline:none;transition:border-color .2s}.messages-input:focus{border-color:var(--color-blue-500)}.messages-send-btn{width:48px;height:48px;border-radius:4px;border:none;background:var(--color-gray-800);color:var(--color-white);font-size:1.2rem;cursor:pointer;transition:all .15s ease}.messages-send-btn:hover:not(:disabled){background:var(--color-gray-900)}.messages-send-btn:disabled{opacity:.5;cursor:not-allowed}.messages-empty{padding:3rem 2rem;text-align:center;color:var(--color-gray-400)}.messages-empty p{margin-bottom:1rem}.messages-no-selection{display:flex;justify-content:center;align-items:center;height:100%}.messages-no-selection-content{text-align:center;color:var(--color-gray-400)}.messages-no-selection-content h2{font-size:2rem;margin-bottom:.5rem;color:var(--color-text-twitter-dark)}.messages-no-selection-content p{margin-bottom:1.5rem}.messages-empty-conversation{flex:1;display:flex;justify-content:center;align-items:center;color:var(--color-gray-400);font-size:1.1rem}.messages-start-btn{padding:.75rem 1.5rem;border:1px solid var(--color-gray-800);border-radius:4px;background:var(--color-gray-800);color:var(--color-white);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .15s ease}.messages-start-btn:hover{background:var(--color-gray-900)}.messages-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.messages-modal{background:var(--color-white);border-radius:12px;width:90%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0003}.messages-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--color-border-message)}.messages-modal-header h3{margin:0;font-size:1.3rem;font-weight:700}.messages-modal-close{width:32px;height:32px;border:none;background:transparent;font-size:1.3rem;color:var(--color-gray-400);cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:color .2s}.messages-modal-content{padding:1.5rem;overflow-y:auto;flex:1}.messages-modal-subtitle{font-weight:600;color:var(--color-gray-500);font-size:.85rem;text-transform:uppercase;margin-bottom:1rem}@media(max-width:768px){.messages-container{flex-direction:column;height:calc(100dvh - 64px)}.messages-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--color-border-message);display:flex;flex:1}.messages-main{width:100%;display:flex;flex:1}.messages-container.conversation-open .messages-sidebar,.messages-container.conversation-closed .messages-main{display:none}.messages-back-btn{display:inline-flex}.messages-list{padding:1rem}.messages-message{max-width:85%}.messages-input-form{padding:.75rem 1rem}.messages-conversation-item{padding:.85rem 1rem}.messages-avatar{width:48px;height:48px}}.messages-modal-empty{text-align:center;color:var(--color-gray-400);padding:2rem}.messages-following-list{display:flex;flex-direction:column;gap:.5rem}.messages-following-item{display:flex;align-items:center;gap:12px;padding:.75rem;border-radius:8px;cursor:pointer;transition:background-color .2s}.messages-following-item:hover{background-color:var(--color-white)}.header{position:sticky;top:0;left:0;right:0;width:100%;padding:1rem 2rem;background-color:var(--color-white);border-bottom:1px solid var(--color-gray-200);color:var(--color-gray-900);display:flex;align-items:center;gap:2rem;flex-wrap:wrap;z-index:1001;box-shadow:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.header-title{margin:0;cursor:pointer;font-weight:700;color:var(--color-gray-900);transition:all .2s ease;letter-spacing:-.5px}.header-title:hover{color:var(--color-blue-500)}.header-nav{display:flex;gap:1rem;margin-left:auto;align-items:center;flex-wrap:wrap}.header-menu-toggle{display:none;margin-left:auto;width:40px;height:40px;border:1px solid var(--color-gray-300);background:var(--color-white);color:var(--color-gray-900);font-size:1.1rem;cursor:pointer;align-items:center;justify-content:center}.header-menu-toggle:hover{background-color:var(--color-gray-200);border-radius:4px}.header-menu-overlay{display:none}.header-username{color:var(--color-gray-650);font-size:.875rem;font-weight:500;padding:0 1rem;border-right:1px solid var(--color-gray-200)}.header-btn{padding:.625rem 1.25rem;font-size:.875rem;border-radius:4px;cursor:pointer;border:none;font-family:inherit;font-weight:500;transition:all .15s ease}.header-btn-outline{background-color:transparent;color:var(--color-gray-900);border:1px solid var(--color-gray-300)}.header-btn-outline:hover{background-color:var(--color-gray-200);border-color:var(--color-gray-800);color:var(--color-gray-900)}.header-btn-primary{background-color:var(--color-gray-800);color:var(--color-white);border:1px solid var(--color-gray-800)}.header-btn-primary:hover{background-color:var(--color-gray-900);border-color:var(--color-gray-900)}.header-btn-danger{background-color:var(--color-red-500);color:var(--color-white);border:1px solid var(--color-red-500)}.header-btn-danger:hover{background-color:var(--color-red-600);border-color:var(--color-red-600)}.header-icon-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:4px;background-color:transparent;border:1px solid transparent;color:var(--color-gray-900);font-size:1.25rem;cursor:pointer;transition:all .15s ease}.header-icon-btn:hover{background-color:var(--color-gray-200);border-radius:4px;border-color:transparent}.header-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;cursor:pointer;border:none;transition:all .2s ease}.header-avatar:hover{opacity:.8}@media(max-width:768px){.header{padding:1rem;gap:1rem}.header-menu-toggle{display:inline-flex}.header .header-nav{display:none;width:100%;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:.75rem;padding:.75rem 0;background:var(--color-white);position:relative;z-index:1002}.header-nav.is-open{display:flex}.header-btn,.header-icon-btn,.header-avatar,.header-nav .notification-bell-container{width:100%}.header-nav .notification-bell-btn{width:100%;height:44px;border:1px solid var(--color-gray-300);border-radius:10px}.header-icon-btn,.header-avatar{height:44px;border-radius:10px}.header-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;align-self:center}.header-menu-overlay{display:block;position:fixed;inset:0;background:#0006;border:none;z-index:1000}.header-username{display:none}.header-btn{padding:.5rem 1rem;font-size:.8125rem}}.notification-bell-container{position:relative;display:inline-block}.notification-bell-btn{position:relative;background:none;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;color:inherit;transition:color .2s ease;border-radius:4px}.notification-bell-btn:hover{background-color:#0000000d;color:var(--color-blue-500)}.notification-badge{position:absolute;top:0;right:0;background-color:var(--color-red-500);color:var(--color-white);border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.notification-dropdown{position:absolute;top:100%;right:0;background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:0;box-shadow:none;width:380px;max-height:500px;display:flex;flex-direction:column;z-index:1000;margin-top:8px}@media(max-width:480px){.notification-dropdown{position:fixed;top:72px;left:12px;right:12px;width:auto;max-height:calc(100dvh - 96px)}}.notification-header{padding:16px;border-bottom:1px solid var(--color-gray-200);display:flex;justify-content:space-between;align-items:center}.notification-header h3{margin:0;font-size:16px;font-weight:600}.notification-header-buttons{display:flex;gap:8px;align-items:center}.mark-all-read-btn,.view-all-btn{background:none;border:none;color:var(--color-blue-500);cursor:pointer;font-size:12px;padding:4px 8px;border-radius:4px;transition:background-color .2s ease;text-decoration:none}.mark-all-read-btn:hover,.view-all-btn:hover{background-color:#3b82f61a}.notification-list{flex:1;overflow-y:auto;min-height:0}.notification-item{padding:12px 16px;border-bottom:1px solid var(--color-gray-100);display:flex;flex-direction:column;gap:8px;transition:background-color .2s ease}.notification-item:hover{background-color:var(--color-gray-50)}.notification-item.clickable{cursor:pointer}.notification-item.clickable:hover{background-color:#f0f9ff}.notification-item.unread{background-color:#eff6ff}.notification-content{display:flex;gap:12px;align-items:flex-start}.notification-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;overflow:hidden;background-color:var(--color-gray-200);display:flex;align-items:center;justify-content:center}.notification-avatar-img{width:100%;height:100%;object-fit:cover}.notification-avatar-fallback{font-size:20px}.notification-text{flex:1;min-width:0}.notification-text p{margin:0;font-size:14px;line-height:1.4;color:var(--color-gray-800);word-break:break-word}.notification-text small{display:block;font-size:12px;color:var(--color-gray-500);margin-top:4px}.notification-time{font-size:12px;color:var(--color-gray-400)}.mark-read-btn{background:none;border:none;color:var(--color-red-500);cursor:pointer;font-size:20px;padding:0;flex-shrink:0;transition:color .2s ease}.mark-read-btn:hover{color:var(--color-red-600)}.delete-notification-btn{background:none;border:none;color:var(--color-gray-300);cursor:pointer;padding:4px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:color .2s ease;border-radius:4px}.delete-notification-btn:hover{color:var(--color-gray-500);background-color:#0000000d}.notification-actions{display:flex;gap:8px;padding:8px 0 0 52px}.action-btn{flex:1;padding:6px 12px;border:1px solid var(--color-gray-300);border-radius:4px;background:var(--color-white);cursor:pointer;font-size:12px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:4px;transition:all .2s ease}.action-btn:focus-visible{outline:2px solid var(--color-blue-500);outline-offset:2px}.accept-btn{color:var(--color-green-500);border-color:var(--color-green-500)}.accept-btn:hover{background-color:#10b98122}.reject-btn{color:var(--color-red-500);border-color:var(--color-red-500)}.reject-btn:hover{background-color:#ef444422}.empty-state{padding:32px 16px;text-align:center;color:var(--color-gray-400);font-size:14px}.notification-overlay{position:fixed;inset:0;z-index:999}.notification-list::-webkit-scrollbar{width:6px}.notification-list::-webkit-scrollbar-track{background:var(--color-gray-100);border-radius:3px}.notification-list::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:3px}.notification-list::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.loading-screen{position:fixed;inset:0;background:var(--color-white);display:flex;align-items:center;justify-content:center;z-index:9999;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.loading-container{display:flex;flex-direction:column;align-items:center;gap:1.5rem}:root{--color-white: #ffffff;--color-black: #000000;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #555;--color-gray-650: #666;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-blue-50: #eff6ff;--color-blue-100: #dbeafe;--color-blue-200: #bfdbfe;--color-blue-300: #93c5fd;--color-blue-400: #60a5fa;--color-blue-500: #3b82f6;--color-blue-600: #2563eb;--color-red-50: #fef2f2;--color-red-100: #fee2e2;--color-red-200: #fecaca;--color-red-300: #fca5a5;--color-red-500: #ef4444;--color-red-600: #dc2626;--color-red-700: #b91c1c;--color-red-800: #991b1b;--color-red-900: #7f1d1d;--color-green-50: #f0fdf4;--color-green-100: #d1fae5;--color-green-200: #a7f3d0;--color-green-500: #10b981;--color-green-600: #059669;--color-green-700: #065f46;--color-green-800: #155724;--color-amber-50: #fef3c7;--color-amber-500: #f59e0b;--color-amber-700: #92400e;--color-amber-800: #856404;--color-indigo-50: #eef2ff;--color-indigo-100: #e0e7ff;--color-indigo-500: #6366f1;--color-indigo-600: #4f46e5;--color-indigo-700: #4338ca;--color-slate-50: #f8fafc;--color-slate-100: #f1f5f9;--color-slate-200: #e2e8f0;--color-slate-300: #cbd5e1;--color-slate-400: #94a3b8;--color-slate-500: #64748b;--color-slate-600: #475569;--color-slate-900: #0f172a;--color-cyan-50: #ecfeff;--color-cyan-100: #cffafe;--color-cyan-800: #155e75;--color-cyan-900: #0c5460;--color-cyan-bg: #d1ecf1;--color-brand-darkest: #30190B;--color-brand-dark: #3d1a08;--color-brand-dark-hover: #4a2510;--color-brand-medium: #7a3410;--color-brand-accent: #c0622a;--color-brand-light: #F1D3BE;--color-flat-dark: #2c3e50;--color-flat-blue: #3498db;--color-flat-red: #e74c3c;--color-flat-red-dark: #c0392b;--color-flat-green: #27ae60;--color-flat-green-dark: #229954;--color-flat-gray: #95a5a6;--color-flat-gray-dark: #7f8c8d;--color-flat-gray-medium: #bdc3c7;--color-flat-border: #ecf0f1;--color-flat-orange: #f39c12;--color-material-blue: #1976d2;--color-material-blue-bg: #e3f2fd;--color-material-green: #388e3c;--color-material-green-bg: #e8f5e9;--color-material-orange: #f57c00;--color-material-orange-bg: #fff3e0;--color-material-red: #d32f2f;--color-material-red-bg: #ffebee;--color-link: #0066cc;--color-link-hover: #0052a3;--color-bootstrap-red: #dc3545;--color-text-twitter: #14171a;--color-text-twitter-dark: #1a1a1a;--color-text-twitter-muted: #657786;--color-bg-light: #f8f9fa;--color-bg-light-alt: #fafafa;--color-bg-info: #f0f4f8;--color-bg-hover: #f7f9fa;--color-bg-blue-light: #f0f4ff;--color-border-light: #f0f0f0;--color-placeholder: #999;--color-amber-bg: #fff3cd;--color-green-bg-alt: #d4edda;--color-green-light: #d5f4e6;--color-red-bg-alt: #fee;--color-red-text-alt: #c33;--color-blue-dark: #075985;--color-border-message: #e1e8ed;--color-input-border: #999;--color-primary: var(--color-gray-800);--color-primary-dark: var(--color-gray-900);--color-secondary: var(--color-blue-500);--color-secondary-hover: var(--color-blue-600);--color-text: var(--color-gray-800);--color-text-light: rgba(255, 255, 255, .87);--color-background: var(--color-white);--color-background-dark: var(--color-gray-50);--color-border: var(--color-gray-200);--color-error: var(--color-red-500);--color-success: var(--color-green-500)}*{margin:0;padding:0;box-sizing:border-box}:root{--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{width:100%;min-height:100vh;margin:0;padding:0;background-color:var(--color-white);color:var(--color-text)}body{overflow-x:hidden}#root{min-height:100vh;width:100%}h1{font-size:2.5rem;line-height:1.2;margin-bottom:var(--spacing-lg);font-weight:700}h2{font-size:2rem;line-height:1.3;margin-bottom:var(--spacing-md);font-weight:600}h3{font-size:1.5rem;line-height:1.4;margin-bottom:var(--spacing-md);font-weight:600}p{margin-bottom:var(--spacing-md)}a{color:var(--color-secondary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-secondary-hover);text-decoration:underline}button{font-family:inherit;font-size:1rem;font-weight:500;padding:var(--spacing-sm) var(--spacing-lg);border-radius:4px;border:1px solid transparent;cursor:pointer;transition:all .15s ease;background-color:var(--color-primary);color:var(--color-white)}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}input,textarea,select{font-family:inherit;font-size:1rem;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:4px;width:100%;transition:all .15s ease;background-color:var(--color-white)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-secondary);box-shadow:0 0 0 3px #3b82f61a}input::placeholder,textarea::placeholder{color:var(--color-placeholder)}table{width:100%;border-collapse:collapse;margin:var(--spacing-lg) 0}th,td{text-align:left;padding:var(--spacing-md);border-bottom:1px solid var(--color-border)}th{font-weight:600;background-color:var(--color-gray-100)}tr:hover{background-color:var(--color-bg-light-alt)}.text-center{text-align:center}.mt-1{margin-top:var(--spacing-md)}.mt-2{margin-top:var(--spacing-lg)}.mb-1{margin-bottom:var(--spacing-md)}.mb-2{margin-bottom:var(--spacing-lg)}@media(max-width:768px){:root{font-size:14px}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}}
