/* 团团栏 .tt-sb：外框 thick 玻璃（头部、页签、输入框落在玻璃上），内芯是纸（对话与卡片）。
   宽高由宿主容器给（草稿页 .tt-dr-side、画布页各自的列），这里只铺满容器。
   10-29 评审 S7：10-12 留下、v2 已无人用的类（旧栏头的名字／状态行／页签／「等你」清单、旧消息气泡、旧选项、旧就绪卡等）已删；对话组件的样式在 chat-final.css。 */
.tt-sb.glass {
  display: flex; flex-direction: column; width: 100%; height: 100%; min-height: 0;
  padding: var(--b-sp-2); border-radius: var(--b-radius-sheet);
  background: var(--b-glass-bg-thick);
  -webkit-backdrop-filter: blur(var(--b-glass-blur-thick)) saturate(var(--b-glass-saturate));
  backdrop-filter: blur(var(--b-glass-blur-thick)) saturate(var(--b-glass-saturate));
  box-shadow: var(--b-glass-shadow-thick);
}
.tt-sb-head { flex: none; display: flex; align-items: center; gap: var(--b-sp-3); min-height: 60px; padding: var(--b-sp-1) var(--b-sp-3) var(--b-sp-2) var(--b-sp-2); }
.tt-sb-cat { width: var(--b-mascot-panel); height: var(--b-mascot-panel); flex: none; object-fit: contain; filter: var(--b-mascot-shadow); }

/* 纸芯：对话、引用与输入框同在一张纸上，玻璃只围一圈 */
.tt-sb-paper { flex: 1; min-height: 0; display: flex; flex-direction: column; border-radius: 16px; background: var(--b-bg-card); box-shadow: inset 0 0 0 1px var(--b-line), inset 0 1px 0 var(--b-card-edge); overflow: hidden; }
.tt-sb-scroll { flex: 1; min-height: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; padding: var(--b-sp-5) var(--b-sp-5) var(--b-sp-4); scrollbar-width: thin; scrollbar-color: var(--b-line-strong) transparent; }
.tt-sb-list { display: flex; flex-direction: column; gap: var(--b-sp-4); }
.tt-sb :is(button, a, [tabindex]):focus-visible { outline: 2px solid var(--b-focus); outline-offset: 2px; }

.tt-sb-composer { flex: none; display: flex; align-items: flex-end; gap: var(--b-sp-1); margin: var(--b-sp-2) var(--b-sp-3) var(--b-sp-3); padding: var(--b-sp-1) var(--b-sp-1) var(--b-sp-1) var(--b-sp-4); border-radius: var(--b-radius-control); background: var(--b-bg-input); box-shadow: inset 0 0 0 1px var(--b-line); transition: box-shadow var(--m-snappy-t) var(--m-spring-snappy); }
.tt-sb-composer:focus-within { box-shadow: inset 0 0 0 1px var(--b-line-strong); }
.tt-sb-input { flex: 1; min-width: 0; height: 108px; min-height: 88px; max-height: min(280px, 35dvh); padding: 6px 0; border: 0; background: transparent; resize: vertical; font-size: var(--b-fs-15); line-height: 1.4; color: var(--b-text-1); }
.tt-sb-input::placeholder { color: var(--b-text-3); }
.tt-sb-input:focus, .tt-sb-input:focus-visible { outline: none; box-shadow: none; }
.tt-sb-input:disabled { cursor: not-allowed; }
.tt-sb-send.icon-btn { width: 32px; height: 32px; flex: none; border-radius: 10px; color: var(--b-text-2); }
.tt-sb-send.icon-btn svg { width: 18px; height: 18px; stroke-width: 1.8; }
.tt-sb-send:disabled { color: var(--b-text-disabled); background: none; }

/* 团团栏里的卡片：纸上的次级面，不加玻璃（taste R7、R8） */
.tt-sb-card { border-radius: 14px; background: var(--b-bg-inset); padding: var(--b-sp-4); font-size: var(--b-fs-13); line-height: 1.6; color: var(--b-text-2); }
.btn.is-demoted { color: var(--b-text-1); background: transparent; box-shadow: inset 0 0 0 1px var(--b-line-strong); }

/* 摘要卡「从闲聊带过来的」：标签—值加发丝线，不配图标（taste R19）；已放进草稿的那行转浅色 */
.tt-sb-summary { padding: var(--b-sp-3) var(--b-sp-4) 14px; }
.tt-sb-sum-head { display: flex; align-items: center; gap: var(--b-sp-2); width: 100%; min-height: 24px; font-size: var(--b-fs-12); font-weight: 600; letter-spacing: var(--b-ls-cap); color: var(--b-text-3); text-align: left; }
.tt-sb-sum-head svg { width: 16px; height: 16px; margin-left: auto; transition: transform var(--m-snappy-t) var(--m-spring-snappy); }
.tt-sb-sum-head[aria-expanded="false"] svg { transform: rotate(-90deg); }
.tt-sb-sum-head:hover { color: var(--b-text-1); }
.tt-sb-sum-lines { display: grid; margin: var(--b-sp-2) 0 0; }
.tt-sb-sum-lines > div { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: var(--b-sp-2); padding: 6px 0; border-top: 1px solid var(--b-line); font-size: var(--b-fs-13); line-height: 1.6; }
.tt-sb-sum-lines > div.is-bare { grid-template-columns: minmax(0, 1fr); }
.tt-sb-sum-lines dt { color: var(--b-text-3); }
.tt-sb-sum-lines dd { margin: 0; color: var(--b-text-1); transition: color 400ms var(--m-ease-out); }
.tt-sb-sum-lines .is-placed dd { color: var(--b-text-3); }
