/* framework-compat: bridge app.lib pages onto lasted/css/app.css
 * - keep site-header / main-menu / mobile-sidebar layout
 * - remap legacy iconfont class names onto lasted glyph codes
 * - alias legacy --radius-* tokens (headers still use them; lasted uses --border-radius-*)
 */
:root {
  --radius-xs: var(--border-radius-xs, 4px);
  --radius-sm: var(--border-radius-sm, 6px);
  --radius-md: var(--border-radius-md, 8px);
  --radius-lg: var(--border-radius-lg, 12px);
}
.icon-search:before{content:"\e86b"}
.icon-menu:before{content:"\e812"}
.icon-light:before{content:"\e8af"}
.icon-edit:before{content:"\e7d0"}
.icon-chat:before{content:"\e622"}
.icon-setting:before{content:"\e85a"}
.icon-download:before{content:"\e89c"}
.icon-good:before{content:"\e8ce"}
.icon-share-fill:before{content:"\e7f6"}
.icon-map:before{content:"\e7e9"}
.icon-time:before{content:"\e858"}
.icon-prompt:before{content:"\e870"}
.icon-error:before{content:"\e87a"}
.icon-top:before{content:"\e83e"}
.icon-wechat:before{content:"\e886"}
.icon-file-copy-fill:before{content:"\e7fa"}
.icon-gengxin:before{content:"\e864"}
.icon-direction-down-circle:before{content:"\e816"}
.icon-browse:before{content:"\e8c1"}
.icon-arrow-down:before{content:"\e816"}
.icon-ashbin:before{content:"\e848"}
.icon-calendar:before{content:"\e847"}
.icon-check-item:before{content:"\e7f3"}
.icon-comment:before{content:"\e835"}
.icon-email:before{content:"\e8e8"}
.icon-fabulous:before{content:"\e891"}
.icon-lock:before{content:"\e86a"}
.icon-mail:before{content:"\e8e8"}
.icon-more:before{content:"\e7f7"}
.icon-notification:before{content:"\e8a7"}
.icon-sign-out:before{content:"\e882"}
.icon-success:before{content:"\e7e8"}
.icon-telephone:before{content:"\e7eb"}
.icon-user-avatar:before{content:"\e877"}
.icon-dot:before{content:"\e7e6"}
.icon-mic:before{content:"\e828"}
.icon-data-view:before{content:"\e865"}
.icon-export:before{content:"\e7f6"}
.icon-film-filling:before{content:"\e87e"}
.icon-history:before{content:"\e858"}
.icon-image-text:before{content:"\e813"}
.icon-keyboard-26:before{content:"\e7d0"}
.icon-keyboard-9:before{content:"\e7d0"}
.icon-navigation:before{content:"\e7e9"}
.icon-security:before{content:"\e7c9"}
.icon-skip:before{content:"\e816"}
.icon-stop:before{content:"\e807"}
.icon-survey:before{content:"\e813"}
.icon-unlock:before{content:"\e8c1"}
.icon-good-1:before{content:"\e8ce"}

/* --- layout bridges from app.lib.css --- */
.site-header.fixed-top .main-submenu li.nav-item>.btn-link{color:#fff}
.site-header.fixed-top .main-submenu li.nav-item>.btn-link:hover,.site-header.fixed-top .main-submenu li.nav-item>.btn-link:focus{color:var(--color-secondary)}
.site-header{position:relative;width:100%;background-color:#fff;-ms-box-shadow:0 5px 20px 0 rgb(17 58 93/5%);-webkit-box-shadow:0 5px 20px 0 rgb(17 58 93/5%);box-shadow:0 5px 20px 0 rgb(17 58 93/5%)}
.site-header .navbar-brand{position:relative;max-width:180px;padding:0}
/* 文字 Logo 勿用 mt-2，否则相对右侧菜单垂直偏下 */
.site-header .navbar-brand > a.mt-2,
.site-header .navbar-brand a.mt-2{margin-top:0!important}
.site-header .navbar-brand .logo,.site-header .navbar-brand .logo-night{max-height:60px}
.site-header .navbar-brand .logo-night{display:none}
.site-header .navbar{padding-top:.5rem;padding-bottom:.5rem;-webkit-transition:all .4s ease-in-out;-o-transition:all .4s ease-in-out;transition:all .4s ease-in-out}
.site-header.fixed-top{position:fixed;-webkit-box-shadow:none;box-shadow:none;background-color:transparent}
.site-header.fixed-top .navbar{padding-top:1.25rem;padding-bottom:1.25rem}
.site-header.fixed-top.scroll{background-color:rgba(2,10,18,.8)}
.site-header.fixed-top.scroll .navbar{padding-top:.5rem;padding-bottom:.5rem}
@media(max-width:767.98px){.site-header .navbar{padding-top:.5rem;padding-bottom:.5rem}.site-header.fixed-top .navbar{padding-top:.75rem;padding-bottom:.75rem}.site-header .navbar-brand{max-width:110px;padding:0;margin:0}.site-header .navbar-brand .logo,.site-header .navbar-brand .logo-night{max-height:40px}}
@media(min-width:768px) and (max-width:991.98px){.site-header .navbar-brand{max-width:165px;margin:0}.site-header .navbar-brand .logo,.site-header .navbar-brand .logo-night{max-height:50px}}
@media(min-width:768px) and (max-width:991.98px){.site-header .navbar{padding-top:.5rem;padding-bottom:.5rem}.site-header.fixed-top .navbar{padding-top:1rem;padding-bottom:1rem}}
@media(min-width:992px) and (max-width:1199.98px){.site-header .navbar{padding-top:.5rem;padding-bottom:.5rem}.site-header.fixed-top .navbar{padding-top:1rem;padding-bottom:1rem}.site-header .navbar-brand{max-width:185px;margin:0}.site-header .navbar-brand .logo,.site-header .navbar-brand .logo-night{max-height:50px}}
.main-menu li{position:relative;display:block;-ms-flex-negative:0;flex-shrink:0;margin:0 1rem 0 0}
.main-menu li a{position:relative;display:block;padding:1.25rem 0}
.main-menu li:last-child a{margin:0}
.main-menu li.current-menu-item>a,.main-menu li:hover>a{color:var(--color-dark)}
@media(min-width:992px){.main-menu>li.current-menu-item>a:after{content:'';position:absolute;background:var(--bg-primary);left:0;right:0;bottom:10px;width:4px;height:4px;border-radius:var(--radius-lg);margin:0 auto;opacity:1}}
.main-menu li.menu-item-has-children a,.main-menu li.menu-item-has-children .nav-link{padding-right:.875rem}
.main-menu li.menu-item-has-children .sub-menu-icon{position:absolute;right:-.375rem;top:50%;-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);opacity:.6}
.main-menu>li.menu-item-has-children>a:hover>.sub-menu-icon,.main-menu>li.menu-item-has-children>.nav-link:hover>.sub-menu-icon{-ms-transform:rotate(180deg) translate(50%,50%);transform:rotate(180deg) translate(50%,50%);-webkit-transform:rotate(180deg) translate(50%,50%)}
.main-menu ul li.menu-item-has-children .sub-menu-icon{-ms-transform:rotate(-90deg) translate(50%,50%);transform:rotate(-90deg) translate(50%,50%);-webkit-transform:rotate(-90deg) translate(50%,50%)}
.main-menu ul li.menu-item-has-children .sub-menu-icon{right:1rem}
.main-menu li ul.sub-menu{position:absolute;visibility:hidden;opacity:0;background:#fff;left:0;top:100%;margin-top:-1rem;padding:.375rem 0;min-width:200px;max-width:235px;border-radius:var(--radius-sm);-webkit-transition:all .33s ease 0s;-o-transition:all .33s ease 0s;transition:all .33s ease 0s;-webkit-box-shadow:0 5px 30px rgba(93,115,141,.1);box-shadow:0 5px 30px rgba(93,115,141,.1)}
.main-menu li:hover>ul.sub-menu{opacity:1;visibility:visible;margin-top:0;z-index:11}
.main-menu li ul.sub-menu li{position:relative;display:block;margin:0}
.main-menu li:hover>ul.sub-menu li{-webkit-animation-duration:.8s;animation-duration:.8s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-name:fadeIn;animation-name:fadeIn}
.main-menu li:hover>ul.sub-menu li:nth-child(2){-webkit-animation-delay:.1s;animation-delay:.1s}
.main-menu li:hover>ul.sub-menu li:nth-child(3){-webkit-animation-delay:.2s;animation-delay:.2s}
.main-menu li:hover>ul.sub-menu li:nth-child(4){-webkit-animation-delay:.3s;animation-delay:.3s}
.main-menu li:hover>ul.sub-menu li:nth-child(5){-webkit-animation-delay:.4s;animation-delay:.4s}
.main-menu li:hover>ul.sub-menu li:nth-child(6){-webkit-animation-delay:.5s;animation-delay:.5s}
.main-menu li:hover>ul.sub-menu li:nth-child(7){-webkit-animation-delay:.6s;animation-delay:.6s}
.main-menu li:hover>ul.sub-menu li:nth-child(8){-webkit-animation-delay:.7s;animation-delay:.7s}
.main-menu li:hover>ul.sub-menu li:nth-child(9){-webkit-animation-delay:.8s;animation-delay:.8s}
.main-menu li:hover>ul.sub-menu li:nth-child(10){-webkit-animation-delay:.9s;animation-delay:.9s}
.main-menu li:hover>ul.sub-menu li:nth-child(11){-webkit-animation-delay:1s;animation-delay:1s}
.main-menu li:hover>ul.sub-menu li:nth-child(12){-webkit-animation-delay:1.1s;animation-delay:1.1s}
.main-menu li:hover>ul.sub-menu li:nth-child(13){-webkit-animation-delay:1.2s;animation-delay:1.2s}
.main-menu li:hover>ul.sub-menu li:nth-child(14){-webkit-animation-delay:1.3s;animation-delay:1.3s}
.main-menu li:hover>ul.sub-menu li:nth-child(15){-webkit-animation-delay:1.4s;animation-delay:1.4s}
.main-menu li ul.sub-menu li:last-child{border:0}
.main-menu li ul.sub-menu li a{display:block;padding:.5rem 1.25rem;margin:0}
.main-menu li ul.sub-menu li.current-menu-item a,.main-menu li ul.sub-menu li.current-post-ancestor a{color:var(--color-dark)}
.main-menu li ul.sub-menu li ul{left:101%;opacity:0;top:-.375rem;visibility:hidden}
@media(max-width:991.98px){.main-menu li{margin:.5rem 0}.main-menu li a{margin:0}.main-menu li.current-menu-item a{color:var(--color-dark)}.main-menu li.current-menu-item a:before{display:none}}
/* 文字 Logo：仅桌面 fixed-top 透明顶栏用浅色（移动端保持深色实心底栏） */
@media(min-width:768px){
.site-header.fixed-top .navbar-brand,
.site-header.fixed-top .navbar-brand a{color:#fff!important;-webkit-text-fill-color:#fff!important}
}
.site-header.fixed-top .main-menu li a,.site-header.fixed-top .main-submenu .nav-link{color:var(--color-light);padding-top:.75rem;padding-bottom:.75rem}
.site-header.fixed-top .main-submenu .nav-link.active{color:#fff;background-color:transparent}
.site-header.fixed-top .main-submenu .nav-link.active:hover{background-color:#fff;border-color:#fff;color:var(--color-dark)}
.site-header.fixed-top .main-menu li ul.sub-menu li a,.site-header.fixed-top .main-menu li ul.sub-menu li.current-menu-item a,.site-header.fixed-top .main-menu li ul.sub-menu li.current-post-ancestor a,.site-header.fixed-top .main-menu li.current-menu-item>a,.site-header.fixed-top .main-menu li:hover>a,.site-header.fixed-top .nav-link:hover{color:#fff}
.site-header.fixed-top .main-menu>li.current-menu-item>a:after{bottom:0}
.site-header.fixed-top .main-menu li ul.sub-menu{background-color:var(--bg-secondary);-webkit-box-shadow:none;box-shadow:none}
.site-header.fixed-top .main-menu li ul.sub-menu li{border-bottom-color:rgba(48,67,86,.11)}
.mobile-sidebar{width:100%;position:fixed;top:0;left:0;display:-ms-flexbox;display:-webkit-box;display:flex;-ms-flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;height:100vh;z-index:1032;background:var(--bg-light);-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%);-webkit-transition:.3s ease;-o-transition:.3s ease;transition:.3s ease}
@media(min-width:767.98px){.mobile-sidebar::-webkit-scrollbar{display:none}}
.mobile-sidebar.open{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);-webkit-transition:.3s ease;-o-transition:.3s ease;transition:.3s ease}
@media(min-width:768px){.mobile-sidebar{width:350px}}
.mobile-sidebar-inner{position:relative;pointer-events:auto;-ms-flex:1 1 auto;-webkit-box-flex:1;flex:1 1 auto;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;z-index:9999}
.mobile-sidebar-header{padding-bottom:1.75rem}
.mobile-sidebar-header,.mobile-sidebar-user-data{position:relative}
.mobile-sidebar-user-menu{padding:0 1rem;margin:0 0 1rem}
.mobile-sidebar-user-menu{position:relative}
.mobile-sidebar-action{position:relative;text-align:right;padding:1rem}
.mobile-sidebar-action .btn-sidebar-action{display:inline-block}
.mobile-sidebar-user{display:-ms-flexbox;display:-webkit-box;display:flex;position:relative;padding:1rem;-ms-flex:1 1 auto;-webkit-box-flex:1;flex:1 1 auto;-ms-flex-align:center;-webkit-box-align:center;align-items:center}
.mobile-sidebar-user .sign-action{color:#fff}
.mobile-sidebar-user .more-action{padding:.5rem .25rem .5rem .5rem}
.mobile-overlay{display:none;position:fixed;left:0;top:0;width:100vw;height:100vh;background:rgba(120,129,147,.22);z-index:1031;opacity:0;-webkit-transition:all .5s ease-in-out;-o-transition:all .5s ease-in-out;transition:all .5s ease-in-out;cursor:pointer}
.modal-open .mobile-sidebar .mobile-overlay{display:block;opacity:1}
.mobile-sidebar.open .mobile-tab-menu>li{-webkit-animation:fadeInRight .45s ease forwards;animation:fadeInRight .45s ease forwards;-webkit-animation-delay:.45s;animation-delay:.45s}
.mobile-sidebar.open .mobile-tab-menu>li:nth-of-type(2){-webkit-animation-delay:.5s;animation-delay:.5s}
.mobile-sidebar.open .mobile-tab-menu>li:nth-of-type(3){-webkit-animation-delay:.55s;animation-delay:.55s}
.mobile-sidebar.open .mobile-tab-menu>li:nth-of-type(4){-webkit-animation-delay:.6s;animation-delay:.6s}
.mobile-sidebar.open .mobile-tab-menu>li:nth-of-type(5){-webkit-animation-delay:.65s;animation-delay:.65s}
.mobile-sidebar-search{opacity:0}
.mobile-sidebar.open .mobile-sidebar-search{-webkit-animation:fadeInRight .35s ease forwards;animation:fadeInRight .35s ease forwards;-webkit-animation-delay:.35s;animation-delay:.35s}
.nice-dark-mode .site-header{background-color:var(--night-bg-white);-webkit-box-shadow:none;box-shadow:none}
.nice-dark-mode .site-header .navbar-brand .logo{display:none}
.nice-dark-mode .site-header .navbar-brand .logo-night{display:block}
.nice-dark-mode .site-header.fixed-top{background-color:transparent}
.nice-dark-mode .site-header.fixed-top.scroll{background-color:var(--night-bg-dark);-webkit-box-shadow:none;box-shadow:none}
.nice-dark-mode .site-header.fixed-top .main-submenu li.nav-item>.btn-link:hover,.nice-dark-mode .site-header.fixed-top .main-submenu li.nav-item>.btn-link:focus{color:#fff}
.nice-dark-mode .main-menu li.current-menu-item>a,.nice-dark-mode .main-menu li:hover>a{color:#fff}
.nice-dark-mode .main-menu li ul.sub-menu{background:var(--night-bg-muted);-webkit-box-shadow:none;box-shadow:none}
.nice-dark-mode .main-menu li ul.sub-menu li.current-menu-item a,.nice-dark-mode .main-menu li ul.sub-menu li.current-post-ancestor a{color:var(--night-color-dark)}
.nice-dark-mode .site-header.fixed-top .main-menu li ul.sub-menu{background:var(--night-bg-muted)}
.nice-dark-mode .site-header.fixed-top .main-menu li ul.sub-menu li{border-color:var(--night-border-light)}

/* lasted/app.css 仅隐藏 .signin-dropdown 三角；旧版 .nice-dropdown 头像旁仍会出现 Bootstrap caret */
.nice-dropdown .dropdown-toggle::after,
.nice-dropdown .dropdown-toggle:after{display:none!important}

/* --- layout bridge: main-submenu + dock/widget --- */
/* lasted/app.css 无 .main-submenu 横向布局，旧页 ul.main-submenu 会纵向堆叠导致 header 被撑高 */
.main-submenu{
  position:relative;
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -ms-flex-negative:0;flex-shrink:0;
  -webkit-box-orient:horizontal;-webkit-box-direction:normal;
  -ms-flex-direction:row;flex-direction:row;
  -webkit-box-align:center;-ms-flex-align:center;align-items:center;
  margin:0;padding:0;list-style:none;
}
.main-submenu>li,
.main-submenu .nav-item{
  list-style:none;
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -webkit-box-align:center;-ms-flex-align:center;align-items:center;
}
.site-header .navbar>.container,
.site-header .navbar>.container-fluid{
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -ms-flex-wrap:nowrap;flex-wrap:nowrap;
  -webkit-box-align:center;-ms-flex-align:center;align-items:center;
}
.site-header .navbar{
  -webkit-box-align:center;-ms-flex-align:center;align-items:center;
  min-height:0;
}
.site-header .navbar-brand{
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -webkit-box-align:center;-ms-flex-align:center;align-items:center;
  margin-right:1rem;
}
/* 文字 Logo 去掉 mt-2 造成的下沉，与右侧菜单垂直居中对齐 */
.site-header .navbar-brand>a,
.site-header .navbar-brand a.mt-2{
  margin-top:0!important;
  margin-bottom:0!important;
  line-height:1.25;
  display:-webkit-box;display:-ms-flexbox;display:flex;
  -webkit-box-align:center;-ms-flex-align:center;align-items:center;
}
.main-menu{
  -webkit-box-align:center;-ms-flex-align:center;align-items:center;
}
.main-menu>li>a{
  white-space:nowrap;
}

/* 桌面侧栏互动条 + 移动底栏 dock（来自 app.lib，lasted 无此规则） */
.fixed-post-dock{display:none}
.fixed-post-dock .apollo-collection.current,
.fixed-post-dock .btn-action-like.current,
.fixed-post-widget .btn-action-like.current{
  color:var(--color-primary,var(--primary-color,#0d6efd))!important
}
.fixed-post-widget{
  position:fixed;right:0;display:block;top:50%;
  -webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);
  z-index:2;-webkit-transition:all .25s;-o-transition:all .25s;transition:all .25s
}
.fixed-post-widget.scroll-up{
  opacity:.5;right:0;
  -webkit-transform:translate(100%,-50%);-ms-transform:translate(100%,-50%);transform:translate(100%,-50%)
}
@supports(bottom:env(safe-area-inset-bottom)){
  .fixed-post-dock{padding-bottom:env(safe-area-inset-bottom)}
}
@media(max-width:767.98px){
  .fixed-post-dock{
    position:fixed;left:0;right:0;bottom:0;
    display:-webkit-box;display:-ms-flexbox;display:flex;
    -webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;
    will-change:transform;
    transition:-webkit-transform .25s ease-in-out;
    -webkit-transition:-webkit-transform .25s ease-in-out;
    -o-transition:transform .25s ease-in-out;
    transition:transform .25s ease-in-out;
    transition:transform .25s ease-in-out,-webkit-transform .25s ease-in-out;
    z-index:999;
    -webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%)
  }
  .fixed-post-dock .dock-inner,
  .dock-inner{
    position:relative;
    display:-webkit-box;display:-ms-flexbox;display:flex;
    -webkit-box-align:center;-ms-flex-align:center;align-items:center;
    -ms-flex-negative:0;flex-shrink:0;
    background-color:#fff;
    padding:.75rem .875rem .75rem;
    border-radius:50px;
    -webkit-box-shadow:0 10px 30px 0 rgb(26 26 26/12%);
    box-shadow:0 10px 30px 0 rgb(26 26 26/12%)
  }
  .fixed-post-dock a{margin:0 .75rem;color:inherit;text-decoration:none}
  .fixed-dock-unpin{
    -webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%)
  }
  .fixed-dock-pin{
    -webkit-transform:translateY(-20px);-ms-transform:translateY(-20px);transform:translateY(-20px)
  }
  .fixed-post-widget{display:none!important}
  .nice-dark-mode .fixed-post-dock .dock-inner{
    background-color:var(--night-bg-dark,#1e1e22);
    -webkit-box-shadow:none;box-shadow:none
  }
}
.meta-title{font-size:1.375rem}
.meta-title a{color:inherit;text-decoration:none}
/* --- mobile header tighten --- */
.main-submenu{
  -ms-flex-wrap:nowrap;flex-wrap:nowrap!important;
  gap:.875rem;
}
.main-submenu>li{flex:0 0 auto!important;width:auto!important;margin:0!important}
/* 勿对 .btn-icon 设 width:auto —— 图标绝对定位后会被压成 ~2px，导致暗黑/搜索/头像挤在一起 */
.main-submenu .btn-icon{
  width:2.625rem!important;
  height:2.625rem!important;
  min-width:2.625rem!important;
  padding:0!important;
  flex:0 0 2.625rem!important;
}
.main-submenu .btn:not(.btn-icon){width:auto!important;white-space:nowrap}
.main-submenu .signin-dropdown{
  margin-left:.25rem;
}
.main-submenu .flex-avatar{
  margin-left:0;
  display:inline-flex;
  align-items:center;
}
@media(max-width:1199.98px){
  .site-header .navbar-collapse{display:none!important}
}
.icon-arrow-down:before{content:"\e816"} /* = icon-jiantouxia_arrow-down */

