.reading-page .page{max-width:1440px}.reading-page main{display:block;min-height:0}.reading-page h1{font-size:clamp(36px,5.5vw,76px);letter-spacing:-.06em;line-height:1.13;text-shadow:none;width:auto}.reading-page h1:before,.reading-page h1:after{content:none}.reading-page header{gap:24px}.back-link{font-size:12px;color:var(--muted);text-decoration:none}.back-link:hover{color:var(--cyan)}.reading-page a:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}.reading-page footer a{color:var(--muted);text-decoration:none}.reading-page footer a:hover{color:var(--cyan)}.blog-heading{margin-bottom:48px}.blog-heading h1{margin-top:18px}.blog-heading h1 span{color:var(--pink)}.post-card{display:grid;grid-template-columns:1.15fr 1fr;gap:42px;align-items:center;border-top:1px solid #ffffff20;border-bottom:1px solid #ffffff20;padding:32px 0;color:inherit;text-decoration:none}.post-image{overflow:hidden;border-radius:8px}.post-image img{display:block;width:100%;height:auto;transition:transform .3s}.post-card:hover img{transform:scale(1.025)}.post-info time,.article-meta{font-size:12px;color:var(--muted)}.post-info h2{font-size:clamp(24px,3vw,36px);line-height:1.25;letter-spacing:-1px;margin:20px 0}.post-info p{font:16px/1.7 system-ui,sans-serif;color:#b5aebe}.read-link{display:inline-block;margin-top:16px;font-size:12px;color:var(--cyan)}.article-heading{max-width:950px;margin-bottom:36px}.article-meta{margin-top:36px}.article-meta span{color:var(--pink);padding:0 12px}.article-cover{margin:0 0 56px}.article-cover img{display:block;width:100%;height:auto;border-radius:8px}.reading-layout{display:grid;grid-template-columns:240px minmax(0,760px);gap:64px;justify-content:space-between}.reading-layout aside{min-width:0}.toc{position:sticky;top:28px;max-height:calc(100dvh - 56px);overflow:auto;border-top:1px solid #ed529866;padding-top:18px}.toc summary{font-size:13px;cursor:pointer;color:var(--pink)}.toc ol{list-style:none;padding:0;margin:20px 0}.toc li{margin-bottom:12px;font-size:11px;line-height:1.6}.toc li.h3{padding-left:14px;font-size:10px}.toc a{text-decoration:none;color:var(--muted)}.toc a:hover{color:var(--cyan)}.article-body{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:18px;line-height:1.85;color:#d3cdd8;min-width:0;overflow-wrap:anywhere}.article-body>p:first-child{margin-top:0}.article-body p{margin:0 0 24px}.article-body h2,.article-body h3{font-family:"SFMono-Regular",Consolas,monospace;color:var(--text);line-height:1.35;scroll-margin-top:32px;letter-spacing:-.04em}.article-body h2{font-size:30px;margin:64px 0 24px;padding-top:24px;border-top:1px solid #ffffff18}.article-body h3{font-size:23px;margin:40px 0 20px}.article-body a{color:var(--cyan);text-decoration-thickness:1px;text-underline-offset:4px}.article-body a:hover{color:var(--pink)}.article-body strong{color:var(--text)}.article-body ul,.article-body ol{padding-left:26px;margin:24px 0}.article-body li{padding-left:5px;margin:10px 0}.article-body li::marker{color:var(--pink)}.article-body blockquote{margin:32px 0;padding:24px 28px;border-left:3px solid var(--pink);background:#9271df0b;border-radius:0 8px 8px 0}.article-body blockquote p:last-child{margin-bottom:0}.article-body cite{display:block;font-size:14px;color:var(--muted);margin-top:12px}.article-body figure{margin:32px 0;text-align:center}.article-body img{display:block;max-width:100%;height:auto;margin:auto;border-radius:6px}.article-body figcaption{font-size:13px;line-height:1.7;color:var(--muted);margin:12px auto 0;max-width:650px}.article-body iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;border:1px solid #ffffff20;border-radius:8px;background:#191621;margin:28px 0}.article-body video{max-width:100%;height:auto;border-radius:8px}.article-end{display:flex;justify-content:space-between;gap:20px;margin-top:64px;padding-top:28px;border-top:1px solid #ffffff20}.article-end a{font-size:12px;color:var(--cyan);text-decoration:none}@media(max-width:1000px){.reading-layout{grid-template-columns:190px minmax(0,1fr);gap:32px}}@media(max-width:760px){.post-card{grid-template-columns:1fr;gap:24px}.reading-layout{display:block}.toc{position:static;max-height:none;margin-bottom:40px}.article-body{font-size:17px}.article-body h2{font-size:26px;margin-top:48px}.article-body h3{font-size:21px}.article-body blockquote{padding:20px}.article-cover{margin-bottom:32px}.reading-page main{padding-top:32px}.post-info h2{margin-top:14px}.reading-page .back-link{font-size:11px}}
.image-zoom{display:block;max-width:100%;margin:0 auto;padding:0;border:0;background:none;border-radius:8px;cursor:zoom-in}.article-cover .image-zoom{width:100%}.image-zoom:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}.image-viewer-open{overflow:hidden}.image-viewer{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:60px 24px 24px;border:0;background:#0c0b13ed;color:var(--text);overflow:auto}.image-viewer[open]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.image-viewer::backdrop{background:#08070de6}.image-viewer>img{display:block;max-width:100%;max-height:calc(100dvh - 150px);width:auto;height:auto;object-fit:contain;border-radius:4px}.image-viewer>p{font:13px/1.5 system-ui,sans-serif;max-width:850px;max-height:65px;overflow:auto;margin:0;text-align:center;color:#b5aebe}.image-viewer>p:empty{display:none}.image-viewer-close{position:fixed;top:16px;right:20px;width:42px;height:42px;border:1px solid #ffffff40;border-radius:8px;background:#201a2c;color:var(--text);font-size:30px;cursor:pointer}.image-viewer-close:hover{color:var(--cyan);border-color:var(--cyan)}.image-viewer-close:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.toc a{display:block;border-left:2px solid transparent;padding:4px 8px;transition:color .2s,background .2s,border-color .2s}.toc a.is-active{color:var(--cyan);border-left-color:var(--cyan);background:#53d8df0b}.toc li{margin-bottom:4px}
