@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";
:root{--background:#f8fafc;--foreground:#0f172a;--primary:#3b82f6;--primary-hover:#2563eb;--secondary:#f1f5f9;--secondary-hover:#e2e8f0;--accent:#8b5cf6;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--surface:#fff;--surface-hover:#f8fafc;--border:#e2e8f0;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a}@media (prefers-color-scheme:dark){:root{--background:#0f172a;--foreground:#f8fafc;--primary:#3b82f6;--primary-hover:#60a5fa;--secondary:#1e293b;--secondary-hover:#334155;--surface:#1e293b;--surface-hover:#334155;--border:#334155}}html{height:100%;font-size:14px}@media (min-width:768px){html{font-size:15px}}html,body{max-width:100vw;overflow-x:hidden}body{min-height:100%;color:var(--foreground);background:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}.glass{-webkit-backdrop-filter:blur(10px);background:#ffffffb3;border:1px solid #fff3}@media (prefers-color-scheme:dark){.glass{background:#1e293bb3;border:1px solid #ffffff0d}}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}.btn{border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;padding:.5rem 1rem;font-family:inherit;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background:var(--secondary);color:var(--foreground)}.btn-secondary:hover{background:var(--secondary-hover)}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.badge-available{color:var(--success);background:#10b9811a}.badge-locked{color:var(--warning);background:#f59e0b1a}.badge-sold{color:var(--danger);background:#ef44441a}.book-card{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--border);cursor:pointer;flex-direction:column;height:100%;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.book-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.waterfall-grid{column-count:2;column-gap:1rem}@media (min-width:640px){.waterfall-grid{column-count:3;column-gap:1.5rem}}@media (min-width:1024px){.waterfall-grid{column-count:4;column-gap:2rem}}.waterfall-item{break-inside:avoid;width:100%;margin-bottom:1rem;display:inline-block}@media (min-width:640px){.waterfall-item{margin-bottom:1.5rem}}@media (min-width:1024px){.waterfall-item{margin-bottom:2rem}}.admin-books-grid{grid-template-columns:1fr;gap:2rem;display:grid}@media (min-width:768px){.admin-books-grid{grid-template-columns:1fr 2fr}}.admin-order-item{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);grid-template-columns:1fr;gap:1rem;padding:1.5rem;display:grid}@media (min-width:768px){.admin-order-item{grid-template-columns:1fr auto}}.checkout-grid{grid-template-columns:1fr;gap:2rem;display:grid}@media (min-width:768px){.checkout-grid{grid-template-columns:1fr 1fr}}.nav-logo{transition:filter .3s}@media (prefers-color-scheme:dark){.nav-logo{filter:brightness(0)invert();opacity:.9}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-title{letter-spacing:-.04em;background:linear-gradient(135deg, var(--foreground) 0%, #64748b 100%);-webkit-text-fill-color:transparent;color:#0000;opacity:0;-webkit-background-clip:text;background-clip:text;margin-bottom:1.5rem;font-size:clamp(2.5rem,6vw,4rem);font-weight:800;animation:.8s cubic-bezier(.16,1,.3,1) forwards fadeInUp}@media (prefers-color-scheme:dark){.hero-title{background:linear-gradient(135deg,#fff 0%,#94a3b8 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}}.hero-desc{color:#64748b;opacity:0;max-width:600px;margin:0 auto;font-size:clamp(1rem,2vw,1.125rem);line-height:1.6;animation:.8s cubic-bezier(.16,1,.3,1) .15s forwards fadeInUp}
