#reading-progress{position:fixed;top:var(--sticky-header-height,var(--header-height,60px));left:0;width:0%;height:2px;background:var(--progress-gradient,linear-gradient(90deg,#6366f1,#a78bfa));z-index:200;transition:width .12s linear,background .5s ease,opacity .3s ease;pointer-events:none;opacity:0;border-radius:0 2px 2px 0;box-shadow:0 0 6px 1px var(--progress-glow,rgba(99,102,241,.6))}#reading-progress.visible{opacity:1}:root{--progress-gradient:linear-gradient(90deg, #6366f1, #a78bfa);--progress-glow:rgba(99, 102, 241, 0.55)}.dark{--progress-gradient:linear-gradient(90deg, #38bdf8, #818cf8, #c084fc);--progress-glow:rgba(56, 189, 248, 0.5)}.section-latest{display:flex;align-items:center;overflow:hidden;gap:8px;margin-top:16px}.section-latest a{flex:none;width:max-content;max-width:100%;overflow:hidden;padding:6px 12px;border:1px solid var(--border);border-radius:999px;color:var(--primary);background:var(--entry);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.section-latest a[hidden]{display:none}.section-latest a:hover,.section-latest a:focus-visible{border-color:var(--accent);color:var(--accent)}.code-block-wrap{margin:10px 0;overflow:hidden;border:1px solid var(--code-block-border,var(--border));border-radius:var(--radius);background:var(--code-block-bg)}.post-content .code-block-wrap .highlight:not(table){position:relative;margin:0;border:0;border-radius:0}.code-block-wrap.collapsed .highlight::after{content:"";position:absolute;inset-inline:0;bottom:0;height:72px;background:linear-gradient(transparent,var(--code-block-bg));pointer-events:none}.code-collapse-btn{display:block;width:100%;padding:9px 14px;border:0;border-top:1px solid var(--code-block-border,rgba(255,255,255,.1));background:var(--code-block-bg);color:#b8bdc8;font-family:inherit;font-size:12px;font-weight:500;cursor:pointer;text-align:center;transition:background-color .18s ease,color .18s ease;user-select:none}.code-collapse-btn:hover,.code-collapse-btn:focus-visible{background:#30333d;color:#fff}.code-block-wrap.collapsed .highlight pre{max-height:210px;overflow:hidden}.code-block-wrap:not(.collapsed) .highlight pre{max-height:none;overflow:auto}.code-block-wrap:not(.collapsed) pre code{max-height:none}.giscus{margin-top:48px}.header{transition:box-shadow .3s ease,background .3s ease,backdrop-filter .3s ease}.header.scrolled{--header-height:52px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.header.scrolled .nav{line-height:52px}@media screen and (max-width:768px){.header.scrolled .nav{line-height:1.4}}.search-shortcut{display:inline-flex;align-items:center;gap:3px;font-size:11px;color:var(--secondary);position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;opacity:1;transition:opacity .18s ease}.search-shortcut kbd{display:inline-block;padding:1px 5px;background:var(--tertiary);border:1px solid var(--border);border-bottom-width:2px;border-radius:4px;font-size:10px;font-family:inherit;line-height:1.6;box-shadow:0 1px rgba(0,0,0,.12)}.post-content blockquote{position:relative}.post-content blockquote::before{content:'\201C';position:absolute;top:-8px;left:8px;font-size:48px;line-height:1;color:var(--accent);opacity:.25;font-family:Georgia,serif;pointer-events:none;user-select:none}.post-content blockquote.bq-tip{border-left-color:#3db88a;background:rgba(61,184,138,8%)}.post-content blockquote.bq-note{border-left-color:var(--accent);background:var(--accent-soft)}.post-content blockquote.bq-warn{border-left-color:#e8855a;background:rgba(232,133,90,8%)}.bq-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:10px;margin-bottom:8px;margin-top:0;width:fit-content}.bq-badge-tip{background:rgba(61,184,138,.18);color:#2a9d6a}.bq-badge-note{background:var(--accent-soft);color:var(--accent)}.bq-badge-warn{background:rgba(232,133,90,.18);color:#c0622e}#lightbox-overlay{position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:9000;display:none;align-items:center;justify-content:center;cursor:zoom-out;backdrop-filter:blur(4px);animation:lbFadeIn .2s ease}#lightbox-overlay.open{display:flex}@keyframes lbFadeIn{from{opacity:0}to{opacity:1}}#lightbox-img{max-width:90vw;max-height:88vh;border-radius:var(--radius);box-shadow:0 20px 80px rgba(0,0,0,.8);animation:lbZoomIn .22s ease;object-fit:contain}@keyframes lbZoomIn{from{transform:scale(.88);opacity:0}to{transform:scale(1);opacity:1}}@keyframes lbSlideLeft{from{transform:translateX(40px)scale(.96);opacity:0}to{transform:translateX(0)scale(1);opacity:1}}@keyframes lbSlideRight{from{transform:translateX(-40px)scale(.96);opacity:0}to{transform:translateX(0)scale(1);opacity:1}}#lightbox-img.slide-left{animation:lbSlideLeft .2s ease}#lightbox-img.slide-right{animation:lbSlideRight .2s ease}#lightbox-prev,#lightbox-next{position:fixed;top:50%;transform:translateY(-50%);font-size:28px;color:rgba(255,255,255,.7);cursor:pointer;padding:10px 16px;border-radius:50%;background:rgba(255,255,255,8%);transition:background .15s ease,color .15s ease,opacity .15s ease;user-select:none;z-index:9001;opacity:0}#lightbox-prev{left:20px}#lightbox-next{right:20px}#lightbox-overlay.open #lightbox-prev,#lightbox-overlay.open #lightbox-next{opacity:1}#lightbox-prev:hover,#lightbox-next:hover{background:rgba(255,255,255,.18);color:#fff}#lightbox-prev.hidden,#lightbox-next.hidden{opacity:0;pointer-events:none}#lightbox-close{background:0 0;border:0;position:fixed;top:20px;right:24px;font-size:28px;color:rgba(255,255,255,.8);cursor:pointer;line-height:1;transition:transform .15s ease,color .15s ease;user-select:none}#lightbox-close:hover{transform:scale(1.15);color:#fff}.post-content img:not(.link img){cursor:zoom-in}.footer-quote{font-size:12px;color:var(--secondary);font-style:italic;opacity:.75;margin-top:4px;transition:opacity .4s ease;cursor:pointer;user-select:none}.footer-quote:hover{opacity:1}.flip-digit{display:inline-block;min-width:1.1ch;text-align:center;transition:transform .15s ease,opacity .15s ease}.flip-digit.flip{animation:flipNum .3s ease}@keyframes flipNum{0%{transform:translateY(-6px);opacity:0}100%{transform:translateY(0);opacity:1}}#rocket-back-top{position:fixed;right:28px;bottom:32px;width:44px;height:44px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;box-shadow:0 4px 18px rgba(0,0,0,.22);z-index:500;opacity:0;transform:translateY(12px)scale(.85);transition:opacity .28s ease,transform .28s ease;pointer-events:none;user-select:none}#rocket-back-top svg{width:28px;height:28px}#rocket-back-top .rocket-body,#rocket-back-top .rocket-fin,#rocket-back-top .rocket-nozzle{fill:currentColor}#rocket-back-top .rocket-window{fill:var(--accent)}#rocket-back-top .rocket-flame{fill:#ffd27a;transform-origin:16px 22px;transition:transform .2s ease}#rocket-back-top.visible{opacity:1;transform:translateY(0)scale(1);pointer-events:auto}#rocket-back-top:hover{filter:brightness(1.15);transform:translateY(-3px)scale(1.08)}#rocket-back-top:hover .rocket-flame{transform:scaleY(1.15)}#rocket-back-top:focus-visible{outline:2px solid var(--primary);outline-offset:3px}#rocket-back-top.launching{opacity:1;transform:none;animation:launch-pad .28s ease-out forwards;pointer-events:none}#rocket-back-top.launching svg{animation:rocket-flight 1.15s cubic-bezier(.55,0,1,.45)forwards}#rocket-back-top.launching .rocket-body,#rocket-back-top.launching .rocket-fin,#rocket-back-top.launching .rocket-nozzle{stroke:var(--accent);stroke-width:1.2;stroke-linejoin:round}#rocket-back-top.launching .rocket-flame{animation:rocket-thrust .18s ease-in-out infinite alternate}#rocket-back-top.launching::before,#rocket-back-top.launching::after{content:'';position:absolute;bottom:3px;width:14px;height:14px;border-radius:50%;background:var(--secondary);opacity:0;pointer-events:none}#rocket-back-top.launching::before{left:9px;animation:rocket-smoke-left .65s ease-out .18s both}#rocket-back-top.launching::after{right:9px;animation:rocket-smoke-right .65s ease-out .18s both}@keyframes launch-pad{to{background:0 0;box-shadow:none}}@keyframes rocket-flight{0%{transform:translateY(0)scale(1)}18%{transform:translateY(3px)scale(.98)}36%{transform:translateY(-10px)scale(1.02)}100%{transform:translateY(-115vh)scale(.72)}}@keyframes rocket-thrust{from{transform:scaleY(.8)}to{transform:scaleY(1.7)}}@keyframes rocket-smoke-left{20%{opacity:.45}to{opacity:0;transform:translate(-22px,12px)scale(2.2)}}@keyframes rocket-smoke-right{20%{opacity:.45}to{opacity:0;transform:translate(22px,12px)scale(2.2)}}@media(prefers-reduced-motion:reduce){#rocket-back-top{transition:none}#rocket-back-top.launching,#rocket-back-top.launching svg,#rocket-back-top.launching .rocket-flame,#rocket-back-top.launching::before,#rocket-back-top.launching::after{animation:none}#rocket-back-top .rocket-flame{transition:none}}.paginav-cards{display:flex;gap:16px;margin:40px 0 0;flex-wrap:wrap}.paginav-card{flex:1;min-width:220px;position:relative;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius);background:var(--entry);overflow:hidden;text-decoration:none!important;transition:transform .2s ease,box-shadow .2s ease}.paginav-card:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(0,0,0,.14)}.paginav-card-bar{height:4px;width:100%;flex-shrink:0}.paginav-bar-know{background:linear-gradient(90deg,var(--accent),#a78bfa)}.paginav-bar-journal{background:linear-gradient(90deg,#e8855a,#f5c87a)}.paginav-bar-cases{background:linear-gradient(90deg,#3db88a,#5dd6b0)}.paginav-card-bar:not([class*=paginav-bar-know]):not([class*=paginav-bar-journal]):not([class*=paginav-bar-cases]){background:linear-gradient(90deg,var(--accent),var(--accent));opacity:.6}.paginav-card-inner{display:flex;flex-direction:column;gap:4px;padding:14px 18px 16px}.paginav-card-dir{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--secondary);margin-bottom:2px}.paginav-next .paginav-card-dir{justify-content:flex-end}.paginav-card-section{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:2px 6px;border-radius:4px;width:fit-content}.paginav-section-know{background:var(--accent-soft);color:var(--accent)}.paginav-section-journal{background:rgba(232,133,90,.13);color:#c0622e}.paginav-section-cases{background:rgba(61,184,138,.13);color:#2a9d6a}.paginav-section-know:is([class]),.paginav-section-journal:is([class]),.paginav-section-cases:is([class]){}.paginav-card-title{font-size:14px;font-weight:600;color:var(--primary);line-height:1.4;margin-top:2px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;transition:color .15s ease}.paginav-card:hover .paginav-card-title{color:var(--accent)}.paginav-card-summary{font-size:12px;color:var(--secondary);line-height:1.5;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px}.paginav-next .paginav-card-inner{align-items:flex-end;text-align:right}.paginav-next .paginav-card-section{align-self:flex-end}