/* Library production stylesheet — replaces Tailwind CDN runtime. */
*,*::before,*::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}
html{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:Cairo,sans-serif;font-feature-settings:normal;font-variation-settings:normal}
body{margin:0;line-height:inherit;font-family:'Cairo',sans-serif;background-color:#f4f4f0;color:#111;background-image:linear-gradient(rgba(17,17,17,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(17,17,17,.05) 1px,transparent 1px);background-size:20px 20px;scroll-behavior:smooth}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}
p,blockquote,figure{margin:0}
ul,ol{list-style:none;margin:0;padding:0}
a{color:inherit;text-decoration:inherit}
button,input,select,textarea{font:inherit;color:inherit;margin:0;padding:0;background-color:transparent}
button,select{ text-transform:none }
button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-image:none;cursor:pointer}
button:disabled{cursor:default}
img,svg{display:block;vertical-align:middle}
img{max-width:100%;height:auto}
[hidden]{display:none!important}
::placeholder{opacity:1;color:#9ca3af}

/* Custom theme */
.font-cairo{font-family:'Cairo',sans-serif}.font-mono{font-family:'Space Mono',monospace}
.bg-brutal-white{background-color:#f4f4f0}.bg-brutal-black{background-color:#111}.bg-brutal-blue{background-color:#0047ff}.bg-brutal-yellow{background-color:#ffde00}
.text-brutal-white{color:#f4f4f0}.text-brutal-black{color:#111}.text-brutal-blue{color:#0047ff}
.border-brutal-black{border-color:#111}
.shadow-hard{box-shadow:4px 4px 0 0 #111}.shadow-hard-sm{box-shadow:3px 3px 0 0 #111}.shadow-hard-blue{box-shadow:4px 4px 0 0 #0047ff}.shadow-none{box-shadow:none}

/* Layout */
.absolute{position:absolute}.relative{position:relative}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}
.flex-1{flex:1 1 0%}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.shrink-0{flex-shrink:0}
.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.min-w-0{min-width:0}.min-w-\[45px\]{min-width:45px}.max-w-3xl{max-width:48rem}.max-w-\[1300px\]{max-width:1300px}
.w-9{width:2.25rem}.h-9{height:2.25rem}.w-28{width:7rem}.h-28{height:7rem}.h-\[45px\]{height:45px}
.mx-auto{margin-left:auto;margin-right:auto}.mt-auto{margin-top:auto}
.-top-12{top:-3rem}.-left-12{left:-3rem}.top-3{top:.75rem}.left-3{left:.75rem}.z-20{z-index:20}
.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.pointer-events-none{pointer-events:none}.whitespace-nowrap{white-space:nowrap}

/* Spacing */
.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-6{gap:1.5rem}
.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}
.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-7{padding-top:1.75rem;padding-bottom:1.75rem}.py-20{padding-top:5rem;padding-bottom:5rem}
.pt-4{padding-top:1rem}.pt-8{padding-top:2rem}.pb-3{padding-bottom:.75rem}.pb-8{padding-bottom:2rem}
.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-10{margin-top:2.5rem}.mt-16{margin-top:4rem}
.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.mb-14{margin-bottom:3.5rem}

/* Borders */
.border-2{border-width:2px}.border-4{border-width:4px}.border-none{border-width:0}.border-b-4{border-bottom-width:4px}.border-r-4{border-right-width:4px}.border-t-2{border-top-width:2px}.border-t-4{border-top-width:4px}.border-t-8{border-top-width:8px}.border-y-4{border-top-width:4px;border-bottom-width:4px}.rounded-full{border-radius:9999px}

/* Type */
.text-center{text-align:center}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-7xl{font-size:4.5rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}
.font-normal{font-weight:400}.font-bold{font-weight:700}.font-black{font-weight:900}.uppercase{text-transform:uppercase}
.leading-none{line-height:1}.leading-tight{line-height:1.25}.leading-snug{line-height:1.375}.leading-relaxed{line-height:1.625}
.tracking-tight{letter-spacing:-.025em}.tracking-tighter{letter-spacing:-.05em}.tracking-wider{letter-spacing:.05em}
.text-white{color:#fff}.text-gray-400{color:#9ca3af}.text-gray-500{color:#6b7280}.text-gray-600{color:#4b5563}.text-gray-700{color:#374151}
.bg-white{background-color:#fff}.bg-gray-100{background-color:#f3f4f6}.bg-transparent{background-color:transparent}
.opacity-10{opacity:.1}.opacity-70{opacity:.7}.opacity-80{opacity:.8}

/* Effects & interaction */
.outline-none{outline:2px solid transparent;outline-offset:2px}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.scroll-smooth{scroll-behavior:smooth}
.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}
.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}
.transition-shadow{transition-property:box-shadow;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}
.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}
.duration-150{transition-duration:.15s}.translate-y-1{transform:translateY(.25rem)}
.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}

/* States */
.hover\:bg-brutal-black:hover{background-color:#111}.hover\:bg-brutal-blue:hover{background-color:#0047ff}.hover\:bg-brutal-yellow:hover{background-color:#ffde00}.hover\:text-white:hover{color:#fff}.hover\:text-brutal-blue:hover{color:#0047ff}.hover\:shadow-hard-blue:hover{box-shadow:4px 4px 0 0 #0047ff}.hover\:shadow-none:hover{box-shadow:none}
.active\:translate-y-1:active{transform:translateY(.25rem)}.active\:shadow-none:active{box-shadow:none}
.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-4:focus{box-shadow:0 0 0 4px rgba(0,71,255,.3)}.focus\:ring-brutal-blue\/30:focus{--tw-ring-color:rgba(0,71,255,.3)}
.focus-within\:shadow-hard-blue:focus-within{box-shadow:4px 4px 0 0 #0047ff}.group:focus-within .group-focus-within\:bg-brutal-blue{background-color:#0047ff}
.placeholder\:font-normal::placeholder{font-weight:400}.placeholder\:text-gray-400::placeholder{color:#9ca3af}
.selection\:bg-brutal-blue::selection,.selection\:bg-brutal-blue *::selection{background:#0047ff}.selection\:text-white::selection,.selection\:text-white *::selection{color:#fff}

/* Existing library component styles */
.hide-scrollbar::-webkit-scrollbar{display:none}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}
.book-cover{position:relative;aspect-ratio:2/3;width:100%;background-color:var(--cover-color,#111);border-bottom:4px solid #111;overflow:hidden;display:flex;flex-direction:column}
.book-spine-shadow{position:absolute;top:0;bottom:0;right:0;width:15px;background:linear-gradient(to left,rgba(0,0,0,.3) 0%,rgba(255,255,255,.1) 50%,transparent 100%);z-index:10;pointer-events:none}
.book-label-band{height:35%;background-color:#f4f4f0;border-top:4px solid #111;margin-top:auto;position:relative;z-index:20;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:.5rem;text-align:center}
.book-card{content-visibility:auto;contain-intrinsic-size:520px}
.book-cover-image{width:100%;aspect-ratio:2/3;object-fit:cover;display:block;border-bottom:4px solid #111;background:#fff}
.cover-fallback-hidden{display:none}.book-cover-real-wrap{position:relative}

@media (hover:none){.book-card{transform:none!important}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Responsive utilities */
@media (min-width:640px){
 .sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.sm\:py-8{padding-top:2rem;padding-bottom:2rem}
 .sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-end{align-items:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:gap-3{gap:.75rem}.sm\:gap-4{gap:1rem}.sm\:mt-0{margin-top:0}
 .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sm\:text-xs{font-size:.75rem;line-height:1rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-6xl{font-size:3.75rem;line-height:1}
}
@media (min-width:1024px){
 .lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:text-xl{font-size:1.25rem;line-height:1.75rem}.lg\:text-7xl{font-size:4.5rem;line-height:1}
}
@media (min-width:1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.text-brutal-yellow{color:#ffde00}.text-left{text-align:left}.text-right{text-align:right}

.icon{display:inline-block;width:1.1em;height:1.1em;vertical-align:-.13em;flex:none;stroke:currentColor;fill:none}.icon-filled{fill:currentColor}.book-card .icon{width:1em;height:1em}.static-book-link{font-weight:900;text-decoration:underline}
