@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,500;0,9..144,600;1,9..144,500&family=Inter:wght@400;500;600;700&display=swap";:root{--radius-lg: 18px;--radius-md: 14px;--radius-sm: 10px;--font-display: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-reading: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "SFMono-Regular", Menlo, Monaco, Consolas, monospace;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-sans: var(--font-body);--font-serif: var(--font-reading);--text-base: 16px;--line-base: 1.65;--reader-max: 900px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .14s;--duration-base: .22s;--duration-slow: .4s}html[data-theme=dark]{--bg: #080a0d;--panel: #0f1318;--panel2: #141920;--text: #e8eaf0;--muted: #7a8494;--border: #1a2230;--accent: linear-gradient(135deg, #FF6B35 0%, #FF1B6B 50%, #7B2CBF 100%);--accent-solid: #FF1B6B;--accent-hover: linear-gradient(135deg, #FF7B4A 0%, #FF2B7B 50%, #8B3CBF 100%);--accent-dim: rgba(255, 27, 107, .12);--accent-border: rgba(255, 27, 107, .28);--accent-light: rgba(255, 107, 53, .2);--accent-dark: #C1156E;--link: var(--accent-solid);--shadow: 0 12px 36px rgba(0, 0, 0, .45);--shadow-sm: 0 4px 16px rgba(0, 0, 0, .3);--success: #22c55e;--success-dim: rgba(34, 197, 94, .12);--danger: #ef4444;--danger-dim: rgba(239, 68, 68, .12)}html[data-theme=light]{--bg: #f4f5f7;--panel: #ffffff;--panel2: #f0f1f4;--text: #0f1318;--muted: #5a6474;--border: #e0e4ec;--accent: linear-gradient(135deg, #FF6B35 0%, #FF1B6B 50%, #7B2CBF 100%);--accent-solid: #FF1B6B;--accent-hover: linear-gradient(135deg, #FF7B4A 0%, #FF2B7B 50%, #8B3CBF 100%);--accent-dim: rgba(255, 27, 107, .08);--accent-border: rgba(255, 27, 107, .25);--accent-light: rgba(255, 107, 53, .15);--accent-dark: #C1156E;--link: var(--accent-solid);--shadow: 0 8px 24px rgba(0, 0, 0, .09);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);--success: #16a34a;--success-dim: rgba(22, 163, 74, .1);--danger: #dc2626;--danger-dim: rgba(220, 38, 38, .1)}html[data-theme=reading]{--bg: #f9f1e2;--panel: #fef8ed;--panel2: #f5ead6;--text: #1c1c1c;--muted: #5c5244;--border: #e2d3bc;--accent: linear-gradient(135deg, #FF6B35 0%, #FF1B6B 50%, #7B2CBF 100%);--accent-solid: #FF1B6B;--accent-hover: linear-gradient(135deg, #FF7B4A 0%, #FF2B7B 50%, #8B3CBF 100%);--accent-dim: rgba(255, 27, 107, .1);--accent-border: rgba(255, 27, 107, .3);--accent-light: rgba(255, 107, 53, .15);--accent-dark: #C1156E;--link: var(--accent-solid);--shadow: 0 8px 28px rgba(43, 36, 28, .12);--shadow-sm: 0 2px 10px rgba(43, 36, 28, .07);--text-base: 17px;--line-base: 1.8;--reader-max: 920px;--success: #2d7a3a;--success-dim: rgba(45, 122, 58, .12);--danger: #c0392b;--danger-dim: rgba(192, 57, 43, .1)}:root{--gradient-zoe: linear-gradient(135deg, #FF6B35 0%, #FF1B6B 50%, #7B2CBF 100%);--gradient-zoe-hover: linear-gradient(135deg, #FF7B4A 0%, #FF2B7B 50%, #8B3CBF 100%);--zoe-orange: #FF6B35;--zoe-pink: #FF1B6B;--zoe-purple: #7B2CBF;--zoe-primary: #FF1B6B}.bg-gradient-zoe{background:var(--gradient-zoe)}.bg-gradient-zoe-hover:hover{background:var(--gradient-zoe-hover)}.logo-icon-zoe{background:var(--gradient-zoe);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700}.btn-gradient-zoe{background:var(--gradient-zoe);color:#fff;border:none;border-radius:12px;padding:12px 24px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-gradient-zoe:hover{background:var(--gradient-zoe-hover);transform:translateY(-2px);box-shadow:0 8px 20px #ff1b6b4d}.btn-gradient-zoe:active{transform:translateY(0)}.badge-gradient-zoe{background:linear-gradient(135deg,#ff6b35,#ff1b6b,#7b2cbf);color:#fff;padding:6px 12px;border-radius:8px;font-size:12px;font-weight:600;display:inline-block}.text-gradient-zoe{color:var(--zoe-primary)}.border-gradient-zoe{border-color:var(--zoe-primary)}.shadow-gradient-zoe{box-shadow:0 4px 12px #ff1b6b33}.accent-zoe{background:linear-gradient(to right,var(--zoe-orange),var(--zoe-pink),var(--zoe-purple));height:3px;border-radius:999px}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;overflow-x:hidden}:root{--header-h: 58px;--bg: #080a0d;--panel: #0f1318;--text: #e8eaf0;--muted: #7a8494;--border: #1a2230;--accent: #4A5FD9}body{margin:0;font-family:var(--font-body);background:var(--bg);color:var(--text);font-size:var(--text-base);line-height:var(--line-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{font-family:var(--font-body)}.appRoot{display:flex;height:100vh;overflow:hidden}.mainArea{flex:1;position:relative;display:flex;flex-direction:column;min-width:0}.contentScroll{flex:1;overflow:auto;padding:24px;padding-top:calc(var(--header-h) + 20px);padding-bottom:88px}.overlay{position:fixed;right:0;bottom:0;left:0;top:0;background:#000000a6;opacity:0;pointer-events:none;transition:opacity var(--duration-base) var(--ease-out);z-index:65;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.overlayOpen{opacity:1;pointer-events:auto}.sidebar{position:fixed;top:0;left:0;height:100vh;width:300px;background:var(--panel);border-right:1px solid var(--border);transform:translate(-100%);transition:transform var(--duration-base) var(--ease-out);z-index:70;display:flex;flex-direction:column;will-change:transform}.sidebarOpen{transform:translate(0)}.sidebarTop{display:flex;align-items:center;justify-content:space-between;padding:14px;border-bottom:1px solid var(--border);flex-shrink:0}.sidebarBrand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:700;font-size:17px;letter-spacing:-.2px}.sidebarSectionTitle{padding:12px 14px 6px;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);flex-shrink:0}.sidebarQuickNav{flex-shrink:0;padding:6px 10px 4px;display:flex;flex-direction:column;gap:4px}.sidebarCurricularWrap{flex:1;min-height:0;display:flex;flex-direction:column;border-top:1px solid var(--border);padding-top:0}.sidebarCurricular{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:6px 10px 16px;display:flex;flex-direction:column;gap:6px}.sideLink{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;text-decoration:none;color:var(--text);border:1px solid transparent;font-size:14px;font-weight:500;transition:background var(--duration-fast),border-color var(--duration-fast)}.sideLink:hover{background:var(--accent-dim)}.sideLink.active{background:var(--accent-dim);border-color:var(--accent-border);color:var(--accent)}.sideGroup{border:1px solid var(--border);border-radius:14px;background:var(--panel2, var(--panel))}.sideGroupHeader{width:100%;display:flex;align-items:center;gap:10px;padding:11px 12px;background:transparent;border:none;color:var(--text);text-align:left;cursor:pointer;transition:background var(--duration-fast)}.sideGroupHeader:hover{background:var(--accent-dim)}.sideGroupIcon{width:20px;text-align:center;font-size:15px}.sideGroupTitle{flex:1;font-weight:600;font-size:14px}.sideGroupCaret{color:var(--muted);font-size:12px;transition:transform .26s cubic-bezier(.22,1,.36,1)}.sideGroupBody{display:flex;flex-direction:column;gap:2px;padding:2px 6px 10px}.sideSubLink{display:block;padding:8px 12px;border-radius:10px;text-decoration:none;color:var(--muted);border:1px solid transparent;font-size:13px;transition:color var(--duration-fast),background var(--duration-fast)}.sideSubLink:hover{color:var(--text);background:#ffffff08}.sideSubLink.active{color:var(--accent);background:var(--accent-dim);border-color:var(--accent-border)}.sidebarFooter{padding:10px 14px;border-top:1px solid var(--border);color:var(--muted);font-size:12px;flex-shrink:0}.topHeader{position:fixed;top:0;left:0;right:0;height:var(--header-h);z-index:60;background:#080a0deb;border-bottom:1px solid var(--border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transform:translateY(0);transition:transform var(--duration-base) var(--ease-out)}html[data-theme=light] .topHeader,html[data-theme=reading] .topHeader{background:#f4f5f7eb}.topHeaderHidden{transform:translateY(-110%)}.topHeaderInner{height:var(--header-h);max-width:1100px;margin:0 auto;padding:0 14px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}.topHeaderLeft,.topHeaderRight{display:flex;align-items:center;gap:8px}.topHeaderRight{justify-content:flex-end}.topHeaderCenter{display:flex;align-items:center;justify-content:center;gap:9px;-webkit-user-select:none;user-select:none}.logoMark{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--accent) 0%,color-mix(in srgb,var(--accent) 60%,#000) 100%);display:flex;align-items:center;justify-content:center;font-size:14px;color:#fff;flex-shrink:0}.logoText{font-family:var(--font-display);font-size:17px;font-weight:700;letter-spacing:-.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.primaryBtn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 18px;min-height:40px;border-radius:12px;border:none;background:var(--accent);color:#000;font-family:var(--font-body);font-size:13px;font-weight:600;cursor:pointer;transition:background var(--duration-fast),transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-fast);text-decoration:none}.primaryBtn:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 14px #c9a2274d}.primaryBtn:active{transform:scale(.97);box-shadow:none}.primaryBtn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.ghostBtn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 14px;min-height:40px;border-radius:12px;border:1px solid var(--border);background:transparent;color:var(--text);font-family:var(--font-body);font-size:13px;font-weight:500;cursor:pointer;transition:background var(--duration-fast),border-color var(--duration-fast),transform var(--duration-fast);text-decoration:none}.ghostBtn:hover{background:#ffffff0a;border-color:var(--muted)}.ghostBtn:active{transform:scale(.97)}.linkBtn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 14px;min-height:40px;border-radius:12px;border:1px solid var(--border);background:transparent;color:var(--text);font-family:var(--font-body);font-size:13px;cursor:pointer;transition:background var(--duration-fast);text-decoration:none}.linkBtn:hover{background:var(--accent-dim);border-color:var(--accent-border);color:var(--accent)}.dangerBtn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 14px;min-height:40px;border-radius:12px;border:1px solid rgba(239,68,68,.3);background:var(--danger-dim, rgba(239,68,68,.1));color:var(--danger, #ef4444);font-family:var(--font-body);font-size:13px;font-weight:500;cursor:pointer;transition:background var(--duration-fast)}.dangerBtn:hover{background:#ef44442e}.iconBtn{width:38px;height:38px;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:15px;transition:background var(--duration-fast),border-color var(--duration-fast)}.iconBtn:hover{background:var(--accent-dim);border-color:var(--accent-border)}.iconBtnDisabled{opacity:.45;cursor:default}.chipBtn{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);border-radius:999px;padding:7px 12px;min-height:34px;background:transparent;color:var(--text);cursor:pointer;font-size:12px;font-family:var(--font-body);font-weight:500;letter-spacing:.4px;transition:background var(--duration-fast),border-color var(--duration-fast)}.chipBtn:hover{background:var(--accent-dim);border-color:var(--accent-border)}.chipIcon{opacity:.85}.chipCaret{opacity:.6;font-size:10px}.card{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:18px;box-shadow:var(--shadow-sm);transition:border-color var(--duration-base)}.card:hover{border-color:var(--accent-border)}.cardTitle{font-family:var(--font-display);font-weight:700;font-size:16px;margin-bottom:6px;line-height:1.3}.cardActions{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap}.cardLesson{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:14px 16px;display:flex;align-items:center;gap:14px;cursor:pointer;text-decoration:none;color:var(--text);transition:border-color var(--duration-base),background var(--duration-fast),transform var(--duration-fast)}.cardLesson:hover{border-color:var(--accent-border);transform:translate(2px)}.cardLesson.lessonActive{border-color:var(--accent-border);background:var(--accent-dim)}.lessonCardIcon{width:42px;height:42px;border-radius:12px;background:var(--accent-dim);border:1px solid var(--accent-border);display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}.lessonCardInfo{flex:1;min-width:0}.lessonCardTitle{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lessonCardSub{font-size:12px;color:var(--muted);margin-top:2px}.lessonProgressSlim{width:100%;height:3px;border-radius:999px;background:#ffffff12;overflow:hidden;margin-top:7px}.lessonProgressSlimFill{height:100%;background:var(--accent);border-radius:999px;transition:width var(--duration-slow) var(--ease-out)}.progressTrack{width:100%;height:8px;border-radius:999px;background:#ffffff0f;border:1px solid var(--border);overflow:hidden}.progressFill{height:100%;background:var(--accent);border-radius:999px;transition:width var(--duration-slow) var(--ease-out)}.progressOuter{width:100%;height:8px;border-radius:999px;background:#ffffff0f;border:1px solid var(--border);overflow:hidden}.progressInner{height:100%;background:var(--accent);border-radius:999px;transition:width var(--duration-slow) var(--ease-out)}.page{max-width:960px;margin:0 auto}.pageHeader{margin-bottom:24px}.pageHeader h1{margin:0 0 6px;font-family:var(--font-display);font-size:30px;font-weight:700;letter-spacing:-.4px;line-height:1.15}.muted{color:var(--muted);font-size:14px}.grid{margin-top:16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.stack{display:flex;flex-direction:column;gap:10px}.rowBetween{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.statsRow{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}.statPill{border:1px solid var(--border);border-radius:999px;padding:6px 12px;color:var(--muted);font-size:12px;background:var(--panel)}.statsGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.statCard{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:14px;text-align:center}.statCard .statNum{font-family:var(--font-display);font-size:26px;font-weight:700;color:var(--accent);line-height:1}.statCard .statLabel{font-size:11px;color:var(--muted);margin-top:4px}.readerPage{max-width:var(--reader-max);margin:0 auto}.readerHeader{padding:20px 0 12px}.readerKicker{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:var(--accent);margin-bottom:8px}.readerTitle{margin:0 0 10px;font-family:var(--font-display);font-size:32px;font-weight:700;line-height:1.2;letter-spacing:-.4px}.readerBar{width:48px;height:3px;background:var(--accent);border-radius:999px;margin:10px 0}.prose{font-size:var(--text-base);line-height:var(--line-base)}html[data-theme=reading] .prose{font-family:var(--font-reading);letter-spacing:.12px}.prose h1,.prose h2,.prose h3,.prose h4{font-family:var(--font-display);line-height:1.25;margin-top:1.6em;margin-bottom:.5em}.prose h2{font-size:1.35em;margin-top:0}.prose h3{font-size:1.15em}.prose p{margin:0 0 1em}.prose ul,.prose ol{margin:0 0 1em 1.4em;line-height:1.7}.prose table{width:100%;border-collapse:collapse;margin:16px 0}.prose th,.prose td{border:1px solid var(--border);padding:9px 12px;text-align:left;font-size:14px}.prose th{background:#ffffff08;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.prose blockquote{border-left:3px solid var(--accent-border);padding:10px 16px;margin:16px 0;color:var(--muted);background:var(--accent-dim);border-radius:0 12px 12px 0;font-style:italic}html[data-theme=reading] .prose blockquote{font-family:var(--font-reading)}.prose code{font-family:var(--font-mono);font-size:.88em;background:#ffffff0f;border:1px solid var(--border);border-radius:5px;padding:2px 6px}.prose pre{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px;overflow-x:auto}.prose pre code{background:none;border:none;padding:0}.prose strong{font-weight:700;color:var(--text)}.lessonMetaRow{display:flex;justify-content:space-between;align-items:center;gap:10px}.checkBadge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;border:1px solid var(--accent-border);background:var(--accent-dim);color:var(--accent);font-size:12px;flex:0 0 auto;transition:transform var(--duration-fast) var(--ease-spring),background var(--duration-fast)}.checkBadge.justCompleted{animation:completePop .45s var(--ease-spring)}@keyframes completePop{0%{transform:scale(1)}45%{transform:scale(1.4);background:var(--accent);color:#000}to{transform:scale(1)}}.bottomNav{position:fixed;left:0;right:0;bottom:0;background:#080a0df0;border-top:1px solid var(--border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:30}html[data-theme=light] .bottomNav,html[data-theme=reading] .bottomNav{background:#f4f5f7f0}.bottomNavInner{max-width:960px;margin:0 auto;padding:11px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.navBtn{border:1px solid var(--border);border-radius:12px;padding:9px 14px;background:transparent;color:var(--text);font-family:var(--font-body);font-size:13px;font-weight:500;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:background var(--duration-fast),border-color var(--duration-fast),transform var(--duration-fast);white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}.navBtn:hover{background:var(--accent-dim);border-color:var(--accent-border);transform:translate(-2px)}.navBtn.navNext:hover{transform:translate(2px)}.navBtnDisabled{opacity:.35;pointer-events:none}.navCenter{display:flex;justify-content:center;flex:1}.navPill{color:var(--muted);border:1px solid var(--border);padding:6px 12px;border-radius:999px;font-size:12px;background:var(--panel)}.themeMenu{position:relative;display:inline-block}.themeDropdown{position:absolute;right:0;top:calc(100% + 8px);min-width:150px;border-radius:14px;border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow);overflow:hidden;z-index:100;animation:dropIn .15s var(--ease-out)}@keyframes dropIn{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.themeOption{width:100%;text-align:left;padding:10px 14px;background:transparent;border:0;cursor:pointer;color:var(--text);font-family:var(--font-body);font-size:13px;font-weight:500;display:flex;align-items:center;gap:8px;transition:background var(--duration-fast)}.themeOption:hover{background:var(--accent-dim)}.themeOptionActive{background:var(--accent-dim);color:var(--accent)}.readerControls{position:relative;display:inline-block}.readerDropdown{position:absolute;right:0;top:calc(100% + 8px);width:260px;border-radius:16px;border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow);padding:12px;z-index:120;animation:dropIn .15s var(--ease-out)}.readerGroup{padding:8px 0;border-bottom:1px solid var(--border)}.readerGroup:last-child{border-bottom:none;padding-bottom:0}.readerLabel{font-size:11px;color:var(--muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.07em}.readerRow{display:flex;gap:6px;flex-wrap:wrap}.readerChip{border:1px solid var(--border);background:transparent;color:var(--muted);border-radius:999px;padding:6px 12px;cursor:pointer;font-family:var(--font-body);font-size:12px;font-weight:500;transition:all var(--duration-fast)}.readerChip:hover{border-color:var(--muted);color:var(--text)}.readerChipActive{border-color:var(--accent-border);background:var(--accent-dim);color:var(--accent)}.toastContainer{position:fixed;bottom:80px;left:50%;transform:translate(-50%);z-index:200;pointer-events:none}.toast{display:inline-flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--accent-border);border-radius:999px;padding:10px 18px;font-size:13px;font-weight:600;color:var(--text);box-shadow:var(--shadow);animation:toastIn .3s var(--ease-spring) forwards,toastOut .3s var(--ease-out) 2s forwards}.toast .toastIcon{color:var(--success);font-size:15px}@keyframes toastIn{0%{opacity:0;transform:translateY(12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}.kicker{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--accent);margin-bottom:6px}.resumeCard{background:var(--panel);border:1px solid var(--accent-border);border-radius:18px;padding:18px;display:flex;align-items:center;gap:16px;box-shadow:0 0 0 1px var(--accent-dim) inset;margin-bottom:24px}.resumeCardIcon{width:48px;height:48px;border-radius:14px;background:var(--accent-dim);border:1px solid var(--accent-border);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.resumeCardInfo{flex:1;min-width:0}.resumeCardTitle{font-family:var(--font-display);font-size:15px;font-weight:700;margin-bottom:3px}.resumeCardSub{font-size:12px;color:var(--muted)}.resumeProgress{width:100%;height:4px;border-radius:999px;background:#ffffff12;overflow:hidden;margin-top:8px}.resumeProgressFill{height:100%;background:var(--accent);border-radius:999px;transition:width var(--duration-slow) var(--ease-out)}html[data-reader-width=compact]{--reader-max: 760px}html[data-reader-width=comfortable]{--reader-max: 920px}html[data-reader-width=wide]{--reader-max: 1100px}html[data-reader-font=sm]{--text-base: 15px}html[data-reader-font=md]{--text-base: 17px}html[data-reader-font=lg]{--text-base: 20px}html[data-reader-spacing=normal]{--line-base: 1.65}html[data-reader-spacing=comfortable]{--line-base: 1.85}@media (max-width: 480px){.chipLabel{display:none}.topHeaderInner{padding:0 10px}.logoText{max-width:130px}.contentScroll{padding:16px;padding-top:calc(var(--header-h) + 16px);padding-bottom:88px}.statsGrid{grid-template-columns:repeat(3,1fr);gap:8px}.statCard .statNum{font-size:22px}.pageHeader h1{font-size:24px}.readerTitle{font-size:26px}.navBtn{max-width:110px;font-size:12px;padding:8px 10px}}.statusBadge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;border:1px solid var(--card-border);color:var(--muted);background:var(--card)}.sideSubLink.disabled,.sideLink.disabled{opacity:.55;pointer-events:none}.cardLesson.disabled{opacity:.6}.splashLogo{font-size:34px;font-weight:800;letter-spacing:-.03em}.authBrand{font-size:28px;font-weight:800;letter-spacing:-.03em;text-align:center;margin:8px 0 14px}.field input{padding:12px;border-radius:14px;border:1px solid var(--card-border);background:var(--card);color:var(--text)}@media (min-width: 560px){.rowTwo{grid-template-columns:1fr 120px}}.statusBadge.warn{border:1px solid var(--card-border)}.authRoot{display:flex;min-height:100vh;background:var(--bg)}.authPanel{display:none;flex:0 0 420px;background:linear-gradient(160deg,#0a0d12,#111820 60%,#0d1117);border-right:1px solid var(--border);position:relative;overflow:hidden}.authPanel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 60% 50% at 40% 30%,rgba(201,162,39,.1) 0%,transparent 70%),radial-gradient(ellipse 40% 60% at 70% 80%,rgba(201,162,39,.06) 0%,transparent 70%)}.authPanel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(201,162,39,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(201,162,39,.04) 1px,transparent 1px);background-size:40px 40px}.authPanelInner{position:relative;z-index:1;display:flex;flex-direction:column;height:100%;padding:48px 44px}.authPanelLogo{display:flex;align-items:center;gap:12px;margin-bottom:auto}.authLogoMark{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#c9a227,#7a5f00);display:flex;align-items:center;justify-content:center;font-size:16px;color:#fff;box-shadow:0 4px 16px #c9a22759}.authLogoText{font-family:var(--font-display);font-size:20px;font-weight:700;color:#e8eaf0;letter-spacing:-.2px}.authQuote{margin:auto 0 40px;padding:0;border:none;font-family:var(--font-reading);font-style:italic;font-size:17px;line-height:1.7;color:#e8eaf0b3}.authQuote cite{display:block;margin-top:14px;font-style:normal;font-size:13px;font-family:var(--font-body);color:var(--accent);letter-spacing:.06em}.authPanelDots{display:flex;gap:8px}.authPanelDots span{width:8px;height:8px;border-radius:50%;background:#c9a22766}.authPanelDots span:first-child{background:var(--accent)}.authForm{flex:1;display:flex;align-items:center;justify-content:center;padding:32px 20px;overflow-y:auto}.authFormInner{width:100%;max-width:400px}.authMobileLogo{display:flex;align-items:center;gap:10px;margin-bottom:28px;justify-content:center}.authHeading{margin-bottom:28px}.authHeading h1{font-family:var(--font-display);font-size:28px;font-weight:700;letter-spacing:-.4px;margin:0 0 8px;color:var(--text)}.authHeading p{font-size:14px;color:var(--muted);margin:0;line-height:1.6}.authFields{display:flex;flex-direction:column;gap:16px}.authField{display:flex;flex-direction:column;gap:6px}.authFieldLabel{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.authInput{width:100%;padding:13px 14px;border-radius:13px;border:1px solid var(--border);background:var(--panel);color:var(--text);font-family:var(--font-body);font-size:15px;outline:none;transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.authInput:focus{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-dim)}.authInput::placeholder{color:var(--muted);opacity:.7}.authInputWrap{position:relative}.authInputWrap .authInput{padding-right:46px}.authInputToggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:16px;color:var(--muted);padding:4px;line-height:1}.authSubmitBtn{width:100%;padding:14px;border-radius:13px;border:none;background:var(--accent);color:#000;font-family:var(--font-body);font-size:15px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background var(--duration-fast),transform var(--duration-fast),box-shadow var(--duration-fast);margin-top:4px}.authSubmitBtn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 6px 20px #c9a2274d}.authSubmitBtn:active{transform:scale(.98)}.authSubmitBtn:disabled{opacity:.6;cursor:not-allowed}.authSpinner{width:18px;height:18px;border:2px solid rgba(0,0,0,.2);border-top-color:#000;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.authAlert{border-radius:12px;padding:12px 14px;font-size:13px;line-height:1.5;border:1px solid}.authAlert.danger{background:var(--danger-dim);border-color:#ef44444d;color:var(--danger)}.authAlert.warn{background:var(--accent-dim);border-color:var(--accent-border);color:var(--accent)}.authFooterLinks{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px;font-size:14px;color:var(--muted)}.authLink{color:var(--accent);font-weight:600;text-decoration:none;transition:color var(--duration-fast)}.authLink:hover{color:var(--accent-hover)}.authTypeGrid{display:flex;flex-direction:column;gap:12px;margin:8px 0 4px}.authTypeCard{display:flex;align-items:center;gap:14px;padding:18px 16px;border:1px solid var(--border);border-radius:16px;background:var(--panel);cursor:pointer;text-decoration:none;color:var(--text);transition:border-color var(--duration-base),background var(--duration-fast),transform var(--duration-fast)}.authTypeCard:hover{border-color:var(--accent-border);background:var(--accent-dim);transform:translate(3px)}.authTypeIcon{font-size:28px;flex-shrink:0}.authTypeCard strong{display:block;font-size:15px;font-weight:700;margin-bottom:2px}.authTypeCard span{font-size:13px;color:var(--muted)}@media (min-width: 768px){.authPanel{display:flex}.authMobileLogo{display:none}}.sidebarProfile{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border);flex-shrink:0}.sidebarAvatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 50%,#000));color:#000;font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebarProfileInfo{min-width:0}.sidebarProfileName{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebarProfileEmail{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebarFooter{padding:10px 14px;border-top:1px solid var(--border);color:var(--muted);font-size:12px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:10px}.sideLogoutBtn{background:none;border:none;cursor:pointer;font-size:12px;color:var(--muted);padding:0;font-family:var(--font-body);transition:color var(--duration-fast)}.sideLogoutBtn:hover{color:var(--danger)}.sidebarVersion{font-size:11px;color:var(--border)}.sideBadge{font-size:10px;font-weight:600;padding:2px 7px;border-radius:999px;border:1px solid var(--border);color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.sideBadge.ok{color:var(--success);border-color:#22c55e4d;background:var(--success-dim)}.sideBadge.premium{color:var(--accent);border-color:var(--accent-border);background:var(--accent-dim)}.sideBadge.soon{color:var(--muted)}.sideSubNum{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;background:#ffffff0f;font-size:10px;font-weight:700;flex-shrink:0;margin-right:4px;color:var(--muted)}.sideSubLink.active .sideSubNum{background:var(--accent-dim);color:var(--accent)}.sideGroup.sideGroupOpen{border-color:var(--accent-border);border-radius:14px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}.card{transition:border-color var(--duration-base),box-shadow var(--duration-base),transform var(--duration-base)}.card:hover{border-color:var(--accent-border);box-shadow:0 8px 32px #00000040;transform:translateY(-1px)}.contentScroll>*{animation:pageFadeIn .25s var(--ease-out)}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.pageHeader{padding-bottom:20px;border-bottom:1px solid var(--border);margin-bottom:24px;position:relative}.pageHeader:after{content:"";position:absolute;bottom:-1px;left:0;width:48px;height:2px;background:var(--accent);border-radius:999px}input,select,textarea{font-family:var(--font-body)}.field input,.field select,.field textarea{width:100%;padding:12px 14px;border-radius:13px;border:1px solid var(--border);background:var(--panel);color:var(--text);font-size:15px;outline:none;transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-dim)}.authPage{max-width:520px;margin:0 auto;padding:18px 14px 24px}.authBrand{font-family:var(--font-display);font-size:28px;font-weight:700;text-align:center;margin:8px 0 14px}.field{display:flex;flex-direction:column;gap:6px}.field span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.rowTwo{display:grid;grid-template-columns:1fr 100px;gap:10px}.errorText{color:var(--danger);font-size:13px}.statusBadge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;border:1px solid var(--border);color:var(--muted)}.statusBadge.ok{color:var(--success)}.statusBadge.soon{color:var(--muted)}.statusBadge.premium{color:var(--accent)}.statusBadge.warn{border-color:var(--accent-border)}.sideSubLink.disabled,.sideLink.disabled{opacity:.5;pointer-events:none;cursor:default}.centerPage{min-height:70vh;display:flex;flex-direction:column;justify-content:center;gap:14px;text-align:center}.splashLogo{font-family:var(--font-display);font-size:34px;font-weight:700;letter-spacing:-.03em}.lessonContent{display:flex;flex-direction:column;gap:14px}.lessonIndex{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:16px 18px;margin-bottom:4px}.lessonIndexTitle{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin-bottom:10px;font-weight:600}.lessonIndexList{display:flex;flex-direction:column;gap:2px}.lessonIndexItem{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;border:none;background:transparent;color:var(--text);font-family:var(--font-body);font-size:13px;font-weight:500;cursor:pointer;text-align:left;width:100%;transition:background var(--duration-fast),color var(--duration-fast)}.lessonIndexItem:hover{background:var(--accent-dim);color:var(--accent)}.lessonIndexIcon{font-size:14px;width:20px;text-align:center;flex-shrink:0}.lessonIndexLabel{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lessonSection{border:1px solid var(--border);border-radius:18px;overflow:hidden;animation:sectionReveal .35s var(--ease-out) both}@keyframes sectionReveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.lessonSectionHeader{display:flex;align-items:center;gap:12px;padding:16px 20px 12px;border-bottom:1px solid rgba(255,255,255,.05)}html[data-theme=light] .lessonSectionHeader,html[data-theme=reading] .lessonSectionHeader{border-bottom-color:#0000000f}.lessonSectionIcon{font-size:18px;flex-shrink:0;line-height:1}.lessonSectionTitle{font-family:var(--font-display);font-size:17px;font-weight:700;margin:0;letter-spacing:-.2px;line-height:1.2}.lessonSectionBody{padding:16px 20px 20px}.lessonSectionBody.prose h3{font-family:var(--font-display);font-size:1.05em;font-weight:700;margin:1.4em 0 .5em;color:var(--text)}.lessonSectionBody.prose h3:first-child{margin-top:0}.lessonSectionBody.prose p{margin:0 0 .9em;line-height:1.75}.lessonSectionBody.prose p:last-child{margin-bottom:0}.lessonSectionBody.prose ol,.lessonSectionBody.prose ul{margin:0 0 .9em 1.2em;line-height:1.75;display:flex;flex-direction:column;gap:6px}.lessonSectionBody.prose li{margin:0}.lessonSectionBody.prose blockquote{border-left:3px solid var(--accent);padding:12px 16px;margin:14px 0;color:var(--text);background:#c9a2270f;border-radius:0 12px 12px 0;font-style:italic;font-family:var(--font-reading);font-size:1.02em;line-height:1.75}html[data-theme=reading] .lessonSectionBody.prose blockquote{font-size:1.05em}.lessonSectionBody.prose table{width:100%;border-collapse:collapse;margin:14px 0;font-size:.9em;border-radius:10px;overflow:hidden;border:1px solid var(--border)}.lessonSectionBody.prose th{background:#c9a2271a;color:var(--accent);font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:700;padding:10px 14px;text-align:left;border-bottom:1px solid var(--border)}.lessonSectionBody.prose td{padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.04);vertical-align:top;line-height:1.6}html[data-theme=light] .lessonSectionBody.prose td,html[data-theme=reading] .lessonSectionBody.prose td{border-bottom-color:#0000000d}.lessonSectionBody.prose tr:last-child td{border-bottom:none}.lessonSectionBody.prose strong{font-weight:700;color:var(--text)}html[data-theme=reading] .lessonSectionBody.prose em{font-family:var(--font-reading)}.lessonSectionBody.prose hr{border:none;border-top:1px solid var(--border);margin:16px 0}.lessonProgressSticky{background:var(--panel);border:1px solid var(--border);border-radius:16px;margin-bottom:20px}.lessonProgressStickyInner{padding:12px 16px;display:flex;align-items:center;gap:10px}.lessonProgressStickyBar{flex:1;min-width:0}.lessonProgressStickyLabel{font-size:13px;font-weight:700;color:var(--accent);min-width:38px;text-align:right}.lessonIndexArrow{font-size:11px;color:var(--muted);flex-shrink:0;opacity:0;transform:translate(-4px);transition:opacity var(--duration-fast),transform var(--duration-fast)}.lessonIndexItem:hover .lessonIndexArrow{opacity:1;transform:translate(0)}.lessonSection--verseBase{background:linear-gradient(135deg,#c9a2271a,#c9a2270a);border-color:#c9a2274d}.lessonSection--objectives{background:var(--panel);border-color:var(--accent-border)}.lessonSection--objectives .lessonSectionBody.prose ol{counter-reset:obj-counter;list-style:none;margin-left:0;gap:10px}.lessonSection--objectives .lessonSectionBody.prose ol li{counter-increment:obj-counter;display:flex;gap:12px;align-items:flex-start;padding:10px 14px;background:var(--accent-dim);border:1px solid var(--accent-border);border-radius:12px}.lessonSection--objectives .lessonSectionBody.prose ol li:before{content:counter(obj-counter);display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;min-width:22px;border-radius:50%;background:var(--accent);color:#000;font-size:11px;font-weight:800;flex-shrink:0;margin-top:1px}.lessonSection--exposition{background:var(--panel);border-color:var(--border)}.lessonSection--controversy{background:#f59e0b0f;border-color:#f59e0b40}.lessonSection--application{background:var(--success-dim);border-color:#22c55e40}.lessonSection--application .lessonSectionBody.prose ol{list-style:none;margin-left:0;gap:10px}.lessonSection--application .lessonSectionBody.prose ol li{display:flex;gap:12px;align-items:flex-start;padding:10px 14px;background:#22c55e12;border:1px solid rgba(34,197,94,.2);border-radius:12px}.lessonSection--application .lessonSectionBody.prose ol li:before{content:"✓";color:var(--success);font-weight:800;font-size:14px;flex-shrink:0;margin-top:1px}.lessonSection--reflection{background:#60a5fa0f;border-color:#60a5fa38}.lessonSection--reflection .lessonSectionBody.prose ol{counter-reset:q-counter;list-style:none;margin-left:0;gap:10px}.lessonSection--reflection .lessonSectionBody.prose ol li{counter-increment:q-counter;display:flex;gap:12px;align-items:flex-start;background:#60a5fa14;border:1px solid rgba(96,165,250,.18);border-radius:12px;padding:12px 14px}.lessonSection--reflection .lessonSectionBody.prose ol li:before{content:counter(q-counter);display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;min-width:22px;border-radius:50%;background:#60a5fa33;color:#60a5fa;font-size:11px;font-weight:800;flex-shrink:0;margin-top:1px}.lessonSection--devotional{background:linear-gradient(135deg,#c9a2271f,#c9a2270a);border-color:#c9a22759}.lessonSection--devotional .lessonSectionBody.prose blockquote{font-size:1.08em;border-left-width:4px;font-style:italic}.lessonSection--generic{background:var(--panel);border-color:var(--border)}.lessonSectionBody.prose>*:first-child{margin-top:0}.lessonSectionBody.prose>*:last-child{margin-bottom:0}.lessonProgressCard{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:16px 18px;margin-bottom:20px}.lessonProgressCardRow{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.lessonProgressCardLabel{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600}.lessonProgressCardPct{font-size:14px;font-weight:700;color:var(--accent)}.lessonProgressCardActions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.lessonCompletedBadge{display:inline-flex;align-items:center;gap:5px;padding:9px 16px;background:var(--success-dim);border:1px solid rgba(34,197,94,.25);border-radius:12px;font-size:13px;font-weight:600;color:var(--success)}.logoRoot{display:inline-flex;align-items:center;gap:10px;-webkit-user-select:none;user-select:none}.logoIcon{display:flex;align-items:center;justify-content:center;border-radius:9px;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#000));color:#fff;font-style:normal;line-height:1;flex-shrink:0}.logoBrand{font-family:var(--font-display);font-weight:700;letter-spacing:-.3px;white-space:nowrap}.logo--nav .logoIcon{width:30px;height:30px;font-size:13px}.logo--nav .logoBrand{font-size:17px;color:var(--text)}.logo--auth .logoIcon{width:36px;height:36px;font-size:16px;box-shadow:0 4px 16px #c9a22759}.logo--auth .logoBrand{font-size:20px;color:#e8eaf0}.logo--mobile .logoIcon{width:32px;height:32px;font-size:14px}.logo--mobile .logoBrand{font-size:18px;color:var(--text)}.logo--splash{flex-direction:column;gap:14px}.logo--splash .logoIcon{width:56px;height:56px;font-size:22px;border-radius:18px;box-shadow:0 8px 32px #c9a22766}.logo--splash .logoBrand{font-size:34px;font-weight:700;letter-spacing:-.5px;color:var(--text)}.onboardRoot{position:relative;min-height:100svh;min-height:100vh;display:flex;flex-direction:column;overflow:hidden;background:#06080b}.onboardBg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.onboardBgGlow{position:absolute;top:-10%;left:50%;transform:translate(-50%);width:70vw;height:70vw;max-width:500px;max-height:500px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(201,162,39,.13) 0%,rgba(201,162,39,.04) 45%,transparent 70%)}.onboardBgGrid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(201,162,39,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(201,162,39,.03) 1px,transparent 1px);background-size:48px 48px}.onboardBgVignette{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 100% 100% at 50% 50%,transparent 40%,rgba(0,0,0,.7) 100%)}.onboardHeader{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0;flex-shrink:0}.onboardSkip{background:none;border:none;color:#e8eaf073;font-family:var(--font-body);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.18em;cursor:pointer;padding:8px 0;transition:color .2s}.onboardSkip:hover{color:#e8eaf0e6}.onboardMain{position:relative;z-index:10;flex:1;display:flex;align-items:flex-end;padding:0 28px 8px}.onboardSlide{width:100%;max-width:480px}.onboardSlide--in{animation:slideIn .4s cubic-bezier(.22,1,.36,1) forwards}.onboardSlide--out{animation:slideOut .28s cubic-bezier(.4,0,1,1) forwards}@keyframes slideIn{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes slideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-14px)}}.onboardFase{font-family:var(--font-display);font-size:96px;font-weight:900;line-height:1;color:#c9a22712;letter-spacing:-4px;margin-bottom:-24px;margin-left:-4px;-webkit-user-select:none;user-select:none}.onboardTitulo{font-family:var(--font-display);font-size:clamp(36px,9vw,52px);font-weight:700;line-height:1.1;letter-spacing:-.5px;color:#e8eaf0;margin:0 0 20px}.onboardSubtitulo{font-style:italic;color:var(--accent);font-weight:600}.onboardDivider{width:40px;height:2px;background:var(--accent);border-radius:999px;margin-bottom:20px;opacity:.7}.onboardTexto{font-family:var(--font-reading);font-size:15px;line-height:1.8;color:#e8eaf0a6;margin:0 0 14px;max-width:400px}.onboardRef{display:inline-block;font-family:var(--font-body);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:#c9a2278c;border:1px solid rgba(201,162,39,.2);border-radius:999px;padding:4px 12px}.onboardFooter{position:relative;z-index:10;padding:20px 28px 32px;display:flex;flex-direction:column;gap:20px;flex-shrink:0}.onboardDots{display:flex;gap:8px;align-items:center}.onboardDot{width:6px;height:6px;border-radius:999px;background:#ffffff2e;border:none;cursor:pointer;padding:0;transition:width .3s cubic-bezier(.22,1,.36,1),background .3s}.onboardDot--active{width:24px;background:var(--accent)}.onboardDot:hover:not(.onboardDot--active){background:#fff6}.onboardBtn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:17px 24px;border-radius:18px;border:none;background:var(--accent);color:#000;font-family:var(--font-body);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.16em;cursor:pointer;transition:background .2s,transform .15s,box-shadow .2s;box-shadow:0 8px 32px #c9a22747}.onboardBtn:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 12px 40px #c9a22761}.onboardBtn:active{transform:scale(.97)}.onboardBtnArrow{font-size:16px;transition:transform .2s}.onboardBtn:hover .onboardBtnArrow{transform:translate(3px)}.onboardTagline{text-align:center;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:#ffffff2e;margin:0}@supports (padding-bottom: env(safe-area-inset-bottom)){.onboardFooter{padding-bottom:calc(32px + env(safe-area-inset-bottom))}}:root{--zoe-bg: var(--bg, #070b14);--zoe-surface: rgba(14, 18, 31, .82);--zoe-surface-2: rgba(20, 26, 43, .96);--zoe-surface-3: rgba(30, 38, 60, .98);--zoe-line: rgba(255,255,255,.08);--zoe-line-strong: rgba(255,255,255,.14);--zoe-text: var(--text, #f5f7ff);--zoe-muted: rgba(245,247,255,.72);--zoe-soft: rgba(245,247,255,.46);--zoe-brand: #7a8cff;--zoe-brand-2: #c7cfff;--zoe-glow: rgba(122, 140, 255, .24);--zoe-shadow: 0 24px 60px rgba(0,0,0,.35);--zoe-radius: 24px;--zoe-radius-sm: 16px;--zoe-radius-xs: 12px;--zoe-font-display: "Fraunces", Georgia, serif;--zoe-font-ui: "Inter", system-ui, sans-serif}html[data-theme=light]{--zoe-bg: #f4f7ff;--zoe-surface: rgba(255,255,255,.82);--zoe-surface-2: rgba(255,255,255,.96);--zoe-surface-3: #eef2ff;--zoe-line: rgba(16,23,40,.08);--zoe-line-strong: rgba(16,23,40,.12);--zoe-text: #0b1221;--zoe-muted: rgba(11,18,33,.72);--zoe-soft: rgba(11,18,33,.48);--zoe-shadow: 0 20px 50px rgba(34, 59, 120, .12)}body{background:radial-gradient(circle at top,rgba(122,140,255,.14),transparent 32%),var(--zoe-bg)}.lib-state{min-height:40vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;color:var(--zoe-muted);font-family:var(--zoe-font-ui)}.lib-state--full{min-height:100vh}.lib-state--error{color:#ff8585}.lib-spinner{width:34px;height:34px;border-radius:999px;border:2px solid var(--zoe-line);border-top-color:var(--zoe-brand);animation:zoe-spin .8s linear infinite}@keyframes zoe-spin{to{transform:rotate(360deg)}}.lib-btn-ghost,.zoe-primary-btn,.zoe-secondary-btn,.zoe-filter-chip,.zoe-back-link,.zoe-book-card,.zoe-chapter-card,.zoe-reader__chapter-link{font-family:var(--zoe-font-ui)}.zoe-library,.zoe-book-page,.zoe-reader{min-height:100vh;color:var(--zoe-text);font-family:var(--zoe-font-ui);padding:28px 24px 72px}.zoe-library__hero,.zoe-book-hero,.zoe-book-layout,.zoe-reader__layout,.zoe-filters-panel,.zoe-shelf{max-width:1280px;margin:0 auto}.zoe-library__hero{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:stretch}.zoe-library__hero-copy,.zoe-library__hero-panel,.zoe-filters-panel,.zoe-panel,.zoe-reader__article,.zoe-reader__topbar{background:var(--zoe-surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--zoe-line);box-shadow:var(--zoe-shadow)}.zoe-library__hero-copy,.zoe-library__hero-panel>.zoe-shelf-card,.zoe-filters-panel,.zoe-panel,.zoe-reader__article,.zoe-reader__topbar{border-radius:var(--zoe-radius)}.zoe-library__hero-copy{padding:36px;position:relative;overflow:hidden}.zoe-library__hero-copy:before,.zoe-library__hero-panel:before,.zoe-book-hero:before{content:"";position:absolute;inset:auto auto -60px -40px;width:240px;height:240px;background:radial-gradient(circle,var(--zoe-glow),transparent 72%);pointer-events:none}.zoe-kicker{display:inline-flex;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700;color:var(--zoe-brand-2);margin-bottom:16px}.zoe-library__title,.zoe-book-hero h1,.zoe-reader__article-header h1{font-family:var(--zoe-font-display);line-height:1.02;letter-spacing:-.03em;margin:0}.zoe-library__title{font-size:clamp(2.05rem,3.4vw,3rem);max-width:18ch}.zoe-library__subtitle{font-size:1rem;line-height:1.7;color:var(--zoe-muted);max-width:54ch;margin-top:12px}.zoe-search{margin-top:28px;display:flex;align-items:center;gap:12px;padding:14px 16px;background:#ffffff08;border:1px solid var(--zoe-line-strong);border-radius:18px;max-width:560px}.zoe-search svg{width:20px;height:20px;color:var(--zoe-soft)}.zoe-search input,.zoe-search button{background:transparent;border:0;color:var(--zoe-text);outline:none;font:inherit}.zoe-search input{flex:1}.zoe-search button{cursor:pointer;font-size:24px;color:var(--zoe-soft)}.zoe-library__stats,.zoe-book-hero__metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}.zoe-stat-card,.zoe-book-hero__metrics>div{background:#ffffff08;border:1px solid var(--zoe-line);border-radius:18px;padding:16px}.zoe-stat-card strong,.zoe-book-hero__metrics strong{display:block;font-size:1.45rem;margin-bottom:6px}.zoe-stat-card span,.zoe-book-hero__metrics span{color:var(--zoe-muted);font-size:.94rem}.zoe-library__hero-panel{position:relative}.zoe-shelf-card{height:100%;padding:24px;position:relative;overflow:hidden}.zoe-shelf-card__top,.zoe-panel__header,.zoe-filters-panel__header,.zoe-book-card__meta-row,.zoe-book-card__footer,.zoe-reader__topbar,.zoe-reader__footer-nav{display:flex;align-items:center;justify-content:space-between;gap:12px}.zoe-shelf-card__badge,.zoe-panel__badge{padding:8px 12px;border-radius:999px;border:1px solid var(--zoe-line-strong);color:var(--zoe-muted);font-size:.78rem}.zoe-shelf-card__body{display:grid;grid-template-columns:.82fr 1fr;gap:22px;margin-top:18px;align-items:center}.zoe-shelf-card__content h2,.zoe-filters-panel h2,.zoe-shelf__header h2,.zoe-panel h2,.zoe-panel h3{margin:0;font-size:1.45rem}.zoe-shelf-card__content p,.zoe-shelf__header p,.zoe-book-hero__description,.zoe-reader__article-header p,.zoe-panel p,.zoe-meta-list span,.zoe-chapter-card__content p{color:var(--zoe-muted);line-height:1.7}.zoe-primary-btn,.zoe-secondary-btn,.lib-btn-ghost,.zoe-back-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:16px;padding:13px 18px;font-weight:600;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.zoe-primary-btn{border:1px solid transparent;background:linear-gradient(135deg,var(--zoe-brand),#92a2ff);color:#fff}.zoe-secondary-btn,.lib-btn-ghost,.zoe-back-link{background:#ffffff08;border:1px solid var(--zoe-line-strong);color:var(--zoe-text)}.zoe-primary-btn:hover,.zoe-secondary-btn:hover,.lib-btn-ghost:hover,.zoe-back-link:hover,.zoe-filter-chip:hover,.zoe-book-card:hover,.zoe-chapter-card:hover,.zoe-reader__chapter-link:hover{transform:translateY(-1px)}.zoe-filters-panel{margin-top:28px;padding:22px 24px}.zoe-filter-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.zoe-filters-panel__count{color:var(--zoe-muted);font-size:.92rem}.zoe-filter-chip{border:1px solid var(--zoe-line-strong);background:#ffffff08;color:var(--zoe-muted);padding:12px 16px;border-radius:999px;cursor:pointer}.zoe-filter-chip--active{background:#7a8cff24;color:var(--zoe-text);border-color:#7a8cff73}.zoe-shelf{margin-top:28px}.zoe-shelf__header{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:18px}.zoe-shelf__header>div{max-width:420px}.zoe-book-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,280px));gap:18px;justify-content:start;align-items:stretch}.zoe-book-card{width:100%;min-width:0;text-align:left;color:inherit;background:var(--zoe-surface);border:1px solid var(--zoe-line);border-radius:22px;box-shadow:var(--zoe-shadow);overflow:hidden;cursor:pointer;display:flex;flex-direction:column;min-height:100%}.zoe-book-card__visual{padding:18px 18px 0}.zoe-book-card__body{padding:18px;display:flex;flex-direction:column;flex:1}.zoe-book-card__title{margin:12px 0 6px;font-size:1.08rem;line-height:1.28;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.zoe-book-card__author,.zoe-book-card__difficulty,.zoe-book-card__stats{color:var(--zoe-muted)}.zoe-book-card__author{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.zoe-book-card__stats{display:flex;gap:14px;font-size:.9rem;margin-top:12px;flex-wrap:wrap}.zoe-book-card__cta,.zoe-book-card__progress{font-size:.9rem;font-weight:600}.zoe-book-card__footer{margin-top:auto;padding-top:14px}.zoe-progress{margin-top:14px;height:7px;border-radius:999px;background:#ffffff0f;overflow:hidden}.zoe-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--zoe-brand),#9db0ff)}.zoe-progress--wide{margin-top:18px}.zoe-pill,.zoe-pill--soft,.zoe-tag{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;border:1px solid var(--zoe-line-strong);background:#ffffff0a;color:var(--zoe-muted);font-size:.84rem}.zoe-book-hero{margin-top:8px;padding:22px;background:var(--zoe-surface);border:1px solid var(--zoe-line);border-radius:var(--zoe-radius);box-shadow:var(--zoe-shadow);position:relative;overflow:hidden}.zoe-book-hero__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;align-items:center;margin-top:18px}.zoe-book-hero__tags,.zoe-book-hero__actions,.zoe-tag-cloud{display:flex;flex-wrap:wrap;gap:10px}.zoe-book-hero__subtitle{font-size:1.08rem;color:var(--zoe-muted)}.zoe-book-hero__author{font-weight:600;color:var(--zoe-brand-2)}.zoe-book-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:24px;margin-top:24px}.zoe-book-sidebar,.zoe-reader__rail{position:sticky;top:88px}.zoe-book-sidebar,.zoe-book-main,.zoe-reader__rail,.zoe-reader__main{display:grid;gap:18px;align-content:start}.zoe-panel{padding:24px}.zoe-meta-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:14px}.zoe-meta-list li{display:flex;flex-direction:column;gap:4px}.zoe-meta-list strong{font-size:.96rem}.zoe-quote-card{margin:16px 0 0;padding:18px;background:#ffffff08;border-left:3px solid var(--zoe-brand);border-radius:14px}.zoe-quote-card p{margin:0 0 10px;font-family:var(--zoe-font-display);font-size:1.08rem}.zoe-quote-card cite{color:var(--zoe-muted);font-style:normal}.zoe-chapter-list,.zoe-reader__chapter-nav{display:grid;gap:12px}.zoe-chapter-card,.zoe-reader__chapter-link{width:100%;text-align:left;background:#ffffff08;border:1px solid var(--zoe-line);border-radius:18px;color:var(--zoe-text);padding:16px;display:grid;gap:10px;cursor:pointer}.zoe-chapter-card{grid-template-columns:52px minmax(0,1fr) auto;align-items:center}.zoe-chapter-card__number{width:44px;height:44px;border-radius:14px;background:#7a8cff1f;display:grid;place-items:center;font-weight:700}.zoe-chapter-card__content strong{display:block;margin-bottom:4px}.zoe-chapter-card__meta{display:grid;gap:6px;justify-items:end;color:var(--zoe-muted)}.zoe-chapter-card--current,.zoe-reader__chapter-link--active{border-color:#7a8cff80;background:#7a8cff1a}.zoe-chapter-card--read .zoe-chapter-card__number{background:#65d69b29}.zoe-reader__topbar{margin:0 auto 18px;max-width:1280px;padding:18px 22px}.zoe-reader__layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:24px}.zoe-reader__topbar-info{display:flex;align-items:center;gap:10px;color:var(--zoe-muted)}.zoe-reader__read-badge{padding:7px 10px;border-radius:999px;background:#65d69b1f;color:#77d99f}.zoe-reader__article{padding:32px}.zoe-reader__article-header{padding-bottom:20px;border-bottom:1px solid var(--zoe-line);margin-bottom:26px}.zoe-reader__content{color:var(--zoe-text);font-size:1.04rem;line-height:1.92}.zoe-reader__content h1,.zoe-reader__content h2,.zoe-reader__content h3{font-family:var(--zoe-font-display);line-height:1.15;margin:2.2rem 0 1rem}.zoe-reader__content h1{font-size:2.2rem}.zoe-reader__content h2{font-size:1.6rem}.zoe-reader__content h3{font-size:1.25rem}.zoe-reader__content p{margin:0 0 1.2rem;color:var(--zoe-text)}.zoe-reader__content blockquote{margin:1.4rem 0;padding:1rem 1.2rem;border-left:3px solid var(--zoe-brand);background:#7a8cff14;border-radius:12px;color:var(--zoe-muted)}.zoe-reader__content hr{border:0;border-top:1px solid var(--zoe-line);margin:2rem 0}.zoe-reader__footer-nav{margin-top:18px}.zoe-cover{position:relative;overflow:hidden;border-radius:24px;border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px #ffffff14,0 24px 50px #00000040;background:radial-gradient(circle at top left,rgba(255,255,255,.22),transparent 38%),linear-gradient(160deg,#ffffff0a,#00000014);min-height:300px}.zoe-cover--card{aspect-ratio:.78}.zoe-cover--detail{min-height:430px}.zoe-cover__mesh{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:24px 24px;opacity:.35}.zoe-cover__art{position:absolute;inset:16px auto auto 16px;width:92px;height:92px;color:#ffffffe0}.zoe-cover__content{position:absolute;inset:auto 18px 18px 18px;display:grid;gap:8px}.zoe-cover__label{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:#ffffffc7}.zoe-cover__title{margin:0;font-family:var(--zoe-font-display);font-size:clamp(1.4rem,2.6vw,2rem);line-height:1;color:#fff}.zoe-cover__author{margin:0;color:#ffffffc7;font-size:.95rem}.zoe-cover__image{width:100%;height:100%;object-fit:cover;display:block}.zoe-cover[data-category=vida-crista]{background-color:#273b84}.zoe-cover[data-category=teologia]{background-color:#25493d}.zoe-cover[data-category=biblica]{background-color:#4d3568}.zoe-cover[data-category=historica]{background-color:#6b4f2c}.zoe-cover[data-category=apologetica]{background-color:#2d5561}.zoe-cover[data-category=missoes]{background-color:#70353a}@media (max-width: 1080px){.zoe-library__hero,.zoe-book-hero__grid,.zoe-book-layout,.zoe-reader__layout,.zoe-shelf-card__body{grid-template-columns:1fr}.zoe-book-sidebar{order:2}.zoe-book-sidebar,.zoe-reader__rail{position:static}}@media (max-width: 720px){.zoe-library,.zoe-book-page,.zoe-reader{padding-inline:16px}.zoe-book-grid{grid-template-columns:1fr}.zoe-library__hero-copy,.zoe-filters-panel,.zoe-panel,.zoe-reader__article,.zoe-book-hero{padding:20px}.zoe-library__stats,.zoe-book-hero__metrics{grid-template-columns:1fr}.zoe-shelf__header,.zoe-reader__topbar,.zoe-reader__footer-nav,.zoe-filters-panel__header{flex-direction:column;align-items:flex-start}.zoe-chapter-card{grid-template-columns:44px minmax(0,1fr)}.zoe-chapter-card__meta{grid-column:2;justify-items:start}}
