/* Piki 入口 · 精修层（polish）
   方向：线条美保留不动；只处理三件事——
   1) 顶部 piki / 找回 / ··· 压低存在感，做成小巧精致；
   2) 发送箭头做成有质感的主色，而不是死黑圆；
   3) 边角（圆角/内边距/分隔起止/悬停）统一收细，让内容成为主角。
   不改结构、不改功能、不加载外部资源。
   回退：从 index.html 移除本 <link>（或从 static.backup 还原）。 */

/* ---------- 1. 顶部：矮一点、轻一点、巧一点 ---------- */
.header{height:60px;padding:0 26px}
.brand{font-size:17px;letter-spacing:-.02em;font-weight:560;padding:6px 2px}
.brand span{color:var(--muted);padding-left:2px;opacity:.7}
.header-actions{gap:6px}
.header-actions .plain,.header-actions .more{
  min-height:32px;padding:6px 11px;font-size:12px;border-radius:999px;
  color:var(--muted);transition:color .18s ease,background-color .18s ease;
}
.header-actions .plain:hover,.header-actions .more:hover{color:var(--ink);background:var(--soft)}
.more{font-size:15px;letter-spacing:1px;line-height:1;padding:6px 11px}
#connection{font-size:10px;letter-spacing:.02em;opacity:.85}
/* 头部不画横线：靠留白与滚动自然分区，避免一条横贯整屏的线抢注意力 */

/* ---------- 2. 发送箭头：去掉死黑圆，做成有质感的主色 ---------- */
.send{
  width:40px;height:40px;border-radius:999px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--button) 88%,#fff) 0%,var(--button) 100%);
  color:var(--button-ink);font-size:20px;
  box-shadow:0 1px 2px rgba(20,22,25,.10),0 6px 16px -6px rgba(20,22,25,.34),inset 0 .5px 0 rgba(255,255,255,.22);
  transition:transform .16s cubic-bezier(.2,.7,.3,1),box-shadow .2s ease,filter .18s ease;
}
.send:hover{transform:translateY(-1px);box-shadow:0 2px 4px rgba(20,22,25,.12),0 12px 26px -8px rgba(20,22,25,.42),inset 0 .5px 0 rgba(255,255,255,.26);filter:brightness(1.06)}
.send:active{transform:translateY(1px) scale(.97);box-shadow:0 1px 2px rgba(20,22,25,.14),inset 0 .5px 0 rgba(255,255,255,.18)}
.send:disabled{filter:grayscale(.35);opacity:.5}
.send:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* ---------- 3. 边角收细：让内容成为主角 ---------- */
/* 正文列：留白稍紧，但视觉更集中在内容上 */
.turns{padding:26px 34px 40px}
.turn{margin:0 0 38px}
/* 输入区：边界更柔、聚焦时更明确（它是页面唯一主角） */
#compose{padding:10px 0 12px}
.attach{font-size:20px;width:34px;color:var(--muted);transition:color .18s ease}
.compose-wrap{padding:10px 34px max(18px,env(safe-area-inset-bottom))}
/* 结果卡片：上下线改为两端渐隐，边界变轻，同时保留"线条分隔"的美感 */
.result-link{
  border-top:1px solid transparent;border-bottom:1px solid transparent;
  padding:16px 2px;gap:13px;position:relative;
}
.result-link:before,.result-link:after{
  content:"";position:absolute;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--line) 6%,var(--line) 94%,transparent);
  pointer-events:none;
}
.result-link:before{top:0}
.result-link:after{bottom:0}
.result-link:hover{background:var(--soft);border-radius:10px}
.result-link:hover:before,.result-link:hover:after{opacity:.6}
.result-link .result-icon{font-size:15px;opacity:.85}
.result-link small{letter-spacing:.01em}
/* 用户消息的竖线引用：保留（用户喜欢），只把端点磨圆一点、更精致 */
.user-message{
  border-left:2px solid var(--line);border-radius:2px;
  margin:0 0 22px 34px;padding:1px 0 1px 16px;max-width:calc(100% - 34px);
}
.turn-files{margin-left:34px}
/* 对话框：大圆角统一为 14px，浮起感更干净 */
dialog{border-radius:14px;padding:26px}
dialog.small{border-radius:14px}
.panel-heading{margin-bottom:14px}
.panel-heading h2{font-size:16px;letter-spacing:.005em}
.panel-heading .plain{font-size:20px;min-height:36px}
/* 标签页/搜索框等边角统一收细 */
.tabs{gap:20px;margin:8px 0 16px}
#search,input[type=password],select{border-radius:8px}
.button,.login-field button{border-radius:8px}
.file-chip{border-radius:8px}
.workspace{border-radius:14px}
.root-card{border-radius:11px}
.event{padding:11px 0}
.found-row{padding:15px 2px}
.field input,.field select{border-radius:8px}

/* 小屏：同样收敛头部高度与边距 */
@media(max-width:760px){
  .header{height:54px;padding:0 18px}
  .brand{font-size:16px}
  .header-actions{gap:2px}
  .header-actions .plain,.header-actions .more{padding:6px 9px;font-size:11px}
  .more{font-size:14px}
  .turns{padding:22px 20px 32px}
  .turn{margin-bottom:30px}
  .user-message{margin-left:20px;padding-left:14px;max-width:calc(100% - 20px)}
  .turn-files{margin-left:20px}
  .compose-wrap{padding:8px 20px max(18px,env(safe-area-inset-bottom))}
  .send{width:38px;height:38px}
  dialog{padding:22px;border-radius:12px}
}
@media (prefers-reduced-motion: reduce){.send{transition:none}}

/* ---- 回答里的表格（md 表格渲染） ---- */
.answer table.md-table{
  border-collapse:collapse;width:100%;margin:10px 0 14px;
  font-size:13.5px;line-height:1.5;display:block;overflow-x:auto;
  -webkit-overflow-scrolling:touch;max-width:100%;
}
.answer table.md-table th,
.answer table.md-table td{
  border:1px solid var(--line);padding:8px 11px;text-align:left;vertical-align:top;
  white-space:normal;min-width:64px;
}
.answer table.md-table th{background:color-mix(in srgb,var(--ink) 6%,transparent);font-weight:600}
.answer table.md-table tr:nth-child(even) td{background:color-mix(in srgb,var(--ink) 3%,transparent)}
@media(max-width:759px){
  .answer table.md-table{font-size:12.5px}
  .answer table.md-table th,.answer table.md-table td{padding:6px 9px}
}

/* ---- 回答里的分隔线 ---- */
.answer hr.md-hr{
  border:0;height:1px;margin:18px 0;
  background:linear-gradient(90deg,transparent,var(--line) 12%,var(--line) 88%,transparent);
}

/* ---- 侧滑面板：会话列表 ---- */
.swipe-head{display:flex;align-items:center;justify-content:space-between}
.swipe-head #swipe-close{font-size:22px;line-height:1;padding:6px 10px;color:var(--muted);background:none;border:0;cursor:pointer}
.swipe-sessions{margin-top:20px;padding-top:16px;border-top:1px solid color-mix(in srgb,var(--ink) 8%,transparent)}
.swipe-sec-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:12px;letter-spacing:.08em;color:var(--muted)}
.swipe-new{font-size:12.5px;color:var(--accent);background:none;border:0;padding:4px 0;cursor:pointer}
.swipe-thread-list{display:flex;flex-direction:column;gap:2px}
.swipe-thread{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:11px 12px;border:0;border-radius:9px;background:none;color:var(--ink);font-size:14px;cursor:pointer}
.swipe-thread:hover{background:color-mix(in srgb,var(--ink) 5%,transparent)}
.swipe-thread.is-active{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}
.swipe-thread-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.swipe-thread-count{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.swipe-thread.is-active .swipe-thread-count{color:var(--accent)}
.swipe-expand{margin-top:6px;width:100%;padding:9px;border:0;border-radius:9px;background:color-mix(in srgb,var(--ink) 4%,transparent);color:var(--muted);font-size:12.5px;cursor:pointer}

/* ---- 会话标题：长按重命名 ---- */
.swipe-thread{position:relative;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.swipe-thread.is-editing{background:color-mix(in srgb,var(--accent) 9%,transparent)}
.swipe-thread.is-editing .swipe-thread-count{opacity:.3}
/* 输入框与整行融合：不出现浏览器默认描边，只留一条细软的强调下划线 */
.swipe-thread-edit,
.swipe-thread-edit:focus,
.swipe-thread-edit:focus-visible{
  flex:1;min-width:0;width:100%;box-sizing:border-box;
  font:inherit;font-size:14px;line-height:1.3;color:var(--ink);
  background:transparent;border:0;border-radius:0;padding:0 0 2px;margin:0;
  outline:none!important;caret-color:var(--accent);
  box-shadow:inset 0 -1.5px 0 color-mix(in srgb,var(--accent) 55%,transparent);
}
.swipe-thread-edit::selection{background:color-mix(in srgb,var(--accent) 28%,transparent)}
/* 长按时的轻微按压反馈，让“按住”这件事有触感 */
.swipe-thread:active{background:color-mix(in srgb,var(--ink) 7%,transparent)}
.swipe-sessions .swipe-hint-rename{font-size:11px;color:var(--muted);letter-spacing:.02em;font-style:normal;opacity:.8}

/* 项目面板：分区标题与外部项目行（project-1） */
#find-dialog .found-sec{margin:18px 0 4px;font-size:11px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}
#find-dialog .found-sec:first-child{margin-top:2px}
#find-dialog .portal-row strong{font-weight:500}
#find-dialog .portal-row small{color:var(--accent)}

/* 回到底部：贴底不打扰，离底较远时才浮出的小箭头（bottom-2） */
#dialogue.dialogue{position:relative}
#jump-bottom.jump-bottom{
  position:absolute;right:calc(50% - min(50%, 380px) + 36px);bottom:96px;z-index:7;
  width:34px;height:34px;display:flex;align-items:center;justify-content:center;
  border:0;border-radius:999px;cursor:pointer;
  background:color-mix(in srgb,var(--panel) 82%,transparent);
  color:var(--ink);font-size:15px;line-height:1;padding:0;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  box-shadow:inset 0 0 0 1px var(--line),0 8px 22px color-mix(in srgb,#000 22%,transparent);
  opacity:0;transform:translateY(8px) scale(.92);pointer-events:none;
  transition:opacity .22s ease,transform .22s ease,background .18s ease;
}
#jump-bottom.jump-bottom.is-visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
#jump-bottom.jump-bottom:hover{background:color-mix(in srgb,var(--ink) 10%,transparent)}
#jump-bottom.jump-bottom:active{transform:scale(.9)}
@media(max-width:760px){#jump-bottom.jump-bottom{right:22px;bottom:88px}}
@media (prefers-reduced-motion:reduce){#jump-bottom.jump-bottom{transition:none}}

/* ============================================================
   手机端工作区一体化：去掉独立的顶部横栏，
   返回改为悬浮小圆按钮 + 左缘右滑返回（与主界面手势一致）
   ============================================================ */
@media(max-width:760px){
  /* workspace 占满整屏；顶部是一条真实顶栏（不悬浮、不遮挡 iframe 内容） */
  .surface.has-workspace .workspace{position:relative;padding-top:0}
  .workspace{
    border:0;border-radius:0;margin:0;
  }
  .workspace-bar{
    position:relative;top:auto;left:auto;right:auto;
    height:44px;min-height:44px;padding:0 6px 0 4px;
    display:flex;align-items:center;gap:2px;
    border-bottom:1px solid var(--line);
    background:var(--panel);
    z-index:7;pointer-events:auto;overflow:visible;
    flex-shrink:0;
  }
  .workspace-bar #workspace-title{
    display:block;flex:1;min-width:0;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
    font-size:13px;color:var(--muted);padding:0 4px;
  }
  .workspace-bar #adopt{display:none}
  /* 返回、收起：顶栏里的小号扁平按钮，不再是悬浮圆钮 */
  .workspace-bar #back-to-chat,
  .workspace-bar #close-workspace{
    display:flex;align-items:center;justify-content:center;
    position:static;top:auto;left:auto;right:auto;
    width:36px;height:36px;min-width:36px;min-height:36px;padding:0;
    box-sizing:border-box;border-radius:8px;
    border:0;background:transparent;color:var(--ink);
    box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;
    transition:background .15s ease,transform .15s ease;
  }
  .workspace-bar #back-to-chat:active,
  .workspace-bar #close-workspace:active{
    transform:scale(.92);background:color-mix(in srgb,var(--ink) 9%,transparent);
  }
  .workspace-bar #back-to-chat .ws-tx{display:none}
  .workspace-bar #back-to-chat .ws-ic{width:18px;height:18px;margin-left:-1px}
  .workspace-bar #close-workspace .ws-ic{width:16px;height:16px}
  #view{background:#faf9f6}
  /* 滑动跟随过程中隐藏按钮，避免干扰 */
  body.ws-swiping .workspace-bar #back-to-chat,
  body.ws-swiping .workspace-bar #close-workspace{opacity:0}
  /* 返回过渡：整块 workpace 右移淡出 */
  body.ws-anim .workspace{transition:transform .26s cubic-bezier(.22,.61,.36,1),opacity .22s ease}
}

/* 左缘滑返回热区：平时不吃点击，仅在手机端盖在 iframe 之上 */
#view-edge{display:none}
@media(max-width:760px){
  #view-edge{
    display:block;position:absolute;top:44px;bottom:0;left:0;width:22px;
    z-index:5;background:transparent;touch-action:none;
  }
  .workspace{position:relative}
}

/* 项目行右侧的极小 ⋯（与会话一致的手感） */
.found-row{position:relative}
.found-dot{
  position:absolute;right:6px;top:50%;transform:translateY(-50%);
  width:24px;height:24px;line-height:22px;text-align:center;font-size:15px;color:var(--muted);
  opacity:.42;border-radius:6px;cursor:pointer;transition:opacity .15s ease,background .15s ease;
  user-select:none;-webkit-user-select:none;
}
.found-row:hover .found-dot{opacity:.85}
.found-dot:hover,.found-dot:active{opacity:1;background:color-mix(in srgb,var(--ink) 8%,transparent)}
@media (hover:none){.found-dot{opacity:.65}}

/* 项目行 ⋯ 同样的扩大热区 */
.found-dot::before{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:40px;height:40px}

/* ============================================================
   悬浮按钮：图标统一 + 自适应明暗；与浅色内容页一致
   ============================================================ */
.ws-ic{width:15px;height:15px;flex:0 0 auto;display:block}
#back-to-chat .ws-ic{width:14px;height:14px}
#close-workspace .ws-ic{width:13px;height:13px}

@media(max-width:760px) and (prefers-color-scheme:dark){
  #view{background:#13191c}
}

/* 功能图标：统一 SVG 尺寸，避免字符风格不一致 */
#send svg{width:17px;height:17px;display:block}
#jump-bottom svg{width:18px;height:18px;display:block;margin:0 auto}
.attach .at-ic{display:flex;align-items:center;justify-content:center}
.attach .at-ic svg{width:18px;height:18px;display:block}

/* ---------- 发送箭头：真正居中（button 默认 padding 会把 SVG 挤偏） ---------- */
.send{
  display:inline-flex;align-items:center;justify-content:center;
  padding:0;line-height:0;
}
#send svg{width:17px;height:17px;display:block;margin:0}

/* ---------- 项目面板顶栏：去掉返回「交流」与收起「×」两个按钮 ----------
   用户明确：手机上直接滑动即可退出，这两个按钮既占地方又用不上。
   退出仍可用「左缘向右滑」(swipe.js 的 view-edge / ws-swiping)。 */
@media(max-width:760px){
  .workspace-bar #back-to-chat,
  .workspace-bar #close-workspace{display:none}
  .workspace-bar{height:44px}
}
