.admin-login,.admin-shell,.blog-article,.blog-site{--blog-color-primary:var(--lingshu-editorial-ink);--blog-color-primary-soft:var(--lingshu-editorial-band);--blog-color-ink:var(--lingshu-editorial-ink);--blog-color-ink-soft:var(--lingshu-editorial-copy);--blog-color-muted:var(--lingshu-editorial-muted);--blog-color-bg:var(--lingshu-editorial-white);--blog-color-bg-elevated:var(--lingshu-editorial-white);--blog-color-bg-paper:var(--lingshu-editorial-panel);--blog-color-line:var(--lingshu-editorial-line);--blog-color-line-strong:var(--lingshu-editorial-line-strong);--blog-page-background:var(--lingshu-editorial-white);--blog-shadow-focus:0 0 0 3px rgb(10 10 10/14%);--blog-shadow-sm:none;--blog-shadow-md:none;--blog-font-number:ui-monospace,"SFMono-Regular",Menlo,Monaco,Consolas,monospace;--blog-font-mono:var(--blog-font-number);--blog-font-body:var(--lingshu-editorial-font-body);--blog-font-display:var(--lingshu-editorial-font-display);--blog-radius-surface:var(--lingshu-editorial-radius-surface);--blog-radius-control:var(--lingshu-editorial-radius-control);--blog-radius-tag:var(--lingshu-editorial-radius-tag);color-scheme:light;font-family:var(--blog-font-body);font-variant-numeric:tabular-nums}.admin-login :is(a,button,input,textarea,select):focus-visible,.admin-shell :is(a,button,input,textarea,select):focus-visible,.blog-site :is(a,button,input,textarea,select):focus-visible{outline:2px solid var(--blog-color-ink);outline-offset:3px}.blog-site .site-footer__simple{display:grid;grid-template-columns:minmax(0,2fr) minmax(120px,.7fr) minmax(120px,.7fr);gap:40px;padding:54px 0 44px}.blog-site .site-footer__brand{max-width:280px}.blog-site .site-footer__brand strong{font-family:var(--blog-font-display);font-weight:600;letter-spacing:.02em}.blog-site .site-footer__brand-mark{display:inline-flex;align-items:center;gap:9px;color:var(--blog-color-ink);text-decoration:none}.blog-site .site-footer__brand-logo{width:34px;height:34px;object-fit:contain}.blog-site .site-footer__group{display:grid;align-content:start;gap:9px}.blog-site .site-footer__group>span{margin-bottom:3px;color:var(--blog-color-ink);font-size:12px;font-weight:700}.blog-site .site-footer__group a{color:var(--blog-color-muted);font-size:13px}.blog-site .site-footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--blog-color-line);color:var(--blog-color-muted);font-size:12px;padding:18px 0}.blog-site .site-footer__top{display:inline-flex;align-items:center;gap:5px;color:var(--blog-color-muted)}.blog-site .back-to-top{width:42px;height:42px;border:1px solid var(--blog-color-line-strong);border-radius:var(--blog-radius-control);background:var(--blog-color-bg);box-shadow:none;color:var(--blog-color-ink)}.blog-site .site-footer{border-top-color:var(--blog-color-line);background:var(--blog-color-bg-paper);color:var(--blog-color-muted);font-family:var(--blog-font-body)}.blog-site .site-footer :is(a:hover,.site-footer__top:hover){color:var(--blog-color-ink)}.blog-article__body :is(h2,h3),.blog-article__header h1,.blog-card h2,.blog-comments__form h3,.blog-comments__heading h2,.blog-empty h2,.blog-error h1,.blog-index__hero h1,.blog-list__heading h2{font-family:var(--blog-font-display);font-weight:600;letter-spacing:.015em}.blog-article__header h1,.blog-index__hero h1{line-height:1.2;text-wrap:balance}.admin-comment-list article,.admin-editor__main,.admin-editor__sidebar,.admin-login__panel,.admin-section,.admin-stats article,.admin-vditor,.blog-card,.blog-comments__form,.blog-empty,.blog-error{border-radius:var(--blog-radius-surface);box-shadow:none}.blog-card:hover{border-color:var(--blog-color-ink);box-shadow:none;transform:none}.blog-card:hover .blog-card__media img{transform:none}.admin-editor :is(input:not([type=hidden]),textarea,select),.admin-inline-form :is(input,textarea),.admin-login-form input,.admin-role-form select,.blog-button,.blog-comment-form :is(input,textarea),.blog-like-button,.blog-search button,.blog-search input{border-radius:var(--blog-radius-control)}.blog-button:hover,.blog-search button:hover{transform:none}.blog-button:active,.blog-search button:active{transform:translateY(1px)}.blog-like-button{border-color:var(--blog-color-line-strong)}.blog-like-button:hover{border-color:var(--blog-color-ink);background:var(--blog-color-bg-paper)}.blog-article__body code,.blog-article__body pre,.blog-loading__card,.blog-loading__line,.blog-loading__title{border-radius:var(--blog-radius-control)}.blog-loading__card,.blog-loading__line,.blog-loading__title{background:var(--blog-color-bg-paper)}.admin-shell{--font-sans:var(--blog-font-body);--radius-sm:var(--blog-radius-tag);--radius-md:var(--blog-radius-control);--radius-lg:var(--blog-radius-control);--radius-xl:var(--blog-radius-surface);--color-kumo-canvas:var(--blog-color-bg);--color-kumo-elevated:var(--blog-color-bg);--color-kumo-base:var(--blog-color-bg);--color-kumo-tint:var(--blog-color-primary-soft);--color-kumo-recessed:var(--blog-color-bg-paper);--color-kumo-control:var(--blog-color-bg);--color-kumo-interact:var(--blog-color-line-strong);--color-kumo-fill:var(--blog-color-line);--color-kumo-fill-hover:var(--blog-color-bg-paper);--color-kumo-line:var(--blog-color-line);--color-kumo-focus:var(--blog-color-ink);--color-kumo-brand:var(--blog-color-ink);--color-kumo-brand-hover:var(--blog-color-ink-soft)}.admin-shell :is(.shadow,.shadow-sm,.shadow-lg,.shadow-xl,.shadow-inner),.admin-sidebar__surface{box-shadow:none}.admin-sidebar__avatar,.admin-sidebar__logout,.admin-tag-cloud span{border-radius:var(--blog-radius-tag)}.admin-sidebar__avatar{background:var(--blog-color-primary-soft);color:var(--blog-color-ink)}@media (max-width:760px){.blog-site .site-nav__inner{width:min(calc(100% - 32px),1200px)}.blog-site .site-footer__simple{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px;padding:42px 0 32px}.blog-site .site-footer__brand{grid-column:1/-1}.blog-site .site-footer__bottom{align-items:flex-start;flex-direction:column;padding:16px 0}}.admin-sidebar__logout:hover{background:var(--blog-color-bg-paper);color:var(--blog-color-ink)}.admin-shell .rounded-full{border-radius:var(--blog-radius-tag)}.admin-mobile-bar{border-bottom-color:var(--blog-color-line);background:rgb(255 255 255/96%)}.admin-tag-cloud span{border:1px solid var(--blog-color-line);background:var(--blog-color-bg-paper);color:var(--blog-color-ink)}@media (prefers-reduced-motion:reduce){.admin-login *,.admin-shell *,.blog-article *,.blog-site *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.admin-login,.admin-shell{--font-sans:var(--blog-font-body);--radius-sm:var(--blog-radius-tag);--radius-md:var(--blog-radius-control);--radius-lg:var(--blog-radius-control);--radius-xl:var(--blog-radius-surface);--color-kumo-canvas:var(--blog-color-bg);--color-kumo-elevated:var(--blog-color-bg);--color-kumo-base:var(--blog-color-bg);--color-kumo-tint:var(--blog-color-primary-soft);--color-kumo-recessed:var(--blog-color-bg-paper);--color-kumo-control:var(--blog-color-bg-paper);--color-kumo-interact:var(--blog-color-line-strong);--color-kumo-fill:var(--blog-color-line);--color-kumo-fill-hover:var(--blog-color-bg-paper);--color-kumo-line:var(--blog-color-line);--color-kumo-focus:var(--blog-color-ink);--color-kumo-brand:var(--blog-color-ink);--color-kumo-brand-hover:var(--blog-color-ink-soft);background:var(--blog-color-bg);color:var(--blog-color-ink)}.admin-shell{min-height:100dvh}.admin-shell .admin-main{min-width:0;background:var(--blog-color-bg)}.admin-shell .admin-sidebar,.admin-shell .admin-sidebar-placeholder,.admin-shell .admin-sidebar__surface{border-color:var(--blog-color-line);background:var(--blog-color-bg);box-shadow:none}.admin-shell .admin-sidebar__header{height:64px!important;border-bottom:1px solid var(--blog-color-line);padding-inline:12px!important}.admin-shell .admin-sidebar__brand{gap:9px}.admin-shell .admin-sidebar__brand-mark{width:29px;height:29px;flex-basis:29px}.admin-shell .admin-sidebar__brand-copy{gap:2px}.admin-shell .admin-sidebar__brand-copy strong{color:var(--blog-color-ink);font-size:13px;font-weight:650;letter-spacing:.01em}.admin-shell .admin-sidebar__brand-copy small,.admin-shell .admin-sidebar__user-copy small{color:var(--blog-color-muted);font-size:10px;letter-spacing:.04em}.admin-shell [data-sidebar=group-label]{color:var(--blog-color-muted);font-size:10px;font-weight:650;letter-spacing:.08em}.admin-shell [data-sidebar=menu-button]{min-height:34px;border:1px solid transparent;border-radius:var(--blog-radius-control);color:var(--blog-color-ink-soft);transition:border-color .16s ease,background-color .16s ease,color .16s ease,transform .16s ease}.admin-shell [data-sidebar=menu-button]:hover,.admin-shell [data-sidebar=menu-button][data-active=true]{background:var(--blog-color-bg-paper);color:var(--blog-color-ink)}.admin-shell [data-sidebar=menu-button][data-active=true]{border-color:var(--blog-color-line-strong)}.admin-shell [data-sidebar=menu-button]:active,.admin-shell [data-sidebar=trigger]:active{transform:translateY(1px)}.admin-shell .admin-sidebar__footer{gap:8px!important;border-top:1px solid var(--blog-color-line);padding:10px 12px!important}.admin-shell .admin-sidebar__user{gap:9px}.admin-shell .admin-sidebar__avatar{width:28px;height:28px;flex-basis:28px;border:1px solid var(--blog-color-line-strong);border-radius:var(--blog-radius-tag);background:var(--blog-color-bg-paper);color:var(--blog-color-ink);font-size:11px}.admin-shell .admin-sidebar__logout{min-height:32px;border:1px solid transparent;border-radius:var(--blog-radius-control);color:var(--blog-color-muted);padding:6px 7px}.admin-shell .admin-sidebar__logout:hover{border-color:var(--blog-color-line);background:var(--blog-color-bg-paper);color:var(--blog-color-ink)}.admin-shell .admin-mobile-bar{height:52px;border-bottom:1px solid var(--blog-color-line);background:var(--blog-color-bg);box-shadow:none;backdrop-filter:none;padding-inline:14px}.admin-shell .admin-mobile-bar span{color:var(--blog-color-ink);font-size:12px;font-weight:650}.admin-login [data-kumo-component=Button],.admin-shell [data-kumo-component=Button]{border-radius:var(--blog-radius-control);box-shadow:none}.admin-login [data-kumo-component=Button]>span[aria-hidden],.admin-shell .admin-editor__sidebar [data-kumo-component=Button][type=submit]>span[aria-hidden],.admin-shell .admin-page__heading [data-kumo-component=Button]>span[aria-hidden]{background:var(--blog-color-ink);background-image:none;box-shadow:none}.admin-shell .admin-page{width:min(1240px,calc(100% - 64px));margin-inline:auto;padding-block:34px 56px}.admin-shell .admin-page--editor{width:min(1420px,calc(100% - 64px))}.admin-shell .admin-page__heading{align-items:flex-end;gap:20px;margin-bottom:22px;border-bottom:1px solid var(--blog-color-line);padding-bottom:17px}.admin-shell .admin-page__eyebrow{display:block;margin-bottom:5px;color:var(--blog-color-muted);font-size:10px;font-weight:650;letter-spacing:.08em}.admin-shell .admin-page__heading h1{color:var(--blog-color-ink);font-family:var(--blog-font-body);font-size:clamp(25px,2.2vw,32px);font-weight:650;letter-spacing:-.025em;line-height:1.18}.admin-shell .admin-page__heading p{max-width:56ch;margin-top:7px;color:var(--blog-color-muted);font-size:13px;line-height:1.65}.admin-shell .admin-page__heading :is(a,button){flex:0 0 auto}.admin-shell .admin-section{margin-top:18px;border:1px solid var(--blog-color-line-strong);border-radius:var(--blog-radius-surface);background:var(--blog-color-bg);box-shadow:none;padding:clamp(16px,2.2vw,24px)}.admin-shell .admin-section--table{padding-bottom:12px}.admin-shell .admin-section__heading{gap:14px;margin-bottom:14px}.admin-shell .admin-section>h2,.admin-shell .admin-section__heading h2{color:var(--blog-color-ink);font-size:16px;font-weight:650;letter-spacing:-.01em}.admin-shell .admin-empty a,.admin-shell .admin-kumo-actions a,.admin-shell .admin-section__heading a{color:var(--blog-color-ink);font-size:12px;font-weight:600;text-decoration:underline;text-decoration-color:var(--blog-color-line-strong);text-underline-offset:3px}.admin-shell .admin-empty a:hover,.admin-shell .admin-kumo-actions a:hover,.admin-shell .admin-section__heading a:hover{text-decoration-color:currentColor}.admin-shell .admin-notice{display:inline-flex;align-items:center;min-height:30px;margin:-7px 0 2px;border:1px solid var(--blog-color-line-strong);border-radius:var(--blog-radius-tag);background:var(--blog-color-bg-paper);color:var(--blog-color-ink);font-size:12px;font-weight:600;padding:0 9px}.admin-shell .admin-overview__metrics{gap:10px}.admin-shell .admin-overview__metric-link{min-width:0;color:inherit;text-decoration:none}.admin-shell .admin-overview__metric{min-height:104px;border:1px solid var(--blog-color-line-strong);border-radius:var(--blog-radius-surface);background:var(--blog-color-bg);box-shadow:none;padding:14px!important;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.admin-shell .admin-overview__metric:hover{border-color:var(--blog-color-ink);background:var(--blog-color-bg-paper)}.admin-shell .admin-overview__metric:active{transform:translateY(1px)}.admin-shell .admin-overview__metric>svg{color:var(--blog-color-ink)}.admin-shell .admin-overview__metric :is(.text-kumo-subtle,.text-2xl){color:var(--blog-color-ink)}.admin-shell .admin-overview__metric .text-kumo-subtle{color:var(--blog-color-muted);font-size:11px;letter-spacing:.04em}.admin-shell .admin-overview__metric strong{font-family:var(--blog-font-number);font-size:25px;font-weight:600;letter-spacing:-.04em}.admin-shell .admin-toolbar{gap:8px;margin-bottom:16px;border-bottom-color:var(--blog-color-line);padding-bottom:14px}.admin-shell .admin-toolbar__search{flex-basis:280px}.admin-shell .admin-cell-title{gap:4px}.admin-shell .admin-cell-title strong{color:var(--blog-color-ink);font-size:13px;font-weight:600}.admin-shell .admin-cell-title small{color:var(--blog-color-muted);font-size:10px}.admin-shell .admin-cell-title:hover strong{color:var(--blog-color-ink-soft);text-decoration:underline;text-decoration-color:var(--blog-color-line-strong);text-underline-offset:3px}.admin-shell .admin-table-wrap{border:1px solid var(--blog-color-line);border-radius:var(--blog-radius-control);background:var(--blog-color-bg)}.admin-shell .admin-table{width:100%;color:var(--blog-color-ink-soft);font-size:13px}.admin-shell .admin-table thead{background:var(--blog-color-bg-paper)}.admin-shell .admin-table :is(th,td){border-color:var(--blog-color-line)}.admin-shell .admin-table th{color:var(--blog-color-muted);font-size:10px;font-weight:650;letter-spacing:.06em;padding:11px 12px}.admin-shell .admin-table td{min-height:54px;padding:13px 12px}.admin-shell .admin-kumo-actions{gap:7px}.admin-shell .admin-editor{grid-template-columns:minmax(0,1fr) 292px;gap:16px}.admin-shell .admin-editor__main,.admin-shell .admin-editor__sidebar{gap:16px;border:1px solid var(--blog-color-line-strong);border-radius:var(--blog-radius-surface);background:var(--blog-color-bg);box-shadow:none;padding:clamp(16px,2.2vw,24px)}.admin-shell .admin-editor__sidebar{top:18px;align-content:start;background:var(--blog-color-bg-paper)}.admin-shell .admin-editor__seo{gap:14px;margin-top:4px;border-top-color:var(--blog-color-line);padding-top:18px}.admin-shell .admin-editor__seo h2{color:var(--blog-color-ink);font-size:15px;font-weight:650}.admin-shell .admin-vditor-field{gap:8px}.admin-shell .admin-vditor-field>span{color:var(--blog-color-ink);font-size:12px;font-weight:650}.admin-shell .admin-vditor{border-color:var(--blog-color-line-strong);border-radius:var(--blog-radius-control);background:var(--blog-color-bg)}.admin-shell .admin-vditor .vditor-toolbar,.admin-shell .admin-vditor .vditor-toolbar--hide{border-bottom-color:var(--blog-color-line);background:var(--blog-color-bg-paper)}.admin-shell .admin-vditor .vditor-content,.admin-shell .admin-vditor .vditor-reset{background:var(--blog-color-bg)}.admin-shell .admin-taxonomy__layout{gap:24px}.admin-shell .admin-taxonomy__form{align-content:start;border-right:1px solid var(--blog-color-line);padding-right:24px}.admin-shell .admin-taxonomy__list{gap:8px}.admin-shell .admin-comment-card,.admin-shell .admin-taxonomy__item{border:1px solid var(--blog-color-line);border-radius:var(--blog-radius-control);background:var(--blog-color-bg);box-shadow:none}.admin-shell .admin-taxonomy__item{padding:12px!important}.admin-shell .admin-comment-card:hover,.admin-shell .admin-taxonomy__item:hover{border-color:var(--blog-color-line-strong);background:var(--blog-color-bg-paper)}.admin-shell .admin-taxonomy__tags{gap:6px}.admin-shell .admin-taxonomy__tags>*{border:1px solid var(--blog-color-line);border-radius:var(--blog-radius-tag);background:var(--blog-color-bg-paper);color:var(--blog-color-ink);font-size:11px}.admin-shell .admin-comments__list{gap:8px}.admin-shell .admin-comment-card{padding:14px!important;transition:border-color .16s ease,background-color .16s ease}.admin-shell .admin-comment-card :is(.text-kumo-subtle,.text-kumo-default){color:var(--blog-color-muted)}.admin-shell .admin-comment-card .text-kumo-default{color:var(--blog-color-ink-soft);line-height:1.7}.admin-shell .admin-comment-card footer{border-top:1px solid var(--blog-color-line);padding-top:11px}.admin-shell .admin-users{padding-bottom:12px}.admin-shell .admin-users__summary{display:flex;align-items:stretch;margin-bottom:14px;border-bottom:1px solid var(--blog-color-line);padding-bottom:14px}.admin-shell .admin-users__summary-item{display:grid;min-width:0;flex:1 1 0;gap:3px;padding-right:16px}.admin-shell .admin-users__summary-item+.admin-users__summary-item{border-left:1px solid var(--blog-color-line);padding-left:16px}.admin-shell .admin-users__summary-value{color:var(--blog-color-ink);font-family:var(--blog-font-number);font-size:22px;font-weight:600;letter-spacing:-.04em;line-height:1.1}.admin-shell .admin-users__summary-label{color:var(--blog-color-muted);font-size:11px;font-weight:600;letter-spacing:.035em}.admin-shell .admin-users__toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin-bottom:12px;border-bottom:1px solid var(--blog-color-line);padding-bottom:12px}.admin-shell .admin-users__toolbar>*{min-width:0}.admin-shell .admin-users__search{min-width:min(100%,260px);flex:1 1 280px}.admin-shell .admin-users__search>*{width:100%}.admin-shell .admin-users__filter{flex:0 0 132px}.admin-shell .admin-users__count{color:var(--blog-color-ink);font-size:12px;font-weight:650}.admin-shell .admin-users__hint{margin:-2px 0 14px;color:var(--blog-color-muted);font-size:11px;line-height:1.55}.admin-shell .admin-users__feedback{display:flex;align-items:flex-start;gap:8px;margin:0 0 14px;border:1px solid var(--blog-color-line-strong);border-left:3px solid var(--blog-color-ink);border-radius:var(--blog-radius-control);background:var(--blog-color-bg-paper);color:var(--blog-color-ink-soft);font-size:12px;font-weight:550;line-height:1.55;padding:9px 11px}.admin-shell .admin-users__feedback--success{border-left-color:var(--blog-color-success)}.admin-shell .admin-users__feedback--error{border-left-color:var(--blog-color-danger)}.admin-shell .admin-users__empty{margin-top:2px;border-color:var(--blog-color-line)!important;background:transparent!important;padding-block:34px!important}.admin-shell .admin-users__table{width:100%;table-layout:fixed}.admin-shell .admin-users__table td:first-child,.admin-shell .admin-users__table th:first-child{min-width:260px;width:42%}.admin-shell .admin-users__table td:nth-child(2),.admin-shell .admin-users__table th:nth-child(2){width:17%}.admin-shell .admin-users__table td:nth-child(3),.admin-shell .admin-users__table th:nth-child(3){width:19%}.admin-shell .admin-users__table td:last-child,.admin-shell .admin-users__table th:last-child{min-width:176px;text-align:right}.admin-shell .admin-users__table tbody tr{transition:background-color .16s ease}.admin-shell .admin-users__table tbody tr:hover td{background:var(--blog-color-bg-paper)}.admin-shell .admin-users__member{display:flex;min-width:0;align-items:center;gap:10px}.admin-shell .admin-users__avatar{display:inline-flex;width:32px;height:32px;flex:0 0 32px;align-items:center;justify-content:center;border:1px solid var(--blog-color-line-strong);border-radius:var(--blog-radius-tag);background:var(--blog-color-bg-paper);color:var(--blog-color-ink);font-family:var(--blog-font-number);font-size:11px;font-weight:650}.admin-shell .admin-users__identity{display:grid;min-width:0;gap:2px}.admin-shell .admin-users__name{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:5px;color:var(--blog-color-ink);font-size:13px;font-weight:650;line-height:1.3}.admin-shell .admin-users__email{overflow:hidden;color:var(--blog-color-muted);font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.admin-shell .admin-users__current,.admin-shell .admin-users__role{display:inline-flex;min-height:20px;align-items:center;border:1px solid var(--blog-color-line);border-radius:var(--blog-radius-tag);background:var(--blog-color-bg-paper);color:var(--blog-color-ink-soft);font-size:10px;font-weight:650;line-height:1;padding-inline:6px;white-space:nowrap}.admin-shell .admin-users__joined{color:var(--blog-color-muted);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.admin-shell .admin-role-form,.admin-shell .admin-users__actions{display:flex;min-width:0;align-items:center;justify-content:flex-end}.admin-shell .admin-role-form{gap:6px;white-space:nowrap}.admin-shell .admin-role-form :is(select,[data-kumo-component=Select][data-kumo-part=trigger]){min-width:112px;min-height:32px;border-color:var(--blog-color-line-strong);border-radius:var(--blog-radius-control);background:var(--blog-color-bg);box-shadow:none;color:var(--blog-color-ink);font-size:12px}.admin-shell .admin-role-form [data-kumo-component=Button]{min-height:32px;border-radius:var(--blog-radius-control);box-shadow:none;font-size:12px;font-weight:650}.admin-shell .admin-role-form :is(select,[data-kumo-component=Select][data-kumo-part=trigger]):hover{border-color:var(--blog-color-ink-soft)}.admin-shell .admin-role-form :is(select,[data-kumo-component=Select][data-kumo-part=trigger]):disabled,.admin-shell .admin-role-form [data-kumo-component=Button]:disabled{cursor:wait}.admin-login{place-items:center;padding:28px}.admin-login .admin-login__panel{width:min(420px,100%);border-color:var(--blog-color-line-strong);border-radius:var(--blog-radius-surface);background:var(--blog-color-bg);box-shadow:none;padding:clamp(24px,5vw,42px)}.admin-login .blog-back{margin-bottom:28px;color:var(--blog-color-muted);font-size:12px;font-weight:600;text-decoration:none}.admin-login .blog-back:hover{color:var(--blog-color-ink)}.admin-login .blog-kicker{margin-bottom:8px;color:var(--blog-color-muted);font-size:10px;letter-spacing:.08em}.admin-login .admin-login__panel h1{color:var(--blog-color-ink);font-family:var(--blog-font-body);font-size:clamp(26px,5vw,30px);font-weight:650;letter-spacing:-.025em;line-height:1.2}.admin-login .admin-login__panel>div>p{color:var(--blog-color-muted);font-size:13px;line-height:1.7}.admin-login .admin-login-form{gap:14px;margin-top:28px}@media (max-width:980px){.admin-shell .admin-page,.admin-shell .admin-page--editor{width:min(100% - 40px,1180px);padding-block:24px 46px}.admin-shell .admin-editor{grid-template-columns:1fr}.admin-shell .admin-editor__sidebar{position:static}}@media (max-width:700px){.admin-shell .admin-page,.admin-shell .admin-page--editor{width:min(100% - 32px,1180px);padding-block:20px 36px}.admin-shell .admin-page__heading{align-items:flex-start;flex-direction:column;gap:13px;margin-bottom:18px;padding-bottom:14px}.admin-shell .admin-page__heading h1{font-size:26px}.admin-shell .admin-section{border-radius:var(--blog-radius-control);padding:14px}.admin-shell .admin-overview__metrics{gap:8px}.admin-shell .admin-overview__metric{min-height:92px;padding:12px!important}.admin-shell .admin-taxonomy__form{border-right:0;border-bottom:1px solid var(--blog-color-line);padding-right:0;padding-bottom:20px}.admin-shell .admin-comment-card footer{align-items:flex-start;flex-direction:column}.admin-shell .admin-users__summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 0}.admin-shell .admin-users__summary-item{padding-right:10px}.admin-shell .admin-users__summary-item+.admin-users__summary-item{padding-left:10px}.admin-shell .admin-users__summary-item:nth-child(n+3){border-top:1px solid var(--blog-color-line);padding-top:10px}.admin-shell .admin-users__toolbar{align-items:flex-start;flex-direction:column;gap:5px}.admin-shell .admin-users__search{width:100%}.admin-shell .admin-users__table{display:block;min-width:0}.admin-shell .admin-users__table :is(thead,tbody,tr,th,td){display:block;width:auto}.admin-shell .admin-users__table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.admin-shell .admin-users__table tbody tr{border-bottom:1px solid var(--blog-color-line);padding:12px 0}.admin-shell .admin-users__table tbody tr:last-child{border-bottom:0;padding-bottom:2px}.admin-shell .admin-users__table td,.admin-shell .admin-users__table td:first-child,.admin-shell .admin-users__table td:last-child,.admin-shell .admin-users__table td:nth-child(2),.admin-shell .admin-users__table td:nth-child(3){min-height:0;width:auto;border:0;padding:5px 0;text-align:left}.admin-shell .admin-users__table td:before{display:block;margin-bottom:3px;color:var(--blog-color-muted);content:attr(data-label);font-size:10px;font-weight:650;letter-spacing:.06em}.admin-shell .admin-users__table td:first-child:before{display:none}.admin-shell .admin-users__table tbody tr:hover td{background:transparent}.admin-shell .admin-role-form,.admin-shell .admin-users__actions{justify-content:flex-start}}@media (max-width:480px){.admin-login{padding:16px}.admin-login .admin-login__panel{padding:22px}.admin-shell .admin-overview__metrics{grid-template-columns:1fr}.admin-shell .admin-users__summary{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-shell .admin-users__summary-item:nth-child(odd){border-left:0;padding-left:0}.admin-shell .admin-role-form{width:100%}.admin-shell .admin-role-form :is(select,[data-kumo-component=Select][data-kumo-part=trigger]){flex:1 1 auto}}.blog-site{--blog-content-width:1200px;background:var(--blog-color-bg)}.blog-site main{padding-top:64px}.blog-site .site-nav{position:fixed;inset:0 0 auto;z-index:50;width:100%;border-bottom:1px solid var(--blog-color-line);background:rgb(255 255 255/96%);backdrop-filter:blur(10px)}.blog-site .site-footer__bottom,.blog-site .site-footer__simple,.blog-site .site-nav__inner{width:min(calc(100% - 48px),var(--blog-content-width));margin-inline:auto}.blog-site .site-nav__simple{display:flex;min-height:64px;align-items:center;gap:12px}.blog-site .site-brand{display:inline-flex;flex:0 0 auto;align-items:center;gap:9px;color:var(--blog-color-ink)}.blog-site .site-brand__logo{width:32px;height:32px;border:0;border-radius:0;object-fit:contain}.blog-site .site-brand__name{font-family:var(--blog-font-display);font-size:17px;font-weight:600;letter-spacing:.02em}.blog-site .site-nav__links{display:flex;align-items:center;gap:2px;margin-left:auto}.blog-site .site-nav__links a{border-radius:var(--blog-radius-control);color:var(--blog-color-muted);font-size:14px;font-weight:500;padding:8px 12px}.blog-site .site-nav__links a.is-active,.blog-site .site-nav__links a:hover{background:var(--blog-color-bg-paper);color:var(--blog-color-ink)}.blog-site .site-nav__cta,.blog-site .site-nav__mobile-cta{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:7px;border-radius:var(--blog-radius-control);background:var(--blog-color-ink);color:var(--blog-color-bg);font-size:13px;font-weight:600;padding:0 13px;transition:transform .16s ease,background-color .16s ease}.blog-site .site-nav__cta:hover,.blog-site .site-nav__mobile-cta:hover{background:#2a2a2a}.blog-site .site-nav__cta:active,.blog-site .site-nav__mobile-cta:active{transform:translateY(1px)}.blog-site .site-nav__cta .lingshu-icon,.blog-site .site-nav__mobile-cta .lingshu-icon{font-size:15px}.blog-site .site-nav__menu{display:none;width:44px;height:44px;margin-left:auto;border:1px solid var(--blog-color-line-strong);border-radius:var(--blog-radius-control);background:var(--blog-color-bg);color:var(--blog-color-ink);cursor:pointer;font-size:19px}.blog-site .site-nav__menu .lingshu-icon{margin:0}.blog-site .site-nav__mobile-links{display:none}.blog-index__hero{min-height:580px;border-bottom:1px solid var(--blog-color-line);padding:88px 0 96px;background:var(--blog-color-bg)}.blog-index__hero-grid{width:min(calc(100% - 48px),var(--blog-content-width));min-height:396px;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:clamp(44px,8vw,136px);align-items:center}.blog-index__hero h1{max-width:10ch;margin:0;font-size:clamp(4rem,6.8vw,6.5rem);font-weight:600;letter-spacing:-.075em;line-height:1.08}.blog-index__hero p{max-width:34rem;margin-top:28px;color:var(--blog-color-ink-soft);font-size:18px;line-height:1.8}.blog-kicker{margin-bottom:22px;color:var(--blog-color-ink);font-size:15px;font-weight:650;letter-spacing:.04em}.blog-search{align-self:end;margin-bottom:18px}.blog-search label{margin-bottom:14px;color:var(--blog-color-ink);font-size:16px;font-weight:650}.blog-search>div{grid-template-columns:minmax(0,1fr) auto;gap:14px}.blog-search input{min-height:68px;border-color:var(--blog-color-line-strong);border-radius:var(--blog-radius-control);padding:0 20px;background:var(--blog-color-bg);font-size:16px}.blog-search input::placeholder{color:#a3a9b5}.blog-search button{min-width:96px;min-height:68px;border-color:var(--blog-color-ink);border-radius:var(--blog-radius-control);background:var(--blog-color-ink);color:var(--blog-color-bg);font-size:16px;font-weight:650}.blog-index__content{width:min(calc(100% - 48px),var(--blog-content-width));padding-block:92px 120px}.blog-taxonomy{gap:0;margin-bottom:88px;padding-bottom:34px;border-bottom-color:var(--blog-color-line)}.blog-taxonomy>div{min-height:34px;gap:28px}.blog-taxonomy>div+div{margin-top:18px}.blog-taxonomy strong{min-width:48px;color:var(--blog-color-muted);font-size:15px;font-weight:500}.blog-taxonomy a{color:var(--blog-color-ink-soft);font-size:16px}.blog-taxonomy a.is-active{color:var(--blog-color-ink);font-weight:650}.blog-featured{margin-bottom:88px}.blog-card{border-color:var(--blog-color-line);border-radius:var(--blog-radius-surface);background:var(--blog-color-bg)}.blog-card__body{padding:28px}.blog-card h2{font-size:clamp(1.8rem,3vw,2.6rem);letter-spacing:-.04em}.blog-card__footer,.blog-card__meta{color:var(--blog-color-muted)}.blog-list__heading{margin-bottom:30px}.blog-list__heading h2{font-size:clamp(2.8rem,4.8vw,4.4rem);letter-spacing:-.065em}.blog-list__heading span{color:var(--blog-color-muted);font-size:16px}.blog-card-grid{gap:20px}.blog-article{padding-bottom:120px}.blog-article__header{max-width:960px;padding-top:76px;padding-bottom:56px}.blog-article__breadcrumb{display:flex;align-items:center;gap:12px;margin-bottom:42px;color:var(--blog-color-muted);font-size:13px}.blog-back{display:inline-flex;align-items:center;gap:7px;margin:0;color:var(--blog-color-ink);font-size:14px;font-weight:650}.blog-article__meta{gap:10px 20px;font-size:14px}.blog-article__header h1{max-width:15ch;margin:24px 0 18px;font-size:clamp(3.1rem,6vw,6rem);letter-spacing:-.075em}.blog-article__header>p{max-width:44rem;font-size:18px;line-height:1.85}.blog-article__byline{margin-top:34px;padding-top:18px;font-size:14px}.blog-article__cover{position:relative;width:min(calc(100% - 48px),960px);aspect-ratio:16/8;margin:0 auto 72px;overflow:hidden;background:var(--blog-color-bg-paper)}.blog-article__cover img{object-fit:cover}.blog-article__cover figcaption{position:absolute;right:16px;bottom:12px;color:rgb(255 255 255/78%);font-size:11px;letter-spacing:.04em;text-shadow:0 1px 4px rgb(0 0 0/28%)}.blog-article__body{max-width:780px;padding-block:60px 48px;font-size:17px;line-height:1.95}.blog-article__body img{width:100%;height:auto;margin:34px 0}.blog-article__body h2{margin-top:3.5rem;font-size:2rem}.blog-article__body h3{margin-top:2.5rem;font-size:1.45rem}.blog-article__assets{max-width:780px;padding-block:34px 40px;border-top:1px solid var(--blog-color-line)}.blog-article__section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:18px}.blog-article__section-heading h2{margin:0;font-family:var(--blog-font-display);font-size:28px;font-weight:600}.blog-article__section-heading span{color:var(--blog-color-muted);font-size:13px}.blog-article__assets ul{margin:0;padding:0;list-style:none}.blog-article__assets li{border-bottom:1px solid var(--blog-color-line)}.blog-article__assets li:first-child{border-top:1px solid var(--blog-color-line)}.blog-article__assets a{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:62px;color:var(--blog-color-ink);text-decoration:none}.blog-article__assets a:hover .blog-article__asset-name{text-decoration:underline;text-underline-offset:4px}.blog-article__asset-type{color:var(--blog-color-muted);font-family:var(--blog-font-number);font-size:11px;letter-spacing:.06em}.blog-article__asset-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.blog-article__asset-size{color:var(--blog-color-muted);font-size:13px}.blog-article__footer{max-width:780px;padding-block:22px}.blog-comments{max-width:780px;padding-top:68px}@media (max-width:760px){.blog-site main{padding-top:64px}.blog-index__content,.blog-index__hero-grid,.blog-site .site-footer__bottom,.blog-site .site-footer__simple,.blog-site .site-nav__inner{width:min(calc(100% - 32px),var(--blog-content-width))}.blog-site .site-nav__simple{min-height:64px}.blog-site .site-brand__logo{width:32px;height:32px}.blog-site .site-brand__name{font-size:17px}.blog-site .site-nav__cta,.blog-site .site-nav__links{display:none}.blog-site .site-nav__menu{display:grid;place-items:center}.blog-site .site-nav__mobile-links{display:grid;gap:4px;border-top:1px solid var(--blog-color-line);padding:10px 0 14px}.blog-site .site-nav__mobile-links>a:not(.site-nav__mobile-cta){border-radius:var(--blog-radius-surface);color:var(--blog-color-ink-soft);font-size:14px;font-weight:600;padding:10px 2px}.blog-site .site-nav__mobile-cta{width:max-content;margin-top:5px}.blog-index__hero{min-height:0;padding:64px 0 72px}.blog-index__hero-grid{min-height:0;gap:58px;grid-template-columns:minmax(0,1fr)}.blog-index__hero-grid>*{min-width:0}.blog-index__hero h1{max-width:9ch;font-size:clamp(3.1rem,15vw,5rem)}.blog-index__hero p{margin-top:22px;font-size:16px}.blog-search{width:100%;margin-bottom:0}.blog-search button,.blog-search input{min-height:56px}.blog-search button{min-width:78px}.blog-index__content{padding-block:58px 80px}.blog-taxonomy{margin-bottom:60px;padding-bottom:24px}.blog-taxonomy>div{gap:18px}.blog-list__heading h2{font-size:clamp(2.6rem,12vw,3.6rem)}.blog-article__header{width:min(calc(100% - 32px),960px);padding-top:52px;padding-bottom:44px}.blog-article__breadcrumb{margin-bottom:32px}.blog-article__header h1{font-size:clamp(2.8rem,13vw,4.8rem)}.blog-article__header>p{font-size:16px}.blog-article__cover{width:min(calc(100% - 32px),960px);margin-bottom:44px}.blog-article__assets,.blog-article__body,.blog-article__footer,.blog-comments{width:min(calc(100% - 32px),780px)}.blog-article__body{padding-top:42px;font-size:16px}.blog-article__assets a{grid-template-columns:46px minmax(0,1fr) auto;gap:10px}.blog-article__asset-size{font-size:12px}}@media (max-width:700px){.blog-search>div{grid-template-columns:minmax(0,1fr)}.blog-search button{width:100%;min-width:0}.blog-article__body{min-width:0;overflow-wrap:anywhere}.blog-article__body table{display:block;max-width:100%;overflow-x:auto}.admin-shell .admin-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-shell .admin-overview .admin-table,.admin-shell .admin-section--table .admin-table{min-width:640px}.admin-shell .admin-users__filter{width:100%;flex-basis:auto}.admin-shell .admin-comment-card footer>div{width:100%;flex-wrap:wrap}.admin-shell .admin-comment-card footer>div form{flex:1 1 7rem}.admin-shell .admin-comment-card footer>div [data-kumo-component=Button]{width:100%}.admin-shell .admin-vditor .vditor-toolbar{overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}.admin-shell .admin-vditor .vditor-toolbar>*{flex:0 0 auto}.admin-shell .admin-vditor .vditor-reset{overflow-wrap:anywhere}}@media (max-width:480px){.admin-shell .admin-page__heading{gap:10px}.admin-shell .admin-page__heading>:last-child,.admin-shell .admin-page__heading>:last-child [data-kumo-component=Button]{width:100%}.admin-shell .admin-role-form{align-items:stretch;flex-wrap:wrap}.admin-shell .admin-role-form [data-kumo-component=Button]{flex:1 1 5.5rem}}.blog-site .site-nav__cta,.blog-site .site-nav__mobile-cta{border:0}.blog-site{--color-kumo-canvas:var(--blog-color-bg);--color-kumo-elevated:var(--blog-color-bg);--color-kumo-base:var(--blog-color-bg);--color-kumo-control:var(--blog-color-bg);--color-kumo-recessed:var(--blog-color-bg-paper);--color-kumo-interact:var(--blog-color-line-strong);--color-kumo-fill:var(--blog-color-line);--color-kumo-fill-hover:var(--blog-color-bg-paper);--color-kumo-line:var(--blog-color-line-strong);--color-kumo-focus:var(--blog-color-ink);--color-kumo-brand:var(--blog-color-ink);--text-color-kumo-default:var(--blog-color-ink);--text-color-kumo-strong:var(--blog-color-ink);--text-color-kumo-subtle:var(--blog-color-muted)}.blog-site .blog-comments__form{border-color:var(--blog-color-line-strong);border-radius:var(--blog-radius-surface);background:var(--blog-color-bg-paper)}.blog-site .blog-comment-form [data-kumo-component=Field],.blog-site .blog-comment-form label,.blog-site .blog-comments__form>p{color:var(--blog-color-ink-soft)}.blog-site .blog-comment-form input:not([type=hidden]),.blog-site .blog-comment-form textarea{border:1px solid var(--blog-color-line-strong);border-radius:var(--blog-radius-control);background:var(--blog-color-bg);color:var(--blog-color-ink);box-shadow:none}.blog-site .blog-comment-form input:not([type=hidden]):focus,.blog-site .blog-comment-form textarea:focus{border-color:var(--blog-color-ink);box-shadow:var(--blog-shadow-focus)}.blog-site .blog-comment-form input::placeholder,.blog-site .blog-comment-form textarea::placeholder{color:var(--blog-color-muted)}.blog-site .blog-comment-form [data-kumo-component=Button][type=submit]{border:1px solid var(--blog-color-ink);border-radius:var(--blog-radius-control);background:var(--blog-color-ink)!important;box-shadow:none;color:var(--blog-color-bg)!important}.blog-site .blog-comment-form [data-kumo-component=Button][type=submit]:hover{background:var(--blog-color-ink-soft)!important}.blog-site .blog-comment-form [data-kumo-component=Button][type=button]{border:1px solid var(--blog-color-line-strong);border-radius:var(--blog-radius-control);background:var(--blog-color-bg)!important;box-shadow:none;color:var(--blog-color-ink)!important}.blog-site .blog-comment-list [data-kumo-component=Button]{min-height:28px;border:0;border-radius:var(--blog-radius-control);background:transparent;color:var(--blog-color-muted);font-size:12px;padding:0 8px}.blog-site .blog-comment-list [data-kumo-component=Button]:hover{background:var(--blog-color-bg-paper);color:var(--blog-color-ink)}.blog-site .blog-comment-form [data-kumo-component=Field] small,.blog-site .blog-comment-form [data-kumo-component=Field]>p{color:var(--blog-color-muted);font-size:12px;line-height:1.5}.blog-site .blog-form-grid>div{align-content:start}.blog-site .blog-form-grid>div>label{min-height:38px}.blog-site .blog-card{position:relative}.blog-site .blog-card__hit-area{position:absolute;z-index:1;inset:0;border-radius:inherit}.blog-site .blog-card__body,.blog-site .blog-card__media{position:relative;z-index:2}.blog-site .blog-card__body{pointer-events:none}.blog-site .blog-card__body a{position:relative;z-index:3;pointer-events:auto}