body.private-view .studio-workspace {
  display: block !important;
  width: 100%;
  max-width: none;
  padding: 0 !important;
  margin: 0 !important;
}
.ps-app {
  --ps-option-height: 44px;
  --ps-empty-art: url("assets/home-reading-invite-480.opt-v1.webp?v=media-20261029");
  --ps-knowledge-height: clamp(380px, 52vh, 560px);
  --ps-bg: var(--bg, #f4f7fc);
  --ps-paper: var(--paper, #fff);
  --ps-text: var(--ink, #182d4b);
  --ps-muted: var(--muted, #667d9b);
  --ps-line: var(--line, #e0e8f3);
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  min-height: calc(100dvh - var(--studio-nav-height, 70px));
  font:
    14px/1.6 -apple-system,
    BlinkMacSystemFont,
    "PingFang SC",
    "Microsoft YaHei",
    sans-serif;
  color: var(--ps-text);
  background: var(--ps-bg);
}
.ps-app * {
  box-sizing: border-box;
}
.ps-app button,
.ps-app input,
.ps-app textarea,
.ps-app select,
#ps-dialog button,
#ps-dialog input,
#ps-dialog select,
#ps-dialog textarea {
  font: inherit;
}
.ps-app button,
#ps-dialog button {
  cursor: pointer;
}
.ps-app button:focus-visible,
.ps-app input:focus-visible,
.ps-app textarea:focus-visible,
.ps-app select:focus-visible,
#ps-dialog :is(input, textarea, select, button):focus-visible {
  outline: 2px solid #3987ff;
  outline-offset: 2px;
}
.ps-sidebar {
  position: sticky;
  top: var(--studio-nav-height, 70px);
  height: calc(100dvh - var(--studio-nav-height, 70px));
  padding: 12px 10px 16px;
  border-right: 1px solid var(--ps-line);
  display: flex;
  flex-direction: column;
  gap: 14px;
  overflow: auto;
  background: var(--ps-paper);
}
.ps-sidebar h2 {
  font-size: 17px;
  margin: 0 12px;
}
.ps-sidebar nav {
  display: grid;
  gap: 7px;
}
.ps-sidebar nav button {
  display: flex;
  align-items: center;
  width: 100%;
  height: var(--ps-option-height);
  min-height: var(--ps-option-height);
  gap: 10px;
  font-size: 14px;
  font-weight: 450;
  border-radius: 4px;
  color: var(--ps-text);
  padding: 0 13px;
  background: none;
  box-shadow: none;
}
.ps-sidebar nav button svg {
  width: 19px;
  height: 19px;
  flex: none;
}
.ps-sidebar nav button[aria-current] {
  background: #4288ff13;
  color: var(--ps-nav-current, #2167dd);
  box-shadow: inset 2px 0 #347afa;
}
.ps-sidebar nav button:hover {
  background: #4288ff0d;
}
.ps-storage {
  margin-top: auto;
  padding: 14px 8px 0;
  border-top: 1px solid var(--ps-line);
  display: grid;
  gap: 5px;
  font-size: 12px;
}
.ps-storage button {
  text-align: left;
  color: #447bc7;
  padding: 4px 0;
}
.ps-storage small {
  color: var(--ps-muted);
}
main.ps-content {
  margin: 0 !important;
  min-width: 0;
  padding: 22px 22px 40px;
  width: auto;
  min-height: 0;
}
.ps-page-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
}
.ps-page-header h1 {
  font-family: inherit;
  font-size: 25px;
  letter-spacing: 0.2px;
  margin: 0;
  color: var(--ps-text);
}
.ps-page-header p {
  font-size: 13px;
  color: var(--ps-muted);
  margin: 3px 0 0;
}
.ps-search {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 240px;
  width: 34%;
  padding: 8px 12px;
  border: 1px solid var(--ps-line);
  background: var(--ps-paper);
  border-radius: 4px;
}
.ps-search svg {
  width: 18px;
  height: 18px;
  flex: none;
}
.ps-app .ps-search input,
.ps-app .ps-search input:focus-visible {
  border: 0;
  background: none;
  width: 100%;
  min-width: 0;
  outline: none;
  box-shadow: none;
  color: var(--ps-text);
}
.ps-app .ps-search:focus-within {
  outline: 2px solid #347cf1;
  outline-offset: 1px;
}
.ps-with-rail {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 270px;
  gap: 16px;
}
.ps-main-stack {
  display: grid;
  align-content: start;
  gap: 16px;
  min-width: 0;
}
.ps-panel {
  background: var(--ps-paper);
  border: 1px solid var(--ps-line);
  border-radius: 4px;
  padding: 16px;
  min-width: 0;
  margin-bottom: 16px;
}
.ps-main-stack > .ps-panel {
  margin-bottom: 0;
}
.ps-panel > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 0 12px !important;
  background: none !important;
  position: static !important;
  border: 0 !important;
  z-index: auto !important;
}
.ps-panel h2 {
  font-size: 17px;
  color: var(--ps-text);
  letter-spacing: 0;
}
.ps-panel h3 {
  font-size: 15px;
  margin: 20px 0 9px;
  color: var(--ps-text);
}
.ps-app p {
  margin: 8px 0;
}
.ps-app
  button:not(.ps-row):not(.ps-k-row):not(.ps-sidebar button):not(
    .ws-grid button
  ):not(.ws-research-layout button):not(.ws-mobile-tabs button):not(
    .st-workspace button
  ):not(.dl-root button):not(
    :where(
      .pw-layout button,
      .memory-kind-tabs button,
      .memory-mode button,
      .ps-tabs button,
      [role="tab"],
      .ps-k-select,
      .ps-ppt-cover-button,
      .ps-k-domain-tag,
      .ps-k-categories button,
      .ps-k-inline-action,
      .ps-k-missing-filters button,
      .ps-k-add-domain
    )
  ),
#ps-dialog button,
.ps-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid var(--ps-line);
  border-radius: 4px;
  padding: 6px 10px;
  color: var(--ps-button-label, #376eb4);
  background: var(--ps-paper);
  font-size: 13px;
  text-decoration: none;
  vertical-align: middle;
}
.ps-app button.ps-primary,
#ps-dialog button.ps-primary {
  color: #fff;
  background: #347cf1;
  border-color: #347cf1;
}
.ps-app button:disabled,
#ps-dialog button:disabled {
  opacity: 0.55;
  cursor: wait;
}
.ps-app button svg {
  width: 17px;
  height: 17px;
}
.ps-rows {
  display: grid;
}
.ps-row {
  width: 100%;
  text-align: left;
  display: flex;
  align-items: center;
  gap: 10px;
  background: none;
  padding: 12px 0;
  border-top: 1px solid var(--ps-line);
  color: var(--ps-text);
  border-radius: 0;
  min-width: 0;
}
.ps-row > span:nth-child(2) {
  flex: 1;
  min-width: 0;
}
.ps-row b {
  font-size: 14px;
  overflow-wrap: anywhere;
}
.ps-row small {
  display: block;
  font-size: 12px;
  color: var(--ps-muted);
  font-weight: 400;
}
.ps-file-icon {
  width: 32px;
  height: 34px;
  background: #3b7fff0f;
  display: grid;
  place-items: center;
  color: #4683ed;
  flex: none;
}
.ps-file-icon svg {
  width: 19px;
  height: 19px;
}
.ps-project-row {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 12px 0;
  border-top: 1px solid var(--ps-line);
  flex-wrap: wrap;
}
.ps-project-row > div:first-child {
  flex: 1;
  min-width: 180px;
}
.ps-project-row p {
  color: var(--ps-muted);
  font-size: 13px;
}
.ps-progress {
  display: inline-block;
  position: relative;
  width: 100px;
  height: 6px;
  border-radius: 2px;
  background: #4389ff24;
  overflow: hidden;
  vertical-align: middle;
  margin-right: 7px;
}
.ps-progress i {
  display: block;
  height: 100%;
  background: #4186ff;
}
.ps-progress-row {
  margin: 12px 0;
}
.ps-muted {
  color: var(--ps-muted);
  font-size: 12px;
}
.ps-empty {
  padding: 25px 16px;
  text-align: center;
  color: var(--ps-muted);
  font-size: 14px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 240px;
}
.ps-empty::before {
  content: "";
  display: block;
  flex: none;
  width: 230px;
  max-width: 85%;
  height: 92px;
  background: var(--ps-empty-art) center/contain no-repeat;
}
.ps-domain-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.ps-domain-grid button {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start !important;
  padding: 14px !important;
  text-align: left;
}
.ps-domain-grid b {
  display: flex;
  align-items: center;
  gap: 8px;
}
.ps-domain-grid small {
  color: var(--ps-muted);
  font-size: 12px;
}
.ps-rail {
  min-width: 0;
}
.ps-rail form {
  display: grid;
  gap: 8px;
}
.ps-companion {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}
.ps-companion img {
  width: 85px;
  height: 85px;
  object-fit: contain;
  flex: none;
}
.ps-companion p {
  font-size: 13px;
  line-height: 1.8;
}
.ps-activity {
  border-top: 1px solid var(--ps-line);
  padding-top: 10px;
  display: grid;
  font-size: 13px;
}
.ps-activity small {
  color: var(--ps-muted);
  font-size: 11px;
}
.ps-app textarea,
.ps-app select,
#ps-dialog textarea,
#ps-dialog select,
#ps-dialog input {
  border: 1px solid var(--ps-line, #dbe4ef);
  background: var(--ps-paper, var(--paper, #fff));
  border-radius: 4px;
  padding: 8px;
  color: var(--ps-text, var(--ink, #182d4b));
  max-width: 100%;
}
.ps-app textarea {
  width: 100%;
  resize: vertical;
}
.ps-badge {
  display: inline-block !important;
  font-size: 11px;
  padding: 2px 6px;
  border-radius: 3px;
  background: #4288ff10;
  color: #2f75db;
  white-space: nowrap;
  font-weight: 400;
}
.ps-badge[data-status="failed"],
.ps-badge[data-status="high"] {
  background: #ff674710;
  color: #c44728;
}
.ps-badge[data-status="ready"],
.ps-badge[data-status="done"],
.ps-badge[data-status="confirmed"],
.ps-badge[data-status="completed"] {
  background: #11aa7910;
  color: #12815e;
}
.ps-badge[data-status="draft"],
.ps-badge[data-status="review"] {
  background: #ed9a2015;
  color: #a57012;
}
.ps-filter-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin: 0 0 16px;
}
.ps-filter-row > label {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 13px;
}
.ps-filter-row > .ps-actions {
  margin-left: auto;
}
.ps-tabs {
  display: flex;
  gap: 2px;
  flex-wrap: wrap;
}
.ps-tabs button {
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  background: none !important;
}
.ps-tabs button[aria-pressed="true"] {
  border-bottom-color: #347cf1 !important;
  color: #246bea !important;
}
.ps-detail-layout {
  display: grid;
  grid-template-columns: 220px minmax(300px, 1fr) 250px;
  gap: 14px;
  align-items: start;
}
.ps-index {
  background: var(--ps-paper);
  padding: 0 12px;
  border: 1px solid var(--ps-line);
  border-radius: 4px;
  position: sticky;
  top: calc(var(--studio-nav-height, 70px) + 12px);
  max-height: calc(100dvh - var(--studio-nav-height, 70px) - 24px);
  overflow: auto;
}
.ps-index .ps-row {
  display: block;
  padding: 16px 0;
  background: transparent;
  border-radius: 0;
  border-width: 1px 0 0;
  box-shadow: none;
}
.ps-index .ps-row:first-child {
  border-top: 0;
}
.ps-index .ps-file-icon {
  display: none;
}
.ps-index .ps-row > .ps-badge {
  margin-top: 7px;
}
.ps-detail {
  min-width: 0;
}
.ps-lead {
  color: var(--ps-muted);
}
.ps-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 12px;
  color: var(--ps-muted);
}
.ps-actions {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  margin: 10px 0;
}
.ps-prose {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  line-height: 1.95;
  font-size: 14px;
  max-height: 65vh;
  overflow: auto;
}
.ps-discussion {
  display: grid;
  gap: 12px;
}
.ps-discussion article {
  padding: 12px;
  background: var(--ps-bg);
  border-left: 2px solid #7695bf;
}
.ps-discussion article[data-role="assistant"] {
  border-color: #3d86ff;
  background: #3d86ff09;
}
.ps-discussion article small {
  margin-left: 9px;
  color: var(--ps-muted);
  font-size: 11px;
}
.ps-discussion article b {
  font-size: 12px;
}
.ps-conclusion {
  padding: 12px;
  background: #f4af1d09;
  border: 1px solid #f4af1d28;
}
.ps-ai-result {
  margin: 12px 0;
  border-top: 1px solid var(--ps-line);
  padding-top: 12px;
}
.ps-ai-result > .ps-prose {
  max-height: 45vh;
  font-size: 13px;
}
.ps-ai-result > small {
  color: var(--ps-muted);
  display: block;
}
.ps-table-wrap {
  overflow: auto;
  background: var(--ps-paper);
  border: 1px solid var(--ps-line);
  border-radius: 4px;
}
.ps-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 600px;
  font-size: 12px;
}
.ps-table th {
  text-align: left;
  font-weight: 500;
  background: var(--ps-bg);
  color: var(--ps-muted);
  padding: 10px;
}
.ps-table td {
  padding: 10px;
  border-top: 1px solid var(--ps-line);
  vertical-align: middle;
}
.ps-table td small {
  display: block;
  color: var(--ps-muted);
  font-size: 11px;
  max-width: 300px;
  overflow-wrap: anywhere;
}
.ps-table button {
  padding: 3px 5px !important;
  border: 0 !important;
  text-align: left !important;
  background: none !important;
}
.ps-table td:first-child {
  max-width: 290px;
}
.ps-table td:first-child b {
  font-weight: 500;
  overflow-wrap: anywhere;
}
.ps-file-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 290px;
  gap: 14px;
  align-items: start;
}
.ps-file-layout > .ps-rail {
  font-size: 13px;
}
.ps-file-detail {
  min-width: 0;
}
.ps-file-detail .ps-actions {
  align-items: start;
}
.ps-version {
  border-top: 1px solid var(--ps-line);
  padding-top: 10px;
  font-size: 12px;
}
.ps-task-rows > div {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 10px 0;
  border-top: 1px solid var(--ps-line);
  font-size: 12px;
  flex-wrap: wrap;
}
.ps-task-rows button {
  flex: 1;
  text-align: left !important;
  border: 0 !important;
  justify-content: flex-start !important;
  padding: 0 !important;
}
.ps-task-rows time {
  font-size: 11px;
  color: var(--ps-muted);
}
.ps-task-rows input {
  width: 16px;
  height: 16px;
  accent-color: #347cf1;
}
.ps-kanban {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}
.ps-lane {
  padding: 12px;
  background: #4388ff05;
  border: 1px solid var(--ps-line);
  border-radius: 4px;
  min-height: 300px;
}
.ps-lane h2 {
  font-size: 15px;
  margin-bottom: 14px;
}
.ps-lane h2 small {
  color: var(--ps-muted);
  font-size: 11px;
  margin-left: 7px;
}
.ps-task-card {
  background: var(--ps-paper);
  padding: 12px;
  border: 1px solid var(--ps-line);
  border-radius: 4px;
  margin-bottom: 12px;
  font-size: 12px;
}
.ps-task-card > button {
  border: 0 !important;
  padding: 0 !important;
  color: var(--ps-text) !important;
  background: none !important;
  text-align: left;
  justify-content: flex-start !important;
}
.ps-task-card > div {
  margin-top: 10px;
}
.ps-task-card select {
  font-size: 11px;
  max-width: 100%;
}
.ps-task-card time {
  font-size: 11px;
  color: var(--ps-muted);
}
.ps-task-card label {
  font-size: 11px;
}
.ps-import-settings {
  display: flex;
  align-items: end;
  gap: 12px;
  flex-wrap: wrap;
  margin: 16px 0;
}
.ps-import-settings label {
  display: grid;
  gap: 6px;
  min-width: 180px;
  flex: 1;
}
.ps-import-settings span {
  font-size: 12px;
  color: var(--ps-muted);
}
.ps-upload {
  border: 1px dashed #9bb8e2;
  padding: 20px;
  text-align: center;
  background: var(--ps-bg);
  border-radius: 4px;
}
.ps-upload .ps-actions {
  justify-content: center;
}
.ps-upload small {
  color: var(--ps-muted);
}
.ps-upload.dragging {
  background: #377fff1a;
}
.ps-history {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  padding: 8px 0;
  border-top: 1px solid var(--ps-line);
  font-size: 12px;
}
.ps-practice-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 20px;
}
.ps-recorder {
  padding: 20px;
  border: 1px solid var(--ps-line);
  text-align: center;
  background: var(--ps-bg);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
.ps-recorder > span {
  font-size: 23px;
  font-variant-numeric: tabular-nums;
}
.ps-panel audio,
.ps-panel video {
  width: 100%;
  max-height: 400px;
}
.ps-message,
.ps-error {
  padding: 10px 14px;
  border: 1px solid #d6941c50;
  border-radius: 4px;
  background: #d6941c10;
  color: #8c5c0d;
  margin: 10px 0;
}
.ps-message[hidden] {
  display: none;
}
.ps-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}
#ps-dialog {
  --ps-paper: var(--paper, #fff);
  --ps-line: var(--line, #dfe6f2);
  --ps-text: var(--ink, #182d4b);
  width: min(720px, calc(100vw - 28px));
  padding: 0;
  max-height: 90dvh;
  color: var(--ps-text);
  background: var(--ps-paper);
  border: 1px solid var(--ps-line);
  border-radius: 5px;
  box-shadow: 0 15px 80px #10203035;
}
#ps-dialog::backdrop {
  background: #10203070;
}
#ps-dialog header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
  position: sticky;
  top: 0;
  height: auto;
  background: var(--ps-paper);
  border-bottom: 1px solid var(--ps-line);
  z-index: 1;
}
#ps-dialog h2 {
  font-size: 19px;
}
#ps-dialog .ps-form-body {
  padding: 18px 20px;
  display: grid;
  gap: 14px;
}
#ps-dialog label:not(:where(.ps-review-file label)) {
  display: grid;
  gap: 6px;
  font-size: 13px;
}
#ps-dialog textarea {
  width: 100%;
  resize: vertical;
  min-height: 80px;
}
#ps-dialog footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 13px 20px;
  border-top: 1px solid var(--ps-line);
  background: var(--ps-paper);
}
#ps-dialog .ps-form-error {
  color: #ba432a;
  margin: 0;
}
#ps-dialog .ps-domain-edit {
  display: flex;
  gap: 10px;
  align-items: center;
}
#ps-dialog .ps-domain-edit b {
  margin-right: auto;
}
#ps-dialog .ps-preview-image {
  max-width: 100%;
  height: auto;
}
#ps-dialog iframe {
  width: 100%;
  height: 60vh;
  border: 0;
}
#ps-dialog video,
#ps-dialog audio {
  width: 100%;
}
#ps-dialog .ps-prose {
  max-height: 65vh;
  overflow: auto;
}
.ps-app [hidden],
#ps-dialog [hidden] {
  display: none !important;
}
@media (min-width: 1800px) {
  .ps-app {
    grid-template-columns: 210px minmax(0, 1fr);
  }
  main.ps-content {
    padding: 24px 30px;
  }
  .ps-detail-layout {
    grid-template-columns: 260px minmax(400px, 1fr) 310px;
  }
  .ps-with-rail {
    grid-template-columns: minmax(0, 1fr) 320px;
  }
}
@media (max-width: 1250px) {
  .ps-detail-layout {
    grid-template-columns: 190px minmax(0, 1fr);
  }
  .ps-detail-layout > .ps-rail {
    grid-column: 1/-1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }
  .ps-with-rail {
    grid-template-columns: minmax(0, 1fr) 230px;
  }
  .ps-file-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .ps-file-detail {
    order: -1;
  }
  .ps-domain-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .ps-kanban {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 850px) {
  .ps-app {
    grid-template-columns: 150px minmax(0, 1fr);
  }
  .ps-sidebar {
    padding: 15px 7px;
  }
  .ps-sidebar nav button {
    padding: 0 7px;
    font-size: 12px;
    gap: 7px;
  }
  .ps-sidebar h2 {
    font-size: 15px;
  }
  main.ps-content {
    padding: 18px 12px;
  }
  .ps-page-header {
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
  }
  .ps-search {
    width: 100%;
    min-width: 0;
  }
  .ps-with-rail {
    grid-template-columns: minmax(0, 1fr);
  }
  .ps-detail-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .ps-index {
    position: static;
    max-height: 200px;
  }
  .ps-index .ps-row {
    padding: 8px 0;
  }
  .ps-detail-layout > .ps-rail {
    grid-column: auto;
    display: block;
  }
  .ps-practice-grid {
    grid-template-columns: 1fr;
  }
  .ps-rail {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .ps-rail > .ps-panel {
    margin: 0;
  }
  .ps-project-row {
    gap: 10px;
  }
  .ps-content h1 {
    font-size: 23px;
  }
}
@media (max-width: 550px) {
  .ps-app {
    display: block;
  }
  .ps-sidebar {
    position: sticky;
    height: auto;
    max-height: none;
    top: var(--studio-nav-height, 100px);
    z-index: 15;
    padding: 5px 10px;
    background: var(--ps-paper);
    border-right: 0;
    border-bottom: 1px solid var(--ps-line);
    overflow: visible;
  }
  .ps-sidebar h2,
  .ps-storage {
    display: none;
  }
  .ps-sidebar nav {
    display: flex;
    overflow: auto;
    gap: 2px;
  }
  .ps-sidebar nav button {
    width: auto;
    flex: none;
    height: 44px;
    min-height: 44px;
    padding: 0 9px;
    white-space: nowrap;
    font-size: 12px;
  }
  .ps-sidebar nav button svg {
    width: 15px;
    height: 15px;
  }
  .ps-sidebar nav button[aria-current] {
    box-shadow: inset 0 -2px #347afa;
  }
  main.ps-content {
    padding: 15px 10px;
  }
  .ps-domain-grid,
  .ps-kanban {
    grid-template-columns: 1fr;
  }
  .ps-rail {
    display: block;
  }
  .ps-rail > .ps-panel {
    margin-bottom: 12px;
  }
  .ps-panel {
    padding: 12px;
  }
  .ps-panel > header {
    flex-wrap: wrap;
  }
  .ps-page-header p {
    font-size: 12px;
  }
  .ps-filter-row .ps-actions {
    margin-left: 0;
  }
  .ps-filter-row select {
    max-width: 185px;
  }
  .ps-task-card {
    padding: 12px;
  }
  .ps-lane {
    min-height: 100px;
  }
  .ps-import-settings {
    display: grid;
  }
  .ps-task-rows time {
    margin-left: 22px;
  }
  .ps-table {
    min-width: 550px;
  }
  #ps-dialog .ps-form-body {
    padding: 15px;
  }
  #ps-dialog header {
    padding: 12px 15px;
  }
  #ps-dialog h2 {
    font-size: 17px;
  }
}

.ps-app .ps-domain-node {
  display: flex !important;
  justify-content: space-between !important;
  width: 100%;
  border: 0 !important;
  background: none !important;
  margin-bottom: 3px;
  text-align: left !important;
}
.ps-app .ps-domain-node[aria-pressed="true"] {
  background: #347cf114 !important;
  color: #2167dd;
}
.ps-index h3 {
  font-size: 13px;
  color: var(--ps-muted);
  margin: 13px 0 8px;
}
/* Conversation workspace: navigation stays open; sources open on demand. */
.ps-app.ps-workspace-mode {
  --ws-label: 14px;
  --ws-small: 12px;
  --ws-body: 15px;
  --ws-title: var(--sprout-type-section-title-size, 15px);
  --ws-chat-bg: #fff;
  --ws-assistant-bg: transparent;
  --ws-user-bg: #e7f0ff;
  height: calc(100dvh - var(--studio-nav-height, 70px));
  min-height: 0;
  grid-template-columns: minmax(0, 1fr);
  background: var(--ws-chat-bg);
}
.ps-app.ps-workspace-mode[data-ws-nav-open="true"] {
  grid-template-columns: 175px minmax(0, 1fr);
}
.ps-workspace-mode .ps-sidebar {
  height: 100%;
  min-height: 0;
  position: static;
  top: 0;
}
.ps-workspace-mode main.ps-content {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
  padding: 0;
  overflow: hidden;
}
.ps-app.ps-workspace-mode [hidden] {
  display: none !important;
}
.ps-app.ps-workspace-mode :is(.ws-research-layout, .ws-grid) button {
  font: inherit;
  font-size: var(--ws-label);
  line-height: 1.5;
  box-shadow: none;
  border: 0;
  border-radius: 4px;
  padding: 6px 9px;
  color: var(--ps-text);
  background: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 32px;
}
.ps-app.ps-workspace-mode :is(.ws-research-layout, .ws-grid) button:hover {
  background: color-mix(in srgb, var(--ps-text) 5%, transparent);
}
.ps-app.ps-workspace-mode :is(.ws-research-layout, .ws-grid) button.ps-primary {
  background: #347cf1;
  color: #fff;
}
.ps-app.ps-workspace-mode :is(.ws-research-layout, .ws-grid) button:disabled {
  cursor: not-allowed;
}
.ps-app.ps-workspace-mode
  :is(summary, button, select, [role="tabpanel"]):focus-visible {
  outline: 2px solid #529cff;
  outline-offset: 2px;
}
.ps-app.ps-workspace-mode button.ws-icon-button {
  width: 32px;
  flex: none;
  padding: 6px;
}
.ws-domain-picker {
  padding: 0 12px 10px;
  display: grid;
  gap: 5px;
}
.ws-domain-picker > div {
  display: flex;
  gap: 6px;
  min-width: 0;
}
.ps-app .ws-domain-picker select {
  flex: 1;
  min-width: 0;
  width: 0;
  height: 32px;
  padding: 4px 8px;
  background: var(--ps-paper);
  color: var(--ps-text);
  border: 1px solid var(--ps-line);
  border-radius: 4px;
  font-size: var(--ws-label);
}
.ps-app .ws-domain-picker button {
  flex: none;
  width: 32px;
  padding: 0;
}
.ws-grid {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr) clamp(232px, 18vw, 280px);
  gap: 0;
  flex: 1;
  min-height: 0;
  min-width: 0;
}
.ws-grid[data-hide-sources="true"] {
  grid-template-columns: minmax(0, 1fr) clamp(232px, 18vw, 280px);
}
.ws-grid[data-hide-artifacts="true"] {
  grid-template-columns: 230px minmax(0, 1fr);
}
.ws-grid[data-hide-sources="true"][data-hide-artifacts="true"] {
  grid-template-columns: minmax(0, 1fr);
}
.ws-panel {
  background: transparent;
  border: 0;
  border-radius: 0;
  min-height: 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.ws-sources {
  border-right: 1px solid var(--ps-line);
}
.ws-artifacts {
  border-left: 1px solid var(--ps-line);
}
.ps-app.ps-workspace-mode .ws-chat {
  position: relative;
  background: var(--ws-chat-bg);
  border: 0;
  box-shadow: none;
}
.ps-app .ws-panel-header {
  position: static !important;
  height: auto !important;
  min-height: 54px !important;
  background: none !important;
  border: 0 !important;
  padding: 10px 20px !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: none;
  gap: 8px;
  z-index: auto !important;
}
.ws-panel-header h2 {
  margin: 0;
  color: var(--ps-text);
  font-family: inherit;
  font-size: var(--ws-title);
  font-weight: 400;
  line-height: 24px;
}
.ws-scroll {
  flex: 1;
  overflow: auto;
  min-height: 0;
  min-width: 0;
  scrollbar-width: thin;
  scrollbar-color: #aebdd1 transparent;
  overscroll-behavior: contain;
}
.ws-sources > .ws-scroll {
  padding: 0 12px 12px;
}
.ws-artifacts > .ws-scroll {
  padding: 8px 18px 16px;
}
.ws-selection-tools {
  display: flex;
  justify-content: space-between;
  gap: 5px;
  margin: 6px 0;
}
.ps-app.ps-workspace-mode .ws-selection-tools button {
  padding: 4px 0;
  font-size: var(--ws-small);
  color: var(--ps-muted);
}
.ws-file-row {
  display: flex;
  gap: 7px;
  align-items: center;
  padding: 6px 5px;
  min-height: 36px;
  min-width: 0;
  margin: 3px 0;
  border-radius: 4px;
}
.ws-file-row[data-selected="true"] {
  background: #347cf10a;
}
.ws-file-row input {
  width: 16px;
  height: 16px;
  accent-color: #327eff;
  flex: none;
  margin: 0;
}
.ps-app.ps-workspace-mode .ws-file-row > button {
  padding: 0;
  min-width: 0;
  min-height: 24px;
  display: block;
  text-align: left;
  color: var(--ps-text);
  flex: 1;
}
.ws-file-row b {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: var(--ws-label);
  font-weight: 400;
  line-height: 1.6;
}
.ps-app.ps-workspace-mode .ws-file-row > button:last-child {
  flex: 0 0 24px;
  color: var(--ps-muted);
}
.ws-upload-zone {
  border: 1px dashed var(--ps-line);
  margin: 8px 12px 12px;
  padding: 9px 5px;
  text-align: center;
  border-radius: 4px;
  flex: none;
}
.ps-app.ps-workspace-mode .ws-upload-zone button {
  padding: 2px;
  font-size: var(--ws-small);
}
.ws-upload-zone small {
  font-size: var(--ws-small);
  display: block;
  color: var(--ps-muted);
  margin-top: 4px;
}
.ws-upload-zone.dragging {
  background: #4288ff20;
}
.ws-upload-zone [role="status"] {
  font-size: var(--ws-small);
  overflow-wrap: anywhere;
}
.ws-conversation {
  padding: 28px max(32px, calc((100% - 820px) / 2)) 12px;
  scroll-padding-block: 20px;
  position: relative;
}
.ws-conversation-topic {
  font-size: var(--ws-small);
  color: var(--ps-muted);
  margin: 4px 0 22px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ws-welcome {
  padding: clamp(26px, 7vh, 70px) 8px 12px;
  text-align: center;
}
.ws-welcome h3 {
  font-size: var(--ws-title);
  line-height: 1.6;
  margin: 10px 0;
  color: var(--ps-text);
  font-weight: 400;
}
.ws-welcome p {
  font-size: var(--ws-label);
  line-height: 1.8;
  color: var(--ps-muted);
}
.ws-prompts {
  display: grid;
  gap: 8px;
  padding: 8px;
}
.ps-app.ps-workspace-mode .ws-prompts button {
  text-align: left;
  justify-content: flex-start;
  padding: 8px;
  color: var(--ps-text);
}
.ws-message {
  display: block;
  margin: 0 0 26px;
  min-width: 0;
}
.ws-message-body {
  flex: 1;
  min-width: 0;
}
.ws-message-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
}
.ws-message-meta b {
  font-size: var(--ws-label);
  color: var(--ps-text);
  font-weight: 500;
}
.ws-message-meta time {
  font-size: var(--ws-small);
  color: var(--ps-muted);
}
.ws-message-text {
  font-size: var(--ws-body);
  line-height: 1.7;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  color: var(--ps-text);
}
.ws-assistant .ws-message-text {
  background: transparent;
  padding: 0;
  border: 0;
  box-shadow: none;
  white-space: normal;
}
.ws-assistant .ws-message-text p {
  font: inherit;
  line-height: inherit;
  margin: 0 0 12px;
}
.ws-assistant .ws-message-text :is(ol, ul) {
  margin: 10px 0 16px;
  padding-left: 1.6em;
}
.ws-assistant .ws-message-text ol + p {
  padding-left: 1.9em;
  margin-top: -8px;
}
.ws-assistant .ws-message-text li {
  padding-left: 4px;
  margin: 8px 0;
}
.ws-assistant .ws-message-text li::marker {
  color: var(--primary, #347cf1);
  font-variant-numeric: tabular-nums;
}
.ws-assistant .ws-message-text pre {
  overflow: auto;
  white-space: pre;
  margin: 12px 0;
  padding: 12px;
  background: var(--ps-paper);
  border: 1px solid var(--ps-line);
  border-radius: 4px;
  max-width: 100%;
}
.ws-assistant .ws-message-text code {
  font-family: ui-monospace, monospace;
  font-size: 0.9em;
}
.ws-message:focus-visible {
  outline: 2px solid #529cff;
  outline-offset: 6px;
  border-radius: 4px;
}
.ws-user {
  display: flex;
  justify-content: flex-end;
}
.ws-user .ws-message-body {
  flex: 0 1 auto;
  max-width: 82%;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.ws-user .ws-message-meta {
  order: 1;
  justify-content: flex-end;
  margin: 5px 0 0;
}
.ws-user .ws-message-meta b {
  display: none;
}
.ws-user .ws-message-text {
  padding: 9px 14px;
  background: var(--ws-user-bg);
  border: 0;
  border-radius: 4px;
  box-shadow: none;
}
.ws-text-title {
  display: block;
  font-size: var(--ws-body);
  font-weight: 500;
  line-height: 1.7;
  margin: 18px 0 10px;
}
.ws-message-text strong {
  font-weight: 600;
}
.ws-citations {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  margin-top: 9px;
}
.ws-citations:empty {
  display: none;
}
.ps-app.ps-workspace-mode button.ws-citation {
  font-size: var(--ws-small);
  background: #347cf109;
  padding: 4px 6px;
  text-align: left;
  justify-content: flex-start;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.ws-ai-note {
  font-size: var(--ws-small);
  color: var(--ps-muted);
  display: block;
  margin: 6px 0;
}
.ws-message-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}
.ps-app.ps-workspace-mode .ws-message-actions button {
  font-size: var(--ws-small);
  padding: 4px 0;
  color: var(--ps-muted);
}
.ws-followups {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 18px;
}
.ws-followups small {
  width: 100%;
  font-size: var(--ws-small);
  color: var(--ps-muted);
}
.ps-app.ps-workspace-mode .ws-followups button {
  font-size: var(--ws-small);
  text-align: left;
}
.ws-source-preview {
  padding: 12px;
  background: var(--ps-paper);
  border: 1px solid var(--ps-line);
  border-radius: 4px;
  margin-top: 12px;
}
.ps-app .ws-source-preview > header {
  background: none;
  position: static;
  height: auto;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 0;
  padding: 0;
  gap: 6px;
}
.ws-source-preview b {
  font-size: var(--ws-label);
  overflow-wrap: anywhere;
}
.ws-evidence-passage {
  padding: 10px 0;
  border-top: 1px solid var(--ps-line);
  font-size: var(--ws-label);
  line-height: 1.8;
  overflow-wrap: anywhere;
}
.ws-evidence-passage small {
  display: block;
  color: var(--ps-muted);
  font-size: var(--ws-small);
  margin-bottom: 5px;
}
.ws-evidence-passage > div {
  white-space: pre-wrap;
}
.ws-source-preview p {
  font-size: var(--ws-label);
  line-height: 1.8;
  color: var(--ps-muted);
}
.ws-job-state {
  font-size: var(--ws-label);
  color: var(--ps-muted);
  padding: 10px 0;
  display: flex;
  align-items: center;
  gap: 8px;
}
.ws-pulse {
  width: 7px;
  height: 7px;
  background: #347cf1;
  display: inline-block;
  border-radius: 50%;
}
.ws-composer {
  width: calc(100% - 64px);
  max-width: 820px;
  align-self: center;
  border: 1px solid var(--ps-line);
  border-radius: 4px;
  margin: 0 32px;
  padding: 12px 14px;
  flex: none;
  background: #f7f8fa;
}
.ps-app .ws-composer textarea {
  outline: none;
  box-shadow: none;
  border-radius: 0;
  width: 100%;
  display: block;
  margin: 0;
  resize: none;
  min-height: 42px;
  max-height: 120px;
  border: 0;
  background: none;
  padding: 0;
  font-size: var(--ws-body);
  line-height: 1.7;
}
.ps-app .ws-composer textarea:focus-visible {
  outline: none;
  box-shadow: none;
}
.ws-composer:focus-within {
  outline: 2px solid #347cf1;
  outline-offset: 1px;
  box-shadow: none;
}
.ws-composer > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 7px;
  gap: 8px;
}
.ps-app.ps-workspace-mode .ws-composer button {
  font-size: var(--ws-label);
}
.ps-app.ps-workspace-mode .ws-composer button[type="submit"] {
  width: 32px;
  height: 32px;
  padding: 6px;
  flex: none;
}
.ps-app.ps-workspace-mode .ws-composer-tools button {
  color: var(--ps-muted);
  padding: 4px;
}
.ps-app .ws-composer-note {
  font-size: var(--ws-small);
  color: var(--ps-muted);
  text-align: center;
  margin: 6px 10px 10px;
}
.ws-composer-tools {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  flex: 1;
}
.ws-send-hint {
  font-size: var(--ws-small);
  color: var(--ps-muted);
  white-space: nowrap;
}
.ws-creation-menu {
  position: relative;
  font-size: var(--ws-label);
  color: var(--ps-muted);
}
.ws-creation-menu > summary {
  cursor: pointer;
  padding: 6px 0;
  list-style: none;
}
.ws-creation-menu > summary::after {
  content: " ▴";
  font-size: var(--ws-small);
}
.ws-creation-popover {
  position: absolute;
  bottom: calc(100% + 12px);
  left: 0;
  width: 360px;
  max-width: calc(100vw - 70px);
  max-height: 60dvh;
  overflow: auto;
  padding: 10px;
  background: var(--ps-paper);
  border: 1px solid var(--ps-line);
  border-radius: 4px;
  z-index: 10;
}
.ws-tools {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  margin: 0;
}
.ps-app.ps-workspace-mode .ws-tools button {
  min-height: 54px;
  text-align: left;
  justify-content: flex-start;
  color: var(--ps-text);
  padding: 9px 8px;
  gap: 8px;
  background: color-mix(in srgb, var(--ps-paper), #77aaff 6%);
}
.ws-tools svg {
  color: #347cf1;
  width: 20px;
  height: 20px;
  flex: none;
}
.ws-tools span {
  min-width: 0;
}
.ws-tools b {
  display: block;
  font-size: var(--ws-label);
  font-weight: 400;
}
.ws-tools small {
  display: block;
  color: var(--ps-muted);
  font-size: var(--ws-small);
  margin-top: 3px;
  line-height: 1.5;
}
.ws-artifact-tabs {
  display: flex;
  gap: 24px;
  align-self: stretch;
  border-bottom: 1px solid var(--ps-line);
  flex: 1;
}
.ps-app.ps-workspace-mode .ws-artifact-tabs button {
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: none;
  padding: 8px 0;
  color: var(--ps-muted);
  font-size: var(--ws-title);
  font-weight: 400;
}
.ps-app.ps-workspace-mode .ws-artifact-tabs button[aria-selected="true"] {
  color: var(--primary, #347cf1);
  border-bottom-color: currentColor;
}
.ws-scope-note,
.ws-empty-note,
.ws-note-excerpt {
  font-size: var(--ws-label);
  line-height: 1.8;
  color: var(--ps-muted);
  overflow-wrap: anywhere;
}
.ws-empty-note {
  margin: 12px 0;
}
.ws-note-excerpt {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: var(--ps-text);
}
.ps-app.ps-workspace-mode button.ws-artifact-row {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  border: 0;
  border-bottom: 1px solid var(--ps-line);
  border-radius: 0;
  background: none;
  width: 100%;
  padding: 16px 0;
  text-align: left;
  color: var(--ps-text);
  justify-content: flex-start;
}
.ws-artifact-row span {
  min-width: 0;
}
.ws-artifact-row b {
  display: block;
  font-size: var(--ws-label);
  overflow-wrap: anywhere;
  font-weight: 500;
}
.ws-artifact-row small {
  display: block;
  font-size: var(--ws-small);
  color: var(--ps-muted);
  margin-top: 4px;
}
.ws-memory-row .ws-note-excerpt {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  margin: 5px 0 0;
  font-size: var(--ws-label);
  font-weight: 400;
  line-height: 1.7;
  color: var(--ps-muted);
}
.ws-summary-conclusion {
  border-bottom: 1px solid var(--ps-line);
  padding: 12px 0;
}
.ws-summary-conclusion h3 {
  font-size: var(--ws-label);
  font-weight: 500;
  margin: 0;
}
.ws-candidate {
  margin: 16px 0;
  font-size: var(--ws-label);
  color: var(--ps-muted);
}
.ws-candidate > summary {
  cursor: pointer;
}
.ws-linked-media,
.ws-next-actions {
  padding: 10px 0;
  border-top: 1px solid var(--ps-line);
  margin-top: 10px;
}
.ws-linked-media > summary,
.ws-next-actions > summary {
  font-size: var(--ws-label);
  color: var(--ps-muted);
  cursor: pointer;
  padding: 5px 0;
}
.ws-source-media {
  margin-top: 12px;
  min-width: 0;
}
.ws-source-media > b {
  font-size: var(--ws-label);
  overflow-wrap: anywhere;
}
.ws-source-media .ps-media-grid {
  grid-template-columns: 1fr;
}
.ws-task {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  font-size: var(--ws-label);
  padding: 8px 0;
}
.ws-task input {
  accent-color: #347cf1;
  width: 16px;
  height: 16px;
  flex: none;
  margin-top: 3px;
}
.ws-task span {
  flex: 1;
  overflow-wrap: anywhere;
}
.ws-preferences {
  border-top: 1px solid var(--ps-line);
  margin: 0 20px;
  padding: 12px 0;
  display: flex;
  flex: none;
}
.ps-app.ps-workspace-mode .ws-preferences button {
  padding: 4px 0;
  color: var(--primary, #347cf1);
}
.ps-workspace-mode > .ps-content > .ps-message {
  margin: 0;
  padding: 8px 20px;
  flex: none;
  font-size: var(--ws-label);
}
.ps-app.ps-workspace-mode .ws-grid button.ws-inline-citation {
  display: inline;
  padding: 1px 4px;
  background: #347cf112;
  color: #2c78ea;
  font-size: var(--ws-small);
  line-height: 1.5;
  vertical-align: baseline;
  min-height: 0;
}
body.private-view:has(.ps-workspace-mode) #floating-companion {
  display: none !important;
}
.ws-starters {
  max-width: 620px;
  margin: 4px auto 24px;
  color: var(--ps-muted);
  font-size: var(--ws-label);
}
.ws-starters > summary {
  text-align: center;
  cursor: pointer;
  padding: 6px;
  list-style: none;
}
.ws-starters > summary::after {
  content: " ＋";
}
.ws-starters[open] > summary::after {
  content: " −";
}
.ps-app.ps-workspace-mode[data-ws-nav-open="true"]:has(.ws-research-layout) {
  grid-template-columns: 165px minmax(0, 1fr);
}
.ws-domain-label {
  font-size: var(--ws-small);
  color: var(--ps-muted);
  padding: 0 12px 4px;
}
.ws-notes-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin: clamp(45px, 12vh, 110px) 0 24px;
  gap: 12px;
}
.ws-notes-empty-icon .icon {
  width: 30px;
  height: 30px;
  color: var(--ps-muted);
}
.ws-notes-empty p {
  font-size: var(--ws-label);
  line-height: 1.7;
  margin: 0;
  color: var(--ps-text);
}
.ws-notes-empty small {
  font-size: var(--ws-small);
  line-height: 1.7;
  color: var(--ps-muted);
}
.ps-app.ps-workspace-mode button.ws-extract-button {
  border: 1px solid var(--ps-line);
  color: var(--primary, #347cf1);
  margin-top: 8px;
  padding: 6px 12px;
}
.ws-turn-rail {
  position: absolute;
  z-index: 8;
  left: 5px;
  bottom: 146px;
  width: 18px;
  opacity: 0;
  transition: opacity 0.12s;
}
.ws-turn-rail:hover,
.ws-turn-rail:has(:focus-visible) {
  opacity: 1;
}
.ws-turn-ticks {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-height: 260px;
  overflow: auto;
  scrollbar-width: none;
}
.ps-app.ps-workspace-mode .ws-turn-ticks button {
  padding: 0;
  width: 18px;
  height: 18px;
  min-height: 18px;
  flex: none;
  border-radius: 0;
  background: transparent;
}
.ws-turn-ticks button span {
  display: block;
  width: 10px;
  height: 2px;
  background: var(--ps-muted);
  opacity: 0.45;
  transition:
    width 0.15s,
    opacity 0.15s;
}
.ws-turn-ticks button:nth-child(3n) span {
  width: 14px;
}
.ws-turn-ticks button[aria-current] span,
.ws-turn-ticks button:is(:hover, :focus-visible) span {
  width: 14px;
  opacity: 1;
  background: var(--ps-text);
}
.ws-turn-preview {
  position: absolute;
  bottom: 0;
  left: 22px;
  width: min(260px, 45vw);
  padding: 9px 11px;
  background: color-mix(in srgb, var(--ws-chat-bg) 96%, var(--ps-text) 4%);
  color: var(--ps-text);
  border: 1px solid var(--ps-line);
  border-radius: 4px;
  box-shadow: 0 8px 24px #0b1f3318;
}
.ws-turn-preview-heading {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.ps-app.ps-workspace-mode button.ws-turn-preview-question {
  flex: 1;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  padding: 0;
  text-align: left;
  font-size: var(--ws-label);
  font-weight: 500;
  overflow-wrap: anywhere;
  line-height: 1.6;
}
.ws-turn-preview p {
  font-size: var(--ws-label);
  line-height: 1.6;
  margin: 6px 0;
  color: var(--ps-muted);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (prefers-reduced-motion: reduce) {
  .ws-turn-rail,
  .ws-turn-ticks button span {
    transition: none;
  }
}
@media (max-width: 1050px) {
  .ws-turn-rail,
  .ws-send-hint {
    display: none;
  }
  .ws-toolbar {
    padding: 8px 12px;
    gap: 8px;
    flex-wrap: wrap;
  }
  .ws-toolbar-actions {
    gap: 10px;
  }
  .ws-grid,
  .ws-grid[data-hide-sources="true"],
  .ws-grid[data-hide-artifacts="true"] {
    display: flex;
  }
  .ws-grid > .ws-panel {
    width: 100%;
  }
  .ws-artifacts,
  .ws-sources {
    border: 0;
  }
  .ws-conversation {
    padding: 16px 20px;
  }
  .ps-app.ps-workspace-mode[data-ws-nav-open="true"] {
    grid-template-columns: 150px minmax(0, 1fr);
  }
}
@media (max-width: 550px) {
  .ps-app.ps-workspace-mode,
  .ps-app.ps-workspace-mode[data-ws-nav-open="true"] {
    display: flex;
    flex-direction: column;
    height: calc(100dvh - var(--studio-nav-height, 100px));
    min-height: 0;
  }
  .ps-workspace-mode .ps-sidebar {
    height: auto;
    max-height: 40dvh;
    overflow: auto;
    flex: none;
    position: static;
    padding: 5px 8px;
  }
  .ps-workspace-mode main.ps-content {
    flex: 1;
    height: auto;
    min-height: 0;
  }
  .ws-toolbar-actions {
    width: 100%;
    justify-content: flex-end;
  }
  .ws-conversation {
    padding: 12px;
  }
  .ws-user {
    margin-left: 12px;
  }
  .ws-user .ws-message-body {
    max-width: 100%;
  }
  .ws-welcome {
    padding: 16px 4px 8px;
  }
  .ws-composer {
    width: calc(100% - 24px);
    padding: 12px;
    margin: 0 12px;
  }
  .ps-app .ws-composer textarea {
    font-size: var(--ws-label);
    min-height: 40px;
  }
  .ws-composer-tools {
    gap: 12px;
  }
  .ws-followups {
    margin-left: 0;
  }
}

/* Domain knowledge: compact categories, grouped list and contextual detail. */
.ps-k-top {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.ps-k-top > div {
  margin-right: auto;
}
.ps-k-top h1 {
  font-family: inherit;
  margin: 0;
  font-size: 24px;
}
.ps-k-top p {
  color: var(--ps-muted);
  font-size: 12px;
  margin: 2px 0 0;
}
.ps-k-top .ps-search {
  width: 35%;
  min-width: 200px;
} /* Domain filters: approved underline Tab visual; native filter semantics retained. */
/* Domain filters: approved underline Tab visual; native filter semantics retained. */
/* Domain filters: approved underline Tab visual; native filter semantics retained. */
/* Domain filters: approved underline Tab visual; native filter semantics retained. */
/* Domain filters: approved underline Tab visual; native filter semantics retained. */
/* Domain chips: user-approved compact rounded controls and pale blue selection. */
/* Vertical domain filter sidebar; scoped to the approved knowledge workspace. */
.ps-app.ps-knowledge-mode {--ps-accent:var(--accent,#316bb3);--ps-soft:color-mix(in srgb,var(--ps-muted) 6%,var(--ps-paper))}
.ps-knowledge-workspace {display:grid;grid-template-columns:216px minmax(0,1fr);min-width:0;align-items:start;gap:10px}
.ps-k-category-bar {display:flex;flex-direction:column;min-width:0;background:var(--ps-paper);padding:12px 12px;border-right:1px solid var(--ps-line);position:sticky;top:var(--studio-nav-height,70px);height:calc(100dvh - var(--studio-nav-height,70px));box-sizing:border-box;--ps-chip-selected:#eef5ff;--ps-tab-active:#316bb3}
.ps-k-domain-tools {display:flex;align-items:center;gap:6px;margin-bottom:6px}
.ps-k-domain-tools .ps-search {flex:1;min-width:0;width:auto;margin:0}
.ps-k-domain-tools input {width:100%;min-width:0}
body.studio-page .ps-app .ps-k-domain-tools .ps-k-add-domain {flex:none;display:grid;place-items:center;width:38px;height:38px;padding:0;background:transparent;border:0;color:var(--ps-text)}
.ps-k-add-domain svg {width:18px;height:18px}
.ps-k-categories {display:flex;flex-direction:column;align-items:stretch;gap:2px;min-width:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;padding:0;flex:1}
.ps-domain-chip {display:flex;align-items:center;flex:none;border:0;border-radius:4px;min-width:0;background:transparent;border-left:2px solid transparent}
.ps-domain-chip[hidden] {display:none}
.ps-domain-chip[data-selected="true"] {background:var(--ps-chip-selected)}
body.studio-page .ps-app .ps-k-categories button {min-height:38px;border:0!important;box-shadow:none!important;background:transparent!important;color:var(--ps-text)!important;font-weight:400;border-radius:4px!important}
body.studio-page .ps-app .ps-k-categories > [data-ps-clear-domain] {text-align:left;padding:4px 10px;border-left:2px solid transparent!important;flex:none}
body.studio-page .ps-app .ps-k-categories > [data-ps-clear-domain][aria-pressed="true"] {background:var(--ps-chip-selected)!important;border-left-color:transparent!important}
.ps-domain-chip,.ps-k-categories > [data-ps-clear-domain] {position:relative}
.ps-domain-chip[data-selected="true"]::before,.ps-k-categories > [data-ps-clear-domain][aria-pressed="true"]::before {content:"";position:absolute;top:0;bottom:0;left:-2px;width:2px;border-radius:0;background:var(--ps-tab-active);pointer-events:none}
body.studio-page .ps-app .ps-k-categories button[aria-pressed="true"] {color:var(--ps-tab-active)!important;font-weight:400}
body.studio-page .ps-app .ps-k-categories button:hover {color:var(--ps-tab-active)!important}
body.studio-page .ps-app .ps-k-categories [data-ps-domain] {flex:1;min-width:0;text-align:left;white-space:normal;overflow-wrap:anywhere;padding:4px 10px;touch-action:pan-y;cursor:grab;user-select:none}
body.studio-page .ps-app .ps-k-categories [data-ps-domain-delete] {display:grid;place-items:center;flex:none;width:26px;padding:0;color:var(--ps-muted)!important;font-size:16px}
.ps-domain-chip:focus-within {outline:2px solid var(--ps-tab-active);outline-offset:-2px}
.ps-domain-chip:has(.ps-k-dragging) {opacity:0.65;outline:2px solid var(--ps-tab-active)}
.ps-k-categories.ps-k-sorting {touch-action:none}
.ps-k-categories small {display:none}
body.dark .ps-app.ps-knowledge-mode,[data-theme="night"] .ps-app.ps-knowledge-mode {--ps-accent:#8ab4ff;--ps-button-label:var(--ps-accent)}
body.dark .ps-k-category-bar,[data-theme="night"] .ps-k-category-bar {--ps-tab-active:#8ab4ff;--ps-chip-selected:#243a51}
.ps-app.ps-knowledge-mode .ps-k-completion-tools {display:flex;align-items:center;gap:6px;padding:6px 0;margin-bottom:6px;flex-wrap:wrap}
.ps-k-missing-filters {display:flex;align-items:center;gap:6px;margin-right:auto}
.ps-app.ps-knowledge-mode .ps-k-missing-filters button {border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;padding:4px 10px;color:var(--ps-text);font-weight:400}
.ps-app.ps-knowledge-mode .ps-k-missing-filters button[aria-pressed="true"] {border-bottom-color:var(--ps-accent);color:var(--ps-accent)}
.ps-k-selection-count,.ps-k-completion-status {color:var(--ps-muted);font-size:var(--ps-meta-size,12px)}
.ps-k-completion-status {padding:6px 0;overflow-wrap:anywhere}
.ps-k-completion-status p {margin:6px 0}
.ps-k-completion-status button {margin-left:6px}
.ps-app.ps-knowledge-mode .ps-k-row-heading {flex-wrap:wrap;gap:6px}
.ps-app.ps-knowledge-mode .ps-k-select {min-width:0;max-width:100%}
.ps-app.ps-knowledge-mode .ps-k-inline-action {background:transparent;border:0;padding:0 4px;color:var(--ps-accent);min-height:28px;white-space:nowrap;font-weight:400}
.ps-app.ps-knowledge-mode .ps-k-inline-action:disabled {color:var(--ps-muted)}
.ps-k-select-file {flex:none;align-self:center;cursor:pointer;accent-color:var(--ps-accent)}
.ps-k-summary-empty {display:flex;align-items:center;gap:6px;background:var(--ps-soft);border:1px solid var(--ps-line);border-radius:4px;padding:10px;flex-wrap:wrap}
.ps-k-summary-empty > span {margin-right:auto;color:var(--ps-muted)}
@media(max-width:1180px) {.ps-knowledge-workspace {grid-template-columns:184px minmax(0,1fr)}.ps-knowledge-workspace > .ps-k-layout {grid-template-columns:minmax(0,1fr)}.ps-k-category-bar {padding-left:6px;padding-right:6px}}

@media(min-width:1180px) {.ps-knowledge-workspace {height:calc(100dvh - var(--studio-nav-height,70px))}.ps-knowledge-workspace > .ps-k-layout {height:100%;min-height:0;grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr)}.ps-knowledge-workspace .ps-k-list,.ps-knowledge-workspace .ps-k-detail {min-height:0;overflow-y:auto;max-height:100%}}
/* Compact summaries and classification review. */
.ps-app.ps-knowledge-mode .ps-k-summary-clamp,.ps-app.ps-knowledge-mode .ps-k-excerpt {display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;white-space:normal;text-overflow:ellipsis}
#ps-dialog.ps-classification-board {width:min(1120px,95vw);max-width:95vw}
#ps-dialog.ps-classification-board .ps-form-body {max-height:72dvh;overflow:auto}
.ps-review-toolbar {display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap}
#ps-dialog.ps-classification-board .ps-review-status {margin:6px 0;color:var(--muted);font-size:var(--ps-meta-size,12px)}
.ps-review-board {display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;align-items:start}
.ps-review-bucket {min-height:72px;background:var(--paper,#fff);border:1px solid var(--line,#dfe6ef);border-radius:4px;padding:10px}
.ps-review-bucket h3 {margin:0 0 6px;font-size:var(--sprout-font-section-title-size,15px);font-weight:400}
.ps-review-bucket h3 small {color:var(--muted);font-size:var(--ps-meta-size,12px)}
.ps-review-file {border:1px solid var(--line,#dfe6ef);border-radius:4px;padding:6px;margin-top:6px;cursor:grab;background:var(--bg,#f6f8fb)}
.ps-review-handle {display:flex;align-items:center;gap:6px;cursor:grab;min-width:0}
.ps-review-handle > b {min-width:0;display:block;font-size:var(--ps-body-size,14px);font-weight:400;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.ps-review-file > label {display:flex;align-items:center;gap:6px;margin:6px 0}
.ps-review-file select {min-width:0;flex:1;max-width:100%}
.ps-review-file small {display:block;color:var(--muted);font-size:var(--ps-meta-size,12px)}
.ps-review-file details {font-size:var(--ps-meta-size,12px)}
.ps-review-options {display:grid;gap:4px;margin-top:6px}
.ps-review-options label {display:flex;align-items:center;gap:6px}

.ps-k-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(320px, 1fr);
  gap: 14px;
  align-items: stretch;
}
.ps-k-layout.ps-k-no-detail {
  grid-template-columns: 1fr;
}
.ps-k-list,
.ps-k-detail {
  min-width: 0;
  min-height: var(--ps-knowledge-height);
  background: var(--ps-paper);
  border: 1px solid var(--ps-line);
  border-radius: 4px;
  padding: 12px;
}
.ps-k-list {
  display: flex;
  flex-direction: column;
}
.ps-k-list > .ps-empty {
  flex: 1;
}
.ps-k-detail:has(.ps-k-side-collection):not(:has(.ps-k-compact-entry))::after {
  content: "";
  display: block;
  width: 230px;
  max-width: 85%;
  height: 92px;
  margin: 24px auto 0;
  background: var(--ps-empty-art) center/contain no-repeat;
}
.ps-k-tools {
  display: flex;
  align-items: center;
  gap: 7px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--ps-line);
  flex-wrap: wrap;
}
.ps-k-tools .ps-k-search {
  flex: 1 1 180px;
  min-width: 120px;
  width: auto;
  max-width: 340px;
  min-height: 34px;
  padding: 5px 8px;
  gap: 6px;
}

.ps-k-search input {
  min-width: 0;
}
.ps-k-tools [data-ps-refresh-knowledge] {
  flex: none;
  white-space: nowrap;
}
.ps-app .ps-k-tools select {
  border: 0;
  font-size: 12px;
  padding: 5px 2px;
  color: var(--ps-text);
}
.ps-k-count {
  margin-left: auto;
  font-size: 12px;
  color: var(--ps-muted);
}
.ps-k-group h2 {
  font-size: 14px;
  margin: 10px 8px 5px;
}
.ps-k-group h2 small {
  font-weight: 400;
  color: var(--ps-muted);
  margin-left: 8px;
}
.ps-app .ps-k-row {
  display: flex;
  align-items: center;
  text-align: left;
  justify-content: flex-start;
  width: 100%;
  padding: 12px 10px;
  gap: 14px;
  border: 0;
  border-bottom: 1px solid var(--ps-line);
  border-radius: 0;
  background: transparent;
  color: var(--ps-text);
  position: relative;
}
.ps-app .ps-k-row[data-selected="true"] {
  background: #347cf10d;
  border-radius: 4px;
}
.ps-k-row[data-selected="true"]:before {
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  bottom: 12px;
  width: 3px;
  background: #347cf1;
  border-radius: 2px;
}
.ps-k-icon {
  display: grid;
  place-items: center;
  flex: none;
  width: 48px;
  height: 56px;
  background: #4288ff10;
  color: #347cf1;
  border-radius: 4px;
}
.ps-app .ps-k-icon svg {
  width: 25px;
  height: 25px;
}
.ps-k-icon[data-kind="方法"] {
  color: #0e9a76;
  background: #0e9a7610;
}
.ps-k-icon[data-kind="摘录"] {
  color: #8152dc;
  background: #8152dc10;
}
.ps-k-row-copy {
  min-width: 0;
  flex: 1;
  display: grid;
  gap: 4px;
}
.ps-k-row-heading {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.ps-k-select > b {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ps-k-row-domains {
  display: flex;
  align-items: center;
  gap: 4px;
  flex: none;
  max-width: 40%;
  min-width: 0;
  overflow: hidden;
}
.ps-k-row-domains .ps-k-domain-tag {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}
.ps-k-select > .ps-k-icon {
  width: 24px;
  height: 24px;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
}
.ps-app .ps-k-select > .ps-k-icon svg {
  width: 22px;
  height: 22px;
}
.ps-k-domain-tag {
  --ps-domain-ink: var(--sprout-classify-classifiedInk);
  --ps-domain-bg: var(--sprout-classify-classifiedBg);
  --ps-domain-hover-bg: var(--sprout-classify-classifiedHoverBg);
  display: inline-block;
  max-width: 100%;
  padding: 0 5px;
  border-radius: 3px;
  background: var(--ps-domain-bg);
  color: var(--ps-domain-ink);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.ps-k-domain-tag[data-classified="false"] {
  --ps-domain-ink: var(--sprout-classify-unclassifiedInk);
  --ps-domain-bg: var(--sprout-classify-unclassifiedBg);
  --ps-domain-hover-bg: var(--sprout-classify-unclassifiedHoverBg);
}
.ps-app button.ps-k-select {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  font: inherit;
}
.ps-app button.ps-k-domain-tag {
  flex: none;
  max-width: 40%;
  padding: 2px 5px;
  border: 0;
  border-radius: 4px;
  background: var(--ps-domain-bg);
  color: var(--ps-domain-ink);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.6;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ps-app button.ps-k-domain-tag:hover {
  color: var(--ps-domain-ink);
  background: var(--ps-domain-hover-bg);
}
.ps-app button.ps-k-domain-tag:focus-visible {
  outline: 2px solid #347cf1;
  outline-offset: 2px;
}
#ps-dialog.ps-classify-dialog .ps-form-body {
  gap: var(--sprout-classify-bodyGap);
  font-size: var(--sprout-classify-optionSize);
  line-height: var(--sprout-classify-optionLine);
}
#ps-dialog.ps-classify-dialog .ps-form-body > p {
  margin: 0;
  overflow-wrap: anywhere;
}
#ps-dialog .ps-classify-options {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--sprout-classify-rowGap) var(--sprout-classify-columnGap);
}
#ps-dialog .ps-classify-options.ps-classify-two-columns {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
#ps-dialog .ps-classify-options label {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  min-height: var(--sprout-classify-optionMinHeight);
  font-size: var(--sprout-classify-optionSize);
  line-height: var(--sprout-classify-optionLine);
  cursor: pointer;
}
#ps-dialog .ps-classify-options label span {
  min-width: 0;
  overflow-wrap: anywhere;
}
#ps-dialog .ps-classify-options input[type="checkbox"] {
  width: var(--sprout-classify-checkSize);
  height: var(--sprout-classify-checkSize);
  padding: 0;
  margin: 0;
  flex: none;
  accent-color: #347cf1;
}
@media (max-width: 560px) {
  #ps-dialog .ps-classify-options.ps-classify-two-columns {
    grid-template-columns: minmax(0, 1fr);
  }
}
.ps-k-row-copy b {
  font-size: 14px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.ps-k-excerpt {
  font-size: 12px;
  color: var(--ps-muted);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}
.ps-k-row-copy small,
.ps-k-row-meta > small {
  color: var(--ps-muted);
  font-size: 11px;
}
.ps-k-row-meta {
  display: grid;
  gap: 5px;
  justify-items: end;
  flex: none;
  max-width: 30%;
}
.ps-k-detail {
  padding: 18px;
  position: relative;
}
.ps-k-detail-label {
  display: flex;
  justify-content: space-between;
  font-weight: 600;
  margin-bottom: 18px;
}
.ps-k-detail-label > span {
  font-weight: 400;
  font-size: 12px;
  color: var(--ps-muted);
}
.ps-k-title {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}
.ps-k-title > div {
  min-width: 0;
}
.ps-k-title h2 {
  font-size: 18px;
  margin: 0 0 8px;
  overflow-wrap: anywhere;
}
.ps-k-tags,
.ps-k-related {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.ps-k-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0 22px;
}
.ps-k-detail h3 {
  font-size: 14px;
  margin: 22px 0 9px;
}
.ps-k-detail h3 small {
  font-weight: 400;
  color: var(--ps-muted);
  margin-left: 6px;
}
.ps-k-detail .ps-prose {
  font-size: 13px;
  line-height: 1.9;
  overflow-wrap: anywhere;
}
.ps-k-source {
  display: flex;
  gap: 9px;
  align-items: center;
  padding: 10px 0;
  border-top: 1px solid var(--ps-line);
}
.ps-k-source .ps-k-icon {
  width: 32px;
  height: 38px;
}
.ps-k-source .ps-k-icon svg {
  width: 20px;
  height: 20px;
}
.ps-k-source > div {
  flex: 1;
  min-width: 0;
}
.ps-k-source b {
  display: block;
  font-size: 12px;
  overflow-wrap: anywhere;
}
.ps-k-source small {
  display: block;
  color: var(--ps-muted);
  font-size: 11px;
}
.ps-k-detail footer {
  margin-top: 24px;
  padding-top: 14px;
  border-top: 1px solid var(--ps-line);
  font-size: 11px;
  color: var(--ps-muted);
}
.ps-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
@media (max-width: 1150px) {
  .ps-k-layout {
    grid-template-columns: minmax(0, 1.1fr) minmax(290px, 1fr);
  }
  .ps-k-row-meta {
    display: none;
  }
  .ps-k-top .ps-search {
    min-width: 160px;
  }
  .ps-k-tools .ps-k-count {
    margin-left: 0;
    margin-right: auto;
  }
  .ps-k-top > div p {
    display: none;
  }
}
@media (max-width: 850px) {
  .ps-k-top {
    flex-wrap: wrap;
  }
  .ps-k-top > div {
    width: 100%;
  }
  .ps-k-top .ps-search {
    flex: 1;
  }
  .ps-k-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .ps-k-detail {
    position: static;
  }
  .ps-k-list {
    max-height: 420px;
    overflow: auto;
  }
  .ps-k-tools {
    position: sticky;
    top: -12px;
    background: var(--ps-paper);
    z-index: 2;
  }
  .ps-k-detail h3 {
    margin-top: 18px;
  }
  .ps-k-top h1 {
    font-size: 22px;
  }
  .ps-k-title h2 {
    font-size: 17px;
  }
}
@media (max-width: 550px) {
  .ps-k-top {
    gap: 8px;
    margin-bottom: 12px;
  }
  .ps-k-top .ps-search {
    min-width: 0;
    width: auto;
    padding: 7px 8px;
  }
  .ps-k-top .ps-search input {
    font-size: 12px;
  }
  .ps-k-row-copy b {
    font-size: 13px;
  }
  .ps-app .ps-k-row {
    gap: 10px;
    padding: 10px 8px;
  }
  .ps-k-icon {
    width: 36px;
    height: 44px;
  }
  .ps-k-detail {
    padding: 14px;
  }
  .ps-k-tools {
    gap: 5px;
  }
  .ps-k-tools .ps-k-count {
    width: 100%;
    order: 1;
  }
  .ps-app .ps-k-tools button {
    font-size: 12px;
    padding: 5px 7px;
  }
  .ps-k-source {
    flex-wrap: wrap;
  }
  .ps-k-source > div {
    min-width: 150px;
  }
}

.ps-app :is(.ps-k-top, .ps-k-tools, .ps-k-detail) button.ps-primary {
  background: #347cf1 !important;
  color: #fff !important;
  border-color: #347cf1 !important;
}

/* Keep the primary reading action beside the document title. */
.ps-k-title:has(> .ps-k-document-heading) {
  align-items: center;
  gap: 10px;
}
.ps-k-title:has(> .ps-k-document-heading) > .ps-k-icon {
  width: 24px;
  height: 24px;
  background: transparent;
  box-shadow: none;
  filter: none;
  border-radius: 0;
}
.ps-app .ps-k-title:has(> .ps-k-document-heading) > .ps-k-icon svg {
  width: 22px;
  height: 22px;
}
.ps-k-document-heading {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: nowrap;
  flex: 1;
  min-width: 0;
}
.ps-k-title .ps-k-document-heading h2 {
  margin: 0;
  flex: 0 1 auto;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  overflow-wrap: normal;
}
.ps-k-document-heading > button {
  flex: none;
  white-space: nowrap;
}

/* Quote punctuation replaces the disclosure marker; native keyboard behavior stays. */
.ps-k-detail .ps-k-side-entry[data-quote] > summary {
  list-style: none;
}
.ps-k-detail .ps-k-side-entry[data-quote] > summary::marker {
  content: "";
}
.ps-k-detail .ps-k-side-entry[data-quote] > summary::-webkit-details-marker {
  display: none;
}
.ps-k-quote-mark {
  color: #347cf1;
  font-weight: 500;
}

/* Compact reading collections: two quote entries and two term rows by default. */
.ps-k-section-mark {
  color: #347cf1;
  font-weight: 800;
  margin-left: 0;
  margin-right: 5px;
}
.ps-k-detail .ps-k-compact-entry {
  border: 0;
  padding: 5px 0;
  min-width: 0;
}
.ps-app
  .ps-k-detail
  .ps-k-side-collection
  .ps-k-compact-entry
  button.ps-k-entry-link {
  display: var(--ps-entry-display, block) !important;
  width: 100% !important;
  padding: 0 !important;
  min-height: 28px !important;
  text-align: left !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ps-text) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  overflow-wrap: anywhere;
}
.ps-app
  .ps-k-detail
  .ps-k-side-collection
  .ps-k-compact-entry
  button.ps-k-entry-link:hover {
  color: #347cf1 !important;
  background: transparent;
}
.ps-app .ps-k-detail button.ps-k-entry-link:focus-visible {
  outline: 2px solid #347cf1;
  outline-offset: 2px;
}
.ps-k-detail .ps-k-terms .ps-k-entry-link {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ps-k-detail .ps-k-terms .ps-k-collection-more[open] .ps-k-entry-link {
  white-space: normal;
}
.ps-k-collection-more > summary {
  cursor: pointer;
  list-style: none;
  color: #347cf1;
  font-size: 12px;
  line-height: 28px;
  width: max-content;
}
.ps-k-collection-more > summary::marker {
  content: "";
}
.ps-k-collection-more > summary::-webkit-details-marker {
  display: none;
}
.ps-k-collection-more > summary:focus-visible {
  outline: 2px solid #347cf1;
  outline-offset: 2px;
}
.ps-k-less-label,
.ps-k-collection-more[open] > summary .ps-k-more-label {
  display: none;
}
.ps-k-collection-more[open] > summary .ps-k-less-label {
  display: inline;
}

.ps-k-quotes .ps-k-entry-link {
  --ps-entry-display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  max-height: 3.4em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
}

/* Clean quotations: blue corner marks, unfilled reading surface. */
.ps-k-detail .ps-k-quotes .ps-k-compact-entry[data-quote] {
  background: transparent;
  padding: 5px 0;
  margin-bottom: 6px;
  border-radius: 0;
}

/* Dense term tags: fill each row before wrapping, with restrained blue/gray fills. */
.ps-k-term-cloud {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 6px;
  position: relative;
}
.ps-k-detail .ps-k-term-cloud .ps-k-compact-entry {
  flex: 0 0 auto;
  max-width: 100%;
  padding: 0;
  min-width: 0;
}
.ps-k-term-cloud .ps-k-compact-entry[hidden] {
  display: none !important;
}
.ps-app
  .ps-k-detail
  .ps-k-terms
  .ps-k-term-cloud
  .ps-k-compact-entry
  button.ps-k-entry-link {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  min-height: 28px !important;
  padding: 3px 9px !important;
  border-radius: 3px !important;
  background: #edf4ff !important;
  color: #416793 !important;
  line-height: 22px !important;
  white-space: nowrap !important;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ps-app
  .ps-k-detail
  .ps-k-terms
  .ps-k-term-cloud
  .ps-k-compact-entry:nth-child(even)
  button.ps-k-entry-link {
  background: #f1f3f5 !important;
  color: #596573 !important;
}
.ps-app
  .ps-k-detail
  .ps-k-terms
  .ps-k-term-cloud
  .ps-k-compact-entry
  button.ps-k-entry-link:hover {
  background: #deebff !important;
  color: #245caa !important;
}
.ps-app .ps-k-detail .ps-k-terms button.ps-k-term-more {
  display: block;
  border: 0;
  background: transparent;
  color: #347cf1;
  padding: 4px 0;
  min-height: 28px;
  font-size: 12px;
}
.ps-app .ps-k-detail .ps-k-terms button.ps-k-term-more[hidden] {
  display: none !important;
}
body.dark
  .ps-app
  .ps-k-detail
  .ps-k-terms
  .ps-k-term-cloud
  .ps-k-compact-entry
  button.ps-k-entry-link {
  background: #24374d !important;
  color: #b5cff0 !important;
}
body.dark
  .ps-app
  .ps-k-detail
  .ps-k-terms
  .ps-k-term-cloud
  .ps-k-compact-entry:nth-child(even)
  button.ps-k-entry-link {
  background: #30363f !important;
  color: #c1c9d3 !important;
}

/* Desktop workspaces own their scroll areas; focus must not scroll the shell under the fixed header. */
@media (min-width: 1051px) {
  .ps-app.ps-workspace-mode {
    position: fixed;
    inset: var(--studio-nav-height, 70px) 0 0;
    z-index: 1;
  }
}

/* Article selection and actions are sibling buttons, never nested controls. */
.ps-k-entry {
  display: flex;
  align-items: stretch;
  border-bottom: 1px solid var(--ps-line);
}
.ps-k-entry > .ps-k-row {
  flex: 1;
  min-width: 0;
  border-bottom: 0;
}
.ps-k-entry:has(> .ps-k-row[data-selected="true"]) {
  background: #347cf10d;
  border-radius: 4px;
}
.ps-k-entry > .ps-k-row[data-selected="true"] {
  background: transparent;
}
.ps-k-row-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: none;
  padding: 8px 10px 8px 0;
}
.ps-k-row-actions button {
  white-space: nowrap;
}
.ps-app button.ps-delete-article,
#ps-dialog button.ps-delete-article {
  color: #b42318;
  background: transparent;
  border: 1px solid currentColor;
}
#ps-dialog .ps-delete-article:disabled {
  opacity: 0.6;
}
@media (max-width: 700px) {
  .ps-k-entry {
    flex-wrap: wrap;
  }
  .ps-k-entry > .ps-k-row {
    flex-basis: 100%;
  }
  .ps-k-row-actions {
    padding: 0 10px 10px 58px;
  }
}

.ws-research-layout {
  display: grid;
  grid-template-columns: 208px minmax(0, 1fr);
  flex: 1;
  min-height: 0;
  min-width: 0;
}
.ws-research {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  border-right: 1px solid var(--ps-line);
  background: var(--ws-chat-bg);
}
.ws-research-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 12px;
  min-height: 52px;
  flex: none;
}
.ws-research-header h2 {
  margin: 0;
  font-size: var(--ws-title);
  line-height: 24px;
  font-weight: 400;
  color: var(--ps-text);
}
.ps-app .ws-research-list {
  display: block;
  padding: 12px 0;
  border-top: 1px solid var(--ps-line);
  margin: 4px 10px 0;
}
.ps-app.ps-workspace-mode .ws-research-list button {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 4px;
  text-align: left;
  width: 100%;
  height: auto;
  flex: none;
  min-height: 60px;
  padding: 9px 8px;
  margin-bottom: 3px;
}
.ws-research-topic b {
  font-size: var(--ws-label);
  font-weight: 400;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  overflow-wrap: anywhere;
}
.ws-research-topic small {
  font-size: var(--ws-small);
  color: var(--ps-muted);
  font-weight: 400;
}
.ps-app.ps-workspace-mode .ws-research-topic[aria-current="true"] {
  color: #347cf1;
  background: #347cf112;
}
.ws-research-main {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}
@media (max-width: 1050px) {
  .ws-research-layout {
    grid-template-columns: 180px minmax(0, 1fr);
  }
}
@media (max-width: 600px) {
  .ws-research-layout {
    grid-template-columns: 140px minmax(0, 1fr);
  }
  .ws-research-header {
    padding: 8px;
    gap: 2px;
  }
  .ws-research > .ws-domain-picker {
    padding: 0 8px 8px;
  }
  .ws-research-list {
    padding: 0 4px 8px;
  }
}

/* Shared teacher scene stays compact above the conversation, across both themes. */
.ws-teacher {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 20px;
  border-bottom: 1px solid var(--ps-line);
  flex: none;
  min-width: 0;
  color: var(--ps-text);
}
.ws-teacher-avatar {
  position: relative;
  width: 208px;
  aspect-ratio: 16/9;
  flex: none;
  overflow: hidden;
  border-radius: 4px;
  background: var(--ps-paper);
}
.ws-teacher-avatar img,
.ws-teacher-avatar canvas {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.ws-teacher-avatar [data-chat-teacher-canvas] {
  position: absolute;
  inset: 0;
}
.ws-teacher-controls {
  display: grid;
  gap: 6px;
  min-width: 0;
  font-size: var(--ws-label);
  line-height: 1.5;
}
.ws-teacher-controls > div {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.ws-teacher-controls label {
  font-size: var(--ws-small);
  color: var(--ps-muted);
}
.ps-app .ws-teacher-controls select {
  height: 32px;
  max-width: 128px;
  border: 1px solid var(--ps-line);
  border-radius: 4px;
  background: var(--ps-paper);
  color: var(--ps-text);
  font: inherit;
}
.ws-teacher-controls p {
  margin: 0;
  font-size: var(--ws-small);
  color: var(--ps-muted);
}
@media (max-width: 1200px) {
  .ws-teacher-avatar {
    width: 144px;
  }
  .ws-teacher {
    padding: 8px 12px;
  }
  .ws-teacher-controls label {
    display: none;
  }
}
@media (max-width: 700px) {
  .ws-teacher-avatar {
    width: 104px;
  }
  .ws-teacher {
    gap: 8px;
  }
  .ws-teacher-controls {
    gap: 3px;
  }
}
/* Private study compact layout */
@media (min-width: 851px) {
  body.private-view #private-study-root > .ps-app:not(.ps-workspace-mode),
  body.private-view
    #private-study-root
    > .ps-app.ps-workspace-mode[data-ws-nav-open="true"] {
    grid-template-columns: 160px minmax(0, 1fr);
  }
  body.studio-page.private-view:not(.children-view)
    #private-study-root
    > .ps-app
    > main.ps-content:not(:has(.ws-research-layout)) {
    padding-left: 12px;
    padding-right: 12px;
  }
  body.studio-page.private-view:not(.children-view)
    #private-study-root
    > .ps-app
    > main.ps-content:has(> .ps-k-category-bar),
  body.studio-page.private-view:not(.children-view)
    #private-study-root
    > .ps-app.ps-workspace-mode
    > main.ps-content {
    padding-top: 0;
  }
  .ps-app > main.ps-content > .ps-k-category-bar {
    margin-left: -12px;
    margin-right: -12px;
    width: auto;
  }
  .ps-app > main.ps-content > :is(.ps-k-layout) {
    gap: 10px;
  }
  .ps-app.ps-workspace-mode .ws-research-header {
    height: 36px;
    min-height: 36px;
    padding: 2px 12px;
    box-sizing: border-box;
  }
  body.studio-page.private-view:not(.children-view)
    #private-study-root
    > .ps-app
    > main.ps-content:has(> .ps-filter-row [data-ps-new="projects"]) {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    align-content: start;
    align-items: start;
    column-gap: 10px;
  }
  body.studio-page.private-view:not(.children-view)
    #private-study-root
    > .ps-app
    > main.ps-content:has(> .ps-filter-row [data-ps-new="projects"])
    > .ps-page-header {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    width: min(420px, 100%);
    min-height: 36px;
    margin-bottom: 10px;
  }
  body.studio-page.private-view:not(.children-view)
    #private-study-root
    > .ps-app
    > main.ps-content:has(> .ps-filter-row [data-ps-new="projects"])
    > .ps-page-header
    > div {
    display: none;
  }
  .ps-app
    > main.ps-content:has(> .ps-filter-row [data-ps-new="projects"])
    > .ps-page-header
    > .ps-search {
    width: 100%;
    min-width: 0;
  }
  .ps-app
    > main.ps-content:has(> .ps-filter-row [data-ps-new="projects"])
    > .ps-filter-row {
    grid-column: 1;
    grid-row: 1;
    margin-bottom: 10px;
    min-height: 36px;
    gap: 10px;
  }
  .ps-app
    > main.ps-content:has(> .ps-filter-row [data-ps-new="projects"])
    > .ps-detail-layout {
    grid-column: 1/-1;
    grid-row: 2;
  }
}
/* Knowledge workspace with modest breathing room. */
.ps-app.ps-knowledge-mode {
  background: var(--ps-paper);
}
body.studio-page.private-view:not(.children-view)
  #private-study-root
  > .ps-app.ps-knowledge-mode
  > main.ps-content {
  padding: 0 8px 8px 0;
}
.ps-app.ps-knowledge-mode .ps-k-layout {
  gap: 8px;
  padding-top: 8px;
}
.ps-app .ps-k-layout > :is(.ps-k-list, .ps-k-detail) {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 12px;
}
.ps-app .ps-k-layout > .ps-k-detail {
  border-left: 1px solid var(--ps-line);
}
.ps-app .ps-k-list .ps-k-row {
  border-radius: 0;
}
/* End private study compact layout */

/* 加载态整屏垂直居中：撑满内容区可视高度（导航 70 + 内边距 62 + 外边距 16 ≈ 148） */
.ps-app .ps-content > .ps-empty {
  min-height: calc(100dvh - var(--studio-nav-height, 70px) - 150px);
}


/* 领域分类数量角标：全部 + 各领域右侧显示资料数（2026-11-02） */
body.studio-page .ps-app .ps-k-categories [data-ps-domain],
body.studio-page .ps-app .ps-k-categories > [data-ps-clear-domain] {
  display: flex;
  align-items: center;
}
body.studio-page .ps-app .ps-k-categories .ps-domain-count {
  margin-left: 6px;
  flex: none;
  color: var(--ps-muted);
  font-size: 12px;
  font-weight: 400;
  font-variant-numeric: tabular-nums;
}
body.studio-page .ps-app .ps-k-categories button[aria-pressed="true"] .ps-domain-count {
  color: var(--ps-tab-active);
}

/* 勾选资料后拖到项目关联（2026-11-02） */
.ps-k-project-drops {display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:6px 10px;margin:0 0 6px;background:var(--ps-paper);border:1px dashed var(--ps-line);border-radius:6px}
.ps-k-project-drops[hidden] {display:none}
.ps-k-project-drops-label {color:var(--ps-muted);font-size:var(--ps-meta-size,12px);flex:none}
.ps-k-project-drops-empty {color:var(--ps-muted);font-size:var(--ps-meta-size,12px)}
.ps-k-project-drop {border:1px solid var(--ps-line);border-radius:4px;background:var(--ps-paper);color:var(--ps-text);padding:3px 10px;font-size:13px;cursor:default}
.ps-k-project-drop.is-drop-hover {background:var(--ps-chip-selected,#eef5ff);border-color:var(--ps-tab-active,#2167dd);color:var(--ps-tab-active,#2167dd)}
.ps-k-entry[draggable="true"] {cursor:grab}
.ps-k-entry.ps-k-dragging {opacity:0.55;outline:2px dashed var(--ps-tab-active,#2167dd);outline-offset:2px}

/* 领域管理页（2026-11-02） */
.ps-manage {max-width:920px}
.ps-manage-header {margin-bottom:12px;gap:10px}
.ps-manage-header .ps-manage-actions {display:flex;gap:6px;align-items:center}
.ps-manage-dupes {border:1px dashed var(--ps-line);border-radius:6px;padding:10px 12px;margin-bottom:12px;background:var(--ps-paper)}
.ps-manage-dupes h3 {margin:0 0 2px;font-size:var(--sprout-font-section-title-size,15px);font-weight:400;color:var(--ps-text)}
.ps-manage-dupe {display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 0;border-top:1px solid var(--ps-line);font-size:13px;color:var(--ps-text)}
.ps-manage-vs {color:var(--ps-muted);font-size:12px}
.ps-manage .ps-table td.ps-manage-count {font-variant-numeric:tabular-nums;font-weight:600}
.ps-manage .ps-table td small {display:block;color:var(--ps-muted);margin-top:2px}
.ps-manage .ps-table td button {margin-right:4px}

/* 详情空态提示与行内动作字号收敛：生成摘要 / 暂无摘要 / 暂无配图（2026-11-02） */
.ps-app.ps-knowledge-mode .ps-k-summary-empty {font-size:12px}
.ps-app.ps-knowledge-mode .ps-k-inline-action {font-size:12px;min-height:22px;padding:0 4px}
.ps-app.ps-knowledge-mode .ps-document-images .ps-muted {font-size:12px}

/* 资料行可拖：仅左侧文件图标显示抓手光标（2026-11-02 v3） */
.ps-app.ps-knowledge-mode .ps-k-entry[data-ps-drag-file] .ps-k-icon {cursor:grab}
/* 拖资料到左侧领域分类：目标高亮 */
body.studio-page .ps-app .ps-k-categories [data-ps-domain].ps-domain-drop-hover {outline:2px dashed var(--ps-tab-active,#2167dd);outline-offset:2px}

/* 资料行领域标签点出的就地下拉菜单（2026-11-02） */
.ps-domain-tag-menu {position:absolute;z-index:320;min-width:170px;max-width:260px;max-height:340px;overflow:auto;margin:0;padding:4px;display:flex;flex-direction:column;gap:1px;background:var(--ps-paper,#fff);border:1px solid var(--ps-line,#dfe4ec);border-radius:8px;box-shadow:0 10px 28px rgba(23,32,51,.18)}
.ps-domain-tag-menu button {display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;border:0;border-radius:6px;background:none;color:var(--ps-text,#172033);font:inherit;font-size:13px;text-align:left;cursor:pointer}
.ps-domain-tag-menu button:hover {background:var(--ps-chip-selected,#eef5ff)}
.ps-domain-tag-menu button[aria-checked="true"] {color:var(--ps-tab-active,#2167dd);font-weight:600}
.ps-domain-tag-menu button span:first-child {overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Toasts pin to the bottom center in pink; click anywhere on them to dismiss. */
#ps-app.ps-app .ps-message,
#ps-app.ps-app .ps-error {
 position: fixed !important;
 bottom: 28px !important;
 left: 50% !important;
 top: auto !important;
 transform: translateX(-50%) !important;
 max-width: min(76vw, 560px) !important;
 margin: 0 !important;
 z-index: 80 !important;
 box-sizing: border-box;
 text-align: center;
 cursor: pointer;
 border-radius: 10px !important;
 padding: 10px 18px !important;
 background: #fdeaf1 !important;
 border: 1.5px solid #ef8fa8 !important;
 color: #b83b64 !important;
 box-shadow: 0 6px 24px rgba(184, 59, 100, .18) !important;
}
#ps-app.ps-app .ps-message a,
#ps-app.ps-app .ps-error a { color: #a02f56; }
