body{background-color:#f4f7f6;font-family:Helvetica Neue,Arial,sans-serif;margin:0;padding:0;color:#333}.app-container{max-width:800px;margin:40px auto;padding:20px}.app-title{text-align:center;color:#2c3e50;font-size:2.5rem;margin-bottom:30px;font-weight:800}.card{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000d;padding:30px;margin-bottom:30px;border:1px solid #e1e8ed}.card h2{margin-top:0;color:#34495e;border-bottom:2px solid #ecf0f1;padding-bottom:12px;margin-bottom:24px;font-size:1.5rem}.form-group{margin-bottom:20px;text-align:left}.form-label{display:block;font-weight:700;margin-bottom:8px;color:#555}.form-input,.form-textarea{width:100%;padding:12px;border:1px solid #ccd1d9;border-radius:8px;font-size:1rem;box-sizing:border-box;transition:border-color .3s,box-shadow .3s}.form-input:focus,.form-textarea:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db33}.form-textarea{min-height:120px;resize:vertical}.submit-btn{background-color:#ff9800;color:#fff;border:none;padding:14px 24px;font-size:1.1rem;font-weight:700;border-radius:8px;cursor:pointer;width:100%;transition:background-color .3s,transform .1s;box-shadow:0 4px 6px #ff980033}.submit-btn:hover{background-color:#f57c00;transform:translateY(-2px)}.book-list{list-style:none;padding:0;margin:0}.book-item{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 0;border-bottom:1px solid #f0f2f5;transition:background-color .2s}.book-item:last-child{border-bottom:none}.book-info{flex:1;padding-right:20px}.book-title{margin:0 0 8px;font-size:1.3rem;color:#2c3e50}.book-rating{color:#ffb300;font-size:.9em;margin-left:10px}.book-review{margin:0;color:#666;line-height:1.6}.delete-btn{background-color:#fff;color:#e53935;border:1px solid #e53935;padding:8px 16px;border-radius:6px;cursor:pointer;font-weight:700;transition:all .3s}.delete-btn:hover{background-color:#e53935;color:#fff}.loading-text{text-align:center;color:#95a5a6}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
