@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap";:root{--font-main:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-serif:"Playfair Display", Georgia, serif;--bg-primary:#090d16;--bg-secondary:#0f172a;--bg-surface:#141e33;--bg-surface-hover:#1b2845;--bg-card:#141e33b3;--border-subtle:#ffffff14;--border-focus:#f59e0b80;--text-main:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--accent-gold:#f59e0b;--accent-gold-light:#fbbf24;--accent-emerald:#10b981;--accent-emerald-subtle:#10b98126;--accent-cyan:#06b6d4;--accent-indigo:#6366f1;--accent-rose:#f43f5e;--shadow-sm:0 2px 4px #0003;--shadow-md:0 4px 12px #00000059;--shadow-lg:0 12px 28px #00000080;--shadow-glow:0 0 20px #f59e0b33;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:9999px}[data-theme=light]{--bg-primary:#f8fafc;--bg-secondary:#f1f5f9;--bg-surface:#fff;--bg-surface-hover:#f8fafc;--bg-card:#fffffff2;--border-subtle:#00000014;--border-focus:#d9770680;--text-main:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--accent-gold:#d97706;--accent-gold-light:#f59e0b;--accent-emerald:#059669;--accent-emerald-subtle:#0596691a;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 12px 24px #0000001f;--shadow-glow:0 0 16px #d9770626}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--bg-primary);color:var(--text-main);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.5}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-surface-hover);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-container{flex-direction:column;min-height:100vh;display:flex}.glass-panel{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.glass-pill{border:1px solid var(--border-subtle);border-radius:var(--radius-full);background:#ffffff0d;align-items:center;gap:6px;padding:4px 12px;font-size:.8rem;font-weight:500;display:inline-flex}.btn{border-radius:var(--radius-md);cursor:pointer;font-size:.9rem;font-weight:600;font-family:var(--font-main);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:8px 16px;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--accent-gold), var(--accent-gold-light));color:#0f172a;box-shadow:0 4px 12px #f59e0b4d}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #f59e0b66}.btn-emerald{color:#fff;background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px #10b9814d}.btn-emerald:hover{transform:translateY(-1px);box-shadow:0 6px 16px #10b98173}.btn-secondary{background:var(--bg-surface);color:var(--text-main);border:1px solid var(--border-subtle)}.btn-secondary:hover{background:var(--bg-surface-hover);border-color:#ffffff26}.btn-icon{border-radius:var(--radius-md);background:var(--bg-surface);width:38px;height:38px;color:var(--text-main);border:1px solid var(--border-subtle);cursor:pointer;justify-content:center;align-items:center;padding:0;display:flex}.btn-icon:hover{background:var(--bg-surface-hover);color:var(--accent-gold)}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000000bf;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;max-width:800px;max-height:90vh;box-shadow:var(--shadow-lg);animation:.25s cubic-bezier(.16,1,.3,1) slideUp;position:relative;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.star-rating-container{align-items:center;gap:4px;display:inline-flex}.star-interactive{cursor:pointer;transition:transform .15s,color .15s}.star-interactive:hover{transform:scale(1.2)}.book-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:24px;display:grid}@media (width<=640px){.book-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px}}.heatmap-container{gap:3px;padding:12px 0;display:flex;overflow-x:auto}.heatmap-col{flex-direction:column;gap:3px;display:flex}.heatmap-cell{background:#ffffff0d;border-radius:2px;width:12px;height:12px;transition:transform .1s;position:relative}.heatmap-cell:hover{z-index:10;outline:1px solid var(--accent-gold);transform:scale(1.3)}.heatmap-cell.level-1{background:#064e3b}.heatmap-cell.level-2{background:#059669}.heatmap-cell.level-3{background:#10b981}.heatmap-cell.level-4{background:#34d399}.badge-status{border-radius:var(--radius-full);letter-spacing:.3px;text-transform:capitalize;white-space:nowrap;align-items:center;gap:6px;padding:4px 10px;font-size:.73rem;font-weight:700;display:inline-flex;box-shadow:0 4px 14px #000000d9}.badge-status.reading{color:#5eead4;background:#042f2e;border:1.5px solid #14b8a6}.badge-status.read{color:#fef08a;background:#451a03;border:1.5px solid #f59e0b}.badge-status.want_to_read{color:#c7d2fe;background:#1e1b4b;border:1.5px solid #818cf8}.badge-status.abandoned{color:#fecdd3;background:#4c0519;border:1.5px solid #fb7185}input:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]):not([type=file]),select,textarea,.input-field{width:100%;color:var(--text-main);border-radius:var(--radius-md);font-family:var(--font-main);appearance:none;background:#0f172ad9;border:1.5px solid #ffffff1f;outline:none;padding:12px 16px;font-size:.92rem;line-height:1.5;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:inset 0 2px 4px #00000059}input::placeholder,textarea::placeholder,.input-field::placeholder{color:var(--text-muted);opacity:.85}input:not([type=checkbox]):not([type=radio]):hover,select:hover,textarea:hover,.input-field:hover{background:#141e33f2;border-color:#f59e0b66}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus,.input-field:focus{border-color:var(--accent-gold);background:#0b1324;box-shadow:0 0 0 3px #f59e0b40,inset 0 2px 4px #0000004d}input:-webkit-autofill{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:#f8fafc!important;border-color:#f59e0b80!important;-webkit-box-shadow:inset 0 0 0 1000px #0f172a!important}input:-webkit-autofill:hover{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:#f8fafc!important;border-color:#f59e0b80!important;-webkit-box-shadow:inset 0 0 0 1000px #0f172a!important}input:-webkit-autofill:focus{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:#f8fafc!important;border-color:#f59e0b80!important;-webkit-box-shadow:inset 0 0 0 1000px #0f172a!important}textarea:-webkit-autofill{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:#f8fafc!important;border-color:#f59e0b80!important;-webkit-box-shadow:inset 0 0 0 1000px #0f172a!important}select:-webkit-autofill{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:#f8fafc!important;border-color:#f59e0b80!important;-webkit-box-shadow:inset 0 0 0 1000px #0f172a!important}[data-theme=light] input:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]):not([type=file]),[data-theme=light] select,[data-theme=light] textarea,[data-theme=light] .input-field{color:#0f172a;background:#fff;border:1.5px solid #00000026;box-shadow:inset 0 1px 2px #0000000d}[data-theme=light] input:not([type=checkbox]):not([type=radio]):hover,[data-theme=light] select:hover,[data-theme=light] textarea:hover,[data-theme=light] .input-field:hover{background:#fff;border-color:#d9770666}[data-theme=light] input:not([type=checkbox]):not([type=radio]):focus,[data-theme=light] select:focus,[data-theme=light] textarea:focus,[data-theme=light] .input-field:focus{border-color:var(--accent-gold);background:#fff;box-shadow:0 0 0 3px #d9770633}[data-theme=light] input:-webkit-autofill{-webkit-text-fill-color:#0f172a!important;-webkit-box-shadow:inset 0 0 0 1000px #fff!important}[data-theme=light] input:-webkit-autofill:hover{-webkit-text-fill-color:#0f172a!important;-webkit-box-shadow:inset 0 0 0 1000px #fff!important}[data-theme=light] input:-webkit-autofill:focus{-webkit-text-fill-color:#0f172a!important;-webkit-box-shadow:inset 0 0 0 1000px #fff!important}.input-wrapper{align-items:center;width:100%;display:flex;position:relative}.input-wrapper .input-icon-left{color:var(--text-muted);pointer-events:none;z-index:2;justify-content:center;align-items:center;transition:color .2s,transform .2s;display:flex;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.input-wrapper:focus-within .input-icon-left{color:var(--accent-gold);transform:translateY(-50%)scale(1.08)}.input-wrapper input.has-icon-left,.input-wrapper .input-field.has-icon-left{padding-left:46px!important}.input-wrapper input.has-icon-right,.input-wrapper .input-field.has-icon-right{padding-right:44px!important}.input-wrapper .input-icon-right{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);z-index:2;background:0 0;border:none;justify-content:center;align-items:center;padding:6px;transition:all .15s;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.input-wrapper .input-icon-right:hover{color:var(--text-main);background:#ffffff14}.form-label{color:var(--text-secondary);letter-spacing:.01em;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:.82rem;font-weight:600;display:flex}.landing-page-container{background:radial-gradient(ellipse at 80% 20%, #f59e0b14 0%, transparent 50%), radial-gradient(ellipse at 20% 80%, #6366f114 0%, transparent 50%), var(--bg-primary);min-height:100vh;color:var(--text-main);flex-direction:column;display:flex}@media (width>=961px){.landing-page-container{height:100vh;max-height:100vh;overflow:hidden}.landing-grid{flex:1;grid-template-columns:minmax(0,1.25fr) minmax(360px,420px);align-items:center;gap:40px;width:100%;max-width:1240px;min-height:0;margin:0 auto;padding:16px 32px;display:grid}.landing-auth-card{background:#0d1527;border:1.5px solid #ffffff1f;border-radius:22px;flex-direction:column;height:520px;max-height:520px;display:flex;overflow:hidden;box-shadow:0 25px 60px -15px #000c,0 0 40px #f59e0b14}.landing-features-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;display:grid}}@media (width<=960px){.landing-page-container{height:auto;min-height:100vh;overflow-y:auto}.landing-grid{flex-direction:column-reverse;gap:32px;padding:24px 16px 40px;display:flex}.landing-auth-card{background:#0d1527;border:1.5px solid #ffffff1f;border-radius:20px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 15px 40px #0009}.landing-features-grid{flex-direction:column;gap:10px;margin-top:16px;display:flex}}@media (width<=768px){.navbar-container{flex-direction:column!important;align-items:stretch!important;gap:12px!important;padding:10px 14px!important}nav.navbar-tabs{white-space:nowrap;border-radius:var(--radius-full);scrollbar-width:none;width:100%;padding:4px;display:flex;overflow-x:auto}nav.navbar-tabs::-webkit-scrollbar{display:none}.hide-on-mobile{display:none!important}}
