.home-live-stats[data-v-dc6494a5]{display:flex;align-items:center;justify-content:center;gap:24px;padding-bottom:16px;font-size:13px;color:var(--muted)}.live-stat[data-v-dc6494a5]{display:flex;align-items:baseline;gap:6px}.live-stat-label[data-v-dc6494a5]{font-family:var(--mono);opacity:.8}.live-stat-value[data-v-dc6494a5]{font-weight:600;color:var(--ink);font-family:var(--mono)}.live-stat-divider[data-v-dc6494a5]{width:1px;height:14px;background:color-mix(in srgb,var(--ink) 20%,transparent)}@media(max-width:800px){.home-live-stats[data-v-dc6494a5]{gap:16px;font-size:12px}}@property --rotation{syntax: "<angle>"; initial-value: 0deg; inherits: true;}.gemini{--border-size: 4px;--gradient: conic-gradient(from var(--rotation) at 50% 50% in oklab, oklch(.63 .2 251.22) 27%, oklch(.67 .21 25.81) 33%, oklch(.9 .19 93.93) 41%, oklch(.79 .25 150.49) 49%, oklch(.63 .2 251.22) 65%, oklch(.72 .21 150.89) 93%, oklch(.63 .2 251.22));border-radius:4rem;background:none;position:relative;padding:0;border:4px solid lightgray;width:100%;cursor:text;animation:rotate 4s linear infinite}.gemini:after{content:"";position:absolute;display:block;width:100%;height:100%;background:var(--gradient);top:50%;left:50%;translate:-50% -50%;z-index:-1;border-radius:inherit;filter:blur(15px)}.gemini .inner{background:light-dark(white,#1a1c1e);color:light-dark(#222,hsl(210,8%,66%));display:flex;align-items:center;justify-content:center;font-family:Microsoft YaHei,微软雅黑,sans-serif;padding:1rem .5rem;position:relative;z-index:2;border-radius:inherit}.gemini .border{position:absolute;inset:calc(var(--border-size) * -1);mask:linear-gradient(white);border-radius:inherit;overflow:hidden}.gemini .border:after{content:"";position:absolute;width:100%;height:100%;background:var(--gradient);top:50%;left:50%;translate:-50% -50%;z-index:-1;filter:blur(5px)}.gemini button,.gemini input{color:light-dark(#222,hsl(210,8%,66%));background:none;border:none}.gemini input{font-size:1rem;font-family:Microsoft YaHei,微软雅黑,sans-serif;font-weight:300;text-align:center}.gemini input:focus{outline:none}.gemini input:not(:placeholder-shown){color:light-dark(black,white)}@keyframes rotate{to{--rotation: 360deg}}@media(max-width:800px){.gemini:after{filter:blur(8px)}.gemini .border:after{filter:blur(3px)}}/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.m-86\.25{margin:calc(var(--spacing) * 86.25)}.hidden{display:none}.inline-flex{display:inline-flex}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}}:root{--nav-glass-bg:#ffffff38;--nav-glass-border:#ffffff8c;--nav-glass-shadow:#0000001a;--nav-glass-highlight:#ffffffb3;--nav-glass-caustic:#ffffff4d;--nav-reflection-start:#ffffff8c;--nav-pill-bg:#ffffffd9;--nav-pill-shadow:0 4px 12px #0000001a, 0 1px 2px #0000000f, inset 0 1px 1px #ffffffe6;--ink:#262a26;--muted:#747872;--paper:#f6f6f1;--line:#dddeda;--card:#fff;--serif:"Microsoft YaHei", "微软雅黑", sans-serif;--sans:"Microsoft YaHei", "微软雅黑", sans-serif;--mono:"Microsoft YaHei", "微软雅黑", monospace}html{color-scheme:light}html.dark{color-scheme:dark;--nav-glass-bg:#1c1c2073;--nav-glass-border:#ffffff29;--nav-glass-shadow:#0009;--nav-glass-highlight:#ffffff2e;--nav-glass-caustic:#ffffff0f;--nav-reflection-start:#ffffff1f;--nav-pill-bg:#46464cd9;--nav-pill-shadow:0 4px 12px #0006, 0 1px 2px #00000040, inset 0 1px 1px #ffffff2e;--ink:#f2f2ed;--muted:#9aa094;--paper:#181a18;--line:#303330;--card:#242824}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;font-size:15px;transition:background .25s,color .25s}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}.site-shell{z-index:1;position:relative;overflow-x:clip}.section-wrap{width:min(1400px,100% - 80px);margin:0 auto}.site-header{z-index:50;background:0 0;border-bottom:0;width:100%;transition:background .25s;position:fixed;top:0}.header-inner{justify-content:space-between;align-items:center;width:100%;height:74px;padding:0 20px;display:flex;position:relative}.brand{z-index:60;align-items:center;display:flex;position:absolute;top:7px;left:20px}.brand-knight{width:60px;height:60px}.brand-text{letter-spacing:.02em;color:var(--ink);font:italic 700 18px Microsoft YaHei,微软雅黑,sans-serif}.nav-capsule{background:var(--nav-glass-bg);-webkit-backdrop-filter:blur(40px)saturate(180%);box-shadow:0 24px 48px -16px var(--nav-glass-shadow),0 8px 20px -8px var(--nav-glass-shadow),inset 0 2px 3px -1px var(--nav-glass-highlight),inset 0 -2px 4px -1px var(--nav-glass-caustic),inset 0 0 0 1px var(--nav-glass-border);border-radius:99px;align-items:center;gap:8px;padding:6px 12px;transition:background .4s,box-shadow .4s;display:flex;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.nav-capsule:before{content:"";background:linear-gradient(180deg,var(--nav-reflection-start),transparent);pointer-events:none;z-index:1;border-radius:99px 99px 24px 24px/99px 99px 12px 12px;height:46%;transition:background .4s;position:absolute;top:1px;left:1px;right:1px}.desktop-nav,.header-actions,.capsule-divider{z-index:2;position:relative}.capsule-divider{background:var(--ink);width:1px;height:24px}@supports (color:color-mix(in lab,red,red)){.capsule-divider{background:color-mix(in srgb,var(--ink) 18%,transparent)}}.capsule-divider{flex-shrink:0}.nav-capsule .header-actions{gap:10px;padding-right:6px}.desktop-nav{align-items:center;gap:4px;display:flex}.nav-item{height:42px;color:var(--ink);background:0 0;border:0;border-radius:99px;justify-content:center;align-items:center;gap:6px;padding:0 24px;font-size:13px;font-weight:600;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.nav-item{color:color-mix(in srgb,var(--ink) 78%,transparent)}}.nav-item{cursor:pointer;transition:color .25s,background .25s,box-shadow .25s}.nav-item:hover{color:var(--ink)}.nav-item.active{color:var(--ink);background:var(--nav-pill-bg);box-shadow:var(--nav-pill-shadow)}.header-actions{align-items:center;gap:18px;display:flex}.header-icon{width:32px;height:32px;color:var(--muted);border-radius:6px;justify-content:center;align-items:center;transition:color .2s,background .2s;display:inline-flex}.header-icon:hover{color:var(--ink);background:#8080800f}.header-icon .icon-img{width:18px;height:18px;display:block}.header-link{color:var(--ink);align-items:center;gap:5px;font-size:13px;transition:color .2s;display:inline-flex}.header-link:hover{color:var(--muted)}.menu-toggle{cursor:pointer;color:var(--ink);background:0 0;border:0;margin-left:auto;padding:5px;font-size:20px;display:none}.theme-switch{--el-switch-core-height:24px;--el-switch-core-width:46px}.mobile-menu,.mobile-menu-mask{display:none}@keyframes menu-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes menu-fade-in{0%{opacity:0}to{opacity:1}}.home-hero{position:relative}.hero-mesh{z-index:0;background:var(--paper);position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}.hero-blob{filter:blur(90px);opacity:.55;will-change:transform;border-radius:50%;animation:20s cubic-bezier(.45,.05,.55,.95) infinite alternate blob-float;position:absolute}.blob-1{background:#ff8aa8;width:50vw;height:50vw;top:-10%;left:-10%}.blob-2{background:#5a9bff;width:45vw;height:45vw;animation-delay:-5s;bottom:-10%;right:-10%}.blob-3{background:#ffb35a;width:35vw;height:35vw;animation-delay:-10s;top:30%;left:40%}html.dark .blob-1{background:#8a4bd3}html.dark .blob-2{background:#0a5cd6}html.dark .blob-3{background:#c22e52}html.dark .hero-blob{opacity:.35}@keyframes blob-float{0%{transform:translate(0)scale(1)rotate(0)}33%{transform:translate(5%,10%)scale(1.05)rotate(5deg)}66%{transform:translate(-5%,5%)scale(.95)rotate(-5deg)}to{transform:translateY(-10%)scale(1.1)rotate(0)}}.hero-content{z-index:2;color:var(--ink);padding-top:max(74px,20vh);position:relative}.hero-title{font:600 clamp(38px,5vw,56px) / 1.15 var(--serif);text-align:center;letter-spacing:-.06em;min-height:1.15em;margin:0}.home-search{max-width:560px;margin:42px auto 0}.home-search input{width:100%}.type-caret{vertical-align:-.08em;background:currentColor;width:3px;height:.9em;margin-left:4px;animation:1s step-end infinite caret-blink;display:inline-block}@keyframes caret-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}.photo-section{grid-template-columns:3fr 2fr;align-items:center;gap:56px;padding:90px 0 110px;display:grid}.photo-carousel{aspect-ratio:4/3;overflow:hidden}.photo-carousel .el-carousel,.photo-carousel .el-carousel__container{height:100%}.photo-img{object-fit:cover;width:100%;height:100%;display:block}.photo-title{font:600 clamp(28px,3vw,40px) / 1.25 var(--serif);margin-bottom:18px}.photo-desc{color:var(--muted);margin:0;font-size:14px;line-height:2}.home-layout{grid-template:".owner feed timeline"".calendar feed timeline"".photo feed timeline"".l-announcement feed timeline"1fr/100px 280px minmax(0,1fr) 160px;align-items:start;gap:24px;min-height:calc(100vh - 110px);margin-top:100px;padding:0 0 110px;display:grid;position:relative}.home-col-left,.home-col-main{display:contents}.home-timeline{grid-area:timeline;min-width:0}.owner-card{grid-area:owner}.calendar-card{grid-area:calendar}.photo-wall-card{grid-area:photo}.home-col-left>.announcement-card{grid-area:l-announcement}.feed-announcement{grid-area:r-announcement}.home-feed-container{scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--ink) transparent;grid-area:feed;align-self:stretch;width:100%;height:100%;min-height:0;padding:18px;overflow-y:auto}@supports (color:color-mix(in lab,red,red)){.home-feed-container{scrollbar-color:color-mix(in srgb,var(--ink) 35%,transparent) transparent}}.home-feed-container::-webkit-scrollbar{width:8px}.home-feed-container::-webkit-scrollbar-thumb{background:var(--ink)}@supports (color:color-mix(in lab,red,red)){.home-feed-container::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--ink) 35%,transparent)}}.home-feed-container::-webkit-scrollbar-thumb{border-radius:99px}.home-feed-container::-webkit-scrollbar-track{background:0 0}.feed-announcement{border:1px solid var(--ink);width:100%;padding:24px 26px}@supports (color:color-mix(in lab,red,red)){.feed-announcement{border:1px solid color-mix(in srgb,var(--ink) 14%,transparent)}}.feed-announcement{background:linear-gradient(135deg,#f97316,#22d3ee);border-radius:12px}@supports (color:color-mix(in lab,red,red)){.feed-announcement{background:linear-gradient(135deg,color-mix(in srgb,#f97316 10%,var(--card)),color-mix(in srgb,#22d3ee 8%,var(--card)))}}.feed-announcement-title{font:600 22px/1.4 var(--serif);margin:0 0 8px}.home-timeline{color:var(--ink);justify-self:end;min-width:0;padding:4px 0 0}.home-timeline .el-timeline{margin:0;padding:0}.home-timeline .el-timeline-item__content{color:var(--ink);font-size:14px}.home-timeline .el-timeline-item__timestamp{color:var(--muted);font-size:12px}.home-timeline .el-timeline-item__tail{border-left-color:var(--ink)}@supports (color:color-mix(in lab,red,red)){.home-timeline .el-timeline-item__tail{border-left-color:color-mix(in srgb,var(--ink) 35%,transparent)}}.home-timeline .el-timeline-item__dot{color:var(--ink);background-color:#0000}.home-timeline .el-timeline-item__dot .el-timeline-item__icon{color:var(--ink)}.home-timeline .el-timeline-item__node{background-color:var(--ink);box-shadow:0 0 0 3px var(--ink)}@supports (color:color-mix(in lab,red,red)){.home-timeline .el-timeline-item__node{box-shadow:0 0 0 3px color-mix(in srgb,var(--ink) 25%,transparent)}}.home-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;transition:background .25s,border-color .25s}.home-card-title{font:600 15px/1.4 var(--serif);margin-bottom:12px}.photo-wall-card{padding:0;overflow:hidden}.photo-wall-card .el-carousel,.photo-wall-card .el-carousel__container{height:220px}.photo-wall-caption{padding:16px 20px 20px}.photo-wall-title{font:600 18px/1.3 var(--serif);margin-bottom:6px}.photo-wall-desc{color:var(--muted);margin:0;font-size:13px;line-height:1.7}.announcement-text{color:var(--muted);margin:0;font-size:13px;line-height:1.8}.welcome-card{text-align:center;padding:36px 24px}.welcome-title{font:600 clamp(20px,2.4vw,28px) / 1.5 var(--serif);letter-spacing:-.02em;min-height:1.5em;margin:0}.comment-section{min-width:0}.article-feed{flex-direction:column;gap:20px;display:flex}.feed-error{color:var(--muted);text-align:center;font-size:14px}.article-card{cursor:pointer;border-radius:14px;grid-template-columns:260px 1fr;min-height:150px;transition:border-color .25s,box-shadow .25s;display:grid;overflow:hidden}.article-card:hover,.article-card:focus-visible{border-color:var(--ink)}@supports (color:color-mix(in lab,red,red)){.article-card:hover,.article-card:focus-visible{border-color:color-mix(in srgb,var(--ink) 24%,transparent)}}.article-card:hover,.article-card:focus-visible{outline:none;box-shadow:0 18px 40px #0000001a}.article-card:focus-visible{box-shadow:0 0 0 2px var(--ink)}.article-cover-wrap{border-right:1px solid var(--ink);height:100%;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.article-cover-wrap{border-right:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}}.article-cover,.article-cover-placeholder{object-fit:cover;width:100%;height:100%;display:block}.article-cover-placeholder{background:linear-gradient(135deg,#4b7b72,#9b5f49);place-items:center;display:grid}@supports (color:color-mix(in lab,red,red)){.article-cover-placeholder{background:linear-gradient(135deg,color-mix(in srgb,#4b7b72 38%,var(--card)),color-mix(in srgb,#9b5f49 32%,var(--card)))}}.article-cover-placeholder{color:#ffffffd1;font:600 54px var(--serif)}.article-body{flex-direction:column;min-height:0;padding:18px 20px 16px;display:flex}.article-title{font:600 clamp(22px,3vw,30px)/1.3 var(--serif);letter-spacing:-.04em;margin:0 0 10px}.article-excerpt{color:var(--muted);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin:0 0 18px;font-size:14px;line-height:1.8;display:-webkit-box;overflow:hidden}.article-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;display:flex}.article-date{font:11px var(--mono);color:var(--muted);letter-spacing:.04em}.article-actions,.post-content-actions{align-items:center;gap:14px;display:flex}.article-action,.post-action{color:var(--muted);align-items:center;gap:5px;font-size:13px;transition:color .2s;display:inline-flex}.like-action{cursor:pointer;background:0 0;border:0;padding:0}.like-icon,.comment-icon{vertical-align:-2px;width:15px;height:15px;display:inline-block}.like-action:hover,.like-action.liked{color:#3b82f6}.comment-action{cursor:default}.avatar-img,.avatar-initial{object-fit:cover;border-radius:50%;width:40px;height:40px;display:block}.avatar-initial{color:#fff;font:600 15px var(--serif);justify-content:center;align-items:center;display:flex}.owner-badge{font:10px var(--mono);color:#fff;background:#3b82f6;border-radius:99px;align-items:center;padding:2px 7px;display:inline-flex}.comment-composer{border-bottom:1px solid var(--line);gap:12px;margin-bottom:20px;padding-bottom:20px;display:flex}.composer-unified{border:1px solid var(--line);background:var(--paper);border-radius:10px;flex-direction:column;flex:1;gap:10px;min-width:0;padding:12px;display:flex}.composer-identity{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.composer-avatar{object-fit:cover;border-radius:50%;width:28px;height:28px}.composer-field{width:100%;color:var(--ink);font:inherit;background:0 0;border:0;outline:none;font-size:13px}.comment-avatar-small .avatar-img,.comment-avatar-small .avatar-initial{width:32px;height:32px;font-size:13px}.comment-textarea{resize:vertical;line-height:1.6}.comment-composer-actions{justify-content:flex-end;gap:8px;display:flex}.login-hint{color:var(--muted);margin:0;font-size:14px}.login-link{color:#3b82f6;cursor:pointer}.login-link:hover{text-decoration:underline}.login-modal-overlay{z-index:120;background:#00000073;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.login-modal{border:1px solid var(--line);background:var(--card);border-radius:14px;flex-direction:column;gap:16px;min-width:260px;max-width:320px;padding:24px;display:flex;position:relative}.login-modal-close{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:22px;line-height:1;position:absolute;top:10px;right:12px}.login-dialog-title{color:var(--ink);margin:0;font-size:16px;font-weight:600}.login-buttons{flex-wrap:wrap;gap:10px;display:flex}.oauth-btn{border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex}.oauth-btn:hover{background:var(--ink)}@supports (color:color-mix(in lab,red,red)){.oauth-btn:hover{background:color-mix(in srgb,var(--ink) 5%,var(--card))}}.oauth-btn.github:before{content:"";background:currentColor;width:16px;height:16px;-webkit-mask:url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"/></svg>') 50%/contain no-repeat;mask:url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"/></svg>') 50%/contain no-repeat}.oauth-btn.qq:before{content:"";background:currentColor;width:16px;height:16px;-webkit-mask:url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="12" r="10" fill="none" stroke="currentColor" stroke-width="2"/><text x="12" y="17" text-anchor="middle" font-size="12" font-weight="bold" fill="currentColor">Q</text></svg>') 50%/contain no-repeat;mask:url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="12" r="10" fill="none" stroke="currentColor" stroke-width="2"/><text x="12" y="17" text-anchor="middle" font-size="12" font-weight="bold" fill="currentColor">Q</text></svg>') 50%/contain no-repeat}.el-empty__image{display:none}.owner-mode-btn{color:#3b82f6;cursor:pointer;background:0 0;border:0;border-radius:99px;flex-shrink:0;padding:4px 10px;font-size:12px;transition:background .2s}.owner-mode-btn:hover{background:#3b82f61a}.comment-delete-btn{color:var(--muted);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0 4px;font-size:11px;transition:color .2s}.comment-delete-btn:hover{color:#f43f5e}.comment-error{color:var(--muted);font-size:13px}.comment-list{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.comment-item,.comment-reply-item{gap:12px;display:flex}.comment-avatar{flex-shrink:0}.comment-body{flex:1;min-width:0}.comment-owner .comment-content{color:var(--ink)}.comment-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.comment-author{font-size:13px;font-weight:600}.comment-reply-to{color:var(--muted);font-size:12px}.comment-time{font:11px var(--mono);color:var(--muted)}.comment-content{word-break:break-word;margin:6px 0 8px;font-size:13px;line-height:1.7}.comment-floor{font:11px var(--mono);color:var(--muted)}.comment-reply-btn{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;transition:color .2s}.comment-reply-btn:hover{color:var(--ink)}.comment-replies{border-left:1px solid var(--line);flex-direction:column;gap:14px;margin:12px 0 0;padding:12px 0 0 16px;list-style:none;display:flex}.comment-reply-form{gap:10px;margin-top:12px;display:flex}.owner-card{flex-direction:column;align-items:center;gap:12px;display:flex}.owner-card .owner-info{flex-direction:column;align-items:center;display:flex}.owner-avatar{object-fit:cover;border:2px solid var(--line);border-radius:50%;width:64px;height:64px}.owner-info{min-width:0}.owner-name{font:600 17px/1.4 var(--serif);align-items:center;gap:8px;margin:0 0 4px;display:flex}.owner-stats{gap:18px;margin-top:10px;display:flex}.owner-stat{flex-direction:column;align-items:flex-start;line-height:1.2;display:flex}.owner-stat b{font:600 15px var(--serif);color:var(--ink)}.owner-stat span{color:var(--muted);font-size:11px}.mini-calendar{font-size:12px}.mini-calendar-header{font:600 15px/1.4 var(--serif);margin-bottom:12px}.mini-calendar-weekdays{color:var(--muted);grid-template-columns:repeat(7,1fr);margin-bottom:6px;font-size:11px;display:grid}.mini-calendar-weekdays span{text-align:center}.mini-calendar-row{grid-template-columns:repeat(7,1fr);display:grid}.mini-calendar-cell{border-radius:50%;justify-content:center;align-items:center;height:30px;display:flex}.mini-calendar-cell.faded{color:var(--muted);opacity:.45}.mini-calendar-cell.today{color:#fff;background:#34c759;font-weight:600}.page{z-index:1;padding:72px 0 110px;position:relative}.page-title{font:600 clamp(38px,5vw,56px) / 1.15 var(--serif);letter-spacing:-.06em;margin-bottom:14px}.page-desc{color:var(--muted);margin-bottom:46px;font-size:14px}.project-list{z-index:1;gap:22px;display:grid;position:relative}.project-card{background:var(--card);border:1px solid var(--line);padding:30px 34px;transition:transform .2s,box-shadow .2s,background .25s,border-color .25s}.project-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px #262a2612}.project-tag{font:500 10px var(--mono);letter-spacing:.08em;color:#9b5f49;border:1px solid #e3c9bd;border-radius:20px;margin-bottom:14px;padding:4px 12px;display:inline-block}.project-card h2{font:600 24px var(--serif);letter-spacing:-.05em;margin-bottom:8px}.project-tech{font:11px var(--mono);color:#8b9089;letter-spacing:.04em;margin-bottom:12px}.project-desc{color:var(--muted);margin:0;font-size:13px;line-height:1.85}.github-project-card{z-index:1;background:0 0;border:none;justify-content:space-between;align-items:flex-start;gap:24px;padding:18px 0;display:flex;position:relative}.github-project-info{flex:auto;min-width:0}.github-project-title{font:600 22px/1.3 var(--serif);letter-spacing:-.02em;margin:0 0 6px}.github-project-title a{color:#3b82f6;text-decoration:none;transition:color .2s}.github-project-title a:hover{color:#60a5fa;text-decoration:underline}.github-project-url{color:#3b82f6;word-break:break-all;margin-bottom:6px;font-size:12px;text-decoration:none;display:inline-block}.github-project-url:hover{color:#60a5fa;text-decoration:underline}.github-project-desc{color:var(--muted);margin:0;font-size:13px;line-height:1.7}.github-project-stars{color:var(--muted);font:14px var(--mono);background:0 0;border:none;flex:none;align-items:center;gap:6px;margin-top:6px;padding:0;display:inline-flex}.project-loading{text-align:center;color:var(--muted);padding:80px 0;font-size:14px}.page-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.publish-btn{flex-shrink:0}.search-hint{color:var(--muted);margin-bottom:24px;font-size:13px}.glass-panel{background:var(--card)}@supports (color:color-mix(in lab,red,red)){.glass-panel{background:color-mix(in srgb,var(--card) 56%,transparent)}}.glass-panel{border:1px solid var(--ink)}@supports (color:color-mix(in lab,red,red)){.glass-panel{border:1px solid color-mix(in srgb,var(--ink) 18%,transparent)}}.glass-panel{-webkit-backdrop-filter:blur(18px)saturate(125%);box-shadow:inset 0 1px #ffffff1f,0 16px 44px #00000014}.post-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:26px;display:grid}.post-card{cursor:pointer;border-radius:14px;min-width:0;transition:transform .25s,box-shadow .25s,border-color .25s;overflow:hidden}.post-card:hover,.post-card:focus-visible{border-color:var(--ink);transform:translateY(-6px)}@supports (color:color-mix(in lab,red,red)){.post-card:hover,.post-card:focus-visible{border-color:color-mix(in srgb,var(--ink) 34%,transparent)}}.post-card:hover,.post-card:focus-visible{outline:none;box-shadow:inset 0 1px #ffffff2e,0 22px 48px #00000029}.post-cover-wrap{aspect-ratio:16/9;border-bottom:1px solid var(--ink);overflow:hidden}@supports (color:color-mix(in lab,red,red)){.post-cover-wrap{border-bottom:1px solid color-mix(in srgb,var(--ink) 14%,transparent)}}.post-cover,.post-cover-placeholder{width:100%;height:100%;display:block}.post-cover{object-fit:cover;transition:transform .35s}.post-card:hover .post-cover{transform:scale(1.035)}.post-cover-placeholder{background:linear-gradient(135deg,#4b7b72,#9b5f49);place-items:center;display:grid}@supports (color:color-mix(in lab,red,red)){.post-cover-placeholder{background:linear-gradient(135deg,color-mix(in srgb,#4b7b72 38%,var(--card)),color-mix(in srgb,#9b5f49 32%,var(--card)))}}.post-cover-placeholder{color:#ffffffd1;font:600 54px var(--serif)}.post-body{flex-direction:column;min-height:132px;padding:22px 24px 18px;display:flex}.post-title{font:600 23px/1.35 var(--serif);letter-spacing:-.04em;margin-bottom:10px}.post-footer{justify-content:space-between;align-items:center;margin-top:auto;padding-top:18px;display:flex}.post-date{font:11px var(--mono);color:var(--muted);letter-spacing:.04em}.post-detail-page{grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:start;gap:28px;padding:56px 0 110px;display:grid}.post-directory{border-radius:14px;max-height:calc(100vh - 120px);position:sticky;top:92px;overflow:hidden}.post-directory-head{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:center;gap:14px;padding:18px 20px;display:flex}@supports (color:color-mix(in lab,red,red)){.post-directory-head{border-bottom:1px solid color-mix(in srgb,var(--ink) 14%,transparent)}}.post-directory-head{font-weight:600}.back-posts{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0}.back-posts:hover{color:var(--ink)}.post-directory-list{max-height:calc(100vh - 190px);padding:8px;overflow-y:auto}.post-directory-item{width:100%;color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:13px 12px;transition:color .2s,background .2s}.post-directory-item span,.post-directory-item time{display:block}.post-directory-item span{text-overflow:ellipsis;white-space:nowrap;margin-bottom:5px;overflow:hidden}.post-directory-item time{font:10px var(--mono);opacity:.7}.post-directory-item:hover,.post-directory-item.active{color:var(--ink);background:var(--ink)}@supports (color:color-mix(in lab,red,red)){.post-directory-item:hover,.post-directory-item.active{background:color-mix(in srgb,var(--ink) 8%,transparent)}}.post-directory-item.active{box-shadow:inset 2px 0 0 var(--ink)}.post-content{--post-content-gutter:clamp(24px, 5vw, 64px);min-width:0;padding:34px var(--post-content-gutter) 58px;border-radius:14px;overflow:hidden}.post-content-body{font-size:16px;line-height:1.85}.post-content-head{border-bottom:1px solid var(--ink);margin-bottom:28px;padding-bottom:22px}@supports (color:color-mix(in lab,red,red)){.post-content-head{border-bottom:1px solid color-mix(in srgb,var(--ink) 14%,transparent)}}.post-content-head h1{font:600 clamp(32px,5vw,52px)/1.25 var(--serif);letter-spacing:-.05em;margin-bottom:14px}.post-content-meta{color:var(--muted);font:11px var(--mono);justify-content:space-between;align-items:center;display:flex}.markdown-body{color:var(--ink);font-size:16px;line-height:1.85}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{color:var(--ink);margin:1.6em 0 .6em;font-weight:600}.markdown-body h1{font-size:1.8em}.markdown-body h2{border-bottom:1px solid var(--ink);font-size:1.5em}@supports (color:color-mix(in lab,red,red)){.markdown-body h2{border-bottom:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}}.markdown-body h2{padding-bottom:.3em}.markdown-body h3{font-size:1.25em}.markdown-body p{margin:0 0 1em}.markdown-body ul,.markdown-body ol{margin:0 0 1em;padding-left:1.6em}.markdown-body li{margin:.35em 0}.markdown-body a{color:#3b82f6;text-underline-offset:3px;text-decoration:underline}.markdown-body img{border-radius:8px;max-width:100%;margin:1em 0;display:block}.markdown-body blockquote{border-left:4px solid var(--ink);margin:0 0 1em;padding:.6em 1em}@supports (color:color-mix(in lab,red,red)){.markdown-body blockquote{border-left:4px solid color-mix(in srgb,var(--ink) 20%,transparent)}}.markdown-body blockquote{background:var(--ink)}@supports (color:color-mix(in lab,red,red)){.markdown-body blockquote{background:color-mix(in srgb,var(--ink) 4%,transparent)}}.markdown-body blockquote{color:var(--muted);border-radius:0 8px 8px 0}.markdown-body code:not(pre code){font-family:var(--mono);background:var(--ink);border-radius:4px;padding:.15em .4em;font-size:.88em}@supports (color:color-mix(in lab,red,red)){.markdown-body code:not(pre code){background:color-mix(in srgb,var(--ink) 10%,transparent)}}.markdown-body code:not(pre code){color:var(--ink)}.markdown-body pre{font-family:var(--mono);border-radius:8px;margin:0 0 1em;padding:16px;font-size:14px;line-height:1.6;overflow-x:auto}.markdown-body pre code{background:0 0;padding:0;font-family:inherit}.markdown-body table{border-collapse:collapse;width:100%;margin:0 0 1em}.markdown-body th,.markdown-body td{border:1px solid var(--ink)}@supports (color:color-mix(in lab,red,red)){.markdown-body th,.markdown-body td{border:1px solid color-mix(in srgb,var(--ink) 14%,transparent)}}.markdown-body th,.markdown-body td{padding:8px 12px}.markdown-body th{background:var(--ink)}@supports (color:color-mix(in lab,red,red)){.markdown-body th{background:color-mix(in srgb,var(--ink) 6%,transparent)}}.post-content-actions{gap:18px}.post-comments{border-top:1px solid var(--ink);margin-top:48px;padding-top:36px}@supports (color:color-mix(in lab,red,red)){.post-comments{border-top:1px solid color-mix(in srgb,var(--ink) 14%,transparent)}}.post-comments-title{font:600 20px/1.4 var(--serif);margin:0 0 20px}.publish-page .page-title,.publish-page .page-desc{text-align:center}.publish-form{max-width:720px;margin:0 auto}.cover-picker{gap:10px;width:100%;display:flex}.cover-upload{border:1px solid var(--line);color:var(--muted);cursor:pointer;border-radius:4px;flex-shrink:0;align-items:center;padding:0 16px;font-size:13px;transition:color .2s,border-color .2s;display:inline-flex}.cover-upload:hover{color:var(--ink);border-color:var(--ink)}.editor-split{border:1px solid var(--line);background:var(--card);border-radius:8px;grid-template-columns:1fr 1fr;gap:16px;min-height:420px;display:grid;position:relative;overflow:hidden}.content-textarea{background:var(--paper);width:100%;height:100%;min-height:420px;color:var(--ink);font:inherit;resize:vertical;box-sizing:border-box;border:0;outline:none;padding:16px 16px 40px;font-size:14px;line-height:1.7}.content-preview{border-left:1px solid var(--line);background:var(--card);padding:16px;overflow-y:auto}.insert-image-btn{z-index:2;position:absolute;bottom:8px;left:8px}@media(max-width:800px){.editor-split{grid-template-rows:auto auto;grid-template-columns:1fr}.content-preview{border-left:0;border-top:1px solid var(--line);max-height:360px}}.cover-preview{aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line);border-radius:4px;width:100%;max-width:360px;margin-top:12px;display:block}.page-skeleton{padding:72px 0 110px}.skeleton-cards{grid-template-columns:repeat(2,1fr);gap:22px;margin-top:46px;display:grid}.skeleton-card{height:140px}.site-footer{border-top:1px solid var(--line);z-index:4;flex-direction:column;justify-content:center;align-items:center;padding:32px 0 40px;display:flex;position:relative}.footer-gif{width:72px;height:auto;display:block}@media(max-width:800px){.section-wrap{width:min(100% - 38px,600px)}.header-inner{height:74px}.nav-capsule{display:none}.menu-toggle{display:inline-block}.header-actions{gap:14px}.mobile-menu-mask{z-index:90;background:#00000073;animation:.25s menu-fade-in;display:block;position:fixed;top:0;right:0;bottom:0;left:0}.mobile-menu{z-index:91;background:var(--card);border-left:1px solid var(--line);flex-direction:column;gap:6px;width:min(260px,72vw);padding:90px 26px 26px;font-size:15px;animation:.28s cubic-bezier(.32,.72,.35,1) menu-slide-in;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-14px 0 40px #0000004d}.mobile-menu a{padding:10px 4px}.mobile-menu-close{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:4px 8px;font-size:26px;line-height:1;position:absolute;top:22px;right:20px}.hero-content{padding-top:max(74px,14vh)}.hero-title{letter-spacing:-.03em;font-size:clamp(26px,8vw,38px)}.mobile-docs-link{color:var(--ink);border-top:1px solid var(--line);padding-top:10px}.mobile-theme-row{border-top:1px solid var(--line);color:var(--ink);justify-content:space-between;align-items:center;margin-top:12px;padding:12px 4px 0;display:flex}.photo-section{grid-template-columns:1fr;gap:36px;padding:60px 0 80px}.home-layout{flex-direction:column;align-items:stretch;gap:20px;min-height:auto;margin-top:110px;padding:24px 0 80px;display:flex}.home-timeline{display:none}.home-col-left,.home-col-main{flex-direction:column;gap:20px;min-width:0;display:flex}.home-feed-container{align-self:auto;height:auto;min-height:0;max-height:520px;padding:12px}.article-card{grid-template-columns:1fr;min-height:0}.article-cover-wrap{border-right:0;border-bottom:1px solid var(--ink);height:auto}@supports (color:color-mix(in lab,red,red)){.article-cover-wrap{border-bottom:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}}.article-cover,.article-cover-placeholder{aspect-ratio:16/9;height:auto}.post-list{grid-template-columns:1fr}.post-detail-page{grid-template-columns:1fr;padding-top:28px}.post-directory{max-height:none;position:static}.post-directory-list{max-height:none;padding:8px;display:flex;overflow-x:auto}.post-directory-item{flex:0 0 190px}.post-content{padding-bottom:40px}}.auth-page{color:#1a1c1e;z-index:1;background:#fff;justify-content:center;align-items:center;min-height:100vh;padding:40px 20px;display:flex;position:relative}.auth-card{text-align:center}.auth-title{margin:0 0 28px;font-size:26px;font-weight:600}.auth-status{color:#666;margin:0;font-size:18px}.auth-buttons{flex-direction:column;align-items:center;gap:16px;display:flex}.auth-btn{color:#1a1c1e;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:10px;justify-content:center;align-items:center;gap:10px;min-width:220px;padding:12px 20px;font-size:15px;transition:border-color .2s,background .2s;display:inline-flex}.auth-btn:hover{background:#f0f7ff;border-color:#3b82f6}.auth-btn-icon{width:18px;height:18px}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
