/* V2 local upgrade: retain V1 width, palette and long-form typography. */
.logo{font-family:Georgia,"Songti SC",serif}
nav{gap:24px;flex-wrap:wrap}
nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:10px}
.text-row{display:grid;grid-template-columns:116px minmax(0,1fr) 16px;gap:24px;padding:32px 0;border-bottom:1px solid #e9e9e9;text-decoration:none;color:inherit}
.text-row:first-child{padding-top:8px}
.row-meta{color:#888;font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.row-meta span{display:block;margin-top:8px}
.row-content{min-width:0;overflow-wrap:anywhere}
.row-content h3,.article-title{font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-weight:600;font-synthesis:none;font-variant-numeric:lining-nums;letter-spacing:normal}
.row-content h3{font-size:28px;line-height:1.45;margin:0 0 12px}
.row-content p{margin:0;color:#666;line-height:1.85;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.row-arrow{color:#999;margin-top:8px}
.text-row:hover h3{text-decoration:underline;text-underline-offset:5px;text-decoration-color:#bbb}
.sidebar{border-left:0;padding-left:0}
.side-block{background:#f7f7f6;padding:20px 24px;margin-bottom:22px;font-size:14px;color:#666}
.side-block h3{color:#222;font-size:18px;margin:0 0 14px}
.side-block p{line-height:1.8;margin:0}
.category-count{float:right}
.article-title{line-height:1.35;margin-top:0;margin-bottom:18px}
.article .meta a{color:inherit;text-decoration:none}
.article-content{line-height:1.8}
.article-content p{line-height:1.8;margin:.8em 0}
.article-content h1,.article-content h2,.article-content h3{line-height:1.4;margin:1.2em 0 .5em}
.article-content>h1:first-child,.article-content>h2:first-child,.article-content>h3:first-child{margin-top:0}
.article-content blockquote{margin:1em 0}
.article-content .spacing-marker{display:none}
.article-content .photo-block{display:block;width:100%;margin:24px 0}
.article-content .photo-block.portrait{max-width:500px;margin-left:auto;margin-right:auto}
.photo-open,.photo-display{display:block;width:100%;border:0;background:none;padding:0;color:inherit;max-width:100%;margin:auto}
.photo-open{cursor:zoom-in}
.photo-display{cursor:default}
.photo-open.portrait,.photo-display.portrait{max-width:500px}
.article-content .photo-open img,.article-content .photo-display img{width:100%;margin:0;height:auto;max-width:100%}
.article-content .photo-caption{display:block;font-size:16px;color:#666;line-height:1.65;margin:8px 0 0;text-align:center;overflow-wrap:anywhere}
.article-content .photo-inline{display:inline-block;max-width:100%;vertical-align:middle}
.article-content pre{margin:16px 0;padding:12px 16px;background:#f6f6f4;border:1px solid #e6e6e3;border-radius:4px;font-size:15px;line-height:1.5;white-space:pre;overflow-x:auto;overflow-wrap:normal;tab-size:4}
.article-content pre code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:15px;line-height:inherit;white-space:inherit;overflow-wrap:normal;word-break:normal}
#original-viewer{padding:0;width:96vw;max-width:1600px;height:94dvh;max-height:94dvh;border:0;background:#171717;color:#eee;overflow:hidden}
#original-viewer::backdrop{background:#000b}
.viewer-toolbar{display:flex;justify-content:flex-end;gap:10px;padding:12px;position:relative;z-index:1;background:#222}
.viewer-toolbar button{font:inherit;color:#eee;border:1px solid #666;background:#333;padding:8px 12px;cursor:pointer}
.viewer-status{font-size:14px;margin:10px 16px;min-height:22px}
.viewer-canvas{height:calc(100% - 155px);display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none}
.viewer-canvas img{max-width:100%;max-height:100%;object-fit:contain;transform-origin:center;user-select:none}
.viewer-canvas img:not([src]){display:none}
.viewer-help{font-size:12px;color:#aaa;margin:10px 16px}
@media(max-width:1100px){.text-row{grid-template-columns:100px minmax(0,1fr) 14px;gap:18px}}
@media(max-width:900px){.sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.side-block{margin:0}.side-block:last-child{grid-column:1/-1}}
@media(max-width:600px){nav{gap:22px}.text-row{grid-template-columns:78px minmax(0,1fr);gap:16px;padding:26px 0}.row-arrow{display:none}.row-meta{font-size:12px}.row-content h3{font-size:23px}.row-content p{font-size:15px}.sidebar{display:block}.side-block{margin-bottom:20px}.article-content .photo-caption{font-size:15px}.article-content pre{padding:10px 12px;font-size:14px}.article-content pre code{font-size:14px}.viewer-toolbar{gap:6px}.viewer-toolbar button{font-size:13px;padding:9px 10px}}
