/*
 * 虚拟键盘布局覆盖
 * 弹出时只抬高 bottom，不改 search_main02 的 position/width。
 * 键盘高度 300 + 底边距 16 + 间距 8 = 324；
 * 原 search 与 search_main02 的 bottom 差为 70（120-50），面板同步 +70。
 */
#navigation {
    transition: bottom 0.28s ease;
}
#navigation .search_main02 {
    transition: bottom 0.28s ease, width 0.5s ease;
}
#navigation.zh-kb-lifted {
    bottom: 394px !important;
}
#navigation.zh-kb-lifted .search_main02 {
    bottom: 324px !important;
}
.zh-keyboard-app {
    display: none;
    position: fixed;
    left: 90px;
    right: auto;
    width: min(1200px, calc(100% - 180px));
    max-width: 1200px;
    bottom: 16px;
    /* 低于 .search(99) / .sea(100)，避免挡住搜索框与收起图标 */
    z-index: 98;
    pointer-events: none;
    font-size: 16px !important;
    line-height: 1.2 !important;
}
.zh-keyboard-app.is-open {
    display: block;
    pointer-events: auto;
}
.zh-keyboard-app .zh-keyboard-close {
    position: absolute;
    right: 0;
    z-index: 100002;
    width: 30px;
    height: 30px;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 20%;
    color: #333;
    font-size: 28px;
    line-height: 30px;
    text-align: center;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}
.zh-keyboard-app .zh-keyboard-mount {
    width: 100%;
    position: relative;
    z-index: 1;
}
.zh-keyboard-app .zh-keyboard-wrap {
    width: 100%;
    margin: 0;
    font-size: 16px;
}
.zh-keyboard-app .zhk {
    --keyboard-height: 300px;
    --key-font-size: 16px;
    --candidate-font-size: 26px;
    --gap: 5px;
    --key-width: calc((100% - 45px) / 10);
    --key-min-width-function: 48px;
    --key-icon-scale: 1;
    width: 100% !important;
    max-width: 100% !important;
    height: 300px !important;
    min-height: 300px !important;
    box-sizing: border-box;
    font-size: 16px !important;
    line-height: 1.2 !important;
}
.zh-keyboard-app .zhk,
.zh-keyboard-app .zhk * {
    font-family: "Microsoft YaHei", "PingFang SC", sans-serif !important;
}
/* 候选行固定高度，避免被下方按键挤占/遮挡
 * 注意：不要给本行设 position:relative，否则「更多候选」面板
 * （.zhk-selection 绝对定位）会以本行为参照，无法盖住整块键盘。
 */
.zh-keyboard-app .zhk .zhk-base__row:first-child {
    flex: 0 0 auto !important;
    min-height: 64px !important;
    height: auto !important;
    overflow: visible !important;
    background-color: #f7f8f9;
}
.zh-keyboard-app .zhk .zhk-candidate,
.zh-keyboard-app .zhk .zhk-candidate__container {
    min-height: 64px;
    background-color: #f7f8f9;
}
/* 更多候选：铺满整个键盘区域，盖住按键（与原组件一致） */
.zh-keyboard-app .zhk .zhk-selection {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 20 !important;
    box-sizing: border-box;
}
.zh-keyboard-app .zhk .zhk-selection__list {
    max-height: 100%;
    overflow: auto;
}
.zh-keyboard-app .zhk button,
.zh-keyboard-app .zhk .zhk-base__key,
.zh-keyboard-app .zhk .num-keyboard__key,
.zh-keyboard-app .zhk .symbol-keyboard__key {
    font-size: var(--key-font-size) !important;
    line-height: 1.2 !important;
    margin: 0;
    padding-left: 0;
    padding-right: 0;
}
.zh-keyboard-app .zhk .zhk-selection__func-btn {
    padding: 12px 0 !important;
    font-size: var(--key-font-size) !important;
}
.zh-keyboard-app .zhk .zhk-candidate-list {
    gap: 16px !important;
}
.zh-keyboard-app .zhk .zhk-candidate-list__item {
    font-size: var(--candidate-font-size) !important;
    line-height: 1.2 !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
}
.zh-keyboard-app .zhk .zhk-selection__text {
    font-size: var(--candidate-font-size) !important;
    line-height: 1.2 !important;
    padding: 12px 8px !important;
}
.zh-keyboard-app .zhk .zhk-candidate__pinyin {
    font-size: 22px !important;
    line-height: 1.2 !important;
    flex: 0 0 auto !important;
    min-height: 24px;
}
.zh-keyboard-app .zhk .zhk-base__toggle-main { font-size: 14px !important; }
.zh-keyboard-app .zhk .zhk-base__toggle-sub { font-size: 12px !important; }
.zh-keyboard-app .zhk .zhk-candidate__loading-text { font-size: 13px !important; }
@media screen and (max-width: 1024px) {
    #navigation.zh-kb-lifted {
        bottom: 324px !important;
    }
    #navigation.zh-kb-lifted .search_main02 {
        bottom: 324px !important;
    }
    .zh-keyboard-app {
        left: 20px;
        right: auto;
        width: min(1200px, calc(100% - 40px));
        max-width: 1200px;
    }
}
