@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Georgia&family=Merriweather:ital,wght@0,400;0,700;1,400&display=swap";:root{--bg-dark: #0e1117;--bg-card: #161922;--bg-paper: #181b26;--accent-gold: #f59e0b;--accent-gold-hover: #d97706;--accent-yellow: #f59e0b;--accent-red: #e11d48;--accent-blue: #3b82f6;--text-main: #f8fafc;--text-bright: #ffffff;--text-muted: #94a3b8;--border-subtle: rgba(255, 255, 255, .07);--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif: "Merriweather", "Georgia", serif;--sat: env(safe-area-inset-top, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px);--sar: env(safe-area-inset-right, 0px)}[data-theme=sepia]{--bg-dark: #f5ebd6;--bg-card: #eae0ca;--bg-paper: #f0e5cf;--accent-gold: #c25e00;--accent-gold-hover: #9c4a00;--text-main: #2b261f;--text-bright: #1c1813;--text-muted: #786c5a;--border-subtle: rgba(43, 38, 31, .12)}[data-theme=light]{--bg-dark: #f8fafc;--bg-card: #ffffff;--bg-paper: #f1f5f9;--accent-gold: #2563eb;--accent-gold-hover: #1d4ed8;--text-main: #1e293b;--text-bright: #0f172a;--text-muted: #64748b;--border-subtle: rgba(15, 23, 42, .1)}[data-theme=forest]{--bg-dark: #0b1712;--bg-card: #13261e;--bg-paper: #193328;--accent-gold: #10b981;--accent-gold-hover: #059669;--text-main: #d1fae5;--text-bright: #ecfdf5;--text-muted: #6ee7b7;--border-subtle: rgba(209, 250, 229, .1)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{overflow-x:hidden;width:100vw;scroll-behavior:smooth}body{margin:0;padding:0;width:100%;min-height:100vh;background-color:var(--bg-dark);color:var(--text-main);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}#root{width:100%;min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}button,a{touch-action:manipulation}button:active,.mobile-btn-active:active{transform:scale(.97);transition:transform .1s cubic-bezier(.4,0,.2,1)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent-gold);outline-offset:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff40}.book-spine-card{transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1);min-height:44px}@media (hover: hover) and (pointer: fine){.book-spine-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px #00000080!important}}.delete-spine-btn{opacity:.85;transition:opacity .15s ease}@media (hover: hover){.delete-spine-btn{opacity:0}.book-spine-card:hover .delete-spine-btn{opacity:1}}.pdf-text-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:auto;overflow:hidden}.pdf-text-layer .pdf-text-word{position:absolute;color:transparent!important;user-select:text!important;-webkit-user-select:text!important;cursor:text!important;box-sizing:border-box}.pdf-text-layer ::selection{background:#3b82f659!important;color:transparent!important}.pdf-text-layer ::-moz-selection{background:#3b82f659!important;color:transparent!important}.tappable-word:hover,.pdf-word-span:hover{background-color:#3b82f626!important;border-radius:3px!important}.tappable-word:active,.pdf-word-span:active{background-color:#3b82f640!important;border-radius:3px!important}.nav-btn{background:#ffffff0d;border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-main);cursor:pointer;display:flex;align-items:center;justify-content:center;min-height:36px;min-width:36px;transition:all .15s ease}.nav-btn:hover:not(:disabled){background:#ffffff1a;color:var(--text-bright)}.spinner-loader{width:36px;height:36px;border:3px solid rgba(255,255,255,.1);border-radius:50%;border-top-color:var(--accent-gold);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.fade-in{animation:fadeIn .25s ease-in-out forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.books-shelf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}@media (max-width: 640px){.books-shelf-grid{grid-template-columns:1fr!important;gap:16px!important}}
