:root{--primary: #3498db;--secondary: #2c3e50;--background: #fdfdfd;--card-bg: #ffffff;--text: #333333;--border: #e0e0e0}body{margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;background-color:var(--background);color:var(--text);line-height:1.5}header{background:var(--card-bg);padding:2rem 5%;border-bottom:1px solid var(--border);box-shadow:0 4px 6px -1px #0000000d}header h1{margin:0;color:var(--secondary);font-size:2rem;letter-spacing:-.5px}header p{margin:.5rem 0 0;color:#666}.container{display:grid;grid-template-columns:1fr 350px;gap:2rem;padding:2rem 5%;max-width:1400px;margin:0 auto}.card{background:var(--card-bg);border-radius:12px;padding:1.5rem;box-shadow:0 4px 6px -1px #0000001a;border:1px solid var(--border)}aside h2{margin-top:0;font-size:1.25rem;border-bottom:2px solid var(--border);padding-bottom:.75rem;margin-bottom:1rem}.search-box{width:100%;padding:1rem;font-size:1.1rem;border:2px solid var(--border);border-radius:8px;transition:border-color .2s;box-sizing:border-box;margin-bottom:1.5rem}.search-box:focus{outline:none;border-color:var(--primary)}.btn{background:var(--primary);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:500;transition:filter .2s}.btn:hover{filter:brightness(1.1)}.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1.5rem}.book-item{display:flex;flex-direction:column}.book-cover{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:8px;box-shadow:0 4px 8px #0000001a;margin-bottom:.75rem;background-color:#eee}.book-title{font-weight:600;font-size:.95rem;margin-bottom:.25rem;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.book-author{font-size:.85rem;color:#666;margin-bottom:.75rem}.my-list-item-container{border-bottom:1px solid var(--border);padding:1rem 0}.my-list-item{display:flex;gap:1rem}.my-list-item:last-child{border-bottom:none}.my-list-thumb{width:50px;height:75px;object-fit:cover;border-radius:4px}.my-list-info{flex:1}.review-section{margin-top:1rem;padding:1rem;background:#f8f9fa;border-radius:8px}.empty-state{text-align:center;padding:2rem;color:#888}@media(max-width:768px){.container{grid-template-columns:1fr}}
