/* Pulse uses Tin's theme tokens; other workspaces keep their own layout. */
.pulse-icon { display:inline-block; width:18px; height:18px; flex:0 0 18px; vertical-align:middle; }
.code-block-actions { display:flex; align-items:center; gap:6px; margin-left:auto; }
.code-wrap { display:inline-flex; align-items:center; justify-content:center; width:32px; height:30px; padding:0; border:1px solid transparent; border-radius:4px; color:var(--ink-dim); background:transparent; cursor:pointer; }
.code-wrap:hover,.code-wrap[aria-pressed='true'] { background:var(--paper-3); color:var(--ink); border-color:var(--rule); }
.code-block.is-wrapped pre,.code-block.is-wrapped pre code { white-space:pre-wrap!important; overflow-wrap:anywhere; word-break:break-word; }
.md-table-scroll { width:100%; max-width:100%; overflow-x:auto; overscroll-behavior-x:contain; border:1px solid var(--rule); border-radius:6px; }
.md-table { border-collapse:collapse; width:100%; min-width:320px; font-family:var(--ui-font,system-ui); font-size:14px; line-height:1.6; white-space:normal; }
.md-table th,.md-table td { padding:10px 14px; border-bottom:1px solid var(--rule); text-align:left; vertical-align:top; }
.md-table th { font-weight:650; color:var(--ink); background:var(--paper-2); }
.md-table tbody tr:last-child td { border-bottom:0; }
.md-table tbody tr:nth-child(even) { background:color-mix(in srgb,var(--paper-2) 55%,transparent); }
.md-table .md-align-right { text-align:right; }
.md-table .md-align-center { text-align:center; }
.md-table-scroll:focus-visible { outline:2px solid var(--signal); outline-offset:3px; }

#chat .chat-main-column { display:flex; flex-direction:column; min-width:0; min-height:400px; height:calc(100dvh - 300px); border:1px solid var(--rule); border-radius:8px; overflow:hidden; background:var(--paper); }
#chat .chat-categories-panel { background:transparent; border:0; border-left:1px solid var(--rule); border-radius:0; box-shadow:none; }
#chat .chat-toolbar { padding:12px 18px; background:var(--paper); border-width:0 0 1px; box-shadow:none; flex:0 0 auto; }
#chat .chat-toolbar-controls { display:flex; align-items:center; gap:12px; width:100%; }
#chat .chat-toolbar-cell:first-child { flex:1; min-width:0; }
#chat .chat-toolbar-cell:nth-child(2) { display:none!important; }
#chat .pulse-category-picker { flex:0 1 180px; min-width:0; margin:0; }
#chat #pulseCategorySelect { width:100%; height:38px; padding:6px 26px 6px 10px; font:12px var(--ui-font); border:1px solid var(--rule); background:var(--paper); }
#chat .chat-toolbar .mp-trigger { min-height:38px; border-radius:6px; box-shadow:none; padding:8px 12px; font:13px var(--ui-font); }
#chat .chat-toolbar-label { display:none; }
#chat.view.active #chatOutput.chat-stream { flex:1 1 auto; width:100%; min-height:0!important; height:auto!important; max-height:none!important; overflow:auto!important; overflow-x:hidden!important; padding:22px 24px!important; border:0; border-radius:0; background:var(--paper); scroll-padding-block:22px; white-space:normal; }
#chat .entry { width:100%; max-width:780px; min-width:0; margin:0 auto; padding:24px 0 28px; border:0; border-bottom:1px solid var(--rule); background:transparent; animation:none; white-space:normal; }
#chat .entry:last-of-type { border-bottom:0; }
#chat .entry:hover { background:transparent; }
#chat .entry-question { width:fit-content; max-width:94%; margin:0 0 24px auto; padding:12px 16px; border:1px solid var(--rule); border-radius:8px; background:var(--paper-2); }
#chat .entry-speaker { display:block; color:var(--ink-dim); font:600 11px var(--ui-font); margin-bottom:6px; }
#chat .entry h3 { color:var(--ink); font:500 15px/1.6 var(--ui-font); font-style:normal; letter-spacing:0; margin:0; overflow-wrap:anywhere; white-space:pre-wrap; }
#chat .entry-assistant-head { display:flex; align-items:center; gap:9px; margin-bottom:16px; min-width:0; }
#chat .entry-assistant-head>img { width:20px; height:20px; object-fit:contain; flex:0 0 20px; }
#chat .entry-assistant-head>strong { font:650 13px var(--ui-font); color:var(--ink); }
#chat .entry small { font:11px/1.6 var(--ui-font); text-transform:none; letter-spacing:0; color:var(--ink-dim); margin:0; opacity:1; }
#chat .entry-assistant-head small { display:flex; align-items:center; flex-wrap:wrap; gap:6px 10px; min-width:0; }
#chat .entry-assistant-head time { white-space:nowrap; color:var(--ink-dim); }
#chat .entry-assistant-head small>span:first-child { overflow-wrap:anywhere; }
#chat .pulse-response-state { color:var(--signal); }
#chat .entry.is-error .pulse-response-state { color:var(--alert); }
#chat .entry-response { color:var(--ink); font:15px/1.75 var(--ui-font); letter-spacing:0; white-space:normal; gap:16px; min-width:0; width:100%; }
#chat .entry-response .prose { font:inherit; color:inherit; margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
#chat .entry-response :is(.md-h1,.md-h2) { font:650 20px/1.4 var(--ui-font); margin:8px 0 0; letter-spacing:0; }
#chat .entry-response :is(.md-h3,.md-h4) { font:650 16px/1.5 var(--ui-font); margin:6px 0 0; letter-spacing:0; }
#chat .entry-response .md-list { padding-left:24px; line-height:1.75; }
#chat .entry-response .md-list li { margin:5px 0; }
#chat .entry-response .md-quote { margin:0; padding:4px 0 4px 16px; color:var(--ink-dim); }
#chat .entry-response .md-code { font-size:.87em; border-radius:3px; padding:1px 4px; white-space:break-spaces; }
#chat .code-block { margin:0; border-radius:6px; border:1px solid var(--rule); max-width:100%; min-width:0; overflow:hidden; }
#chat .code-block-head { display:flex; gap:8px; align-items:center; min-height:42px; padding:5px 12px; background:var(--paper-2); border-bottom:1px solid var(--rule); }
#chat .code-block-lang { color:var(--ink-dim); font:11px var(--ui-mono); letter-spacing:0; text-transform:none; }
#chat .code-copy { font:500 12px var(--ui-font); color:var(--ink-dim); border:0; background:transparent; padding:5px 8px; min-height:30px; text-transform:none; letter-spacing:0; border-radius:4px; }
#chat .code-copy:hover { background:var(--paper-3); color:var(--ink); }
#chat .code-block pre { margin:0; padding:16px; max-height:360px; overflow:auto; background:var(--paper-2); color:var(--ink); font:12.5px/1.7 var(--ui-mono); white-space:pre; tab-size:2; }
#chat .code-block pre code { font:inherit; background:none; padding:0; color:inherit; border:0; border-radius:0; box-shadow:none; text-decoration:none; box-decoration-break:slice; }
#chat .entry-details { font:11px/1.6 var(--ui-font); margin-top:14px; color:var(--ink-dim); }
#chat .entry-details>summary { cursor:pointer; padding:5px 0; width:fit-content; }
#chat .entry-details>small { display:block; padding:8px 0; }
#chat .entry-flag { font:10px var(--ui-font); letter-spacing:0; text-transform:none; border-radius:3px; padding:2px 5px; }
#chat .entry-actions { display:flex; align-items:center; flex-wrap:nowrap; gap:6px; border:0; margin:10px 0 0; padding:0; }
#chat .entry-action,#chat .entry-more>summary { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:34px; padding:6px 8px; background:transparent; border:1px solid transparent; border-radius:5px; color:var(--ink-dim); font:500 12px var(--ui-font); letter-spacing:0; text-transform:none; cursor:pointer; }
#chat .entry-action:hover,#chat .entry-more>summary:hover,#chat .entry-more[open]>summary { color:var(--ink); background:var(--paper-2); border-color:var(--rule); }
#chat .entry-action.flashed { color:var(--ink); background:var(--paper-2); min-width:118px; }
#chat .entry-action.is-copy { min-width:128px; }
#chat .code-copy { min-width:64px; }
#chat .pulse-icon-action { width:34px; padding:7px; }
#chat .pulse-icon-action>span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
#chat .entry-more { position:relative; margin-left:2px; }
#chat .entry-more>summary { width:34px; padding:7px; list-style:none; }
#chat .entry-more>summary::-webkit-details-marker { display:none; }
#chat .entry-menu { position:absolute; bottom:calc(100% + 6px); left:0; width:204px; padding:5px; border:1px solid var(--rule-bright); background:var(--paper-2); border-radius:6px; z-index:12; box-shadow:0 8px 28px #0003; }
#chat .entry-menu .entry-action { display:flex; width:100%; justify-content:flex-start; text-align:left; min-height:38px; }
#chat .entry-menu .danger { color:var(--alert); }
#chat .entry-thinking { margin:0 0 14px; }
#chat .entry-thinking summary { font:12px var(--ui-font); text-transform:none; letter-spacing:0; }
#chat .pulse-load-older { display:block; margin:0 auto 8px; border:1px solid var(--rule); border-radius:5px; padding:8px 12px; font:12px var(--ui-font); color:var(--ink-dim); background:var(--paper-2); cursor:pointer; }
#chat .pulse-load-older span { color:var(--ink); margin-left:8px; }
#chat .pulse-feed-status { flex:0 0 38px; height:38px; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:0 18px; border-top:1px solid var(--rule); background:var(--paper); color:var(--ink-dim); font:11px var(--ui-font); }
#chat #pulseJumpLatest { display:inline-flex; align-items:center; gap:8px; padding:4px 8px; color:var(--ink); border:1px solid var(--rule); border-radius:4px; background:var(--paper-2); font:11px var(--ui-font); min-height:28px; cursor:pointer; }
#chat #pulseJumpLatest[hidden] { display:none!important; }
#chat .chat-composer { flex:0 0 auto; position:static; border:0!important; border-radius:0!important; box-shadow:none!important; padding:12px 18px 14px!important; background:var(--paper)!important; }
#chat .prompt-wrap { background:var(--paper-2); border:1px solid var(--rule-bright); border-radius:8px; }
#chat .prompt-wrap:focus-within { border-color:var(--signal); box-shadow:0 0 0 2px color-mix(in srgb,var(--signal) 12%,transparent); }
#chat .prompt-wrap textarea { min-height:64px; max-height:260px; resize:none; background:transparent!important; border:0; border-radius:8px; font:15px/1.6 var(--ui-font); color:var(--ink); padding:12px 14px 12px 46px; }
#chat #prompt::placeholder { font:inherit; font-style:normal; }
#chat .composer-bar { display:flex; align-items:center; gap:8px; margin-top:8px; }
#chat #sendPrompt { display:flex; align-items:center; justify-content:center; width:40px; height:40px; min-height:40px; margin-left:auto; padding:0; border-radius:6px; transition:background 120ms ease; }
#chat #sendPrompt.is-preparing .pulse-icon { animation:pulse-working 1.1s linear infinite; }
#chat .chat-empty-state { text-align:center; max-width:42ch; margin:auto; }
#chat .chat-empty-state img { width:42px; height:42px; margin-bottom:16px; }
#chat .chat-empty-state h3 { font:600 20px/1.4 var(--ui-font); }
#chat .stream-wait { min-height:30px; font:13px var(--ui-font); }
#chat .tk-new { animation-duration:120ms; }
@keyframes pulse-working { to { transform:rotate(360deg); } }
@media(max-width:880px){
  #chat.view.active .chat-main-column { height:auto; min-height:0!important; border-radius:8px; }
  #chat.view.active .chat-hero { padding:0 0 12px!important; margin-bottom:10px; background:none; border:0; }
  #chat .chat-hero .view-eyebrow { display:none; }
  #chat .chat-hero h1 { font-size:22px; }
  #chat .pulse-category-picker { flex:0 0 104px; max-width:42%; }
  #chat #pulseCategorySelect { height:44px; font-size:12px; }
  #chat.view.active #chatOutput.chat-stream { padding:12px 14px!important; }
  #chat .entry { padding:16px 0 22px; }
  #chat .entry-response { font-size:15px; }
  #chat .entry-question { max-width:96%; padding:10px 12px; margin-bottom:18px; }
  #chat .entry-assistant-head { flex-wrap:wrap; gap:8px; }
  #chat .entry-assistant-head small { font-size:10.5px; gap:4px 8px; }
  #chat .entry-action,#chat .entry-more>summary,#chat .pulse-icon-action { min-height:44px; }
  #chat .pulse-icon-action,#chat .entry-more>summary { width:40px; }
  #chat .entry-menu { left:auto; right:0; }
  #chat .entry-menu .entry-action { min-height:44px; }
  #chat .entry-details>summary { min-height:32px; }
  #chat .code-block pre { max-height:300px; padding:12px; font-size:12px; }
  #chat .code-block-head { min-height:44px; padding:2px 8px; }
  #chat :is(.code-copy,.code-wrap) { min-height:40px; }
  #chat .code-wrap { width:36px; }
  #chat .chat-composer { padding:10px 12px!important; }
  #chat .prompt-wrap textarea { min-height:56px; padding:10px 12px 10px 44px; font-size:16px; }
  #chat .pulse-feed-status { padding-inline:12px; }
  #chat #sendPrompt { width:44px; height:44px; min-height:44px; }
}
@media(prefers-reduced-motion:reduce){#chat *,#chat *::before,#chat *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}
