/* Desktop visual refinement for the observed compact Ysz layout.
   Load after client.css. No markup, controls, or mobile rules are introduced.
   Keep the existing 273px sidebar, 61px headers, 70px tabs and 178px composer. */
@media (min-width: 681px) {
  body:has(.pc-layout) {
    --pc-paper: #ffffff;
    --pc-canvas: #f7f8fa;
    --pc-line: #e7ebef;
    --pc-text: #26313d;
    --pc-muted: #8b96a2;
    --pc-hover: #f3f6f8;
    --pc-selected: #eaf0f5;
    --pc-accent: #39acec;
    --pc-menu-shadow: 0 6px 22px #172b4021;
  }
  body.night-mode:has(.pc-layout) {
    --pc-paper: #212d39;
    --pc-canvas: #18232e;
    --pc-line: #344453;
    --pc-text: #e5edf3;
    --pc-muted: #a0aebd;
    --pc-hover: #2b3b4a;
    --pc-selected: #344b60;
    --pc-accent: #73c6f0;
    --pc-menu-shadow: 0 6px 22px #00000040;
  }
  .pc-layout {
    font-family: "Segoe UI", "Microsoft YaHei", sans-serif;
    color: var(--pc-text);
  }
  .pc-layout .workspace,
  .pc-layout .left-pane,
  .pc-layout .pc-left-header,
  .pc-layout .pc-tabs,
  .pc-layout .chat-header,
  .pc-layout .composer,
  .pc-layout .composer-toolbar {
    background: var(--pc-paper);
    border-color: var(--pc-line);
  }
  .pc-layout .main-pane,
  .pc-layout .message-scroller {
    background: var(--pc-canvas);
  }
  .pc-layout .left-pane {
    box-shadow: 1px 0 0 #182b3c02;
  }
  .pc-layout .pc-left-header .searchbox {
    border: 1px solid transparent;
    border-radius: 6px;
    background: var(--pc-hover);
    color: var(--pc-muted);
    transition: border-color 120ms, box-shadow 120ms;
  }
  .pc-layout .pc-left-header .searchbox:focus-within {
    border-color: var(--pc-accent);
    box-shadow: 0 0 0 2px #39acec14;
  }
  .pc-layout .pc-left-header .searchbox input {
    color: var(--pc-text);
    outline: none;
  }
  .pc-layout .pc-left-header .searchbox input::placeholder {
    color: var(--pc-muted);
  }
  .pc-layout .pc-left-header .icon-btn {
    border-radius: 6px;
    color: var(--pc-muted);
  }
  .pc-layout .pc-left-header .icon-btn:hover,
  .pc-layout .composer-tools .icon-btn:not(:disabled):hover,
  .pc-layout .pc-extra-toggle:not(:disabled):hover {
    color: var(--pc-accent);
    background: var(--pc-hover);
  }
  .pc-layout .pc-tab {
    color: var(--pc-muted);
  }
  .pc-layout .pc-tab .tab-label {
    color: var(--pc-muted);
    letter-spacing: .1px;
  }
  .pc-layout .pc-tab:hover {
    background: var(--pc-hover);
  }
  .pc-layout .pc-tab.active .icon {
    color: var(--pc-accent);
  }
  .pc-layout .pc-tab.active .tab-label {
    color: var(--pc-text);
    font-weight: 500;
  }
  .pc-layout .conversation {
    border-bottom-color: transparent;
  }
  .pc-layout .conversation:hover {
    background: var(--pc-hover);
  }
  .pc-layout .conversation.active {
    background: var(--pc-selected);
    border-color: transparent;
    box-shadow: inset 3px 0 0 var(--pc-accent);
  }
  .pc-layout .conversation .avatar {
    border-radius: 9px;
    box-shadow: inset 0 0 0 1px #1c39570c;
  }
  .pc-layout .conv-title {
    color: var(--pc-text);
    font-weight: 500;
  }
  .pc-layout .conv-preview,
  .pc-layout .conv-time {
    color: var(--pc-muted);
  }
  .pc-layout .conversation.active .conv-preview {
    color: #788795;
  }
  body.night-mode .pc-layout .conversation.active .conv-preview {
    color: #b4c5d4;
  }
  .pc-layout .unread-badge {
    background: #f36568;
    font-weight: 500;
    box-shadow: 0 0 0 2px var(--pc-paper);
  }
  .pc-layout .conversation.active .unread-badge {
    box-shadow: 0 0 0 2px var(--pc-selected);
  }
  .pc-layout .chat-title {
    color: var(--pc-text);
    font-weight: 500;
  }
  .pc-layout .chat-subtitle {
    color: var(--pc-muted);
    font-size: 11px;
  }
  .pc-layout .chat-actions {
    gap: 10px;
  }
  .pc-layout .chat-actions .icon-btn {
    background: var(--pc-hover);
    color: var(--pc-muted);
    border: 1px solid var(--pc-line);
  }
  .pc-layout .chat-actions .icon-btn:not(:disabled):hover {
    color: var(--pc-accent);
    border-color: #39acec55;
    background: var(--pc-hover);
  }
  .pc-layout .message-scroller {
    padding-top: 12px;
    scrollbar-color: #bfc8d2 transparent;
  }
  .pc-layout .message-list {
    gap: 20px;
  }
  .pc-layout .message-body {
    max-width: min(calc(100% - 49px), 640px);
  }
  .pc-layout .message-row .small-avatar {
    box-shadow: inset 0 0 0 1px #23405910;
  }
  .pc-layout .bubble:not(.image-bubble):not(.redpacket-bubble) {
    border: 1px solid #263d5510;
    box-shadow: 0 1px 2px #263d5505;
    border-radius: 8px;
  }
  .pc-layout .bubble.text-bubble {
    padding-left: 12px;
    padding-right: 12px;
  }
  .pc-layout .outgoing .bubble:not(.image-bubble):not(.redpacket-bubble) {
    border-color: transparent;
  }
  .pc-layout .message-sender {
    padding-left: 1px;
    color: var(--pc-muted);
    line-height: 16px;
  }
  .pc-layout .pc-bubble-time {
    font-variant-numeric: tabular-nums;
  }
  .pc-layout .date-separator {
    align-self: center;
    padding: 4px 11px;
    border-radius: 12px;
    color: var(--pc-muted);
    background: #7384970c;
    font-size: 10px;
    line-height: 15px;
  }
  .pc-layout .message-actions {
    gap: 5px;
  }
  .pc-layout .message-actions button {
    padding: 3px 7px;
    line-height: 17px;
    background: var(--pc-paper);
    color: var(--pc-muted);
    border: 1px solid var(--pc-line);
  }
  .pc-layout .message-actions button:hover {
    color: var(--pc-accent);
    border-color: #39acec55;
  }
  .pc-layout .file-icon {
    border: 1px solid var(--pc-line);
    background: var(--pc-hover);
    color: var(--pc-accent);
  }
  .pc-layout .message-file small {
    color: var(--pc-muted);
  }
  .pc-layout .history-more button,
  .pc-layout .history-latest button {
    color: var(--pc-muted);
    padding: 5px 10px;
    border-radius: 5px;
    line-height: 18px;
  }
  .pc-layout .history-more button:hover,
  .pc-layout .history-latest button:hover {
    background: var(--pc-paper);
    color: var(--pc-accent);
  }
  .pc-layout .composer {
    box-shadow: 0 -1px 0 var(--pc-line);
  }
  .pc-layout .composer-tools .icon-btn,
  .pc-layout .pc-extra-toggle {
    border-radius: 5px;
    color: #78828d;
  }
  body.night-mode .pc-layout .composer-tools .icon-btn,
  body.night-mode .pc-layout .pc-extra-toggle {
    color: var(--pc-muted);
  }
  .pc-layout .composer textarea {
    color: var(--pc-text);
    background: var(--pc-paper);
    caret-color: var(--pc-accent);
    line-height: 21px;
  }
  .pc-layout .send-button {
    color: var(--pc-text);
    background: var(--pc-paper);
    border-color: #9ba9b6;
    border-radius: 5px;
  }
  .pc-layout .send-button:not(:disabled):hover {
    color: #238ac5;
    border-color: var(--pc-accent);
    background: var(--pc-hover);
  }
  .pc-layout .send-button:disabled {
    opacity: .45;
  }
  .pc-layout .quote-preview,
  .pc-layout .edit-preview {
    background: var(--pc-hover);
    border-color: var(--pc-line);
    color: var(--pc-muted);
  }
  .pc-layout .pinned-message {
    background: var(--pc-paper);
    border-bottom-color: var(--pc-line);
    border-left-color: var(--pc-accent);
  }
  .pc-layout .pc-menu,
  .pc-layout .pc-extra-menu,
  body:has(.pc-layout) .message-context-menu,
  body:has(.pc-layout) .ca-menu {
    padding: 5px 0;
    border: 1px solid var(--pc-line);
    border-radius: 5px;
    background: var(--pc-paper);
    color: var(--pc-text);
    box-shadow: var(--pc-menu-shadow);
  }
  .pc-layout .pc-menu button,
  .pc-layout .pc-extra-menu button,
  body:has(.pc-layout) .message-context-menu button,
  body:has(.pc-layout) .ca-menu button {
    min-height: 35px;
    font-size: 12px;
    line-height: 19px;
  }
  .pc-layout .pc-menu button:not(:disabled):hover,
  .pc-layout .pc-extra-menu button:not(:disabled):hover,
  body:has(.pc-layout) .message-context-menu button:not(:disabled):hover,
  body:has(.pc-layout) .ca-menu button:not(:disabled):hover {
    background: var(--pc-hover);
    color: var(--pc-accent);
  }
  .pc-layout .pc-drawer {
    background: var(--pc-paper);
    border-right: 1px solid var(--pc-line);
    box-shadow: 5px 0 24px #0f263e26;
  }
  .pc-layout .pc-drawer-profile {
    box-shadow: inset 0 -1px 0 #ffffff1f;
  }
  .pc-layout .pc-drawer-profile .avatar {
    box-shadow: 0 1px 7px #21394b24, 0 0 0 1px #ffffff48;
  }
  .pc-layout .pc-drawer-name,
  .pc-layout .pc-drawer-username {
    max-width: 110px;
  }
  .pc-layout .pc-drawer-actions {
    gap: 5px;
    right: 12px;
  }
  .pc-layout .pc-drawer-list {
    padding-top: 8px;
  }
  .pc-layout .pc-drawer-row {
    color: var(--pc-text);
  }
  .pc-layout .pc-drawer-row > .icon,
  .pc-layout .pc-drawer-row > svg {
    color: var(--pc-muted);
  }
  .pc-layout .pc-drawer-row:not(:disabled):hover,
  .pc-layout .pc-drawer-row.active {
    background: var(--pc-hover);
    color: var(--pc-accent);
  }
  .pc-layout .pc-drawer-row:hover > .icon,
  .pc-layout .pc-drawer-row.active > .icon {
    color: var(--pc-accent);
  }
  .pc-layout .pc-drawer-footer {
    padding-top: 7px;
    border-top: 1px solid var(--pc-line);
    background: var(--pc-paper);
  }
  .pc-layout .pc-drawer-version {
    color: var(--pc-muted);
    font-size: 11px;
    line-height: 20px;
  }
  .pc-layout .empty-state {
    color: var(--pc-muted);
    font-size: 13px;
    line-height: 21px;
    gap: 12px;
  }
  .pc-layout .empty-icon {
    width: 60px;
    height: 60px;
    border: 1px solid var(--pc-line);
    border-radius: 15px;
    background: var(--pc-paper);
    color: #86a4bb;
    box-shadow: 0 2px 7px #253e5705;
  }
  .pc-layout .left-content .empty-state {
    padding: 28px 20px;
  }
  .pc-layout .message-list > .empty-state {
    height: auto;
    padding: 38px 20px;
  }
  .pc-layout .empty-state .secondary {
    font-size: 12px;
    padding: 8px 13px;
    background: var(--pc-paper);
    color: #418fb9;
    border: 1px solid var(--pc-line);
  }
  .pc-settings .pc-settings-profile {
    background: var(--pc-paper);
    border-bottom: 1px solid var(--pc-line);
  }
  .pc-settings .pc-settings-section {
    background: var(--pc-paper);
    border-color: var(--pc-line);
  }
  .pc-settings .pc-settings-row {
    color: var(--pc-text);
  }
  .pc-settings .pc-settings-row:hover {
    background: var(--pc-hover);
  }
  .pc-layout button:focus-visible,
  body:has(.pc-layout) .message-context-menu button:focus-visible,
  body:has(.pc-layout) .ca-menu button:focus-visible {
    outline: 2px solid var(--pc-accent);
    outline-offset: -2px;
  }
  .pc-layout .left-content,
  .pc-layout .message-scroller,
  .pc-layout .pc-drawer-list {
    scrollbar-width: thin;
    scrollbar-color: #bdc7d1 transparent;
  }
  body.night-mode .pc-layout .left-content,
  body.night-mode .pc-layout .message-scroller,
  body.night-mode .pc-layout .pc-drawer-list {
    scrollbar-color: #526477 transparent;
  }
}
@media (min-width: 1120px) {
  .pc-layout .message-scroller {
    padding-left: 28px;
    padding-right: 28px;
  }
}
