:root{--bg:#fff;--panel:#f5f5f5;--ink:#171717;--muted:#626262;--line:#e7e7e7;--accent:#e5e5e5;--error:#b42318;--card-radius:20px;--card-padding:24px;--card-gap:16px;--card-bg:#fff;--card-hover-bg:#fafafa;--card-hover-line:#ccc;--font-sans:Arial, Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--nav-hover:#00000014;--nav-rail:#00000014;--title-weight:500;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#212121;--panel:#2f2f2f;--ink:#ececec;--muted:#b4b4b4;--line:#3b3b3b;--accent:#454545;--error:#ffaaa3;--card-bg:#262626;--card-hover-bg:#2c2c2c;--card-hover-line:#555;--nav-hover:#ffffff1f;--nav-rail:#ffffff14;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{color:var(--muted)}button,input,textarea,select{font:inherit;color:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button.small-link{background:0 0;border:0;padding:0}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--muted);outline-offset:4px}::selection{background:var(--accent);color:var(--ink)}h1,h2,h3,p{margin-top:0}svg{flex-shrink:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--ink);color:var(--bg);z-index:40;border-radius:20px;padding:10px 16px;position:fixed;top:-60px;left:20px}.skip-link:focus{top:10px}.header-inner{justify-content:space-between;align-items:center;gap:24px;max-width:1200px;min-height:64px;margin:auto;padding:12px 24px;display:flex}.site-header{z-index:20;background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0}.site-content{min-width:0}.site-sidebar~.site-content{margin-left:218px}.header-primary-navigation{gap:4px;margin-inline:auto;font-size:14px;display:flex}.header-primary-navigation a{border-radius:20px;padding:6px 12px}.header-primary-navigation a:hover,.header-primary-navigation a[aria-current]{background:var(--panel);color:var(--ink)}.site-sidebar{overscroll-behavior:contain;background:var(--bg);scrollbar-width:none;width:218px;padding:8px 12px 24px;position:fixed;inset:65px auto 0 0;overflow-y:auto}.site-sidebar::-webkit-scrollbar{display:none}.sidebar-links{color:var(--ink);font-size:14px;display:grid}.sidebar-links a{overflow-wrap:anywhere;border-radius:8px;padding:6px 12px;font-weight:400;line-height:20px;transition:background-color .15s,color .15s;display:block}.sidebar-links a:hover,.sidebar-links a[data-active],.sidebar-links a[aria-current]{color:var(--ink);background:var(--nav-hover)}.sidebar-articles{gap:1px;margin:0;padding:0;list-style:none;display:grid}.icon-button.mobile-nav-toggle{display:none}.sidebar-drawer{width:min(300px,100vw - 48px);max-width:none;height:100dvh;max-height:none;color:var(--ink);background:var(--bg);border:0;margin:0;padding:0;position:fixed;inset:0 auto 0 0}.sidebar-drawer::backdrop{background:#00000052}.sidebar-drawer-content{min-height:100%;padding:12px 16px 32px;padding-bottom:max(32px, env(safe-area-inset-bottom))}.sidebar-drawer-heading{justify-content:flex-end;align-items:center;gap:12px;margin-bottom:20px;display:flex}.brand{letter-spacing:-.4px;white-space:nowrap;font-size:19px;font-weight:600}.icon-button:hover{background:var(--panel);color:var(--ink)}.header-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.icon-button{background:0 0;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:inline-flex}.small-link{align-items:center;gap:6px;font-size:13px;font-weight:500;display:inline-flex}.account-menu{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.text-button{color:var(--muted);background:0 0;border:0;padding:0;font-size:13px}.main-shell{max-width:1200px;min-height:calc(100vh - 144px);margin:auto;padding:0 48px}.home-shell,.page-shell,.reading-shell{max-width:768px;margin:auto;padding:48px 0 72px}.home-search{background:var(--panel);color:var(--muted);border-radius:28px;align-items:center;gap:12px;margin-bottom:28px;padding:8px 10px 8px 20px;display:flex}.home-search input{background:0 0;border:0;flex:1;min-width:0;padding:8px 0;font-size:15px}.home-search .icon-button{background:var(--ink);color:var(--bg);width:34px;height:34px}.home-search:focus-within{outline:1px solid var(--muted);outline-offset:2px}.home-search input:focus-visible{outline:none}.topic-filter{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;font-size:13px;display:flex}.topic-filter a{color:var(--muted);border-radius:20px;padding:6px 14px}.topic-filter a:hover,.topic-filter a[aria-current],.topic-filter .active-filter{background:var(--panel);color:var(--ink)}.post-row{align-items:flex-start;gap:16px;display:flex}.surface-card{min-width:0;padding:var(--card-padding);border:1px solid var(--line);border-radius:var(--card-radius);background:var(--card-bg);transition:background-color .15s,border-color .15s}.surface-card:focus-within{border-color:var(--muted)}@media (hover:hover){a.surface-card:hover{color:var(--ink);background:var(--card-hover-bg);border-color:var(--card-hover-line)}.surface-card:has(a:hover){color:var(--ink);background:var(--card-hover-bg);border-color:var(--card-hover-line)}}.post-list{gap:var(--card-gap);margin-top:24px;display:grid}.post-content{flex:1;min-width:0}.post-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.demo-badge{color:var(--muted);font-size:11px}.post-content h2{font-size:24px;line-height:1.4;font-weight:var(--title-weight);letter-spacing:-.025em;overflow-wrap:anywhere;margin:8px 0}.post-content p{color:var(--muted);margin-bottom:14px;font-size:15px;line-height:1.8}.post-bottom{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.tags{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:12px;display:flex}.post-arrow{color:var(--muted);padding-top:34px}.post-arrow svg{width:18px}.site-footer{max-width:768px;color:var(--muted);justify-content:space-between;align-items:center;gap:16px;margin:auto;padding:24px 0;font-size:12px;display:flex}.site-footer>div{align-items:center;gap:16px;display:flex}.site-footer a{align-items:center;gap:3px;display:inline-flex}.page-heading{margin-bottom:32px}.page-heading h1,.article-header h1{letter-spacing:-.7px;margin:0 0 16px;font-size:30px;font-weight:600;line-height:1.4}.page-heading p{color:var(--muted);font-size:14px}.back-link{color:var(--muted);margin-bottom:32px;font-size:13px;display:inline-block}.resume-profile,.resume-photo-editor{align-items:flex-start;gap:24px;display:flex}.resume-photo{object-fit:cover;border-radius:var(--card-radius);background:var(--panel);flex-shrink:0;width:144px;height:144px}.resume-profile{align-items:center;gap:20px}.resume-profile .resume-photo{width:80px;height:80px}.resume-intro,.resume-photo-controls{overflow-wrap:anywhere;flex:1;min-width:0}.resume-intro h1{margin-bottom:8px;font-size:30px;font-weight:600;line-height:1.4}.resume-headline{margin-bottom:0;font-size:15px}.resume-summary{white-space:pre-wrap;margin-top:8px;margin-bottom:0;font-size:14px}.resume-content{margin-top:48px}.resume-work-list{border-top:1px solid var(--line)}.resume-work-row{border-bottom:1px solid var(--line);grid-template-columns:144px minmax(0,1fr);gap:24px;padding:24px 0;display:grid}.resume-work-detail,.resume-work-period,.resume-project-card{min-width:0}.prose.resume-content .resume-entry-title{letter-spacing:0;margin:0 0 8px;font-size:16px;line-height:1.6}.prose.resume-content .resume-entry-date{color:var(--muted);font-variant-numeric:tabular-nums;margin:0;font-size:13px;line-height:1.8}.resume-work-period{padding-top:2px}.resume-project-grid{gap:var(--card-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.prose.resume-content .resume-project-card{padding:var(--card-padding);font-size:15px;line-height:1.8}.prose.resume-content .resume-project-card .resume-entry-date{margin-bottom:16px}.prose.resume-content :is(.resume-project-card,.resume-work-detail)>:last-child{margin-bottom:0}.resume-project-card img{object-fit:contain;background:var(--panel);border-radius:12px;width:100%;max-height:220px;display:block}.resume-format-help{margin:8px 0 0;font-size:13px}.resume-fields{border:0;min-width:0;margin:0;padding:0}.resume-photo-editor{margin-bottom:24px}.resume-photo-controls p,.resume-publish-help{font-size:13px}.resume-publish-help{margin-top:24px}#resume-status{width:140px}.article-header{margin-bottom:32px}.article-layout{max-width:768px;margin:auto}.article-with-toc{grid-template-columns:minmax(0,768px) 200px;align-items:start;gap:48px;max-width:1016px;display:grid}.article-layout .reading-shell{width:100%;min-width:0;margin:0}.article-layout .prose :is(h1,h2,h3,h4,h5,h6){scroll-margin-top:24px}.article-toc{overscroll-behavior:contain;scrollbar-width:thin;max-height:calc(100dvh - 128px);margin-top:48px;position:sticky;top:96px;overflow-y:auto}.article-toc nav{position:relative}.article-toc nav:before{content:"";background:var(--nav-rail);width:2.15px;position:absolute;inset:0 auto 0 0}.article-toc-mobile{display:none}:is(.article-toc,.article-toc-mobile) ol{margin:0;padding:0;list-style:none}:is(.article-toc,.article-toc-mobile) a{padding:8px 12px;padding-left:calc(12px + var(--toc-indent,0) * 12px);color:var(--muted);overflow-wrap:anywhere;font-size:14px;line-height:20px;display:block}:is(.article-toc,.article-toc-mobile) a:hover,:is(.article-toc,.article-toc-mobile) a[aria-current]{color:var(--ink)}.article-toc ol{margin-left:12px}.article-toc li{margin-left:calc(var(--toc-indent,0) * 12px)}.article-toc li+li{margin-top:12px}.article-toc a{padding:0 0 0 8px;transition:color .15s;position:relative}.article-toc a[aria-current]:before{content:"";top:0;bottom:0;left:calc(-12px - var(--toc-indent,0) * 12px);background:var(--ink);width:2.15px;position:absolute}.article-toc-mobile a:hover,.article-toc-mobile a[aria-current]{background:var(--nav-hover)}@media (max-width:1279px){.article-with-toc{max-width:768px;display:block}.article-toc{display:none}.article-toc-mobile{border:1px solid var(--line);border-radius:12px;margin-bottom:24px;display:block;overflow:hidden}.article-toc-mobile summary{cursor:pointer;min-height:44px;padding:10px 16px;font-size:14px}.article-toc-mobile nav{border-top:1px solid var(--line);max-height:50dvh;padding:8px;overflow-y:auto}.article-toc-mobile a{border-radius:8px;align-items:center;min-height:44px;display:flex}.article-layout .prose :is(h1,h2,h3,h4,h5,h6){scroll-margin-top:48px}}.article-header h1{font-size:clamp(30px,4vw,40px);font-weight:var(--title-weight);letter-spacing:-.035em;margin-top:12px;line-height:1.35}.article-header>p{color:var(--muted);margin-bottom:0;font-size:16px;line-height:1.8}.article-byline{align-items:center;gap:12px;min-width:0;margin:0 0 20px;display:flex}.article-author-photo{object-fit:cover;border-radius:50%;flex:none;width:40px;height:40px}.article-author-name{font-size:14px;font-weight:500}.article-author-work{color:var(--muted);overflow-wrap:anywhere;flex-wrap:wrap;gap:2px 16px;margin:3px 0 0;font-size:13px;line-height:1.6;display:flex}.article-copyright{border-top:1px solid var(--line);color:var(--muted);margin:32px 0 20px;padding-top:20px;font-size:13px;line-height:1.7}.notice{background:var(--panel);border-radius:12px;margin-top:20px;padding:14px 16px;font-size:13px}.prose{--document-text:#282828;--document-quote-line:#cdcdcd;color:var(--document-text);letter-spacing:-.16px;overflow-wrap:break-word;font-size:16px;line-height:1.8}.article-cover{background:var(--panel);aspect-ratio:16/9;overflow:hidden}.article-cover img{object-fit:cover;width:100%;height:100%;display:block}.article-cover-hero{border-radius:var(--card-radius);margin-bottom:40px}.post-with-cover{grid-template-columns:192px minmax(0,1fr) auto;align-items:start;gap:20px;display:grid}.post-cover-link{border-radius:12px;min-width:0;display:block;overflow:hidden}.post-with-cover .post-content,.post-with-cover .post-arrow{padding:0}.cover-editor{margin:0 0 28px}.article-cover-preview{border-radius:12px;max-width:480px;margin-bottom:20px}.cover-editor .form-field:last-of-type{margin-bottom:12px}.page-heading h1,.resume-intro h1,.admin-heading h1{font-weight:var(--title-weight);letter-spacing:-.025em}:root[data-theme=dark] .prose{--document-text:var(--ink);--document-quote-line:var(--line)}.prose :is(h1,h2,h3,h4,h5,h6){color:var(--ink);scroll-margin-top:96px;font-weight:600}.prose h1{letter-spacing:-.6px;margin:0 0 24px;font-size:26px;line-height:1.5}.prose h2{margin:40px 0 20px;font-size:20px;line-height:1.3}.prose h3{margin:28.8px 0 10.8px;font-size:18px;line-height:1.33333}.prose :is(h4,h5,h6){margin:27px 0 9px;font-size:18px;line-height:1.44444}.prose p{margin:0 0 16px}.prose :is(ol,ul){margin:0 0 24px;padding-inline-start:26px}.prose li{margin:0;padding:0 0 0 6px}.prose li::marker{color:var(--muted);font-weight:400}.prose li>:is(ol,ul){margin:12px 0}.prose strong{color:var(--ink);font-weight:600}.prose a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted);text-underline-offset:4px;overflow-wrap:anywhere;font-weight:500}.prose a:hover{text-decoration-color:currentColor}.prose blockquote{border-inline-start:4px solid var(--document-quote-line);color:var(--document-text);margin:25.6px 0;padding-inline-start:16px;font-style:normal}.prose blockquote>:last-child,.prose>:last-child{margin-bottom:0}.prose>:first-child{margin-top:0}.prose pre{background:var(--panel);border:1px solid var(--line);letter-spacing:normal;overflow-wrap:normal;border-radius:8px;max-width:100%;margin:20px 0;padding:12px 16px;font-size:14px;line-height:20px;overflow-x:auto}.prose code{background:var(--panel);box-shadow:inset 0 0 0 1px var(--line);border-radius:6px;padding:2px 8px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.875em}.prose pre code{font-size:inherit;box-shadow:none;background:0 0;border-radius:0;padding:0}.prose table{border-collapse:collapse;width:100%;margin:28px 0;font-size:14px;line-height:1.71429;display:block;overflow-x:auto}.prose td,.prose th{border:0;border-bottom:1px solid var(--line);text-align:start;vertical-align:top;min-width:160px;padding:8px}.prose th{color:var(--ink);border-bottom-color:var(--document-quote-line);font-weight:600}.prose :is(th,td):first-child{padding-inline-start:0}.prose :is(th,td):last-child{padding-inline-end:0}.prose tbody tr:last-child td{border-bottom:0}.prose table p{margin:0}.prose img{border:1px solid var(--line);border-radius:8px;max-width:100%;height:auto;margin:32px 0}.prose hr{border:0;border-top:1px solid var(--line);margin:48px 0}.github-records{border-top:1px solid var(--line);padding:24px 0}.github-records-heading{align-items:center;gap:12px;margin-bottom:12px;display:flex}.github-records-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.github-records-list a{align-items:center;gap:12px;padding:0;display:flex}.github-records-list a:hover{text-underline-offset:4px;text-decoration:underline}.github-record-kind{color:var(--muted);flex:0 0 32px;font-size:12px}.github-record-details{overflow-wrap:anywhere;flex:1;min-width:0}.github-record-details strong{font-size:14px;font-weight:500;display:block}.github-record-details>span{color:var(--muted);margin-top:4px;font-size:12px;display:block}.github-records-list svg{flex-shrink:0}.github-editor{border:0;border-top:1px solid var(--line);min-width:0;margin:32px 0;padding:24px 0}.github-editor legend{padding:0}.github-editor-row{margin-bottom:24px}.github-editor-row .form-field{margin-bottom:12px}.article-end{margin-top:24px;padding:24px 0}.archive-row{border-bottom:1px solid var(--line);align-items:center;gap:24px;padding:18px 0;display:flex}.archive-row time{color:var(--muted);flex-shrink:0;font-size:12px}.archive-row>span:nth-child(2){flex:1;font-size:15px}.archive-row small{color:var(--muted);margin-left:10px;font-size:11px}.search-form{gap:10px;margin-bottom:24px;display:flex}.search-form input{border-radius:24px;flex:1;min-width:0;padding:12px 18px}.button{background:var(--ink);color:var(--bg);border:1px solid var(--ink);white-space:nowrap;border-radius:24px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:13px;display:inline-flex}.button:hover{opacity:.8;color:var(--bg)}.button.secondary{color:var(--ink);border-color:var(--line);background:0 0}.button.danger{color:var(--error);border-color:var(--line);background:0 0}input,textarea,select{background:var(--bg);width:100%;color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:11px 14px;font-size:14px}textarea{resize:vertical;min-height:100px;line-height:1.8}label{margin-bottom:8px;font-size:13px;font-weight:500;display:block}.form-field{margin-bottom:20px}.muted{color:var(--muted);font-size:13px}.empty-state{text-align:center;color:var(--muted);padding:48px 20px;font-size:14px}.empty-state h1{color:var(--ink);font-weight:500}.empty-state.full{padding:100px 0}.links-grid{gap:var(--card-gap);grid-template-columns:1fr;display:grid}.link-card h2{margin-bottom:8px;font-size:18px;font-weight:500}.link-card p{color:var(--muted);margin-bottom:0;font-size:14px}.auth-shell{max-width:430px;margin:auto;padding:56px 0 80px}.auth-shell h1{letter-spacing:-.5px;margin:0 0 24px;font-size:28px;font-weight:600}.auth-shell>p{color:var(--muted);margin-bottom:24px;font-size:14px}.auth-shell .button{width:100%}.auth-switch{width:100%;color:var(--muted);text-align:center;background:0 0;border:0;margin-top:20px;font-size:13px;display:block}.form-message{background:var(--panel);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:12px;margin:16px 0;padding:12px 16px;font-size:13px}.form-message.error{color:var(--error)}.comments{border-top:1px solid var(--line);padding-top:24px}.post-actions{margin:24px 0 32px}.post-actions-buttons,.post-share-panel{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.post-action-button{border:1px solid var(--line);background:var(--card-bg);min-height:40px;color:var(--muted);border-radius:24px;justify-content:center;align-items:center;gap:8px;padding:8px 14px;font-size:13px;display:inline-flex}.post-action-button:hover,.post-action-button.is-active{background:var(--panel);color:var(--ink)}.post-share-panel{margin-top:12px}.post-share-panel input{flex:220px;min-width:0;font-size:13px}.post-actions-message{overflow-wrap:anywhere;margin:12px 0 0;font-size:13px}.comment-row{padding:20px 0}.comment-row>header{flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;display:flex}.comment-row time{color:var(--muted);font-size:12px}.comment-row p{white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0;font-size:15px}.comment-form{margin-top:24px}.comment-form>div{justify-content:space-between;align-items:center;gap:16px;margin-top:12px;display:flex}.comment-form small{color:var(--muted);font-size:12px}.annotation-help{margin:0 0 20px;font-size:12px}.annotation-mark{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted);text-underline-offset:5px;cursor:pointer;-webkit-box-decoration-break:clone;box-decoration-break:clone;background:0 0;border-radius:2px;text-decoration-thickness:2px}.annotation-mark:hover,.annotation-mark:focus-visible{background:var(--panel);-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.annotation-toolbar{z-index:30;background:var(--bg);border-radius:24px;max-width:calc(100vw - 32px);font-size:13px;position:fixed;box-shadow:0 4px 24px #0002}.annotation-toolbar>span{padding:12px 16px;display:block}.annotation-toolbar button{min-height:44px;color:var(--ink)}.annotation-dialog{border:1px solid var(--line);background:var(--bg);width:440px;max-width:calc(100vw - 48px);max-height:calc(100dvh - 48px);color:var(--ink);border-radius:20px;margin:0;padding:0;position:fixed;inset:24px 24px 24px auto;overflow:hidden;box-shadow:0 16px 64px #0002}.annotation-dialog[open]{flex-direction:column;display:flex}.annotation-dialog::backdrop{background:#0003}.annotation-dialog-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:12px 20px;display:flex}.annotation-dialog-header strong{font-size:15px;font-weight:600}.annotation-dialog-header .icon-button{min-width:44px;min-height:44px}.annotation-dialog-body{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;padding:20px;overflow-y:auto}.comment-quote{background:var(--panel);border:0;border-inline-start:3px solid var(--muted);color:var(--muted);text-align:start;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:0 12px 12px 0;max-height:180px;margin:12px 0;padding:12px 16px;font-size:14px;line-height:1.7;display:block;overflow-y:auto}.comment-quote-button{cursor:pointer;width:100%}.comment-quote-button:hover{color:var(--ink)}.comment-row .text-button{min-height:44px;margin-right:12px}.annotation-thread+.annotation-thread{border-top:1px solid var(--line);margin-top:24px;padding-top:12px}.annotation-thread .comment-row{padding:16px 0}.annotation-thread .comment-row+.comment-row{border-top:1px solid var(--line)}.annotation-stale{font-size:13px}.annotation-compose textarea{min-height:120px;font-size:16px}.annotation-compose .button{min-height:44px}.pagination{justify-content:center;gap:24px;padding:28px 0;font-size:13px;display:flex}.admin-layout{grid-template-columns:180px minmax(0,1fr);gap:40px;padding:40px 0 64px;display:grid}.admin-nav{background:var(--panel);border-radius:16px;align-self:start;padding:12px}.admin-nav>a{border-radius:10px;align-items:center;gap:10px;padding:10px;font-size:13px;display:flex}.admin-nav>a:hover{color:var(--ink);background:var(--bg)}.admin-main{min-width:0}.admin-main h1{letter-spacing:-.5px;margin:0 0 8px;font-size:28px;font-weight:600}.admin-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.admin-heading>div>p{margin:0}.stat-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin:28px 0;display:grid}.stat-card>span{color:var(--muted);font-size:12px}.stat-card>strong{margin-top:8px;font-size:30px;font-weight:500;display:block}.admin-table-wrap{margin-top:24px;overflow-x:auto}.admin-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.admin-table th{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:500}.admin-table td,.admin-table th{border-bottom:1px solid var(--line);vertical-align:middle;padding:14px 10px}.admin-table td:first-child,.admin-table th:first-child{padding-left:0}.table-actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.table-actions .button{padding:5px 10px;font-size:12px}.status{background:var(--panel);white-space:nowrap;border-radius:12px;padding:2px 8px;font-size:12px;display:inline-flex}.editor-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.editor-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px;display:flex}.editor-body{min-height:400px;font-family:Menlo,Consolas,monospace;font-size:14px}.editor-preview{background:var(--panel);border-radius:12px;max-height:600px;margin:24px 0;padding:24px;overflow-y:auto}.inline-form{grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;margin:20px 0 32px;display:grid}.inline-form .form-field{margin:0}.settings-section{margin-bottom:36px}.management-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:16px 0;display:flex}.management-row p{color:var(--muted);overflow-wrap:anywhere;margin:4px 0;font-size:13px}.management-row strong{font-size:14px;font-weight:500}.management-row .button{padding:6px 12px;font-size:12px}.media-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0;display:grid}.media-card img{object-fit:contain;background:var(--panel);border-radius:12px;width:100%;height:160px}.media-card p{overflow-wrap:anywhere;font-size:12px}.media-card input{padding:6px;font-size:12px}.discussion-row{margin-top:var(--card-gap);display:block}.discussion-row h2{margin:8px 0;font-size:20px;font-weight:600}.discussion-row p{color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:14px}.discussion-meta{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.discussion-compose{margin-bottom:32px}.row-links{gap:20px;display:flex}.no-index-note{color:var(--muted);margin:20px 0;font-size:12px}@media (max-width:1000px){.site-sidebar~.site-content{margin-left:0}.site-sidebar{display:none}.icon-button.mobile-nav-toggle{display:inline-flex}.header-inner{flex-wrap:wrap;gap:12px;padding:10px 16px}.header-primary-navigation{flex-wrap:wrap;order:3;justify-content:center;gap:0;width:100%;margin:0}.main-shell{padding:0 24px}.site-footer{margin:0 24px}.stat-grid{grid-template-columns:repeat(2,1fr)}.admin-layout{grid-template-columns:160px minmax(0,1fr);gap:24px}}@media (max-width:720px){:root{--card-padding:20px}.resume-photo-editor{flex-direction:column;gap:20px}.resume-photo{width:112px;height:112px}.resume-profile{gap:16px}.resume-profile .resume-photo{border-radius:16px;width:64px;height:64px}.resume-intro h1{margin-bottom:4px;font-size:25px}.resume-headline{font-size:14px}.resume-content{margin-top:36px}.resume-work-row{grid-template-columns:1fr;gap:8px;padding:20px 0}.resume-work-period{padding-top:0}.resume-project-grid{grid-template-columns:1fr}.resume-photo-controls{width:100%}.header-inner{gap:8px;padding:10px 12px}.brand{font-size:18px}.header-primary-navigation{font-size:13px}.header-primary-navigation a{padding:6px 10px}.header-actions{gap:2px;margin-left:auto}.header-actions .small-link{font-size:12px}.header-search{display:none}.header-actions .account-menu .small-link{white-space:nowrap;text-overflow:ellipsis;max-width:80px;display:block;overflow:hidden}.header-actions .account-menu{justify-content:flex-end;gap:2px 8px;max-width:80px}.icon-button{width:36px;height:36px}.main-shell{padding:0 20px}.home-shell,.page-shell,.reading-shell{padding:28px 0 48px}.home-search{margin-bottom:20px}.topic-filter{gap:4px}.topic-filter a{padding:6px 12px}.post-row{gap:12px}.post-with-cover{grid-template-columns:88px minmax(0,1fr);gap:14px;padding:16px}.post-with-cover .post-arrow{display:none}.post-with-cover .post-content h2{font-size:19px}.post-with-cover .post-content>p{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.post-content h2{font-size:21px}.post-bottom{flex-wrap:wrap;align-items:flex-start}.site-footer{flex-wrap:wrap;gap:12px;margin:0 20px;font-size:11px}.page-heading h1{font-size:26px}.article-header h1{font-size:30px}.article-header>p{font-size:16px}.archive-row{gap:12px}.archive-row>span:nth-child(2){font-size:14px}.archive-row time{font-size:11px}.auth-shell{padding:32px 0 48px}.admin-layout{padding-top:24px;display:block}.admin-nav{flex-wrap:wrap;gap:4px;margin-bottom:28px;padding:8px;display:flex}.admin-nav>a{gap:6px;padding:8px;font-size:12px}.admin-nav svg{width:14px}.admin-heading{flex-wrap:wrap;gap:12px}.admin-main h1{font-size:25px}.stat-grid{gap:12px}.stat-card>strong{font-size:26px}.editor-grid{grid-template-columns:1fr;gap:0}.inline-form{grid-template-columns:1fr}.media-grid{grid-template-columns:repeat(2,1fr)}.comment-form>div{flex-direction:column;align-items:flex-start}.reading-shell{padding-bottom:calc(48px + env(safe-area-inset-bottom))}.reading-shell .article-header{margin-bottom:24px}.prose{letter-spacing:0;overflow-wrap:anywhere;line-height:1.8}.prose p{margin-bottom:20px}.prose :is(ol,ul){padding-inline-start:22px}.prose li{padding-inline-start:2px}.prose :is(ol,ul) :is(ol,ul) :is(ol,ul){padding-inline-start:16px}.prose blockquote{padding-inline-start:12px}.prose :is(table,pre){overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.prose table{scrollbar-width:thin;padding-bottom:8px}.prose :is(th,td){min-width:156px;padding:12px 8px}.back-link,.post-action-button,.reading-shell .button{min-height:44px}.back-link{align-items:center;display:inline-flex}.comment-form textarea,.post-share-panel input{font-size:16px}.annotation-toolbar{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:fit-content;margin:0 auto;top:auto!important;left:16px!important}.annotation-dialog{inset:auto 0 0;bottom:var(--annotation-keyboard-inset,0px);width:100%;max-width:100%;max-height:calc(var(--annotation-viewport-height,100dvh) * .85);border-bottom:0;border-radius:20px 20px 0 0}.annotation-dialog-body{padding:20px 20px calc(20px + env(safe-area-inset-bottom));scrollbar-gutter:auto}.annotation-compose>div{flex-direction:row;align-items:center}.account-menu{gap:6px}.management-row{flex-wrap:wrap;gap:12px}}@media (prefers-reduced-motion:reduce){.surface-card{transition:none}html{scroll-behavior:auto}}
