@charset "UTF-8";:root{--paper: #f5f6f8;--surface: #ffffff;--neutral: #f0f2f5;--neutral-hover: #e6e9ee;--ink: #1d2027;--text: #3b404b;--muted: #6a707c;--line: #e7e9ee;--card-border: #ffffff;--accent: #216ee9;--accent-hover: #165fce;--on-accent: #ffffff;--tint: #eaf2ff;--shadow-card: 0 3px 16px #18274904;--radius-card: 22px;--reading-size: 14px;--font-caption: 12px;--font-control: 13px;--font-body: 14px;--font-card-title: 18px;--font-section-title: 20px;--font-page-title: clamp(26px, 3vw, 30px);--sans: "MiSans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans CJK SC", "PingFang SC", "Microsoft YaHei", sans-serif;--mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;color-scheme:light;font-family:var(--sans);color:var(--text);background:var(--paper);font-synthesis:none}:root[data-theme=dark]{--paper: #101114;--surface: #1c1e22;--neutral: #282b31;--neutral-hover: #33373f;--ink: #f2f3f5;--text: #d2d5dc;--muted: #a1a7b3;--line: #32363d;--card-border: #26292f;--accent: #8ab6ff;--accent-hover: #a8c8ff;--on-accent: #142743;--tint: #24334e;--shadow-card: none;color-scheme:dark}*{box-sizing:border-box}html{scroll-padding-top:28px}html[data-smooth-scroll]{scroll-behavior:smooth}body{margin:0;font-size:var(--font-body);line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit;background:none;border:0}a,button{touch-action:manipulation}button,a,input,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button:disabled{cursor:default;opacity:.4}::selection{background:var(--tint);color:var(--ink)}img{display:block;max-width:100%}svg{flex-shrink:0}h1,h2,h3,p,figure{margin:0}h1,h2,h3{color:var(--ink)}[hidden]{display:none!important}.shell{width:min(1400px,calc(100% - 48px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:16px;z-index:30;padding:12px 20px;border-radius:14px;color:var(--on-accent);background:var(--accent)}.skip-link:focus{top:12px}.site-header{position:relative;z-index:2;padding:12px 0}.masthead{display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;color:var(--ink)}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:var(--accent);color:var(--on-accent)}.brand-label{font-size:24px;font-weight:800;line-height:1.05;letter-spacing:-1px}.brand-dot{color:var(--accent)}.header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.search-trigger{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 13px;border-radius:15px;background:var(--neutral);color:var(--muted);font-size:var(--font-caption)}.search-trigger:hover{background:var(--neutral-hover)}.search-trigger kbd{display:grid;place-items:center;width:21px;height:21px;margin-left:20px;border-radius:6px;background:var(--surface);font:11px var(--mono)}.sun-icon,.moon-icon{line-height:0}.moon-icon,[data-theme=dark] .sun-icon{display:none}[data-theme=dark] .moon-icon{display:block}.nav-row{display:flex;flex:1;justify-content:center;min-width:0}.primary-navigation{display:flex;align-items:center;gap:5px;min-width:0}.primary-links{display:flex;align-items:center;gap:5px;min-width:0;scrollbar-width:none}.primary-links::-webkit-scrollbar{display:none}.primary-links a,.navigation-more>summary{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:10px 13px;border-radius:14px;color:var(--muted);font-size:var(--font-control);white-space:nowrap}.primary-links a:hover,.navigation-more>summary:hover{background:var(--neutral);color:var(--ink)}.primary-links a.active,.navigation-more>summary.active{background:var(--tint);color:var(--accent);font-weight:600}.navigation-more{position:relative;flex-shrink:0}.navigation-more>summary{cursor:pointer;list-style:none}.navigation-more>summary::-webkit-details-marker{display:none}.navigation-more[open]>summary{background:var(--tint);color:var(--accent)}.navigation-more>summary svg{transition:transform .26s cubic-bezier(.22,1,.36,1)}.navigation-more[open]:not([data-menu-state=closing])>summary svg{transform:rotate(180deg)}.navigation-panel{position:absolute;z-index:12;top:calc(100% + 8px);right:0;width:280px;max-height:min(70dvh,620px);overflow-y:auto;overscroll-behavior:contain;padding:12px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 12px 40px #11182718;transform-origin:top right}.navigation-panel section+section{border-top:1px solid var(--line);padding-top:8px;margin-top:8px}.navigation-panel h2{padding:4px 10px;margin-bottom:4px;color:var(--muted);font-size:var(--font-caption);font-weight:500}.navigation-panel a,.navigation-panel button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;padding:8px 10px;border-radius:10px;color:var(--ink);font-size:var(--font-control);text-align:left}.navigation-panel a span{display:flex;flex-direction:column;gap:3px}.navigation-panel a strong{font-weight:600}.navigation-panel a small{color:var(--muted);font-size:var(--font-caption)}.navigation-panel a:hover,.navigation-panel button:hover{background:var(--neutral)}.navigation-panel p{padding:0 10px;color:var(--muted);font-size:var(--font-caption)}.navigation-panel p:empty{display:none}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0}.hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:stretch;gap:36px;padding:32px;border-radius:26px}.hero-copy{align-self:center}.hero-greeting{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:var(--font-caption)}.hero h1{margin:18px 0 14px;font-size:clamp(38px,4vw,50px);font-weight:750;line-height:1.25;letter-spacing:-.045em}.hero-accent{color:var(--ink)}.hero-description{color:var(--muted);font-size:var(--font-body);line-height:1.95}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.hero-footnote{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:30px;color:var(--muted);font-size:var(--font-caption)}.hero-footnote>span{display:inline-flex;align-items:center;gap:6px}.hero-art{position:relative;min-height:300px;overflow:hidden;border-radius:20px;background:var(--neutral)}.hero-photo{position:absolute;inset:0}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 43%}.hero-art:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#0d152966);pointer-events:none}.photo-stamp{position:absolute;top:18px;left:18px;z-index:1;display:flex;align-items:center;gap:6px;padding:7px 11px;border-radius:10px;background:#fffffff0;color:#3b4657;font-size:var(--font-caption)}.hero-art figcaption{position:absolute;bottom:20px;left:22px;right:22px;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#fff;font-size:var(--font-control)}.journal-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:24px;padding-top:36px}.notes-section{min-width:0}.filter-tabs{display:flex;align-items:center;gap:4px;overflow-x:auto;margin-bottom:18px;padding:5px;border-radius:18px;background:var(--neutral);scrollbar-width:none}.filter-tabs::-webkit-scrollbar{display:none}.filter-tabs button{flex-shrink:0;min-height:40px;padding:9px 16px;border-radius:13px;color:var(--muted);font-size:var(--font-caption);white-space:nowrap}.filter-tabs button.active{background:var(--surface);color:var(--accent);box-shadow:0 2px 7px #15254108;font-weight:600}.filter-tabs button:not(.active):hover{color:var(--ink)}.filter-tabs button span{margin-left:5px;color:var(--muted);font-variant-numeric:tabular-nums}.post-list{display:grid;gap:16px}.post-row{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:20px;padding:20px;border:1px solid var(--card-border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card);transition:box-shadow .2s,border-color .2s}.post-with-cover{grid-template-columns:minmax(0,1fr) minmax(200px,30%)}.post-row:hover{border-color:var(--line);box-shadow:0 6px 25px #18274908}.post-copy{min-width:0}.post-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:var(--font-caption)}.category-label{color:var(--muted);font-size:var(--font-caption);font-weight:600}.post-meta time{font-variant-numeric:tabular-nums}.new-label{padding:2px 7px;border-radius:7px;background:var(--neutral);color:var(--muted);font-size:var(--font-caption);line-height:1.5}.post-row h3{margin-top:8px;font-size:var(--font-card-title);font-weight:650;line-height:1.6;letter-spacing:-.012em;overflow-wrap:anywhere}.post-row h3 a:hover{color:var(--accent)}.post-excerpt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-top:9px;color:var(--muted);font-size:var(--font-control);line-height:1.85}.post-bottom{display:flex;align-items:center;gap:14px;margin-top:12px;color:var(--muted);font-size:var(--font-caption)}.post-bottom>span:first-child{display:inline-flex;align-items:center;gap:5px;flex-shrink:0}.post-tags{display:flex;flex-wrap:wrap;gap:7px}.post-tags a{color:var(--muted);font-size:var(--font-caption)}.post-tags a:hover{color:var(--accent)}.read-arrow{display:grid;place-items:center;width:36px;min-height:36px;margin-left:auto;flex-shrink:0;border-radius:12px;background:var(--neutral);color:var(--muted)}.post-cover{display:block;width:100%;aspect-ratio:1.6;overflow:hidden;border-radius:16px;background:var(--neutral)}.post-cover img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.post-cover:hover img{transform:scale(1.035)}.list-end{display:flex;align-items:center;justify-content:center;gap:14px;padding:30px 0;color:var(--muted);font-size:var(--font-caption)}.list-end>span:not([id]){width:22px;height:1px;background:var(--line)}.journal-sidebar{display:flex;flex-direction:column;gap:20px}.author-heading{display:flex;align-items:center;gap:14px}.author-heading img{width:60px;height:60px;object-fit:cover;border-radius:21px}.author-heading h2{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:750;letter-spacing:-.5px}.author-badge{display:grid;place-items:center;width:22px;height:22px;border-radius:8px;color:var(--accent);background:var(--tint)}.author-heading p{margin-top:3px;color:var(--muted);font-size:var(--font-caption)}.author-description{margin:18px 0;color:var(--muted);font-size:var(--font-control);line-height:1.9}.author-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.author-stats>div{display:flex;flex-direction:column;align-items:center;gap:3px}.author-stats strong{color:var(--ink);font-size:24px;font-weight:700;line-height:1.3;font-variant-numeric:tabular-nums}.author-stats span{color:var(--muted);font-size:var(--font-caption)}.author-more{display:flex;align-items:center;justify-content:space-between;min-height:44px;margin-top:9px;color:var(--text);font-size:var(--font-control);font-weight:500}.topic-list a{display:flex;align-items:center;gap:11px;min-height:52px;padding:7px 0;font-size:var(--font-control)}.topic-list a+a{border-top:1px solid var(--line)}.topic-symbol{display:grid;place-items:center;width:35px;height:35px;border-radius:12px;background:var(--tint);color:var(--accent);flex-shrink:0}.topic-symbol[data-tone="1"]{background:#fff1e4;color:#ad682b}.topic-symbol[data-tone="2"]{background:#f0ebff;color:#8060c7}[data-theme=dark] .topic-symbol[data-tone="1"]{background:#3b2b20;color:#e5ae7e}[data-theme=dark] .topic-symbol[data-tone="2"]{background:#302742;color:#c0a3fa}.topic-count{margin-left:auto;color:var(--muted);font-size:var(--font-caption);font-variant-numeric:tabular-nums}.topic-list a>svg:last-child{color:var(--muted)}.topic-list a:hover{color:var(--accent)}.random-note,.subscribe-note{display:flex;align-items:center;gap:12px;padding:18px;border-radius:var(--radius-card);background:var(--surface);color:var(--text)}.random-note>svg:last-child,.subscribe-note>svg:last-child{margin-left:auto}.random-symbol{display:grid;place-items:center;width:40px;height:40px;border-radius:14px;background:var(--surface);flex-shrink:0}.random-note div,.subscribe-note div{display:flex;flex-direction:column;gap:4px;min-width:0}.random-note strong,.subscribe-note strong{font-size:var(--font-body);font-weight:600}.random-note div>span,.subscribe-note div>span{color:var(--muted);font-size:var(--font-caption)}.sidebar-colophon{padding:0 6px;color:var(--muted);font-size:var(--font-caption);line-height:1.9}.site-footer{padding:28px 0 42px;margin-top:46px;border-top:1px solid var(--line);color:var(--muted)}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-signature,.footer-meta{display:flex;align-items:center;flex-wrap:wrap;gap:18px;font-size:var(--font-caption)}.footer-brand{color:var(--ink);font-size:24px;font-weight:800;letter-spacing:-1px}.footer-meta{font-size:var(--font-caption)}.footer-meta a:hover{color:var(--accent)}.footer-network{display:flex;align-items:center;justify-content:space-between;gap:18px 24px;padding-top:22px;margin-top:22px;border-top:1px solid var(--line)}.footer-network-caption{display:flex;align-items:center;gap:10px;font-size:var(--font-caption)}.footer-network-caption>span{color:var(--accent);font-size:16px}.footer-services{display:flex;flex-wrap:wrap;gap:9px;padding:0;margin:0;list-style:none}.footer-service{display:inline-flex;align-items:baseline;gap:9px;padding:7px 12px;border-radius:11px;background:var(--surface);font-size:var(--font-caption)}.footer-service-provider{color:var(--ink);overflow-wrap:anywhere}.content-page{width:100%;min-width:0;min-height:55vh}.page-intro{padding:16px 0 20px}.page-intro h1{margin:0 0 8px;font-size:var(--font-page-title);font-weight:700;letter-spacing:-.025em;line-height:1.4}.page-description{color:var(--muted);font-size:var(--font-body);line-height:1.9}.archive-year{display:grid;grid-template-columns:90px minmax(0,1fr);gap:20px;margin-bottom:16px}.archive-year>h2{display:flex;flex-wrap:wrap;align-items:baseline;align-content:start;gap:8px;padding-top:8px;font-size:var(--font-section-title);font-weight:700;font-variant-numeric:tabular-nums}.archive-entries{display:grid;grid-template-columns:minmax(0,1fr)}.archive-row{display:flex;align-items:baseline;gap:16px;min-width:0;min-height:44px;padding:10px 0;border-bottom:1px solid var(--line)}.archive-row time{flex-shrink:0;color:var(--muted);font-size:var(--font-caption);font-variant-numeric:tabular-nums}.archive-row h3{min-width:0;font-size:var(--font-body);font-weight:500;line-height:1.8;overflow-wrap:anywhere}.archive-row a:hover{color:var(--accent)}.category-index{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.category-index>a{display:flex;align-items:center;gap:10px;min-width:0;min-height:52px;padding:10px 14px;border:1px solid var(--card-border);border-radius:14px;background:var(--surface)}.category-index>a:hover{background:var(--neutral);border-color:var(--line)}.category-index h2{flex:1;min-width:0;color:var(--ink);font-size:var(--font-body);font-weight:600;line-height:1.5;overflow-wrap:anywhere}.category-count{flex-shrink:0;min-width:24px;padding:1px 6px;border-radius:7px;background:var(--neutral);color:var(--muted);font-size:var(--font-caption);text-align:center;font-variant-numeric:tabular-nums}.category-index>a>svg{color:var(--muted)}.about-layout{display:grid;grid-template-columns:minmax(0,1fr) 170px;align-items:start;gap:24px;padding:24px}.about-photo{padding:12px;border-radius:24px;background:var(--neutral)}.about-photo img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:18px}.about-photo figcaption{padding:13px 0 2px;color:var(--muted);font-size:var(--font-caption);text-align:center}@supports (corner-shape: squircle){.hero,.hero-art,.brand-mark,.post-row,.post-cover,.author-heading img,.random-note,.subscribe-note,.category-index>a,.navigation-panel{corner-shape:squircle}}@media(min-width:1000px){.archive-entries{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}}@media(min-width:1200px){.search-results{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}@media(max-width:1120px){.shell{width:calc(100% - 32px)}.masthead{gap:18px}.primary-links a,.navigation-more>summary{padding-inline:10px;font-size:var(--font-caption)}.hero{gap:28px;padding:28px}.journal-layout{grid-template-columns:minmax(0,1fr) 250px;gap:20px}.post-with-cover{gap:18px}.post-tags{display:none}}@media(max-width:960px){.journal-layout{grid-template-columns:minmax(0,1fr)}.journal-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px}.masthead{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.nav-row{grid-column:1 / -1;grid-row:2;justify-content:flex-start}.primary-navigation{width:100%}.primary-links{flex:1;gap:6px}.primary-links a{flex:1}.primary-links a,.navigation-more>summary{padding-inline:16px;font-size:var(--font-control)}.hero{padding:26px;gap:24px}.hero h1{font-size:40px}.hero-art{min-height:280px}.hero-footnote{gap:12px;font-size:var(--font-caption)}.hero-actions{gap:9px}.hero-actions .ui-button{padding-inline:16px;font-size:var(--font-caption)}.footer-network{align-items:flex-start;flex-direction:column;gap:14px}}@media(max-width:760px){.site-header{padding:10px 0}.journal-layout{padding-top:28px}.post-tags{display:flex}.hero{gap:22px;padding:26px}.hero h1{font-size:40px}.hero-art{min-height:285px}.hero-footnote{display:none}.hero-description{font-size:var(--font-control)}.hero-actions{flex-direction:column;align-items:flex-start;gap:8px}.hero-actions .ui-button{min-height:44px}.hero-actions .ui-button-secondary{background:transparent;padding-left:0}.sidebar-colophon{display:none}.footer-top{align-items:flex-start;gap:20px}.footer-meta{justify-content:flex-end;gap:10px 16px}.about-layout{grid-template-columns:minmax(0,1fr) 150px;gap:20px;padding:20px}}@media(max-width:600px){.shell{width:calc(100% - 24px)}.brand{gap:9px}.brand-mark{width:34px;height:34px;border-radius:12px}.brand-label{font-size:22px}.search-trigger{display:grid;place-items:center;width:44px;padding:0}.search-trigger span,.search-trigger kbd{display:none}.header-actions{gap:8px}.primary-navigation{gap:3px;padding:4px;border-radius:18px;background:var(--neutral)}.primary-links{gap:3px}.primary-links a,.navigation-more>summary{gap:5px;min-height:40px;padding:8px 10px;font-size:var(--font-caption);border-radius:13px}.primary-links a>svg{display:none}.primary-links a.active{background:var(--surface);color:var(--accent);box-shadow:0 2px 7px #15254108}.navigation-more[open]>summary{background:var(--surface)}.navigation-panel{right:-5px;width:min(248px,calc(100vw - 32px));max-height:min(65dvh,calc(100dvh - 140px));padding:8px;border-radius:16px}.navigation-panel h2,.navigation-panel a small{display:none}.navigation-panel section+section{padding-top:6px;margin-top:6px}.navigation-panel a,.navigation-panel button{padding:8px}.hero{grid-template-columns:minmax(0,1fr);gap:22px;padding:24px;border-radius:24px}.hero h1{margin:16px 0 14px;font-size:40px;line-height:1.22}.hero-greeting{font-size:var(--font-caption)}.hero-description{font-size:var(--font-control)}.hero-actions{flex-direction:row;align-items:center;gap:10px;margin-top:23px}.hero-actions .ui-button{padding-inline:16px;font-size:var(--font-caption)}.hero-actions .ui-button-secondary{padding-inline:12px;background:var(--neutral)}.hero-art{min-height:0;aspect-ratio:1.8;border-radius:20px}.photo-stamp{top:13px;left:13px;font-size:var(--font-caption);padding:5px 9px}.hero-art figcaption{bottom:15px;left:16px;right:16px;font-size:var(--font-caption)}.journal-layout{padding-top:27px}.filter-tabs{margin-bottom:14px}.filter-tabs button{padding-inline:13px;font-size:var(--font-caption)}.post-list{gap:14px}.post-row{grid-template-columns:minmax(0,1fr);gap:16px;padding:16px}.post-row h3{line-height:1.6}.post-excerpt{font-size:var(--font-control);line-height:1.8}.post-meta{gap:6px;font-size:var(--font-caption)}.category-label{font-size:var(--font-caption)}.post-cover{grid-column:1;grid-row:1;aspect-ratio:16 / 9;border-radius:14px}.post-bottom{gap:10px;margin-top:12px}.post-tags{display:none}.new-label{padding:2px 6px}.journal-sidebar{grid-template-columns:minmax(0,1fr)}.author-heading p{font-size:var(--font-caption)}.author-stats{padding-block:18px}.site-footer{margin-top:32px;padding-bottom:32px}.footer-top{flex-direction:column;gap:16px}.footer-signature{gap:14px;font-size:var(--font-caption)}.footer-meta{justify-content:flex-start;font-size:var(--font-caption)}.footer-services{gap:8px}.footer-service{font-size:var(--font-caption);padding:7px 10px}.page-intro{padding:12px 4px 18px}.archive-year{grid-template-columns:minmax(0,1fr);gap:10px}.archive-year>h2{padding-top:0}.archive-row{gap:14px}.archive-row time{font-size:var(--font-caption)}.category-index{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.category-index>a{gap:8px;min-height:48px;padding:9px 10px}.category-index>a>svg{width:16px;height:16px}.about-layout{display:flex;flex-direction:column-reverse;gap:20px;padding:18px}.about-photo{width:130px;align-self:center}}@media(max-width:360px){.hero{padding:22px}.hero h1{font-size:40px}.hero-actions{gap:8px}.hero-actions .ui-button{padding-inline:13px;font-size:var(--font-caption)}.primary-links a,.navigation-more>summary{padding-inline:8px;font-size:var(--font-caption)}}@media(prefers-reduced-motion:reduce){html[data-smooth-scroll]{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}:where(.ui-card){min-width:0;padding:20px;border:1px solid var(--card-border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card)}.ui-card-soft{background:var(--neutral);box-shadow:none}.ui-card-accent{background:var(--tint);box-shadow:none}.ui-card-unpadded{padding:0}.ui-button,.solid-button,.outline-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 16px;border:1px solid transparent;border-radius:14px;font-size:var(--font-control);font-weight:600;line-height:1.5;transition:background .18s,transform .18s}.ui-button-primary,.solid-button{background:var(--accent);color:var(--on-accent)}.ui-button-primary:hover,.solid-button:hover{background:var(--accent-hover)}.ui-button-secondary,.outline-button{background:var(--neutral);color:var(--ink)}.ui-button-secondary:hover,.outline-button:hover{background:var(--neutral-hover)}.ui-button-ghost{color:var(--text)}.ui-button-ghost:hover{background:var(--tint)}.ui-button:active,.solid-button:active,.outline-button:active{transform:scale(.97)}.ui-button.text-link{color:var(--on-accent)}.icon-button{display:grid;place-items:center;width:44px;height:44px;border-radius:15px;background:var(--neutral);transition:background .18s}.icon-button:hover{background:var(--neutral-hover)}.section-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:16px}.section-heading h2{display:flex;align-items:center;gap:10px;font-size:var(--font-section-title);font-weight:700;letter-spacing:-.025em}.heading-count{display:inline-grid;place-items:center;min-width:28px;height:25px;padding:0 8px;border-radius:9px;background:var(--neutral);color:var(--muted);font:12px/1 var(--sans);font-variant-numeric:tabular-nums}.eyebrow{color:var(--muted);font-size:var(--font-caption);line-height:1.7;font-weight:500}.subtle-link,.text-link{display:inline-flex;align-items:center;gap:8px;min-height:40px;font-size:var(--font-control);font-weight:500}.subtle-link{color:var(--muted);white-space:nowrap}.text-link{color:var(--text);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--line)}.text-link:hover{color:var(--accent)}.ui-button.text-link{text-decoration:none}.text-link svg,.read-arrow svg,.author-more svg{transition:transform .18s}.text-link:hover svg,.read-arrow:hover svg,.author-more:hover svg{transform:translate(3px)}.subtle-link:hover{color:var(--accent)}.tag-cloud{display:flex;flex-wrap:wrap;gap:8px}.tag-cloud a{display:inline-flex;align-items:center;min-height:34px;padding:6px 11px;border-radius:10px;background:var(--neutral);color:var(--muted);font-size:var(--font-caption);overflow-wrap:anywhere;transition:color .18s,background .18s}.tag-cloud a:hover{color:var(--accent);background:var(--tint)}.sidebar-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.sidebar-title h2{font-size:16px;font-weight:650}.sidebar-title>span,.sidebar-title>svg{color:var(--muted);font-size:var(--font-caption)}.search-form{display:flex;align-items:center;gap:10px;padding:6px 12px;margin:0 0 14px;border:1px solid var(--card-border);border-radius:16px;background:var(--surface);color:var(--muted);box-shadow:var(--shadow-card)}.search-form:focus-within{border-color:var(--accent)}.search-form input{flex:1;min-width:0;width:100%;min-height:32px;padding:4px;border:0;border-radius:5px;outline:0;background:transparent;color:var(--ink);font-size:var(--font-body)}.search-form button{flex-shrink:0;min-height:36px;padding:7px 10px;border-radius:10px;background:var(--neutral);color:var(--muted);font-size:var(--font-control)}.search-status{margin:0 4px 18px;color:var(--muted);font-size:var(--font-control)}.empty-state{padding:24px 20px;margin-top:16px;border-radius:var(--radius-card);background:var(--surface);color:var(--muted)}.empty-state h1,.empty-state h2{margin:0 0 8px;font-size:var(--font-section-title);font-weight:650;line-height:1.5}.preview-notice{padding:14px;margin:16px 0;border-radius:14px;background:var(--neutral);color:var(--muted);font-size:var(--font-control)}.comments-section{margin:22px 0 0}.comments-description,.comments-status{margin:12px 0 20px;color:var(--muted);font-size:var(--font-control)}.comments-status{padding:15px 18px;border-radius:14px;background:var(--neutral)}giscus-widget{display:block;width:100%;min-height:180px}.friends-intro{margin:0 4px 18px;color:var(--muted);font-size:var(--font-body)}.friend-templates{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:16px}.muted{color:var(--muted);font-size:var(--font-control)}.friend-template>p{margin-bottom:14px;font-size:var(--font-body)}.friend-template textarea{width:100%;min-height:150px;resize:vertical;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--neutral);color:var(--text);font:12px/1.75 var(--mono);white-space:pre;overflow-x:auto}.template-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:12px}.template-actions span{color:var(--muted);font-size:var(--font-caption)}@supports (corner-shape: squircle){.ui-card,.ui-button,.solid-button,.outline-button,.icon-button,.search-form,.empty-state{corner-shape:squircle}}@media(min-width:960px){.friend-templates{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){:where(.ui-card){padding:16px}.ui-card-unpadded{padding:0}.subtle-link{font-size:var(--font-caption)}.comments-section .section-heading{align-items:flex-start}.comments-section .subtle-link{font-size:var(--font-caption)}.search-form{gap:8px}}.article-back{display:inline-flex;align-items:center;gap:8px;min-height:40px;margin:0 0 8px 4px;color:var(--muted);font-size:var(--font-control)}.article-back:hover{color:var(--accent)}.article-header{padding:24px;margin-bottom:20px}.article-header h1{max-width:1100px;margin:10px 0 12px;font-size:var(--font-page-title);font-weight:700;line-height:1.5;letter-spacing:-.025em;overflow-wrap:anywhere}.article-description{max-width:1000px;margin-bottom:16px;color:var(--muted);font-size:var(--font-body);line-height:1.9}.article-byline{display:flex;align-items:center;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:var(--font-caption)}.article-byline img{width:32px;height:32px;object-fit:cover;border-radius:11px}.article-grid{display:grid;grid-template-columns:minmax(0,1fr) 240px;align-items:start;gap:24px}.article-column,.article-main{min-width:0}.article-main{padding:24px}.article-cover{width:100%;height:auto;max-height:320px;object-fit:cover;margin-bottom:32px;border-radius:20px}.prose{min-width:0;font-size:var(--reading-size, 14px);line-height:1.95;overflow-wrap:anywhere}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.prose p{margin:22px 0}.prose h1,.prose h2{margin:44px 0 18px;font-size:1.45em;font-weight:700;line-height:1.6;letter-spacing:-.02em;scroll-margin-top:28px}.prose h3{margin:30px 0 15px;font-size:1.18em;font-weight:650;line-height:1.7;scroll-margin-top:28px}.prose h4,.prose h5,.prose h6{margin:25px 0 12px;font-size:1.05em;font-weight:600;line-height:1.7}.prose a{color:var(--accent);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 40%,transparent);text-underline-offset:4px}.prose a:hover{text-decoration-color:var(--accent)}.prose strong{color:var(--ink);font-weight:650}.prose blockquote{margin:26px 0;padding:2px 22px;border-left:3px solid var(--line);border-radius:0 16px 16px 0;background:var(--neutral);font-size:.95em}.prose blockquote p{margin:16px 0}.prose ul,.prose ol{padding-left:1.5em;margin:20px 0}.prose li{margin:7px 0;padding-left:.15em}.prose li::marker{color:var(--muted)}.prose hr{border:0;border-top:1px solid var(--line);margin:36px 0}.prose img{max-width:100%;height:auto;margin:24px auto;border-radius:16px}.prose table{display:block;width:100%;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:26px 0;font-size:.85em}.prose th,.prose td{min-width:90px;padding:13px 16px;border:1px solid var(--line);text-align:left}.prose th{background:var(--neutral);color:var(--ink);font-weight:600}.prose pre{max-width:100%;overflow-x:auto;margin:24px 0;padding:22px;border:1px solid var(--line);border-radius:16px;font:13px/1.85 var(--mono);tab-size:2}.prose pre:not(.astro-code){background:var(--neutral)}.prose pre code{font:inherit}.prose :not(pre)>code{padding:3px 6px;border-radius:6px;background:var(--neutral);color:var(--ink);font:.85em var(--mono)}.prose details{margin:24px 0;padding:16px 20px;border:1px solid var(--line);border-radius:16px}.prose summary{color:var(--ink);cursor:pointer;font-weight:600}[data-theme=dark] .astro-code,[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}.article-end{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 0 18px;margin-top:36px;border-top:1px solid var(--line)}.article-end p{color:var(--muted);font-size:var(--font-body)}.toc-wrap{position:sticky;top:24px;max-height:calc(100dvh - 48px);overflow-y:auto;padding:18px;scrollbar-width:thin}.article-toc>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--ink);font-size:15px;font-weight:650;list-style:none;cursor:pointer}.article-toc>summary::-webkit-details-marker{display:none}.article-toc[open]>summary svg{transform:rotate(180deg)}.toc-list{list-style:none;padding:0;margin:15px 0 0}.toc-list li{color:var(--muted);font-size:var(--font-caption);line-height:1.7}.toc-list a{display:block;padding:10px 12px;border-radius:12px;overflow-wrap:anywhere}.toc-list a.active{background:var(--tint);color:var(--accent);font-weight:600}.toc-list a:hover{color:var(--accent);background:var(--neutral)}.toc-list .toc-subsection{padding-left:12px;font-size:var(--font-caption)}.reading-tools{display:flex;align-items:center;gap:7px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:var(--font-caption)}.reading-tools>span{margin-right:auto}.reading-tools button{display:grid;place-items:center;min-width:36px;height:38px;padding:6px;border-radius:12px;background:var(--neutral);color:var(--ink);font-size:var(--font-caption)}.reading-tools button:hover{background:var(--neutral-hover)}@media(max-width:1120px){.article-grid{grid-template-columns:minmax(0,1fr) 220px;gap:20px}.article-main,.article-header{padding:24px}}@media(max-width:1024px){.article-grid{display:flex;flex-direction:column;gap:18px}.article-column,.article-sidebar{width:100%}.article-sidebar{order:-1}.toc-wrap{position:static;max-height:none}.toc-list{max-height:270px;overflow-y:auto}.reading-tools{justify-content:flex-start;gap:10px}.reading-tools>span{margin-right:6px}.article-header{margin-bottom:18px}.article-main{padding:22px}}@media(max-width:600px){.article-back{margin-bottom:12px;font-size:var(--font-caption)}.article-header{padding:20px 16px}.article-header h1{line-height:1.55}.article-byline{gap:7px;font-size:var(--font-caption)}.article-byline img{width:28px;height:28px;border-radius:10px}.article-main{padding:20px 16px}.article-cover{margin-bottom:26px;border-radius:16px}.prose h2{margin-top:35px}.prose pre{padding:16px;border-radius:14px;font-size:var(--font-caption)}.prose th,.prose td{padding:10px 12px}.prose blockquote{padding-inline:16px}.article-end{flex-wrap:wrap;padding-top:20px;margin-top:30px}.article-end p{font-size:var(--font-control)}.toc-wrap{padding:16px}}@keyframes page-enter{0%{opacity:0;transform:translateY(24px)}}[data-page-entry] #main{animation:page-enter .44s cubic-bezier(.22,1,.36,1) backwards}[data-page-entering]{opacity:0}.post-row[data-post-reveal=pending]{opacity:0;transform:translateY(24px)}.post-row[data-post-reveal=pending]:focus-within{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.post-row[data-post-reveal=pending]{opacity:1;transform:none}}.page-loader{position:fixed;inset:0;z-index:20;display:grid;place-items:center;pointer-events:none;color:var(--accent)}.page-loader-content{display:grid;justify-items:center;gap:25px;animation:loader-appear .14s ease-out both}.page-loader-content p{color:var(--muted);font-size:var(--font-caption);letter-spacing:.14em}.page-loader-scene{position:relative;width:104px;height:104px;perspective:420px}.page-loader-cube{--cube-edge: 58px;--cube-depth: 29px;position:absolute;width:var(--cube-edge);height:var(--cube-edge);top:calc(50% - var(--cube-depth));left:calc(50% - var(--cube-depth));transform-style:preserve-3d}.page-loader-cube-outer{animation:loader-orbit 2.6s linear infinite}.page-loader-cube-inner{--cube-edge: 22px;--cube-depth: 11px;animation:loader-core-orbit 3.2s linear infinite}.cube-face{position:absolute;inset:0;border:1px solid color-mix(in oklab,var(--accent) 70%,transparent);background:color-mix(in oklab,var(--accent) 4%,transparent);backface-visibility:visible}.page-loader-cube-inner .cube-face{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 18%,transparent)}.cube-face-0{transform:translateZ(var(--cube-depth))}.cube-face-1{transform:rotateY(180deg) translateZ(var(--cube-depth))}.cube-face-2{transform:rotateY(90deg) translateZ(var(--cube-depth))}.cube-face-3{transform:rotateY(-90deg) translateZ(var(--cube-depth))}.cube-face-4{transform:rotateX(90deg) translateZ(var(--cube-depth))}.cube-face-5{transform:rotateX(-90deg) translateZ(var(--cube-depth))}@keyframes loader-appear{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes loader-orbit{0%{transform:rotateX(-24deg) rotateY(32deg)}to{transform:rotateX(336deg) rotateY(392deg)}}@keyframes loader-core-orbit{0%{transform:rotateX(24deg) rotateY(-32deg)}to{transform:rotateX(-336deg) rotateY(-392deg)}}@media(prefers-reduced-motion:reduce){.page-loader-cube-outer{transform:rotateX(-24deg) rotateY(32deg)}.page-loader-cube-inner{transform:rotateX(24deg) rotateY(-32deg)}}html:not(.theme-transition)::view-transition-old(root),html:not(.theme-transition)::view-transition-new(root){animation:none;mix-blend-mode:normal}.theme-transition [style],.theme-transition main,.theme-transition header,.theme-transition footer{view-transition-name:none!important}.theme-transition::view-transition-group(*){animation-duration:.65s}.theme-transition::view-transition-old(root),.theme-transition::view-transition-new(root){animation:none;mix-blend-mode:normal}.theme-transition::view-transition-old(root){z-index:1}.theme-transition::view-transition-new(root){z-index:2}.theme-transition::view-transition-image-pair(root){isolation:isolate}.announcement-open{overflow:hidden}.announcement-dialog{width:min(460px,calc(100% - 40px));max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;padding:26px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:28px;box-shadow:0 22px 70px #0003}.announcement-dialog::backdrop{background:#11182766;backdrop-filter:blur(4px)}.announcement-dialog[open]{animation:notice-open .28s cubic-bezier(.22,1,.36,1) both}.announcement-dialog[open]::backdrop{animation:notice-backdrop-in .24s ease-out both}.announcement-dialog[data-state=closing]{animation:notice-close .18s ease-in both}.announcement-dialog[data-state=closing]::backdrop{animation:notice-backdrop-out .18s ease-in both}.announcement-stage{position:relative}.announcement-intro{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;opacity:0}.announcement-geometry{position:relative;width:66px;height:66px;color:var(--accent)}.announcement-geometry span{position:absolute;inset:8px;border:1px solid currentColor}.announcement-geometry span:nth-child(2){inset:16px;opacity:.5;transform:rotate(45deg)}.announcement-geometry i{position:absolute;inset:29px;border-radius:50%;background:currentColor}.announcement-dialog[data-state=intro] .announcement-intro{opacity:1}.announcement-dialog[data-state=intro] .announcement-geometry{animation:notice-orbit 1.44s cubic-bezier(.45,0,.55,1) infinite}.announcement-dialog[data-state=intro] .announcement-geometry span:nth-child(2){animation:notice-counter-orbit 1.44s ease-in-out infinite}.announcement-body[inert]{opacity:0;visibility:hidden}.announcement-dialog[data-state=ready] .announcement-intro{animation:notice-symbol-out .18s ease-in both}.announcement-dialog[data-state=ready] .announcement-body{animation:notice-content-in .32s cubic-bezier(.22,1,.36,1) both}@keyframes notice-open{0%{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}@keyframes notice-close{to{opacity:0;transform:translateY(10px) scale(.98)}}@keyframes notice-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes notice-backdrop-out{to{opacity:0}}@keyframes notice-orbit{to{transform:rotate(180deg)}}@keyframes notice-counter-orbit{to{transform:rotate(-135deg)}}@keyframes notice-symbol-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes notice-content-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.announcement-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.announcement-top .icon-button{margin:-12px -12px 0 0;font-size:25px}.announcement-symbol{display:inline-flex;padding:12px;border-radius:18px;background:var(--tint);color:var(--accent);margin:15px 0}.announcement-dialog h2{font-size:28px;font-weight:700}.announcement-content{white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--font-body);line-height:2;margin:18px 0 23px}.announcement-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--line);padding-top:21px;margin-top:26px}.announcement-actions label{display:flex;align-items:center;gap:8px;font-size:var(--font-caption);cursor:pointer}.announcement-actions input{width:16px;height:16px;accent-color:var(--accent)}@supports (corner-shape: squircle){.announcement-dialog{corner-shape:squircle}}@media(max-width:380px){.announcement-dialog{padding:21px}.announcement-actions{gap:10px}}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}.announcement-dialog::backdrop{animation:none!important}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
