:root{--color-accent:#723695;--color-bg:#fff;--color-bg-alt:#f5f4f5;--color-border:#ebe9ec;--color-text:#343135;--color-text-muted:#9b939f;--color-text-secondary:#685e6e}@media (prefers-color-scheme:dark){:root{--color-bg:#1a181b;--color-bg-alt:#242226;--color-border:#342f37;--color-text:#dedddf;--color-text-muted:#68606c;--color-text-secondary:#ada4b2}}::selection{background-color:var(--color-bg-alt);color:var(--color-accent)}body{background-color:var(--color-bg)}body:before{border-bottom:1px dotted var(--color-accent);bottom:0;box-sizing:border-box;content:"";height:0;left:0;position:fixed;transform:rotate(calc(0deg - atan2(1vh,1vw)));transform-origin:bottom left;width:max(200vh,200vw)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}.app{background:rgba(from var(--color-bg)r g b/.7);border:1px dotted var(--color-accent);color:var(--color-text);font-family:system-ui;font-size:15px;font-weight:300;line-height:1.6;margin:12px auto;min-height:calc(100vh - 24px);padding:24px 36px 80px;position:relative;width:min(980px,calc(100vw - 24px))}a{color:var(--color-accent);text-decoration:none}.app *{mix-blend-mode:multiply}@media (prefers-color-scheme:dark){.app *{mix-blend-mode:screen}}.nav{align-items:center;border-bottom:1px dotted var(--color-border);display:flex;gap:12px;padding-bottom:12px}.nav a{color:var(--color-text-muted);font-size:14px}.nav a.active{color:var(--color-accent)}.nav__title{border:1px dotted var(--color-accent)}.nav__clear{color:var(--color-text-muted);cursor:pointer;font-size:13px;margin-left:auto}.find-bar{margin:16px 0}.find-bar.is-hidden{display:none}.find-bar__row{display:flex;gap:4px}.find-bar__input,.cusdis-input{background:0 0;border:none;border-bottom:1px dotted var(--color-border);color:var(--color-text);outline:0;padding:7px 4px;transition:border-color .15s ease}.find-bar__input{flex:1;font-size:15px}.cusdis-input{line-height:1.5;width:100%}.find-bar__input:focus,.cusdis-input:focus{border-bottom-color:var(--color-accent)}.find-bar__input::placeholder,.cusdis-input::placeholder{color:var(--color-text-muted)}.find-bar__clear{background:0 0;border:none;color:var(--color-text-muted);cursor:pointer;display:none;font-size:18px;padding:0 6px}.find-bar__clear.is-visible{display:block}.find-bar__count{color:var(--color-text-muted);font-size:13px;margin-bottom:12px}.find-bar__count b{color:var(--color-text);font-weight:350}mark{background-color:var(--color-bg-alt);color:var(--color-accent);mix-blend-mode:hue;padding:0 1px}.post-list{display:flex;flex-direction:column}.post-card{border-bottom:1px dotted var(--color-border);padding:14px 0;position:relative}.post-card__link{inset:0;position:absolute;z-index:1}.post-card__header,.post-card__meta,.post-card__summary{pointer-events:none;position:relative;z-index:2}.post-card__meta a,.post-card__title{pointer-events:auto}.post-card__header{align-items:baseline;display:flex;gap:12px;margin-bottom:4px}.post-card__date{color:var(--color-text-muted);font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.post-card__title{color:var(--color-text);font-size:15px;line-height:1.4}.post-card:hover .post-card__title{color:var(--color-accent)}.post-card__summary{color:var(--color-text-secondary);font-size:14px;overflow:hidden}.post-card__meta{color:var(--color-text-muted);font-size:12px;margin-top:6px}.post-card__meta,.tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag-list{margin-top:16px}.tag-pill{align-items:center;background:var(--color-bg-alt);border:1px dotted var(--color-border);color:var(--color-text-secondary);display:inline-flex;font-size:13px;gap:4px;padding:4px 10px;transition:color .15s ease,border-color .15s ease}.tag-pill:hover{border-color:var(--color-accent);color:var(--color-accent)}.tag-count,.tag-link{color:var(--color-text-muted)}.tag-count{font-size:11px}.tag-link,.menu__item a,.post-nav__link,.cusdis-reply-btn,.cusdis-footer a,.prose nav .toc-title{transition:color .15s ease}.tag-link:hover,.menu__item a:hover,.post-nav__link:hover,.nav__clear:hover,.cusdis-reply-btn:hover,.cusdis-footer a:hover{color:var(--color-accent)}.stats{border-bottom:1px dotted var(--color-border);margin:0 0 24px;padding:10px 0}.stats__main{align-items:baseline;display:flex;flex-wrap:wrap;gap:18px}.stats__cell{align-items:baseline;display:inline-flex;gap:5px}.stats__value{color:var(--color-text);font-size:15px;font-variant-numeric:tabular-nums;font-weight:350}.stats__label,.stats__span{color:var(--color-text-muted);font-size:12px}.stats__span{font-variant-numeric:tabular-nums;margin-top:6px}.menu{border-left:1px dotted var(--color-border);margin-top:12px;padding-left:20px}.menu__year{font-size:15px;font-weight:350;margin:22px 0 8px;position:relative}.menu__year:before{background:var(--color-accent);border:1px dotted var(--color-bg);border-radius:50%;content:"";height:10px;left:-26px;position:absolute;top:50%;transform:translateY(-50%);width:10px}.menu__month{color:var(--color-text-muted);font-size:12px;margin:12px 0 6px}.menu__item a{align-items:baseline;color:var(--color-text);cursor:pointer;display:flex;font-size:14px;gap:10px;padding:2px 0}.menu__date{color:var(--color-text-muted);font-size:12px;font-variant-numeric:tabular-nums;min-width:40px;white-space:nowrap}.menu__title{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu__leader{border-bottom:1px dotted var(--color-border);flex:1 0 16px;min-width:16px;position:relative;top:-4px}.menu__tags{color:var(--color-text-muted);flex:0 0 auto;font-size:11px;white-space:nowrap}.post-detail__title{font-size:21px;font-weight:350;line-height:1.4;margin-bottom:8px;margin-top:22px}.post-detail__title a{color:inherit}.post-detail__title a:hover{border-bottom:1px dotted var(--color-accent);color:var(--color-accent)}.post-detail__meta{color:var(--color-text-muted);display:flex;flex-wrap:wrap;font-size:13px;gap:12px;margin-bottom:8px}.post-detail__summary{border-bottom:1px dotted var(--color-border);color:var(--color-text-secondary);font-size:14px;line-height:1.6;margin-bottom:14px;padding-bottom:14px}.post-nav{display:flex;gap:12px;justify-content:space-between;margin-bottom:16px}.post-nav__link{color:var(--color-text-muted);font-size:13px}.post-nav__link.is-disabled{pointer-events:none;color:var(--color-text-muted)}.post-nav__prev{text-align:left}.post-nav__next{text-align:right}.prose{font-size:15px;line-height:1.7}.prose h2{border-bottom:1px dotted var(--color-border);font-size:1.4em;margin:1.6em 0 .7em;padding-bottom:.3em}.prose h2,.prose h3{font-weight:350;line-height:1.3}.prose h3{font-size:1.2em;margin:1.4em 0 .6em}.prose h4{border-left:1px dotted var(--color-accent);font-size:1em;font-weight:350;line-height:1.4;margin:1.2em 0 .5em;padding-left:.6em}.prose h5{color:var(--color-text-secondary);font-size:.92em}.prose h5,.prose h6{font-weight:350;margin:1em 0 .4em}.prose h6{color:var(--color-text-muted);font-size:.85em}.prose:is(h2,h3,h4,h5,h6)[id]{position:relative}.heading-anchor{align-items:center;border:1px dotted;color:var(--color-text-muted);display:inline-flex;justify-content:center;left:-1.3em;opacity:0;position:absolute;top:50%;transform:translateY(-50%);transition:opacity .1s ease,color .1s ease;width:1em}h2 .heading-anchor{padding-bottom:.3em}.heading-anchor:focus,.prose:is(h2,h3,h4,h5,h6)[id]:hover .heading-anchor{opacity:1}.heading-anchor:hover,.heading-anchor.is-copied{color:var(--color-accent)}.heading-anchor.is-copied{opacity:1}@media (hover:none),(max-width:640px){.heading-anchor{display:none!important}}.prose p{margin-bottom:1em}.prose a{border-bottom:1px dotted;color:var(--color-accent);cursor:pointer}.prose strong{border:1px dotted var(--color-accent);font-weight:350}.prose blockquote{border-left:1px dotted var(--color-accent);color:var(--color-text-secondary);margin:1.4em 0;padding:.6em 1.4em}.prose blockquote cite{color:var(--color-text-muted);display:block;font-size:.85em;font-style:normal;margin-top:.5em;text-align:right}.prose blockquote cite:before{content:"— "}.prose aside{background:var(--color-bg-alt);border:1px dotted var(--color-border);color:var(--color-text-secondary);font-size:.92em;margin:1.2em 0;padding:.8em 1.2em .8em 2.4em;position:relative}.prose aside:before{color:var(--color-accent);content:"†";left:1em;position:absolute;top:.75em}.prose nav{background:var(--color-bg-alt);border:1px dotted var(--color-border);margin:1.4em 0;padding:.8em 1.4em}.prose nav .toc-title{color:var(--color-text-muted)!important;display:block;font-size:.82em;margin-bottom:.4em}.prose nav .toc-title:hover{color:var(--color-accent)!important}.prose nav ul{list-style:none;margin:0;padding-left:1.2em}.prose nav li{margin:.2em 0}.prose nav a{border-color:var(--color-border);color:var(--color-text-secondary);cursor:pointer}.prose nav a:not(.toc-title):hover{border-color:var(--color-accent);color:var(--color-accent)}.prose code,.prose pre{background:var(--color-bg-alt)}.prose code{padding:1px 4px}.prose pre{border:1px dotted var(--color-border);font-size:13px;line-height:1.5;margin:1em 0;overflow-x:auto;padding:12px 16px;tab-size:4}.prose pre code{background:0 0;padding:0}.prose ol,.prose ul{margin-bottom:1em;padding-left:2.5em}.prose:is(li,ol,ul):is(ol,ul){margin:.3em 1.5em}.prose li{margin-bottom:.2em}.prose ul li:not(nav *){list-style-type:"☆ "}.prose hr{border:none;border-top:1px dotted var(--color-border);margin:1.5em 0}.prose img{margin-bottom:1em;width:100%}.prose img.inline-icon{height:1.4em;margin:0 0 5px;vertical-align:middle;width:1.4em}.prose a:has(img:not(.inline-icon)){border:none}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.prose mjx-container{overflow-x:auto;overflow-y:hidden}.empty,.error,.loading{color:var(--color-text-muted);font-size:14px;padding:48px 0;text-align:center}.spinner{animation:spin .6s linear infinite;border:1px dotted var(--color-border);border-radius:50%;border-top-color:var(--color-accent);display:inline-block;height:20px;width:20px}@keyframes spin{to{transform:rotate(360deg)}}.post-card.kb-cursor .post-card__header{border-left:1px dotted var(--color-accent);margin-left:-11px;padding-left:8px}.menu__item.kb-cursor{border-left:1px dotted var(--color-accent);margin-left:-8px;padding-left:8px}.tag-pill.kb-cursor{border-left:1px dotted var(--color-accent);padding-left:7px}.kb-cursor,.kb-cursor *{outline:0}::target-text{background-color:var(--color-bg-alt);color:inherit}#cusdis_thread{margin-top:24px;padding-top:20px}.cusdis-form{border:1px dotted var(--color-border);display:flex;flex-direction:column;font-size:15px;gap:16px;margin-top:16px;padding:16px}.cusdis-form__row{display:grid;gap:16px;grid-template-columns:1fr 1fr}.cusdis-textarea{border-bottom:none;min-height:calc(1.5em + 14px);overflow:hidden;resize:none}.cusdis-submit{align-self:flex-end;background:0 0;border:none;color:var(--color-accent);cursor:pointer;font-family:inherit;font-size:14px;font-weight:400;transition:opacity .15s ease}.cusdis-submit:hover{opacity:.8}.cusdis-submit:disabled{color:var(--color-text-muted);cursor:not-allowed;opacity:1;pointer-events:none}.cusdis-comment{margin:16px 8px 0}.cusdis-comment--child{border-left:1px dotted var(--color-border);padding-left:16px}.cusdis-comment__header{align-items:center;display:flex}.cusdis-comment__name{font-weight:400;margin-right:8px}.cusdis-comment__date{color:var(--color-text-muted);font-size:14px}.cusdis-comment__body{color:var(--color-text-secondary);line-height:1.6;margin:8px 0}.cusdis-reply-btn{background:0 0;border:none;color:var(--color-text-muted);cursor:pointer;font-family:inherit;font-size:14px;font-weight:400;padding:0;transition:color .15s ease}.cusdis-reply-btn:hover{color:var(--color-accent)}.cusdis-reply-form{border-left:1px dotted var(--color-border);margin-top:16px;padding-left:16px}.cusdis-mod{background-color:var(--color-bg-alt);display:inline-block;font-size:11px;margin-right:4px;padding:1px 6px}.cusdis-loading,.cusdis-mod{color:var(--color-text-muted)}.cusdis-loading,.cusdis-msg{font-size:14px}.cusdis-msg{background-color:var(--color-accent);color:var(--color-bg);margin-bottom:16px;padding:8px}.cusdis-hr{border:none;border-top:1px dotted var(--color-border);margin:32px 0}.cusdis-footer{color:var(--color-text-muted);font-size:12px;text-align:center}.cusdis-footer a{color:var(--color-text-muted)}#cusdis_thread blockquote{background-color:var(--color-bg-alt);border-left:1px dotted var(--color-border);color:var(--color-text-secondary);margin:.5rem 0;padding:.5rem 1rem}@media (max-width:640px){.app{padding:12px 16px 48px}.nav{flex-wrap:wrap;gap:8px}.nav__title{width:100%}.nav a{font-size:13px}.cusdis-form__row{grid-template-columns:1fr}#cusdis_thread{margin-top:16px;padding-top:16px}.post-nav{align-items:flex-start;flex-direction:column;gap:2px}}