.kj-companion{position:fixed;right:22px;bottom:max(18px,env(safe-area-inset-bottom));z-index:1100;color-scheme:light;font-family:inherit;color:#21445b;--kj-distance:220px}
.kj-companion.kj-away{transform:translateX(calc(-1 * var(--kj-distance)))}
.kj-dock{width:120px;display:flex;align-items:center;flex-direction:column;gap:2px}
.kj-avatar{width:112px;height:105px;padding:0;background:transparent;border-radius:50%;filter:drop-shadow(0 8px 8px #245e7520);-webkit-tap-highlight-color:transparent}
.kj-avatar:hover{filter:drop-shadow(0 8px 12px #245e7540)}
.kj-float{display:block;animation:kj-bob 4s ease-in-out infinite}
.kj-character{display:block;object-fit:contain;width:112px;height:112px;pointer-events:none}
.kj-name{background:#fff;color:#356583;border:1px solid #d5e7f0;border-radius:20px;padding:6px 10px;box-shadow:0 3px 14px #2049670b;font-size:11px;white-space:nowrap}
.kj-play{display:flex;gap:2px}.kj-play button{font-size:10px;background:#f8fcffed;color:#52758d;border-radius:10px;padding:4px 8px}.kj-play button:hover{background:#dfedf8}
.kj-panel{position:absolute;bottom:166px;right:0;width:360px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 200px);overflow:auto;border:1px solid #d7e7ef;border-radius:22px;background:#fcfeff;box-shadow:0 16px 60px #163e6330;padding:20px;overscroll-behavior:contain}
.kj-panel[hidden]{display:none}.kj-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.kj-eyebrow{font-size:10px;letter-spacing:1px;color:#7392a5}.kj-head h2{font-size:20px;line-height:1.4;letter-spacing:0;margin-top:4px}.kj-icon{font-size:24px;background:#edf5fa;color:#547487;border-radius:50%;height:32px;width:32px;flex-shrink:0}
.kj-intro{font-size:12px;color:#7590a0;margin:12px 0 16px;line-height:1.8}.kj-search{display:flex;border:1px solid #c6dce9;background:white;border-radius:12px;overflow:hidden;align-items:stretch}.kj-search:focus-within{outline:2px solid #a5c9e0;outline-offset:2px}.kj-search input{min-width:0;flex:1;border:0;background:transparent;outline:none;padding:12px 10px;color:#21445b;font-size:12px}.kj-search button{background:#3978a1;color:white;font-size:12px;padding:0 13px}
.kj-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.kj-suggestions button{background:#edf5fa;color:#52758d;font-size:11px;border-radius:14px;padding:6px 9px}
.kj-result-status{font-size:11px;line-height:1.7;color:#738a98;margin:13px 0 8px}.kj-result-list{max-height:210px;overflow:auto;overscroll-behavior:contain;display:grid;gap:7px}.kj-result{display:block;text-align:left;padding:11px 12px;border:1px solid #e0ebf1;border-radius:12px;background:white;color:#234d67;width:100%}.kj-result:hover{background:#eaf5fd;border-color:#b4d5e9}.kj-result strong{font-size:12px;display:block;line-height:1.6;font-weight:600}.kj-result span{font-size:10px;color:#7b939f;display:block;margin-top:3px}.kj-result b{float:right;color:#3d7da5}
.kj-nav{display:flex;flex-wrap:wrap;gap:7px;border-top:1px solid #e3edf2;margin-top:15px;padding-top:14px}.kj-nav button,.kj-account button{border:1px solid #d9e7ee;background:#f5fafc;border-radius:8px;padding:7px 10px;color:#426c87;font-size:11px}.kj-nav button:hover,.kj-account button:hover{background:#e2f0f8}
.kj-account{background:#eff7fa;border-radius:12px;padding:12px;margin-top:14px}.kj-account p{font-size:11px;line-height:1.8;color:#638294}.kj-account div{display:flex;gap:8px;margin-top:8px}.kj-account button{background:white}.kj-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px;font-size:10px;color:#8aa0ac}.kj-tools button{background:transparent;color:#6a8798;padding:5px;font-size:10px}
.kj-paused .kj-float,.kj-moving .kj-float,.kj-open .kj-float{animation-play-state:paused}.kj-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes kj-bob{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-7px) rotate(2deg)}}
@media(max-width:600px){.kj-companion{right:12px;bottom:max(12px,env(safe-area-inset-bottom))}.kj-dock{width:96px}.kj-avatar{width:84px;height:81px}.kj-character{width:86px;height:86px}.kj-name{font-size:10px;padding:5px 8px}.kj-panel{bottom:136px;width:min(360px,calc(100vw - 24px));max-height:calc(100dvh - 160px);padding:16px;border-radius:18px}.kj-result-list{max-height:170px}.kj-head h2{font-size:18px}.kj-intro{margin:9px 0 12px}}
@media(prefers-reduced-motion:reduce){.kj-float{animation:none}}
@media print{.kj-companion{display:none}}

/* 留出作品集翻页与首页播放按钮的位置。 */
body.nature-gallery-active .kj-companion{bottom:max(92px,env(safe-area-inset-bottom))}
body.space-cover-active .kj-companion{bottom:max(58px,env(safe-area-inset-bottom))}
body.space-cover-active .kj-panel{max-height:calc(100dvh - 240px)}
body.nature-gallery-active .kj-panel{max-height:calc(100dvh - 270px)}
@media(max-width:600px){body.space-cover-active .kj-panel{max-height:calc(100dvh - 210px)}body.nature-gallery-active .kj-companion{bottom:max(128px,env(safe-area-inset-bottom))}body.nature-gallery-active .kj-panel{max-height:calc(100dvh - 285px)}}
