:root{color-scheme:light;--color-page:#ffffff;--color-rail:#f9fafb;--color-text:#0f1115;--color-text-soft:#3f444b;--color-text-muted:#81858c;--color-text-faint:#9a9ea5;--color-blue:#4176e6;--color-blue-hover:#315fca;--color-blue-soft:#edf3fe;--color-blue-soft-strong:#e1ecfd;--color-selected:rgba(38, 49, 72, 0.06);--color-hover:rgba(38, 49, 72, 0.045);--color-line:rgba(15, 17, 21, 0.1);--color-line-soft:rgba(15, 17, 21, 0.065);--color-line-strong:rgba(15, 17, 21, 0.15);--color-code:#f5f7fa;--color-green:#36a762;--color-purple:#886bae;--color-amber:#a76b18;--color-red:#b94b4b;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", monospace;--rail-width:280px;--rail-collapsed-width:76px;--topbar-height:56px;--reading-width:900px;--radius-xs:6px;--radius-sm:8px;--radius-md:10px;--radius-lg:12px;--radius-xl:16px;--radius-bubble:20px;--radius-pill:999px;--shadow-soft:0 1px 2px rgba(16, 24, 40, 0.035);--shadow-raised:0 8px 24px rgba(16, 24, 40, 0.075);--shadow-drawer:16px 0 40px rgba(16, 24, 40, 0.1);--ease-out:cubic-bezier(0.22, 1, 0.36, 1);--transition-fast:140ms ease;--transition-base:220ms var(--ease-out)}*,*::before,*::after{box-sizing:border-box}html{min-width:280px;scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-height:100vh;background:var(--color-page);color:var(--color-text);font-family:var(--font-sans);font-size:15px;line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.sidebar-open{overflow:hidden}h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}ul,ol{margin:0;padding:0}h1,h2,h3,h4,h5,h6{color:var(--color-text);font-weight:620;line-height:1.3;letter-spacing:-.018em}a{color:var(--color-blue);text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:.17em;text-decoration-color:rgba(65,118,230,.32);transition:color var(--transition-fast),text-decoration-color var(--transition-fast)}a:hover{color:var(--color-blue-hover);text-decoration-color:initial}img,picture,svg,video{max-width:100%}img{height:auto}button,input,textarea,select{color:inherit;font:inherit}button{border:0;background:0 0;cursor:pointer}button:disabled{cursor:not-allowed}[hidden]{display:none!important}::selection{background:rgba(65,118,230,.18);color:var(--color-text)}:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}main:focus{outline:none}.icon{display:inline-block;flex:none;vertical-align:-.14em}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;top:12px;left:12px;z-index:200;padding:9px 14px;border-radius:var(--radius-sm);background:var(--color-text);color:#fff;font-size:13px;font-weight:560;text-decoration:none;transform:translateY(-160%);transition:transform var(--transition-fast)}.skip-link:focus-visible{color:#fff;transform:translateY(0)}.no-js .js-only{display:none!important}.js .nojs-only{display:none!important}.no-js [data-sidebar-collapse],.no-js [data-sidebar-close],.no-js [data-sidebar-menu]{display:none!important}.no-js .article-index__views{display:none!important}body,.site-body,.main-content,.reading-column{min-width:0}.main-content,.article-prose{overflow-wrap:break-word}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.topbar--article .topbar__trailing{position:absolute;top:4px;right:20px;display:flex;align-items:center;gap:4px;height:34px}.topbar--home-comments .topbar__trailing{position:absolute;top:11px;right:20px;display:flex;align-items:center;height:34px}.topbar__comments{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:8px;color:var(--color-text-muted);transition:background var(--transition-fast),color var(--transition-fast)}.topbar__comments:hover{background:var(--color-hover);color:var(--color-text)}.topbar__comments[aria-expanded=true]{background:var(--color-blue-soft);color:var(--color-blue)}.topbar__comments .icon{width:17px;height:17px}.no-js .topbar__comments,.no-js .comments-panel,.no-js .comments-panel__backdrop{display:none!important}.topbar--article .topbar__leading,.topbar--home-comments .topbar__leading{padding-right:42px}.comments-panel{position:fixed;top:var(--comments-panel-top,calc(var(--topbar-height) + 24px));right:16px;bottom:calc(var(--comment-dock-space,150px) + 10px);z-index:48;display:flex;width:min(382px,calc(100vw - 32px));min-height:0;overflow:hidden;border:1px solid var(--color-line);border-radius:18px;background:#fff;box-shadow:0 1px 2px rgba(16,24,40,3%),0 18px 50px rgba(16,24,40,.14);animation:comments-panel-in 180ms var(--ease-out)}.comments-panel__sheet{display:flex;flex:auto;flex-direction:column;min-width:0;min-height:0}.comments-panel__head{display:flex;flex:none;align-items:flex-start;justify-content:space-between;gap:10px;padding:13px 14px 11px;border-bottom:1px solid var(--color-line-soft)}.comments-panel__heading{display:flex;align-items:flex-start;gap:9px;min-width:0}.comments-panel__mark{display:inline-flex;flex:none;align-items:center;justify-content:center;width:30px;height:30px;margin-top:1px;border-radius:50%;background:var(--color-blue-soft);color:var(--color-blue)}.comments-panel__mark .icon{width:15px;height:15px}.comments-panel__heading-copy{min-width:0}.comments-panel__title{font-size:14px;font-weight:630;letter-spacing:-.015em;line-height:1.35}.comments-panel__count{margin-top:1px;color:var(--color-text-faint);font-size:10.5px;line-height:1.45}.comments-panel__actions{display:flex;flex:none;align-items:center;gap:8px}.comments-panel__pin,.comments-panel__close{display:inline-flex;flex:none;align-items:center;justify-content:center;width:30px;height:30px;margin:-2px -3px 0 0;border-radius:8px;color:var(--color-text-muted);transition:background var(--transition-fast),color var(--transition-fast)}.comments-panel__pin:hover,.comments-panel__close:hover{background:var(--color-hover);color:var(--color-text)}.comments-panel__pin[aria-pressed=true]{background:var(--color-blue);color:#fff}.comments-panel__pin .icon,.comments-panel__close .icon{width:15px;height:15px}.comments-panel__scroll{flex:auto;min-height:0;padding:11px 12px 13px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.comments-panel__backdrop{position:fixed;inset:0;z-index:44;background:rgba(15,17,21,.2);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.comments__loading{display:grid;gap:8px}.comment-skeleton{display:flex;align-items:flex-start;gap:10px;padding:13px;overflow:hidden;border:1px solid var(--color-line-soft);border-radius:15px;background:#fff}.comment-skeleton__avatar{width:29px;height:29px;flex:none;border-radius:50%;background:#f0f2f5;animation:comment-skeleton-pulse 1.6s ease-in-out infinite}.comment-skeleton__lines{display:grid;flex:auto;gap:7px;padding-top:2px}.comment-skeleton__lines i{display:block;width:92%;height:7px;border-radius:4px;background:#f2f4f7;animation:comment-skeleton-pulse 1.6s ease-in-out infinite}.comment-skeleton__lines i:nth-child(2){width:66%}.comment-skeleton__lines i:nth-child(3){width:81%}.comments__state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:176px;padding:22px 18px;border:1px dashed var(--color-line);border-radius:15px;background:#fbfcfd;text-align:center}.comments__state-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#f0f3f7;color:var(--color-text-muted)}.comments__state-icon .icon{width:16px;height:16px}.comments__state--error .comments__state-icon{background:#fdf3f3;color:var(--color-red)}.comments__state-title{margin-top:8px;color:var(--color-text-soft);font-size:12.5px;font-weight:590}.comments__state-copy{max-width:34ch;margin-top:4px;color:var(--color-text-faint);font-size:11px;line-height:1.65}.comments__retry{display:inline-flex;align-items:center;gap:5px;min-height:34px;margin-top:10px;padding:6px 11px;border:1px solid var(--color-line);border-radius:8px;background:#fff;color:var(--color-text-soft);font-size:11.5px;font-weight:540;transition:border-color var(--transition-fast),background var(--transition-fast)}.comments__retry:hover{border-color:var(--color-line-strong);background:var(--color-rail)}.comments__retry .icon{width:12px;height:12px}@keyframes comments-panel-in{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}@media(prefers-reduced-motion:reduce){.comments-panel{animation:none}.comment-skeleton__avatar,.comment-skeleton__lines i{animation:none!important}}@media(max-width:780px){body.comments-panel-open{overflow:hidden}.topbar--article .topbar__trailing{display:flex;top:3px;right:10px}.topbar--home-comments .topbar__trailing{right:10px}.topbar__comments{width:34px;height:34px}.comments-panel{right:8px;left:8px;width:auto;max-width:none;border-radius:16px;animation:none}.comments-panel__scroll{padding-inline:10px}}@media(max-width:520px){.comments-panel{right:0;left:0;border-right:0;border-left:0;border-radius:0}.comments-panel__head{padding:12px 13px 10px}.comments-panel__pin,.comments-panel__close{width:34px;height:34px}}.account.account--interactive{align-items:center;gap:9px;min-width:0;padding:5px 4px}.account--interactive .account__icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none;margin-top:1px;overflow:hidden;border:1px solid var(--color-line-soft);border-radius:50%;background:#f1f3f6;color:#6c7179}.account--interactive .account__icon--guest{background:#f1f3f6;color:#6c7179}.account--interactive .account__icon .icon{width:16px;height:16px}.account__avatar{width:100%;height:100%;border-radius:50%;object-fit:cover}.account__avatar-fallback{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--color-blue-soft);color:var(--color-blue);font-size:11px;font-weight:650;line-height:1;text-transform:uppercase}.account--interactive .account__copy{flex:auto;gap:1px;min-width:0;padding-top:1px}.account--interactive .account__status{display:block;max-width:100%;overflow:hidden;color:var(--color-text-soft);font-size:11.5px;font-weight:570;text-overflow:ellipsis;white-space:nowrap}.account--interactive .account__hint{display:block;max-width:100%;margin-top:1px;font-size:10px;line-height:1.45;white-space:normal}.account__signin{display:inline-flex;min-width:0;color:var(--color-text-muted);font-size:10.5px;text-decoration:none}.account__signin:hover{color:var(--color-blue);text-decoration:underline;text-underline-offset:2px}.account__meta-line{display:flex;flex-wrap:wrap;align-items:center;gap:2px 5px;min-width:0;color:var(--color-text-faint);font-size:10px;line-height:1.45}.account__profile{overflow:hidden;max-width:100%;color:var(--color-text-muted);font-size:10px;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.account__profile:hover{color:var(--color-blue);text-decoration:underline}.account__logout{min-height:24px;margin:-5px -4px -4px;padding:3px 4px;border-radius:5px;color:var(--color-text-faint);font-size:10px;line-height:1.4;transition:background var(--transition-fast),color var(--transition-fast)}.account__logout:hover{background:var(--color-hover);color:var(--color-red)}.account__logout:disabled{opacity:.6}.account--interactive .account__status.is-error{color:var(--color-red)}.message-action.is-active,.message-action.is-active:hover:not(:disabled){background:var(--color-blue-soft);color:var(--color-blue)}.message-action.is-active .message-action__count{color:var(--color-blue)}.message-action[aria-busy=true]{opacity:.62}.comments__list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.comments__item{min-width:0;list-style:none}.comment-card{position:relative;isolation:isolate;min-width:0;padding:14px 14px 13px;overflow:hidden;border:1px solid rgba(15,17,21,.075);border-radius:16px;background:#fff;box-shadow:0 3px 14px rgba(16,24,40,.025)}.comment-card>*:not(.comment-card__effect){position:relative;z-index:1}.comment-card__head{display:flex;align-items:flex-start;gap:9px;min-width:0}.comment-card__avatar-wrap{position:relative;display:inline-flex;flex:none;align-items:center;justify-content:center;width:30px;height:30px;overflow:hidden;border:1px solid var(--color-line-soft);border-radius:50%;background:var(--color-blue-soft);color:var(--color-blue);font-size:11px;font-weight:650;line-height:1;text-transform:uppercase}.comment-card__avatar{width:100%;height:100%;object-fit:cover}.comment-card__avatar-fallback{display:inline-flex;align-items:center;justify-content:center}.comment-card__identity{min-width:0;padding-top:1px}.comment-card__byline{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 7px;min-width:0;line-height:1.4}.comment-card__author{overflow:hidden;max-width:100%;color:var(--color-text);font-size:12.5px;font-weight:620;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.comment-card__author:hover{color:var(--color-blue);text-decoration:underline}.comment-card__nickname{overflow:hidden;max-width:100%;color:var(--color-text-faint);font-size:10.5px;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.comment-card__nickname:hover{color:var(--color-text-muted);text-decoration:underline}.comment-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:3px 7px;margin-top:3px;color:var(--color-text-faint);font-size:10.5px;line-height:1.5}.comment-card__time{white-space:nowrap}.comment-card__badge{display:inline-flex;align-items:center;gap:3px;min-height:18px;padding:1px 6px;border:1px solid var(--color-line-soft);border-radius:var(--radius-pill);background:#fbfcfd;color:var(--color-text-muted);font-size:10px;line-height:1.4;white-space:nowrap}.comment-card__badge--filter{border-color:rgba(167,107,24,.16);background:#fffaf0;color:#8a6327}.comment-card__badge--effect{border-color:rgba(65,118,230,.12);background:rgba(237,243,254,.72);color:#5574a6}.comment-card__quote{margin:10px 0 0;padding:8px 10px 8px 11px;border:0;border-left:2px solid rgba(65,118,230,.36);border-radius:0 9px 9px 0;background:rgba(237,243,254,.5)}.comment-card__quote-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 8px}.comment-card__quote-label{color:#4d6b9e;font-size:9.5px;font-weight:620;letter-spacing:.02em;line-height:1.5;text-transform:uppercase}.comment-card__quote-status{flex:1 1 120px;color:var(--color-text-faint);font-size:9.5px;line-height:1.5;text-align:right;overflow-wrap:anywhere;white-space:normal}.comment-card__quote-text{max-height:5.6em;margin:3px 0 0;overflow-y:auto;color:var(--color-text-soft);font-size:11.5px;line-height:1.58;overflow-wrap:anywhere;white-space:pre-wrap}.comment-card__quote-view{display:inline-flex;align-items:center;min-height:24px;margin:4px 0 -2px -3px;padding:2px 4px;border-radius:5px;color:var(--color-blue);font-size:10px;text-decoration:underline;text-decoration-color:rgba(65,118,230,.28);text-underline-offset:2px}.comment-card__quote-view:hover{background:rgba(65,118,230,7%);text-decoration-color:initial}.comment-card__body{min-width:0;margin:9px 0 0;color:var(--color-text-soft);font-size:13.5px;line-height:1.7;overflow-wrap:anywhere}.comment-card__body>:first-child{margin-top:0}.comment-card__body>:last-child{margin-bottom:0}.comment-card__body p{margin:0 0 .7em}.comment-card__body p:last-child{margin-bottom:0}.comment-card__body strong{color:var(--color-text);font-weight:620}.comment-card__body em{font-style:italic}.comment-card__body a{text-decoration-color:rgba(65,118,230,.28);overflow-wrap:anywhere}.comment-card__body code{padding:.12em .36em;border:1px solid var(--color-line-soft);border-radius:5px;background:var(--color-rail);font-family:var(--font-mono);font-size:.88em;overflow-wrap:anywhere}.comment-card__body pre{max-width:100%;margin:.65em 0;padding:10px 11px;overflow-x:auto;border:1px solid var(--color-line-soft);border-radius:10px;background:#f7f8fa;line-height:1.55;-webkit-overflow-scrolling:touch}.comment-card__body pre code{padding:0;border:0;border-radius:0;background:0 0;font-size:11.5px;overflow-wrap:normal;white-space:pre}.comment-card__body blockquote{margin:.65em 0;padding:2px 0 2px 11px;border-left:2px solid rgba(65,118,230,.25);color:var(--color-text-muted)}.comment-card__body ul,.comment-card__body ol{margin:.55em 0;padding-left:1.35em}.comment-card__body li+li{margin-top:.18em}.comment-card__body img{display:block;max-width:100%;height:auto;margin:.7em 0;border:1px solid var(--color-line-soft);border-radius:9px}.comment-card__effect{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.comment-card[data-effect=subtle] .comment-card__effect::before,.comment-card[data-effect=strong] .comment-card__effect::before{position:absolute;inset:-40% -20%;content:"";background:radial-gradient(ellipse at 16% 32%,rgba(83,126,232,.14),transparent 34%),radial-gradient(ellipse at 82% 74%,rgba(146,109,200,.11),transparent 38%),linear-gradient(110deg,rgba(237,243,254,.28),rgba(255,255,255,0) 54%,rgba(244,238,252,.28));transform:translate3d(-3%,-2%,0)rotate(-2deg);animation:comment-aurora 16s ease-in-out infinite alternate}.comment-card[data-effect=strong] .comment-card__effect::before{opacity:1;background:radial-gradient(ellipse at 12% 28%,rgba(83,126,232,.2),transparent 35%),radial-gradient(ellipse at 86% 76%,rgba(146,109,200,.16),transparent 40%),linear-gradient(110deg,rgba(237,243,254,.4),rgba(255,255,255,0) 50%,rgba(244,238,252,.4));animation-duration:10s}.comment-card[data-effect=subtle] .comment-card__effect::after,.comment-card[data-effect=strong] .comment-card__effect::after{position:absolute;top:-1px;right:18px;left:18px;height:1px;content:"";background:linear-gradient(90deg,transparent,rgba(65,118,230,.18),transparent)}.comment-effect__particle{position:absolute;width:4px;height:4px;border-radius:50%;background:rgba(84,126,226,.26);filter:blur(.2px);animation:comment-particle-drift 9s ease-in-out infinite}.comment-card[data-effect=strong] .comment-effect__particle{width:5px;height:5px;background:rgba(84,126,226,.35);animation-duration:6.5s}.comment-effect__particle:nth-child(1){top:21%;left:9%}.comment-effect__particle:nth-child(2){top:68%;right:11%;width:3px;height:3px;animation-delay:-2.4s}.comment-effect__particle:nth-child(3){top:16%;right:24%;width:3px;height:3px;animation-delay:-5s}.comment-effect__particle:nth-child(4){bottom:13%;left:23%;animation-delay:-3.2s}.comment-composer{position:relative;width:100%;margin:0;padding:8px 10px 7px;border:1px solid rgba(15,17,21,.12);border-radius:24px;background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.025),0 10px 30px rgba(16,24,40,.055);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.comment-composer:focus-within{border-color:rgba(65,118,230,.3);box-shadow:0 1px 2px rgba(16,24,40,.025),0 12px 34px rgba(16,24,40,6%),0 0 0 3px rgba(65,118,230,.055)}.comment-composer.is-scope-menu-open:focus-within{border-color:rgba(15,17,21,.12);box-shadow:0 1px 2px rgba(16,24,40,.025),0 10px 30px rgba(16,24,40,.055)}.comment-composer__field{min-width:0}.comment-composer__input{display:block;width:100%;min-height:38px;max-height:min(150px,22vh);padding:4px 5px 2px;overflow-y:auto;border:0;border-radius:10px;outline:none;background:0 0;color:var(--color-text);font-size:14.5px;line-height:1.55;resize:none}.comment-composer__input::placeholder{color:var(--color-text-faint)}.comment-composer__input:disabled{color:var(--color-text-muted);cursor:not-allowed}.comment-composer__quote{display:flex;align-items:flex-start;gap:6px;min-width:0;margin:2px 4px 4px;padding:6px 7px 6px 9px;border:1px solid rgba(65,118,230,.12);border-radius:10px;background:#f7f9fd}.comment-composer__quote-main{flex:auto;min-width:0}.comment-composer__quote-label{display:inline-flex;align-items:center;gap:4px;color:#4d6b9e;font-size:9.5px;font-weight:620;letter-spacing:.02em;line-height:1.4;text-transform:uppercase}.comment-composer__quote-label .icon{width:11px;height:11px}.comment-composer__quote-text{max-height:4.6em;margin:2px 0 0;overflow-y:auto;color:var(--color-text-muted);font-size:11.5px;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}.comment-composer__quote-remove{display:inline-flex;flex:none;align-items:center;justify-content:center;width:24px;height:24px;margin-top:-2px;border-radius:6px;color:var(--color-text-faint)}.comment-composer__quote-remove:hover{background:var(--color-hover);color:var(--color-text-soft)}.comment-composer__bar{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;margin-top:3px}.comment-composer__bar-left,.comment-composer__bar-right{display:flex;align-items:center;gap:3px;min-width:0}.comment-composer__bar-right{flex:none;margin-left:auto}.comment-composer__attach{display:inline-flex;flex:none;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid transparent;border-radius:var(--radius-pill);color:var(--color-text-muted);transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.comment-composer__attach:hover:not(:disabled){border-color:var(--color-line-soft);background:var(--color-rail);color:var(--color-text-soft)}.comment-composer__attach:disabled{opacity:.4}.comment-composer__attach .icon{width:17px;height:17px}.comment-composer__scope{position:relative;display:inline-flex;align-items:center;min-width:110px;max-width:168px;border:1px solid var(--color-line-soft);border-radius:8px;background:var(--color-rail)}.comment-composer__scope:hover,.comment-composer__scope:focus-within{background:#f2f4f7}.comment-composer__scope[data-scope-open=true]{border-top-color:transparent;border-radius:0 0 8px 8px;background:#fff}.comments__scope-toggle{display:inline-flex;flex:auto;align-items:center;justify-content:space-between;gap:5px;min-width:0;min-height:30px;padding:4px 4px 4px 8px;border:0;border-radius:0 0 0 8px;color:var(--color-text-muted);font-size:12px;line-height:1.4;text-align:left}.comments__scope-toggle>[data-scope-current]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comments__scope-toggle .icon{width:12px;height:12px;flex:none}.comment-composer__scope[data-scope-open=true] .comments__scope-toggle .icon{transform:rotate(180deg)}.comments__scope-toggle:hover:not(:disabled){color:var(--color-text-soft)}.comments__scope-toggle:disabled{opacity:.55}.comments__scope-toggle:focus-visible{outline-offset:-2px}.comments__scope-menu{position:absolute;z-index:70;bottom:calc(100% - 1px);left:-1px;right:-1px;max-height:min(42vh,150px);padding:4px;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--color-line-soft);border-bottom:0;border-radius:8px 8px 0 0;background:#fff;box-shadow:0 -8px 20px rgba(16,24,40,8%)}.comments__scope-option{display:flex;align-items:center;justify-content:space-between;gap:4px;width:100%;min-height:30px;padding:5px 5px 5px 7px;border:0;border-radius:5px;color:var(--color-text-soft);font-size:11.5px;line-height:1.4;text-align:left;white-space:nowrap}.comments__scope-option>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.comments__scope-option .icon{width:13px;height:13px;flex:none;visibility:hidden}.comments__scope-option[aria-selected=true] .icon{visibility:visible}.comments__scope-option:hover{background:var(--color-hover)}.comments__scope-option:focus-visible{outline-offset:-2px}.comments__scope-info{position:relative;flex:none}.comments__info-button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid transparent;border-radius:7px;background:0 0;color:var(--color-text-faint);cursor:pointer;list-style:none;transition:background var(--transition-fast),color var(--transition-fast)}.comments__info-button::-webkit-details-marker{display:none}.comments__info-button:hover{background:var(--color-rail);color:var(--color-text-soft)}.comments__info-button .icon{width:14px;height:14px}.comments__scope-info[open] .comments__info-button{background:var(--color-hover);color:var(--color-text-soft)}.comment-composer__scope[data-visibility=commenter] .comments__info-button,.comment-composer__scope[data-visibility=blogger] .comments__info-button{color:var(--color-amber)}.comments__scope-panel{position:absolute;bottom:calc(100% + 6px);left:50%;z-index:60;width:min(318px,calc(100vw - 48px));max-height:min(62vh,340px);padding:12px 13px;overflow-y:auto;border:1px solid var(--color-line);border-radius:12px;background:#fff;box-shadow:var(--shadow-raised);color:var(--color-text-muted);font-size:10.5px;line-height:1.6;transform:translateX(-50%)}.comments__scope-panel p+p{margin-top:6px}.comments__scope-panel strong{color:var(--color-text-soft);font-weight:600}.comments__scope-panel-note{padding-top:7px;border-top:1px solid var(--color-line-soft);color:var(--color-text-faint)!important}.comment-composer__length{margin-right:2px;color:var(--color-text-faint);font-size:10px;font-variant-numeric:tabular-nums;line-height:1.4;white-space:nowrap}.comment-composer__length.is-near-limit{color:var(--color-amber)}.comment-composer__length.is-error{color:var(--color-red)}.comment-composer__insert{position:relative;flex:none}.comments__insert-menu{position:fixed;z-index:70;width:min(300px,calc(100vw - 24px));max-height:min(300px,60vh);padding:10px;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--color-line);border-radius:14px;background:#fff;box-shadow:0 18px 48px rgba(16,24,40,.16)}.comments__insert-heading{color:var(--color-text-muted);font-size:11px;line-height:1.4}.comments__emoji-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px;margin:6px 0 8px}.comments__emoji{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:34px;border-radius:7px;font-size:20px;line-height:1}.comments__emoji:hover,.comments__emoji:focus-visible{background:var(--color-hover)}.comments__insert-attachment{display:flex;align-items:center;gap:6px;width:100%;min-height:34px;padding:5px 7px;border-radius:7px;color:var(--color-text-soft);font-size:12px;text-align:left}.comments__insert-attachment:hover:not(:disabled){background:var(--color-hover)}.comments__insert-attachment:disabled{opacity:.55;cursor:not-allowed}.comments__insert-attachment .icon{width:14px;height:14px}.comments__insert-note{padding:3px 7px 0;color:var(--color-text-faint);font-size:10.5px;line-height:1.5}.comments__insert-note:empty{display:none}.comments__send{display:inline-flex;flex:none;align-items:center;justify-content:center;width:36px;height:36px;min-height:36px;padding:0;border:1px solid var(--color-blue);border-radius:50%;background:linear-gradient(135deg,#4a7de8,#4176e6);color:#fff;line-height:1;box-shadow:0 2px 5px rgba(65,118,230,.16);transition:background var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast)}.comments__send:hover:not(:disabled){background:linear-gradient(135deg,#3b6fdc,#315fca);box-shadow:0 3px 8px rgba(49,95,202,.2)}.comments__send:disabled{border-color:#d5dded;background:#e8eef8;box-shadow:none;color:#8a9bb8;cursor:not-allowed}.comments__send .icon{width:16px;height:16px}.comments__attachment-progress{display:inline-flex;align-items:center;gap:7px;margin:6px 4px 0;color:var(--color-text-muted);font-size:9.5px;font-variant-numeric:tabular-nums}.comments__attachment-progress progress{width:90px;height:4px;overflow:hidden;border:0;border-radius:var(--radius-pill);background:var(--color-rail);accent-color:var(--color-blue)}.comments__validation{margin:5px 5px 0;color:var(--color-red);font-size:10.5px;line-height:1.5}.comments__validation:empty{display:none}.comments__composer-status{margin:5px 5px 0;color:var(--color-text-faint);font-size:10px;line-height:1.5}.comments__composer-status:empty{display:none}.comments__composer-success{position:absolute;z-index:60;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:min(360px,calc(100vw - 32px));padding:7px 10px;border:1px solid rgba(47,116,80,.2);border-radius:9px;background:#eff9f2;box-shadow:0 5px 18px rgba(16,24,40,9%);color:#2f7450;font-size:11px;line-height:1.5;text-align:center;transform:translateX(-50%);pointer-events:none}.comments__composer-status.is-success{color:#2f7450}.comments__composer-status.is-error{color:var(--color-red)}.comments__composer-status.is-loading{color:var(--color-text-muted)}.comments__composer-status a{color:inherit;text-decoration:underline;text-underline-offset:2px}.comment-stats{display:flex;flex-wrap:nowrap;align-items:center;gap:5px 14px;width:100%;margin:5px 0 0;padding:0 6px;overflow-x:auto;border:0;color:var(--color-text-faint);font-size:10px;line-height:1.5;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.comment-stat{display:inline-flex;align-items:baseline;gap:4px;flex:none;min-width:0;white-space:nowrap}.comment-stat__label{color:var(--color-text-faint)}.comment-stat__label::after{content:" ·";color:var(--color-line-strong)}.comment-stat__value{overflow:hidden;max-width:22ch;color:var(--color-text-muted);font-weight:540;text-overflow:ellipsis;white-space:nowrap}.comment-stat__aside{color:var(--color-text-faint);font-size:9px}.comments__dialog{width:min(92vw,470px);max-width:470px;margin:auto;padding:0;border:0;border-radius:22px;background:#fff;box-shadow:0 24px 70px rgba(16,24,40,.24);color:var(--color-text)}.comments__dialog::backdrop{background:rgba(15,17,21,.36);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.comments__dialog-inner{padding:22px 22px 18px}.comments__dialog-head{display:flex;align-items:center;gap:9px}.comments__dialog-icon{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;flex:none;border-radius:50%;background:#fff7e8;color:var(--color-amber)}.comments__dialog-icon .icon{width:15px;height:15px}.comments__dialog-head h2{font-size:16px;font-weight:630;letter-spacing:-.015em}.comments__dialog-warning{margin-top:12px;padding:11px 12px;border:1px solid rgba(167,107,24,.2);border-radius:10px;background:#fffaf1;color:#735222;font-size:12px;line-height:1.7}.comments__dialog-scope{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 6px;margin-top:12px;color:var(--color-text-muted);font-size:11.5px;line-height:1.6}.comments__dialog-scope strong{padding:2px 7px;border-radius:var(--radius-pill);background:var(--color-rail);color:var(--color-text-soft);font-size:10.5px;font-weight:590}.comments__dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.comments__dialog-cancel,.comments__dialog-continue{min-height:38px;padding:7px 14px;border:1px solid var(--color-line);border-radius:9px;background:#fff;color:var(--color-text-soft);font-size:12px;font-weight:550;line-height:1.2;transition:border-color var(--transition-fast),background var(--transition-fast)}.comments__dialog-cancel:hover{border-color:var(--color-line-strong);background:var(--color-rail)}.comments__dialog-continue{border-color:#b78227;background:#a76b18;color:#fff}.comments__dialog-continue:hover{border-color:#8f5b12;background:#8f5b12}@keyframes comment-aurora{0%{transform:translate3d(-3%,-2%,0)rotate(-2deg)scale(1)}50%{transform:translate3d(2%,1%,0)rotate(1deg)scale(1.02)}100%{transform:translate3d(-1%,2%,0)rotate(-1deg)scale(1)}}@keyframes comment-particle-drift{0%,100%{opacity:.25;transform:translate3d(0,3px,0)}50%{opacity:.75;transform:translate3d(4px,-5px,0)}}@keyframes comment-skeleton-pulse{0%,100%{opacity:.62}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.comment-card[data-effect=subtle] .comment-card__effect::before,.comment-card[data-effect=strong] .comment-card__effect::before,.comment-effect__particle{animation:none!important}.comment-card[data-effect=subtle] .comment-card__effect::before,.comment-card[data-effect=strong] .comment-card__effect::before{opacity:.72;transform:none}.comment-effect__particle{opacity:.45}}@media(max-width:780px){.comment-card{padding:13px 13px 12px}.comment-card__body{font-size:13.5px}.comment-composer__scope{max-width:132px}.comments__dialog{width:calc(100vw - 28px);max-width:none}}@media(max-width:520px){.comment-card{padding:12px 12px 11px;border-radius:15px}.comment-card__avatar-wrap{width:28px;height:28px}.comment-card__body{margin-top:8px;font-size:13.5px;line-height:1.68}.comment-card__quote{margin-top:8px;padding:7px 8px 7px 9px}.comment-composer{padding:7px 8px 6px;border-radius:21px}.comment-composer__input{min-height:38px;max-height:min(128px,20vh);padding-inline:4px;font-size:16px}.comment-composer__scope{max-width:110px}.comments__scope-toggle{font-size:11.5px}.comment-composer__length{display:none}.comment-composer__length.is-near-limit,.comment-composer__length.is-error{display:inline}.comments__dialog-inner{padding:18px 16px 14px}.comments__dialog-head h2{font-size:15px}.comments__dialog-warning{font-size:11.5px}.comments__dialog-actions{flex-direction:column}.comments__dialog-cancel,.comments__dialog-continue{min-height:42px;width:100%}.comment-stat__value{max-width:18ch}}@media(pointer:coarse){.comment-composer__attach,.comments__info-button{min-width:34px;min-height:34px}.comments__send{width:38px;height:38px;min-height:38px}.account__logout{min-height:32px;margin:-4px -3px;padding:5px 4px}}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:var(--radius-sm);color:var(--color-text-muted);line-height:1;transition:background var(--transition-fast),color var(--transition-fast)}.icon-button:hover{background:var(--color-selected);color:var(--color-text)}.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:8px 15px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:#fff;color:var(--color-text-soft);font-size:13px;font-weight:540;line-height:1.2;text-decoration:none;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.button:hover{border-color:var(--color-line-strong);background:var(--color-rail);color:var(--color-text);text-decoration:none}.button--primary{border-color:var(--color-blue);background:var(--color-blue);color:#fff}.button--primary:hover{border-color:var(--color-blue-hover);background:var(--color-blue-hover);color:#fff}.button--quiet{border-color:var(--color-line-soft);background:0 0;color:var(--color-text-soft)}.button--quiet:hover{border-color:var(--color-line);background:var(--color-rail)}.button[disabled]{opacity:.55}.avatar{display:inline-flex;flex:none;align-items:center;justify-content:center;border:1px solid var(--color-line-soft);border-radius:9px;background:var(--color-blue-soft);object-fit:cover}.avatar--sidebar{width:30px;height:30px}.avatar--message{width:30px;height:30px;border-radius:9px}.avatar--fallback{color:var(--color-blue);font-size:12px;font-weight:640;line-height:1;text-transform:uppercase}.social-links{position:relative;z-index:5;display:flex;flex-wrap:wrap;gap:5px;align-items:center}.social-links__link{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);color:var(--color-text-muted);text-decoration:none;transition:background var(--transition-fast),color var(--transition-fast)}.social-links__link:hover{background:rgba(255,255,255,.72);color:var(--color-text)}.social-links__link .icon{width:15px;height:15px}.social-links__tooltip{position:absolute;top:calc(100% + 8px);right:0;left:0;z-index:30;display:flex;flex-direction:column;gap:2px;padding:7px 9px;border:1px solid var(--color-line);border-radius:var(--radius-sm);background:#fff;box-shadow:var(--shadow-raised);color:var(--color-text-soft);font-size:11px;line-height:1.4;text-align:left;white-space:normal;opacity:0;visibility:hidden;transform:translateY(-3px);transition:opacity var(--transition-fast),transform var(--transition-fast),visibility 0s linear 140ms;pointer-events:none}.social-links__link:hover .social-links__tooltip,.social-links__link:focus .social-links__tooltip{opacity:1;visibility:visible;transform:translateY(0);transition:opacity var(--transition-fast),transform var(--transition-fast),visibility 0s}.social-links__tooltip-name{color:var(--color-text);font-size:11.5px;font-weight:600;letter-spacing:-.005em}.social-links__tooltip-url{color:var(--color-text-muted);font-size:10.5px;overflow-wrap:anywhere;word-break:break-word}.account{display:flex;align-items:center;gap:9px;min-width:0;padding:7px 6px;border-radius:var(--radius-md)}.account__icon{display:inline-flex;flex:none;align-items:center;justify-content:center;width:27px;height:27px;border:1px solid var(--color-line-soft);border-radius:50%;background:#fff;color:var(--color-text-soft)}.account__icon .icon{width:14px;height:14px}.account__copy{display:flex;flex-direction:column;min-width:0;line-height:1.35}.account__status{overflow:hidden;color:var(--color-text-soft);font-size:11.5px;font-weight:530;text-overflow:ellipsis;white-space:nowrap}.account__hint{overflow:hidden;margin-top:2px;color:var(--color-text-faint);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.empty-state{color:var(--color-text-muted);text-align:center}.empty-state__title{color:var(--color-text-soft);font-size:12.5px;font-weight:550}.empty-state__hint{max-width:36em;margin:4px auto 0;color:var(--color-text-faint);font-size:11.5px;line-height:1.65}.empty-state--page{padding:56px 20px;border:1px solid var(--color-line-soft);border-radius:var(--radius-xl);background:var(--color-rail)}.empty-state--page .empty-state__title{color:var(--color-text);font-size:17px;font-weight:580}.empty-state--page .empty-state__hint{margin-top:7px;font-size:13px}.empty-state--page .button{margin-top:20px}.toast-region{position:fixed;right:0;bottom:22px;left:0;z-index:120;display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 16px;pointer-events:none}.toast{max-width:min(92vw,420px);padding:9px 13px;border-radius:var(--radius-sm);background:var(--color-text);box-shadow:var(--shadow-raised);color:#fff;font-size:12.5px;line-height:1.5;opacity:0;transform:translateY(5px);transition:opacity 180ms ease,transform 180ms ease}.toast.is-visible{opacity:1;transform:translateY(0)}.toast--error{background:#7d2c2c}.toast--success{background:#226c45}.message-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:32px;padding-top:13px;border-top:1px solid var(--color-line-soft)}.message-actions__buttons{display:flex;flex-wrap:wrap;align-items:center;gap:2px}.message-action{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:5px 8px;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:11.5px;font-weight:480;line-height:1.2;transition:background var(--transition-fast),color var(--transition-fast)}.message-action:hover:not(:disabled){background:var(--color-hover);color:var(--color-text-soft)}.message-action:disabled{opacity:.52}.message-action .icon{width:14px;height:14px}.message-actions__divider{width:1px;height:14px;margin:0 3px;background:var(--color-line-soft)}.message-actions__note{margin-left:auto;color:var(--color-text-faint);font-size:10.5px;line-height:1.5}.field{display:flex;flex-direction:column;gap:6px}.field>label,.field__label{color:var(--color-text-soft);font-size:12px;font-weight:550}.input,.textarea,.select{width:100%;min-height:40px;padding:8px 11px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:#fff;color:var(--color-text);font-size:13.5px;line-height:1.6;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input::placeholder,.textarea::placeholder{color:var(--color-text-faint)}.input:focus,.textarea:focus,.select:focus{border-color:rgba(65,118,230,.52);outline:none;box-shadow:0 0 0 3px rgba(65,118,230,.12)}.textarea{min-height:104px;resize:vertical}.select{padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-muted) 50%),linear-gradient(135deg,var(--color-text-muted) 50%,transparent 50%);background-position:calc(100% - 15px)17px,calc(100% - 10px)17px;background-repeat:no-repeat;background-size:5px 5px;-webkit-appearance:none;appearance:none}.field__hint{color:var(--color-text-faint);font-size:11px;line-height:1.55}.field__error{color:var(--color-red);font-size:11px;line-height:1.55}[aria-invalid=true] .input,[aria-invalid=true] .textarea,.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:rgba(185,75,75,.55)}@media(pointer:coarse){.icon-button,.social-links__link{width:40px;height:40px}.message-action{min-height:40px}}.threadline-selection-action{position:fixed;z-index:50;display:inline-flex;align-items:center;justify-content:center;min-height:34px;max-width:min(260px,calc(100vw - 16px));padding:7px 11px;border:1px solid rgba(65,118,230,.18);border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(16,24,40,4%),0 8px 24px rgba(16,24,40,.12);color:var(--color-blue);font-size:12.5px;font-weight:600;line-height:1.25;text-align:center;white-space:normal;user-select:none;-webkit-user-select:none;transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.threadline-selection-action::before{margin-right:5px;color:rgba(65,118,230,.55);font-family:Georgia,times new roman,serif;font-size:19px;font-weight:700;line-height:.8;content:"\201c"}.threadline-selection-action:hover{border-color:rgba(65,118,230,.3);background:var(--color-blue-soft);box-shadow:0 1px 2px rgba(16,24,40,.035),0 10px 28px rgba(16,24,40,.14)}.threadline-selection-action[data-action-state=too-long]{border-color:rgba(167,107,24,.24);background:#fffaf0;color:#8a6327;font-weight:560;cursor:default}.threadline-selection-action[data-action-state=too-long]::before{color:rgba(167,107,24,.55);content:"\201c"}.comment-quote-chip{display:flex;align-items:flex-start;gap:8px;min-width:0;margin:0 2px 8px;padding:7px 7px 7px 9px;border:1px solid rgba(65,118,230,.14);border-radius:11px;background:linear-gradient(100deg,rgba(237,243,254,.82),rgba(248,251,255,.92))}.comment-quote-chip__mark{flex:none;margin-top:-1px;color:rgba(65,118,230,.5);font-family:Georgia,times new roman,serif;font-size:22px;font-weight:700;line-height:1}.comment-quote-chip__body{flex:auto;min-width:0}.comment-quote-chip__label{display:block;overflow:hidden;color:#5b76a8;font-size:10px;font-weight:620;letter-spacing:.02em;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.comment-quote-chip__text{display:-webkit-box;overflow:hidden;margin:2px 0 0;color:var(--color-text-soft);font-size:11.5px;line-height:1.55;overflow-wrap:anywhere;white-space:pre-line;-webkit-box-orient:vertical;-webkit-line-clamp:2}.comment-quote-chip__remove{display:inline-flex;flex:none;align-items:center;justify-content:center;width:26px;height:26px;margin:0;padding:0;border-radius:8px;color:var(--color-text-muted);font-size:18px;line-height:1;transition:background-color var(--transition-fast),color var(--transition-fast)}.comment-quote-chip__remove:hover{background:rgba(65,118,230,.1);color:var(--color-blue)}.comment-quote-chip__remove:focus-visible{outline:2px solid var(--color-blue);outline-offset:1px}.comment-quote-chip__status{flex-basis:100%;color:var(--color-text-muted);font-size:10.5px;line-height:1.45}.comment-card[data-comment-quote-state=unlocated] .comment-card__quote{border-left-color:rgba(167,107,24,.42);background:rgba(255,250,240,.7)}.comment-card>.comment-card__quote-status,.threadline-quote-status{display:flex;align-items:center;gap:4px;margin:8px 2px 0;color:var(--color-text-muted);font-size:10.5px;line-height:1.5}.comment-card>.comment-card__quote-status::before,.threadline-quote-status::before{flex:none;width:5px;height:5px;border-radius:50%;background:currentColor;content:"";opacity:.72}.comment-card[data-comment-quote-state=located] .comment-card__quote-head .comment-card__quote-status,.comment-card[data-comment-quote-state=located]>.comment-card__quote-status,.comment-card[data-comment-quote-state=located] .threadline-quote-status,.comment-card.is-quote-located>.comment-card__quote-status,.comment-card.is-quote-located .threadline-quote-status{color:#4e729f}.comment-card[data-comment-quote-state=unlocated] .comment-card__quote-head .comment-card__quote-status,.comment-card[data-comment-quote-state=unlocated]>.comment-card__quote-status,.comment-card[data-comment-quote-state=unlocated] .threadline-quote-status,.comment-card.is-quote-unlocated>.comment-card__quote-status,.comment-card.is-quote-unlocated .threadline-quote-status{color:var(--color-amber)}.comment-card.is-quote-unlocated{border-color:rgba(167,107,24,.16)}.comment-card.is-quote-focused{border-color:rgba(65,118,230,.28);box-shadow:0 1px 2px rgba(16,24,40,3%),0 8px 24px rgba(65,118,230,.1)}::highlight(threadline-quote){background-color:rgba(65,118,230,.16);color:inherit;text-decoration:underline;text-decoration-color:rgba(65,118,230,.48);text-decoration-thickness:1px;text-underline-offset:.16em}::highlight(threadline-quote-active){background-color:rgba(65,118,230,.29);color:inherit;text-decoration-color:rgba(49,95,202,.68)}@media(max-width:780px){.threadline-selection-action{min-height:32px;max-width:min(230px,calc(100vw - 16px));padding:6px 9px;border-radius:9px;font-size:12px}.comment-quote-chip{margin-right:0;margin-left:0}.comment-card>.comment-card__quote-status,.threadline-quote-status{margin-left:2px}}@media(prefers-reduced-motion:reduce){.threadline-selection-action,.comment-quote-chip__remove{transition:none}}@media print{.threadline-selection-action,.comment-quote-chip,.comment-composer__quote{display:none!important}}.app-shell{display:grid;grid-template-columns:var(--rail-width)minmax(0,1fr);min-height:100vh;min-height:100dvh;transition:grid-template-columns var(--transition-base)}.site-body.sidebar-collapsed .app-shell{grid-template-columns:var(--rail-collapsed-width)minmax(0,1fr)}.app-main{display:flex;flex-direction:column;min-width:0;min-height:100vh;min-height:100dvh}.main-content{flex:auto;min-width:0;outline:none}.sidebar{position:sticky;top:0;z-index:40;display:flex;width:100%;height:100vh;height:100dvh;min-width:0;overflow:hidden;border-right:1px solid var(--color-line-soft);background:var(--color-rail)}.sidebar__inner{display:flex;flex:auto;flex-direction:column;min-width:0;height:100%;padding:12px 12px 10px}.sidebar__head{display:flex;flex:none;align-items:center;gap:6px;min-width:0;min-height:40px;padding:1px 0}.sidebar__identity{display:flex;flex:auto;align-items:center;gap:9px;min-width:0;min-height:40px;padding:3px 4px;border-radius:var(--radius-md);color:var(--color-text);text-decoration:none;transition:background var(--transition-fast)}.sidebar__identity:hover{background:var(--color-hover);color:var(--color-text);text-decoration:none}.sidebar__identity-copy{display:flex;flex-direction:column;min-width:0;line-height:1.28}.sidebar__name{overflow:hidden;color:var(--color-text);font-size:13.5px;font-weight:610;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap}.sidebar__role{overflow:hidden;margin-top:2px;color:var(--color-text-muted);font-size:11px;font-weight:430;text-overflow:ellipsis;white-space:nowrap}.sidebar__collapse{flex:none;color:var(--color-text-muted)}.sidebar__expand-icon{display:none}.sidebar__drawer-close{display:none}.sidebar-collapsed .sidebar__collapse-icon{display:none}.sidebar-collapsed .sidebar__expand-icon{display:inline-flex}.social-links--sidebar{flex:none;flex-wrap:wrap;justify-content:center;gap:5px;width:100%;margin-top:12px}.social-links--sidebar .social-links__link{width:34px;min-width:0;height:34px;min-height:34px;padding:0;border:1px solid var(--color-line-soft);border-radius:8px;background:#fff;color:var(--color-text-soft)}.social-links--sidebar .social-links__link:hover{border-color:rgba(65,118,230,.24);color:var(--color-blue)}.social-links--sidebar .social-links__link .icon{width:15px;height:15px}.sidebar-nav{flex:none;margin-top:13px}.sidebar-nav__list{display:flex;flex-direction:column;gap:2px;list-style:none}.sidebar-nav__link{display:flex;align-items:center;gap:10px;min-height:40px;padding:7px 10px;border-radius:var(--radius-md);color:var(--color-text-soft);font-size:13px;font-weight:510;text-decoration:none;transition:background var(--transition-fast),color var(--transition-fast)}.sidebar-nav__link:hover{background:var(--color-hover);color:var(--color-text);text-decoration:none}.sidebar-nav__link.is-active{background:var(--color-selected);color:var(--color-text);font-weight:580}.sidebar-nav__icon{display:inline-flex;flex:none;align-items:center;justify-content:center;width:17px;height:17px;color:var(--color-text-muted)}.sidebar-nav__link.is-active .sidebar-nav__icon{color:var(--color-text-soft)}.sidebar-nav__icon .icon{width:16px;height:16px}.sidebar-nav__label{overflow:hidden;min-width:0;text-overflow:ellipsis;white-space:nowrap}.sidebar-nav__external{display:inline-flex;margin-left:auto;color:var(--color-text-faint)}.sidebar-nav__external .icon{width:12px;height:12px}.article-index{display:flex;flex:auto;flex-direction:column;min-height:0;margin-top:18px}.article-index__head{display:flex;flex:none;align-items:center;gap:3px;padding:0 3px 6px}.article-index__title{min-width:0;color:var(--color-text-muted);font-size:13px;font-weight:400}.article-index__views{display:inline-flex;align-items:center;gap:1px}.article-index__search-toggle{margin-left:auto}.article-index__view,.article-index__search-toggle{position:relative;width:29px;height:29px;border-radius:6px;color:var(--color-text-muted)}.article-index__view:hover,.article-index__search-toggle:hover,.article-index__search-toggle[aria-expanded=true]{background:var(--color-hover);color:var(--color-text)}.article-index__view.is-active{color:var(--color-blue)}.article-index__view .icon,.article-index__search-toggle .icon{width:15px;height:15px}.article-index__pinned{display:flex;flex:none;align-items:center;gap:6px;min-width:0;margin:0 3px 6px;padding:3px 4px 3px 8px;border-radius:7px;background:var(--color-blue-soft);color:var(--color-text-soft);font-size:11px}.article-index__pinned-label{flex:none;color:var(--color-blue)}.article-index__pinned-query{overflow:hidden;min-width:0;text-overflow:ellipsis;white-space:nowrap}.article-index__unpin,.article-search__pin{display:inline-flex;flex:none;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;color:var(--color-text-muted)}.article-index__unpin{margin-left:auto}.article-search__pin{margin-left:auto}.article-index__unpin:hover,.article-search__pin:hover{background:var(--color-hover);color:var(--color-text)}.article-search__pin[aria-pressed=true],.article-search__pin[aria-pressed=true]:hover{background:#e2e4e7;color:var(--color-text)}.article-index__unpin .icon,.article-search__pin .icon{width:14px;height:14px}.article-search__pin:disabled{opacity:.45;cursor:default}.article-index__pinned-empty{flex:none;padding:6px 10px 10px;color:var(--color-text-muted);font-size:12px;line-height:1.5}.article-search-dialog{position:fixed;inset:0;display:flex;flex-direction:column;width:min(560px,calc(100vw - 32px));max-width:none;max-height:min(70vh,640px);margin:auto;padding:0;overflow:hidden;border:1px solid var(--color-line);border-radius:14px;background:#fff;box-shadow:0 18px 48px rgba(16,24,40,.16),0 2px 8px rgba(16,24,40,5%)}.article-search-dialog[open]{animation:article-search-in 140ms var(--ease-out)}.article-search-dialog::backdrop{background:rgba(15,17,21,.36)}body.has-search-dialog{overflow:hidden}.article-search__bar{display:flex;align-items:center;gap:5px;padding:9px 10px;border-bottom:1px solid var(--color-line-soft)}.article-search__icon{display:inline-flex;flex:none;align-items:center;color:var(--color-text-faint)}.article-search__icon .icon{width:15px;height:15px}.article-search__input{flex:auto;width:100%;min-width:0;height:34px;padding:0 3px;border:0;outline:0;background:0 0;color:var(--color-text);font:inherit;font-size:13.5px}.article-search__input::placeholder{color:var(--color-text-faint)}.article-search__input::-webkit-search-cancel-button{display:none}.article-search__action{display:inline-flex;flex:none;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;color:var(--color-text-muted);transition:background var(--transition-fast),color var(--transition-fast)}.article-search__action:hover{background:var(--color-hover);color:var(--color-text)}.article-search__action .icon{width:14px;height:14px}.article-search__body{display:flex;flex:auto;flex-direction:column;min-height:0}.article-search__results-head{display:flex;flex:none;align-items:center;gap:2px;padding:4px 8px}.article-search__scroll{flex:auto;min-height:0;padding:0 8px 8px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:rgba(15,17,21,.16)transparent;scrollbar-width:thin}.article-search__scroll::-webkit-scrollbar{width:4px}.article-search__scroll::-webkit-scrollbar-thumb{border-radius:4px;background:rgba(15,17,21,.14)}.article-search__count{padding:1px 4px;color:var(--color-text-faint);font-size:10.5px;line-height:1.4}.article-search__count:empty{display:none}.article-search__results{display:flex;flex-direction:column;gap:1px;margin:0;padding:0;list-style:none}.article-search__result{min-width:0}.article-search__result-link{display:flex;flex-direction:column;gap:3px;min-width:0;padding:8px 9px;border-radius:8px;color:var(--color-text);text-decoration:none;transition:background var(--transition-fast),color var(--transition-fast)}.article-search__result-link:hover,.article-search__result-link:focus-visible{background:var(--color-hover);color:var(--color-text);text-decoration:none}.article-search__result-title{font-size:12.8px;font-weight:520;line-height:1.45;overflow-wrap:anywhere}.article-search__result-meta{display:flex;flex-wrap:wrap;gap:3px 8px;color:var(--color-text-faint);font-size:10px;line-height:1.4}.article-search__result-tags{overflow-wrap:anywhere}.article-search__empty{display:flex;flex-direction:column;gap:3px;padding:18px 12px 22px;text-align:center}.article-search__empty-title{color:var(--color-text-soft);font-size:12.5px;font-weight:560}.article-search__empty-hint{color:var(--color-text-faint);font-size:11.5px;line-height:1.6}@media(pointer:coarse){.article-index__unpin,.article-search__pin{width:34px;height:34px}}@keyframes article-search-in{from{opacity:.4;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.article-index__panels{flex:auto;min-height:0;margin-right:-5px;padding:1px 5px 8px 0;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:rgba(15,17,21,.16)transparent;scrollbar-width:thin}.article-index__panels::-webkit-scrollbar{width:4px}.article-index__panels::-webkit-scrollbar-thumb{border-radius:4px;background:rgba(15,17,21,.14)}.article-index__panel[hidden],.timeline__group[hidden],.article-row[hidden]{display:none!important}.timeline__group+.timeline__group{margin-top:2px}.js .timeline__group.is-collapsed .timeline__group-body{display:none}.timeline__group-heading{margin:0;font:inherit}.timeline__group-toggle,.timeline__group-static{display:flex;align-items:center;gap:5px;width:100%;min-height:31px;padding:4px 5px;border-radius:7px;color:var(--color-text-soft);font-size:13px;font-weight:400;text-align:left}.timeline__group-toggle:hover{background:var(--color-hover)}.timeline__group-chevron,.timeline__group-folder{display:inline-flex;flex:none;align-items:center;justify-content:center;color:var(--color-text-muted)}.timeline__group-chevron{transition:transform var(--transition-fast)}.timeline__group-chevron .icon{width:11px;height:11px}.timeline__group-folder .icon{width:15px;height:15px}.timeline__group.has-current .timeline__group-folder{color:var(--color-blue)}.timeline__group-toggle[aria-expanded=false] .timeline__group-chevron{transform:rotate(-90deg)}.timeline__group-label{overflow:hidden;min-width:0;text-overflow:ellipsis;white-space:nowrap}.timeline__group-static{padding-left:20px}.article-list{display:flex;flex-direction:column;gap:1px;list-style:none}.article-row{min-width:0}.article-row__link{display:flex;align-items:center;gap:8px;min-width:0;min-height:32px;padding:5px 8px 5px 31px;border-radius:8px;color:var(--color-text);text-decoration:none}.article-row__link:hover{background:var(--color-hover);color:var(--color-text);text-decoration:none}.article-row.is-selected .article-row__link{background:var(--color-selected)}.article-row__title{overflow:hidden;flex:auto;min-width:0;font-size:13px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.article-row__date{flex:none;color:var(--color-text-faint);font-size:10px;font-variant-numeric:tabular-nums;white-space:nowrap}.article-index__empty{padding:10px 8px;color:var(--color-text-muted);font-size:12px}.article-index__noscript{margin:8px;font-size:12px}.sidebar-collapsed .sidebar__inner{padding-inline:10px}.sidebar-collapsed .sidebar__head{flex-direction:column;justify-content:center;gap:4px;padding:2px 0 4px}.sidebar-collapsed .sidebar__identity{flex:none;justify-content:center;min-height:34px;padding:2px}.sidebar-collapsed .sidebar__identity-copy,.sidebar-collapsed .sidebar-nav__label,.sidebar-collapsed .sidebar-nav__external,.sidebar-collapsed .article-index,.sidebar-collapsed .account__copy{display:none}.sidebar-collapsed .sidebar{overflow:visible}.sidebar-collapsed .social-links--sidebar{flex-direction:column;align-items:center;justify-content:center;width:100%;z-index:20}.sidebar-collapsed .social-links--sidebar .social-links__link{position:relative;justify-content:center;width:34px;height:34px;padding:7px}.sidebar-collapsed .social-links__tooltip{top:50%;right:auto;left:calc(100% + 10px);width:220px;transform:translateY(-50%)translateX(-3px)}.sidebar-collapsed .social-links__link:hover .social-links__tooltip,.sidebar-collapsed .social-links__link:focus .social-links__tooltip{transform:translateY(-50%)translateX(0)}.sidebar-collapsed .sidebar-nav{margin-top:12px}.sidebar-collapsed .sidebar-nav__list{align-items:center}.sidebar-collapsed .sidebar-nav__link{justify-content:center;width:40px;min-height:40px;padding:8px}.sidebar-collapsed .sidebar-nav__icon{width:18px;height:18px}.sidebar-collapsed .sidebar__footer{display:flex;justify-content:center}.sidebar-collapsed .account{justify-content:center;width:42px;padding:6px}.sidebar__footer{flex:none;margin-top:8px;padding-top:7px;border-top:1px solid var(--color-line-soft)}.topbar{position:sticky;top:0;z-index:30;display:flex;flex-direction:column;align-items:stretch;gap:0;min-height:var(--topbar-height);padding:0 28px;border-bottom:1px solid var(--color-line-soft);background:rgba(255,255,255,.96)}.topbar__leading{display:flex;align-items:center;gap:8px;min-width:0;min-height:56px}.topbar--article .topbar__leading{min-height:40px}.topbar__menu{display:none;color:var(--color-text-soft)}.topbar__menu-open,.topbar__menu-close{display:inline-flex}.topbar__menu-close,.topbar__menu[aria-expanded=true] .topbar__menu-open{display:none}.topbar__menu[aria-expanded=true] .topbar__menu-close{display:inline-flex}.topbar__title{overflow:hidden;color:var(--color-text);font-size:13px;font-weight:520;text-overflow:ellipsis;white-space:nowrap}.topbar__center{display:flex;align-items:stretch;justify-content:flex-start;min-width:0}.view-tabs{display:inline-flex;align-items:stretch;gap:30px}.view-tabs__tab{position:relative;height:36px;padding:0;color:var(--color-text-muted);font-size:13px;font-weight:400;line-height:1}.view-tabs__tab:hover{color:var(--color-text)}.view-tabs__tab.is-active{color:var(--color-blue)}.view-tabs__tab.is-active::after{position:absolute;right:0;bottom:0;left:0;height:2px;background:var(--color-blue);content:""}.sidebar-backdrop{position:fixed;inset:0;z-index:35;width:100%;height:100%;padding:0;border:0;background:rgba(15,17,21,.26);cursor:default}.reading-column{width:100%;max-width:calc(var(--reading-width) + 56px);margin-inline:auto;padding-inline:28px}.reading-column--narrow{max-width:776px}.home-page{padding-top:46px;padding-bottom:88px}.home-thread{display:flex;flex-direction:column;gap:34px}.home-message{min-width:0}.home-message--title{display:flex;justify-content:flex-end}.home-message__bubble{width:fit-content;max-width:min(82%,720px);padding:22px 24px 20px;border-radius:var(--radius-bubble);background:var(--color-blue-soft);overflow-wrap:anywhere}.home-message__title{max-width:18em;color:var(--color-text);font-size:clamp(23px,calc(2.45vw - 2px),30px);font-weight:640;letter-spacing:-.032em;line-height:1.28}.home-message__summary{max-width:60ch;color:var(--color-text-soft);font-size:14.5px;line-height:1.78;overflow-wrap:break-word}.home-message__summary>:first-child{margin-top:0}.home-message__summary>:last-child{margin-bottom:0}.home-message__summary p{margin:0 0 .85em}.home-message__summary p:last-child{margin-bottom:0}.home-message__summary a{color:var(--color-blue);text-decoration-color:rgba(65,118,230,.4);text-decoration-thickness:1px;text-underline-offset:.18em}.home-message__summary a:hover{color:var(--color-blue-hover);text-decoration-color:initial}.home-message__summary strong,.home-message__summary b{color:var(--color-text);font-weight:620}.home-message__summary em,.home-message__summary i{font-style:italic}.home-message__summary ul,.home-message__summary ol{margin:.5em 0 .95em;padding-left:1.4em}.home-message__summary li{margin:.28em 0;padding-left:.1em}.home-message__summary li::marker{color:var(--color-text-faint)}.home-message__summary li>ul,.home-message__summary li>ol{margin-top:.25em;margin-bottom:.25em}.home-message__summary code{padding:.12em .34em;border-radius:5px;background:var(--color-code);color:var(--color-text-soft);font-family:var(--font-mono);font-size:.86em;overflow-wrap:anywhere}.home-message__summary blockquote{margin:.9em 0;padding-left:14px;border-left:2px solid rgba(65,118,230,.35);color:var(--color-text-muted)}.home-message--summary{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:flex-start;gap:13px;max-width:680px}.home-message__avatar-wrap{flex:none;padding-top:1px}.home-message__body{min-width:0}.home-message__bio{max-width:60ch;color:var(--color-text-soft);font-size:14.5px;line-height:1.78}.home-message__bio--lead{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--color-line-soft);font-size:14px;line-height:1.72}.archive-entry__meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 7px;color:var(--color-text-faint);font-size:10.5px;line-height:1.55}.archive-entry__meta time{font-variant-numeric:tabular-nums}.archive-entry__tags{display:inline-flex;flex-wrap:wrap;gap:4px 6px;margin-left:auto}.archive-entry__tags a{padding:1px 6px;border-radius:var(--radius-pill);background:var(--color-rail);color:var(--color-text-muted);font-size:9.5px;line-height:1.65;text-decoration:none}.archive-entry__tags a:hover{background:var(--color-blue-soft);color:var(--color-blue)}.archive-page{padding-top:46px;padding-bottom:96px}.archive-header{padding-bottom:25px;border-bottom:1px solid var(--color-line)}.archive-header__eyebrow{margin-bottom:9px;color:var(--color-text-muted);font-size:10.5px;font-weight:560;letter-spacing:.08em;text-transform:uppercase}.archive-header__title-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}.archive-header__title{font-size:clamp(28px,3vw,34px);font-weight:640;letter-spacing:-.032em;line-height:1.22}.archive-header__count{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border-radius:var(--radius-pill);background:var(--color-selected);color:var(--color-text-muted);font-size:10.5px;font-weight:500;line-height:1.4;white-space:nowrap}.archive-header__description{max-width:62ch;margin-top:10px;color:var(--color-text-soft);font-size:14.5px;line-height:1.75}.archive-header__content{max-width:65ch;margin-top:12px;color:var(--color-text-muted);font-size:13.5px;line-height:1.8}.archive-header__content p+p{margin-top:.6em}.archive-list{list-style:none}.archive-entry{padding:26px 0 28px;border-bottom:1px solid var(--color-line-soft)}.archive-entry__title{margin-top:8px;font-size:22px;font-weight:620;letter-spacing:-.022em;line-height:1.38}.archive-entry__title a{color:var(--color-text);text-decoration:none}.archive-entry__title a:hover{color:var(--color-blue);text-decoration:none}.archive-entry__summary{max-width:66ch;margin-top:7px;color:var(--color-text-muted);font-size:13.5px;line-height:1.72}.archive-entry__more{display:inline-flex;align-items:center;gap:4px;margin-top:11px;color:var(--color-text-faint);font-size:10.5px;text-decoration:none}.archive-entry__more .icon{width:12px;height:12px}.terms-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:28px}.term-card{display:flex;align-items:center;gap:10px;min-width:0;min-height:56px;padding:12px 14px;border:1px solid var(--color-line-soft);border-radius:var(--radius-lg);background:#fff;color:var(--color-text-soft);text-decoration:none;transition:border-color var(--transition-fast),background var(--transition-fast)}.term-card:hover{border-color:rgba(65,118,230,.24);background:var(--color-rail);color:var(--color-text);text-decoration:none}.term-card__icon{display:inline-flex;flex:none;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:var(--color-selected);color:var(--color-text-muted)}.term-card__icon .icon{width:14px;height:14px}.term-card__name{overflow:hidden;min-width:0;font-size:13px;font-weight:520;text-overflow:ellipsis;white-space:nowrap}.term-card__count{margin-left:auto;color:var(--color-text-faint);font-size:10.5px;white-space:nowrap}.article-page{padding-top:38px;padding-bottom:96px}.article-page[data-active-article-view=trajectory]{padding-top:0}.article-page[data-active-article-view=trajectory]>[data-article-reading-column]{display:none}.article-header{min-width:0}.article-header__meta{display:flex;justify-content:flex-end;align-items:baseline;gap:6px;padding-right:4px;color:var(--color-text-faint);font-size:10.5px;line-height:1.5}.article-title-row{display:flex;justify-content:flex-end}.article-title-bubble{width:fit-content;max-width:82%;margin-top:8px;padding:18px 22px;border-radius:var(--radius-bubble);background:var(--color-blue-soft);overflow-wrap:anywhere}.article-title{font-size:clamp(22px,calc(2.4vw - 2px),28px);font-weight:640;letter-spacing:-.03em;line-height:1.32}.article-title__description{margin-top:8px;color:#46536a;font-size:13.5px;line-height:1.65}.article-message{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:flex-start;gap:13px;margin-top:27px}.message__avatar-wrap{flex:none;padding-top:1px}.message__content{min-width:0}.message__byline{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin-bottom:13px;line-height:1.4}.message__author{min-width:0;color:var(--color-text);font-size:13px;font-weight:620;letter-spacing:-.01em;overflow-wrap:anywhere}.message__reading{margin-left:auto;color:var(--color-text-faint);font-size:10.5px;font-variant-numeric:tabular-nums;letter-spacing:.01em;white-space:nowrap}.article-views{min-width:0}.article-view[hidden]{display:none!important}.trajectory-placeholder{display:flex;align-items:flex-start;gap:13px;min-width:0;padding:22px;border:1px solid var(--color-line-soft);border-radius:var(--radius-xl);background:#fbfcfd}.trajectory-placeholder__mark{display:inline-flex;flex:none;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:#f0f2f6;color:var(--color-text-muted)}.trajectory-placeholder__title{font-size:14px;font-weight:610}.trajectory-placeholder p{margin-top:5px;color:var(--color-text-muted);font-size:12.5px;line-height:1.7}.trajectory-placeholder__hint{color:var(--color-text-faint)!important;font-size:11.5px!important}.comments{margin-top:58px;padding:18px;border:1px solid var(--color-line-soft);border-radius:24px;background:#fff;box-shadow:0 8px 28px rgba(16,24,40,4%)}.comments__head{display:flex;align-items:center;gap:10px;padding:0 2px 13px}.comments__title{font-size:14px;font-weight:610}.comments__status{margin-left:auto;padding:2px 8px;border-radius:var(--radius-pill);background:var(--color-rail);color:var(--color-text-faint);font-size:9.5px;line-height:1.6;white-space:nowrap}.comments__placeholder{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px dashed var(--color-line);border-radius:var(--radius-xl);background:#fbfcfd}.comments__placeholder-icon{display:inline-flex;flex:none;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--color-blue-soft);color:var(--color-blue)}.comments__placeholder-icon .icon{width:14px;height:14px}.comments__placeholder-title{color:var(--color-text-soft);font-size:12.5px;font-weight:580}.comments__placeholder p{max-width:58ch;margin-top:4px;color:var(--color-text-faint);font-size:11.5px;line-height:1.65}.comments__notice{color:var(--color-text-muted)!important}.page-page{padding-top:54px;padding-bottom:96px}.page-header{padding-bottom:24px;border-bottom:1px solid var(--color-line-soft)}.page-header__eyebrow{margin-bottom:10px;color:var(--color-blue);font-size:10.5px;font-weight:590;letter-spacing:.09em;text-transform:uppercase}.page-title{font-size:clamp(30px,3.4vw,40px);font-weight:640;letter-spacing:-.035em;line-height:1.24}.page-description{max-width:62ch;margin-top:10px;color:var(--color-text-muted);font-size:14.5px;line-height:1.75}.page-prose{margin-top:30px}.friend-links{display:grid;gap:10px}.article-prose .friend-link{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--color-line-soft);border-radius:14px;background:#fff;color:var(--color-text);text-decoration:none;transition:background var(--transition-fast),border-color var(--transition-fast)}.article-prose .friend-link:hover{border-color:rgba(65,118,230,.25);background:var(--color-blue-soft);color:var(--color-text)}.article-prose .friend-link__avatar{flex:none;width:42px;height:42px;margin:0;border-radius:11px;object-fit:cover}.friend-link__avatar--fallback{display:grid;place-items:center;background:var(--color-blue-soft);color:var(--color-blue);font-weight:600}.friend-link__body{display:flex;flex:auto;flex-direction:column;min-width:0;gap:2px}.friend-link__title{font-size:13.5px;font-weight:620;line-height:1.4;overflow-wrap:anywhere}.friend-link__description{color:var(--color-text-muted);font-size:12px;line-height:1.55;overflow-wrap:anywhere}.friend-link__external{display:inline-flex;flex:none;color:var(--color-text-faint)}.friend-link__external .icon{width:14px;height:14px}.page-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;margin-top:54px;padding-top:18px;border-top:1px solid var(--color-line-soft)}.page-footer__author{display:flex;align-items:center;gap:10px;color:var(--color-text-soft);font-size:12.5px;font-weight:540}.page-footer__author>div{display:flex;flex-direction:column;gap:1px}.page-footer__role{color:var(--color-text-muted);font-size:10.5px;font-weight:400}.not-found-page{padding-top:14vh;padding-bottom:16vh}.not-found__code{color:var(--color-line-strong);font-size:13px;font-variant-numeric:tabular-nums;font-weight:620;letter-spacing:.14em}.not-found__title{margin-top:10px;font-size:clamp(30px,4vw,42px);font-weight:640;letter-spacing:-.035em}.not-found__body{max-width:34em;margin-top:10px;color:var(--color-text-muted);font-size:14px;line-height:1.75}.not-found__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.article-prose{max-width:820px;color:#2c3037;font-size:16px;line-height:1.86}.article-prose>:first-child{margin-top:0!important}.article-prose>:last-child{margin-bottom:0!important}.article-prose h1,.article-prose h2,.article-prose h3,.article-prose h4,.article-prose h5,.article-prose h6{scroll-margin-top:calc(var(--topbar-height) + 20px);color:var(--color-text);font-weight:630;line-height:1.4;letter-spacing:-.02em}.article-prose h1{margin:2.4em 0 .72em;padding-bottom:.32em;border-bottom:1px solid var(--color-line-soft);font-size:26px;letter-spacing:-.026em}.article-prose h2{margin:2.15em 0 .65em;font-size:21px}.article-prose h3{margin:1.9em 0 .55em;font-size:17px}.article-prose h4,.article-prose h5,.article-prose h6{margin:1.7em 0 .5em;font-size:15.5px}.article-prose p{margin:0 0 1.12em}.article-prose a{color:var(--color-blue);text-decoration-color:rgba(65,118,230,.36);text-decoration-thickness:1px;text-underline-offset:.2em}.article-prose a:hover{color:var(--color-blue-hover);text-decoration-color:initial}.article-prose strong,.article-prose b{color:#181b20;font-weight:620}.article-prose .math-block{max-width:100%;margin:1.4em 0;padding:.15em 0;overflow-x:auto;overflow-y:hidden}.article-prose .math-block>.katex{display:block;width:max-content;min-width:100%}.article-prose em,.article-prose i{font-style:italic}.article-prose small{font-size:.86em}.article-prose ul,.article-prose ol{margin:.25em 0 1.25em;padding-left:1.45em}.article-prose li{margin:.34em 0;padding-left:.15em}.article-prose li::marker{color:#9da2a9}.article-prose li>ul,.article-prose li>ol{margin-top:.35em;margin-bottom:.35em}.article-prose li>p{margin:.25em 0}.article-prose .task-list{padding-left:0;list-style:none}.article-prose .task-list-item{display:flex;align-items:flex-start;gap:8px}.article-prose .task-list-item input[type=checkbox]{width:15px;height:15px;margin-top:.45em;accent-color:var(--color-blue)}.article-prose blockquote{margin:1.55em 0;padding:.15em 0 .15em 17px;border-left:2px solid rgba(65,118,230,.42);color:#555b63}.article-prose blockquote p:last-child{margin-bottom:0}.article-prose blockquote cite{display:block;margin-top:.55em;color:var(--color-text-faint);font-size:.82em;font-style:normal}.article-prose hr{margin:2.7em 0;border:0;border-top:1px solid var(--color-line-soft)}.article-prose code{margin-inline:.14em;padding:.14em .36em;border:1px solid rgba(15,17,21,.055);border-radius:5px;background:#f3f5f8;color:#3c424b;font-family:var(--font-mono);font-size:.84em;overflow-wrap:anywhere}.article-prose pre{max-width:100%;margin:1.55em 0;padding:16px 18px;overflow-x:auto;border:1px solid #e7eaef;border-radius:var(--radius-lg);background:var(--color-code);color:#30353d;font-family:var(--font-mono);font-size:12.5px;line-height:1.72;tab-size:2;-webkit-overflow-scrolling:touch}.article-prose pre code{display:inline;margin:0;padding:0;border:0;border-radius:0;background:0 0;color:inherit;font-size:inherit;overflow-wrap:normal;white-space:pre}.article-prose .highlight{position:relative;max-width:100%;margin:1.55em 0;overflow:hidden;border:1px solid #e7eaef;border-radius:var(--radius-lg);background:var(--color-code)}.article-prose .highlight>div{overflow-x:auto;-webkit-overflow-scrolling:touch}.article-prose .highlight pre{margin:0;border:0;border-radius:0;background:0 0}.article-prose .highlight .chroma{background:var(--color-code)}.article-prose .highlight table{width:100%;margin:0;border:0;border-collapse:collapse}.article-prose .highlight table td{min-width:0;padding:0;border:0;background:0 0}.article-prose .highlight table td:first-child{width:1%;border-right:1px solid #e8ebf0;color:var(--color-text-faint);text-align:right;vertical-align:top;-webkit-user-select:none;user-select:none}.article-prose .highlight table td:first-child pre{padding-inline:10px}.article-prose .highlight table td:first-child pre code span[style*=user-select]{margin-right:0!important;padding-inline:0!important}.article-prose .highlight table td:last-child pre{padding-left:12px}.code-copy{position:absolute;z-index:1;top:8px;right:8px;display:grid;place-items:center;width:30px;height:30px;padding:6px;border:1px solid var(--color-line-soft);border-radius:6px;background:#fff;color:var(--color-text-muted);cursor:pointer;opacity:0;transition:opacity var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.code-copy svg{width:100%;height:100%}.highlight:hover>.code-copy,.highlight:focus-within>.code-copy,.code-copy:focus-visible{opacity:1}.code-copy:hover,.code-copy:focus-visible{border-color:rgba(65,118,230,.36);color:var(--color-blue)}@media(hover:none),(any-pointer:coarse){.highlight>.code-copy{opacity:1}}@media(prefers-reduced-motion:reduce){.code-copy{transition:none}}.chroma{color:#30353d}.chroma .err,.chroma .gr{color:#b94b4b}.chroma .k,.chroma .kc,.chroma .kd,.chroma .kn,.chroma .kp,.chroma .kr,.chroma .kt{color:#8054a3}.chroma .s,.chroma .sa,.chroma .sb,.chroma .sc,.chroma .dl,.chroma .sd,.chroma .s1,.chroma .s2,.chroma .se,.chroma .sh,.chroma .si,.chroma .sx,.chroma .sr,.chroma .ss,.chroma .ch{color:#2f7b52}.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .il,.chroma .mo{color:#3c68c9}.chroma .na,.chroma .nb,.chroma .bp,.chroma .nc,.chroma .nd,.chroma .ne,.chroma .nf,.chroma .fm,.chroma .nn,.chroma .nt,.chroma .nv,.chroma .vc,.chroma .vg,.chroma .vi,.chroma .vm{color:#366da8}.chroma .no,.chroma .py{color:#82601e}.chroma .o,.chroma .ow{color:#676d76}.chroma .c,.chroma .c1,.chroma .cm,.chroma .cp,.chroma .cpf,.chroma .cs{color:#8b929b;font-style:italic}.chroma .gd{color:#9e3f3f}.chroma .gi{color:#2f7b52}.chroma .gh,.chroma .gu{color:var(--color-blue)}.chroma .gp{color:var(--color-text-muted)}.chroma .ge{font-style:italic}.chroma .gs{font-weight:650}.chroma .lineno,.chroma .lnt{color:#a3a8ae}.article-prose kbd{display:inline-block;min-width:1.55em;padding:.1em .4em;border:1px solid var(--color-line);border-bottom-color:var(--color-line-strong);border-radius:5px;background:#fff;box-shadow:0 1px 0 var(--color-line-soft);color:var(--color-text-soft);font-family:var(--font-sans);font-size:.8em;line-height:1.5;text-align:center}.article-prose mark{padding:.05em .18em;border-radius:3px;background:#fff0c2;color:inherit}.article-prose img{display:block;max-width:100%;height:auto;margin:1.65em auto;border:1px solid var(--color-line-soft);border-radius:var(--radius-lg);background:var(--color-rail)}.article-prose figure{max-width:100%;margin:1.8em 0}.article-prose figure img{margin:0 auto}.article-prose figcaption{margin-top:.6em;color:var(--color-text-faint);font-size:11.5px;line-height:1.6;text-align:center}.article-prose table{display:block;width:max-content;max-width:100%;margin:1.55em 0;overflow-x:auto;border:1px solid var(--color-line-soft);border-collapse:collapse;border-radius:var(--radius-md);font-size:13.5px;line-height:1.6;-webkit-overflow-scrolling:touch}.article-prose thead{background:#f7f8fa}.article-prose th,.article-prose td{min-width:6em;padding:8px 11px;border:1px solid var(--color-line-soft);text-align:left;vertical-align:top}.article-prose th{color:var(--color-text-soft);font-size:12.5px;font-weight:590;white-space:nowrap}.article-prose tbody tr:nth-child(even){background:#fcfcfd}.article-prose dl{margin:1.4em 0}.article-prose dt{margin-top:.9em;font-weight:600}.article-prose dd{margin:.25em 0 0 1.2em;color:var(--color-text-soft)}.article-prose details{margin:1.4em 0;padding:11px 14px;border:1px solid var(--color-line-soft);border-radius:var(--radius-md);background:#fbfcfd}.article-prose summary{cursor:pointer;color:var(--color-text-soft);font-size:14px;font-weight:550}.article-prose details>*:not(summary){margin-top:.7em}.article-prose abbr[title]{text-decoration-color:var(--color-line-strong);text-decoration-style:dotted;cursor:help}.article-prose sup,.article-prose sub{font-size:.72em;line-height:0}.article-prose .footnotes{margin-top:3em;padding-top:1.4em;border-top:1px solid var(--color-line-soft);color:var(--color-text-muted);font-size:13px;line-height:1.75}.article-prose .footnotes hr{display:none}.article-prose .footnotes ol{padding-left:1.3em}.article-prose .footnote-ref a{text-decoration:none}.article-prose .footnote-backref{margin-left:.25em;text-decoration:none}.article-prose .anchor{margin-left:.22em;color:var(--color-text-faint);font-size:.72em;opacity:0;text-decoration:none;transition:opacity var(--transition-fast),color var(--transition-fast)}.article-prose h1:hover .anchor,.article-prose h2:hover .anchor,.article-prose h3:hover .anchor,.article-prose h4:hover .anchor,.article-prose .anchor:focus-visible{opacity:1}.article-prose .anchor:hover{color:var(--color-blue)}@media(max-width:780px){.reading-column{max-width:none;padding-inline:20px}.home-page,.archive-page,.page-page{padding-top:30px;padding-bottom:64px}.home-thread{gap:28px}.home-message__bubble{max-width:min(92%,700px);padding:19px 20px 17px}.home-message__title{font-size:25px}.home-message--summary{grid-template-columns:28px minmax(0,1fr);gap:10px}.archive-entry__meta{gap:4px 6px}.archive-entry__tags{width:100%;margin-left:0}.archive-header__title{font-size:29px}.archive-entry__title{font-size:20px}.article-page{padding-top:26px;padding-bottom:68px}.article-title-bubble{max-width:92%;padding:16px 18px}.article-title{font-size:23px}.article-message{grid-template-columns:28px minmax(0,1fr);gap:10px;margin-top:23px}.article-message .avatar--message,.home-message__avatar-wrap .avatar--message{width:28px;height:28px}.message__reading{flex-basis:100%;margin-left:0}.article-prose{font-size:15.5px;line-height:1.84}.article-prose h1{font-size:24px}.article-prose h2{font-size:20px}.article-prose h3{font-size:16.5px}.comments{margin-top:42px;border-radius:20px}.message-actions{margin-top:26px}.message-actions__note{flex-basis:100%;margin-left:0}.page-page{padding-top:36px}.page-title{font-size:32px}.terms-grid{grid-template-columns:1fr}.trajectory-placeholder{padding:17px}.not-found-page{padding-top:10vh;padding-bottom:12vh}}@media(max-width:520px){.reading-column{padding-inline:16px}.home-page{padding-top:24px}.home-message__bio{font-size:13.5px}.home-message__bubble{max-width:96%;padding:17px 17px 15px;border-radius:18px}.home-message__title{font-size:22px}.home-message__summary{font-size:13.5px}.archive-entry__summary{font-size:13px}.archive-page{padding-top:26px}.archive-header__title{font-size:26px}.archive-header__count{font-size:10px}.archive-entry{padding:22px 0 23px}.archive-entry__title{font-size:18.5px}.article-page{padding-top:20px}.article-header__meta{font-size:10px}.article-title-bubble{width:96%;max-width:96%;padding:15px 16px;border-radius:18px}.article-title{font-size:20px}.article-title__description{font-size:12.5px}.article-message{grid-template-columns:26px minmax(0,1fr);gap:9px;margin-top:20px}.article-message .avatar--message,.home-message__avatar-wrap .avatar--message{width:26px;height:26px;border-radius:8px}.message__byline{margin-bottom:11px}.article-prose{font-size:15.5px;line-height:1.82}.article-prose h1{margin-top:2.1em;font-size:22px}.article-prose h2{font-size:19px}.article-prose blockquote{padding-left:13px}.article-prose pre{margin-inline:-3px;padding:13px;border-radius:10px;font-size:12px}.article-prose .highlight{margin-inline:-3px;border-radius:10px}.comments{margin-top:36px;padding:13px;border-radius:18px}.comments__head{padding-bottom:10px}.comments__status{max-width:52%;overflow:hidden;text-overflow:ellipsis}.comments__placeholder{gap:9px;padding:12px}.message-action{min-height:40px;padding-inline:7px}.message-actions__divider{display:none}.page-page{padding-top:28px}.page-title{font-size:28px}.not-found__actions .button{flex:auto}.terms-grid{margin-top:20px}}.reader-stream{display:flex;align-items:center;gap:10px;min-height:24px;margin:0 0 12px;color:var(--color-text-muted);font-size:12px;line-height:1.4}.reader-stream__status{display:inline-flex;align-items:center;gap:6px;min-width:0;color:var(--color-text-muted)}.reader-stream__pulse{width:5px;height:5px;flex:none;border-radius:50%;background:var(--color-blue);animation:reader-pulse 1.25s ease-in-out infinite}.reader-stream__label{font-weight:530;letter-spacing:.01em}.reader-stream__dots{display:inline-flex;align-items:center;gap:2px;margin-left:1px}.reader-stream__dots span{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.35;animation:reader-dot 1.15s ease-in-out infinite}.reader-stream__dots span:nth-child(2){animation-delay:150ms}.reader-stream__dots span:nth-child(3){animation-delay:300ms}.reader-stream__skip{display:inline-flex;align-items:center;gap:4px;min-height:24px;padding:2px 7px;border:1px solid var(--color-line-soft);border-radius:6px;background:#fff;color:var(--color-text-muted);font-size:11px;font-weight:500;line-height:1.2;white-space:nowrap;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.reader-stream__skip:hover{border-color:rgba(65,118,230,.26);background:var(--color-blue-soft);color:var(--color-blue)}.reader-stream__skip .icon{width:12px;height:12px}.article-page[data-reader-state=streaming] .reader-stream__status{display:none}.is-reader-pending{display:none!important}.article-page.is-reader-animating [data-message-actions]{display:none}.article-page.is-reader-animating .article-prose a,.article-page.is-reader-animating .article-prose button{cursor:pointer}.message-action__count{min-width:.7em;color:var(--color-text-faint);font-size:10.5px;font-variant-numeric:tabular-nums;text-align:center}.message-action:disabled .message-action__count{color:var(--color-text-faint)}@keyframes reader-pulse{0%,100%{opacity:.38;transform:scale(.82)}50%{opacity:1;transform:scale(1)}}@keyframes reader-dot{0%,100%{opacity:.22;transform:translateY(0)}45%{opacity:.9;transform:translateY(-1px)}}@media(prefers-reduced-motion:reduce){.reader-stream__pulse,.reader-stream__dots span{animation:none;opacity:1}}@media(max-width:520px){.reader-stream{gap:8px;margin-bottom:10px}.reader-stream__status{flex:auto}.reader-stream__skip{min-height:32px}}@media(pointer:coarse){.reader-stream__skip{min-height:34px}}.no-js .view-tabs{display:none!important}.no-js .topbar__menu{display:none!important}.no-js .sidebar-backdrop{display:none!important}@media(max-width:1100px){:root{--rail-width:256px}.topbar{padding-inline:20px}.sidebar__inner{padding-inline:10px}}@media(min-width:781px){.sidebar-backdrop{display:none!important}}@media(max-width:780px){:root{--topbar-height:56px}.app-shell{display:block}.sidebar{position:fixed;top:0;bottom:0;left:0;z-index:60;width:min(86vw,312px);height:100dvh;border-right:1px solid var(--color-line);box-shadow:var(--shadow-drawer);transform:translateX(-104%);visibility:hidden;transition:transform var(--transition-base),visibility 0s linear 220ms}.site-body.sidebar-open .sidebar{transform:translateX(0);visibility:visible;transition:transform var(--transition-base),visibility 0s}.sidebar-backdrop{z-index:55;background:rgba(15,17,21,.28);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.sidebar__inner{padding:12px}.sidebar__head{min-height:44px}.sidebar__collapse{display:none}.sidebar__drawer-close{display:inline-flex;width:40px;height:40px}.sidebar__identity{min-height:44px}.sidebar__name{font-size:14px}.sidebar__role{font-size:11.5px}.social-links--sidebar .social-links__link{width:40px;height:40px;min-height:40px}.sidebar-nav{margin-top:16px}.sidebar-nav__link{min-height:44px;padding:9px 10px;font-size:13.5px}.article-index{margin-top:16px;padding-top:0}.article-index__head{padding-bottom:8px}.article-index__title{font-size:12px}.article-index__view{width:34px;height:34px}.timeline__group-toggle,.timeline__group-static{min-height:40px}.article-row__link{min-height:40px;padding:8px 10px 8px 31px}.article-row__title{font-size:13px}.article-row__meta{font-size:10.5px}.account{min-height:44px}.social-links__link{width:40px;height:40px}.topbar{display:flex;align-items:stretch;gap:0;padding:0 12px}.topbar__leading{flex:none;min-width:0}.topbar__menu{display:inline-flex;flex:none;width:40px;height:40px;margin-left:-7px}.topbar__center{position:static;transform:none}.topbar__trailing{display:none}.view-tabs{padding:0}.view-tabs__tab{min-width:0;height:36px;padding:0;font-size:12.5px}.site-body.sidebar-open .app-main{pointer-events:none}.site-body.sidebar-open .topbar{pointer-events:none}.site-body.sidebar-open .sidebar{pointer-events:auto}.reading-column{max-width:none;padding-inline:20px}.toast-region{bottom:16px}.toast{font-size:12px}.no-js .sidebar{position:static;width:100%;height:auto;max-height:none;border-right:0;border-bottom:1px solid var(--color-line-soft);box-shadow:none;transform:none;visibility:visible}.no-js .sidebar__inner{height:auto;max-height:none}.no-js .article-index{flex:none;max-height:none}.no-js .article-index__panels{overflow:visible}.no-js .topbar{position:sticky}.no-js .topbar__center{display:none}.no-js .topbar__leading{flex:initial}.no-js .topbar__title{white-space:normal}.no-js .sidebar__footer{margin-top:12px}}@media(max-width:520px){.sidebar{width:min(92vw,312px)}.topbar{padding-inline:10px}.topbar__menu{margin-left:-5px}.topbar__title{font-size:12px}.view-tabs__tab{min-width:0;height:36px;padding:0;font-size:12px}.site-body.sidebar-open .sidebar{width:min(92vw,312px)}.article-row__link{padding:8px 8px 8px 31px}}.trajectory-view{width:100%;min-width:0}.trajectory,.trajectory__content,.trajectory-list,.trajectory-list__item{min-width:0}.trajectory__head{display:none}.trajectory__pending,.trajectory__empty{display:flex;align-items:center;gap:8px;min-height:42px;padding:8px 18px;color:var(--color-text-muted);font-size:12px}.trajectory__pending-mark,.trajectory__empty-mark{display:inline-flex;align-items:center;color:var(--color-text-muted)}.trajectory__empty-title{font-size:13px;font-weight:500}.trajectory__empty-hint{color:var(--color-text-muted);font-size:11px}.trajectory-overview{display:flex;gap:2px;height:8px;margin:12px 12px 12px 28px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.trajectory-segment{position:relative;flex:0;min-width:3px;height:8px;padding:0;background:var(--trajectory-color,#61666b);color:transparent;font-size:0;line-height:0}.trajectory-segment:hover{filter:saturate(1.2)}.trajectory-segment:focus-visible{z-index:1;outline:2px solid #0f1115;outline-offset:-2px}.trajectory-list{margin:0;border-top:1px solid var(--color-line-soft);list-style:none}.trajectory-item{display:flex;align-items:center;gap:8px;width:100%;min-width:0;min-height:30px;padding:4px 16px 4px 28px;border-bottom:1px solid var(--color-line-soft);color:var(--color-text);text-align:left}.trajectory-item:hover{background:var(--color-hover)}.trajectory-item:focus-visible{outline:2px solid var(--color-blue);outline-offset:-2px}.trajectory-item__mark{flex:none;width:4px;height:17px;border-radius:2px;background:var(--trajectory-color,var(--color-text-muted))}.trajectory-item__copy{display:flex;flex:auto;align-items:center;gap:12px;min-width:0}.trajectory-item__head{flex:0 0 180px;max-width:40%;min-width:0}.trajectory-item__title{display:block;overflow:hidden;padding:1px 5px;border-radius:3px;background:var(--color-selected);color:var(--color-text-soft);font-size:10px;font-weight:560;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.trajectory-item__index{display:none}.trajectory-item__excerpt{overflow:hidden;flex:auto;min-width:0;color:var(--color-text);font-size:12px;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.trajectory-item__meta{flex:none;color:var(--color-text-faint);font-size:10px;white-space:nowrap}@media(max-width:520px){.trajectory-overview{margin-left:12px}.trajectory-item{padding-left:12px;padding-right:10px}.trajectory-item__head{flex-basis:90px;max-width:36%}.trajectory-item__meta{display:none}}.article-title-bubble,.article-prose{scroll-margin-top:calc(var(--topbar-height) + 20px)}.article-prose.is-trajectory-target{outline:2px solid rgba(65,118,230,.36);outline-offset:10px;border-radius:6px}.article-title-bubble.is-trajectory-target,.article-prose h1.is-trajectory-target{border-radius:6px;outline:2px solid rgba(65,118,230,.4);outline-offset:5px;animation:trajectory-target 1.6s var(--ease-out)both}.article-prose h1.is-trajectory-target{padding-inline:6px;margin-inline:-6px}@keyframes trajectory-target{0%{background-color:rgba(65,118,230,.16)}100%{background-color:transparent}}@media(prefers-reduced-motion:reduce){.article-title-bubble.is-trajectory-target,.article-prose h1.is-trajectory-target{animation:none;background-color:var(--color-blue-soft)}.article-prose.is-trajectory-target{outline-style:dashed}}.comment-dock:not([data-dock-ready]){display:none}.comment-dock{position:fixed;z-index:45;right:0;bottom:0;left:var(--rail-width);display:flex;flex-direction:column;align-items:center;min-width:0;padding:0 20px calc(7px + env(safe-area-inset-bottom,0px));background:linear-gradient(to bottom,transparent,var(--color-page) 11px);pointer-events:none}.sidebar-collapsed .comment-dock{left:var(--rail-collapsed-width)}.comment-dock .comment-composer,.comment-dock .comment-stats,.comment-dock .comment-dock__placeholder,.comment-dock .comments__dialog{pointer-events:auto}.comment-dock .comment-composer{width:min(92%,760px);margin:0;padding:6px 10px}.comment-dock .comment-composer__input{min-height:30px}.comment-dock .comment-stats{width:min(100%,952px);margin-top:5px;justify-content:center;justify-content:safe center}.comment-dock .comments__scope-panel{position:fixed;top:auto;right:auto;bottom:12px;left:12px;transform:none}html.has-comment-dock .article-page,.article-page{padding-bottom:calc(var(--comment-dock-space,168px) + 28px)}html.has-comment-dock .home-page{padding-bottom:calc(var(--comment-dock-space,168px) + 28px)}.comment-dock__placeholder{display:flex;align-items:center;justify-content:center;gap:7px;width:min(100%,952px);min-height:52px;padding:9px 16px;border:1px solid var(--color-line-soft);border-radius:22px;background:#fbfcfd;color:var(--color-text-muted);font-size:12px;line-height:1.5;text-align:center}.comment-dock__placeholder-mark{display:inline-flex;flex:none;align-items:center;justify-content:center;color:var(--color-text-faint)}.comment-dock__placeholder-mark .icon{width:14px;height:14px}.comment-dock__placeholder-text{max-width:62ch}@media(max-width:780px){.comment-dock,.sidebar-collapsed .comment-dock{left:0;padding-right:12px;padding-left:12px}.comment-dock .comment-composer{padding:6px 9px;border-radius:21px}.comment-dock__placeholder{min-height:48px;padding:8px 12px;border-radius:18px;font-size:11.5px}.comment-dock .comment-stats{gap:4px 11px}}@media(max-height:500px){.comment-dock .comment-composer__input{max-height:96px}.comment-dock .comment-stats{font-size:9.5px}}