@tailwind base;@tailwind components;@tailwind utilities;body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@layer base{body{@apply font-body bg-ink-50 text-ink-800 antialiased;}h1,h2,h3,h4{@apply font-display;}}@layer components{.btn{@apply inline-flex items-center justify-center gap-2 font-body font-medium transition-all duration-200 active:scale-95 disabled:opacity-50 disabled:cursor-not-allowed;}.btn-primary{@apply btn bg-ink-800 text-gold hover:bg-ink-900 px-5 py-2.5 rounded-xl text-sm;}.btn-ghost{@apply btn border border-ink-200 hover:border-ink-400 text-ink-600 hover:text-ink-800 px-5 py-2.5 rounded-xl text-sm;}.btn-gold{@apply btn bg-gold text-white hover:bg-gold-dark px-5 py-2.5 rounded-xl text-sm;}.btn-sm{@apply px-3 py-1.5 text-xs rounded-lg;}.card-book{@apply bg-white border border-ink-200 rounded-2xl overflow-hidden shadow-md hover:shadow-xl hover:-translate-y-1 transition-all duration-300;}.input{@apply w-full border border-ink-200 rounded-xl px-4 py-3 text-ink-800 placeholder-ink-400 focus:outline-none focus:border-gold transition-colors bg-white;}.skeleton{@apply bg-gradient-to-r from-ink-100 via-ink-50 to-ink-100 bg-[length:200%_100%] animate-shimmer rounded-xl;}.section-rule{@apply flex items-center gap-4;}.section-rule:before,.section-rule:after{content:"";@apply flex-1 h-px bg-ink-200;}.platform-link{@apply flex items-center justify-center w-9 h-9 rounded-full border border-ink-200 hover:border-gold hover:text-gold text-ink-400 transition-all duration-200;}.cart-badge{@apply absolute -top-1.5 -right-1.5 flex items-center justify-center h-5 w-5 rounded-full text-white text-[10px] font-bold;background-color:#c0404a}.filter-pill{@apply px-4 py-1.5 rounded-full text-sm font-medium border transition-all duration-200 cursor-pointer;}.filter-pill-active{@apply bg-ink-800 text-gold border-ink-800;}.filter-pill-inactive{@apply border-ink-200 text-ink-500 hover:border-ink-400 hover:text-ink-700;}}.grain-overlay:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E");pointer-events:none;z-index:1}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#f5f4f0}::-webkit-scrollbar-thumb{background:#cbc8be;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#c9973a}.products-page{min-height:100vh;padding:2.5rem 1rem;max-width:1280px;margin:0 auto}.products-header{margin-bottom:1.5rem}.products-heading{font-size:2rem;font-weight:700;color:var(--color-text-primary, #fff);margin-bottom:.25rem}.products-count{font-size:.875rem;color:var(--color-text-secondary, #a1a1aa)}.products-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:2rem}.search-wrap{position:relative;flex:1;min-width:180px}.search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--color-text-secondary, #a1a1aa)}.search-input{width:100%;background:var(--color-background-secondary, #18181b);border:.5px solid var(--color-border-secondary, #3f3f46);border-radius:10px;padding:8px 12px 8px 32px;font-size:13px;color:var(--color-text-primary, #fff);outline:none;transition:border-color .15s}.search-input:focus{border-color:#7f77dd}.search-input::placeholder{color:var(--color-text-secondary, #71717a)}.pill-bar{display:flex;gap:6px;flex-wrap:wrap}.pill{padding:5px 14px;border-radius:999px;font-size:12px;font-weight:500;border:.5px solid var(--color-border-secondary, #3f3f46);background:transparent;color:var(--color-text-secondary, #a1a1aa);cursor:pointer;transition:all .15s}.pill:hover{border-color:#7f77dd;color:#7f77dd}.pill--active{background:#7f77dd;border-color:#7f77dd;color:#fff}.sort-wrap{position:relative}.sort-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--color-text-secondary, #a1a1aa);pointer-events:none}.sort-select{background:var(--color-background-secondary, #18181b);border:.5px solid var(--color-border-secondary, #3f3f46);border-radius:10px;padding:8px 12px 8px 30px;font-size:12px;color:var(--color-text-secondary, #a1a1aa);cursor:pointer;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.free-toggle{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--color-text-secondary, #a1a1aa);cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-track{display:inline-block;width:34px;height:18px;border-radius:999px;background:var(--color-border-secondary, #3f3f46);position:relative;transition:background .2s;cursor:pointer}.toggle-track--on{background:#7f77dd}.toggle-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left .2s}.toggle-thumb--on{left:18px}.ebook-section{margin-bottom:2.5rem}.ebook-section-title{font-size:14px;font-weight:500;color:var(--color-text-secondary, #a1a1aa);margin-bottom:1rem;padding-bottom:8px;border-bottom:.5px solid var(--color-border-tertiary, #27272a);display:flex;align-items:center;gap:6px}.ebook-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.book-card{background:var(--color-background-primary, #09090b);border:.5px solid var(--color-border-tertiary, #27272a);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .2s}.book-card:hover{border-color:var(--color-border-secondary, #3f3f46)}.book-cover{width:100%;aspect-ratio:16 / 9;background:#eeedfe;display:flex;align-items:center;justify-content:center;position:relative}.cover-icon{width:32px;height:32px;color:#7f77dd;opacity:.35}.book-cover-img{width:100%;height:100%;object-fit:cover;display:block}.price-badge{position:absolute;top:8px;left:8px;font-size:10px;font-weight:500;padding:2px 8px;border-radius:999px}.price-badge--paid{background:#eeedfe;color:#3c3489}.price-badge--free{background:#eaf3de;color:#3b6d11}.wish-btn{position:absolute;top:7px;right:7px;width:24px;height:24px;border-radius:50%;background:#fff;border:.5px solid #e4e4e7;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;color:#a1a1aa}.wish-btn--on{color:#d4537e;border-color:#d4537e}.book-body{padding:10px 10px 6px;flex:1;display:flex;flex-direction:column;gap:3px}.book-type{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#534ab7;margin-bottom:1px}.book-title{font-size:12px;font-weight:500;color:var(--color-text-primary, #fff);line-height:1.3}.book-stars{font-size:10px;color:#ef9f27;letter-spacing:1px}.book-desc{font-size:10px;color:var(--color-text-secondary, #a1a1aa);line-height:1.5;margin-top:2px}.book-footer{padding:7px 8px 8px;border-top:.5px solid var(--color-border-tertiary, #27272a);display:flex;flex-direction:column;gap:5px}.platform-row{display:flex;gap:4px;align-items:center;flex-wrap:nowrap}.plat-btn{display:inline-flex;align-items:center;gap:3px;padding:4px 7px;border-radius:6px;font-size:10px;font-weight:500;border:.5px solid;cursor:pointer;text-decoration:none;white-space:nowrap;transition:opacity .15s;line-height:1.4;flex:1;justify-content:center}.plat-btn:hover{opacity:.8}.plat-btn--gumroad{background:#ffe8fa;border-color:#ff90e8;color:#7a0050}.plat-btn--amazon{background:#fef3de;border-color:#fac775;color:#7a3800}.plat-btn--d2d{background:#e1f5ee;border-color:#5dcaa5;color:#04342c}.plat-btn--more{background:var(--color-background-secondary, #18181b);border-color:var(--color-border-secondary, #3f3f46);color:var(--color-text-secondary, #a1a1aa);flex:none;padding:4px 8px}.coming-soon{font-size:10px;color:var(--color-text-secondary, #a1a1aa);font-style:italic;padding:2px 0}.cart-btn{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;padding:5px 8px;border-radius:6px;font-size:10px;font-weight:500;background:#7f77dd;color:#fff;border:none;cursor:pointer;transition:opacity .15s}.cart-btn:hover{opacity:.85}.empty-state{text-align:center;padding:4rem 0;color:var(--color-text-secondary, #a1a1aa);font-size:15px}.empty-state button{margin-top:1rem;padding:8px 20px;border:.5px solid var(--color-border-secondary, #3f3f46);border-radius:10px;background:transparent;color:var(--color-text-secondary, #a1a1aa);cursor:pointer;font-size:13px;transition:border-color .15s}.empty-state button:hover{border-color:#7f77dd;color:#7f77dd}.cart-toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#3c3489;color:#cecbf6;font-size:12px;padding:8px 20px;border-radius:999px;white-space:nowrap;z-index:999;pointer-events:none;animation:fadeInUp .2s ease}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}
