:root{--color-bg: #F9F8F4;--color-text: #2D2D2D;--color-accent: #2F4F4F;--color-accent-light: #4A6E6E;--color-card-bg: #FFFFFF;--color-border: #E5E5DA;--color-shadow: rgba(0, 0, 0, .05);--font-serif: "Playfair Display", serif;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--container-width: 1000px;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 2rem;--spacing-xl: 4rem;--radius-sm: 4px;--radius-md: 8px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:700;line-height:1.2;margin-bottom:var(--spacing-md)}a{color:inherit;text-decoration:none}.container{max-width:var(--container-width);margin:0 auto;padding:0 var(--spacing-md)}header{padding:var(--spacing-xl) 0;text-align:center;border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-xl)}header h1{font-size:3rem;letter-spacing:-.02em;color:var(--color-accent)}header p{font-family:var(--font-serif);font-style:italic;color:#666;margin-top:var(--spacing-sm)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.card{background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg);transition:transform .2s ease,box-shadow .2s ease;cursor:pointer;display:flex;flex-direction:column}.card:hover{transform:translateY(-2px);box-shadow:0 10px 20px var(--color-shadow);border-color:var(--color-accent)}.card h3{font-size:1.5rem;margin-bottom:var(--spacing-sm);color:var(--color-accent)}.card p{font-size:.95rem;color:#555;margin-bottom:var(--spacing-md);flex-grow:1}.card-meta{font-size:.85rem;color:#888;border-top:1px solid var(--color-border);padding-top:var(--spacing-md);margin-top:auto}.book-card{display:flex;flex-direction:row;grid-column:span 1}@media(min-width:768px){.book-card{grid-column:span 2}}.book-cover{width:120px;height:180px;background-color:#ddd;border-radius:var(--radius-sm);margin-right:var(--spacing-lg);flex-shrink:0;object-fit:cover}.book-details{flex:1}.badge{display:inline-block;background:var(--color-accent);color:#fff;padding:2px 8px;border-radius:100px;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-sm)}footer{text-align:center;padding:var(--spacing-xl) 0;color:#888;font-size:.9rem;border-top:1px solid var(--color-border);margin-top:var(--spacing-xl)}
