#blog-reader-root{--reader-accent:#6da8ff;--reader-accent-2:#a88cff;--reader-panel:rgba(243, 248, 255, 0.9);--reader-panel-solid:#eef5ff;--reader-surface:rgba(255, 255, 255, 0.58);--reader-border:rgba(71, 119, 183, 0.22);--reader-text:#14233a;--reader-muted:#62728a;--reader-danger:#b4334d;position:relative;z-index:1003}.dark-mode #blog-reader-root{--reader-accent:#74c7ff;--reader-accent-2:#a697ff;--reader-panel:rgba(10, 20, 38, 0.92);--reader-panel-solid:#0d1930;--reader-surface:rgba(75, 109, 154, 0.12);--reader-border:rgba(143, 190, 255, 0.2);--reader-text:#edf6ff;--reader-muted:#9dafc7;--reader-danger:#ff91a6}.blog-reader-trigger{--reader-progress:0deg;position:fixed;right:20px;bottom:164px;width:52px;height:52px;padding:0;border:1px solid rgba(255,255,255,.38);border-radius:18px;color:#f7fbff;background:linear-gradient(145deg,rgba(27,58,103,.82),rgba(83,57,137,.78));box-shadow:0 12px 34px rgba(9,27,54,.28),inset 0 1px 0 rgba(255,255,255,.24);backdrop-filter:blur(16px) saturate(135%);-webkit-backdrop-filter:blur(16px) saturate(135%);cursor:pointer;overflow:visible;transition:transform 180ms ease,box-shadow 180ms ease,border-color 180ms ease}.blog-reader-trigger:focus-visible,.blog-reader-trigger:hover{transform:translateY(-3px) rotate(-2deg);border-color:rgba(255,255,255,.7);box-shadow:0 16px 42px rgba(9,27,54,.38),0 0 22px rgba(109,168,255,.24);outline:0}.blog-reader-trigger-ring{position:absolute;inset:-4px;border-radius:21px;background:conic-gradient(var(--reader-accent) var(--reader-progress),rgba(255,255,255,.16) 0deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:2px;pointer-events:none;transition:background .3s ease}.blog-reader-trigger-icon{display:grid;width:100%;height:100%;place-items:center;font-size:19px}.blog-reader-trigger-icon img{width:38px;height:38px;border:2px solid rgba(255,255,255,.78);border-radius:14px;object-fit:cover}.blog-reader-trigger-status{position:absolute;top:-3px;right:-3px;width:11px;height:11px;border:2px solid #eaf3ff;border-radius:50%;background:#92a1b5;box-shadow:0 0 0 3px rgba(9,27,54,.35)}.blog-reader-trigger.is-signed-in .blog-reader-trigger-status{background:#5ce0ac}.blog-reader-trigger.is-unconfigured .blog-reader-trigger-status{background:#ffbf66}.blog-reader-trigger.is-saving .blog-reader-trigger-status{animation:blog-reader-pulse .9s ease-in-out infinite alternate}.blog-reader-backdrop{position:fixed;inset:0;z-index:1004;border:0;background:rgba(3,12,28,.26);opacity:0;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);transition:opacity 260ms ease}.blog-reader-backdrop.is-open{opacity:1}.blog-reader-panel{position:fixed;z-index:1005;top:12px;right:12px;bottom:12px;display:flex;width:min(420px,calc(100vw - 24px));flex-direction:column;overflow:hidden;border:1px solid var(--reader-border);border-radius:28px;color:var(--reader-text);background:radial-gradient(circle at 12% 4%,rgba(109,168,255,.2),transparent 36%),radial-gradient(circle at 94% 86%,rgba(168,140,255,.15),transparent 34%),var(--reader-panel);box-shadow:-20px 0 80px rgba(5,18,40,.24),inset 0 1px 0 rgba(255,255,255,.16);backdrop-filter:blur(28px) saturate(135%);-webkit-backdrop-filter:blur(28px) saturate(135%);opacity:0;transform:translateX(calc(100% + 32px)) scale(.98);transition:transform 320ms cubic-bezier(.2, .75, .25, 1),opacity 220ms ease;pointer-events:none}.blog-reader-panel.is-open{opacity:1;transform:translateX(0) scale(1);pointer-events:auto}.blog-reader-panel-header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 18px;border-bottom:1px solid var(--reader-border)}.blog-reader-eyebrow{margin:0 0 3px;color:var(--reader-accent);font-size:12px;font-weight:800;letter-spacing:.18em}.blog-reader-panel h2,.blog-reader-panel h3,.blog-reader-panel p{color:inherit}.blog-reader-panel h2{margin:0;font-size:26px;line-height:1.2}.blog-reader-close{display:grid;width:42px;height:42px;padding:0;place-items:center;border:1px solid var(--reader-border);border-radius:14px;color:var(--reader-text);background:var(--reader-surface);cursor:pointer;transition:transform 160ms ease,background 160ms ease}.blog-reader-close:focus-visible,.blog-reader-close:hover{transform:rotate(8deg);background:rgba(109,168,255,.16);outline:2px solid color-mix(in srgb,var(--reader-accent),transparent 55%);outline-offset:2px}.blog-reader-panel-body{flex:1;overflow-y:auto;padding:20px 22px 28px;overscroll-behavior:contain}.blog-reader-empty,.blog-reader-signin{display:flex;min-height:390px;flex-direction:column;align-items:center;justify-content:center;text-align:center}.blog-reader-orbit{position:relative;display:grid;width:86px;height:86px;margin-bottom:24px;place-items:center;border:1px solid var(--reader-border);border-radius:30px;background:linear-gradient(145deg,rgba(109,168,255,.18),rgba(168,140,255,.2));box-shadow:0 18px 48px rgba(52,84,135,.16);font-size:39px}.blog-reader-orbit::before{position:absolute;inset:-10px;border:1px dashed color-mix(in srgb,var(--reader-accent),transparent 50%);border-radius:36px;content:"";animation:blog-reader-orbit 15s linear infinite}.blog-reader-empty h3,.blog-reader-signin h3{margin:0 0 10px;font-size:22px}.blog-reader-empty>p,.blog-reader-signin>p{max-width:330px;margin:0;color:var(--reader-muted);font-size:15px;line-height:1.65}.blog-reader-primary{display:inline-flex;min-height:48px;margin:24px 0 14px;padding:0 22px;align-items:center;justify-content:center;gap:10px;border:0;border-radius:16px;color:#fff;background:linear-gradient(120deg,#376eb9,#7158b5);box-shadow:0 12px 28px rgba(47,84,145,.28);font-size:15px;font-weight:750;cursor:pointer;transition:transform 170ms ease,box-shadow 170ms ease}.blog-reader-primary:focus-visible,.blog-reader-primary:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(47,84,145,.38);outline:2px solid color-mix(in srgb,var(--reader-accent),transparent 45%);outline-offset:3px}.blog-reader-signin .blog-reader-privacy-note{max-width:320px;font-size:12px;line-height:1.55}.blog-reader-data-actions a,.blog-reader-privacy-note a{color:var(--reader-accent);text-decoration:underline;text-underline-offset:2px}.blog-reader-account{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;padding:14px;border:1px solid var(--reader-border);border-radius:20px;background:var(--reader-surface)}.blog-reader-profile{display:flex;min-width:0;align-items:center;gap:12px}.blog-reader-profile img,.blog-reader-profile>span{display:grid;width:46px;height:46px;flex:0 0 46px;place-items:center;border:1px solid rgba(255,255,255,.65);border-radius:15px;background:linear-gradient(145deg,rgba(109,168,255,.2),rgba(168,140,255,.18));object-fit:cover;font-size:21px}.blog-reader-profile p{margin:0 0 2px;color:var(--reader-muted);font-size:12px}.blog-reader-profile h3{overflow:hidden;margin:0;font-size:16px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.blog-reader-secondary{min-height:36px;padding:0 13px;border:1px solid var(--reader-border);border-radius:12px;color:var(--reader-muted);background:0 0;cursor:pointer}.blog-reader-sync-toggle{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 22px;padding:12px 4px;cursor:pointer}.blog-reader-sync-toggle small,.blog-reader-sync-toggle strong{display:block}.blog-reader-sync-toggle strong{margin-bottom:3px;font-size:14px}.blog-reader-sync-toggle small{color:var(--reader-muted);font-size:12px;line-height:1.4}.blog-reader-sync-toggle input{position:absolute;opacity:0}.blog-reader-switch{position:relative;width:44px;height:25px;flex:0 0 44px;border:1px solid var(--reader-border);border-radius:20px;background:rgba(88,105,130,.28);transition:background 180ms ease}.blog-reader-switch::after{position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 2px 7px rgba(5,18,40,.25);content:"";transition:transform 180ms ease}.blog-reader-sync-toggle input:checked+.blog-reader-switch{background:linear-gradient(90deg,var(--reader-accent),var(--reader-accent-2))}.blog-reader-sync-toggle input:checked+.blog-reader-switch::after{transform:translateX(19px)}.blog-reader-sync-toggle input:focus-visible+.blog-reader-switch{outline:2px solid var(--reader-accent);outline-offset:3px}.blog-reader-history-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}.blog-reader-history-heading h3{margin:0;font-size:17px}.blog-reader-history-heading span{color:var(--reader-muted);font-size:12px}.blog-reader-history-list{display:grid;margin:0;padding:0;gap:10px;list-style:none}.blog-reader-history-item{position:relative;display:flex;align-items:stretch;border:1px solid var(--reader-border);border-radius:17px;background:var(--reader-surface);transition:transform 160ms ease,border-color 160ms ease}.blog-reader-history-item:hover{transform:translateX(-2px);border-color:color-mix(in srgb,var(--reader-accent),transparent 45%)}.blog-reader-history-item>a{min-width:0;flex:1;padding:13px 9px 12px 14px;color:var(--reader-text);text-decoration:none}.blog-reader-history-item>button{width:38px;flex:0 0 38px;border:0;border-left:1px solid var(--reader-border);border-radius:0 16px 16px 0;color:var(--reader-muted);background:0 0;cursor:pointer}.blog-reader-history-item>button:focus-visible,.blog-reader-history-item>button:hover{color:var(--reader-danger);background:color-mix(in srgb,var(--reader-danger),transparent 91%);outline:0}.blog-reader-history-title{display:block;overflow:hidden;margin-bottom:8px;font-size:14px;font-weight:700;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.blog-reader-history-meta{display:flex;justify-content:space-between;color:var(--reader-muted);font-size:11px}.blog-reader-history-progress{display:block;height:3px;margin-top:8px;overflow:hidden;border-radius:3px;background:rgba(108,130,164,.18)}.blog-reader-history-progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--reader-accent),var(--reader-accent-2))}.blog-reader-history-metrics{display:grid;margin-top:10px;gap:8px}.blog-reader-history-metric>span:first-child{display:flex;align-items:baseline;justify-content:space-between;color:var(--reader-muted);font-size:11px}.blog-reader-history-metric b{font-weight:600}.blog-reader-history-metric strong{color:var(--reader-text);font-size:12px}.blog-reader-history-metric .blog-reader-history-progress{margin-top:4px}.blog-reader-history-metric.is-mastery .blog-reader-history-progress>span{background:linear-gradient(90deg,#35c8b1,#68a8ff)}.blog-reader-plan-control{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 1.8rem;padding:15px 17px;border:1px solid rgba(76,119,190,.2);border-radius:18px;color:#1a2a43;background:radial-gradient(circle at 100% 0,rgba(151,105,238,.14),transparent 40%),rgba(244,249,255,.76);box-shadow:0 11px 30px rgba(33,72,128,.09),inset 0 1px 0 rgba(255,255,255,.65);backdrop-filter:blur(14px) saturate(125%);-webkit-backdrop-filter:blur(14px) saturate(125%)}.dark-mode .blog-reader-plan-control{color:#edf6ff;border-color:rgba(134,185,255,.2);background:radial-gradient(circle at 100% 0,rgba(147,111,240,.18),transparent 40%),rgba(14,28,50,.78);box-shadow:0 13px 34px rgba(0,9,28,.24),inset 0 1px 0 rgba(187,216,255,.08)}.blog-reader-plan-control::before{position:absolute;inset:0 auto 0 0;width:3px;border-radius:18px 0 0 18px;background:linear-gradient(180deg,#5a84f5,#9c6df0);content:"";transition:width 180ms ease}.blog-reader-plan-control.is-active::before{width:6px}.blog-reader-plan-control>div{min-width:0}.blog-reader-plan-control small,.blog-reader-plan-control strong,.blog-reader-plan-kicker{display:block}.blog-reader-plan-kicker{margin-bottom:3px;color:#5a7ee5;font-size:10px;font-weight:800;letter-spacing:.12em}.dark-mode .blog-reader-plan-kicker{color:#76bfff}.blog-reader-plan-control strong{color:inherit;font-size:14px;line-height:1.4}.blog-reader-plan-control small{margin-top:2px;color:#6b7b91;font-size:11px;line-height:1.45}.dark-mode .blog-reader-plan-control small{color:#9bacc2}.blog-reader-plan-control>button{min-height:40px;flex:0 0 auto;padding:0 14px;border:1px solid rgba(85,126,196,.26);border-radius:13px;color:#496fcf;background:rgba(255,255,255,.38);font-size:13px;font-weight:700;cursor:pointer;transition:color 180ms ease,border-color 180ms ease,transform 180ms ease,background 180ms ease}.dark-mode .blog-reader-plan-control>button{color:#89c8ff;background:rgba(82,118,169,.12)}.blog-reader-plan-control>button:focus-visible,.blog-reader-plan-control>button:hover{border-color:#668bf1;outline:0;transform:translateY(-2px)}.blog-reader-plan-control.is-active>button{color:#fff;border-color:transparent;background:linear-gradient(135deg,#5881ef,#986ce9);box-shadow:0 8px 20px rgba(72,91,181,.22)}.blog-reader-plan-control>button:disabled{cursor:wait;opacity:.58;transform:none}.blog-reader-plan-error{position:absolute;right:18px;bottom:-20px;margin:0!important;color:#c13f5c!important;font-size:11px!important}.blog-reader-chapter-checkpoint{--checkpoint-accent:#537ef4;--checkpoint-accent-2:#9b6cf2;--checkpoint-text:#172640;--checkpoint-muted:#697a91;--checkpoint-border:rgba(75, 116, 188, 0.24);--checkpoint-surface:rgba(244, 249, 255, 0.78);--mastery:50%;position:relative;margin:2rem 0 3rem;padding:16px 18px 18px;overflow:hidden;border:1px solid var(--checkpoint-border);border-radius:18px;color:var(--checkpoint-text);background:radial-gradient(circle at 100% 0,rgba(155,108,242,.16),transparent 36%),linear-gradient(135deg,var(--checkpoint-surface),rgba(238,244,255,.6));box-shadow:0 12px 32px rgba(36,74,132,.1),inset 0 1px 0 rgba(255,255,255,.7);backdrop-filter:blur(14px) saturate(125%);-webkit-backdrop-filter:blur(14px) saturate(125%);transition:border-color 220ms ease,box-shadow 220ms ease,transform 220ms ease}.dark-mode .blog-reader-chapter-checkpoint{--checkpoint-accent:#74bfff;--checkpoint-accent-2:#ad91ff;--checkpoint-text:#edf6ff;--checkpoint-muted:#9dacc2;--checkpoint-border:rgba(128, 181, 255, 0.23);--checkpoint-surface:rgba(14, 27, 49, 0.8);background:radial-gradient(circle at 100% 0,rgba(133,103,236,.2),transparent 38%),linear-gradient(135deg,var(--checkpoint-surface),rgba(17,30,54,.62));box-shadow:0 14px 36px rgba(0,9,27,.28),inset 0 1px 0 rgba(184,215,255,.08)}.blog-reader-chapter-checkpoint::before{position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,var(--checkpoint-accent),var(--checkpoint-accent-2));content:"";opacity:.72;transition:opacity 220ms ease,width 220ms ease}.blog-reader-chapter-checkpoint.is-completed{border-color:color-mix(in srgb,var(--checkpoint-accent),transparent 42%);box-shadow:0 15px 38px rgba(49,104,205,.16),0 0 26px rgba(109,147,255,.08)}.blog-reader-chapter-checkpoint.is-completed::before{width:5px;opacity:1}.blog-reader-checkpoint-controls,.blog-reader-checkpoint-heading,.blog-reader-mastery>span{display:flex;align-items:center;justify-content:space-between}.blog-reader-checkpoint-heading{gap:16px;margin-bottom:13px}.blog-reader-checkpoint-kicker{display:inline-flex;align-items:center;gap:7px;color:var(--checkpoint-accent);font-size:10px;font-weight:800;letter-spacing:.12em}.blog-reader-chapter-status{color:var(--checkpoint-muted);font-size:11px;white-space:nowrap}.blog-reader-checkpoint-controls{gap:24px}.blog-reader-chapter-check{display:flex;min-width:0;align-items:center;gap:11px;cursor:pointer}.blog-reader-chapter-check input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.blog-reader-checkmark{display:grid;width:32px;height:32px;flex:0 0 32px;place-items:center;border:1px solid var(--checkpoint-border);border-radius:10px;color:transparent;background:rgba(255,255,255,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.45);transition:color 180ms ease,background 180ms ease,transform 180ms ease}.blog-reader-chapter-check input:checked+.blog-reader-checkmark{color:#fff;background:linear-gradient(135deg,var(--checkpoint-accent),var(--checkpoint-accent-2));transform:rotate(-3deg) scale(1.04)}.blog-reader-chapter-check input:focus-visible+.blog-reader-checkmark{outline:2px solid var(--checkpoint-accent);outline-offset:3px}.blog-reader-chapter-check small,.blog-reader-chapter-check strong{display:block}.blog-reader-chapter-check strong{color:var(--checkpoint-text);font-size:14px;line-height:1.3}.blog-reader-chapter-check small{overflow:hidden;max-width:330px;margin-top:2px;color:var(--checkpoint-muted);font-size:11px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.blog-reader-mastery{width:min(250px,42%);flex:0 0 min(250px,42%)}.blog-reader-mastery>span{margin-bottom:7px;color:var(--checkpoint-muted);font-size:12px}.blog-reader-mastery strong{color:var(--checkpoint-text);font-size:13px}.blog-reader-mastery output{color:var(--checkpoint-accent);font-weight:800;font-variant-numeric:tabular-nums}.blog-reader-mastery input[type=range]{width:100%;height:5px;margin:0;border-radius:5px;appearance:none;-webkit-appearance:none;background:linear-gradient(90deg,var(--checkpoint-accent) 0,var(--checkpoint-accent-2) var(--mastery),rgba(111,130,157,.22) var(--mastery));cursor:pointer}.blog-reader-mastery input[type=range]::-webkit-slider-thumb{width:17px;height:17px;border:3px solid #fff;border-radius:50%;appearance:none;-webkit-appearance:none;background:var(--checkpoint-accent-2);box-shadow:0 2px 9px rgba(47,65,115,.35)}.blog-reader-mastery input[type=range]::-moz-range-thumb{width:12px;height:12px;border:3px solid #fff;border-radius:50%;background:var(--checkpoint-accent-2);box-shadow:0 2px 9px rgba(47,65,115,.35)}.blog-reader-mastery input[type=range]:focus-visible{outline:2px solid var(--checkpoint-accent);outline-offset:5px}.blog-reader-mastery-memory{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px;color:var(--checkpoint-muted);font-size:11px}.blog-reader-mastery-memory b{color:var(--checkpoint-accent);font-size:12px;font-variant-numeric:tabular-nums}.blog-reader-mastery-memory button{padding:2px 7px;border:1px solid var(--checkpoint-border);border-radius:8px;color:var(--checkpoint-accent);background:0 0;font-size:11px;cursor:pointer}.blog-reader-mastery-memory button:focus-visible,.blog-reader-mastery-memory button:hover{border-color:var(--checkpoint-accent);outline:0}.blog-reader-mastery-memory button:disabled{cursor:not-allowed;opacity:.46}.blog-reader-chapter-checkpoint.is-disabled .blog-reader-checkpoint-controls{opacity:.55}.blog-reader-chapter-checkpoint input:disabled,.blog-reader-chapter-checkpoint.is-disabled label{cursor:not-allowed}.blog-reader-data-actions{margin-top:22px;padding-top:16px;border-top:1px solid var(--reader-border);text-align:center}.blog-reader-data-actions button{border:0;color:var(--reader-danger);background:0 0;font-size:13px;cursor:pointer}.blog-reader-data-actions button:disabled{cursor:default;opacity:.42}.blog-reader-data-actions p{margin:8px auto 0;color:var(--reader-muted);font-size:11px}.blog-reader-empty{min-height:260px;padding:24px;border:1px dashed var(--reader-border);border-radius:22px;background:var(--reader-surface)}.blog-reader-empty>i{margin-bottom:16px;color:var(--reader-accent);font-size:31px}.blog-reader-unavailable{min-height:390px}.blog-reader-error{margin:12px 0;padding:10px 12px;border:1px solid color-mix(in srgb,var(--reader-danger),transparent 70%);border-radius:12px;color:var(--reader-danger)!important;background:color-mix(in srgb,var(--reader-danger),transparent 92%);font-size:12px;line-height:1.5}.blog-reader-loading{display:flex;min-height:160px;align-items:center;justify-content:center;gap:8px}.blog-reader-loading span{width:8px;height:8px;border-radius:50%;background:var(--reader-accent);animation:blog-reader-loading .8s ease-in-out infinite alternate}.blog-reader-loading span:nth-child(2){animation-delay:120ms}.blog-reader-loading span:nth-child(3){animation-delay:240ms}.blog-reader-panel-open{overflow:hidden}@keyframes blog-reader-orbit{to{transform:rotate(360deg)}}@keyframes blog-reader-loading{to{transform:translateY(-7px);opacity:.5}}@keyframes blog-reader-pulse{to{transform:scale(1.32);box-shadow:0 0 0 5px rgba(92,224,172,.14)}}@media (max-width:640px){.blog-reader-trigger{right:14px;bottom:142px;width:48px;height:48px;border-radius:16px}.blog-reader-panel{top:8px;right:8px;bottom:8px;width:calc(100vw - 16px);border-radius:23px}.blog-reader-panel-header{padding:20px 18px 15px}.blog-reader-panel-body{padding:16px 16px 24px}.blog-reader-chapter-checkpoint{margin:1.6rem 0 2.5rem;padding:15px}.blog-reader-plan-control{align-items:stretch;flex-direction:column}.blog-reader-plan-control>button{width:100%}.blog-reader-checkpoint-controls{align-items:stretch;flex-direction:column;gap:15px}.blog-reader-mastery{width:100%;flex-basis:auto}.blog-reader-chapter-check small{max-width:calc(100vw - 120px)}}@media (prefers-reduced-motion:reduce){.blog-reader-backdrop,.blog-reader-chapter-checkpoint,.blog-reader-checkmark,.blog-reader-loading span,.blog-reader-orbit::before,.blog-reader-panel,.blog-reader-trigger,.blog-reader-trigger-status{animation:none!important;transition-duration:1ms!important}}