.pixel-site{--wallpaper:url(/images/pixel-desktop/wallpaper-light.webp);--shell:#819bae;--chrome:#b9cad4;--paper:#fff8e7;--panel:#eee6d4;--ink:#203c50;--muted:#526777;--accent:#345d7a;--edge:#233e51;--highlight:#e6f0f4;--shadow:#4a6578;--background:var(--paper);--foreground:var(--ink);--card:var(--paper);--muted-foreground:var(--muted);--primary:var(--accent);--border:var(--chrome);color:var(--ink);isolation:isolate;background-color:#304b5b;background-image:repeating-linear-gradient(0deg,#0000 0 3px,#203c5008 3px 4px);height:100dvh;min-height:0;padding:20px 20px 16px;font-size:16px;line-height:1.55;position:relative}.pixel-site:before{content:"";pointer-events:none;clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px);border:2px solid #1a303e;position:absolute;inset:6px;box-shadow:inset 2px 2px #718d9b,inset -3px -3px #1a303e,2px 2px #172d3a}.pixel-site>main{overscroll-behavior:contain;border:0 solid #172d3a;border-width:0 2px;min-height:0;position:relative;overflow:auto}.dark .pixel-site{--wallpaper:url(/images/pixel-desktop/wallpaper.webp);--shell:#243b4b;--chrome:#375262;--paper:#1d303e;--panel:#293f4d;--ink:#f3ebd8;--muted:#b5c6d0;--accent:#a9d0e5;--edge:#7a98ab;--highlight:#597589;--shadow:#13252f}.pixel-site :is(button,a,select,summary,[tabindex]):focus-visible,.pixel-menu [data-highlighted]{outline:2px solid var(--ink,#203c50);outline-offset:2px}.pixel-site :is(h1,h2,h3,p,a){overflow-wrap:anywhere}.pixel-frame{border:2px solid var(--edge);background:var(--chrome);box-shadow:inset 2px 2px var(--highlight), inset -2px -2px var(--shadow)}.site-header,.desktop-taskbar,.pixel-site>footer{color:#f3ebd8;background:linear-gradient(#405e6d,#334f5e);border-color:#172d3a;box-shadow:inset 0 2px #7893a0,inset 0 -2px #243e4c}.site-header .desktop-nav .pixel-button,.site-header .site-brand{color:inherit}.site-header .desktop-nav .pixel-button[aria-current=page]{border-bottom-color:#e9cd94}.desktop-taskbar>.desktop-clock{color:#c3d2d9;border-left:2px solid #7893a0;padding:8px 6px 8px 12px}.pixel-button{border:2px solid var(--edge);background:var(--chrome);min-width:44px;min-height:44px;color:var(--ink);box-shadow:inset 2px 2px var(--highlight), inset -2px -2px var(--shadow);font:inherit;cursor:pointer;border-radius:0;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:15px;line-height:1.4;text-decoration:none;display:inline-flex}.pixel-button:active,.pixel-button[aria-pressed=true],.pixel-button[aria-current=page]{box-shadow:inset 2px 2px var(--shadow), inset -2px -2px var(--highlight)}.pixel-button:hover{background:color-mix(in srgb, var(--chrome) 80%, var(--highlight))}.pixel-primary{background:var(--accent);color:var(--paper)}.pixel-primary:hover{background:var(--ink)}.site-header{z-index:30;flex-shrink:0;align-items:center;gap:8px;height:56px;margin-bottom:0;padding:4px 8px;display:flex;position:relative}.site-brand,.welcome-name,.pixel-name{font-family:var(--font-pixel), var(--font-mono), monospace;font-weight:500}.site-brand{align-items:center;min-height:44px;margin-right:auto;font-size:27px;display:flex}.desktop-nav{gap:8px;display:flex}.desktop-nav .pixel-button{min-width:76px;box-shadow:none;background:0 0;border-color:#0000}.desktop-nav .pixel-button:hover{background:color-mix(in srgb, var(--highlight) 35%, transparent)}.desktop-nav .pixel-button[aria-current=page]{border-bottom-color:var(--accent);font-weight:700}.mobile-navigation{display:none}.skip-link{z-index:100;position:fixed;top:-200px;left:16px}.skip-link:focus{top:16px}.pixel-site:has(.pixel-desktop){height:100dvh;min-height:0;padding-bottom:16px}.pixel-site:has(.pixel-desktop)>main{flex-direction:column;min-height:0;display:flex}.pixel-site:has(.pixel-desktop)>footer{display:none}.home-surface{flex-direction:column;flex:1;min-height:0;display:flex}.pixel-desktop{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.desktop-workspace{background:var(--shell) var(--wallpaper) center/cover;flex:1;min-height:0;position:relative}.enhanced .desktop-workspace{overflow:hidden}.desktop-icons{gap:24px;padding:32px 16px;display:flex}.enhanced[data-multi=true] .desktop-icons{flex-direction:column;gap:24px;width:112px;padding:32px 0;position:absolute;top:0;left:22px}.desktop-icon{color:#fffae8;text-shadow:1px 1px #0d1f2e;flex-direction:column;align-items:center;gap:4px;width:96px;min-height:76px;font-size:15px;display:flex}.desktop-icon>span{text-shadow:none;background:#203c50;padding:0 4px}.desktop-icon img{width:48px;height:48px;image-rendering:pixelated}.desktop-icon:hover{background:#203c5066}.desktop-icon:focus-visible{outline-color:#fff8e7!important}.desktop-window{min-width:0;box-shadow:6px 6px #0f1f2eb3, inset 2px 2px var(--highlight), inset -2px -2px var(--shadow);flex-direction:column;padding:4px;display:flex}.desktop-window[hidden]{display:none}.enhanced[data-multi=true] .desktop-window{position:absolute}.window-titlebar{flex-shrink:0;align-items:center;gap:4px;min-height:44px;margin-bottom:2px;display:flex}.desktop-window[data-active=true]>.window-titlebar{background:var(--accent);color:var(--paper)}.desktop-window[data-active=true]>.window-titlebar h2:focus-visible{outline-color:var(--paper);outline-offset:-3px}.window-controls .pixel-button:focus-visible{outline-offset:-5px}.window-titlebar h2{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;padding:10px 8px;font-size:15px;font-weight:700;line-height:24px;overflow:hidden}.enhanced[data-multi=true] .window-titlebar h2{cursor:move;touch-action:none;-webkit-user-select:none;user-select:none}.window-controls{gap:4px;display:flex}.window-controls .pixel-button{width:44px;padding:0;font-size:20px}.window-content{background:var(--paper);overflow-wrap:anywhere;min-height:0;padding:24px 32px}.enhanced .window-content{overscroll-behavior:contain;scrollbar-gutter:stable;flex:1;overflow:auto}.desktop-taskbar{border-width:2px 0;flex-shrink:0;align-items:center;gap:8px;min-height:56px;margin-top:0;padding:4px 6px;display:flex}.desktop-tasks{flex:1;gap:8px;min-width:0;display:flex;overflow:auto}.desktop-tasks button{white-space:nowrap;flex:1;min-width:100px;max-width:180px}.desktop-clock{font-size:11px}.pixel-meta{font-family:var(--font-mono), monospace;color:var(--muted);font-size:12px;line-height:1.65}.welcome-name{margin:14px 0;font-size:50px;line-height:1.25}.welcome-profile{font-size:17px;line-height:1.55}.home-typewriter{font-family:var(--font-mono), monospace;color:var(--accent);min-height:33px;margin:14px 0;font-size:21px;line-height:1.55}.latest-heading{border-top:1px solid var(--chrome);margin-bottom:14px;padding-top:14px;font-weight:400}.article-feed{margin:0;padding:0;list-style:none}.article-row{grid-template-columns:minmax(0,1fr) 170px;gap:12px 20px;padding:0 0 20px;display:grid}.article-row+.article-row{border-top:1px solid var(--chrome);padding-top:20px}.article-row:not(:has(.article-cover)){grid-template-columns:1fr}.article-row h2{margin:10px 0;font-size:23px;font-weight:700;line-height:1.55}.article-row h2 a:hover{text-decoration:underline}.article-row p{color:var(--muted);font-size:15px;line-height:1.65}.article-cover{width:170px;height:138px;position:relative}.article-read{grid-column:1/-1;justify-self:start;min-width:160px}.app-heading{margin-bottom:20px;font-size:32px;font-weight:700;line-height:1.25}.app-intro{color:var(--muted);margin-bottom:20px}.blog-header{padding:0 0 24px}.blog-header .app-heading{letter-spacing:-.025em;margin-bottom:10px;font-size:34px}.blog-header .app-intro{max-width:680px;margin:0;font-size:15px;line-height:1.7}.blog-controls{background:var(--panel);border:1px solid var(--chrome);box-shadow:inset 1px 1px var(--highlight);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 24px;margin-bottom:24px;padding:14px;display:flex}.blog-toolbar,.blog-tags{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.blog-toolbar{flex:1;min-width:0}.blog-tags .pixel-button{min-height:38px;font-size:13px}.blog-tags .pixel-button[aria-pressed=true]{background:var(--accent);color:var(--paper)}.blog-select{min-height:38px;color:var(--ink);background:var(--paper);border:1px solid var(--chrome);align-items:center;display:flex;position:relative}.blog-select>svg:first-child{pointer-events:none;color:var(--muted);position:absolute;left:10px}.blog-select select{appearance:none;width:100%;font:inherit;cursor:pointer;color:inherit;background:0 0;border:0;padding:9px 30px 9px 34px;font-size:13px;line-height:18px}.blog-select .select-chevron{pointer-events:none;color:var(--muted);position:absolute;right:10px}.blog-select option{background:var(--paper);color:var(--ink)}.blog-count{white-space:nowrap;color:var(--muted);margin:0;font-size:12px}@media (max-width:600px){.blog-controls{gap:12px;padding:12px}.blog-toolbar,.blog-tags{width:100%}.blog-select{flex:130px;min-width:0}.blog-count{border-top:1px solid var(--chrome);width:100%;padding-top:10px}}.full-page-link{margin-top:12px}.library-list li{border-top:1px solid var(--chrome);padding:20px 0}.library-list{margin-top:20px}.library-list h2{margin:10px 0;font-size:23px;font-weight:700}.library-list li>p:not(.pixel-meta){color:var(--muted);margin-bottom:12px}.preferences>:is(h2,p){margin-bottom:20px}.preferences h2{font-size:22px;font-weight:700}.preference-options{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.preference-options .pixel-button{flex:1}.theme-choice{flex-direction:column;padding:10px;position:relative}.theme-check{visibility:hidden;background:var(--accent);color:var(--paper);text-align:center;width:24px;height:24px;position:absolute;top:12px;right:12px}.theme-choice[aria-pressed=true] .theme-check{visibility:visible}.theme-preview{background:#819bae;border:1px solid #233e51;width:100%;height:56px;padding:10px 20px 0 10px;display:block}.theme-preview>span{background:#fff8e7;border-top:8px solid #345d7a;height:100%;display:block}.theme-preview[data-theme=dark]{background:#243b4b}.theme-preview[data-theme=dark]>span{background:#1d303e;border-top-color:#a9d0e5}.current-language{box-shadow:none;background:var(--panel);cursor:default}.current-language:hover{background:var(--panel)}.preferences>.pixel-meta:last-child{margin-bottom:0}.theme-control>p{max-width:300px;font-size:13px}.pixel-menu{--ink:#203c50;color:#203c50;background:#fff8e7;border:2px solid #233e51;border-radius:0;min-width:200px;padding:6px;box-shadow:4px 4px #13252f}.dark .pixel-menu{--ink:#f3ebd8;color:#f3ebd8;background:#1d303e;border-color:#7a98ab}.pixel-menu [role=menuitem]{border-radius:0;min-height:44px;padding:8px 16px;font-size:16px}.reading-window{max-width:1100px;margin:14px auto 32px;padding:4px;box-shadow:6px 6px #0f1f2eb3}.pixel-site:not(:has(.pixel-desktop))>main{background:var(--shell) var(--wallpaper) center top/cover fixed;padding:0 16px 24px}.reading-title{justify-content:space-between;align-items:center;gap:12px;min-height:44px;margin-bottom:4px;padding-left:8px;font-size:15px;font-weight:700;display:flex}.reading-title>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.reading-title>a{flex-shrink:0}.reading-content{background:var(--paper);padding:32px}.reading-content article[data-collection]{max-width:760px;margin:0 auto;padding:0}.reading-content article[data-collection] header{border:0;margin-top:0;padding-bottom:0}.reading-content article[data-collection] h1{font-family:var(--font-sans), sans-serif;letter-spacing:0;text-wrap:initial;margin:20px 0;font-size:34px;font-weight:700;line-height:1.4}.reading-content article[data-collection] header>p{font-size:18px;line-height:1.8}.reading-content article[data-collection] header>div{border-radius:0}.reading-content .site-markdown{color:var(--ink);font-size:18px;line-height:1.8}.reading-content .site-markdown :is(h2,h3,h4){font-family:var(--font-sans), sans-serif;border:0}.reading-content .site-markdown blockquote{font-style:normal}.reading-content .site-markdown :is(img,pre,code){border-radius:0}.about-content section{margin-top:24px}.about-content h2,.about-content h1{margin-bottom:20px;font-size:22px;font-weight:700}.about-content h3{font-size:19px;font-weight:600}.about-content section>p{margin-bottom:20px;font-size:17px;line-height:1.8}.about-identity{align-items:flex-start;gap:24px;display:flex}.about-identity :is(h1,h2){margin:0 0 8px;font-size:32px;line-height:1.25}.about-identity .pixel-name{margin-bottom:8px;font-size:28px;line-height:1.25}.about-identity p:last-child{max-width:260px;color:var(--muted);font-size:15px}.about-portrait{width:124px;height:124px;image-rendering:pixelated;object-fit:cover;flex-shrink:0}.about-content .pixel-section-label{color:var(--accent);font-size:14px}.personal-sphere{color:#575250;width:100%;max-width:600px;height:400px;margin:28px auto 0}.dark .personal-sphere{color:#c1b9b4}.sphere-line{stroke:#796e6a}.dark .sphere-line{stroke:#ae9d94}.sphere-tag{white-space:nowrap;will-change:transform, opacity;cursor:default;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,sans-serif;font-size:15px;line-height:1.75;transition:color .25s;position:absolute}.sphere-tag:hover{color:var(--accent)}.sphere-tag b{font-family:var(--sphere-serif-latin), var(--sphere-serif-cjk), "Songti SC", STSong, "Times New Roman", serif;margin-right:1px;font-style:italic;font-weight:400}.sphere-tag-hero,.sphere-tag-serif,.sphere-tag-italic{font-family:var(--sphere-serif-latin), var(--sphere-serif-cjk), "Songti SC", STSong, "Times New Roman", serif}.sphere-tag-hero,.sphere-tag-serif{color:#242222}.dark .sphere-tag-hero,.dark .sphere-tag-serif{color:#f2eeea}.sphere-tag-hero{letter-spacing:-.01em;font-size:26px;font-weight:700}.sphere-tag-serif{font-size:19px;font-weight:600}.sphere-tag-italic{font-size:18px;font-style:italic}.sphere-tag-mono{font-family:var(--font-mono), "SF Mono", Menlo, monospace;letter-spacing:.14em;text-transform:uppercase;font-size:12px}@media (max-width:900px){.personal-sphere{height:320px}.sphere-tag-mono{letter-spacing:.05em;font-size:10px}}.about-connect{border-top:1px solid var(--chrome);padding-top:24px}.contact-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.contact-link{border:1px solid var(--chrome);box-shadow:inset 1px 1px 0 var(--highlight), 2px 2px 0 var(--chrome);color:var(--ink);align-items:center;gap:16px;padding:20px;text-decoration:none;display:flex}.contact-link:hover{background:var(--panel);border-color:var(--accent)}.contact-icon{background:var(--panel);border:1px solid var(--chrome);flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.contact-details{flex-direction:column;gap:4px;min-width:0;display:flex}.contact-details strong{font-size:16px}.contact-details>span{color:var(--muted);overflow-wrap:anywhere;font-size:13px}.contact-arrow{color:var(--muted);flex-shrink:0;margin-left:auto}@media (max-width:600px){.contact-links{grid-template-columns:1fr}.contact-link{gap:12px;padding:16px}}.pixel-site>footer{border:2px solid #172d3a;border-top-width:0;margin-top:0}.pixel-site>footer>div{color:inherit;padding:20px}@media (prefers-reduced-motion:reduce){.pixel-site *,.pixel-site :before,.pixel-site :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (max-width:1023px),(max-height:639px),(pointer:coarse){.desktop-nav{display:none}.mobile-navigation{display:block}.mobile-navigation summary{list-style:none}.mobile-navigation summary::-webkit-details-marker{display:none}.mobile-navigation nav{gap:8px;width:min(300px,100vw - 32px);padding:12px;display:grid;position:absolute;top:60px;right:0}.enhanced .desktop-workspace{flex-direction:column;padding-top:0;display:flex}.enhanced .desktop-icons{display:none}.enhanced .desktop-window{flex:1;width:100%;height:100%;min-height:0}.desktop-tasks button:not([data-current=true]){display:none}.desktop-tasks button{flex:0 160px}.window-content{padding:24px 20px;scrollbar-gutter:auto!important}.welcome-name{font-size:38px}.welcome-profile{font-size:15px}.home-typewriter{min-height:27px;font-size:clamp(12px,4.1vw,17px)}.pixel-site:has(.pixel-desktop.enhanced) .mobile-navigation{display:none}.article-row{grid-template-columns:1fr}.article-cover{display:none}.article-row h2{font-size:22px}.pixel-site:not(:has(.pixel-desktop))>main{padding:0 0 24px}.reading-content{padding:24px 20px}.reading-title{flex-wrap:wrap;padding:4px}.reading-title>span{width:100%}.reading-content article[data-collection] h1{font-size:28px}.reading-content .site-markdown{font-size:17px;line-height:1.8}.reading-content article[data-collection] header>p{font-size:17px}.about-identity{flex-wrap:wrap;gap:16px}}@media (max-width:360px){.site-brand{font-size:23px}.site-header{gap:4px;padding:4px}.site-header .pixel-button{padding:8px}.window-content,.reading-content{padding:20px 16px}.welcome-name{font-size:32px}}.pixel-desktop:not(.enhanced) :is(.window-controls,.desktop-taskbar){visibility:hidden}@media (max-width:1023px),(max-height:639px),(pointer:coarse){.pixel-site{padding:10px}.pixel-site:has(.pixel-desktop){padding-bottom:10px}.pixel-site:before{inset:2px}}.navigation-status{z-index:60;width:min(540px,100vw - 32px);padding:16px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.navigation-status p{margin-bottom:12px}@media (min-width:1024px) and (min-height:640px) and (pointer:fine){.pixel-desktop:not(.enhanced) .desktop-icons{flex-direction:column;gap:24px;width:112px;padding:32px 0;position:absolute;top:0;left:22px}.pixel-desktop:not(.enhanced) .desktop-window{width:min(780px,100%);height:min(650px,100%);position:absolute;top:max(0px,min(36px,100% - 650px));left:max(0px,min(186px,100% - 780px))}.pixel-desktop:not(.enhanced) .window-content{scrollbar-gutter:stable;flex:1;overflow:auto}}@media (max-width:1023px),(max-height:639px),(pointer:coarse){.pixel-desktop:not(.enhanced) .desktop-icons{display:none}.pixel-desktop:not(.enhanced) .desktop-workspace{flex-direction:column;padding-top:0;display:flex}.pixel-desktop:not(.enhanced) .desktop-window{flex:1;width:100%;height:100%;min-height:0}.pixel-desktop:not(.enhanced) .window-content{flex:1;overflow:auto}}@media (prefers-reduced-motion:reduce){.pixel-menu{transition:none!important;animation:none!important}}.header-preferences>summary{cursor:pointer;list-style:none}.header-preferences>summary::-webkit-details-marker{display:none}.header-preferences>.pixel-frame{background:var(--paper);width:min(380px,100vw - 32px);max-height:calc(100dvh - 100px);box-shadow:4px 4px var(--shadow);padding:24px;position:absolute;top:calc(100% + 8px);right:0;overflow:auto}.desktop-taskbar img,.pixel-menu img{image-rendering:pixelated;flex-shrink:0}#desktop-menu{color:#203c50;background:#e9d9b3;font-weight:700}.desktop-tasks button{justify-content:flex-start;min-width:0}.task-label{text-overflow:ellipsis;overflow:hidden}.show-desktop{flex-shrink:0;width:44px;padding:8px}.desktop-clock{text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;min-width:64px}@media (max-width:600px){.desktop-taskbar{gap:4px;padding-inline:4px}#desktop-menu,.desktop-tasks button{gap:4px;padding-inline:8px}.desktop-taskbar>.desktop-clock{min-width:56px;padding-inline:6px}}@media (min-width:1024px) and (min-height:640px) and (max-height:740px) and (pointer:fine){.enhanced[data-multi=true] .desktop-icons,.pixel-desktop:not(.enhanced) .desktop-icons{gap:12px;padding:16px 0}}.route-taskbar{border-inline-width:2px}.pixel-site:has(.route-taskbar[data-minimized=true])>main{overflow:hidden}.pixel-site:has(.route-taskbar[data-minimized=true])>main>*{display:none}.shell-base{color:#c3d2d9;min-height:28px;font:11px/16px var(--font-mono), monospace;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:6px 8px;display:flex}.shell-base p{margin:0}.shell-signature{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.shell-signature i{background:#e9cd94;width:6px;height:6px;box-shadow:0 0 0 1px #172d3a}@media (max-width:600px){.shell-base{gap:8px;padding-inline:2px;font-size:10px}.shell-signature i{display:none}}@media (max-width:1023px),(max-height:639px),(pointer:coarse){.show-desktop{display:none}}.blog-calendar{position:relative}.blog-date-trigger{cursor:pointer;background:var(--paper);border:1px solid var(--chrome);align-items:center;gap:8px;min-height:38px;padding:9px 12px;font-size:13px;list-style:none;display:flex}.blog-date-trigger::-webkit-details-marker{display:none}.calendar-panel{z-index:120;background:var(--paper);border:2px solid var(--edge);width:288px;max-width:calc(100vw - 80px);box-shadow:4px 4px 0 var(--shadow);padding:12px;position:absolute;top:calc(100% + 8px);left:0}.calendar-heading{justify-content:space-between;align-items:center;gap:6px;margin-bottom:12px;font-size:14px;display:flex}.calendar-heading select{background:var(--paper);color:var(--ink);max-width:80px}.calendar-heading button{padding:5px}.calendar-grid{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.calendar-weekday{color:var(--muted);padding-bottom:5px;font-size:11px}.calendar-grid button{min-height:32px;font-size:13px;position:relative}.calendar-grid i{background:var(--accent);width:4px;height:4px;position:absolute;bottom:2px;left:calc(50% - 2px)}.calendar-panel button:disabled{opacity:.3;cursor:default}.calendar-panel button:not(:disabled):hover{background:var(--panel)}.calendar-grid button[aria-pressed=true]{background:var(--accent);color:var(--paper)}.calendar-grid button[aria-pressed=true] i{background:var(--paper)}.calendar-hint{color:var(--muted);margin:10px 0;font-size:11px}.calendar-actions{border-top:1px solid var(--chrome);gap:6px;padding-top:10px;display:flex}.calendar-actions button{border:1px solid var(--chrome);flex:1;padding:6px 2px;font-size:11px}@media (max-width:600px){.blog-calendar{flex:100%}}
