/* Source-backed regulation and official-guide surfaces. */

.knowledge-screen {
    padding-top: 24px;
}

.knowledge-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    max-width: 1120px;
    margin: 0 auto 14px;
}

.knowledge-heading h1 {
    margin: 0;
    color: #172027;
    font-size: 25px;
    line-height: 1.25;
    letter-spacing: 0;
}

.knowledge-heading p:last-child {
    margin: 7px 0 0;
    color: #66737A;
    font-size: 13px;
}

.knowledge-count {
    min-width: 68px;
    color: #0D7377;
    font-size: 30px;
    font-weight: 700;
    text-align: right;
}

.knowledge-count-wrap {
    display: grid;
    justify-items: end;
    gap: 1px;
    color: #6B777D;
    font-size: 10px;
}

.knowledge-count-wrap .knowledge-count {
    line-height: 1;
}

.knowledge-boundary {
    max-width: 1120px;
    margin: 0 auto 16px;
    padding: 10px 12px;
    border-left: 3px solid #C7922E;
    color: #5F4A1E;
    background: #FFF8E8;
    font-size: 12px;
    line-height: 1.5;
}

.knowledge-searchbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    max-width: 1120px;
    margin: 0 auto 14px;
}

.knowledge-searchbar input {
    min-width: 0;
    height: 44px;
    padding: 0 13px;
    border: 1px solid #BCC8CD;
    border-radius: 5px;
    color: #1E2A30;
    background: #FFFFFF;
    font-size: 16px;
    outline: none;
}

.knowledge-searchbar input:focus {
    border-color: #0D7377;
    box-shadow: 0 0 0 3px rgba(13, 115, 119, 0.12);
}

.knowledge-searchbar button {
    min-width: 82px;
    border: 0;
    border-radius: 5px;
    color: #FFFFFF;
    background: #0D7377;
    font-size: 13px;
    font-weight: 700;
}

.scenario-strip {
    display: flex;
    gap: 7px;
    max-width: 1120px;
    margin: 0 auto 18px;
    padding-bottom: 4px;
    overflow-x: auto;
}

.scenario-chip {
    display: grid;
    flex: 0 0 auto;
    gap: 2px;
    min-height: 42px;
    padding: 6px 10px;
    border: 1px solid #CDD6DA;
    border-radius: 5px;
    color: #34434A;
    background: #FFFFFF;
    text-align: left;
}

.scenario-chip:hover {
    border-color: #0D7377;
    background: #F3FAFA;
}

.scenario-chip span {
    font-size: 12px;
    font-weight: 650;
}

.scenario-chip small {
    color: #7A868C;
    font-size: 9px;
}

.knowledge-results {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    max-width: 1120px;
    margin: 0 auto;
}

.knowledge-results > .empty-platform-state {
    grid-column: 1 / -1;
}

#regulationResults {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    overflow: hidden;
    border: 1px solid #D8E0E3;
    border-radius: 7px;
    background: #FFFFFF;
}

#guideResults {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    overflow: hidden;
    border: 1px solid #D8E0E3;
    border-radius: 7px;
    background: #FFFFFF;
}

.guide-list-row {
    min-width: 0;
    border-bottom: 1px solid #E4E9EB;
}

.guide-list-row:last-child {
    border-bottom: 0;
}

.guide-open {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 24px;
    width: 100%;
    min-height: 132px;
    padding: 18px 20px;
    border: 0;
    color: inherit;
    background: #FFFFFF;
    text-align: left;
    cursor: pointer;
    transition: background 140ms ease;
}

.guide-open:hover {
    background: #F7FBFB;
}

.guide-list-main {
    display: grid;
    min-width: 0;
    gap: 7px;
}

.guide-category {
    width: fit-content;
    padding: 3px 6px;
    border-radius: 3px;
    color: #14684C;
    background: #E9F6F0;
    font-size: 9px;
    font-weight: 750;
}

.guide-list-title {
    color: #1D2A30;
    font-size: 15px;
    font-weight: 720;
    line-height: 1.45;
}

.guide-official-title {
    overflow: hidden;
    color: #718087;
    font-size: 10px;
    line-height: 1.45;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.guide-list-meta {
    display: -webkit-box;
    overflow: hidden;
    color: #596870;
    font-size: 10px;
    line-height: 1.5;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.guide-list-meta span + span::before {
    content: ' · ';
    color: #A4AFB4;
}

.scenario-chip.active {
    color: #0A686C;
    border-color: #7BB9BB;
    background: #EAF7F7;
}

.regulation-filter {
    display: flex;
    gap: 2px;
    width: fit-content;
    max-width: 1120px;
    margin: 0 auto 12px;
    padding: 3px;
    border: 1px solid #D5DEE1;
    border-radius: 6px;
    background: #F3F6F7;
}

.regulation-filter button {
    min-height: 32px;
    padding: 0 13px;
    border: 0;
    border-radius: 4px;
    color: #536168;
    background: transparent;
    font-size: 11px;
    font-weight: 650;
    cursor: pointer;
}

.regulation-filter button.active {
    color: #0A686C;
    background: #FFFFFF;
    box-shadow: 0 1px 3px rgba(28, 47, 54, 0.1);
}

.regulation-filter button:focus-visible,
.regulation-open:focus-visible,
.guide-open:focus-visible,
.reader-tab:focus-visible,
.reader-close:focus-visible,
.reader-load-area button:focus-visible {
    outline: 3px solid rgba(13, 115, 119, 0.2);
    outline-offset: 1px;
}

.regulation-list-row {
    min-width: 0;
    border-bottom: 1px solid #E4E9EB;
}

.regulation-list-row:last-child {
    border-bottom: 0;
}

.regulation-open {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 24px;
    width: 100%;
    min-height: 116px;
    padding: 17px 20px;
    border: 0;
    color: inherit;
    background: #FFFFFF;
    text-align: left;
    cursor: pointer;
    transition: background 140ms ease;
}

.regulation-open:hover {
    background: #F7FBFB;
}

.regulation-list-main {
    display: grid;
    min-width: 0;
    gap: 7px;
}

.regulation-list-title {
    color: #1D2A30;
    font-size: 15px;
    font-weight: 720;
    line-height: 1.45;
}

.regulation-official-title {
    overflow: hidden;
    color: #718087;
    font-size: 10px;
    line-height: 1.45;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.regulation-list-meta,
.regulation-availability-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 12px;
}

.regulation-list-meta {
    color: #627078;
    font-size: 10px;
}

.regulation-list-meta span + span::before {
    content: '';
    display: inline-block;
    width: 3px;
    height: 3px;
    margin: 0 8px 2px 0;
    border-radius: 50%;
    background: #AEB9BD;
}

.reader-availability {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 0 7px;
    border: 1px solid #D7E0E3;
    border-radius: 4px;
    font-size: 9px;
    font-weight: 700;
}

.reader-availability.ready {
    color: #166146;
    border-color: #CBE3D7;
    background: #F0F8F4;
}

.reader-availability.ai {
    color: #165E77;
    border-color: #C9DEE7;
    background: #EFF7FA;
}

.reader-availability.pending {
    color: #7A6B52;
    border-color: #E2DACC;
    background: #F8F6F2;
}

.regulation-open-action {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #0D7377;
    font-size: 11px;
    font-weight: 750;
    white-space: nowrap;
}

.regulation-open-action b {
    font-size: 23px;
    font-weight: 400;
    line-height: 1;
}

.knowledge-card {
    min-width: 0;
    padding: 18px;
    border: 1px solid #D8E0E3;
    border-radius: 7px;
    background: #FFFFFF;
    box-shadow: 0 2px 7px rgba(27, 45, 54, 0.04);
}

.knowledge-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.knowledge-card-head > div {
    min-width: 0;
}

.knowledge-card h2 {
    margin: 7px 0 0;
    color: #202C32;
    font-size: 15px;
    line-height: 1.45;
    letter-spacing: 0;
}

.source-type,
.evidence-badge {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 0 7px;
    border-radius: 4px;
    font-size: 9px;
    font-weight: 750;
    line-height: 1.2;
}

.source-type.regulation {
    color: #15537A;
    background: #EAF4FA;
}

.source-type.guide {
    color: #14684C;
    background: #E9F6F0;
}

.evidence-badge.evidence {
    color: #5D6970;
    background: #EFF2F3;
}

.evidence-badge.limited {
    color: #6B4D16;
    background: #FFF1CD;
}

.evidence-badge.hold {
    color: #8E2723;
    background: #FCEBEA;
}

.record-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
    margin: 13px 0 0;
    color: #6C797F;
    font-size: 10px;
}

.record-meta b {
    color: #3A484F;
}

.knowledge-summary,
.official-name {
    margin: 11px 0;
    color: #536168;
    font-size: 12px;
    line-height: 1.6;
}

.official-name {
    margin: 4px 0 0;
    color: #78858B;
    font-size: 10px;
}

.evidence-grid,
.guide-overview {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    margin: 14px 0;
    padding: 1px;
    background: #E1E6E8;
}

.evidence-grid > div,
.guide-overview > div {
    min-width: 0;
    padding: 9px;
    background: #FAFBFB;
}

.evidence-grid .wide,
.guide-overview .sla {
    grid-column: 1 / -1;
}

.evidence-grid dt,
.guide-overview dt {
    margin-bottom: 4px;
    color: #7C888E;
    font-size: 9px;
    font-weight: 700;
}

.evidence-grid dd,
.guide-overview dd {
    margin: 0;
    overflow-wrap: anywhere;
    color: #344249;
    font-size: 11px;
    line-height: 1.5;
}

.guide-overview small {
    display: block;
    margin-top: 4px;
    color: #9A5C18;
    font-size: 9px;
    font-weight: 650;
}

.change-attention {
    display: grid;
    gap: 2px;
    margin: 12px 0;
    padding: 9px 10px;
    border-left: 3px solid #B6403A;
    color: #6F2D29;
    background: #FFF3F2;
    font-size: 10px;
    line-height: 1.45;
}

.knowledge-card details {
    margin: 12px 0;
    border-top: 1px solid #E3E8EA;
    border-bottom: 1px solid #E3E8EA;
}

.knowledge-card summary {
    padding: 10px 0;
    color: #0D7377;
    cursor: pointer;
    font-size: 11px;
    font-weight: 700;
}

.guide-details {
    padding: 0 0 12px;
}

.guide-details h3 {
    margin: 12px 0 4px;
    color: #5D6A70;
    font-size: 10px;
    letter-spacing: 0;
}

.guide-details p {
    margin: 0;
    color: #334149;
    font-size: 11px;
    line-height: 1.55;
}

.guide-status-line {
    margin-top: 12px;
    padding: 8px;
    color: #765516;
    background: #FFF8E8;
    font-size: 9px;
    line-height: 1.45;
}

.official-source-link {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    color: #0D7377;
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
}

.official-source-link:hover {
    text-decoration: underline;
}

body.reader-open {
    overflow: hidden;
}

.regulation-reader[hidden] {
    display: none;
}

.regulation-reader {
    position: fixed;
    z-index: 1200;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 22px;
}

.regulation-reader-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(21, 31, 36, 0.58);
}

.regulation-reader-panel {
    position: relative;
    display: grid;
    grid-template-rows: auto auto auto minmax(0, 1fr);
    width: min(1180px, 100%);
    height: min(900px, calc(100vh - 44px));
    overflow: hidden;
    border-radius: 7px;
    background: #FFFFFF;
    box-shadow: 0 24px 64px rgba(12, 27, 32, 0.28);
}

.regulation-reader-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 19px 22px 14px;
    border-bottom: 1px solid #E2E8EA;
}

.reader-heading-copy {
    min-width: 0;
}

.reader-heading-copy h2 {
    margin: 0;
    color: #17242A;
    font-size: 18px;
    line-height: 1.4;
    letter-spacing: 0;
}

.reader-heading-copy > p {
    margin: 5px 0 0;
    overflow: hidden;
    color: #738087;
    font-size: 10px;
    line-height: 1.45;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.reader-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 12px;
    margin-top: 9px;
    color: #58666D;
    font-size: 10px;
}

.reader-meta span {
    padding-right: 12px;
    border-right: 1px solid #D8E0E3;
}

.reader-meta span:last-child {
    padding-right: 0;
    border-right: 0;
}

.reader-close {
    display: grid;
    flex: 0 0 36px;
    place-items: center;
    width: 36px;
    height: 36px;
    border: 1px solid #D6DEE1;
    border-radius: 5px;
    color: #49575E;
    background: #FFFFFF;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.reader-close:hover {
    border-color: #A9BABF;
    background: #F4F7F8;
}

.reader-notice,
.reader-draft-notice {
    padding: 9px 22px;
    color: #6F501A;
    background: #FFF7E5;
    font-size: 10px;
    font-weight: 650;
    line-height: 1.5;
}

.reader-tabs {
    display: flex;
    gap: 2px;
    min-height: 48px;
    padding: 7px 22px 0;
    overflow-x: auto;
    border-bottom: 1px solid #DDE5E7;
    background: #FAFBFB;
}

.reader-tab {
    display: grid;
    flex: 0 0 auto;
    align-content: center;
    min-width: 118px;
    min-height: 40px;
    padding: 4px 12px;
    border: 0;
    border-bottom: 3px solid transparent;
    color: #5F6D74;
    background: transparent;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}

.reader-tab small {
    color: #9A7B43;
    font-size: 8px;
    font-weight: 600;
}

.reader-tab.active {
    color: #0B7074;
    border-bottom-color: #0D7377;
    background: #F1F8F8;
}

.reader-related {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 9px 22px;
    overflow-x: auto;
    border-bottom: 1px solid #E2E8EA;
    background: #F5F9F9;
}

.reader-related[hidden] {
    display: none;
}

.reader-related > strong {
    flex: 0 0 auto;
    color: #425158;
    font-size: 10px;
}

.reader-related > div {
    display: flex;
    gap: 6px;
}

.reader-related button {
    flex: 0 0 auto;
    max-width: 280px;
    min-height: 30px;
    padding: 5px 9px;
    overflow: hidden;
    border: 1px solid #BCD7D8;
    border-radius: 5px;
    color: #0B6D70;
    background: #FFFFFF;
    font-size: 9px;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
}

.reader-related button:hover {
    border-color: #0D7377;
    background: #ECF7F7;
}

.regulation-reader-content {
    min-height: 0;
    overflow: auto;
    background: #FFFFFF;
}

.reader-loading,
.reader-empty {
    display: grid;
    min-height: 280px;
    place-content: center;
    gap: 8px;
    padding: 30px;
    color: #6B787E;
    font-size: 12px;
    text-align: center;
}

.reader-empty strong {
    color: #344249;
    font-size: 14px;
}

.reader-original-note {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 20px;
    color: #536168;
    background: #F3F7F7;
    font-size: 10px;
}

.reader-original-note strong {
    color: #135D60;
}

.guide-document-switcher {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 58px;
    padding: 9px 20px;
    border-bottom: 1px solid #DDE5E7;
    background: #FAFBFB;
    color: #5E6B71;
    font-size: 10px;
}

.guide-document-switcher > div {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.guide-document-switcher button {
    min-height: 32px;
    padding: 6px 10px;
    border: 1px solid #C9D5D8;
    border-radius: 4px;
    color: #405057;
    background: #FFFFFF;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.guide-document-switcher button.active {
    border-color: #0D7377;
    color: #0A686C;
    background: #EAF6F6;
}

.guide-reader-document {
    max-width: 900px;
    margin: 0 auto;
    padding: 22px 28px 42px;
}

.guide-reader-summary {
    margin-bottom: 18px;
    padding: 15px 17px;
    border-left: 4px solid #0D7377;
    background: #EFF8F8;
}

.guide-reader-summary span {
    display: block;
    margin-bottom: 6px;
    color: #0A686C;
    font-size: 10px;
    font-weight: 800;
}

.guide-reader-summary p {
    margin: 0;
    color: #23333A;
    font-size: 13px;
    line-height: 1.75;
}

.guide-reader-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    margin: 0 0 24px;
    padding: 1px;
    background: #DDE5E7;
}

.guide-reader-facts > div {
    min-width: 0;
    padding: 12px 14px;
    background: #FAFBFB;
}

.guide-reader-facts dt {
    margin-bottom: 5px;
    color: #748188;
    font-size: 9px;
    font-weight: 750;
}

.guide-reader-facts dd {
    margin: 0;
    overflow-wrap: anywhere;
    color: #2D3B42;
    font-size: 11px;
    line-height: 1.6;
}

.guide-reader-section {
    padding: 19px 0;
    border-top: 1px solid #E3E9EB;
}

.guide-reader-section h3 {
    margin: 0 0 10px;
    color: #17272E;
    font-size: 14px;
    letter-spacing: 0;
}

.guide-reader-section p,
.guide-reader-section ol {
    margin: 0;
    color: #334249;
    font-size: 12px;
    line-height: 1.8;
}

.guide-reader-section ol {
    padding-left: 24px;
}

.guide-reader-section li + li {
    margin-top: 6px;
}

.guide-pdf-frame {
    height: calc(100% - 41px);
}

.guide-document-switcher + .guide-pdf-frame {
    height: calc(100% - 99px);
}

.reader-pdf-frame {
    height: calc(100% - 74px);
    min-height: 480px;
    background: #E8EDEF;
}

.reader-pdf-frame iframe {
    width: 100%;
    height: 100%;
    border: 0;
    background: #FFFFFF;
}

.reader-open-window {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    margin: 8px 20px;
    color: #0D7377;
    font-size: 10px;
    font-weight: 700;
    text-decoration: none;
}

.reader-text-list {
    max-width: 940px;
    margin: 0 auto;
    padding: 10px 42px 44px;
}

.reader-segment {
    padding: 28px 0 34px;
    border-bottom: 1px solid #DDE5E7;
}

.reader-segment:last-child {
    border-bottom: 0;
}

.reader-segment-anchor {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    color: #39777A;
    font-size: 10px;
    font-weight: 750;
}

.reader-segment-anchor::after {
    width: 54px;
    height: 1px;
    background: #BFD6D7;
    content: '';
}

.reader-segment-text {
    color: #26343A;
    font-size: 13px;
    line-height: 1.9;
}

.reader-segment.heading .reader-segment-text,
.reader-segment.title .reader-segment-text {
    font-weight: 750;
}

.legal-cover {
    max-width: 720px;
    margin: 6px auto 38px;
    padding: 8px 24px 32px;
    border-bottom: 1px solid #D8E3E5;
    text-align: center;
}

.legal-cover-line {
    margin: 4px 0;
    color: #27373E;
    font-size: 14px;
    line-height: 1.65;
}

.legal-cover-mark {
    margin-bottom: 20px;
    color: #7C898E;
    font-size: 10px;
    font-weight: 650;
}

.legal-cover-issuer {
    margin: 9px 0;
    color: #536168;
    font-size: 12px;
    font-weight: 650;
}

.legal-cover-title {
    margin: 5px auto;
    color: #13252C;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.45;
}

.legal-cover-number {
    color: #0D7377;
    font-size: 15px;
    font-weight: 800;
}

.legal-cover-connector {
    margin: 7px 0 2px;
    color: #78858A;
    font-size: 10px;
    font-weight: 750;
}

.legal-cover-subject {
    margin: 2px auto 12px;
    color: #18353B;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.5;
}

.legal-cover-invocation {
    margin: 22px 0 8px;
    color: #536168;
    font-size: 11px;
}

.legal-opening-body,
.legal-page-body {
    max-width: 820px;
    margin: 0 auto;
}

.legal-preamble {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    margin: 18px 0 10px;
    padding: 12px 14px;
    border-left: 3px solid #83B8BA;
    background: #F5F9F9;
}

.legal-preamble strong {
    color: #0A686C;
    font-size: 11px;
}

.legal-preamble p {
    margin: 0;
    color: #344249;
}

.legal-paragraph {
    margin: 0 0 12px;
    color: #2A3940;
    text-align: justify;
    text-justify: inter-ideograph;
}

.legal-list-item {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 7px;
    margin: 8px 0;
    color: #2A3940;
}

.legal-list-item > span {
    color: #0B7074;
    font-weight: 800;
    text-align: right;
}

.legal-list-item p {
    margin: 0;
    text-align: justify;
    text-justify: inter-ideograph;
}

.legal-chapter {
    margin: 34px 0 18px;
    padding: 11px 14px;
    border-left: 4px solid #0D7377;
    color: #14282F;
    background: #EFF7F7;
    font-size: 17px;
    line-height: 1.5;
    letter-spacing: 0;
}

.legal-section-heading {
    margin: 26px 0 14px;
    color: #18353B;
    font-size: 15px;
    text-align: center;
    letter-spacing: 0;
}

.legal-section {
    margin: 25px 0 12px;
    color: #1E353B;
    font-size: 14px;
    letter-spacing: 0;
}

.legal-article {
    width: fit-content;
    margin: 26px auto 14px;
    padding-bottom: 4px;
    border-bottom: 2px solid #72AEB0;
    color: #132E34;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0;
}

.reader-load-area {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    min-height: 58px;
    padding: 10px 20px 22px;
    color: #758289;
    font-size: 10px;
}

.reader-load-area button {
    min-height: 34px;
    padding: 0 15px;
    border: 1px solid #0D7377;
    border-radius: 5px;
    color: #0D7377;
    background: #FFFFFF;
    font-size: 10px;
    font-weight: 750;
    cursor: pointer;
}

.reader-load-area button:disabled {
    opacity: 0.55;
    cursor: wait;
}

.lawyer-workspace-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.chat-source-panel {
    margin-top: 8px;
    padding: 10px;
    border: 1px solid #D8E0E3;
    border-radius: 6px;
    background: #F9FBFB;
}

.chat-source-panel h4 {
    margin: 0 0 7px;
    color: #334148;
    font-size: 11px;
    letter-spacing: 0;
}

.chat-source-notice {
    margin: 0 0 8px;
    color: #765516;
    font-size: 9px;
    line-height: 1.45;
}

.chat-source-list {
    display: grid;
    gap: 5px;
}

.chat-source-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 7px;
    padding: 6px 7px;
    border-left: 2px solid #6A98B2;
    background: #FFFFFF;
}

.chat-source-item.guide {
    border-left-color: #4D9C78;
}

.chat-source-item span,
.chat-source-item a {
    font-size: 9px;
}

.chat-source-item strong {
    overflow: hidden;
    color: #3D4B52;
    font-size: 10px;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.chat-source-item a {
    color: #0D7377;
    text-decoration: none;
}

@media (max-width: 860px) {
    .knowledge-results {
        grid-template-columns: 1fr;
    }
    .knowledge-screen {
        padding: 18px 14px 36px;
    }
    .knowledge-heading {
        align-items: flex-start;
    }
    .lawyer-workspace-actions {
        flex-wrap: wrap;
        justify-content: flex-end;
    }
    .regulation-open {
        gap: 14px;
    }
    .guide-open {
        gap: 14px;
    }
    .regulation-reader {
        padding: 10px;
    }
    .regulation-reader-panel {
        height: calc(100vh - 20px);
    }
}

@media (max-width: 560px) {
    .knowledge-heading h1 {
        font-size: 21px;
    }
    .knowledge-count {
        min-width: 46px;
        font-size: 24px;
    }
    .knowledge-searchbar {
        grid-template-columns: 1fr;
    }
    .knowledge-searchbar button {
        height: 40px;
    }
    .evidence-grid,
    .guide-overview {
        grid-template-columns: 1fr;
    }
    .evidence-grid .wide,
    .guide-overview .sla {
        grid-column: auto;
    }
    .lawyer-workspace-actions .secondary-command {
        display: none;
    }
    .knowledge-count-wrap {
        min-width: 62px;
    }
    .regulation-filter {
        width: 100%;
    }
    .regulation-filter button {
        flex: 1 1 0;
        min-width: 0;
        padding: 0 7px;
    }
    .regulation-open {
        grid-template-columns: minmax(0, 1fr);
        min-height: 0;
        padding: 15px;
    }
    .guide-open {
        grid-template-columns: minmax(0, 1fr);
        min-height: 0;
        padding: 15px;
    }
    .guide-official-title {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        white-space: normal;
    }
    .guide-open .regulation-open-action {
        justify-content: space-between;
        padding-top: 8px;
        border-top: 1px solid #E4E9EB;
    }
    .regulation-official-title {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        white-space: normal;
    }
    .regulation-open-action {
        justify-content: space-between;
        padding-top: 8px;
        border-top: 1px solid #E4E9EB;
    }
    .regulation-reader {
        padding: 0;
    }
    .regulation-reader-panel {
        width: 100%;
        height: 100vh;
        border-radius: 0;
    }
    .regulation-reader-header {
        padding: 14px 14px 11px;
    }
    .reader-heading-copy h2 {
        font-size: 15px;
    }
    .reader-heading-copy > p {
        display: none;
    }
    .reader-notice,
    .reader-draft-notice {
        padding: 8px 14px;
    }
    .reader-tabs {
        padding-left: 8px;
        padding-right: 8px;
    }
    .reader-related {
        display: grid;
        gap: 6px;
        padding: 8px 14px;
    }
    .reader-related[hidden] {
        display: none;
    }
    .reader-related > div {
        overflow-x: auto;
    }
    .reader-tab {
        flex: 1 1 0;
        min-width: 0;
        padding: 4px;
        font-size: 10px;
    }
    .reader-original-note {
        display: grid;
        gap: 3px;
        padding: 9px 14px;
    }
    .guide-document-switcher {
        display: grid;
        justify-content: stretch;
        min-height: 0;
        padding: 9px 14px;
    }
    .guide-document-switcher > div {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .guide-document-switcher button {
        width: 100%;
    }
    .reader-pdf-frame {
        min-height: 420px;
    }
    .reader-text-list {
        padding: 4px 16px 28px;
    }
    .guide-reader-document {
        padding: 15px 16px 30px;
    }
    .guide-reader-facts {
        grid-template-columns: 1fr;
    }
    .reader-segment-text {
        font-size: 12px;
        line-height: 1.75;
    }
    .reader-segment {
        padding: 22px 0 28px;
    }
    .reader-segment-anchor {
        margin-bottom: 14px;
    }
    .legal-cover {
        margin-bottom: 26px;
        padding: 2px 4px 24px;
    }
    .legal-cover-title {
        font-size: 17px;
    }
    .legal-preamble {
        grid-template-columns: 1fr;
        gap: 5px;
        margin: 14px 0 9px;
        padding: 10px 11px;
    }
    .legal-list-item {
        grid-template-columns: 24px minmax(0, 1fr);
        gap: 5px;
    }
    .legal-chapter {
        margin: 28px 0 15px;
        padding: 9px 11px;
        font-size: 15px;
    }
    .legal-article {
        margin-top: 22px;
        font-size: 14px;
    }
}
