@import url('https://cdn.jsdelivr.net/npm/lxgw-wenkai-webfont@1/style.css');
*{margin:0;padding:0;box-sizing:border-box}
input,textarea,select,button,div,span,p,a,label,li,td,th,pre,code{font-family:inherit}
html{height:100vh;overflow:hidden;background:#fff}
body{color:#1F1E1D;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Text','PingFang SC','Helvetica Neue',Arial,sans-serif;display:flex;flex-direction:column;width:100%;max-width:430px;margin:0 auto;height:100vh;overflow:hidden;background:url('https://i.ibb.co/ccLtT9Yn/IMG-8768.jpg') center/cover no-repeat fixed}
@media (min-width:430px){body{left:50%;right:auto;transform:translateX(-50%);position:absolute;top:0}}
@media all and (display-mode:standalone){textarea,input{-webkit-user-select:text!important;user-select:text!important;pointer-events:auto!important}}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:50;opacity:0;pointer-events:none;transition:opacity .28s ease}
.overlay.open{opacity:1;pointer-events:auto}
.sidebar{position:fixed;top:0;left:0;height:100%;width:78%;max-width:290px;background:#F7F7F5;z-index:60;transform:translateX(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow-y:auto;box-shadow:2px 0 20px rgba(0,0,0,.10)}
.sidebar.open{transform:translateX(0)}
.sidebar::-webkit-scrollbar{display:none}
.sb-profile{display:flex;align-items:center;gap:14px;padding:calc(env(safe-area-inset-top,0px) + 30px) 20px 20px}
.sb-avatar{width:62px;height:62px;border-radius:50%;object-fit:cover;background:#eee;cursor:pointer;display:block}
.sb-avatar-placeholder{width:62px;height:62px;border-radius:50%;background:#f0f0f0;display:flex;align-items:center;justify-content:center;font-size:26px;cursor:pointer}
.sb-name{font-size:20px;font-weight:600;color:#111}
.sb-divider{height:.5px;background:#e8e8e8;margin:0 0 6px}
.sb-section-label{font-size:10.5px;color:#aaa;letter-spacing:2.5px;padding:12px 20px 4px;font-weight:500}
.sb-item{display:flex;align-items:center;gap:13px;padding:11px 20px;font-size:14.5px;color:#333;cursor:pointer;transition:background .15s}
.sb-item:active{background:#f5f5f5}
.sb-item svg{flex-shrink:0;width:17px;height:17px;opacity:.45}
.sb-item svg path,.sb-item svg circle,.sb-item svg rect{stroke:#333}
.sb-item span{flex:1}
.header-chat{padding:calc(env(safe-area-inset-top,0px) + 14px) 16px 10px;display:flex;align-items:center;justify-content:space-between;background:rgba(248,248,246,0.65);-webkit-backdrop-filter:blur(24px) saturate(1.6);backdrop-filter:blur(24px) saturate(1.6);border-bottom:.5px solid rgba(31,30,29,.06);flex-shrink:0;position:fixed;top:0;left:0;right:0;z-index:20;max-width:430px;margin:0 auto}
@media (min-width:430px){.header-chat{left:50%;right:auto;transform:translateX(-50%);width:430px}}
.header-chat-left{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.header-chat-name{font-size:16px;font-weight:600;color:#1F1E1D}
.header-chat-avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;flex-shrink:0}
.header-chat-name-wrap{display:flex;flex-direction:column;gap:1px}
.header-chat-subtitle{font-size:11px;color:#6E6D66;line-height:1.2}
.header-chat-dots{cursor:pointer;padding:4px;-webkit-tap-highlight-color:transparent}
.header-sub{padding:calc(env(safe-area-inset-top,0px) + 12px) 16px 10px;display:flex;align-items:center;background:#fff;border-bottom:.5px solid #e8e8e8;flex-shrink:0}
.header-sub-menu{cursor:pointer;-webkit-tap-highlight-color:transparent;padding:2px}
.page{display:none;flex-direction:column;overflow:hidden;position:relative;flex:1;min-height:0}
.page.active{display:flex}
.messages{flex:1;overflow-y:auto;padding:calc(env(safe-area-inset-top,0px) + 54px) 12px calc(70px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:2px;background:transparent;min-height:0}
.messages::-webkit-scrollbar{display:none}
.time-label{text-align:center;font-size:11px;color:#6E6D66;margin:10px 0 4px;user-select:none}
.msg-row{display:flex;flex-direction:column;margin-bottom:6px}
.msg-row.me{align-items:flex-end}
.msg-row.them{align-items:flex-start}
.msg-row.no-tail{margin-bottom:2px}
.msg-row.no-tail .bubble::after{display:none}
.msg-row.no-tail.me .bubble{border-bottom-right-radius:20px}
.msg-row.no-tail.them .bubble{border-bottom-left-radius:20px}
.bubble{max-width:76%;padding:10px 16px;border-radius:22px;font-size:16px;line-height:1.65;word-break:break-word;position:relative;font-family:ui-serif,Georgia,'PingFang SC',sans-serif}
.msg-row.me .bubble{background:#EEEEEC;color:#1F1E1D;border-bottom-right-radius:4px}
.msg-row.them .bubble{background:#F6F6F4;color:#1F1E1D;border-bottom-left-radius:4px;border:.5px solid rgba(31,30,29,.08)}
.msg-row.me .bubble::after{content:'';position:absolute;bottom:0;right:-6px;width:12px;height:14px;background:#EEEEEC;clip-path:polygon(0 0,100% 100%,0 100%);border-radius:0 0 3px 0}
.msg-row.them .bubble::after{content:'';position:absolute;bottom:0;left:-6px;width:12px;height:14px;background:#F6F6F4;clip-path:polygon(100% 0,0 100%,100% 100%);border-radius:0 0 0 3px}
.read-label{font-size:10px;color:#A6A39A;margin-top:3px;padding-right:2px;align-self:flex-end}
.msg-time{font-size:10px;color:#A6A39A;margin-top:3px;padding-left:2px;align-self:flex-start}
.action-text{font-size:11.5px;color:#A6A39A;font-style:italic;margin-top:4px;padding-left:4px;letter-spacing:.2px}
.thinking-wrap{max-width:72%;margin-bottom:4px}
.thinking-toggle{font-size:11px;color:#aaa;cursor:pointer;display:flex;align-items:center;gap:4px;padding:2px 0;user-select:none}
.thinking-toggle svg{transition:transform .2s}
.thinking-toggle.open svg{transform:rotate(90deg)}
.thinking-body{font-size:12px;color:#666;background:#f5f5f5;border-left:2px solid #ddd;padding:6px 10px;border-radius:0 6px 6px 0;margin-top:4px;line-height:1.5;display:none;white-space:pre-wrap}
.thinking-body.open{display:block}
.quote-preview{background:#f5f5f5;border-left:3px solid #ccc;padding:5px 10px;border-radius:4px;font-size:12px;color:#888;display:none;justify-content:space-between;align-items:center;margin-bottom:4px}
.quote-preview-close{font-size:18px;color:#aaa;cursor:pointer;line-height:1}
.bubble-quote{border-left:3px solid rgba(0,0,0,.2);padding:4px 8px;margin-bottom:6px;border-radius:0 4px 4px 0;max-width:100%;overflow:hidden}
.msg-row.me .bubble-quote{border-left-color:rgba(255,255,255,.5)}
.msg-row.them .bubble-quote{border-left-color:#5a9fe8}
.bubble-quote-name{font-size:11px;font-weight:600;color:rgba(0,0,0,.4);margin-bottom:2px}
.msg-row.me .bubble-quote-name{color:rgba(255,255,255,.7)}
.msg-row.them .bubble-quote-name{color:#5a9fe8}
.bubble-quote-text{font-size:12px;color:rgba(0,0,0,.4);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msg-row.me .bubble-quote-text{color:rgba(255,255,255,.6)}
.input-bar{position:fixed;bottom:0;left:0;right:0;max-width:430px;margin:0 auto;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px)) 12px;display:flex;align-items:flex-end;gap:8px;background:rgba(248,248,246,0.65);-webkit-backdrop-filter:blur(24px) saturate(1.6);backdrop-filter:blur(24px) saturate(1.6);border-top:.5px solid rgba(31,30,29,.06);z-index:10}
.home-bar-spacer{height:env(safe-area-inset-bottom,0px);background:#F8F8F6;flex-shrink:0}
.input-img-btn{display:none}
.input-emoji-btn{display:none}
.input-plus-btn{width:32px;height:32px;border-radius:50%;border:1.5px solid rgba(31,30,29,.20);display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;-webkit-tap-highlight-color:transparent;margin-bottom:1px}
.plus-popup-dark{position:fixed;bottom:70px;left:12px;background:#F8F8F6;border-radius:14px;box-shadow:0 4px 20px rgba(31,30,29,.12);padding:4px 0;min-width:130px;z-index:70;opacity:0;pointer-events:none;transform:translateY(6px);transition:opacity .18s,transform .18s}
.plus-popup-dark.open{opacity:1;pointer-events:auto;transform:translateY(0)}
.plus-item-dark{display:flex;align-items:center;gap:10px;padding:12px 16px;font-size:14px;color:#1F1E1D;cursor:pointer}
.plus-item-dark:active{background:#E6E6E4}
.plus-popup{display:none}
.plus-item{display:none}
.input-wrap{flex:1;display:flex;flex-direction:column;cursor:text;-webkit-tap-highlight-color:transparent}
.input-field{width:100%;background:#F0F0ED;border:none;border-radius:20px;padding:9px 15px;font-size:16px;color:#1F1E1D;outline:none;font-family:ui-serif,Georgia,'PingFang SC',sans-serif;resize:none;overflow:hidden;line-height:1.5;-webkit-user-select:text;user-select:text;touch-action:manipulation;-webkit-appearance:none}
.input-field::placeholder{color:#A6A39A}
.input-btn{width:32px;height:32px;border-radius:50%;background:#DA7756;border:none;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;margin-bottom:1px}
.msg-menu-overlay{position:fixed;inset:0;z-index:80;opacity:0;pointer-events:none}
.msg-menu-overlay.open{opacity:1;pointer-events:auto}
.msg-menu{position:absolute;background:#fff;border-radius:14px;box-shadow:0 4px 24px rgba(0,0,0,.12);overflow:hidden;min-width:140px}
.msg-menu-item{padding:12px 18px;font-size:14px;color:#111;cursor:pointer;border-bottom:.5px solid #eee}
.msg-menu-item:last-child{border-bottom:none}
.msg-menu-item:active{background:#f5f5f5}
.msg-menu-item.danger{color:#ff3b30}
.search-overlay{position:fixed;inset:0;background:#fff;z-index:90;display:none;flex-direction:column}
.search-overlay.open{display:flex}
.search-header{padding:calc(env(safe-area-inset-top,0px) + 12px) 16px 10px;display:flex;align-items:center;gap:10px;border-bottom:.5px solid #e8e8e8;flex-shrink:0}
.search-back{font-size:15px;color:#111;cursor:pointer;padding:4px 8px 4px 0}
.search-input{flex:1;background:#f0f0f0;border:none;border-radius:10px;padding:7px 12px;font-size:14px;color:#111;outline:none;font-family:inherit}
.search-results{flex:1;overflow-y:auto;padding:8px 0}
.search-results::-webkit-scrollbar{display:none}
.search-item{padding:12px 16px;border-bottom:.5px solid #f0f0f0;cursor:pointer}
.search-item:active{background:#f5f5f5}
.search-item-meta{font-size:11px;color:#aaa;margin-bottom:3px}
.search-item-text{font-size:14px;color:#111;line-height:1.4}
.search-item-text mark{background:#fff3cc;border-radius:2px;padding:0 1px;color:#886600}
.search-empty{text-align:center;color:#ccc;font-size:14px;padding:40px 0}
.popup-overlay{position:fixed;inset:0;z-index:70;opacity:0;pointer-events:none;transition:opacity .2s}
.popup-overlay.open{opacity:1;pointer-events:auto}
.popup-menu{position:absolute;top:52px;right:14px;background:#fff;border-radius:14px;box-shadow:0 4px 24px rgba(0,0,0,.12);min-width:160px;overflow:hidden}
.popup-item{padding:13px 18px;font-size:14px;color:#111;cursor:pointer;border-bottom:.5px solid #eee}
.popup-item:last-child{border-bottom:none}
.popup-item:active{background:#f5f5f5}
.sub-page{flex:1;overflow-y:auto;padding:0 0 40px;display:flex;flex-direction:column;background:#fff}
.sub-page::-webkit-scrollbar{display:none}
.sub-title{font-size:22px;font-weight:600;color:#111;padding:24px 20px 4px}
.sub-desc{font-size:13px;color:#aaa;padding:0 20px 8px}
.card{background:#f5f5f5;border-radius:14px;padding:16px 18px;font-size:14px;color:#666;line-height:1.7;margin:0 16px}
.card-label{font-size:11px;color:#aaa;letter-spacing:1px;margin-bottom:8px;font-weight:500}
.setting-group{margin:20px 16px 0}
.setting-group-label{font-size:12px;color:#aaa;letter-spacing:.3px;margin-bottom:6px;padding-left:4px}
.setting-card{background:#f5f5f5;border-radius:14px;overflow:hidden}
.setting-row{display:flex;align-items:center;padding:13px 16px;border-bottom:.5px solid #e8e8e8;gap:10px;min-height:48px}
.setting-row:last-child{border-bottom:none}
.setting-label{font-size:15px;color:#111;flex-shrink:0}
.setting-input{flex:1;border:none;outline:none;font-size:14px;color:#666;background:transparent;text-align:right;font-family:inherit}
.setting-input::placeholder{color:#ccc}
.setting-input.secret{letter-spacing:2px}
.toggle{width:44px;height:26px;border-radius:13px;background:#ccc;position:relative;cursor:pointer;transition:background .2s;flex-shrink:0}
.toggle.on{background:#1d6fe5}
.toggle-knob{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.toggle.on .toggle-knob{transform:translateX(18px)}
.model-select{flex:1;border:none;outline:none;font-size:14px;color:#666;background:transparent;text-align:right;font-family:inherit;cursor:pointer;max-width:200px}
.slider-wrap{flex:1;display:flex;align-items:center;gap:8px;justify-content:flex-end}
.slider{-webkit-appearance:none;width:90px;height:3px;border-radius:2px;background:#ddd;outline:none}
.slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#111;cursor:pointer}
.slider-val{font-size:13px;color:#aaa;min-width:28px;text-align:right}
.setting-btn{width:calc(100% - 32px);margin:12px 16px 0;padding:14px;background:#1d6fe5;color:#fff;border:none;border-radius:14px;font-size:15px;font-family:inherit;cursor:pointer}
.setting-btn.ghost{background:#f5f5f5;color:#111;border:.5px solid #e0e0e0;margin-top:8px}
.setting-fetch-btn{padding:6px 12px;background:#f0f0f0;border:.5px solid #e0e0e0;border-radius:8px;font-size:13px;color:#666;cursor:pointer;white-space:nowrap;font-family:inherit}
.mem-tabs{display:flex;gap:0;padding:0 16px;border-bottom:.5px solid #e8e8e8;flex-shrink:0;background:#fff}
.mem-tab{padding:10px 16px;font-size:14px;color:#aaa;cursor:pointer;border-bottom:2px solid transparent;transition:color .15s}
.mem-tab.active{color:#111;border-bottom-color:#1d6fe5}
.mem-body{flex:1;overflow-y:auto;padding:16px}
.mem-body::-webkit-scrollbar{display:none}
.mem-connect-row{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.mem-url-input{background:#f5f5f5;border:none;border-radius:10px;padding:9px 13px;font-size:14px;color:#111;outline:none;font-family:inherit}
.mem-url-input::placeholder{color:#aaa}
.mem-fetch-btn{background:#1d6fe5;color:#fff;border:none;border-radius:10px;padding:10px;font-size:14px;cursor:pointer;font-family:inherit;margin-top:2px}
.mem-list{display:flex;flex-direction:column;gap:10px}
.mem-card{background:#f5f5f5;border-radius:12px;padding:14px 16px}
.mem-card-name{font-size:12px;color:#1d6fe5;margin-bottom:6px;letter-spacing:.3px}
.mem-card-content{font-size:14px;color:#333;line-height:1.6;white-space:pre-wrap}
.mem-card-meta{font-size:11px;color:#aaa;margin-top:6px}
.streaming-cursor{display:inline-block;width:2px;height:1em;background:#A6A39A;margin-left:1px;vertical-align:text-bottom;animation:blink .8s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}

/* ── 附件预览条（composer card 外，输入框上方）── */
#xkAttachBar{
  display:none;
  flex-direction:row;
  align-items:flex-end;
  gap:8px;
  padding:0 14px 8px;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  flex-shrink:0;
}
#xkAttachBar::-webkit-scrollbar{display:none}
.xk-attach-preview-img{
  position:relative;flex-shrink:0;
  width:64px;height:64px;
  border-radius:10px;overflow:visible;
}
.xk-attach-preview-img img{
  width:100%;height:100%;object-fit:cover;display:block;border-radius:10px;overflow:hidden;
}
.xk-attach-preview-file{
  position:relative;flex-shrink:0;
  display:flex;align-items:center;gap:7px;
  background:#FFFFFF;border-radius:10px;
  padding:8px 36px 8px 10px;
  width:100%;box-sizing:border-box;
}
.xk-attach-preview-file-icon{
  width:28px;height:28px;border-radius:6px;background:#D8D8D6;
  display:flex;align-items:center;justify-content:center;
  font-size:9px;font-weight:700;color:#666;flex-shrink:0;
}
.xk-attach-preview-file-name{
  font-size:12px;color:#1F1E1D;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-family:-apple-system,'PingFang SC',sans-serif;
  flex:1;min-width:0;
}
.xk-attach-preview-del{
  position:absolute;top:50%;right:8px;
  transform:translateY(-50%);
  width:18px;height:18px;border-radius:50%;
  background:#D8D8D6;
  display:flex;align-items:center;justify-content:center;
  font-size:10px;color:#555;cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  z-index:2;
}


/* ── 加号菜单 item ── */
.xk-plus-item{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:12px 4px;cursor:pointer;-webkit-tap-highlight-color:transparent;
  border-radius:14px;transition:background .15s;
}
.xk-plus-item:active{background:#E0E0DE}
.xk-plus-icon{
  width:52px;height:52px;border-radius:16px;background:#E5E5E3;
  display:flex;align-items:center;justify-content:center;
}
.xk-plus-label{
  font-size:11px;color:#666;font-family:-apple-system,'PingFang SC',sans-serif;
}

/* ── 文件气泡 ── */
.xk-file-bubble{
  display:flex;align-items:center;gap:10px;
  background:#FFFFFF;border-radius:14px;
  padding:10px 14px;max-width:220px;
  border:.5px solid rgba(31,30,29,.06);
}
.xk-file-icon{width:36px;height:36px;border-radius:8px;background:#D8D8D6;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.xk-file-name{font-size:13px;color:#1C1C1E;font-weight:500;word-break:break-all;line-height:1.4;font-family:-apple-system,'PingFang SC',sans-serif}
.xk-file-size{font-size:11px;color:#999;margin-top:2px}

/* ── HTML 气泡 ── */
.xk-html-bubble{
  background:#EBE8DF;border-radius:14px;overflow:hidden;
  max-width:260px;cursor:pointer;-webkit-tap-highlight-color:transparent;
}
.xk-html-bubble:active{opacity:.8}
.xk-html-preview{width:100%;height:120px;border:none;pointer-events:none;border-radius:0}
.xk-html-foot{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-top:.5px solid rgba(0,0,0,.06)}
.xk-html-foot-label{font-size:12px;color:#5A5852;font-family:-apple-system,'PingFang SC',sans-serif}
.xk-html-foot-btn{font-size:11px;color:#A6A39A}

/* ── 联网搜索标签 ── */
.xk-search-badge{
  display:inline-flex;align-items:center;gap:4px;
  background:#EBE8DF;border-radius:20px;padding:3px 8px;
  font-size:11px;color:#5A5852;margin-bottom:6px;
  font-family:-apple-system,'PingFang SC',sans-serif;
}

/* ── Markdown 渲染 ── */
.xk-ai-para code{
  background:#EBE8DF;border-radius:4px;padding:1px 5px;
  font-family:ui-monospace,'SF Mono',monospace;font-size:12px;color:#1F1E1D;
}
.xk-ai-para pre{
  background:#EBE8DF;border-radius:10px;padding:10px 13px;
  overflow-x:auto;font-family:ui-monospace,'SF Mono',monospace;font-size:12px;
  line-height:1.6;margin:4px 0;color:#1F1E1D;white-space:pre;
}
.xk-ai-para ul,.xk-ai-para ol{padding-left:18px;margin:4px 0}
.xk-ai-para li{margin-bottom:2px}
.xk-ai-para a{color:#5C6BC0;text-decoration:underline;word-break:break-all}
.xk-ai-para table{border-collapse:collapse;width:100%;font-size:12px;margin:4px 0}
.xk-ai-para th,.xk-ai-para td{border:.5px solid #DDD9D0;padding:5px 8px;text-align:left}
.xk-ai-para th{background:#EBE8DF;font-weight:600}
.xk-ai-para blockquote{border-left:3px solid #DDD9D0;margin:4px 0;padding:4px 10px;color:#6E6D66}
.xk-ai-para hr{border:none;border-top:.5px solid #DDD9D0;margin:8px 0}

.xk-topbar{
  flex-shrink:0;
  background:transparent;
  display:flex;align-items:center;
  padding:calc(env(safe-area-inset-top,0px) + 8px) 14px 8px;
  touch-action:manipulation;
  position:relative;z-index:10;
}
.xk-menu-btn{
  width:40px;height:40px;
  border:0.5px solid rgba(255,255,255,0.55);
  background:rgba(255,255,255,0.18);
  -webkit-backdrop-filter:blur(16px) saturate(1.4);
  backdrop-filter:blur(16px) saturate(1.4);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;flex-shrink:0;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
  padding:0;
  box-shadow:0 2px 10px rgba(0,0,0,.08),inset 0 1px 0 rgba(255,255,255,0.5);
}
.xk-menu-btn:active{background:rgba(255,255,255,0.32)}
/* 加号胶囊 */
.xk-pill-btn{
  display:inline-flex;align-items:center;justify-content:center;
  background:#EBE8DF;border-radius:20px;
  width:32px;height:30px;
  cursor:pointer;flex-shrink:0;border:none;
  -webkit-tap-highlight-color:transparent;
}
.xk-pill-btn:active{background:#DEDAD0}
/* 语音按钮 */
.xk-cb-icon{
  width:26px;height:26px;border:none;background:none;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;cursor:pointer;flex-shrink:0;
  -webkit-tap-highlight-color:transparent;padding:0;
}
.xk-cb-icon:active{background:rgba(0,0,0,.05)}
/* 模型名纯文字 */
.xk-model-label{
  font-size:13px;color:#8A8880;cursor:pointer;flex-shrink:0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px;
}
/* 发送键黑色圆形 */
.xk-send-btn{
  width:32px;height:32px;border:none;
  background:#1F1E1D;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;flex-shrink:0;
  -webkit-tap-highlight-color:transparent;transition:opacity .15s;
}
.xk-send-btn:active{opacity:.7}
.xk-send-btn:disabled{opacity:.3}
.xk-topbar-mid{display:flex;align-items:center;gap:10px;flex:1;justify-content:center}
.xk-topbar-name{font-size:15px;font-weight:600;color:#1F1E1D;line-height:1.3}
.xk-topbar-sub{font-size:11px;color:#6E6D66;line-height:1.3}

/* 消息流：无气泡，纯文字 */
.xk-stream{
  flex:1;overflow-y:auto;
  padding:8px 22px calc(8px + env(safe-area-inset-bottom,0px));
  display:flex;flex-direction:column;
  -webkit-overflow-scrolling:touch;
  background:rgba(248,248,246,0.72);
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 60px,black calc(100% - 60px),transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0%,black 60px,black calc(100% - 60px),transparent 100%);
}
.xk-stream::-webkit-scrollbar{display:none}
.xk-stream{padding-top:calc(env(safe-area-inset-top,0px) + 54px)!important;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 16px)!important}

.xk-user-msg{
  align-self:flex-end;
  font-size:14px;color:#8B5E5E;font-weight:400;
  background:#FDEFF2;
  border-radius:18px;
  padding:7px 13px;
  max-width:72%;
  margin:8px 0 4px;
  word-break:break-word;line-height:1.65;
  font-family:-apple-system,'PingFang SC',sans-serif;
}

/* 三个点：横排 */
.xk-typing-dots{
  align-self:flex-start;
  display:flex;flex-direction:row;align-items:center;gap:5px;
  padding:12px 4px;
  background:transparent;
  margin:8px 0;
}
.xk-dot{
  width:6px;height:6px;
  border-radius:50%;
  background:#C8C5BC;
  animation:xkDotBounce 1.2s infinite ease-in-out;
  display:inline-block;
}
.xk-dot:nth-child(2){animation-delay:.2s}
.xk-dot:nth-child(3){animation-delay:.4s}
@keyframes xkDotBounce{
  0%,80%,100%{opacity:.3;transform:scale(.8)}
  40%{opacity:1;transform:scale(1)}
}

/* AI回复：无框，铺满背景 */
.xk-ai-block{
  align-self:stretch;
  margin:6px 0 24px;
  display:flex;flex-direction:column;gap:0;
}
.xk-ai-para{
  font-size:14px;color:#8B5E5E;
  font-family:-apple-system,'PingFang SC',sans-serif;
  font-weight:400;
  line-height:1.65;
  word-break:break-word;
  margin-bottom:1.1em;
  letter-spacing:.01em;
}
.xk-ai-para:last-child{margin-bottom:0}
.xk-ai-para strong{font-weight:600}
.xk-ai-para em{font-style:italic}

/* Thinking 触发按钮（时钟图标 + 文字） */
.xk-thinking{margin-bottom:12px}
.xk-think-btn{
  display:inline-flex;align-items:center;gap:5px;
  font-size:12px;color:#A6A39A;font-weight:500;
  font-family:-apple-system,'PingFang SC',sans-serif;
  cursor:pointer;user-select:none;
  -webkit-tap-highlight-color:transparent;
  padding:3px 0;
}
.xk-think-btn:active{opacity:.5}
.xk-think-btn svg{flex-shrink:0}

/* Thought process 弹窗 */
.xk-think-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.38);z-index:200;
  opacity:0;pointer-events:none;transition:opacity .22s;
}
.xk-think-overlay.open{opacity:1;pointer-events:auto}
.xk-think-sheet{
  position:fixed;bottom:0;left:0;right:0;
  max-width:430px;margin:0 auto;
  background:#F7F7F5;
  border-radius:20px 20px 0 0;
  padding-bottom:calc(env(safe-area-inset-bottom,0px) + 8px);
  max-height:50vh;
  display:flex;flex-direction:column;
  transform:translateY(100%);
  transition:transform .3s cubic-bezier(.34,1.1,.64,1);
  box-shadow:0 -4px 32px rgba(0,0,0,.12);
  overflow:hidden;
}
.xk-think-overlay.open .xk-think-sheet{transform:translateY(0)}
.xk-think-handle{width:36px;height:4px;background:#DDD9D0;border-radius:2px;margin:12px auto 4px;flex-shrink:0}
.xk-think-head{
  display:flex;align-items:center;gap:8px;
  padding:10px 18px 10px;flex-shrink:0;
  font-size:14px;font-weight:600;color:#1F1E1D;
  font-family:-apple-system,'PingFang SC',sans-serif;
  border-bottom:.5px solid #EBE8DF;
}
.xk-think-head svg{flex-shrink:0;opacity:.6}
.xk-think-close{
  margin-left:auto;width:26px;height:26px;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;background:#EBE8DF;
  cursor:pointer;font-size:13px;color:#666;
  -webkit-tap-highlight-color:transparent;flex-shrink:0;
}
.xk-think-close:active{background:#DEDAD3}
.xk-think-body{
  flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding:12px 14px 8px;
}
.xk-think-body::-webkit-scrollbar{display:none}
.xk-think-body-inner{
  padding:4px 2px;
  font-size:13px;color:#A6A39A;
  font-family:-apple-system,'PingFang SC',sans-serif;
  line-height:1.75;white-space:pre-wrap;word-break:break-word;
}

/* 调用工具详情弹窗：内容套色块，弹窗顶端有安全距离 */
.xk-tool-detail-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:300;
  display:none;align-items:flex-end;justify-content:center;
}
.xk-tool-detail-overlay.open{display:flex}
.xk-tool-detail-sheet{
  width:100%;max-width:430px;background:#FFFFFF;
  border-radius:20px 20px 0 0;
  padding-bottom:calc(env(safe-area-inset-bottom,0px) + 8px);
  max-height:calc(100vh - env(safe-area-inset-top,0px) - 60px);
  display:flex;flex-direction:column;
  box-shadow:0 -4px 32px rgba(0,0,0,.14);
  transform:translateY(100%);
  transition:transform .3s cubic-bezier(.34,1.1,.64,1);
  overflow:hidden;
}
.xk-tool-detail-overlay.open .xk-tool-detail-sheet{transform:translateY(0)}
.xk-tool-detail-handle{width:36px;height:4px;background:#DDD9D0;border-radius:2px;margin:12px auto 4px;flex-shrink:0}
.xk-tool-detail-head{
  display:flex;align-items:center;gap:8px;
  padding:8px 18px 12px;flex-shrink:0;
  font-size:14px;font-weight:600;color:#1F1E1D;
  font-family:-apple-system,'PingFang SC',sans-serif;
  border-bottom:.5px solid #EBE8DF;
}
.xk-tool-detail-head svg{flex-shrink:0;opacity:.6}
.xk-tool-detail-close{
  margin-left:auto;width:26px;height:26px;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;background:#EBE8DF;
  cursor:pointer;font-size:13px;color:#666;
  -webkit-tap-highlight-color:transparent;flex-shrink:0;
}
.xk-tool-detail-close:active{background:#DEDAD3}
.xk-tool-detail-body{
  flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding:12px 14px 8px;
}
.xk-tool-detail-body::-webkit-scrollbar{display:none}
.xk-tool-detail-section{
  background:#FFFFFF;border-radius:14px;
  padding:12px 14px;margin-bottom:10px;
  border:.5px solid rgba(31,30,29,.06);
}
.xk-tool-detail-section-label{
  font-size:11px;color:#A6A39A;margin-bottom:6px;font-weight:500;
  letter-spacing:.04em;font-family:-apple-system,'PingFang SC',sans-serif;
}
.xk-tool-detail-section-pre{
  font-size:13px;color:#5A5852;line-height:1.7;
  white-space:pre-wrap;word-break:break-all;
  font-family:ui-monospace,'SF Mono',monospace;
  margin:0;
}

/* 打字动画 */
.xk-typing-dots{display:flex;gap:5px;padding:12px 0 4px}
.xk-dot{width:7px;height:7px;border-radius:50%;background:#C8C6BE;animation:xkdot 1.2s infinite}
.xk-dot:nth-child(2){animation-delay:.2s}
.xk-dot:nth-child(3){animation-delay:.4s}
@keyframes xkdot{0%,80%,100%{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}

/* 时间分隔 */
.xk-timelabel{
  text-align:center;font-size:11px;color:#A6A39A;
  margin:14px 0 8px;user-select:none;
}

.xk-bar{
  flex-shrink:0;
  background:transparent;
  padding:8px 12px env(safe-area-inset-bottom,0px) 12px;
  touch-action:manipulation;
}
.xk-input-row{
  display:flex;align-items:flex-end;gap:8px;
}
.xk-circle-btn{
  width:42px;height:42px;border-radius:50%;
  background:rgba(255,255,255,0.18);
  -webkit-backdrop-filter:blur(16px) saturate(1.3);
  backdrop-filter:blur(16px) saturate(1.3);
  border:0.5px solid rgba(255,255,255,0.55);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;cursor:pointer;
  transition:background .15s;
  padding:0;
  box-shadow:0 2px 10px rgba(0,0,0,.08),inset 0 1px 0 rgba(255,255,255,0.5);
}
.xk-circle-btn:active{background:rgba(255,255,255,0.38)}
.xk-send-circle{
  background:rgba(255,255,255,0.18);
  -webkit-backdrop-filter:blur(16px) saturate(1.3);
  backdrop-filter:blur(16px) saturate(1.3);
  border:0.5px solid rgba(255,255,255,0.55);
  box-shadow:0 2px 10px rgba(0,0,0,.08),inset 0 1px 0 rgba(255,255,255,0.5);
}
.xk-send-circle:active{opacity:.75}
.xk-input-pill{
  flex:1;display:flex;align-items:flex-end;
  background:rgba(255,255,255,0.18);
  -webkit-backdrop-filter:blur(20px) saturate(1.4);
  backdrop-filter:blur(20px) saturate(1.4);
  border-radius:22px;
  border:0.5px solid rgba(255,255,255,0.55);
  padding:0 8px 0 16px;
  min-height:42px;
  box-shadow:0 2px 12px rgba(0,0,0,.07),inset 0 1px 0 rgba(255,255,255,0.5);
}
.xk-emoji-in-btn{
  width:34px;height:42px;border:none;background:none;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;cursor:pointer;padding:0;
}
/* 旧 composer card（保留以防其他地方引用） */
.xk-composer-card{display:none}
.xk-composer-top{display:none}
.xk-composer-bottom{display:none}

.xk-textarea{
  flex:1;width:100%;
  border:none;background:transparent;outline:none;
  font-family:-apple-system,'PingFang SC',sans-serif;
  font-size:16px;color:#1F1E1D;line-height:1.5;
  -webkit-user-select:text;user-select:text;-webkit-appearance:none;
  padding:11px 0;
  /* contenteditable: 允许换行但限制高度 */
  min-height:42px;max-height:120px;overflow-y:auto;
  word-break:break-word;white-space:pre-wrap;
  cursor:text;
}
/* placeholder 已移除 */
.xk-input-pill{
  position:relative;
}
/* 选中文字颜色 */
.xk-textarea::selection{background:rgba(92,107,192,.25)}

.xk-cb-icon{
  width:32px;height:32px;border:none;background:none;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;cursor:pointer;flex-shrink:0;
  -webkit-tap-highlight-color:transparent;
}
.xk-cb-icon:active{background:#F0EEE8}

.xk-blur-top{display:none}
/* Markdown 由 div 承载，块级标签不再被 p 自动移出 */
.xk-ai-block>.xk-ai-para{display:block}
.xk-ai-para>p{margin:0 0 1.1em}
.xk-ai-para>p:last-child{margin-bottom:0}
.xk-ai-para>h1,.xk-ai-para>h2,.xk-ai-para>h3,
.xk-ai-para>h4,.xk-ai-para>h5,.xk-ai-para>h6{
  display:block;color:#8B5E5E;font-family:-apple-system,'PingFang SC',sans-serif;
  line-height:1.35;margin:0 0 .55em;font-weight:600;
}
.xk-ai-para>h1{font-size:1.65em}.xk-ai-para>h2{font-size:1.45em}
.xk-ai-para>h3{font-size:1.28em}.xk-ai-para>h4{font-size:1.15em}
.xk-ai-para>h5{font-size:1.05em}.xk-ai-para>h6{font-size:1em}
.xk-ai-para>ul,.xk-ai-para>ol{
  list-style:none!important;padding:0!important;margin:4px 0 8px!important;
}
.xk-ai-para>ul>li,.xk-ai-para>ol>li{list-style:none!important;margin:0 0 4px;padding:0}
.xk-ai-para>ul>li::before,.xk-ai-para>ol>li::before{content:none!important}
.xk-ai-para>blockquote{
  margin:5px 0 8px;padding:5px 10px;border-left:2px solid #D8C9C9;
  color:#8B7777;background:rgba(139,94,94,.045);border-radius:0 6px 6px 0;
}

.xk-ai-block{
  width:100%;
  max-width:92%;
  align-self:flex-start;
}
.xk-ai-para h1,.xk-ai-para h2,.xk-ai-para h3,
.xk-ai-para h4,.xk-ai-para h5,.xk-ai-para h6{
  color:#8B5E5E;
  font-family:-apple-system,'PingFang SC',sans-serif;
  line-height:1.35;
  margin:0 0 .55em;
  font-weight:600;
}
.xk-ai-para h1{font-size:1.65em}
.xk-ai-para h2{font-size:1.45em}
.xk-ai-para h3{font-size:1.28em}
.xk-ai-para h4{font-size:1.15em}
.xk-ai-para h5{font-size:1.05em}
.xk-ai-para h6{font-size:1em}
/* 不使用浏览器默认黑点；列表内容和普通文本保持同一左边界 */
.xk-ai-para ul,.xk-ai-para ol{
  list-style:none;
  padding-left:0;
  margin:4px 0 8px;
}
.xk-ai-para li{margin:0 0 4px;padding-left:0}
.xk-ai-para li::before{content:none}
.xk-ai-para blockquote{
  margin:5px 0 8px;
  padding:5px 10px;
  border-left:2px solid #D8C9C9;
  color:#8B7777;
  background:rgba(139,94,94,.045);
  border-radius:0 6px 6px 0;
}
.xk-user-msg h1,.xk-user-msg h2,.xk-user-msg h3,
.xk-user-msg h4,.xk-user-msg h5,.xk-user-msg h6{
  line-height:1.35;
  margin:0 0 .55em;
  font-weight:600;
}
.xk-user-msg h1{font-size:1.65em}.xk-user-msg h2{font-size:1.45em}
.xk-user-msg h3{font-size:1.28em}.xk-user-msg h4{font-size:1.15em}
.xk-user-msg h5{font-size:1.05em}.xk-user-msg h6{font-size:1em}
.xk-user-msg ul,.xk-user-msg ol{list-style:none;padding-left:0;margin:4px 0 8px}
.xk-user-msg li{margin:0 0 4px;padding-left:0}
.xk-user-msg li::before{content:none}

.nv-header{display:flex;align-items:center;padding:calc(env(safe-area-inset-top,0px) + 14px) 18px 12px;background:#fff;border-bottom:.5px solid #e8e8e8;flex-shrink:0}
.nv-header-left{cursor:pointer;padding:2px;margin-right:12px}
.nv-header-title{flex:1;font-size:17px;font-weight:700;color:#111;letter-spacing:.2px}
.nv-header-actions{display:flex;gap:4px}
.nv-icon-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;-webkit-tap-highlight-color:transparent}
.nv-icon-btn:active{background:#f5f5f5}
.nv-icon-btn svg path,.nv-icon-btn svg circle{stroke:#333}
.nv-body{flex:1;overflow-y:auto;background:#fff;padding:20px 18px 40px}
.nv-body::-webkit-scrollbar{display:none}
.nv-section-label{font-size:11px;font-weight:600;color:#bbb;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:14px}
.nv-recent-scroll{display:flex;gap:14px;overflow-x:auto;padding-bottom:8px;-webkit-overflow-scrolling:touch}
.nv-recent-scroll::-webkit-scrollbar{display:none}
.nv-recent-card{flex-shrink:0;width:120px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.nv-recent-card:active .nv-recent-cover{transform:scale(.97)}
.nv-recent-cover{width:120px;height:170px;border-radius:10px;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.12);transition:transform .15s;display:flex;flex-direction:column}
.nv-recent-cover-top{flex:2;min-height:0}
.nv-recent-cover-bottom{flex:0 0 56px;background:#f5f5f5;padding:8px 10px;display:flex;flex-direction:column;justify-content:center}
.nv-recent-cover-title{font-size:11px;font-weight:700;color:#222;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.nv-recent-cover-author{font-size:10px;color:#aaa;margin-top:3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.nv-recent-foot{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding:0 2px}
.nv-recent-progress{font-size:11px;color:#888}
.nv-recent-dots{width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%}
.nv-recent-dots:active{background:#f0f0f0}
.nv-modal-btn{flex:1;padding:13px;border:none;border-radius:12px;font-size:15px;font-family:inherit;cursor:pointer;background:#111;color:#fff;font-weight:600}
.nv-modal-btn.ghost{background:#f0f0f0;color:#666}
.nv-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:100;display:flex;align-items:center;justify-content:center;padding:0 24px;opacity:0;pointer-events:none;transition:opacity .22s}
.nv-modal-overlay.open{opacity:1;pointer-events:auto}
.nv-modal{background:#fff;border-radius:18px;padding:24px 20px 20px;width:100%;max-width:380px;transform:scale(.94);transition:transform .25s}
.nv-modal-overlay.open .nv-modal{transform:scale(1)}
.nv-modal-title{font-size:16px;font-weight:700;color:#111;margin-bottom:16px}
.nv-modal-input{width:100%;background:#f5f5f5;border:none;border-radius:10px;padding:12px 14px;font-size:15px;color:#111;outline:none;font-family:inherit;margin-bottom:10px;display:block}
.nv-modal-input::placeholder{color:#bbb}
.nv-modal-color-label{display:none}
.nv-color-row{display:none}
.nv-cover-pick{width:100%;height:80px;background:#f5f5f5;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;margin-bottom:10px;border:1.5px dashed #ddd;-webkit-tap-highlight-color:transparent;overflow:hidden}
.nv-cover-pick:active{background:#eee}
.nv-cover-pick span{font-size:13px;color:#bbb}
.nv-add-quick{width:80px;height:80px;background:#f5f5f5;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;border:1.5px dashed #ddd;flex-shrink:0}
.nv-add-quick:active{background:#eee}
.nv-add-quick span{font-size:11px;color:#bbb}
.nv-float-ball{position:absolute;bottom:120px;right:18px;width:46px;height:46px;border-radius:50%;background:#fff;box-shadow:0 3px 14px rgba(0,0,0,.18);cursor:pointer;z-index:30;touch-action:none;transition:box-shadow .15s;display:none;align-items:center;justify-content:center;overflow:visible}
.nv-float-ball:active{box-shadow:0 2px 8px rgba(0,0,0,.22)}
/* 作者有话说 */
.nv-author-note{margin:32px 0 12px;padding:16px 18px;background:#f0ece4;border-radius:12px}
.nv-author-note-label{font-size:11px;color:#a08060;font-weight:700;letter-spacing:1.5px;margin-bottom:8px}
.nv-author-note-text{font-size:14px;color:#5a4a36;line-height:1.75}
/* 章节导航 */
.nv-chapter-nav{display:flex;flex-direction:column;gap:10px;margin:20px 0 48px}
.nv-chapter-nav-urge-row{display:flex;justify-content:center}
.nv-chapter-nav-pages-row{display:flex;gap:12px;justify-content:center}
.nv-chapter-nav-btn{flex:1;max-width:96px;padding:9px 0;border:1.5px solid #ddd;border-radius:20px;font-size:12px;font-family:inherit;cursor:pointer;background:#faf8f4;color:#555;font-weight:500;-webkit-tap-highlight-color:transparent;text-align:center}
.nv-chapter-nav-btn:active{background:#ede9e0}
.nv-chapter-nav-btn.urge{border-color:#c8b89a;color:#7a5c3a;font-weight:600;max-width:80px;font-size:12px;padding:9px 22px;flex:none}
.nv-chapter-nav-btn.urge:active{background:#ede0ce}
.nv-chapter-nav-btn:disabled,.nv-chapter-nav-btn.disabled{opacity:.3;cursor:default;pointer-events:none}
/* 催更弹窗 — 居中 */
.nv-urge-overlay{position:absolute;inset:0;background:rgba(0,0,0,.4);z-index:40;display:none;align-items:center;justify-content:center;padding:0 24px}
.nv-urge-overlay.open{display:flex}
.nv-urge-modal{background:#faf8f4;border-radius:18px;padding:24px 20px 20px;width:100%;max-width:420px;box-sizing:border-box}
.nv-urge-title{font-size:16px;font-weight:700;color:#111;margin-bottom:14px;line-height:1}
.nv-urge-textarea{width:100%;padding:11px 13px;background:#f0ece4;border:none;border-radius:10px;font-size:14px;font-family:inherit;color:#333;resize:none;line-height:1.65;outline:none;box-sizing:border-box;margin-bottom:14px;display:block;min-height:68px}
.nv-urge-textarea::placeholder{color:#bbb}
.nv-urge-chap-row{display:flex;align-items:center;gap:10px;margin-bottom:18px;font-size:13px;color:#666;flex-wrap:nowrap}
.nv-urge-chap-row span{white-space:nowrap;flex-shrink:0}
.nv-urge-slider{flex:1;min-width:0;-webkit-appearance:none;height:4px;border-radius:2px;background:#c8b89a;outline:none}
.nv-urge-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#7a5c3a;cursor:pointer}
.nv-urge-btns{display:flex;gap:10px}
.nv-urge-btn{flex:1;padding:13px 0;border:none;border-radius:13px;font-size:15px;font-family:inherit;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}
.nv-urge-btn.cancel{background:#ede9e0;color:#666}
.nv-urge-btn.confirm{background:#2a1f14;color:#faf8f4}
.nv-urge-progress{margin-top:12px;font-size:12px;color:#a08060;text-align:center;display:none}
/* 段落长按菜单 */
.nv-para-menu-overlay{position:absolute;inset:0;z-index:45;display:none}
.nv-para-menu-overlay.open{display:block}
.nv-para-menu{position:absolute;background:#fff;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.14);overflow:hidden;min-width:120px;padding:4px 0}
.nv-para-menu-item{display:flex;align-items:center;gap:9px;padding:11px 16px;font-size:14px;color:#333;cursor:pointer;-webkit-tap-highlight-color:transparent}
.nv-para-menu-item:active{background:#f5f5f5}
.nv-para-menu-item.danger{color:#ff3b30}
/* 标记颜色选择 */
.nv-mark-color-row{display:flex;gap:12px;justify-content:center;padding-bottom:14px}
.nv-mark-color-btn{width:28px;height:28px;border-radius:50%;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.nv-mark-color-btn:active{transform:scale(.88)}
/* 段评弹窗 */
.nv-comment-overlay{position:absolute;inset:0;background:rgba(0,0,0,.4);z-index:46;display:none;align-items:center;justify-content:center;padding:0 24px}
.nv-comment-overlay.open{display:flex}
.nv-comment-modal{background:#faf8f4;border-radius:18px;padding:22px 18px 18px;width:100%;max-width:400px;box-sizing:border-box}
.nv-comment-quote{font-size:12px;color:#a08060;background:#ede9e0;border-radius:8px;padding:8px 10px;margin-bottom:12px;line-height:1.6;max-height:56px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.nv-comment-textarea{width:100%;padding:11px 12px;background:#f0ece4;border:none;border-radius:10px;font-size:14px;font-family:inherit;color:#333;resize:none;line-height:1.65;outline:none;box-sizing:border-box;margin-bottom:14px;display:block;min-height:80px}
.nv-comment-textarea::placeholder{color:#bbb}
.nv-comment-btns{display:flex;gap:10px}
.nv-comment-btn{flex:1;padding:12px 0;border:none;border-radius:12px;font-size:14px;font-family:inherit;font-weight:600;cursor:pointer}
.nv-comment-btn.cancel{background:#ede9e0;color:#666}
.nv-comment-btn.confirm{background:#2a1f14;color:#faf8f4}
/* 段落标记图标：悬在正文左侧不占位 */
.nv-para{margin:0 0 16px;text-indent:2em;position:relative;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.nv-para-mark-icon{position:absolute;left:-18px;top:3px;line-height:1;display:flex;align-items:center;pointer-events:none}
/* 段评：斜体细字，去掉横线 */
.nv-para-comment{margin:0 0 18px 2em;font-size:13px;font-style:italic;font-weight:300;color:#aaa;line-height:1.7;letter-spacing:.2px;display:block}
/* 目录tab */
.nv-toc-tabs{display:flex;border-bottom:1px solid #f0f0f0;padding:0 16px}
.nv-toc-tab{flex:1;text-align:center;padding:10px 0;font-size:14px;color:#bbb;cursor:pointer;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
.nv-toc-tab.active{color:#333;border-bottom-color:#c8a07a}
/* 目录标记列表 */
.nv-toc-mark-item{padding:14px 16px;border-bottom:1px solid #f5f5f5;cursor:pointer}
.nv-toc-mark-item:active{background:#faf5f0}
.nv-toc-mark-chap{font-size:11px;color:#c8a07a;margin-bottom:4px}
.nv-toc-mark-text{font-size:14px;color:#444;line-height:1.6}
.nv-toc-mark-comment{margin-top:5px;font-size:12px;font-style:italic;color:#aaa}
/* 段评回复（小克） */
.nv-para-comment-reply{margin:0 0 18px 2em;font-size:13px;font-style:italic;font-weight:300;color:#c8a07a;line-height:1.7;letter-spacing:.2px;display:block;padding-left:1em;position:relative}
.nv-para-comment-reply::before{content:'';position:absolute;left:0;top:.35em;bottom:.35em;width:2px;background:#e8d4b8;border-radius:1px}
.nv-inline-editor{display:flex;align-items:flex-end;gap:8px;margin:6px 0 18px 2em;padding:8px 10px;background:rgba(255,255,255,.85);border:1px solid rgba(200,184,154,.5);border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.nv-inline-editor-ta{flex:1;background:transparent;border:none;outline:none;font-size:13px;font-style:italic;font-family:inherit;color:#555;line-height:1.65;resize:none;min-height:36px;padding:0;-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}
.nv-inline-editor-ta::placeholder{color:#ccc}
.nv-inline-editor-btn{width:30px;height:30px;border-radius:50%;background:#2a1f14;border:none;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
.nv-float-tip{position:absolute;bottom:54px;right:0;min-width:160px;max-width:230px;background:#efefef;color:#333;border-radius:12px 12px 0 12px;padding:9px 12px;font-size:12px;line-height:1.6;display:none;white-space:pre-wrap;word-break:break-all;box-shadow:0 2px 10px rgba(0,0,0,.08);pointer-events:none}
.nv-float-tip.open{display:block}
.nv-detail-body{flex:1;overflow-y:auto;padding:0 0 0}
.nv-detail-body::-webkit-scrollbar{display:none}
.nv-detail-cover{width:140px;height:196px;border-radius:12px;object-fit:cover;box-shadow:0 6px 18px rgba(0,0,0,.12);display:block}
.nv-detail-cover-placeholder{width:140px;height:196px;border-radius:12px;background:#f5f5f5;display:flex;align-items:center;justify-content:center}
.nv-detail-title{font-size:22px;font-weight:700;color:#111;text-align:center;margin-top:20px;padding:0 24px}
.nv-detail-author{font-size:14px;color:#888;text-align:center;margin-top:8px}
.nv-detail-read-btn{margin:24px auto 0;display:block;width:calc(100% - 48px);padding:14px;background:#111;color:#fff;border:none;border-radius:14px;font-size:16px;font-weight:600;font-family:inherit;cursor:pointer;text-align:center}
.nv-shelf-empty-text{font-size:13px;color:#ccc;text-align:center;line-height:1.7}
.nv-detail-overlay{position:absolute;inset:0;background:#fff;z-index:20;display:none;flex-direction:column;overflow:hidden}
.nv-detail-overlay.open{display:flex}
.nv-detail-header{display:flex;align-items:center;padding:calc(env(safe-area-inset-top,0px) + 14px) 18px 12px;background:#fff;border-bottom:.5px solid #f0f0f0;flex-shrink:0}
.nv-detail-back{width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent}
.nv-reader-overlay{position:absolute;inset:0;background:#faf8f4;z-index:20;display:none;flex-direction:column;overflow:hidden;padding-bottom:env(safe-area-inset-bottom,0px)}
.nv-reader-overlay.open{display:flex}
.nv-reader-topbar{display:flex;align-items:center;padding:calc(env(safe-area-inset-top,0px) + 10px) 14px 10px;background:#faf8f4;border-bottom:.5px solid #ede9e2;flex-shrink:0}
.nv-reader-back{font-size:15px;color:#666;padding:4px 12px 4px 0;cursor:pointer;-webkit-tap-highlight-color:transparent;white-space:nowrap}
.nv-reader-topbar-title{flex:1;font-size:13px;color:#aaa;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:center;padding:0 4px}
.nv-reader-topbar-actions{display:flex;gap:0;flex-shrink:0}
.nv-reader-topbtn{font-size:15px;color:#666;padding:4px 10px;cursor:pointer;-webkit-tap-highlight-color:transparent;white-space:nowrap}
.nv-reader-topbtn:active{opacity:.5}
.nv-reader-content{flex:1;overflow-y:scroll;padding:20px 24px 20px 36px;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 40px);background:#faf8f4;-webkit-user-select:none;user-select:none;font-size:20px;color:#333;line-height:1.85;word-break:break-all}
.nv-reader-content::-webkit-scrollbar{display:none}
.nv-chapter-block{margin-bottom:32px}
.nv-chapter-title{font-size:17px;font-weight:700;color:#111;margin-bottom:20px;padding-top:8px}
.nv-para{margin:0 0 16px;text-indent:2em;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.nv-reader-prev{display:none}
.nv-reader-next{display:none}
.nv-reader-toolbar{display:none}
.nv-toc-panel{position:absolute;inset:0;background:#faf8f4;z-index:10;display:none;flex-direction:column}
.nv-toc-panel.open{display:flex}
.nv-rsettings-panel{position:absolute;bottom:0;left:0;right:0;background:#fff;border-radius:16px 16px 0 0;z-index:10;display:none;flex-direction:column;padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:0 -4px 20px rgba(0,0,0,.08)}
.nv-rsettings-panel.open{display:flex}
.nv-toc-header{display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top,0px) + 14px) 18px 12px;border-bottom:.5px solid #f0f0f0;font-size:15px;font-weight:600;color:#111}
.nv-toc-list{flex:1;overflow-y:auto;padding:8px 0}
.nv-toc-list::-webkit-scrollbar{display:none}
.nv-toc-item{padding:14px 20px;font-size:15px;color:#333;cursor:pointer;border-bottom:.5px solid #f5f5f5}
.nv-toc-item:active{background:#f5f5f5}
.nv-toc-item.active{color:#1d6fe5}
.nv-rs-btn{background:#f0f0f0;color:#333;border:none;border-radius:8px;padding:8px 18px;font-size:15px;cursor:pointer;font-family:inherit}
.nv-shelf-empty{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 0 40px;gap:20px}
.nv-gen-overlay{position:fixed;inset:0;background:#fff;z-index:30;display:none;flex-direction:column;overflow:hidden}
.nv-gen-overlay.open{display:flex}
.nv-gen-header{display:flex;align-items:center;padding:calc(env(safe-area-inset-top,0px) + 10px) 16px 10px;background:#fff;border-bottom:.5px solid #e8e8e8;flex-shrink:0}
.nv-gen-back{width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent;margin-right:6px}
.nv-gen-title{font-size:15px;font-weight:700;color:#111}
.nv-gen-body{flex:1;overflow-y:auto;padding:14px 16px calc(env(safe-area-inset-bottom,0px) + 28px)}
.nv-gen-body::-webkit-scrollbar{display:none}
.nv-gen-section{margin-bottom:16px}
.nv-gen-label{font-size:11px;font-weight:600;color:#aaa;letter-spacing:.5px;margin-bottom:6px}
.nv-gen-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.nv-gen-add-btn{display:flex;align-items:center;gap:4px;font-size:12px;color:#111;cursor:pointer;-webkit-tap-highlight-color:transparent;font-weight:600}
.nv-gen-input{width:100%;background:#f5f5f5;border:none;border-radius:10px;padding:9px 12px;font-size:14px;color:#111;outline:none;font-family:inherit;display:block}
.nv-gen-input::placeholder{color:#bbb}
.nv-gen-cover-pick{width:90px;height:126px;flex-shrink:0;background:#f5f5f5;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;border:1.5px dashed #ddd;overflow:hidden;-webkit-tap-highlight-color:transparent}
.nv-gen-cover-pick span{font-size:10px;color:#bbb}
.nv-gen-cover-pick:active{background:#eee}
.nv-gen-meta-row{display:flex;gap:12px;align-items:flex-start}
.nv-gen-meta-inputs{flex:1;display:flex;flex-direction:column}
.nv-gen-char-card{background:#f5f5f5;border-radius:10px;padding:10px;margin-bottom:8px;position:relative}
.nv-gen-char-del{position:absolute;top:8px;right:10px;font-size:16px;color:#ccc;cursor:pointer;line-height:1}
.nv-gen-char-input{width:100%;background:#fff;border:none;border-radius:7px;padding:7px 9px;font-size:13px;color:#111;outline:none;font-family:inherit;margin-bottom:6px;display:block}
.nv-gen-char-input:last-child{margin-bottom:0}
.nv-gen-char-input::placeholder{color:#ccc}
.nv-gen-char-sex{display:flex;gap:6px;margin-bottom:6px}
.nv-gen-sex-btn{flex:1;padding:5px;background:#fff;border:none;border-radius:7px;font-size:12px;color:#888;cursor:pointer;font-family:inherit;text-align:center}
.nv-gen-sex-btn.active{background:#111;color:#fff}
.nv-gen-world-wrap{display:flex;flex-wrap:wrap;gap:7px}
.nv-gen-world-tag{padding:5px 11px;background:#f5f5f5;border-radius:20px;font-size:12px;color:#555;cursor:pointer;border:1.5px solid transparent;-webkit-tap-highlight-color:transparent}
.nv-gen-world-tag.active{background:#111;color:#fff;border-color:#111}
.nv-gen-slider{-webkit-appearance:none;width:100%;height:3px;border-radius:2px;background:#e0e0e0;outline:none;margin-top:6px}
.nv-gen-slider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#111;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.2)}
.nv-gen-chapter-val{font-size:14px;font-weight:600;color:#111}
.nv-gen-submit{width:100%;padding:13px;background:#111;color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;margin-top:6px}
.nv-gen-submit:active{opacity:.85}
.nv-gen-submit:disabled{background:#ccc}
.nv-gen-world-add{border:1.5px dashed #bbb!important;color:#aaa!important;background:#fff!important}
.nv-gen-world-add:active{background:#f5f5f5!important}
.nv-gen-tag{padding:5px 11px;background:#f5f5f5;border-radius:20px;font-size:12px;color:#555;cursor:pointer;border:1.5px solid transparent;-webkit-tap-highlight-color:transparent}
.nv-gen-tag.active{background:#111;color:#fff;border-color:#111}
.nv-gen-plot{width:100%;background:#f5f5f5;border:none;border-radius:10px;padding:10px 12px;font-size:13px;color:#111;outline:none;font-family:inherit;resize:none;line-height:1.6;min-height:72px;display:block}
.nv-gen-plot::placeholder{color:#bbb}
.nv-gen-progress{margin-top:12px}
.nv-gen-progress-bar{width:100%;height:4px;background:#f0f0f0;border-radius:2px;overflow:hidden}
.nv-gen-progress-fill{height:100%;background:#111;border-radius:2px;width:0;transition:width .4s ease}
.nv-gen-progress-text{font-size:11px;color:#aaa;margin-top:6px;text-align:center}

.xk-user-wrap{
  display:flex;flex-direction:column;align-items:flex-end;
  margin:8px 0 4px;
}
.xk-user-wrap .xk-user-msg{
  margin:0;
}
.xk-user-action-bar{
  justify-content:flex-end;
  margin-top:4px;
}


.xk-action-bar{
  display:flex;align-items:center;gap:0;
  margin-top:10px;
}
.xk-action-btn{
  display:inline-flex;align-items:center;justify-content:center;
  background:none;border:none;
  padding:6px 8px;border-radius:8px;
  cursor:pointer;-webkit-tap-highlight-color:transparent;
  flex-shrink:0;
}
.xk-action-btn:active{background:#EBE8DF}
.xk-action-btn svg{flex-shrink:0;opacity:.55}
.xk-action-btn:active svg{opacity:.85}
.xk-token-count{
  margin-left:auto;
  font-size:11px;color:#C8C5BC;
  padding:6px 4px;white-space:nowrap;flex-shrink:0;
}

/* MCP 客户端 */
.mcp-topbar{display:flex;align-items:center;padding:calc(env(safe-area-inset-top,0px) + 12px) 16px 12px;background:#fff;position:sticky;top:0;z-index:10}
.mcp-topbar-left{width:72px;display:flex;align-items:center;gap:4px}
.mcp-topbar-title{flex:1;text-align:center;font-size:15px;font-weight:600;color:#111;font-family:-apple-system,'PingFang SC',sans-serif}
.mcp-topbar-actions{width:72px;display:flex;align-items:center;justify-content:flex-end;gap:4px}
.mcp-topbar-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:8px}
.mcp-topbar-btn:active{background:#EBE8DF}
.mcp-server-list{padding:12px 16px 40px}
.mcp-server-card{background:#fff;border-radius:16px;padding:14px 16px;margin-bottom:10px;display:flex;align-items:center;gap:12px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .12s}
.mcp-server-card:active{background:#F5F2EA}
.mcp-server-icon{width:44px;height:44px;border-radius:12px;background:#EFF0F8;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative}
.mcp-server-icon svg{opacity:.6}
.mcp-server-dot{width:9px;height:9px;border-radius:50%;background:#9E9E9E;border:1.5px solid #fff;position:absolute;bottom:2px;right:2px}
.mcp-server-dot.ok{background:#34C759}
.mcp-server-dot.err{background:#FF3B30}
.mcp-server-dot.loading{background:#FF9500}
.mcp-server-info{flex:1;min-width:0}
.mcp-server-name{font-size:15px;font-weight:500;color:#111;font-family:-apple-system,'PingFang SC',sans-serif}
.mcp-server-tags{display:flex;gap:5px;margin-top:4px;flex-wrap:wrap}
.mcp-server-tag{font-size:11px;padding:2px 7px;border-radius:6px;font-family:-apple-system,'PingFang SC',sans-serif}
.mcp-server-tag.ok{background:#E9F8ED;color:#34C759}
.mcp-server-tag.type{background:#EEF0FA;color:#5C6BC0}
.mcp-server-tag.tools{background:#F5F2EA;color:#888}
.mcp-server-arrow{color:#C8C5BC;font-size:18px;flex-shrink:0}
/* 工具列表 */
.mcp-tool-list{padding:10px 16px 40px}
.mcp-tool-card{background:#fff;border-radius:14px;padding:13px 15px;margin-bottom:8px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .12s}
.mcp-tool-card:active{background:#F0EDE6}
.mcp-tool-card-name{font-size:14px;font-weight:600;color:#1F1E1D;font-family:-apple-system,'PingFang SC',monospace;margin-bottom:3px}
.mcp-tool-card-desc{font-size:12px;color:#888;line-height:1.5;font-family:-apple-system,'PingFang SC',sans-serif}
/* 弹窗增强 */
.mcp-type-row{display:flex;background:#EEECEA;border-radius:10px;padding:2px;gap:2px}
.mcp-type-btn{flex:1;padding:7px 0;text-align:center;font-size:13px;border-radius:8px;cursor:pointer;color:#888;font-family:-apple-system,'PingFang SC',sans-serif;-webkit-tap-highlight-color:transparent;transition:all .15s}
.mcp-type-btn.active{background:#fff;color:#1F1E1D;font-weight:600;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.mcp-call-desc{font-size:13px;color:#888;margin-bottom:14px;line-height:1.5;font-family:-apple-system,'PingFang SC',sans-serif}
.mcp-call-result{margin-top:14px;border-radius:10px;overflow:hidden;background:#F7F4ED}
.mcp-call-result-head{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;font-size:12px;font-weight:600;color:#888;border-bottom:.5px solid #EBE8DF}
.mcp-call-result-body{padding:10px 12px;font-size:12px;color:#333;line-height:1.6;white-space:pre-wrap;max-height:260px;overflow-y:auto;margin:0;font-family:monospace}

.mcp-section{margin:16px 16px 0}
.mcp-section-label{font-size:11px;color:#A6A39A;letter-spacing:.08em;font-weight:600;text-transform:uppercase;margin-bottom:6px;padding-left:2px}
.mcp-tool-row{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#fff;border-radius:12px;margin-bottom:6px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .12s}
.mcp-tool-row:active{background:#EBE8DF}
.mcp-tool-icon{width:32px;height:32px;border-radius:9px;background:#F5F2EA;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.mcp-tool-info{flex:1;min-width:0}
.mcp-tool-name{font-size:14px;font-weight:500;color:#1F1E1D;font-family:-apple-system,'PingFang SC',sans-serif}
.mcp-tool-desc{font-size:12px;color:#A6A39A;margin-top:1px}
.mcp-tool-arrow{font-size:18px;color:#CCC;flex-shrink:0}
.mcp-custom-wrap{display:flex;gap:8px;align-items:flex-end}
.mcp-custom-ta{flex:1;background:#fff;border:none;border-radius:12px;padding:12px 14px;font-size:14px;font-family:-apple-system,'PingFang SC',sans-serif;color:#111;line-height:1.55;resize:none;outline:none;min-height:48px;max-height:140px}
.mcp-custom-btn{width:40px;height:40px;border-radius:12px;background:#1F1E1D;border:none;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
.mcp-custom-btn:active{opacity:.75}
.mcp-result-wrap{margin:16px 16px 32px;border-radius:12px;overflow:hidden;background:#fff}
.mcp-result-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:.5px solid #F0EDE6;font-size:13px;font-weight:600;color:#555}
.mcp-result-body{padding:12px 14px;font-size:13px;color:#444;line-height:1.7;white-space:pre-wrap;max-height:320px;overflow-y:auto;font-family:-apple-system,'PingFang SC',monospace}
/* MCP 弹窗 */
.mcp-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:500;display:flex;align-items:center;justify-content:center;padding:0 20px;opacity:0;pointer-events:none;transition:opacity .2s}
.mcp-modal-overlay.open{opacity:1;pointer-events:auto}
.mcp-modal{background:#F5F2EA;border-radius:20px;padding:24px 20px;width:100%;max-width:440px;max-height:85vh;overflow-y:auto}
.mcp-modal-title{font-size:16px;font-weight:700;color:#1F1E1D;margin-bottom:16px}
.mcp-modal-field{margin-bottom:12px}
.mcp-modal-field label{display:block;font-size:12px;color:#888;margin-bottom:4px}
.mcp-modal-field input,.mcp-modal-field textarea{width:100%;background:#fff;border:none;border-radius:10px;padding:10px 12px;font-size:14px;font-family:-apple-system,'PingFang SC',sans-serif;color:#1F1E1D;outline:none;-webkit-appearance:none;box-shadow:none;box-sizing:border-box}
.mcp-modal-field input:focus,.mcp-modal-field textarea:focus{outline:none!important;box-shadow:none!important;border:none!important}
.mcp-modal-field textarea{resize:none;min-height:72px;line-height:1.55}
.mcp-modal-btn{flex:1;padding:12px 0;border-radius:12px;border:none;font-size:15px;font-weight:600;font-family:-apple-system,'PingFang SC',sans-serif;cursor:pointer}
.mcp-modal-btn:not(.ghost){background:#1F1E1D;color:#fff}
.mcp-modal-btn.ghost{background:#E8E5DC;color:#555}
.mcp-header-row{display:flex;gap:8px;align-items:flex-start;margin-bottom:8px;background:#fff;border-radius:12px;padding:10px 12px}
.mcp-header-row input{flex:1;background:transparent;border:none;outline:none;font-size:14px;font-family:-apple-system,'PingFang SC',sans-serif;color:#1F1E1D;padding:0;min-width:0}
.mcp-header-row-del{width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:#CCC;cursor:pointer;flex-shrink:0;line-height:1;margin-top:1px}
.mcp-header-kv-wrap{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
.mcp-header-kv-wrap .mcp-header-label{font-size:11px;color:#aaa}
.mcp-type-btn{flex:1;padding:7px 0;text-align:center;font-size:13px;border-radius:8px;cursor:pointer;color:#888;font-family:-apple-system,'PingFang SC',sans-serif;-webkit-tap-highlight-color:transparent;transition:all .15s}
.mcp-type-btn.active{background:#fff;color:#1F1E1D;font-weight:600;box-shadow:0 1px 4px rgba(0,0,0,.08)}

/* ── 工具调用组 ── */
.xk-tool-group{margin:2px 0 4px;display:flex;flex-direction:column}
.xk-tool-row{display:flex;align-items:center;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity .15s}
.xk-tool-row:active{opacity:.5}
.xk-tool-row-inner{display:flex;align-items:center;gap:5px;padding:3px 0;flex:1}
.xk-tool-row-label{flex:1;font-size:12px;color:#A6A39A;font-family:-apple-system,'PingFang SC',sans-serif;line-height:1.4;font-weight:500}
.xk-tool-row-label b{font-weight:500;color:#A6A39A}
.xk-tool-connector{width:1px;background:#E0DDD8;height:10px;margin:0 0 0 7px}
.xk-tool-loading-dot{display:inline-block;width:4px;height:4px;background:#A6A39A;border-radius:50%;margin-left:4px;vertical-align:middle;animation:xkdotpulse 1s ease-in-out infinite}
@keyframes xkdotpulse{0%,100%{opacity:.3}50%{opacity:1}}

.xk-think-live{
  margin:0 0 8px;
  border-radius:12px;
  background:#F0EDE6;
  overflow:hidden;
  max-height:180px;
  transition:max-height .3s ease,opacity .3s ease;
}
.xk-think-live.collapsing{max-height:0;opacity:0;pointer-events:none}
.xk-think-live-head{
  display:flex;align-items:center;gap:6px;
  padding:9px 12px 5px;
  font-size:12px;color:#A6A39A;
  font-family:-apple-system,'PingFang SC',sans-serif;
}
.xk-think-live-dot{
  width:5px;height:5px;border-radius:50%;background:#A6A39A;
  animation:dot-fade 1s ease-in-out infinite;flex-shrink:0;
  margin-left:2px;
}
@keyframes dot-fade{0%,100%{opacity:.3}50%{opacity:1}}
.xk-action-btn{
  display:inline-flex;align-items:center;justify-content:center;
  background:none;border:none;
  width:32px;height:32px;border-radius:8px;
  cursor:pointer;-webkit-tap-highlight-color:transparent;
  flex-shrink:0;padding:0;
}
.xk-action-btn:active{background:#EBE8DF}
.xk-action-btn svg{display:block;flex-shrink:0}

/* ── live thinking 色块（高度自由增长，生成完收起） ── */
.xk-think-live{
  margin:0 0 8px;
  border-radius:0;
  background:transparent;
  overflow:hidden;
  transition:opacity .25s ease, max-height .25s ease;
  max-height:600px;
}
.xk-think-live.collapsing{opacity:0;max-height:0;pointer-events:none;margin:0}
.xk-think-live-head{
  display:none;
}
.xk-think-live-dot{
  display:none;
}
.xk-think-live-body{
  padding:0 0 8px;
  font-size:12px;color:#A6A39A;line-height:1.65;
  font-family:-apple-system,'PingFang SC',sans-serif;
  white-space:pre-wrap;word-break:break-word;
}

/* ── handle：固定在弹窗顶部，不随内容滚动 ── */
.xk-think-handle{
  width:36px;height:4px;background:#DDD9D0;border-radius:2px;
  margin:12px auto 4px;flex-shrink:0;
  touch-action:none;cursor:grab;
  /* 明确不参与内容区滚动 */
  position:relative;z-index:1;
}
.xk-think-handle:active{background:#C8C5BC;cursor:grabbing}
#page-xiaoke{display:none;flex-direction:column;overflow:hidden;position:relative;flex:1;min-height:0}
#page-xiaoke.active{display:flex!important}
#page-xiaoke .xk-topbar{position:relative!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;flex-shrink:0!important;z-index:2!important;touch-action:manipulation!important}
#page-xiaoke .xk-stream{position:relative!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;flex:1!important;min-height:0!important;z-index:1!important;overflow-y:auto!important;padding:12px 22px 20px!important}

#page-xiaoke .xk-bar{position:relative!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;flex-shrink:0!important;z-index:2!important;margin-bottom:0}

/* ── actions bar：token + 复制 + 收藏，同行靠左 ── */
.xk-actions-bar{
  display:flex;align-items:center;
  gap:0;
  margin-top:6px;
  flex-wrap:nowrap;
}
.xk-token-count{
  font-size:11px;color:#C8C5BC;
  padding:5px 4px;white-space:nowrap;flex-shrink:0;
  margin-right:4px;
}
.xk-action-icon-btn{
  display:inline-flex;align-items:center;justify-content:center;
  background:none;border:none;
  width:28px;height:28px;border-radius:7px;
  cursor:pointer;-webkit-tap-highlight-color:transparent;
  flex-shrink:0;padding:0;
}
.xk-action-icon-btn:active{background:#EBE8DF}
.xk-action-icon-btn svg{display:block;flex-shrink:0}

/* MCP 弹窗input描边 */
.search-favs-label{font-size:11px;color:#aaa;letter-spacing:1.5px;padding:14px 16px 6px;font-weight:600}
.search-favs-list{padding:0 12px 8px}
.search-fav-item{padding:10px 12px;background:#f5f5f5;border-radius:10px;margin-bottom:6px;font-size:13px;color:#333;line-height:1.5;cursor:pointer;-webkit-tap-highlight-color:transparent}
.search-fav-item:active{background:#ebe8df}
.mcp-modal input,.mcp-modal textarea,.mcp-header-row input{outline:none!important;border:none!important;-webkit-appearance:none!important;box-shadow:none!important}
.mcp-modal input:focus,.mcp-modal textarea:focus,.mcp-header-row input:focus{outline:none!important;border:none!important;box-shadow:none!important}
.mcp-header-row input{background:transparent;font-size:14px;font-family:-apple-system,'PingFang SC',sans-serif;color:#1F1E1D;padding:0;min-width:0;flex:1;width:100%}
.mcp-header-row-del{width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:#CCC;cursor:pointer;flex-shrink:0;margin-top:2px;-webkit-tap-highlight-color:transparent}
.mcp-add-header-btn{display:flex;align-items:center;gap:6px;font-size:13px;color:#BBB;padding:8px 2px;cursor:pointer;-webkit-tap-highlight-color:transparent}

/* ── Memory2 页面 ── */
#page-memory2{background:#F2F2F7}
.mem2-topbar{display:flex;align-items:center;padding:calc(env(safe-area-inset-top,0px) + 12px) 16px 0;flex-shrink:0;background:#F2F2F7}
.mem2-menu-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent;flex-shrink:0}
.mem2-title{flex:1;text-align:center;font-size:22px;font-style:italic;font-weight:500;color:#000;font-family:Georgia,serif;letter-spacing:.5px}
.mem2-title-spacer{width:36px;flex-shrink:0}
.mem2-tabs{display:flex;gap:8px;padding:12px 16px 0;flex-shrink:0;overflow-x:auto;-webkit-overflow-scrolling:touch}
.mem2-tabs::-webkit-scrollbar{display:none}
.mem2-tab{padding:7px 16px;border-radius:20px;font-size:13px;font-weight:500;color:#8E8E93;cursor:pointer;white-space:nowrap;border:1px solid #D1D1D6;background:transparent;-webkit-tap-highlight-color:transparent;flex-shrink:0;font-family:-apple-system,'PingFang SC',sans-serif}
.mem2-tab.active{background:#1C1C1E;color:#fff;border-color:#1C1C1E}
.mem2-status-row{display:flex;align-items:center;gap:6px;padding:10px 18px 6px;flex-shrink:0}
.mem2-status-dot{width:7px;height:7px;border-radius:50%;background:#34C759;flex-shrink:0}
.mem2-status-text{font-size:13px;color:#8E8E93;font-family:-apple-system,'PingFang SC',sans-serif}
.mem2-search-wrap{padding:4px 16px 8px;flex-shrink:0}
.mem2-search-bar{display:flex;align-items:center;background:#fff;border-radius:12px;padding:10px 14px;gap:8px;border:.5px solid #E5E5EA}
.mem2-search-bar svg{flex-shrink:0}
.mem2-search-input{flex:1;border:none;outline:none;background:transparent;font-size:15px;color:#000;font-family:-apple-system,'PingFang SC',sans-serif}
.mem2-search-input::placeholder{color:#C7C7CC}
.mem2-filter-row{display:flex;gap:8px;padding:0 16px 10px;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-shrink:0}
.mem2-filter-row::-webkit-scrollbar{display:none}
.mem2-filter-pill{padding:6px 14px;border-radius:20px;font-size:12.5px;color:#48484A;border:1px solid #D1D1D6;background:#fff;cursor:pointer;white-space:nowrap;flex-shrink:0;font-family:-apple-system,'PingFang SC',sans-serif;-webkit-tap-highlight-color:transparent}
.mem2-filter-pill.active{background:#1C1C1E;color:#fff;border-color:#1C1C1E}
.mem2-list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:4px 16px calc(env(safe-area-inset-bottom,0px) + 16px)}
.mem2-list::-webkit-scrollbar{display:none}
.mem2-card{background:#fff;border-radius:14px;padding:14px 16px;margin-bottom:10px;cursor:pointer;-webkit-tap-highlight-color:transparent;border:.5px solid #E5E5EA}
.mem2-card:active{background:#F9F9F9}
.mem2-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}
.mem2-card-type{font-size:10px;font-weight:600;letter-spacing:.8px;color:#8E8E93;font-family:-apple-system,'PingFang SC',sans-serif;text-transform:uppercase}
.mem2-card-time{font-size:12px;color:#C7C7CC;font-family:-apple-system,'PingFang SC',sans-serif}
.mem2-card-title{font-size:14px;font-weight:500;color:#1C1C1E;margin-bottom:5px;line-height:1.35;font-family:-apple-system,'PingFang SC',sans-serif}
.mem2-card-preview{font-size:13px;color:#3A3A3C;line-height:1.6;margin-bottom:10px;font-family:-apple-system,'PingFang SC',sans-serif;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mem2-card-footer{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}
.mem2-card-tags{display:flex;gap:5px;flex-wrap:wrap;margin-left:auto}
.mem2-heart{flex-shrink:0;opacity:.7}
.mem2-dots{display:flex;gap:2px;align-items:center}
.mem2-dot-item{width:6px;height:6px;border-radius:50%;background:#1C1C1E;flex-shrink:0}
.mem2-dot-item.empty{background:#E5E5EA}
.mem2-tag{padding:2px 8px;border-radius:20px;border:1px solid #D1D1D6;font-size:11px;color:#48484A;font-family:-apple-system,'PingFang SC',sans-serif;white-space:nowrap}
.mem2-dots{display:flex;gap:3px;align-items:center}
.mem2-dot-item{width:7px;height:7px;border-radius:50%;background:#1C1C1E;flex-shrink:0}
.mem2-dot-item.empty{background:#E5E5EA}
.mem2-tag{padding:2px 9px;border-radius:20px;border:1px solid #D1D1D6;font-size:11px;color:#48484A;font-family:-apple-system,'PingFang SC',sans-serif;white-space:nowrap}
.mem2-resolved{padding:2px 8px;border-radius:4px;background:#F2F2F7;font-size:11px;color:#8E8E93;font-family:-apple-system,'PingFang SC',sans-serif}
.mem2-empty{text-align:center;padding:60px 0;color:#C7C7CC;font-size:14px;font-family:-apple-system,'PingFang SC',sans-serif}
.mem2-loading{text-align:center;padding:40px 0;color:#C7C7CC;font-size:13px;font-family:-apple-system,'PingFang SC',sans-serif}
.mem2-overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:300;display:flex;align-items:flex-end;opacity:0;pointer-events:none;transition:opacity .25s}
.mem2-overlay.open{opacity:1;pointer-events:auto}
.mem2-sheet{width:100%;background:#fff;border-radius:20px 20px 0 0;max-height:88vh;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .3s cubic-bezier(.34,1.1,.64,1);padding-bottom:env(safe-area-inset-bottom,0px)}
.mem2-overlay.open .mem2-sheet{transform:translateY(0)}
.mem2-sheet-handle-wrap{flex-shrink:0;display:flex;justify-content:center;padding:10px 0 6px}
.mem2-sheet-handle{width:36px;height:4px;background:#D1D1D6;border-radius:2px}
.mem2-sheet-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 20px 16px}
.mem2-sheet-body::-webkit-scrollbar{display:none}
.mem2-sheet-title{font-size:22px;font-weight:500;color:#000;line-height:1.3;margin-bottom:3px;font-family:-apple-system,'PingFang SC',sans-serif}
.mem2-sheet-type{font-size:13px;color:#8E8E93;margin-bottom:14px;font-family:-apple-system,'PingFang SC',sans-serif}
.mem2-sheet-div{height:.5px;background:#E5E5EA;margin:12px 0}
.mem2-sheet-content{font-size:15px;color:#1C1C1E;line-height:1.75;white-space:pre-wrap;word-break:break-word;font-family:-apple-system,'PingFang SC',sans-serif;margin-bottom:16px}
.mem2-meta-row{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:.5px solid #F2F2F7}
.mem2-meta-label{font-size:13px;color:#8E8E93;font-family:-apple-system,'PingFang SC',sans-serif}
.mem2-meta-val{font-size:13px;color:#1C1C1E;font-family:-apple-system,'PingFang SC',sans-serif}
.mem2-sheet-tags{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.mem2-rest-btn{width:100%;padding:14px;background:#F2F2F7;border:none;border-radius:12px;font-size:15px;color:#1C1C1E;font-family:-apple-system,'PingFang SC',sans-serif;cursor:pointer;margin-top:8px;-webkit-tap-highlight-color:transparent}
.mem2-rest-btn:active{background:#E5E5EA}
.mem2-sheet-id{text-align:center;font-size:11px;color:#C7C7CC;padding:12px 0 4px;font-family:ui-monospace,'SF Mono',monospace;cursor:pointer}

/* Global typography stability: prevent late webfont swap and text reflow */
html,body{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  font-synthesis:none;
}
body,#app{
  font-family:-apple-system,BlinkMacSystemFont,'SF Pro Text','PingFang SC','Helvetica Neue',Arial,sans-serif!important;
  font-weight:400;
}
button,input,textarea,select{
  font-family:inherit!important;
  font-synthesis:none;
}

/* Bottom navigation and section hubs */
.bottom-nav{position:relative;z-index:40;display:flex;flex:0 0 auto;align-items:stretch;justify-content:space-around;height:68px;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.94);border-top:1px solid rgba(31,30,29,.12);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.bottom-nav-item{appearance:none;border:0;background:transparent;color:#8f8b8d;display:flex;min-width:0;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10px;letter-spacing:.02em;font-weight:500;cursor:pointer;-webkit-tap-highlight-color:transparent}
.bottom-nav-item svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.bottom-nav-item.active{color:#191718;font-weight:700}
.bottom-nav-item.active svg{stroke-width:2.1}
.hub-page{background:linear-gradient(180deg,#fbfafb 0%,#f5f3f4 100%);color:#242123}
.hub-header{flex:0 0 auto;padding:30px 24px 18px;border-bottom:1px solid rgba(31,30,29,.08)}
.hub-kicker{font-size:11px;letter-spacing:.22em;color:#9b9699;font-weight:700;margin-bottom:8px}
.hub-header h1{font-size:34px;line-height:1.15;letter-spacing:-.03em;margin:0 0 8px;font-weight:700}
.hub-header p{font-size:14px;color:#8c878a;margin:0;line-height:1.5}
.hub-scroll{flex:1;overflow-y:auto;min-height:0;padding:20px 18px 28px;-webkit-overflow-scrolling:touch}
.hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.setting-grid{grid-template-columns:1fr}
.hub-card{appearance:none;text-align:left;border:1px solid rgba(31,30,29,.14);border-radius:20px;background:rgba(255,255,255,.78);min-height:142px;padding:16px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:5px;color:#242123;box-shadow:0 8px 24px rgba(31,30,29,.04);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .15s ease,background .15s ease}
.hub-card:active,.daily-card:active{transform:scale(.98);background:#fff}
.hub-icon{width:34px;height:34px;display:grid;place-items:center;color:#242123;margin-bottom:auto}
.hub-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.hub-card-title{font-size:18px;font-weight:700;letter-spacing:.02em}
.hub-card-sub{font-size:12px;color:#9a9598}
.daily-list{display:flex;flex-direction:column;gap:12px}
.daily-card{appearance:none;border:1px solid rgba(31,30,29,.14);border-radius:18px;background:rgba(255,255,255,.8);padding:16px;display:flex;align-items:center;gap:14px;text-align:left;color:#242123;cursor:pointer;-webkit-tap-highlight-color:transparent}
.daily-card-index{font-size:13px;letter-spacing:.08em;color:#9a9598;font-variant-numeric:tabular-nums}
.daily-card span:nth-child(2){display:flex;flex-direction:column;gap:4px;flex:1}
.daily-card b{font-size:16px}.daily-card small{font-size:12px;color:#9a9598}.daily-card svg{width:18px;height:18px;fill:none;stroke:#242123;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.hub-subbar{display:flex!important;align-items:center;gap:12px;justify-content:flex-start;padding:14px 18px!important;border-bottom:1px solid rgba(31,30,29,.1)}
.hub-subbar>span{font-size:18px;font-weight:700}
.hub-back{appearance:none;border:0;background:transparent;padding:4px;display:grid;place-items:center;color:#242123;cursor:pointer}
.hub-back svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media (min-width:600px){.hub-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.setting-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hub-scroll{padding-left:28px;padding-right:28px}}

/* Warm milk palette + floating navigation */
:root{--milk:#FAF6F1;--linen:#F2E6D8;--strawberry:#F6C7CF;--peach:#F7D8CC;--almond:#EADED6;--ink:#3D3533;--muted:#9E9290}
html,body{background:var(--milk)!important}
body{color:var(--ink);background:var(--milk)!important}
.bottom-nav{height:72px!important;flex:0 0 72px!important;margin:0 14px calc(12px + env(safe-area-inset-bottom,0px))!important;padding:6px!important;border:1px solid rgba(126,96,93,.10)!important;border-radius:38px!important;background:rgba(255,252,249,.92)!important;box-shadow:0 10px 28px rgba(113,77,76,.12)!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;overflow:visible!important}
.bottom-nav-item{position:relative!important;height:60px!important;border-radius:32px!important;color:#B0A4A2!important;font-size:10px!important;letter-spacing:.01em!important;gap:3px!important;transition:background .18s ease,color .18s ease,transform .18s ease!important}
.bottom-nav-item svg{width:23px!important;height:23px!important;stroke-width:1.55!important}
.bottom-nav-item.active{background:var(--strawberry)!important;color:#9B6170!important;font-weight:700!important;box-shadow:inset 0 0 0 1px rgba(177,111,126,.10)!important}
.bottom-nav-item.active svg{stroke-width:1.9!important}
.bottom-nav-item:active{transform:scale(.96)!important}
.hub-page{background:linear-gradient(180deg,var(--milk) 0%,#F8EFE9 100%)!important;color:var(--ink)!important}
.hub-header{border-bottom-color:rgba(126,96,93,.10)!important}
.hub-kicker,.hub-card-sub,.daily-card small{color:#A99A97!important}
.hub-card,.daily-card{border-color:rgba(126,96,93,.16)!important;background:rgba(255,252,249,.82)!important;box-shadow:0 8px 24px rgba(113,77,76,.05)!important}
.hub-icon{color:#8E6D6B!important}
.daily-card-index{color:#B38B91!important}

/* Compact floating navigation */
.bottom-nav{height:60px!important;flex-basis:60px!important;margin-left:24px!important;margin-right:24px!important;padding:4px!important;border-radius:31px!important}
.bottom-nav-item{height:50px!important;border-radius:26px!important;font-size:9px!important;gap:2px!important}
.bottom-nav-item svg{width:19px!important;height:19px!important}
.bottom-nav-item.active{background:rgba(246,199,207,.28)!important;color:#7D6868!important}
.bottom-nav-item.active svg{stroke:#F6C7CF!important;stroke-width:2!important}

/* Lower and slimmer navigation */
.bottom-nav{height:54px!important;flex-basis:54px!important;margin-top:0!important;margin-bottom:2px!important;padding:3px!important;border-radius:28px!important}
.bottom-nav-item{height:46px!important;border-radius:24px!important;font-size:9px!important}
.bottom-nav-item svg{width:18px!important;height:18px!important}
.bottom-nav-item.active{background:rgba(246,199,207,.32)!important;color:#756364!important}
.bottom-nav-item.active svg{stroke:#F6C7CF!important;fill:none!important}
#page-xiaoke .xk-bar{margin-bottom:0!important;padding-bottom:0!important}

/* Fine tune mobile positioning and compact composer */
.bottom-nav{margin-bottom:14px!important}
.xk-input-row{gap:6px!important}
.xk-input-pill{min-height:36px!important;border-radius:19px!important;padding-left:12px!important;padding-right:6px!important}
.xk-textarea{min-height:34px!important;padding:6px 0!important;font-size:15px!important;line-height:1.35!important}
.xk-circle-btn{width:38px!important;height:38px!important}
.xk-emoji-in-btn{width:28px!important;height:28px!important}

/* New chat background and breathing room above floating nav */
body{background:var(--milk) url('https://i.ibb.co/ccLtT9Yn/IMG-8768.jpg') center/cover no-repeat fixed!important}
#page-xiaoke .xk-topbar{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
#page-xiaoke .xk-stream{background:transparent!important}
#page-xiaoke .xk-bar{padding-bottom:10px!important;background:transparent!important}

/* Keep bottom navigation visible without covering chat messages */
.bottom-nav{position:relative!important;z-index:100!important;display:flex!important;background:rgba(255,252,249,.86)!important;box-shadow:0 8px 22px rgba(113,77,76,.10)!important}
#page-xiaoke .xk-stream{padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))!important}
#page-xiaoke .xk-bar{position:relative!important;z-index:90!important}
/* Chat content flows behind the translucent composer, like a native messenger */
#page-xiaoke .xk-bar{position:absolute!important;left:0!important;right:0!important;bottom:0!important;z-index:120!important;background:rgba(255,252,249,.78)!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important}
#page-xiaoke .xk-stream{padding-bottom:0!important}
/* Full-bleed chat stream under composer/nav */
#page-xiaoke{position:relative!important;overflow:hidden!important}
#page-xiaoke>div:nth-of-type(2){position:absolute!important;inset:0!important;display:block!important;overflow:hidden!important;z-index:1!important}
#page-xiaoke .xk-stream{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-height:none!important;padding:calc(env(safe-area-inset-top,0px) + 68px) 22px 0!important;background:rgba(249,247,250,.38)!important;-webkit-mask-image:none!important;mask-image:none!important}
#page-xiaoke .xk-bar{position:absolute!important;left:0!important;right:0!important;bottom:0!important;z-index:120!important;background:rgba(249,247,250,.82)!important}
.bottom-nav{background:rgba(249,247,250,.94)!important;border-color:rgba(176,175,177,.28)!important;box-shadow:0 8px 22px rgba(176,175,177,.18)!important}
.bottom-nav-item{color:#B0AFB1!important}
.bottom-nav-item.active{background:#F0D5DC!important;color:#3D3533!important}
.bottom-nav-item.active svg{stroke:#FDE6EC!important}
/* Separate floating controls from the wallpaper */
#page-xiaoke .xk-bar{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:0!important;padding-top:6px!important;padding-bottom:6px!important}
#page-xiaoke .xk-input-row{background:transparent!important}
#page-xiaoke .xk-input-pill{background:rgba(249,247,250,.88)!important;border:1px solid rgba(176,175,177,.22)!important;box-shadow:0 4px 16px rgba(176,175,177,.14)!important}
#page-xiaoke .xk-circle-btn{background:rgba(249,247,250,.9)!important;border:1px solid rgba(176,175,177,.22)!important;box-shadow:0 4px 14px rgba(176,175,177,.14)!important}
.bottom-nav{margin-bottom:18px!important;border:1px solid rgba(176,175,177,.36)!important;box-shadow:0 10px 26px rgba(176,175,177,.28),0 0 0 5px rgba(249,247,250,.42)!important}
/* Pure frosted glass controls: no solid color blocks */
#page-xiaoke .xk-input-pill,#page-xiaoke .xk-circle-btn{background:rgba(255,255,255,.22)!important;border:1px solid rgba(255,255,255,.62)!important;backdrop-filter:blur(22px) saturate(1.2)!important;-webkit-backdrop-filter:blur(22px) saturate(1.2)!important;box-shadow:0 6px 20px rgba(70,58,58,.10),inset 0 1px 0 rgba(255,255,255,.72)!important}
.bottom-nav{background:rgba(255,255,255,.20)!important;border:1px solid rgba(255,255,255,.68)!important;backdrop-filter:blur(24px) saturate(1.25)!important;-webkit-backdrop-filter:blur(24px) saturate(1.25)!important;box-shadow:0 10px 28px rgba(70,58,58,.14),inset 0 1px 0 rgba(255,255,255,.78)!important}
.bottom-nav-item.active{background:transparent!important;color:#F0D5DC!important;box-shadow:none!important}
.bottom-nav-item.active svg{stroke:#F0D5DC!important}
/* Stronger milky glass separation for the floating capsule */
.bottom-nav{background:rgba(255,255,255,.52)!important;backdrop-filter:blur(30px) saturate(1.15)!important;-webkit-backdrop-filter:blur(30px) saturate(1.15)!important;border:1px solid rgba(255,255,255,.86)!important;box-shadow:0 12px 30px rgba(74,62,62,.20),inset 0 1px 0 rgba(255,255,255,.92)!important;isolation:isolate!important}
.bottom-nav-item.active{background:transparent!important;box-shadow:none!important}
/* Remove the page veil so the wallpaper remains continuous behind controls */
#page-xiaoke,#page-xiaoke>div:nth-of-type(2),#page-xiaoke .xk-stream{background:transparent!important}
/* Keep wallpaper inside Chat only; nav rests on the app surface on every page */
body{background:#FAF6F1!important}
#page-xiaoke{background:url('https://i.ibb.co/ccLtT9Yn/IMG-8768.jpg') center/cover no-repeat!important}
/* Transparent surface beneath the global floating capsule */
html,body{background:transparent!important}
#page-xiaoke{background:url('https://i.ibb.co/ccLtT9Yn/IMG-8768.jpg') center/cover no-repeat!important}
.bottom-nav{background:rgba(255,255,255,.16)!important;backdrop-filter:blur(26px) saturate(1.1)!important;-webkit-backdrop-filter:blur(26px) saturate(1.1)!important}
/* True floating capsule: remove the full-width layout strip */
.bottom-nav{position:fixed!important;left:50%!important;right:auto!important;bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;transform:translateX(-50%)!important;width:calc(100% - 28px)!important;max-width:402px!important;margin:0!important;z-index:300!important;box-shadow:0 10px 28px rgba(74,62,62,.18),inset 0 1px 0 rgba(255,255,255,.9)!important}
#page-xiaoke .xk-bar{bottom:calc(78px + env(safe-area-inset-bottom,0px))!important}

/* Final bottom placement: keep controls close to the iOS home indicator */
.bottom-nav{bottom:2px!important;}
#page-xiaoke .xk-bar{bottom:62px!important;}
#page-xiaoke .xk-stream{padding-bottom:0!important;}
/* let the current page/chat wallpaper remain visible through the glass */
.bottom-nav{background:rgba(255,255,255,.18)!important;backdrop-filter:blur(26px) saturate(1.12)!important;-webkit-backdrop-filter:blur(26px) saturate(1.12)!important;}
#page-xiaoke .xk-bar{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}

/* Chat viewport: latest message rests above composer; older messages scroll behind glass */
.bottom-nav{bottom:14px!important;}
#page-xiaoke .xk-bar{bottom:74px!important;}
#page-xiaoke>div:nth-of-type(2){overflow:hidden!important;}
#page-xiaoke .xk-stream{overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;scroll-padding-bottom:118px!important;padding-bottom:118px!important;-webkit-overflow-scrolling:touch!important;}


/* Final blush surfaces · Home and Setting */
#page-home.hub-page,
#page-setting.hub-page{
  background:
    radial-gradient(120% 70% at 50% -10%,rgba(255,255,255,.72),transparent 58%),
    linear-gradient(180deg,#fff1f4 0%,#fde6ec 48%,#fff7f8 100%)!important;
  color:#332b2e!important;
}
#page-home .hub-header,
#page-setting .hub-header{
  background:transparent!important;
  border-bottom:1px solid rgba(120,82,94,.12)!important;
}
#page-home .hub-kicker,
#page-setting .hub-kicker{
  color:#a27684!important;
}
#page-home .hub-header h1,
#page-setting .hub-header h1{
  color:#332b2e!important;
}
#page-home .hub-header p,
#page-setting .hub-header p{
  color:#8f737d!important;
}
#page-home .hub-scroll,
#page-setting .hub-scroll{
  background:transparent!important;
}
#page-home .hub-card,
#page-setting .hub-card{
  background:rgba(255,255,255,.56)!important;
  border-color:rgba(167,116,133,.22)!important;
  box-shadow:0 12px 28px rgba(154,101,120,.10),inset 0 1px 0 rgba(255,255,255,.78)!important;
  backdrop-filter:blur(16px) saturate(1.08)!important;
  -webkit-backdrop-filter:blur(16px) saturate(1.08)!important;
  color:#332b2e!important;
}
#page-home .hub-card:active,
#page-setting .hub-card:active{
  background:rgba(255,255,255,.72)!important;
}
#page-home .hub-icon,
#page-setting .hub-icon{
  color:#c8849a!important;
}
#page-home .hub-card-title,
#page-setting .hub-card-title{
  color:#332b2e!important;
}
#page-home .hub-card-sub,
#page-setting .hub-card-sub{
  color:#9b7783!important;
}


/* Blush system refresh · Daily and page headers */
#page-daily.hub-page{
  background:
    radial-gradient(120% 65% at 50% -12%,rgba(255,255,255,.78),transparent 58%),
    linear-gradient(180deg,#fff1f4 0%,#fde7ed 52%,#fff8f9 100%)!important;
  color:#332b2e!important;
}
#page-home .hub-header,
#page-daily .hub-header,
#page-setting .hub-header{
  padding-top:calc(38px + env(safe-area-inset-top,0px))!important;
}
#page-daily .hub-header{
  background:transparent!important;
  border-bottom:1px solid rgba(120,82,94,.12)!important;
}
#page-daily .hub-kicker{color:#a27684!important}
#page-daily .hub-header h1{color:#332b2e!important}
#page-daily .hub-header p{color:#8f737d!important}
#page-daily .hub-scroll{background:transparent!important;padding-top:24px!important}
#page-daily .daily-card{
  background:rgba(255,255,255,.58)!important;
  border-color:rgba(167,116,133,.22)!important;
  color:#332b2e!important;
  box-shadow:0 10px 24px rgba(154,101,120,.09),inset 0 1px 0 rgba(255,255,255,.78)!important;
  backdrop-filter:blur(16px) saturate(1.08)!important;
  -webkit-backdrop-filter:blur(16px) saturate(1.08)!important;
}
#page-daily .daily-card:active{background:rgba(255,255,255,.76)!important}
#page-daily .daily-card-index{color:#c8849a!important}
#page-daily .daily-card b{color:#332b2e!important}
#page-daily .daily-card small{color:#9b7783!important}
#page-daily .daily-card svg{stroke:#a27684!important}


/* Global blush canvas · keep Chat wallpaper untouched */
.page:not(#page-xiaoke){
  background:
    radial-gradient(110% 42% at 50% -8%,rgba(255,255,255,.34),transparent 64%),
    linear-gradient(180deg,#fde5ec 0%,#fde5ec 68%,#f9dbe5 100%)!important;
  color:#332b2e!important;
}
.page:not(#page-xiaoke) .hub-header,
.page:not(#page-xiaoke) .header-sub,
.page:not(#page-xiaoke) .mailbox-header,
.page:not(#page-xiaoke) .state-nav{
  background:rgba(253,229,236,.62)!important;
  border-color:rgba(115,75,89,.12)!important;
  backdrop-filter:blur(16px) saturate(1.06)!important;
  -webkit-backdrop-filter:blur(16px) saturate(1.06)!important;
}
.page:not(#page-xiaoke) .hub-card,
.page:not(#page-xiaoke) .daily-card,
.page:not(#page-xiaoke) .card,
.page:not(#page-xiaoke) .mailbox-card,
.page:not(#page-xiaoke) .mailbox-inline-card,
.page:not(#page-xiaoke) .state-note-card,
.page:not(#page-xiaoke) .memo-card,
.page:not(#page-xiaoke) .todo-card{
  background:rgba(255,248,250,.62)!important;
  border-color:rgba(167,102,127,.22)!important;
  box-shadow:0 12px 28px rgba(150,84,111,.10),inset 0 1px 0 rgba(255,255,255,.72)!important;
  backdrop-filter:blur(16px) saturate(1.08)!important;
  -webkit-backdrop-filter:blur(16px) saturate(1.08)!important;
}
.page:not(#page-xiaoke) .hub-card:active,
.page:not(#page-xiaoke) .daily-card:active,
.page:not(#page-xiaoke) .mailbox-card:active{
  background:rgba(255,252,253,.78)!important;
}
.page:not(#page-xiaoke) .hub-icon,
.page:not(#page-xiaoke) .state-note-icon,
.page:not(#page-xiaoke) .state-note-icon-pink{
  color:#c54483!important;
}
.page:not(#page-xiaoke) .hub-card-title,
.page:not(#page-xiaoke) .hub-header h1,
.page:not(#page-xiaoke) .mailbox-content h1,
.page:not(#page-xiaoke) .state-bars-top h1{
  color:#332b2e!important;
}
.page:not(#page-xiaoke) .hub-card-sub,
.page:not(#page-xiaoke) .hub-header p,
.page:not(#page-xiaoke) .mailbox-desc{
  color:#916d7d!important;
}

/* Light blush surface tuning · Chat remains unchanged */
.page:not(#page-xiaoke){
  background:#fff0f7!important;
  color:#332b2e!important;
}
.page:not(#page-xiaoke) .hub-header,
.page:not(#page-xiaoke) .header-sub,
.page:not(#page-xiaoke) .mailbox-header,
.page:not(#page-xiaoke) .state-nav{
  background:rgba(255,240,247,.72)!important;
}
.page:not(#page-xiaoke) .hub-card,
.page:not(#page-xiaoke) .daily-card,
.page:not(#page-xiaoke) .card,
.page:not(#page-xiaoke) .mailbox-card,
.page:not(#page-xiaoke) .mailbox-inline-card,
.page:not(#page-xiaoke) .state-note-card,
.page:not(#page-xiaoke) .memo-card,
.page:not(#page-xiaoke) .todo-card{
  background:rgba(255,248,251,.72)!important;
  border-color:rgba(191,113,145,.22)!important;
  box-shadow:0 12px 28px rgba(181,103,136,.09),inset 0 1px 0 rgba(255,255,255,.82)!important;
}
.page:not(#page-xiaoke) .hub-icon,
.page:not(#page-xiaoke) .state-note-icon,
.page:not(#page-xiaoke) .state-note-icon-pink,
#page-state .state-sync-dot,
#page-state .state-sync-label{
  color:#fcc2d8!important;
}
#page-state .state-sync-dot{background:#fcc2d8!important}
#page-state .state-bar-fill,
#page-state .drive-bar-fill,
#page-state .emotion-fill{
  background:#fcc2d8!important;
}
#page-state .state-bar-track,
#page-state .drive-bar-track,
#page-state .emotion-track{
  background:rgba(252,194,216,.28)!important;
}


/* Final requested blush palette · Chat unchanged */
.page:not(#page-xiaoke),
.page:not(#page-xiaoke) .sub-page,
.page:not(#page-xiaoke) .mailbox-page,
.page:not(#page-xiaoke) .home-page,
.page:not(#page-xiaoke) .setting-page,
.page:not(#page-xiaoke) .daily-page{background:#fff5f7!important}
.page:not(#page-xiaoke) .hub-header,
.page:not(#page-xiaoke) .header-sub,
.page:not(#page-xiaoke) .mailbox-header,
.page:not(#page-xiaoke) .state-nav{background:rgba(255,245,247,.72)!important}

/* Diary timeline */
#page-diary.diary-page{background:#fff5f7!important;min-height:100%;overflow:hidden}
#page-diary .diary-header{position:relative;display:flex;align-items:flex-start;gap:18px;padding:calc(env(safe-area-inset-top,0px) + 30px) 22px 24px;border-bottom:1px solid rgba(86,64,72,.12)}
#page-diary .diary-header-menu{width:34px;height:34px;display:grid;place-items:center;flex:none;margin-top:5px;cursor:pointer;color:#2f292c}
#page-diary .diary-header-menu svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
#page-diary .diary-kicker{margin:0 0 5px;color:#98737e;font-size:11px;letter-spacing:.22em;font-weight:700}
#page-diary .diary-header h1{margin:0;color:#2d272a;font-size:34px;line-height:1.05;font-weight:780}
#page-diary .diary-header p{margin:9px 0 0;color:#947f86;font-size:14px}
#page-diary .diary-compose{margin-left:auto;width:34px;height:34px;border:0;background:transparent;color:#c85184;display:grid;place-items:center;cursor:pointer}
#page-diary .diary-compose svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
#page-diary .diary-scroll{height:calc(100% - 137px);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:26px 18px 112px 10px}
#page-diary .diary-timeline{max-width:760px;margin:0 auto}
#page-diary .diary-entry{display:grid;grid-template-columns:72px 18px minmax(0,1fr);column-gap:10px;position:relative;min-height:190px;padding-bottom:24px}
#page-diary .diary-entry:not(:last-child)::after{content:"";position:absolute;left:80px;top:13px;bottom:-1px;width:1px;background:rgba(130,104,114,.22)}
#page-diary .diary-date{padding-top:8px;text-align:right;color:#9d8c92}
#page-diary .diary-date span{display:block;font-size:13px;letter-spacing:.08em}
#page-diary .diary-date strong{display:block;margin-top:3px;color:#342d30;font-size:22px;line-height:1.05}
#page-diary .diary-node{width:12px;height:12px;border-radius:50%;background:#ffd6e0;border:3px solid #fff5f7;box-shadow:0 0 0 2px #ffd6e0;margin-top:12px;z-index:1}
#page-diary .diary-card{min-width:0;padding:17px 18px 15px;border:1px solid rgba(122,100,109,.13);border-radius:18px;background:rgba(255,255,255,.62);box-shadow:0 10px 26px rgba(143,102,119,.08)}
#page-diary .diary-card-pink{background:#ffe9f0}
#page-diary .diary-card-quiet{background:#fdf8fa}
#page-diary .diary-card-top{display:flex;justify-content:space-between;align-items:center;color:#a58f97;font-size:11px;letter-spacing:.04em}
#page-diary .diary-tag{padding:3px 8px;border-radius:999px;background:#ffd6e0;color:#87576b;font-weight:700;font-size:10px}
#page-diary .diary-tag-muted{background:#f2e4e9;color:#907b83}
#page-diary .diary-tag-dark{background:#e7d7de;color:#624c55}
#page-diary .diary-card h2{margin:14px 0 8px;color:#332c30;font-size:20px;line-height:1.2;font-weight:760}
#page-diary .diary-card p{margin:0;color:#74646b;font-size:14px;line-height:1.7}
#page-diary .diary-card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:14px;color:#a18991;font-size:11px}
@media (max-width:520px){
  #page-diary .diary-header{padding-left:18px;padding-right:18px}
  #page-diary .diary-scroll{padding-left:5px;padding-right:12px}
  #page-diary .diary-entry{grid-template-columns:58px 14px minmax(0,1fr);column-gap:7px}
  #page-diary .diary-entry:not(:last-child)::after{left:64px}
  #page-diary .diary-date strong{font-size:19px}
  #page-diary .diary-card{padding:14px 14px 13px;border-radius:16px}
  #page-diary .diary-card h2{font-size:17px}
  #page-diary .diary-card p{font-size:13px}
}


/* Diary mood legend and locked-entry treatment */
#page-diary .diary-moods{display:flex;align-items:center;gap:12px;padding:14px 22px 4px;overflow-x:auto;color:#8f747c}
#page-diary .diary-moods::-webkit-scrollbar{display:none}
#page-diary .diary-mood-item{display:inline-flex;align-items:center;gap:5px;flex:none}
#page-diary .diary-mood-item small{font-size:10px;color:#a2848d}
#page-diary .diary-mood{width:22px;height:22px;display:grid;place-items:center;color:#c85184;flex:none}
#page-diary .diary-mood svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
#page-diary .diary-card-top .diary-card-date{font-size:11px;letter-spacing:.04em;color:#8f747d;font-weight:600}
#page-diary .diary-card-top>.diary-mood{width:20px;height:20px}
#page-diary .diary-card h2{display:flex;align-items:center;gap:7px}
#page-diary .diary-lock{width:18px;height:18px;display:inline-grid;place-items:center;color:#bd7892;flex:none}
#page-diary .diary-lock svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#page-diary .diary-card-locked .diary-locked-preview{margin:0;color:#7f6c73;font-size:14px;line-height:1.7;filter:blur(4.5px);opacity:.72;user-select:none;max-height:3.4em;overflow:hidden}
#page-diary .diary-card-locked .diary-lock-hint{color:#b0788b;font-weight:600}

/* Diary refinements */
#page-diary .diary-card,
#page-diary .diary-card-pink,
#page-diary .diary-card-quiet{background:#fffafb!important;color:#2f292c!important;border-color:rgba(92,72,80,.16)!important;box-shadow:0 10px 24px rgba(85,65,75,.07)!important}
#page-diary .diary-card h2{color:#292326!important}
#page-diary .diary-card p{color:#665960!important}
#page-diary .diary-card-foot{color:#856f78!important;font-weight:600}
#page-diary .diary-card-locked{cursor:pointer}
.diary-lock-overlay,.diary-reader-overlay{position:fixed;inset:0;z-index:480;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(42,31,36,.30);opacity:0;pointer-events:none;transition:opacity .22s ease}
.diary-lock-overlay.open,.diary-reader-overlay.open{opacity:1;pointer-events:auto}
.diary-lock-sheet{position:relative;width:min(360px,calc(100vw - 40px));padding:28px 22px 22px;background:#fffafb;border:1px solid rgba(104,81,91,.16);border-radius:24px;box-shadow:0 18px 50px rgba(52,36,43,.22);text-align:center;transform:translateY(10px) scale(.98);transition:transform .24s ease}
.diary-lock-overlay.open .diary-lock-sheet{transform:none}
.diary-lock-close,.diary-reader-close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:28px;line-height:1;color:#7b6970;cursor:pointer}
.diary-lock-icon{width:42px;height:42px;margin:3px auto 10px;color:#5c5055}
.diary-lock-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.diary-lock-sheet h2{margin:0;color:#302a2d;font-size:20px}
.diary-lock-prompt{margin:8px 0 16px;color:#826f77;font-size:13px}
.diary-lock-switch{display:flex;gap:6px;padding:4px;margin-bottom:14px;background:#f1e9ec;border-radius:12px}
.diary-lock-switch button{flex:1;border:0;border-radius:9px;padding:8px 5px;background:transparent;color:#806e75;font-size:12px;cursor:pointer}
.diary-lock-switch button.active{background:#fffafb;color:#302a2d;box-shadow:0 2px 8px rgba(70,50,58,.10)}
.diary-answer-input{width:100%;box-sizing:border-box;border:1px solid #d8cbd0;border-radius:12px;padding:11px 12px;background:#fff;color:#342c30;font-size:14px;outline:none}
.diary-unlock-btn{width:100%;margin-top:10px;border:0;border-radius:12px;padding:11px;background:#342c30;color:#fff;font-size:14px;cursor:pointer}
.diary-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.diary-choice-grid button{border:1px solid #d8cbd0;border-radius:11px;padding:10px 4px;background:#fff;color:#4b3f45;font-size:13px;cursor:pointer}
.diary-lock-error{min-height:18px;margin:10px 0 0;color:#9d5365;font-size:12px}
.diary-reader-overlay{background:rgba(42,31,36,.42);align-items:stretch;padding:0}
.diary-reader-sheet{position:relative;width:min(620px,100%);height:100%;margin-left:auto;background:#eee8dd;overflow:auto}
.diary-paper{min-height:100%;box-sizing:border-box;padding:calc(env(safe-area-inset-top,0px) + 72px) 28px 72px;background-color:#f7f3ea;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,rgba(117,132,146,.20) 32px,transparent 33px),linear-gradient(90deg,transparent 0 27px,rgba(203,126,139,.22) 28px,transparent 29px);font-family:"Bradley Hand","KaiTi","STKaiti",serif;color:#40383b}
.diary-paper-date{font-size:14px;color:#836d73;margin-bottom:26px}
.diary-paper h2{font-size:25px;margin:0 0 22px;font-weight:700}
.diary-paper p{font-size:17px;line-height:2.05;margin:0 0 22px}
.diary-paper-sign{text-align:right;margin-top:40px;color:#806d72;font-size:15px}
@media (max-width:520px){.diary-reader-sheet{width:100%}.diary-paper{padding-left:32px;padding-right:22px}}


/* diary interaction polish */
#page-diary .diary-card-top{position:relative;height:0;margin:0;overflow:visible}
#page-diary .diary-card-top .diary-mood{position:absolute;right:0;top:-1px}
#page-diary .diary-card h2{margin:0 0 8px;padding-right:32px}
#page-diary .diary-card-locked{cursor:pointer}
#page-diary .diary-card-locked:focus-visible{outline:2px solid #F6C7CF;outline-offset:3px}
body.diary-reader-open .bottom-nav,
body.diary-reader-open #bottomNav{display:none!important}

/* Diary improvements */
#page-diary .diary-scroll{height:auto!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;padding-bottom:20px!important}
#page-diary .diary-timeline{padding-bottom:12px!important}
#page-diary .diary-card-top{position:relative!important;min-height:0!important}
#page-diary .diary-card-top .diary-mood{position:absolute!important;right:0!important;top:0!important}
#page-diary .diary-card h2{padding-right:36px!important}
body.diary-page-open .bottom-nav,body.diary-page-open #bottomNav{display:none!important}
.diary-paper,.diary-paper *{font-family:'LXGW WenKai',cursive!important}
.diary-paper{background:#f7f3ea!important}
.diary-compose-overlay{position:fixed;inset:0;z-index:1200;display:none;align-items:flex-end;justify-content:center;background:rgba(45,34,38,.22)}
.diary-compose-overlay.open{display:flex}
.diary-compose-sheet{width:min(560px,calc(100% - 28px));margin-bottom:24px;padding:26px 22px;border-radius:28px;background:#fff7fa;border:1px solid rgba(199,68,119,.18);box-shadow:0 18px 60px rgba(70,40,55,.2)}
.diary-compose-sheet h2{margin:0 0 16px;font-size:24px;color:#30262b}
.diary-compose-body{display:block;width:100%;min-height:140px;box-sizing:border-box;margin:12px 0;padding:14px;border:1px solid #ead8df;border-radius:16px;background:#fff;font:inherit;resize:vertical}
.diary-compose-locks{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}
.diary-compose-locks button{border:1px solid #e2cbd5;border-radius:12px;background:#fff;color:#7a5d68;padding:9px 4px;font-size:13px}
.diary-compose-locks button.active{background:#f6c7cf;border-color:#f6c7cf;color:#4e2835}
#diaryTimedPanel{margin-top:10px}
@media(max-width:520px){.diary-compose-locks{grid-template-columns:repeat(2,1fr)}}
