@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap";:root{--color-bg: #0F0E0D;--color-bg-raised: #1A1918;--color-bg-elevated: #242220;--color-border: #2E2B28;--color-border-subtle: #252320;--color-text: #E8E4DF;--color-text-heading: #F5F2EE;--color-text-muted: #8A8480;--color-text-faint: #5C5855;--color-accent: #C8A55A;--color-accent-hover: #D4B46A;--color-accent-muted: rgba(200, 165, 90, .15);--color-accent-text: #0F0E0D;--color-success: #4ADE80;--color-error: #F87171;--color-warning: #FBBF24;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif: "Playfair Display", Georgia, "Times New Roman", serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--leading-tight: 1.2;--leading-normal: 1.5;--leading-relaxed: 1.75;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(15, 14, 13, .4);--shadow-md: 0 4px 12px rgba(15, 14, 13, .5);--shadow-lg: 0 8px 24px rgba(15, 14, 13, .6);--shadow-glow: 0 0 20px rgba(200, 165, 90, .15);--duration-fast: .15s;--duration-normal: .2s;--duration-slow: .3s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--max-width: 1200px;--max-width-sm: 640px;--max-width-md: 768px;--max-width-lg: 1024px;--z-base: 0;--z-raised: 10;--z-overlay: 20;--z-modal: 40;--z-toast: 100;--z-max: 1000}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-regular);line-height:var(--leading-normal);color:var(--color-text);background-color:var(--color-bg);min-height:100dvh}h1,h2,h3,h4,h5,h6{font-weight:var(--weight-semibold);line-height:var(--leading-tight);color:var(--color-text-heading);letter-spacing:-.02em}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}p{max-width:65ch;line-height:var(--leading-relaxed)}a{color:var(--color-accent);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}a:hover{color:var(--color-accent-hover)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-normal) var(--ease-out);min-height:44px;text-decoration:none}.btn-primary{background:var(--color-accent);color:var(--color-accent-text)}.btn-primary:hover{background:var(--color-accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-glow)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--color-bg-elevated);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-border);border-color:var(--color-text-faint)}.btn-ghost{background:transparent;color:var(--color-text-muted)}.btn-ghost:hover{color:var(--color-text);background:var(--color-bg-elevated)}.input{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);min-height:44px}.input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-muted)}.input::placeholder{color:var(--color-text-faint)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-muted)}.form-error{font-size:var(--text-sm);color:var(--color-error)}.card{background:var(--color-bg-raised);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-6);transition:border-color var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out)}.card:hover{border-color:var(--color-border);box-shadow:var(--shadow-md)}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-6)}.container-sm{max-width:var(--max-width-sm)}.book-card{display:flex;gap:var(--space-4);padding:var(--space-4);background:var(--color-bg-raised);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);transition:all var(--duration-normal) var(--ease-out);text-decoration:none;color:inherit}.book-card:hover{border-color:var(--color-accent-muted);transform:translateY(-2px);box-shadow:var(--shadow-md)}.book-cover{width:80px;height:120px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0;background:var(--color-bg-elevated);box-shadow:0 2px 8px #0000004d}.book-cover-placeholder{width:80px;height:120px;border-radius:var(--radius-sm);flex-shrink:0;background:linear-gradient(135deg,var(--color-bg-elevated) 0%,var(--color-border) 100%);display:flex;align-items:center;justify-content:center;color:var(--color-text-faint)}.book-info{display:flex;flex-direction:column;gap:var(--space-1);min-width:0;flex:1}.book-title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-text-heading);line-height:var(--leading-tight)}.book-author{font-size:var(--text-sm);color:var(--color-text-muted)}.book-note{font-size:var(--text-sm);color:var(--color-text);margin-top:var(--space-2);font-style:italic;opacity:.8}.book-note:before{content:"“"}.book-note:after{content:"”"}.platform-buttons{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-3)}.platform-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-muted);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);text-decoration:none;min-height:32px;white-space:nowrap}.platform-btn:hover{color:var(--color-text);border-color:var(--color-accent-muted);background:var(--color-border);transform:translateY(-1px)}.platform-btn svg{width:14px;height:14px;flex-shrink:0}.skeleton{background:linear-gradient(90deg,var(--color-bg-elevated) 25%,var(--color-border) 50%,var(--color-bg-elevated) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}@media(max-width:768px){h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}.container{padding:0 var(--space-4)}}
