:root{--bg: #051424;--bg-rgb: 5, 20, 36;--sidebar-bg: rgba(5,20,36,.97);--primary: #cabeff;--primary-rgb: 202, 190, 255;--primary-hover: #d8ceff;--primary-glow: rgba(202,190,255,.25);--primary-10: rgba(202,190,255,.1);--primary-12: rgba(202,190,255,.12);--primary-18: rgba(202,190,255,.18);--primary-35: rgba(202,190,255,.35);--text-primary: #e8e4f5;--text-muted: rgba(232,228,245,.55);--text-faint: rgba(232,228,245,.3);--border-glass: rgba(202,190,255,.12);--surface-container: #122031;--surface-container-high: #1d2b3c;--success: #6ee7b7;--info: #60a5fa;--warning: #fbbf24;--error: #ffb4ab;--font: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 20px;--space-5: 32px;--space-6: 48px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-glass: 0 8px 32px rgba(0,0,0,.3);--shadow-card: 0 4px 16px rgba(0,0,0,.2);--sidebar-width: 240px;--right-panel-width: 260px}[data-theme=canopy]{--bg: #040f08;--bg-rgb: 4, 15, 8;--sidebar-bg: rgba(4,15,8,.97);--primary: #6ee7b7;--primary-rgb: 110, 231, 183;--primary-hover: #93f0cc;--primary-glow: rgba(110,231,183,.25);--primary-10: rgba(110,231,183,.1);--primary-12: rgba(110,231,183,.12);--primary-18: rgba(110,231,183,.18);--primary-35: rgba(110,231,183,.35);--border-glass: rgba(110,231,183,.12);--text-primary: #e2f0eb;--text-muted: rgba(226,240,235,.55);--text-faint: rgba(226,240,235,.3)}[data-theme=ember]{--bg: #0f0a04;--bg-rgb: 15, 10, 4;--sidebar-bg: rgba(15,10,4,.97);--primary: #fbbf24;--primary-rgb: 251, 191, 36;--primary-hover: #fcd05c;--primary-glow: rgba(251,191,36,.25);--primary-10: rgba(251,191,36,.1);--primary-12: rgba(251,191,36,.12);--primary-18: rgba(251,191,36,.18);--primary-35: rgba(251,191,36,.35);--border-glass: rgba(251,191,36,.12);--text-primary: #f5f0e8;--text-muted: rgba(245,240,232,.55);--text-faint: rgba(245,240,232,.3)}[data-theme=abyss]{--bg: #020d0f;--bg-rgb: 2, 13, 15;--sidebar-bg: rgba(2,13,15,.97);--primary: #22d3ee;--primary-rgb: 34, 211, 238;--primary-hover: #67e8f9;--primary-glow: rgba(34,211,238,.25);--primary-10: rgba(34,211,238,.1);--primary-12: rgba(34,211,238,.12);--primary-18: rgba(34,211,238,.18);--primary-35: rgba(34,211,238,.35);--border-glass: rgba(34,211,238,.12);--text-primary: #e0f4f7;--text-muted: rgba(224,244,247,.55);--text-faint: rgba(224,244,247,.3)}[data-theme=velvet]{--bg: #0d0509;--bg-rgb: 13, 5, 9;--sidebar-bg: rgba(13,5,9,.97);--primary: #fb7185;--primary-rgb: 251, 113, 133;--primary-hover: #fda4b0;--primary-glow: rgba(251,113,133,.25);--primary-10: rgba(251,113,133,.1);--primary-12: rgba(251,113,133,.12);--primary-18: rgba(251,113,133,.18);--primary-35: rgba(251,113,133,.35);--border-glass: rgba(251,113,133,.12);--text-primary: #f5e8ee;--text-muted: rgba(245,232,238,.55);--text-faint: rgba(245,232,238,.3)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,sans-serif;background-color:var(--bg);background-image:radial-gradient(ellipse 800px 600px at 60% -10%,rgba(var(--primary-rgb),.1) 0%,transparent 70%),radial-gradient(ellipse 600px 500px at -10% 100%,rgba(96,165,250,.07) 0%,transparent 70%);color:#d5e4fa;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;-webkit-user-select:none;user-select:none}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(var(--primary-rgb),.15);border-radius:10px}#sidebar{position:fixed;left:0;top:0;height:100vh;width:240px;background:var(--sidebar-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-right:1px solid rgba(var(--primary-rgb),.12);display:flex;flex-direction:column;z-index:100;transition:width .25s cubic-bezier(.4,0,.2,1);overflow:hidden}#sidebar.collapsed{width:64px}.sidebar-logo{display:flex;align-items:center;gap:12px;padding:0 16px;height:72px;border-bottom:1px solid rgba(var(--primary-rgb),.1);flex-shrink:0}.sidebar-logo-icon{width:38px;height:38px;background:rgba(var(--primary-rgb),.15);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--primary)}.sidebar-logo-text{overflow:hidden;white-space:nowrap}.sidebar-logo-text h1{font-size:18px;font-weight:700;color:var(--primary);letter-spacing:-.01em}.sidebar-logo-text p{font-size:10px;font-weight:600;color:#e8e4f559;text-transform:uppercase;letter-spacing:.1em;margin-top:1px}#sidebar.collapsed .sidebar-logo-text{display:none}.sidebar-nav{flex:1;padding:12px 0;overflow-y:auto;overflow-x:hidden}.nav-item{display:flex;align-items:center;gap:12px;height:44px;padding:0 12px;margin:2px 8px;border-radius:8px;cursor:pointer;color:#e8e4f58c;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s ease,color .15s ease;white-space:nowrap;position:relative}.nav-item:hover{background:#ffffff0d;color:#e8e4f5}.nav-item.active{background:rgba(var(--primary-rgb),.1);color:var(--primary);font-weight:600}.nav-item.active:before{content:"";position:absolute;left:-8px;top:50%;transform:translateY(-50%);width:3px;height:24px;background:var(--primary);border-radius:0 3px 3px 0}.nav-item.dimmed{opacity:.35;pointer-events:none}.nav-label{overflow:hidden;white-space:nowrap}#sidebar.collapsed .nav-label{display:none}#sidebar.collapsed .nav-item{justify-content:center;margin:2px 6px}#sidebar.collapsed .nav-item.active:before{left:-6px}.nav-divider{height:1px;background:rgba(var(--primary-rgb),.08);margin:8px 16px}.soon-chip{font-size:9px;font-weight:700;letter-spacing:.08em;background:rgba(var(--primary-rgb),.12);color:rgba(var(--primary-rgb),.5);padding:2px 6px;border-radius:99px;text-transform:uppercase;margin-left:auto}#sidebar.collapsed .soon-chip{display:none}.sidebar-user{border-top:1px solid rgba(var(--primary-rgb),.1);height:72px;display:flex;align-items:center;gap:10px;padding:0 14px;flex-shrink:0}.user-avatar{width:34px;height:34px;background:rgba(var(--primary-rgb),.15);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--primary);flex-shrink:0}.user-name{font-size:14px;font-weight:500;color:#e8e4f5;overflow:hidden;white-space:nowrap;flex:1}.user-settings{color:#e8e4f573;cursor:pointer;transition:color .15s}.user-settings:hover{color:#e8e4f5}#sidebar.collapsed .user-name,#sidebar.collapsed .user-settings{display:none}#sidebar.collapsed .sidebar-user{justify-content:center}#sidebar-toggle{position:fixed;left:228px;top:50%;transform:translateY(-50%);z-index:101;width:22px;height:22px;background:rgba(var(--primary-rgb),.15);border:1px solid rgba(var(--primary-rgb),.2);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:left .25s cubic-bezier(.4,0,.2,1),background .15s;color:var(--primary)}#sidebar-toggle:hover{background:rgba(var(--primary-rgb),.25)}#sidebar-toggle.collapsed{left:52px}#sidebar-toggle .material-symbols-outlined{font-size:14px}#main-content{margin-left:240px;min-height:100vh;transition:margin-left .25s cubic-bezier(.4,0,.2,1)}#main-content.sidebar-collapsed{margin-left:64px}#top-bar{position:sticky;top:0;height:56px;background:rgba(var(--bg-rgb),.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(var(--primary-rgb),.12);display:flex;align-items:center;padding:0 32px;gap:16px;z-index:90}.topbar-title{font-size:17px;font-weight:600;color:#e8e4f5;white-space:nowrap;min-width:120px}.topbar-search{flex:1;max-width:480px;margin:0 auto;position:relative}.topbar-search input{width:100%;background:#00000038;border:1px solid rgba(var(--primary-rgb),.13);border-radius:9999px;padding:7px 18px 7px 42px;font-size:14px;color:#e8e4f5;font-family:Inter,sans-serif;outline:none;transition:border-color .15s,box-shadow .15s}.topbar-search input::placeholder{color:#e8e4f54d}.topbar-search input:focus{border-color:rgba(var(--primary-rgb),.4);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.topbar-search .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#e8e4f559;font-size:18px;pointer-events:none}.topbar-right{display:flex;align-items:center;gap:10px;margin-left:auto}.streak-chip{display:flex;align-items:center;gap:5px;background:rgba(var(--primary-rgb),.1);border:1px solid rgba(var(--primary-rgb),.15);border-radius:9999px;padding:5px 12px;font-size:13px;font-weight:600;color:#fbbf24;white-space:nowrap}.topbar-avatar{width:32px;height:32px;background:#8b5cf640;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#a78bfa;border:1.5px solid rgba(var(--primary-rgb),.25);cursor:pointer}#page-content{padding:32px;max-width:1280px}.screen{display:none}.screen.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.screen.active{animation:fadeIn .2s ease both}.glass-card{background:#ffffff0a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(var(--primary-rgb),.12);border-radius:16px}.glass-card--interactive{cursor:pointer;transition:background .15s,border-color .15s}.glass-card--interactive:hover{background:#fff1;border-color:rgba(var(--primary-rgb),.22)}.prog-track{width:100%;height:8px;background:rgba(var(--primary-rgb),.13);border-radius:9999px;overflow:hidden}.prog-fill{height:100%;background:linear-gradient(90deg,var(--primary) 0%,#60a5fa 100%);border-radius:9999px;transition:width 1s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.prog-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.22) 50%,transparent 100%);background-size:200% 100%;animation:shimmer 2.4s ease infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.stat-card{padding:20px 22px;display:flex;flex-direction:column;justify-content:space-between}.stat-val{font-size:28px;font-weight:700;color:#e8e4f5;line-height:1;font-variant-numeric:tabular-nums}.stat-label{font-size:11px;font-weight:600;color:#e8e4f580;text-transform:uppercase;letter-spacing:.1em}.stat-delta-up{font-size:11px;font-weight:600;color:#6ee7b7;background:#6ee7b71f;padding:2px 7px;border-radius:99px}.stat-delta-down{font-size:11px;font-weight:600;color:#ffb4ab;background:#ffb4ab1f;padding:2px 7px;border-radius:99px}.stat-delta-date{font-size:11px;font-weight:600;color:#e8e4f580;background:rgba(var(--primary-rgb),.08);padding:2px 7px;border-radius:99px}.book-card{border-radius:12px;overflow:hidden;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;background:#ffffff0a;border:1px solid rgba(var(--primary-rgb),.12)}.book-card:hover{transform:translateY(-2px);box-shadow:0 8px 32px #0009,0 0 20px rgba(var(--primary-rgb),.12)}.book-cover{aspect-ratio:2/3;width:100%;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.book-cover-inner{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:32px;position:relative}.book-card-info{padding:10px 12px 12px}.book-card-title{font-size:13px;font-weight:600;color:#e8e4f5;line-height:1.3;margin-bottom:2px}.book-card-author{font-size:11px;color:#e8e4f58c;margin-bottom:8px}.genre-chip{display:inline-flex;align-items:center;padding:3px 9px;background:rgba(var(--primary-rgb),.1);border:1px solid rgba(var(--primary-rgb),.2);border-radius:9999px;font-size:10px;font-weight:600;color:var(--primary);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;transition:background .15s,border-color .15s}.genre-chip[style*=cursor]{-webkit-user-select:none;user-select:none}.genre-chip[style*=cursor]:hover{background:rgba(var(--primary-rgb),.2);border-color:rgba(var(--primary-rgb),.4)}.genre-chip.active{background:var(--primary);color:var(--bg);border-color:var(--primary)}.stars{color:#fbbf24;letter-spacing:1px;font-size:13px}.stars.dim{color:#e8e4f533}.filter-chip{padding:6px 16px;border-radius:9999px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid rgba(var(--primary-rgb),.18);color:#e8e4f58c;background:transparent;transition:all .15s;white-space:nowrap;text-transform:uppercase;letter-spacing:.06em}.filter-chip:hover{color:#e8e4f5;border-color:rgba(var(--primary-rgb),.35)}.filter-chip:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.filter-chip.active{background:var(--primary);color:var(--bg);border-color:var(--primary)}.timer-ring-wrap{position:relative;width:260px;height:260px;display:flex;align-items:center;justify-content:center}.timer-ring-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:rotate(-90deg)}.timer-glow{filter:drop-shadow(0 0 8px rgba(var(--primary-rgb),.5))}.timer-digits{font-size:52px;font-weight:800;color:#e8e4f5;font-variant-numeric:tabular-nums;letter-spacing:-.03em;text-shadow:0 0 30px rgba(var(--primary-rgb),.45);line-height:1;text-align:center}@keyframes pulse-ring{0%{transform:scale(.97);opacity:.4}50%{transform:scale(1);opacity:.15}to{transform:scale(.97);opacity:.4}}.ring-pulse{animation:pulse-ring 3s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.chart-bar-wrap{height:220px;display:flex;align-items:flex-end;gap:8px;padding-bottom:24px;position:relative}.chart-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:0;height:100%;justify-content:flex-end;position:relative;overflow:visible}.chart-bar{width:100%;background:rgba(var(--primary-rgb),.35);border-radius:4px 4px 0 0;transition:background .2s,height .5s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative;min-height:3px}.chart-bar:hover{background:rgba(var(--primary-rgb),.65)}.chart-bar.today{background:linear-gradient(180deg,var(--primary) 0%,rgba(var(--primary-rgb),.65) 100%);box-shadow:0 0 14px rgba(var(--primary-rgb),.4)}.chart-bar-label{font-size:10px;font-weight:600;color:#e8e4f566;text-transform:uppercase;letter-spacing:.06em;position:absolute;bottom:-18px;left:50%;transform:translate(-50%);white-space:nowrap}.heatmap-wrap{display:flex;flex-direction:column;gap:4px;overflow-x:auto}.heatmap-months{display:flex;align-items:flex-end;padding-left:28px}.heatmap-month-label{font-size:10px;font-weight:600;font-family:Inter,sans-serif;color:#e8e4f561;white-space:nowrap;overflow:hidden;flex-shrink:0}.heatmap-body{display:flex;gap:4px;align-items:flex-start}.heatmap-days{display:flex;flex-direction:column;gap:2px;flex-shrink:0;width:24px}.heatmap-day-label{font-size:9px;font-weight:500;font-family:Inter,sans-serif;color:#e8e4f552;height:12px;line-height:12px;text-align:right;white-space:nowrap}.heatmap-grid{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,12px);gap:2px}.heatmap-cell{width:12px;height:12px;border-radius:2px;cursor:pointer;transition:box-shadow .1s}.heatmap-cell:hover{box-shadow:0 0 0 1px rgba(var(--primary-rgb),.6)}.hm-0{background:rgba(var(--primary-rgb),.05)}.hm-1{background:rgba(var(--primary-rgb),.18)}.hm-2{background:rgba(var(--primary-rgb),.38)}.hm-3{background:rgba(var(--primary-rgb),.6)}.hm-4{background:var(--primary)}.genre-bar-row{display:flex;align-items:center;gap:12px;padding:4px 0}.genre-bar-label{font-size:12px;font-weight:500;color:#e8e4f5a6;width:100px;flex-shrink:0}.genre-bar-track{flex:1;height:10px;background:rgba(var(--primary-rgb),.1);border-radius:9999px;overflow:hidden}.genre-bar-fill{height:100%;border-radius:9999px;transition:width .6s cubic-bezier(.4,0,.2,1)}.genre-bar-pct{font-size:12px;font-weight:600;color:#e8e4f580;width:36px;text-align:right;flex-shrink:0}.period-tabs{display:inline-flex;background:#00000040;border:1px solid rgba(var(--primary-rgb),.12);border-radius:9999px;padding:3px;gap:2px;position:relative}.period-tab{padding:8px 20px;border-radius:9999px;font-size:13px;font-weight:500;color:#e8e4f58c;cursor:pointer;border:none;background:transparent;font-family:Inter,sans-serif;transition:color .2s;position:relative;z-index:1;white-space:nowrap}.period-tab:hover:not(.active){color:#e8e4f5}.period-tab.active{color:var(--bg)}.period-pill{position:absolute;top:3px;bottom:3px;background:var(--primary);border-radius:9999px;box-shadow:0 2px 12px rgba(var(--primary-rgb),.35);transition:left .25s cubic-bezier(.34,1.56,.64,1),width .25s cubic-bezier(.34,1.56,.64,1);z-index:0}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--primary);color:var(--bg);border:none;border-radius:9999px;padding:12px 28px;font-size:14px;font-weight:700;font-family:Inter,sans-serif;cursor:pointer;transition:background .15s,box-shadow .15s,transform .1s}.btn-primary:hover{background:var(--primary-hover);box-shadow:0 4px 20px rgba(var(--primary-rgb),.45)}.btn-primary:active{transform:scale(.97)}.btn-primary:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:rgba(var(--primary-rgb),.06);color:var(--primary);border:1px solid rgba(var(--primary-rgb),.35);border-radius:9999px;padding:11px 24px;font-size:14px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:background .15s,border-color .15s}.btn-ghost:hover{background:rgba(var(--primary-rgb),.14);border-color:rgba(var(--primary-rgb),.55)}.btn-ghost:active{transform:scale(.97)}.btn-ghost:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.currently-reading-card{display:flex;gap:24px;padding:24px;align-items:flex-start}.cr-cover{border-radius:8px;flex-shrink:0;box-shadow:0 8px 32px #00000080;display:flex;align-items:center;justify-content:center;font-size:28px;position:relative;overflow:hidden}.cr-info{flex:1;min-width:0}.activity-row{display:flex;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid rgba(var(--primary-rgb),.07);transition:background .15s,transform .15s}.activity-row:hover{background:#ffffff06;border-radius:8px;transform:translate(4px)}.activity-row:last-child{border-bottom:none}.session-layout-v5{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;padding:0 0 40px}.session-left-col{display:flex;flex-direction:column;align-items:center;gap:0}.session-topbar-mini{width:100%;display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.session-x-btn{width:36px;height:36px;border-radius:50%;background:#ffffff0f;border:1px solid rgba(var(--primary-rgb),.14);display:flex;align-items:center;justify-content:center;cursor:pointer;color:#e8e4f580;transition:background .15s,color .15s}.session-x-btn:hover{background:#ffb4ab1f;color:#ffb4ab;border-color:#ffb4ab40}.session-x-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.session-rec-pill{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:#6ee7b7;text-transform:uppercase;letter-spacing:.1em;background:#6ee7b714;border:1px solid rgba(110,231,183,.18);border-radius:9999px;padding:5px 14px}.session-rec-pill.paused{color:#fbbf24;background:#fbbf2414;border-color:#fbbf242e}.session-rec-dot{width:7px;height:7px;background:#6ee7b7;border-radius:50%;animation:pulse 2s ease-in-out infinite;box-shadow:0 0 6px #6ee7b7;flex-shrink:0}.session-rec-pill.paused .session-rec-dot{background:#fbbf24;box-shadow:0 0 6px #fbbf24;animation:none}.session-finish-btn{background:var(--primary);color:var(--bg);border:none;border-radius:9999px;padding:8px 24px;font-size:14px;font-weight:700;font-family:Inter,sans-serif;cursor:pointer;transition:background .15s,box-shadow .15s,transform .1s}.session-finish-btn:hover{background:var(--primary-hover);box-shadow:0 4px 20px rgba(var(--primary-rgb),.45)}.session-finish-btn:active{transform:scale(.96)}.session-finish-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.session-book-hero{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;margin-bottom:4px}.session-cover-box{position:relative;width:148px;height:210px;border-radius:12px;overflow:visible;flex-shrink:0;margin-bottom:18px;box-shadow:0 16px 56px #000000a6,0 0 0 1px rgba(var(--primary-rgb),.1)}.session-cover-box img{width:100%;height:100%;object-fit:cover;border-radius:12px;display:block}.session-from-badge{position:absolute;bottom:-13px;right:-12px;background:rgba(var(--bg-rgb),.9);border:1px solid rgba(var(--primary-rgb),.28);border-radius:9999px;padding:5px 14px;font-size:12px;font-weight:700;color:var(--primary);white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 16px rgba(var(--primary-rgb),.2)}.session-book-title-text{font-size:19px;font-weight:700;color:#e8e4f5;line-height:1.25;letter-spacing:-.01em;margin-bottom:3px}.session-book-author-text{font-size:13px;color:#e8e4f580;margin-bottom:12px}.session-book-progress-row{width:100%;max-width:280px}.session-book-pct-lbl{font-size:11px;font-weight:600;color:var(--primary);display:block;margin-bottom:4px}.session-goal-row{display:flex;align-items:center;gap:6px;margin:20px 0 0;font-size:14px;font-weight:500;color:#e8e4f573}.session-actions-bar{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:24px;width:100%}.session-action-btn{display:flex;flex-direction:column;align-items:center;gap:6px;background:#ffffff0d;border:1px solid rgba(var(--primary-rgb),.12);border-radius:18px;width:82px;height:82px;justify-content:center;cursor:pointer;color:#e8e4f580;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;font-family:Inter,sans-serif;transition:all .15s;-webkit-user-select:none;user-select:none}.session-action-btn .material-symbols-outlined{font-size:22px}.session-action-btn:hover:not(:disabled){background:rgba(var(--primary-rgb),.08);color:#e8e4f5;border-color:rgba(var(--primary-rgb),.28);transform:translateY(-1px)}.session-action-btn:disabled{opacity:.28;cursor:not-allowed}.session-action-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.session-pause-main{width:92px;height:92px;border-radius:50%;background:rgba(var(--primary-rgb),.09);border:1.5px solid rgba(var(--primary-rgb),.22);color:var(--primary);font-size:11px}.session-pause-main .material-symbols-outlined{font-size:30px}.session-pause-main:hover{background:rgba(var(--primary-rgb),.16);border-color:rgba(var(--primary-rgb),.45);transform:translateY(-1px);box-shadow:0 4px 20px rgba(var(--primary-rgb),.25)}.session-right-col{display:flex;flex-direction:column;gap:20px;padding-top:4px}@keyframes overlay-fade{0%{opacity:0}to{opacity:1}}@keyframes picker-enter{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.finish-session-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:600;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(var(--bg-rgb),.82);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:overlay-fade .22s ease both}.finish-session-modal{width:100%;max-width:420px;max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior:contain;background:#0a1624fa;border:1px solid rgba(var(--primary-rgb),.18);border-radius:24px;box-shadow:0 28px 80px #000000f2,0 0 0 1px rgba(var(--primary-rgb),.06) inset;display:flex;flex-direction:column;animation:picker-enter .28s cubic-bezier(.34,1.56,.64,1) both;scrollbar-width:thin;scrollbar-color:rgba(var(--primary-rgb),.2) transparent;position:relative}.finish-session-modal:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--primary-rgb),.35) 40%,rgba(var(--primary-rgb),.35) 60%,transparent);border-radius:24px 24px 0 0;pointer-events:none}.finish-session-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid rgba(var(--primary-rgb),.08);flex-shrink:0}.finish-session-header h2{font-size:17px;font-weight:700;color:#e8e4f5;letter-spacing:-.01em}.finish-back-btn{width:34px;height:34px;border-radius:8px;background:#ffffff0a;border:1px solid rgba(var(--primary-rgb),.1);display:flex;align-items:center;justify-content:center;cursor:pointer;color:#e8e4f580;transition:all .15s}.finish-back-btn:hover{background:#ffffff14;color:#e8e4f5}.finish-back-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.finish-discard-btn{background:#ffb4ab14;border:1px solid rgba(255,180,171,.2);color:#ffb4ab;border-radius:9999px;padding:6px 18px;font-size:13px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:all .15s}.finish-discard-btn:hover{background:#ffb4ab26;border-color:#ffb4ab59}.finish-book-row{display:flex;align-items:center;gap:14px;padding:16px 24px;border-bottom:1px solid rgba(var(--primary-rgb),.06)}.finish-book-cover{width:44px;height:62px;border-radius:6px;overflow:hidden;flex-shrink:0;background:rgba(var(--primary-rgb),.08);box-shadow:0 4px 16px #0006}.finish-book-cover img{width:100%;height:100%;object-fit:cover;display:block}.finish-book-title{font-size:14px;font-weight:700;color:#e8e4f5;line-height:1.3}.finish-book-author{font-size:12px;color:#e8e4f573;margin-top:2px}.finish-ring-wrap{position:relative;display:flex;align-items:center;justify-content:center;padding:20px 24px 8px}.finish-ring-svg{width:260px;height:260px;cursor:pointer;touch-action:none;flex-shrink:0}.finish-ring-center{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.finish-pct-val{font-size:58px;font-weight:800;color:#e8e4f5;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums;text-shadow:0 0 40px rgba(var(--primary-rgb),.3)}.finish-pct-label{font-size:13px;font-weight:500;color:#e8e4f566;margin-top:4px}.finish-pct-delta{font-size:11px;font-weight:600;margin-top:6px;letter-spacing:.01em}.finish-info-section{padding:4px 24px 8px}.finish-info-row{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid rgba(var(--primary-rgb),.07);font-size:14px}.finish-info-row:last-child{border-bottom:none}.finish-info-row>span:first-child{color:#e8e4f566;font-weight:400}.finish-info-row .finish-val{color:#e8e4f5;font-weight:600}.finish-date-chip{background:rgba(var(--primary-rgb),.1);border:1px solid rgba(var(--primary-rgb),.15);border-radius:9999px;padding:4px 13px;font-size:12px;font-weight:600;color:var(--primary)}.finish-comment-wrap{padding:0 24px 12px}.finish-comment{width:100%;min-height:90px;resize:none;background:#00000040;border:1px solid rgba(var(--primary-rgb),.12);border-radius:12px;padding:14px 16px;color:#e8e4f5;font-size:14px;font-family:Inter,sans-serif;line-height:1.6;outline:none;transition:border-color .15s,box-shadow .15s}.finish-comment:focus{border-color:rgba(var(--primary-rgb),.4);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.12)}.finish-comment::placeholder{color:#e8e4f540}.finish-save-btn{display:block;width:calc(100% - 48px);margin:0 24px 24px;background:var(--primary);color:var(--bg);border:none;border-radius:9999px;padding:16px;font-size:16px;font-weight:700;font-family:Inter,sans-serif;cursor:pointer;transition:background .15s,box-shadow .15s,transform .1s}.finish-save-btn:hover{background:var(--primary-hover);box-shadow:0 6px 24px rgba(var(--primary-rgb),.45)}.finish-save-btn:active{transform:scale(.98)}.finish-save-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.progress-mode-toggle{display:inline-flex;background:#00000038;border:1px solid rgba(var(--primary-rgb),.14);border-radius:9999px;padding:2px;gap:2px;flex-shrink:0}.progress-mode-btn{padding:4px 13px;border-radius:9999px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#e8e4f573;cursor:pointer;border:none;background:transparent;font-family:Inter,sans-serif;transition:background .15s,color .15s,box-shadow .15s;line-height:1.8;white-space:nowrap;-webkit-user-select:none;user-select:none}.progress-mode-btn.active{background:var(--primary);color:var(--bg);box-shadow:0 1px 8px rgba(var(--primary-rgb),.35)}.progress-mode-btn:hover:not(.active){color:#e8e4f5}.progress-mode-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}input[type=number].page-num-input{width:80px;background:#0003!important;border:1px solid rgba(var(--primary-rgb),.2)!important;border-radius:8px;padding:8px 12px;font-size:16px;font-weight:600;color:#e8e4f5!important;text-align:center;font-family:Inter,sans-serif;outline:none;transition:border-color .15s,box-shadow .15s;-moz-appearance:textfield}input[type=number].page-num-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.18)}input[type=number].page-num-input::-webkit-inner-spin-button,input[type=number].page-num-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.pct-input-wrap{position:relative;display:inline-flex;align-items:center}input[type=number].pct-input{width:80px;background:#0003!important;border:1px solid rgba(var(--primary-rgb),.2)!important;border-radius:8px;padding:8px 28px 8px 12px;font-size:16px;font-weight:600;color:#e8e4f5!important;text-align:center;font-family:Inter,sans-serif;outline:none;transition:border-color .15s,box-shadow .15s;-moz-appearance:textfield}input[type=number].pct-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.18)}input[type=number].pct-input::-webkit-inner-spin-button,input[type=number].pct-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.pct-suffix{position:absolute;right:10px;font-size:13px;font-weight:700;color:var(--primary);pointer-events:none;-webkit-user-select:none;user-select:none}.pct-calc-hint{font-size:12px;color:#e8e4f566;min-height:16px;transition:opacity .2s;line-height:1.4}input[type=text].lib-search-input{background:#0003!important;border:1px solid rgba(var(--primary-rgb),.13)!important;border-radius:9999px;padding:8px 16px 8px 36px;font-size:13px;color:#e8e4f5!important;font-family:Inter,sans-serif;outline:none;width:220px;transition:border-color .15s,box-shadow .15s;box-shadow:none}input[type=text].lib-search-input::placeholder{color:#e8e4f54d}input[type=text].lib-search-input:focus{border-color:rgba(var(--primary-rgb),.4)!important;box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}textarea.session-notes{width:100%;min-height:160px;background:#0003;border:1px solid rgba(var(--primary-rgb),.12);border-radius:12px;padding:14px 16px;color:#e8e4f5;font-size:15px;font-family:Inter,sans-serif;line-height:1.6;resize:vertical;outline:none;transition:border-color .15s,box-shadow .15s}textarea.session-notes:focus{border-color:rgba(var(--primary-rgb),.45);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.12)}textarea.session-notes::placeholder{color:#e8e4f540}#finish-reading-time-input::-webkit-inner-spin-button,#finish-reading-time-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.line-chart-dot{fill:var(--primary);stroke:var(--bg);stroke-width:2;cursor:pointer}.line-chart-dot.today{fill:var(--bg);stroke:var(--primary);stroke-width:2.5}.line-chart-x-label{font-family:Inter,sans-serif;font-size:10px;font-weight:600;fill:#e8e4f566;text-anchor:middle}#chart-y-axis span{font-size:10px;color:#e8e4f54d;font-family:Inter,sans-serif;font-weight:500;text-align:right;display:block}.settings-nav-btn{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border-radius:8px;border:none;background:transparent;color:var(--text-muted);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;text-align:left;font-family:Inter,sans-serif}.settings-nav-btn:hover{background:#ffffff0d;color:var(--text-primary)}.settings-nav-btn.active{background:var(--primary-10);color:var(--primary)}.settings-nav-btn .material-symbols-outlined{font-size:18px;flex-shrink:0}.theme-card{border-radius:10px;border:2px solid rgba(var(--primary-rgb),.1);overflow:hidden;cursor:pointer;transition:border-color .15s,transform .15s;position:relative}.theme-card:hover{border-color:rgba(var(--primary-rgb),.35);transform:translateY(-2px)}.theme-card--active{border-color:var(--primary)!important}.theme-card-preview{overflow:hidden}.theme-card-info{padding:8px 10px 6px;background:#ffffff08}.theme-card-name{font-size:12px;font-weight:700;color:var(--text-primary)}.theme-card-label{font-size:10px;color:var(--text-muted);margin-top:1px}.theme-card-check{position:absolute;top:6px;right:6px;color:var(--primary);opacity:0;transition:opacity .15s}.theme-card--active .theme-card-check{opacity:1}@keyframes card-stagger-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes option-select-pulse{0%{box-shadow:0 0 rgba(var(--primary-rgb),0),0 4px 16px #0000004d}35%{box-shadow:0 0 0 6px rgba(var(--primary-rgb),.3),0 8px 32px #0006}to{box-shadow:0 0 rgba(var(--primary-rgb),0),0 4px 16px #0000004d}}.book-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;display:flex;align-items:center;justify-content:center;padding:20px;background-color:#051424b8;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:overlay-fade .22s ease both}.book-picker-modal{width:100%;max-width:780px;max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior:contain;background:#ffffff0d;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(var(--primary-rgb),.18);border-radius:20px;box-shadow:0 24px 64px #051424cc,0 0 0 1px rgba(var(--primary-rgb),.06) inset;display:flex;flex-direction:column;position:relative;animation:picker-enter .28s cubic-bezier(.34,1.56,.64,1) both;scrollbar-width:thin;scrollbar-color:rgba(var(--primary-rgb),.25) transparent}.book-picker-modal:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(var(--primary-rgb),.35) 40%,rgba(var(--primary-rgb),.35) 60%,transparent 100%);border-radius:20px 20px 0 0;pointer-events:none}.book-picker-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 24px 20px;flex-shrink:0;border-bottom:1px solid rgba(var(--primary-rgb),.08)}.book-picker-header h2{font-family:Inter,sans-serif;font-size:24px;font-weight:600;line-height:1.25;letter-spacing:-.01em;color:#e8e4f5;margin:0}.picker-subtitle{font-size:14px;color:#e8e4f58c;padding:12px 24px 0;margin:0;flex-shrink:0}.picker-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;padding:0;margin:0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;color:#e8e4f58c;border-radius:8px;background:#ffffff0a;border:1px solid rgba(var(--primary-rgb),.1);font-size:18px;line-height:1;font-family:Inter,sans-serif;transition:color .15s ease,background .15s ease,border-color .15s ease}.picker-close:hover{color:#e8e4f5;background:#ffffff14;border-color:rgba(var(--primary-rgb),.22)}.book-picker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:16px 24px 8px;flex:1}.book-option{position:relative;display:flex;flex-direction:column;gap:10px;padding:14px;background:#ffffff0a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(var(--primary-rgb),.12);border-radius:16px;box-shadow:0 4px 16px #0000004d;cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;animation:card-stagger-in .3s ease both}.book-option:nth-child(1){animation-delay:80ms}.book-option:nth-child(2){animation-delay:.13s}.book-option:nth-child(3){animation-delay:.18s}.book-option:hover{background:#ffffff12;border-color:rgba(var(--primary-rgb),.4);box-shadow:0 8px 32px #0006,0 0 20px rgba(var(--primary-rgb),.12);transform:translateY(-2px)}.book-option.selected{background:rgba(var(--primary-rgb),.08);border:2px solid var(--primary);box-shadow:0 8px 32px #0006,0 0 24px rgba(var(--primary-rgb),.2);transform:translateY(-2px);animation:option-select-pulse .45s ease both}.book-option-badge{position:absolute;top:10px;left:10px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;background:#051424b3;border:1px solid rgba(var(--primary-rgb),.3);border-radius:6px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:Inter,sans-serif;font-size:11px;font-weight:600;color:rgba(var(--primary-rgb),.75)}.book-option-check{position:absolute;top:10px;right:10px;z-index:2;display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;background:var(--primary);border-radius:50%;opacity:0;transform:scale(.5);transition:opacity .2s ease,transform .2s cubic-bezier(.34,1.56,.64,1)}.book-option.selected .book-option-check{opacity:1;transform:scale(1);top:9px;right:9px}.book-option-cover{width:100%;aspect-ratio:2/3;border-radius:8px;overflow:hidden;background:#2c3a4c;flex-shrink:0;position:relative}.book-option-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.book-option:hover .book-option-cover img{transform:scale(1.04)}.book-option-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.book-option-title{font-family:Inter,sans-serif;font-size:14px;font-weight:600;line-height:1.3;color:#e8e4f5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.book-option-author{font-family:Inter,sans-serif;font-size:12px;font-weight:400;color:#e8e4f58c;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.book-option-progress-wrap{width:100%;height:4px;background:rgba(var(--primary-rgb),.15);border-radius:9999px;overflow:hidden;margin-top:4px}.book-option-progress-bar{height:4px;background:linear-gradient(90deg,var(--primary) 0%,#60a5fa 100%);border-radius:9999px;min-width:0;position:relative;overflow:hidden}.book-option-percent{font-family:Inter,sans-serif;font-size:11px;font-weight:500;color:#e8e4f58c;margin:0;line-height:1.3}.book-option-meta{font-family:Inter,sans-serif;font-size:11px;font-weight:400;color:#e8e4f559;line-height:1.3;margin:0}.book-picker-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 24px;flex-shrink:0;border-top:1px solid rgba(var(--primary-rgb),.08);background:#0514244d;border-radius:0 0 20px 20px}.book-picker-footer .btn-primary:disabled{opacity:.4;cursor:not-allowed;pointer-events:none;box-shadow:none;transform:none}.btn-add-manually{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:Inter,sans-serif;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:8px 16px;min-height:36px;color:#e8e4f58c;border:1px solid rgba(var(--primary-rgb),.18);border-radius:9999px;background:#ffffff08;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:13px;font-weight:500;line-height:1;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:color .15s ease,background .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease;margin-top:16px}.btn-add-manually:hover{color:var(--primary);background:rgba(var(--primary-rgb),.06);border-color:rgba(var(--primary-rgb),.32);transform:translateY(-1px);box-shadow:0 2px 12px rgba(var(--primary-rgb),.12)}.btn-add-manually:focus-visible{outline:2px solid var(--primary);outline-offset:3px}@keyframes quick-btn-in{0%{opacity:0;transform:translateY(8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes details-expand{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.manual-log-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;display:flex;align-items:center;justify-content:center;padding:20px;background-color:rgba(var(--bg-rgb),.75);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:overlay-fade .22s ease both}.manual-log-modal{width:100%;max-width:480px;max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior:contain;background:#ffffff0d;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(var(--primary-rgb),.18);border-radius:20px;box-shadow:0 24px 64px rgba(var(--bg-rgb),.8),0 0 0 1px rgba(var(--primary-rgb),.06) inset;display:flex;flex-direction:column;position:relative;animation:picker-enter .28s cubic-bezier(.34,1.56,.64,1) both;scrollbar-width:thin;scrollbar-color:rgba(var(--primary-rgb),.25) transparent}.manual-log-modal::-webkit-scrollbar{width:4px}.manual-log-modal::-webkit-scrollbar-track{background:transparent}.manual-log-modal::-webkit-scrollbar-thumb{background:rgba(var(--primary-rgb),.25);border-radius:9999px}.manual-log-modal:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(var(--primary-rgb),.35) 35%,rgba(var(--primary-rgb),.35) 65%,transparent 100%);border-radius:20px 20px 0 0;pointer-events:none;z-index:1}.manual-log-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 24px 20px;flex-shrink:0;border-bottom:1px solid rgba(var(--primary-rgb),.08)}.manual-log-header__title-group{display:flex;align-items:center;gap:8px;min-width:0}.manual-log-header__icon{font-size:22px;color:var(--primary);opacity:.8;flex-shrink:0;line-height:1}.manual-log-title{font-family:Inter,sans-serif;font-size:20px;font-weight:600;line-height:1.25;letter-spacing:-.01em;color:#e8e4f5;margin:0;white-space:nowrap}.manual-log-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(var(--primary-rgb),.1);background:#ffffff0a;cursor:pointer;padding:0;margin:0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;color:#e8e4f58c;border-radius:8px;transition:color .15s,background .15s,border-color .15s}.manual-log-close:hover{color:#e8e4f5;background:#ffffff14;border-color:rgba(var(--primary-rgb),.22)}.manual-log-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:24px;display:flex;flex-direction:column;gap:24px}.manual-log-section{display:flex;flex-direction:column;gap:12px}.manual-log-section__label{font-family:Inter,sans-serif;font-size:11px;font-weight:600;color:#e8e4f573;line-height:1;text-transform:uppercase;letter-spacing:.1em;margin:0}.time-quick-pick{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.time-quick-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(var(--primary-rgb),.14);font-family:Inter,sans-serif;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:64px;padding:8px;background:#ffffff0a;border-radius:9999px;-webkit-user-select:none;user-select:none;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s,color .15s;animation:quick-btn-in .28s ease both}.time-quick-btn:nth-child(1){animation-delay:.1s}.time-quick-btn:nth-child(2){animation-delay:.14s}.time-quick-btn:nth-child(3){animation-delay:.18s}.time-quick-btn:nth-child(4){animation-delay:.22s}.time-quick-btn__number{font-size:22px;font-weight:700;line-height:1;color:#e8e4f5;font-variant-numeric:tabular-nums;transition:color .15s}.time-quick-btn__unit{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#e8e4f54d;transition:color .15s}.time-quick-btn:hover:not(.active){background:rgba(var(--primary-rgb),.07);border-color:rgba(var(--primary-rgb),.3);transform:translateY(-1px)}.time-quick-btn:hover:not(.active) .time-quick-btn__number{color:var(--primary)}.time-quick-btn.active{background:var(--primary);border-color:var(--primary);box-shadow:0 4px 20px rgba(var(--primary-rgb),.4);transform:translateY(-1px)}.time-quick-btn.active .time-quick-btn__number{color:var(--bg)}.time-quick-btn.active .time-quick-btn__unit{color:rgba(var(--bg-rgb),.65)}.manual-duration-custom{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:4px}.manual-duration-custom__divider{display:flex;align-items:center;gap:10px;width:100%}.manual-duration-custom__divider-line{flex:1;height:1px;background:rgba(var(--primary-rgb),.1)}.manual-duration-custom__label{font-family:Inter,sans-serif;font-size:10px;font-weight:600;color:#e8e4f547;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;line-height:1;-webkit-user-select:none;user-select:none}.manual-duration-custom__pill{display:inline-flex;align-items:center;gap:0;background:rgba(var(--primary-rgb),.06);border:1px solid rgba(var(--primary-rgb),.14);border-radius:12px;padding:14px 20px 12px;cursor:text;transition:background .15s,border-color .15s,box-shadow .15s}.manual-duration-custom__pill:focus-within{background:rgba(var(--primary-rgb),.1);border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.14)}input[type=number].manual-duration-custom__input{width:3ch;background:transparent!important;border:none!important;box-shadow:none!important;padding:0;font-family:Inter,sans-serif;font-size:22px;font-weight:800;color:#e8e4f5!important;outline:none;line-height:1;font-variant-numeric:tabular-nums;text-align:center;-moz-appearance:textfield}input[type=number].manual-duration-custom__input::-webkit-inner-spin-button,input[type=number].manual-duration-custom__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.manual-duration-custom__input::placeholder{color:#e8e4f52e}.manual-duration-custom__suffix{font-family:Inter,sans-serif;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#e8e4f559;padding-left:6px;align-self:flex-end;padding-bottom:2px;pointer-events:none;-webkit-user-select:none;user-select:none;line-height:1}.manual-duration-display{font-family:Inter,sans-serif;font-size:13px;font-weight:500;color:var(--primary);line-height:1;min-height:16px}.manual-book-row{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#ffffff0a;border:1px solid rgba(var(--primary-rgb),.12);border-radius:10px;position:relative;min-height:56px}.manual-book-cover{width:32px;height:48px;border-radius:4px;overflow:hidden;flex-shrink:0;background:#2c3a4c;position:relative}.manual-book-cover__img{width:100%;height:100%;object-fit:cover;display:block}.manual-book-cover__placeholder{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(160deg,rgba(var(--primary-rgb),.15),#60a5fa1a)}.manual-book-info{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.manual-book-info__title{font-family:Inter,sans-serif;font-size:14px;font-weight:600;color:#e8e4f5;line-height:1.2;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manual-book-info__author{font-family:Inter,sans-serif;font-size:12px;font-weight:400;color:#e8e4f58c;line-height:1;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manual-book-change{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;font-family:Inter,sans-serif;font-size:12px;font-weight:500;color:var(--primary);cursor:pointer;padding:4px 0;flex-shrink:0;opacity:.75;transition:opacity .15s;text-decoration:underline;text-underline-offset:2px}.manual-book-change:hover{opacity:1}.manual-when-group{display:inline-flex;background:#00000040;border:1px solid rgba(var(--primary-rgb),.12);border-radius:9999px;padding:3px;gap:2px;flex-wrap:wrap}.manual-when-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;font-family:Inter,sans-serif;cursor:pointer;padding:7px 14px;border-radius:9999px;font-size:13px;font-weight:500;color:#e8e4f58c;background:transparent;transition:color .15s,background .15s,box-shadow .15s;white-space:nowrap}.manual-when-btn:hover:not(.active){color:#e8e4f5}.manual-when-btn.active{color:var(--bg);background:var(--primary);font-weight:600;box-shadow:0 2px 12px rgba(var(--primary-rgb),.35)}.manual-details-wrap{display:flex;flex-direction:column;gap:0;border-top:1px solid rgba(var(--primary-rgb),.08);padding-top:16px}.manual-details-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;font-family:Inter,sans-serif;cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:6px;min-height:32px;font-size:13px;font-weight:500;color:var(--primary);opacity:.75;transition:opacity .15s}.manual-details-toggle:hover{opacity:1}.manual-details-toggle__icon{font-size:16px;font-weight:600;color:inherit;line-height:1;width:16px;height:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s}.manual-details-toggle[aria-expanded=true] .manual-details-toggle__icon{transform:rotate(45deg)}.manual-details-body{display:flex;flex-direction:column;gap:18px;padding-top:18px;animation:details-expand .22s ease both}.manual-form-label{font-family:Inter,sans-serif;font-size:12px;font-weight:500;color:#e8e4f58c;line-height:1;display:block;margin-bottom:6px}.manual-form-label .optional{color:#e8e4f54d;font-weight:400}.manual-pages-input-wrap{position:relative;display:inline-flex;align-items:center}input[type=number].manual-pages-input{width:140px;padding:10px 52px 10px 14px;text-align:right;font-variant-numeric:tabular-nums;background:#00000038!important;border:1px solid rgba(var(--primary-rgb),.14)!important;border-radius:8px;font-family:Inter,sans-serif;font-size:15px;font-weight:700;color:#e8e4f5;outline:none;transition:border-color .15s,box-shadow .15s;-moz-appearance:textfield}input[type=number].manual-pages-input::-webkit-inner-spin-button,input[type=number].manual-pages-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number].manual-pages-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.18)}.manual-pages-suffix{position:absolute;right:12px;font-family:Inter,sans-serif;font-size:13px;font-weight:500;color:#e8e4f559;pointer-events:none;-webkit-user-select:none;user-select:none;line-height:1}.pct-progress-row{display:flex;align-items:center;gap:10px;padding:2px 0}.pct-progress-row__label{font-size:12px;font-weight:500;color:#e8e4f566;width:48px;flex-shrink:0;letter-spacing:.01em}.pct-was-badge{display:inline-flex;align-items:center;font-size:15px;font-weight:700;color:#e8e4f573;background:rgba(var(--primary-rgb),.06);border:1px solid rgba(var(--primary-rgb),.12);border-radius:8px;padding:6px 16px;font-family:Inter,sans-serif;font-variant-numeric:tabular-nums;flex-shrink:0;letter-spacing:-.01em}.pct-was-page-hint{font-size:11px;color:#e8e4f540;white-space:nowrap;flex-shrink:0}.pct-delta-hint{font-size:13px;font-weight:600;color:#6ee7b7;min-height:20px;transition:opacity .2s;line-height:1.4;padding:8px 12px;background:#6ee7b712;border-radius:8px;border:1px solid rgba(110,231,183,.15)}.pct-delta-hint.negative{color:#ffb4ab;background:#ffb4ab12;border-color:#ffb4ab26}.pct-delta-hint.neutral{color:#e8e4f566;background:rgba(var(--primary-rgb),.04);border-color:rgba(var(--primary-rgb),.1)}textarea.manual-note-textarea{width:100%;background:#0003;border:1px solid rgba(var(--primary-rgb),.12);border-radius:10px;padding:12px 14px;color:#e8e4f5;font-size:14px;font-family:Inter,sans-serif;line-height:1.5;resize:vertical;outline:none;transition:border-color .15s,box-shadow .15s}textarea.manual-note-textarea:focus{border-color:rgba(var(--primary-rgb),.45);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.12)}.manual-note-char-count{font-family:Inter,sans-serif;font-size:11px;color:#e8e4f54d;text-align:right;margin-top:4px}.manual-log-footer{padding:16px 24px;flex-shrink:0;border-top:1px solid rgba(var(--primary-rgb),.08)}.manual-log-save{width:100%;padding:14px;border-radius:12px;border:none;font-family:Inter,sans-serif;font-size:15px;font-weight:700;letter-spacing:-.01em;cursor:pointer;background:var(--primary);color:var(--bg);transition:opacity .15s,transform .15s,box-shadow .15s}.manual-log-save:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 4px 20px rgba(var(--primary-rgb),.4)}.manual-log-save:disabled{opacity:.35;cursor:not-allowed}.manual-log-save__label{line-height:1}#toast-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:10px;width:320px;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:13px 16px;background:#2c3a4c;border-radius:12px;border:1px solid rgba(202,190,255,.12);font-family:Inter,sans-serif;font-size:14px;color:#e8e4f5;box-shadow:0 4px 24px #0006;animation:toastIn .2s ease-out both;position:relative;overflow:hidden;pointer-events:all}@keyframes toastIn{0%{transform:translate(110%);opacity:0}to{transform:translate(0);opacity:1}}.toast-progress{position:absolute;bottom:0;left:0;height:3px;background:#6ee7b780;animation:toastProgress 3s linear forwards}@keyframes toastProgress{0%{width:100%}to{width:0%}}.day-tooltip{position:fixed;z-index:200;display:none;align-items:center;gap:6px;padding:8px 14px;background:#0f1c32e6;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(202,190,255,.22);border-radius:10px;box-shadow:0 8px 32px #00000073;pointer-events:none;white-space:nowrap;font-family:Inter,sans-serif}.day-tooltip-date{font-size:12px;font-weight:600;color:#e8e4f599}.day-tooltip-sep{font-size:11px;color:#e8e4f540}.day-tooltip-value{font-size:13px;font-weight:700;color:#cabeff}@media (max-width: 1279px){#sidebar{width:64px}#sidebar .nav-label,#sidebar .sidebar-logo-text,#sidebar .user-name,#sidebar .user-settings,#sidebar .soon-chip{display:none}#sidebar .nav-item,#sidebar .sidebar-user{justify-content:center}#sidebar-toggle{display:none}#main-content,#main-content.sidebar-collapsed{margin-left:64px}}@media (max-width: 1023px){#sidebar,#sidebar-toggle{display:none}#main-content,#main-content.sidebar-collapsed{margin-left:0;padding-bottom:72px}#mobile-nav{display:flex}}#mobile-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:64px;background:rgba(var(--bg-rgb),.92);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid rgba(var(--primary-rgb),.12);align-items:center;justify-content:space-around;z-index:100}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;gap:3px;color:#e8e4f566;cursor:pointer;flex:1;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;transition:color .15s}.mobile-nav-item.active{color:var(--primary)}
