:root {
    color-scheme: light;
    --ink: #20251d;
    --ink-strong: #151913;
    --muted: #667060;
    --muted-soft: #697365;
    --line: #e2e6dd;
    --line-strong: #d4dacd;
    --surface: #ffffff;
    --sidebar: #f7f8f5;
    --sidebar-hover: #eef1ea;
    --primary: #6f842f;
    --primary-dark: #566820;
    --primary-pale: #f0f4e7;
    --brown: #a95220;
    --ochre: #ca7a0b;
    --focus: rgba(86, 104, 32, 0.82);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
}

* {
    box-sizing: border-box;
}

html {
    min-width: 320px;
    background: var(--surface);
    -webkit-text-size-adjust: 100%;
}

body {
    min-height: 100vh;
    min-height: 100dvh;
    margin: 0;
    overflow: hidden;
    color: var(--ink);
    background: var(--surface);
    font-family: inherit;
    -webkit-font-smoothing: antialiased;
}

button,
input,
textarea {
    color: inherit;
    font: inherit;
}

button {
    border: 0;
    cursor: pointer;
}

button:disabled {
    cursor: default;
}

a {
    color: inherit;
    text-decoration: none;
}

[hidden] {
    display: none !important;
}

.svg-sprite {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
}

.icon {
    width: 20px;
    height: 20px;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.skip-link {
    position: fixed;
    z-index: 1000;
    top: 12px;
    left: 12px;
    padding: 10px 14px;
    color: #fff;
    background: var(--ink-strong);
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    transform: translateY(-160%);
}

.skip-link:focus {
    transform: translateY(0);
}

.app-shell {
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
}

.sidebar {
    position: relative;
    z-index: 20;
    width: 264px;
    height: 100vh;
    height: 100dvh;
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--sidebar);
    border-right: 1px solid var(--line);
    transition: width 220ms ease, transform 220ms ease, box-shadow 220ms ease;
}

.sidebar-header {
    min-height: 78px;
    padding: 16px 13px 10px 18px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.brand {
    min-width: 0;
    flex: 1;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.brand-logo {
    width: 174px;
    height: auto;
    aspect-ratio: 462 / 96;
    display: block;
    object-fit: contain;
    object-position: left center;
}

.brand-symbol {
    width: 38px;
    height: 38px;
    display: none;
    object-fit: contain;
}

.icon-button,
.composer-tool,
.popover-close {
    display: inline-grid;
    place-items: center;
    color: #667063;
    background: transparent;
    border-radius: 9px;
    transition: color 150ms ease, background 150ms ease, transform 150ms ease;
}

.icon-button {
    width: 38px;
    height: 38px;
}

.icon-button:hover,
.composer-tool:hover,
.popover-close:hover {
    color: var(--ink);
    background: var(--sidebar-hover);
}

.icon-button:focus-visible,
.composer-tool:focus-visible,
.popover-close:focus-visible,
.new-chat-button:focus-visible,
.section-heading:focus-visible,
.profile-button:focus-visible,
.send-button:focus-visible,
.agent-card:focus-visible,
.conversation-open:focus-visible,
.conversation-action:focus-visible,
.collection-open:focus-visible,
.project-heading:focus-visible,
.project-chat-open:focus-visible,
.context-menu-item:focus-visible,
.context-project-item:focus-visible,
.project-modal-close:focus-visible,
.project-modal-cancel:focus-visible,
.project-modal-submit:focus-visible,
.feature-scope-modal-close:focus-visible,
.feature-scope-modal-actions button:focus-visible,
.agent-selection-modal-close:focus-visible,
.agent-selection-option:focus-visible,
.agent-selection-modal-actions button:focus-visible,
.artifact-reference-open:focus-visible,
.artifact-reopen-button:focus-visible,
.artifact-manager-toggle:focus-visible,
.artifact-manager-open:focus-visible,
.artifact-manager-remove:focus-visible,
.agent-switch-button:focus-visible,
.agent-recommendation-actions button:focus-visible,
.segmented-control button:focus-visible {
    outline: 3px solid var(--focus);
    outline-offset: 2px;
}

.sidebar-toggle .icon {
    width: 19px;
    height: 19px;
}

.sidebar-actions {
    padding: 7px 14px 15px;
    display: flex;
    gap: 7px;
}

.new-chat-button {
    min-width: 0;
    min-height: 43px;
    padding: 0 12px;
    flex: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    background: var(--ink-strong);
    border-radius: 10px;
    box-shadow: 0 7px 18px rgba(24, 30, 20, 0.1);
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
    transition: background 150ms ease, transform 150ms ease, box-shadow 150ms ease;
}

.new-chat-button:hover {
    background: #30392a;
    box-shadow: 0 9px 20px rgba(24, 30, 20, 0.14);
    transform: translateY(-1px);
}

.new-chat-button .icon {
    width: 18px;
    height: 18px;
}

.project-add-button,
.history-search-button {
    width: 43px;
    height: 43px;
    flex: 0 0 43px;
    color: #5d6659;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 10px;
}

.project-add-button:hover,
.history-search-button:hover {
    background: var(--sidebar-hover);
}

.project-add-button .icon {
    width: 18px;
    height: 18px;
}

.history-search {
    height: 40px;
    margin: 0 14px 8px;
    padding: 0 11px;
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--surface);
    border: 1px solid var(--line-strong);
    border-radius: 9px;
}

.history-search:focus-within {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px var(--focus);
}

.history-search .icon {
    width: 17px;
    height: 17px;
    color: var(--muted);
}

.history-search input {
    width: 100%;
    min-width: 0;
    padding: 0;
    background: transparent;
    border: 0;
    outline: 0;
    font-size: 13px;
}

.history-search input::placeholder {
    color: var(--muted-soft);
}

.sidebar-navigation {
    min-height: 0;
    padding: 0 10px 20px;
    flex: 1;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: #d7dbd1 transparent;
}

.sidebar-section {
    margin-top: 3px;
}

.section-heading {
    width: 100%;
    min-height: 42px;
    padding: 0 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    color: #485044;
    background: transparent;
    border-radius: 9px;
    text-align: left;
    transition: background 150ms ease, color 150ms ease;
}

.section-heading:hover {
    color: var(--ink-strong);
    background: var(--sidebar-hover);
}

.section-title,
.section-meta {
    display: flex;
    align-items: center;
}

.section-title {
    min-width: 0;
    gap: 10px;
    font-size: 13px;
    font-weight: 700;
}

.section-title .icon {
    width: 17px;
    height: 17px;
}

.section-title .star-icon {
    color: var(--ochre);
}

.section-meta {
    gap: 5px;
    color: var(--muted-soft);
    font-size: 11px;
}

.section-meta .chevron {
    width: 15px;
    height: 15px;
    transition: transform 180ms ease;
}

.sidebar-section.is-open .chevron {
    transform: rotate(180deg);
}

.section-content {
    overflow: hidden;
}

.sidebar-section:not(.is-open) .section-content {
    display: none;
}

.empty-state {
    margin: 1px 10px 7px;
    padding: 10px 11px;
    color: #626c5e;
    background: rgba(255, 255, 255, 0.48);
    border: 1px dashed #dfe3da;
    border-radius: 8px;
    font-size: 11px;
    line-height: 1.45;
}

.collection-list {
    padding: 0 4px 5px 18px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.collection-item {
    min-width: 0;
    display: flex;
    align-items: center;
    border-radius: 8px;
}

.collection-item:hover {
    background: var(--sidebar-hover);
}

.collection-item.is-active,
.project-chat-item.is-active,
.conversation-item.is-active {
    background: #e9eee1;
    box-shadow: inset 3px 0 0 var(--primary);
}

.collection-item.is-active .collection-open,
.project-chat-item.is-active .project-chat-open,
.conversation-item.is-active .conversation-open {
    color: var(--ink-strong);
}

.collection-item.is-active .collection-label,
.project-chat-item.is-active .project-chat-label,
.conversation-item.is-active .conversation-title {
    font-weight: 750;
}

.collection-open {
    width: auto;
    min-width: 0;
    min-height: 34px;
    padding: 0 8px 0 2px;
    flex: 1;
    display: flex;
    align-items: center;
    gap: 7px;
    color: #596154;
    background: transparent;
    border-radius: 8px;
    text-align: left;
}

.collection-action {
    width: 30px;
    height: 30px;
    margin-left: 2px;
    flex: 0 0 30px;
    background: transparent;
}

.conversation-action.collection-action.is-favorite {
    color: var(--ochre);
    background: transparent;
}

.conversation-action.collection-action.is-project {
    color: var(--primary-dark);
    background: transparent;
}

.conversation-action.collection-action.is-project .icon {
    fill: none;
}

.conversation-action.collection-action:hover {
    background: #e2e7dc;
}

.collection-label {
    min-width: 0;
    overflow: hidden;
    font-size: 11px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.project-list {
    padding: 0 4px 6px 18px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.project-item {
    min-width: 0;
    border-radius: 8px;
}

.project-heading {
    width: 100%;
    min-height: 36px;
    padding: 0 6px;
    display: flex;
    align-items: center;
    gap: 6px;
    color: #4d5549;
    background: transparent;
    border-radius: 8px;
    text-align: left;
}

.project-heading:hover {
    color: var(--ink-strong);
    background: var(--sidebar-hover);
}

.project-heading-label {
    min-width: 0;
    flex: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: 700;
}

.project-heading-label > span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.project-folder-icon {
    width: 16px;
    height: 16px;
    color: #667063;
    fill: none;
    stroke-width: 1.6;
}

.project-chat-count {
    min-width: 14px;
    color: var(--muted-soft);
    font-size: 10px;
    text-align: right;
}

.project-chevron {
    width: 14px;
    height: 14px;
    color: var(--muted-soft);
    transition: transform 160ms ease;
}

.project-item.is-open .project-chevron {
    transform: rotate(180deg);
}

.project-content {
    margin-left: 7px;
    padding: 0 0 4px 12px;
    border-left: 1px solid #e1e5dd;
}

.project-chat-list {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.project-chat-item {
    min-width: 0;
    display: flex;
    align-items: center;
    border-radius: 7px;
}

.project-chat-item:hover,
.project-chat-item:focus-within {
    background: var(--sidebar-hover);
}

.project-chat-open {
    min-width: 0;
    min-height: 32px;
    padding: 0 7px 0 2px;
    flex: 1;
    display: flex;
    align-items: center;
    gap: 7px;
    color: #646b60;
    background: transparent;
    border-radius: 7px;
    text-align: left;
}

.project-chat-remove {
    width: 28px;
    height: 28px;
    margin-left: 0;
    flex-basis: 28px;
}

.project-chat-label {
    min-width: 0;
    overflow: hidden;
    font-size: 10px;
    font-weight: 500;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.project-empty {
    margin: 1px 8px 5px 30px;
    padding: 4px 0;
    color: #667060;
    font-size: 10px;
}

.conversation-list {
    margin-top: 0;
    padding: 0 0 12px 18px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    border-top: 0;
}

.all-conversation-section .conversation-no-results {
    margin-left: 18px;
}

.conversation-item {
    position: relative;
    min-width: 0;
    min-height: 38px;
    border-radius: 9px;
    transition: background-color 150ms ease, box-shadow 150ms ease;
}

.conversation-item[data-agent-type="distortion"]:hover,
.conversation-item[data-agent-type="distortion"]:focus-within {
    background: #fff2dc;
}

.conversation-item[data-agent-type="comparison"]:hover,
.conversation-item[data-agent-type="comparison"]:focus-within {
    background: #f0f4e7;
}

.conversation-item[data-agent-type="report"]:hover,
.conversation-item[data-agent-type="report"]:focus-within {
    background: #f8ede7;
}

.conversation-open {
    width: 100%;
    min-width: 0;
    min-height: 38px;
    padding: 0 101px 0 10px;
    display: flex;
    align-items: center;
    gap: 7px;
    color: #4e564a;
    background: transparent;
    border-radius: 9px;
    text-align: left;
}

.conversation-title {
    min-width: 0;
    overflow: hidden;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: -0.01em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.conversation-agent-icon {
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    display: grid;
    place-items: center;
    border-radius: 6px;
}

.conversation-agent-icon .icon {
    width: 14px;
    height: 14px;
}

.conversation-item[data-agent-type="distortion"] .conversation-agent-icon {
    color: #a66004;
    background: #fff2dc;
}

.conversation-item[data-agent-type="comparison"] .conversation-agent-icon {
    color: #566820;
    background: #f0f4e7;
}

.conversation-item[data-agent-type="report"] .conversation-agent-icon {
    color: #995026;
    background: #f8ede7;
}

.unread-dot {
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    background: var(--primary);
    border-radius: 50%;
}

.conversation-item.is-unread .conversation-title,
.collection-item.is-unread .collection-label,
.project-chat-item.is-unread .project-chat-label {
    color: var(--ink-strong);
    font-weight: 750;
}

.conversation-actions {
    position: absolute;
    top: 4px;
    right: 4px;
    display: flex;
    align-items: center;
    gap: 1px;
    opacity: 0;
    pointer-events: none;
    transform: translateX(4px);
    transition: opacity 140ms ease, transform 140ms ease;
}

.conversation-item:hover .conversation-actions,
.conversation-item:focus-within .conversation-actions {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0);
}

.conversation-action {
    width: 30px;
    height: 30px;
    padding: 0;
    display: grid;
    place-items: center;
    color: #7d8578;
    background: var(--sidebar-hover);
    border-radius: 7px;
    transition: color 130ms ease, background 130ms ease;
}

.conversation-action:hover {
    color: var(--ink-strong);
    background: #e2e7dc;
}

.conversation-action.conversation-delete:hover,
.conversation-action.conversation-delete:focus-visible {
    color: #b33a32;
    background: #f7e3e0;
}

.conversation-action .icon {
    width: 15px;
    height: 15px;
}

.conversation-action.is-favorite {
    color: var(--ochre);
}

.conversation-action.is-favorite .icon {
    fill: currentColor;
}

.conversation-action.is-project {
    color: var(--primary-dark);
    background: #e5ebd9;
}

.conversation-no-results {
    margin: 13px 8px;
    color: var(--muted-soft);
    font-size: 11px;
    text-align: center;
}

.sidebar-footer {
    padding: 10px;
    border-top: 1px solid var(--line);
}

.profile-button {
    width: 100%;
    min-height: 56px;
    padding: 7px 9px;
    display: flex;
    align-items: center;
    gap: 10px;
    background: transparent;
    border-radius: 10px;
    text-align: left;
}

.profile-button:hover {
    background: var(--sidebar-hover);
}

.avatar {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: grid;
    place-items: center;
    color: #fff;
    background: var(--primary);
    border-radius: 10px;
}

.avatar .icon {
    width: 18px;
    height: 18px;
}

.profile-copy {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.profile-copy strong {
    overflow: hidden;
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.profile-copy small {
    overflow: hidden;
    color: var(--muted);
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.profile-chevron {
    width: 16px;
    height: 16px;
    color: var(--muted-soft);
    transform: rotate(180deg);
}

.main {
    position: relative;
    min-width: 0;
    flex: 1;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 38%, rgba(111, 132, 47, 0.035), transparent 28rem),
        var(--surface);
}

.mobile-header {
    display: none;
}

.main-stage {
    position: relative;
    height: 100vh;
    height: 100dvh;
    display: flex;
    overflow: hidden;
}

.artifact-viewer {
    position: relative;
    container-type: inline-size;
    width: clamp(560px, 56%, 760px);
    min-width: 0;
    height: 100%;
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #f2f3f0;
    border-right: 1px solid #d8ddd4;
    box-shadow: 12px 0 34px rgba(35, 42, 30, 0.06);
    animation: artifact-viewer-reveal 460ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.artifact-viewer.is-auto-revealing {
    animation: artifact-viewer-reveal 520ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

.artifact-viewer.is-auto-revealing .artifact-viewer-header {
    animation: artifact-header-arrival 430ms 90ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.artifact-viewer.is-auto-revealing .artifact-viewer-content > .analysis-result {
    animation: artifact-document-arrival 560ms 150ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.artifact-resize-handle {
    position: absolute;
    z-index: 20;
    top: 0;
    right: -6px;
    bottom: 0;
    width: 12px;
    cursor: col-resize;
    touch-action: none;
}

.artifact-resize-handle::after {
    position: absolute;
    top: 50%;
    right: 4px;
    width: 4px;
    height: 54px;
    content: "";
    background: #adb7a6;
    border-radius: 999px;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.75);
    opacity: 0;
    transform: translateY(-50%);
    transition: opacity 150ms ease, background 150ms ease;
}

.artifact-viewer:hover .artifact-resize-handle::after,
.artifact-resize-handle:focus-visible::after,
.artifact-resize-handle.is-resizing::after {
    opacity: 1;
}

.artifact-resize-handle:focus-visible {
    outline: 0;
}

.artifact-resize-handle:focus-visible::after {
    background: var(--primary);
    box-shadow: 0 0 0 4px var(--focus);
}

body.is-resizing-artifact {
    cursor: col-resize;
    user-select: none;
}

.artifact-viewer-header {
    position: relative;
    z-index: 2;
    min-height: 72px;
    padding: 11px 18px;
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    align-items: center;
    gap: 18px;
    background: rgba(255, 255, 255, 0.96);
    border-bottom: 1px solid #dfe3dc;
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
}

.artifact-viewer-heading,
.artifact-viewer-actions {
    min-width: 0;
    display: flex;
    align-items: center;
}

.artifact-viewer-heading {
    width: 100%;
    overflow: hidden;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 10px;
}

.artifact-viewer-heading > div {
    min-width: 0;
    overflow: hidden;
}

.artifact-viewer-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: grid;
    place-items: center;
    color: #88451f;
    background: #f8e9e0;
    border: 1px solid #ead5c8;
    border-radius: 10px;
}

.artifact-viewer-icon .icon {
    width: 18px;
    height: 18px;
}

.artifact-viewer-heading p,
.artifact-viewer-heading h2 {
    margin: 0;
}

.artifact-viewer-heading p {
    margin-bottom: 2px;
    color: #8a5639;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: 0.13em;
}

.artifact-viewer-heading h2 {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    color: #30372f;
    font-size: 15px;
    line-height: 1.3;
    letter-spacing: -0.025em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.artifact-viewer-actions {
    flex: 0 0 auto;
    width: max-content;
    gap: 9px;
}

.artifact-viewer-actions > * {
    flex: 0 0 auto;
}

.artifact-viewer-status {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #5f6b59;
    font-size: 9px;
    font-weight: 750;
    white-space: nowrap;
}

.artifact-viewer-status b {
    font: inherit;
}

.artifact-viewer-status > span {
    width: 6px;
    height: 6px;
    background: #758b38;
    border-radius: 50%;
    box-shadow: 0 0 0 3px rgba(117, 139, 56, 0.12);
}

.artifact-pdf-download {
    min-width: 118px;
    height: 36px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: #fff;
    background: #687c35;
    border: 1px solid #687c35;
    border-radius: 9px;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
    transition: background 150ms ease, border-color 150ms ease, box-shadow 150ms ease;
}

.artifact-pdf-download:hover {
    background: #536529;
    border-color: #536529;
}

.artifact-pdf-download:focus-visible {
    outline: 3px solid var(--focus);
    outline-offset: 2px;
}

.artifact-pdf-download .icon {
    width: 15px;
    height: 15px;
}

@container (max-width: 620px) {
    .artifact-viewer-status {
        display: none;
    }

    .artifact-pdf-download {
        min-width: 42px;
        width: 42px;
        padding: 0;
    }

    .artifact-pdf-download > span {
        display: none;
    }
}

.artifact-manager {
    position: relative;
}

.artifact-manager-toggle {
    min-width: 90px;
    height: 36px;
    padding: 0 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: #505a4c;
    background: #f7f8f5;
    border: 1px solid #dfe3dc;
    border-radius: 9px;
    font-size: 11px;
    font-weight: 750;
    transition: color 150ms ease, background 150ms ease, border-color 150ms ease;
}

.artifact-manager-toggle:hover,
.artifact-manager-toggle[aria-expanded="true"] {
    color: #30372f;
    background: #eef1eb;
    border-color: #c9d0c5;
}

.artifact-manager-toggle .icon {
    width: 15px;
    height: 15px;
}

.artifact-manager-toggle b {
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    display: inline-grid;
    place-items: center;
    color: #fff;
    background: #687c35;
    border-radius: 999px;
    font-size: 9px;
    line-height: 1;
}

.artifact-manager-popover {
    position: absolute;
    z-index: 20;
    top: calc(100% + 9px);
    right: 0;
    width: min(370px, calc(100vw - 40px));
    max-height: min(460px, calc(100vh - 110px));
    padding: 8px;
    overflow: hidden;
    color: #30372f;
    background: rgba(255, 255, 255, 0.99);
    border: 1px solid #d7ddd3;
    border-radius: 14px;
    box-shadow: 0 18px 52px rgba(29, 37, 25, 0.18);
}

.artifact-manager-popover > header {
    min-height: 54px;
    padding: 5px 7px 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid #e7eae4;
}

.artifact-manager-popover > header div,
.artifact-manager-popover > header strong,
.artifact-manager-popover > header small {
    min-width: 0;
    display: block;
}

.artifact-manager-popover > header strong {
    font-size: 13px;
}

.artifact-manager-popover > header small {
    margin-top: 2px;
    color: #7b8476;
    font-size: 10px;
}

.artifact-manager-popover > header > span {
    flex: 0 0 auto;
    color: #687c35;
    font-size: 10px;
    font-weight: 800;
}

.artifact-manager-list {
    max-height: min(370px, calc(100vh - 180px));
    padding-top: 6px;
    overflow: auto;
    overscroll-behavior: contain;
}

.artifact-manager-item {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 34px;
    align-items: center;
    gap: 5px;
    border-radius: 10px;
}

.artifact-manager-item + .artifact-manager-item {
    margin-top: 3px;
}

.artifact-manager-item.is-active {
    background: #f0f4e8;
}

.artifact-manager-open {
    min-width: 0;
    min-height: 58px;
    padding: 8px 9px;
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    text-align: left;
    color: inherit;
    background: transparent;
    border: 0;
    border-radius: 9px;
}

.artifact-manager-open:hover {
    background: #f5f7f2;
}

.artifact-manager-open > .icon {
    width: 32px;
    height: 32px;
    padding: 7px;
    color: #88451f;
    background: #f8e9e0;
    border-radius: 8px;
}

.artifact-manager-open span,
.artifact-manager-open strong,
.artifact-manager-open small {
    min-width: 0;
    display: block;
}

.artifact-manager-open strong {
    overflow: hidden;
    font-size: 11px;
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.artifact-manager-open small {
    margin-top: 2px;
    overflow: hidden;
    color: #7b8476;
    font-size: 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.artifact-manager-open em {
    color: #687c35;
    font-size: 9px;
    font-style: normal;
    font-weight: 850;
}

.artifact-manager-remove {
    width: 32px;
    height: 32px;
    padding: 0;
    display: grid;
    place-items: center;
    color: #9b6a62;
    background: transparent;
    border: 0;
    border-radius: 8px;
}

.artifact-manager-remove:hover {
    color: #963b30;
    background: #f9ece9;
}

.artifact-manager-remove .icon {
    width: 15px;
    height: 15px;
}

.artifact-viewer-close {
    width: 36px;
    height: 36px;
    padding: 0;
    display: grid;
    place-items: center;
    color: #5f685b;
    background: #f7f8f5;
    border: 1px solid #dfe3dc;
    border-radius: 9px;
    transition: color 150ms ease, background 150ms ease, border-color 150ms ease;
}

.artifact-viewer-close:hover {
    color: #30372f;
    background: #eef1eb;
    border-color: #cfd5cc;
}

.artifact-viewer-close:focus-visible {
    outline: 3px solid var(--focus);
    outline-offset: 2px;
}

.artifact-viewer-close .icon {
    width: 17px;
    height: 17px;
}

.artifact-viewer-content {
    min-height: 0;
    padding: 22px;
    flex: 1;
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

.artifact-viewer-content > .analysis-result {
    margin: 0;
    border-radius: 14px;
    box-shadow: 0 14px 38px rgba(35, 42, 30, 0.1);
    scroll-margin-top: 18px;
}

.artifact-viewer-content .result-hero {
    padding: 24px 22px 21px;
}

.artifact-viewer-content .verdict-grid,
.artifact-viewer-content .comparison-stat-grid,
.artifact-viewer-content .report-result-meta {
    grid-template-columns: 1fr 1fr;
}

.artifact-viewer-content .verdict-grid > div:nth-child(odd),
.artifact-viewer-content .comparison-stat-grid > div:nth-child(odd),
.artifact-viewer-content .report-result-meta > div:nth-child(odd) {
    border-left: 0;
}

.artifact-viewer-content .verdict-grid > div:nth-child(n + 3),
.artifact-viewer-content .comparison-stat-grid > div:nth-child(n + 3),
.artifact-viewer-content .report-result-meta > div:nth-child(n + 3) {
    border-top: 1px solid #e5e9e2;
}

.artifact-viewer-content .comparison-stat-primary,
.artifact-viewer-content .report-meta-primary {
    grid-column: 1 / -1;
}

.artifact-viewer-content .comparison-stat-grid > div:nth-child(2),
.artifact-viewer-content .report-result-meta > div:nth-child(2) {
    border-top: 1px solid #e5e9e2;
    border-left: 0;
}

.artifact-viewer-content .comparison-stat-grid > div:last-child,
.artifact-viewer-content .report-result-meta > div:last-child {
    grid-column: auto;
}

.artifact-viewer-content .country-source-grid,
.artifact-viewer-content .synthesis-grid,
.artifact-viewer-content .draft-source-list {
    grid-template-columns: 1fr;
}

.artifact-viewer-content .china-source-card {
    grid-column: auto;
}

.artifact-viewer-content .country-source-card > p,
.artifact-viewer-content .draft-source-card h4 {
    min-height: 0;
}

.artifact-viewer-content .report-paper-viewport {
    max-height: none;
    padding: 20px 14px 26px;
    overflow: visible;
}

.artifact-viewer-content .paper-page {
    min-height: 0;
    padding-right: 36px;
    padding-left: 36px;
}

.artifact-viewer-open .main-scroll {
    min-width: 0;
    flex: 1;
}

.artifact-viewer-open.agent-mode .main-scroll {
    padding-right: 24px;
    padding-left: 24px;
}

.artifact-viewer-open .agent-toolbar {
    gap: 8px;
}

.artifact-viewer-open .agent-demo-badge,
.artifact-viewer-open .agent-switch-button span,
.artifact-viewer-open .agent-reset-button span {
    display: none;
}

.artifact-viewer-open .agent-switch-button,
.artifact-viewer-open .agent-reset-button {
    width: 36px;
    height: 36px;
    min-height: 36px;
    padding: 0;
    justify-content: center;
}

@keyframes artifact-viewer-reveal {
    from { opacity: 0; transform: translateX(-56px); }
    to { opacity: 1; transform: translateX(0); }
}

@keyframes artifact-header-arrival {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes artifact-document-arrival {
    from { opacity: 0; transform: translateX(-24px) scale(.988); }
    to { opacity: 1; transform: translateX(0) scale(1); }
}

.main-scroll {
    height: 100vh;
    height: 100dvh;
    min-width: 0;
    flex: 1;
    padding: 38px 48px;
    display: grid;
    align-items: center;
    overflow-x: hidden;
    overflow-y: auto;
}

.workspace {
    width: min(1240px, 100%);
    margin: 0 auto;
}

.home-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) clamp(250px, 21vw, 270px);
    align-items: stretch;
    gap: 20px;
}

.home-query-column {
    min-width: 0;
    padding: 26px 0 8px;
}

.welcome-copy {
    text-align: center;
}

.eyebrow {
    margin: 0 0 10px;
    color: var(--primary);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.18em;
}

.welcome-copy h1 {
    margin: 0;
    color: var(--ink-strong);
    font-size: clamp(31px, 3vw, 38px);
    line-height: 1.24;
    letter-spacing: -0.045em;
}

.welcome-description {
    max-width: 820px;
    margin: 9px auto 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.6;
    word-break: keep-all;
}

.composer {
    position: relative;
    min-height: 132px;
    margin-top: 22px;
    padding: 17px 18px 9px;
    background: rgba(255, 255, 255, 0.97);
    border: 1px solid var(--line-strong);
    border-radius: 17px;
    box-shadow: 0 15px 40px rgba(38, 50, 30, 0.08);
    transition: border-color 150ms ease, box-shadow 150ms ease;
}

.home-query-column .composer {
    min-height: 220px;
    margin-top: 38px;
    padding: 24px 24px 14px;
    display: flex;
    flex-direction: column;
    border: 2px solid rgba(111, 132, 47, 0.72);
    box-shadow: none;
}

.home-query-column .composer textarea {
    min-height: 120px;
}

.home-query-column .composer .composer-toolbar {
    margin-top: auto;
}

.home-query-column .composer .composer-meta {
    margin-top: 0;
}

.composer:focus-within {
    border-color: rgba(111, 132, 47, 0.72);
    box-shadow: 0 0 0 4px var(--focus), 0 18px 45px rgba(38, 50, 30, 0.1);
}

.home-query-column .composer:focus-within {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(111, 132, 47, 0.1);
}

.composer textarea {
    width: 100%;
    min-height: 48px;
    max-height: 180px;
    padding: 0 2px;
    display: block;
    resize: none;
    overflow-y: auto;
    color: var(--ink);
    background: transparent;
    border: 0;
    outline: 0;
    font-size: 15px;
    line-height: 1.65;
}

.composer textarea::placeholder {
    color: #9ca39a;
}

.attachment-list {
    margin: 2px 0 7px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.attachment-chip {
    max-width: 250px;
    min-height: 30px;
    padding: 0 6px 0 10px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #596451;
    background: var(--primary-pale);
    border: 1px solid #dde6cc;
    border-radius: 8px;
    font-size: 11px;
}

.attachment-chip > span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.attachment-chip button {
    width: 24px;
    height: 24px;
    padding: 0;
    display: grid;
    place-items: center;
    color: #727d69;
    background: transparent;
    border-radius: 6px;
}

.attachment-chip button:hover {
    color: var(--ink);
    background: #e4ebd7;
}

.attachment-chip .icon {
    width: 14px;
    height: 14px;
}

.composer-toolbar {
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.tool-group {
    display: flex;
    align-items: center;
    gap: 3px;
}

.composer-tool {
    width: 36px;
    height: 36px;
}

.composer-tool .icon {
    width: 19px;
    height: 19px;
}

.composer-tool[aria-pressed="true"] {
    color: var(--primary-dark);
    background: var(--primary-pale);
}

.settings-wrap {
    position: relative;
}

.settings-popover {
    position: absolute;
    z-index: 30;
    bottom: calc(100% + 12px);
    left: 0;
    width: 284px;
    padding: 16px;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 14px;
    box-shadow: 0 18px 50px rgba(24, 31, 20, 0.16);
}

.settings-popover::after {
    position: absolute;
    bottom: -6px;
    left: 56px;
    width: 11px;
    height: 11px;
    content: "";
    background: var(--surface);
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    transform: rotate(45deg);
}

.popover-heading {
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.popover-heading strong {
    font-size: 14px;
}

.popover-close {
    width: 28px;
    height: 28px;
}

.popover-close .icon {
    width: 16px;
    height: 16px;
}

.setting-label {
    display: block;
    margin-bottom: 7px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
}

.segmented-control {
    padding: 3px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3px;
    background: #f2f4ef;
    border-radius: 9px;
}

.segmented-control button {
    min-height: 33px;
    color: var(--muted);
    background: transparent;
    border-radius: 7px;
    font-size: 12px;
    font-weight: 700;
}

.segmented-control button[aria-pressed="true"] {
    color: var(--ink-strong);
    background: var(--surface);
    box-shadow: 0 1px 4px rgba(25, 31, 21, 0.09);
}

.setting-check {
    margin-top: 14px;
    display: flex;
    align-items: center;
    gap: 9px;
    color: #4c5548;
    cursor: pointer;
    font-size: 12px;
}

.setting-check input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.custom-check {
    width: 18px;
    height: 18px;
    display: grid;
    place-items: center;
    color: transparent;
    background: var(--surface);
    border: 1px solid var(--line-strong);
    border-radius: 5px;
}

.custom-check .icon {
    width: 13px;
    height: 13px;
    stroke-width: 2.5;
}

.setting-check input:checked + .custom-check {
    color: #fff;
    background: var(--primary);
    border-color: var(--primary);
}

.setting-check input:focus-visible + .custom-check {
    outline: 3px solid var(--focus);
    outline-offset: 2px;
}

.send-button {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    color: #fff;
    background: var(--primary);
    border-radius: 10px;
    box-shadow: 0 6px 16px rgba(86, 104, 32, 0.22);
    transition: background 150ms ease, transform 150ms ease, box-shadow 150ms ease, opacity 150ms ease;
}

.send-button:not(:disabled):hover {
    background: var(--primary-dark);
    box-shadow: 0 8px 20px rgba(86, 104, 32, 0.28);
    transform: translateY(-1px);
}

.send-button:disabled {
    color: #a4aaa0;
    background: #eceee9;
    box-shadow: none;
    opacity: 0.9;
}

.send-button .icon {
    width: 19px;
    height: 19px;
    stroke-width: 2.1;
}

.composer-meta {
    min-height: 16px;
    margin-top: 2px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.search-mode {
    position: relative;
    padding-left: 10px;
    color: var(--primary-dark);
    font-size: 10px;
    font-weight: 700;
}

.search-mode::before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 5px;
    height: 5px;
    content: "";
    background: var(--primary);
    border-radius: 50%;
    transform: translateY(-50%);
}

.character-count {
    margin-left: auto;
    color: #a1a79d;
    font-size: 10px;
    font-variant-numeric: tabular-nums;
}

.agent-section {
    margin-top: 20px;
}

.home-layout > .agent-section {
    min-width: 0;
    margin: 0;
    padding: 24px 0 12px 20px;
    border-left: 1px solid var(--line);
}

.home-layout > .agent-section .agent-section-heading {
    margin-bottom: 28px;
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
}

.home-layout > .agent-section .agent-section-heading h2 {
    color: var(--ink-strong);
    font-size: 16px;
}

.home-layout > .agent-section .agent-section-heading p {
    max-width: 300px;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.6;
}

.home-layout > .agent-section .agent-category-list {
    gap: 28px;
}

.home-layout > .agent-section .agent-category-group {
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
}

.home-layout > .agent-section .agent-category-heading {
    margin: 0 0 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--line);
}

.home-layout > .agent-section .agent-category-heading span {
    display: none;
}

.home-layout > .agent-section .agent-grid,
.home-layout > .agent-section .field-agent-grid {
    grid-template-columns: 1fr;
    gap: 4px;
}

.home-layout > .agent-section .agent-card {
    min-height: 66px;
    padding: 9px 10px;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 11px;
    background: transparent;
    border-color: transparent;
    border-radius: 10px;
}

.home-layout > .agent-section .agent-card:hover,
.home-layout > .agent-section .agent-card:focus-visible {
    background: #fff;
    border-color: var(--primary);
    box-shadow: none;
    transform: none;
}

.home-layout > .agent-section .agent-icon {
    width: 42px;
    height: 42px;
}

/* 홈의 2열 레이아웃은 화면에 고정하고, 에이전트 목록만 독립적으로 스크롤한다. */
@media (min-width: 1101px) {
    body:not(.agent-mode) .main-scroll {
        align-items: stretch;
        overflow-y: hidden;
        overscroll-behavior: none;
    }

    body:not(.agent-mode) .workspace[data-home-workspace],
    body:not(.agent-mode) .home-layout {
        height: 100%;
        min-height: 0;
    }

    body:not(.agent-mode) .home-query-column {
        min-height: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        overflow: hidden;
        transform: none;
    }

    body:not(.agent-mode) .home-layout > .agent-section {
        min-height: 0;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    body:not(.agent-mode) .home-layout > .agent-section .agent-section-heading {
        flex: 0 0 auto;
    }

    body:not(.agent-mode) .home-layout > .agent-section .agent-category-list {
        min-height: 0;
        padding-right: 8px;
        flex: 1 1 auto;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-gutter: stable;
        scrollbar-width: thin;
        scrollbar-color: #d7dbd1 transparent;
    }
}

.agent-section-heading {
    margin-bottom: 12px;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
}

.agent-section-heading h2 {
    margin: 0;
    color: #4a5246;
    font-size: 12px;
    letter-spacing: -0.01em;
}

.agent-section-heading p {
    margin: 0;
    color: #969d92;
    font-size: 10px;
}

.agent-category-list {
    display: grid;
    gap: 10px;
}

.agent-category-group {
    padding: 12px;
    background: rgba(249, 250, 247, 0.82);
    border: 1px solid #e4e8df;
    border-radius: 15px;
}

.agent-category-heading {
    margin: 0 2px 10px;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}

.agent-category-heading h3 {
    margin: 0;
    color: #4c5548;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: -0.015em;
}

.agent-category-heading span {
    color: #979e94;
    font-size: 9px;
}

.agent-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.field-agent-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.planning-agent-grid {
    grid-template-columns: minmax(0, 1fr);
}

.agent-card {
    min-width: 0;
    min-height: 82px;
    padding: 12px 13px;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: center;
    gap: 11px;
    color: var(--ink);
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 13px;
    text-align: left;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease, background 160ms ease;
}

.agent-card:hover {
    background: #fdfefc;
    border-color: #cfd6c7;
    box-shadow: 0 10px 25px rgba(36, 45, 29, 0.075);
    transform: translateY(-2px);
}

.agent-card.is-agent-disabled,
.agent-card.is-agent-disabled:hover,
.agent-selection-option.is-agent-disabled,
.agent-selection-option.is-agent-disabled:hover {
    cursor: pointer;
    opacity: 0.48;
    background: #f4f5f2;
    border-color: var(--line);
    box-shadow: none;
    filter: grayscale(0.65);
    transform: none;
}

.agent-card.is-agent-disabled:focus-visible,
.agent-selection-option.is-agent-disabled:focus-visible {
    opacity: 0.68;
    outline: 2px solid #7d8973;
    outline-offset: 2px;
}

.agent-icon {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 10px;
}

.agent-icon .icon {
    width: 20px;
    height: 20px;
    stroke-width: 1.7;
}

.distortion .agent-icon {
    color: #a66004;
    background: #fff2dc;
}

.comparison .agent-icon {
    color: var(--primary-dark);
    background: var(--primary-pale);
}

.report .agent-icon {
    color: #995026;
    background: #f8ede7;
}

.publication-analysis .agent-icon {
    color: #6c4f8f;
    background: #f2edf8;
}

.international-law .agent-icon {
    color: #315b8a;
    background: #eaf2fa;
}

.international-politics .agent-icon {
    color: #246c68;
    background: #e8f5f2;
}

.contemporary-politics .agent-icon {
    color: #525f78;
    background: #edf0f6;
}

.budget-planning .agent-icon {
    color: #8a5a18;
    background: #fbf1dc;
}

.agent-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.agent-copy strong {
    font-size: 13px;
    line-height: 1.25;
    letter-spacing: -0.025em;
    word-break: keep-all;
}

.agent-fixed-example-button {
    width: min(560px, 100%);
    margin-top: 14px;
    padding: 11px 12px;
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr) 18px;
    align-items: center;
    gap: 10px;
    color: #4f5849;
    background: #fafbf8;
    border: 1px solid var(--line);
    border-radius: 11px;
    text-align: left;
    transition: background 150ms ease, border-color 150ms ease, transform 150ms ease;
}

.agent-fixed-example-button:hover {
    transform: translateY(-1px);
}

.agent-fixed-example-button > .icon:first-child {
    width: 20px;
    height: 20px;
}

.agent-fixed-example-button span {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.agent-fixed-example-button small {
    font-size: 10px;
    font-weight: 700;
}

.agent-fixed-example-button strong {
    overflow: hidden;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.agent-fixed-example-button .example-arrow {
    width: 16px;
    height: 16px;
    transform: rotate(-90deg);
}

.agent-fixed-example-button.distortion-example {
    color: #8f5808;
    background: #fff8ec;
    border-color: #efddbc;
}

.agent-fixed-example-button.comparison-example {
    color: #566820;
    background: #f4f7ee;
    border-color: #dce5cf;
}

.agent-fixed-example-button.report-example {
    color: #8a4928;
    background: #fcf4ef;
    border-color: #ecd9ce;
}

.agent-copy small {
    color: var(--muted);
    font-size: 10px;
    line-height: 1.45;
    word-break: keep-all;
}

.ai-notice {
    margin: 12px 0 0;
    color: #9ba197;
    font-size: 10px;
    text-align: center;
}

/* Distortion detection scenario */
.agent-mode .main-scroll {
    padding: 0 42px;
    display: block;
    align-items: initial;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scroll-padding-top: 86px;
}

.agent-workspace {
    width: min(1000px, 100%);
    height: 100%;
    margin: 0 auto;
    overflow: hidden;
}

body:not(.agent-mode) .agent-workspace {
    display: none !important;
}

.agent-workspace:not([hidden]) {
    display: flex;
    flex-direction: column;
}

.workspace[hidden],
.agent-workspace[hidden] {
    display: none !important;
}

.agent-toolbar {
    position: sticky;
    z-index: 12;
    top: 0;
    min-height: 72px;
    flex: 0 0 auto;
    padding: 12px 4px;
    display: flex;
    align-items: center;
    gap: 11px;
    background: rgba(255, 255, 255, 0.94);
    border-bottom: 1px solid var(--line);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
}

.agent-back-button,
.artifact-reopen-button,
.agent-switch-button,
.agent-reset-button,
.example-prompt-button,
.scenario-send-button,
.analysis-progress-actions button,
.result-tabs button,
.secondary-result-button,
.primary-result-button {
    transition: color 150ms ease, background 150ms ease, border-color 150ms ease, transform 150ms ease, box-shadow 150ms ease;
}

.agent-back-button {
    width: 38px;
    height: 38px;
    padding: 0;
    display: grid;
    place-items: center;
    color: #596253;
    background: transparent;
    border-radius: 10px;
}

.agent-back-button:hover {
    color: var(--ink-strong);
    background: var(--sidebar-hover);
}

.agent-toolbar-icon {
    width: 37px;
    height: 37px;
    display: grid;
    place-items: center;
    color: #a66004;
    background: #fff1da;
    border: 1px solid #f4dfbd;
    border-radius: 11px;
}

.agent-toolbar-icon .icon {
    width: 19px;
    height: 19px;
}

.agent-toolbar-copy {
    min-width: 0;
    flex: 1;
}

.agent-toolbar-copy p {
    margin: 0 0 2px;
    color: #626c5e;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.agent-toolbar-copy h1 {
    overflow: hidden;
    margin: 0;
    color: var(--ink-strong);
    font-size: 16px;
    line-height: 1.25;
    letter-spacing: -0.025em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.agent-demo-badge,
.result-demo-label {
    padding: 5px 9px;
    color: #56614f;
    background: #f4f6f0;
    border: 1px solid #e0e5da;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

.artifact-reopen-button,
.agent-switch-button,
.agent-reset-button {
    min-height: 36px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #55604e;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 9px;
    font-size: 11px;
    font-weight: 700;
}

.artifact-reopen-button[hidden] {
    display: none;
}

.artifact-reopen-button:hover,
.agent-switch-button:hover,
.agent-reset-button:hover {
    color: var(--ink-strong);
    background: var(--sidebar-hover);
    border-color: var(--line-strong);
}

.artifact-reopen-button .icon,
.agent-switch-button .icon,
.agent-reset-button .icon {
    width: 15px;
    height: 15px;
}

.agent-switch-button .icon {
    transform: rotate(-90deg);
}

.agent-thread {
    width: min(860px, 100%);
    min-height: 0;
    margin: 0 auto;
    padding: 34px 8px 50px;
    flex: 1 1 auto;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scroll-behavior: smooth;
    scroll-padding-top: 18px;
}

.agent-intro-turn {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    animation: scenario-rise 420ms ease both;
}

.assistant-avatar {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: grid;
    place-items: center;
    color: #a66004;
    background: #fff1da;
    border: 1px solid #f2dcb8;
    border-radius: 12px;
    box-shadow: 0 7px 18px rgba(91, 67, 25, 0.08);
}

.assistant-avatar .icon {
    width: 19px;
    height: 19px;
}

.assistant-message {
    min-width: 0;
    max-width: 720px;
    padding: 1px 0 0;
}

.assistant-label {
    color: #7c8577;
    font-size: 10px;
    font-weight: 700;
}

.assistant-message h2 {
    margin: 7px 0 8px;
    color: var(--ink-strong);
    font-size: 20px;
    line-height: 1.35;
    letter-spacing: -0.035em;
}

.assistant-message > p {
    max-width: 650px;
    margin: 0;
    color: #60695c;
    font-size: 13px;
    line-height: 1.72;
    white-space: pre-line;
    word-break: keep-all;
}

.agent-capability-list {
    margin-top: 15px;
    margin-bottom: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    list-style: none;
}

.agent-capability-list li {
    padding: 6px 9px;
    color: #5c684f;
    background: #f5f7f1;
    border: 1px solid #e3e7de;
    border-radius: 7px;
    font-size: 10px;
    font-weight: 700;
}

.example-prompt-button {
    width: min(620px, 100%);
    min-height: 51px;
    margin-top: 19px;
    padding: 9px 12px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) 28px;
    align-items: center;
    gap: 10px;
    color: #454e40;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 12px;
    box-shadow: 0 7px 20px rgba(35, 45, 28, 0.045);
    font-size: 12px;
    font-weight: 650;
    text-align: left;
}

.example-prompt-button:hover {
    color: var(--ink-strong);
    background: #fcfdfb;
    border-color: #cfd7c7;
    box-shadow: 0 10px 26px rgba(35, 45, 28, 0.075);
    transform: translateY(-1px);
}

.example-prompt-button .example-mark {
    padding: 4px 6px;
    color: #8c5b10;
    background: #fff2dc;
    border-radius: 5px;
    font-size: 9px;
    font-weight: 800;
}

.example-prompt-button .icon {
    width: 15px;
    height: 15px;
    justify-self: center;
    color: var(--primary);
    transform: rotate(45deg);
}

.scenario-output {
    margin-top: 34px;
}

.scenario-user-turn {
    margin: 0 0 24px auto;
    display: flex;
    justify-content: flex-end;
    scroll-margin-top: 86px;
    animation: scenario-rise 350ms ease both;
}

.scenario-user-turn.has-artifact-context {
    align-items: flex-end;
    flex-direction: column;
    gap: 6px;
}

.scenario-user-artifact {
    max-width: min(620px, 88%);
    padding: 5px 8px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #76543d;
    background: #fbf3ed;
    border: 1px solid #ead8cb;
    border-radius: 8px;
    font-size: 9px;
    font-weight: 750;
}

.scenario-user-artifact .icon {
    width: 13px;
    height: 13px;
}

.scenario-user-artifact span {
    max-width: 360px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.scenario-user-artifact em {
    color: #995026;
    font-style: normal;
    font-weight: 850;
}

.scenario-user-bubble {
    max-width: min(620px, 88%);
    padding: 12px 15px;
    color: #fff;
    background: #293125;
    border-radius: 15px 15px 4px 15px;
    box-shadow: 0 8px 20px rgba(27, 34, 23, 0.1);
    font-size: 13px;
    line-height: 1.6;
    white-space: pre-wrap;
    word-break: break-word;
}

.general-workspace {
    width: min(1000px, 100%);
}

.general-workspace .agent-thread,
.general-workspace .scenario-composer {
    width: min(860px, 100%);
}

.general-agent-icon,
.general-avatar,
.general .agent-icon {
    color: #476d69;
    background: #eaf4f2;
    border-color: #d2e5e1;
}

.general-avatar {
    box-shadow: 0 7px 18px rgba(40, 81, 75, 0.09);
}

.general-scope > span {
    background: #4d7772;
}

.general-assistant-turn {
    margin-bottom: 28px;
    display: flex;
    align-items: flex-start;
    gap: 13px;
    scroll-margin-top: 86px;
    animation: scenario-rise 420ms ease both;
}

.general-assistant-message {
    width: min(720px, calc(100% - 51px));
}

.general-assistant-message > .voice-output-button {
    float: none;
    display: flex;
    width: max-content;
    margin: 0 0 12px auto;
}

.general-markdown-content {
    color: #3f493f;
    font-size: 14px;
    line-height: 1.85;
}

.general-markdown-content > :first-child { margin-top: 10px; }
.general-markdown-content h1,
.general-markdown-content h2,
.general-markdown-content h3,
.general-markdown-content h4 { color: #273326; line-height: 1.35; }
.general-markdown-content p,
.general-markdown-content ul,
.general-markdown-content ol,
.general-markdown-content blockquote,
.general-markdown-content table,
.general-markdown-content pre { margin: 10px 0; }
.general-markdown-content ul,
.general-markdown-content ol { padding-left: 22px; }
.general-markdown-content blockquote { padding: 8px 14px; border-left: 3px solid #a9bd73; color: #687264; background: #f7faf4; }
.general-markdown-content table { width: 100%; border-collapse: collapse; font-size: 12px; }
.general-markdown-content th,
.general-markdown-content td { padding: 8px 10px; border: 1px solid #dce5d8; text-align: left; vertical-align: top; }
.general-markdown-content th { background: #f3f7ef; color: #405236; }
.general-markdown-content pre { overflow-x: auto; padding: 12px 14px; border-radius: 8px; background: #273326; color: #f5f8ef; }
.general-response-actions { display: flex; align-items: center; gap: 5px; margin-top: 12px; color: #8a9387; }
.general-response-action { display: inline-flex; align-items: center; gap: 4px; min-height: 28px; padding: 4px 7px; border: 0; border-radius: 7px; background: transparent; color: inherit; font: inherit; font-size: 11px; cursor: pointer; }
.general-response-action:hover,
.general-response-action.is-selected { background: #eef4e9; color: #55753c; }
.general-response-action .icon { width: 15px; height: 15px; }

.general-stream-progress {
    margin-top: 9px;
    padding: 18px 20px 17px;
    background: linear-gradient(135deg, #fbfdfb 0%, #f7faf6 100%);
    border: 1px solid #dce5d8;
    border-radius: 15px;
    box-shadow: 0 12px 32px rgba(45, 65, 37, 0.07);
    transition: padding 220ms ease, background-color 220ms ease, border-color 220ms ease;
}

.general-stream-eyebrow {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #66802e;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.01em;
}

.general-stream-dot {
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    background: #78923b;
    border-radius: 50%;
    animation: general-stream-pulse 1.4s ease-out infinite;
}

.general-stream-progress h2 {
    margin: 8px 0 5px;
    font-size: 18px;
}

.general-stream-progress > p {
    margin: 0;
    color: #687264;
    font-size: 11px;
    line-height: 1.65;
}

.general-stream-pipeline {
    margin: 16px 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    list-style: none;
}

.general-stream-pipeline li {
    position: relative;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 7px;
    color: #939b8f;
    font-size: 9px;
    font-weight: 750;
}

.general-stream-pipeline li:not(:last-child)::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: 11px;
    left: 26px;
    right: 9px;
    height: 1px;
    background: #dce2d8;
}

.general-stream-pipeline li > span:last-child:not(.general-stream-marker) {
    position: relative;
    z-index: 1;
    padding: 2px 7px 2px 0;
    background: #f9fbf8;
}

.general-stream-marker {
    position: relative;
    z-index: 1;
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    display: grid;
    place-items: center;
    color: #879083;
    background: #fff;
    border: 1px solid #dce2d8;
    border-radius: 50%;
    font-size: 8px;
    transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.general-stream-marker .icon {
    width: 12px;
    height: 12px;
    stroke-width: 2.5;
}

.general-stream-pipeline li.is-active {
    color: #53672b;
}

.general-stream-pipeline li.is-active .general-stream-marker {
    color: #fff;
    background: #78923b;
    border-color: #78923b;
    animation: pipeline-marker-pulse 1.2s ease-in-out infinite alternate;
}

.general-stream-pipeline li.is-complete {
    color: #66745a;
}

.general-stream-pipeline li.is-complete .general-stream-marker {
    color: #fff;
    background: #78923b;
    border-color: #78923b;
}

.general-stream-pipeline li.is-complete:not(:last-child)::after {
    background: #aebd85;
}

.general-stream-turn.is-complete .general-stream-progress {
    padding-top: 13px;
    padding-bottom: 13px;
    background: #f7faf5;
    border-color: #dfe7d9;
    box-shadow: none;
}

.general-stream-turn.is-complete .general-stream-dot {
    animation: none;
}

.general-stream-turn.is-complete .general-stream-progress h2,
.general-stream-turn.is-complete .general-stream-progress > p,
.general-stream-turn.is-complete .general-stream-pipeline {
    display: none;
}

.general-stream-turn.is-error .general-stream-progress {
    background: #fff8f6;
    border-color: #eed8d1;
}

.general-stream-turn.is-error .general-stream-eyebrow {
    color: #9a4f3f;
}

.general-stream-turn.is-error .general-stream-dot {
    background: #b85f4c;
    animation: none;
}

.intent-analysis-progress {
    position: relative;
    overflow: hidden;
    border-color: #d7e2d2;
}

.intent-analysis-turn.is-routing-complete .intent-analysis-progress {
    background: #f6faf3;
    border-color: #ccdcbf;
}

.intent-analysis-turn.is-routing-complete .general-stream-dot {
    animation: none;
    box-shadow: 0 0 0 4px rgba(120, 146, 59, 0.12);
}

.general-markdown-content {
    margin-top: 21px;
    color: #394236;
    font-size: 13px;
    line-height: 1.82;
    overflow-wrap: anywhere;
}

.general-markdown-content[hidden] {
    display: none;
}

.general-markdown-content h2,
.general-markdown-content h3,
.general-markdown-content h4,
.general-markdown-content h5 {
    margin: 25px 0 9px;
    color: #20271e;
    line-height: 1.42;
    letter-spacing: -0.025em;
}

.general-markdown-content h2:first-child,
.general-markdown-content h3:first-child,
.general-markdown-content h4:first-child {
    margin-top: 0;
}

.general-markdown-content h2 {
    font-size: 18px;
}

.general-markdown-content h3 {
    font-size: 15px;
}

.general-markdown-content h4,
.general-markdown-content h5 {
    font-size: 13px;
}

.general-markdown-content p {
    margin: 0 0 15px;
    color: #505b4c;
    white-space: pre-wrap;
    word-break: keep-all;
}

.general-markdown-content strong {
    color: #293226;
    font-weight: 800;
}

.general-markdown-content a {
    color: #3f6d68;
    text-decoration: underline;
    text-decoration-color: #a7c0bc;
    text-underline-offset: 3px;
}

.general-markdown-content a:hover {
    color: #2d5551;
    text-decoration-color: currentColor;
}

.general-markdown-content ul,
.general-markdown-content ol {
    margin: 5px 0 16px;
    padding-left: 21px;
    color: #505b4c;
}

.general-markdown-content li {
    margin: 5px 0;
    padding-left: 2px;
}

.general-markdown-content blockquote {
    margin: 15px 0;
    padding: 10px 14px;
    color: #596553;
    background: #f5f8f3;
    border-left: 3px solid #91a65f;
    border-radius: 0 8px 8px 0;
    white-space: pre-line;
}

.general-markdown-content hr {
    margin: 22px 0;
    border: 0;
    border-top: 1px solid #e0e5dd;
}

.general-markdown-content code {
    padding: 2px 5px;
    color: #7a4e2c;
    background: #f5eee8;
    border-radius: 4px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.9em;
}

.general-markdown-content pre {
    margin: 14px 0 18px;
    padding: 14px 15px;
    overflow-x: auto;
    color: #eef3ec;
    background: #293127;
    border-radius: 10px;
    line-height: 1.62;
}

.general-markdown-content pre code {
    padding: 0;
    color: inherit;
    background: transparent;
}

.general-markdown-content table {
    width: 100%;
    margin: 14px 0 18px;
    border-collapse: collapse;
    font-size: 11px;
}

.general-markdown-content th,
.general-markdown-content td {
    padding: 9px 10px;
    text-align: left;
    vertical-align: top;
    border: 1px solid #dfe5dc;
}

.general-markdown-content th {
    color: #35402f;
    background: #f4f7f2;
    font-weight: 800;
}

.general-stream-caret {
    width: 2px;
    height: 1.05em;
    margin-left: 2px;
    display: inline-block;
    vertical-align: -0.14em;
    background: #6f842f;
    border-radius: 1px;
    animation: general-stream-caret 760ms steps(1, end) infinite;
}

.artifact-followup-turn {
    margin: 0 0 28px;
    display: flex;
    align-items: flex-start;
    gap: 13px;
    scroll-margin-top: 86px;
    animation: scenario-rise 420ms ease both;
}

.artifact-followup-avatar {
    color: #8a4b29;
    background: #f8eae1;
    border-color: #ead3c4;
}

.artifact-followup-message {
    width: min(720px, calc(100% - 51px));
    padding: 14px 16px;
    background: #fff;
    border: 1px solid #e1e4de;
    border-radius: 4px 14px 14px 14px;
    box-shadow: 0 8px 24px rgba(35, 45, 28, 0.055);
}

.artifact-followup-message > span {
    color: #8a654d;
    font-size: 9px;
    font-weight: 800;
}

.artifact-followup-message h3 {
    margin: 5px 0 6px;
    color: #343a32;
    font-size: 14px;
    letter-spacing: -0.02em;
}

.artifact-followup-message p {
    margin: 0;
    color: #5e675b;
    font-size: 11px;
    line-height: 1.7;
}

.artifact-followup-meta {
    margin-top: 9px;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.artifact-followup-meta span {
    padding: 4px 6px;
    color: #76513a;
    background: #fbf3ed;
    border-radius: 5px;
    font-size: 8px;
    font-weight: 750;
}

.artifact-reference-card {
    min-height: 78px;
    margin: 16px 0 36px;
    padding: 15px 16px;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    align-items: center;
    gap: 11px;
    color: #4d3b30;
    background: #fffaf5;
    border: 1px solid #dfc9b9;
    border-left: 4px solid #a76039;
    border-radius: 13px;
    box-shadow: 0 9px 24px rgba(70, 45, 29, 0.055);
    animation: artifact-reference-arrival 460ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.artifact-reference-card.is-active {
    background: #fff5ed;
    border-color: #c98961;
    box-shadow: 0 0 0 2px rgba(164, 90, 51, 0.09), 0 10px 26px rgba(70, 45, 29, 0.07);
}

.artifact-reference-icon {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    color: #995026;
    background: #f8e9df;
    border-radius: 10px;
}

.artifact-reference-icon .icon {
    width: 19px;
    height: 19px;
}

.artifact-reference-copy,
.artifact-reference-copy small,
.artifact-reference-copy strong {
    min-width: 0;
    display: block;
}

.artifact-reference-copy > small:first-child {
    color: #98532e;
    font-size: 8px;
    font-weight: 850;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.artifact-reference-copy strong {
    margin-top: 4px;
    overflow: hidden;
    color: #3d332d;
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.artifact-reference-copy > small:last-child {
    margin-top: 3px;
    color: #7c6a5f;
    font-size: 9px;
}

.artifact-reference-open {
    min-height: 38px;
    padding: 0 13px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #874724;
    background: #fff;
    border: 1px solid #dfc4b3;
    border-radius: 8px;
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
    transition: color 150ms ease, background 150ms ease, border-color 150ms ease, transform 150ms ease;
}

.artifact-reference-open:hover {
    color: #6f3518;
    background: #fff3ea;
    border-color: #c98e68;
    transform: translateY(-1px);
}

.artifact-reference-open[aria-pressed="true"] {
    color: #fff;
    background: #995026;
    border-color: #995026;
}

.artifact-reference-open .icon {
    width: 14px;
    height: 14px;
}

@keyframes artifact-reference-arrival {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}

.artifact-revision-banner {
    padding: 11px 16px;
    display: flex;
    align-items: flex-start;
    gap: 9px;
    color: #654a38;
    background: #fff7f1;
    border-bottom: 1px solid #ecdcd1;
}

.artifact-revision-banner > .icon {
    width: 17px;
    height: 17px;
    margin-top: 1px;
    color: #995026;
}

.artifact-revision-banner div {
    min-width: 0;
    flex: 1;
}

.artifact-revision-banner strong,
.artifact-revision-banner span {
    display: block;
}

.artifact-revision-banner strong {
    font-size: 10px;
}

.artifact-revision-banner span {
    margin-top: 2px;
    overflow: hidden;
    color: #806754;
    font-size: 9px;
    line-height: 1.45;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.artifact-viewer-content .is-artifact-source-emphasized {
    background: #fff9e8;
    box-shadow: inset 3px 0 #a45a33;
}

.agent-recommendation-card {
    width: min(620px, 100%);
    margin-top: 17px;
    padding: 15px;
    background: #fbfcfa;
    border: 1px solid var(--line);
    border-radius: 14px;
    box-shadow: 0 8px 24px rgba(35, 45, 28, 0.06);
}

.agent-recommendation-heading {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 11px;
}

.recommendation-eyebrow {
    color: var(--muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.agent-recommendation-actions {
    margin-top: 13px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.recommendation-agent-selector { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); font-size: 10px; font-weight: 750; }
.recommendation-agent-selector select { min-height: 38px; padding: 0 28px 0 10px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 9px; font: inherit; font-size: 11px; cursor: pointer; }

.agent-recommendation-actions button {
    min-height: 38px;
    padding: 0 13px;
    border-radius: 9px;
    font-size: 11px;
    font-weight: 750;
    transition: color 150ms ease, background 150ms ease, border-color 150ms ease, transform 150ms ease;
}

.recommendation-accept {
    color: #fff;
    background: var(--primary-dark);
    border: 1px solid var(--primary-dark);
}

.recommendation-accept:not(:disabled):hover {
    background: #3f4d20;
    transform: translateY(-1px);
}

.recommendation-decline {
    color: #596155;
    background: #fff;
    border: 1px solid var(--line);
}

.recommendation-decline:not(:disabled):hover {
    color: var(--ink);
    background: var(--sidebar-hover);
}

.agent-recommendation-actions button:disabled {
    display: none;
}

.recommendation-resolution {
    color: #55704b;
    font-size: 10px;
    font-weight: 700;
}

.scenario-user-settings {
    max-width: min(620px, 88%);
    margin: 7px 2px 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 4px;
}

.report-user-turn {
    align-items: flex-end;
    flex-direction: column;
}

.scenario-user-settings span {
    padding: 4px 6px;
    color: #795845;
    background: #fbf0ea;
    border: 1px solid #edddd4;
    border-radius: 5px;
    font-size: 8px;
    font-weight: 700;
}

.scenario-composer-dock {
    position: relative;
    z-index: 10;
    flex: 0 0 auto;
    padding: 18px 8px 14px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0), #fff 20%, #fff 100%);
}

.research-answer-notice {
    width: min(860px, 100%);
    margin: 10px auto 0;
    color: #626a5f;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.55;
    text-align: center;
    word-break: keep-all;
}

.home-query-column .home-answer-notice {
    width: 100%;
}

.scenario-composer {
    width: min(860px, 100%);
    min-height: 86px;
    margin: 0 auto;
    padding: 13px 13px 9px 16px;
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid var(--line-strong);
    border-radius: 15px;
    box-shadow: 0 12px 38px rgba(31, 41, 25, 0.11);
    transition: border-color 150ms ease, box-shadow 150ms ease;
}

.artifact-context-chip {
    min-width: 0;
    margin: -3px 0 10px;
    padding: 8px 9px;
    display: grid;
    grid-template-columns: 26px minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    color: #62472f;
    background: #fbf5f0;
    border: 1px solid #ead9cd;
    border-radius: 10px;
}

.artifact-context-chip > .icon {
    width: 26px;
    height: 26px;
    padding: 6px;
    color: #8a4d2c;
    background: #f3e3d8;
    border-radius: 7px;
}

.artifact-context-chip > span {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.artifact-context-chip small {
    color: #8b715d;
    font-size: 8px;
    font-weight: 750;
    letter-spacing: 0.02em;
}

.artifact-context-chip strong {
    overflow: hidden;
    font-size: 10px;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.artifact-context-chip em {
    padding: 3px 6px;
    color: #814622;
    background: #fff;
    border: 1px solid #e5cdbd;
    border-radius: 999px;
    font-size: 8px;
    font-style: normal;
    font-weight: 850;
}

.scenario-composer:focus-within {
    border-color: rgba(111, 132, 47, 0.72);
    box-shadow: 0 0 0 4px var(--focus), 0 14px 42px rgba(31, 41, 25, 0.12);
}

.scenario-composer.is-busy {
    background: #fafbf8;
}

.scenario-composer textarea {
    width: 100%;
    min-height: 28px;
    max-height: 120px;
    padding: 0 2px;
    display: block;
    resize: none;
    overflow-y: auto;
    color: var(--ink);
    background: transparent;
    border: 0;
    outline: 0;
    font-size: 13px;
    line-height: 1.6;
}

.scenario-composer textarea::placeholder {
    color: #9ca39a;
}

.scenario-composer textarea:disabled {
    color: #8d9589;
    -webkit-text-fill-color: #8d9589;
}

.scenario-composer-bottom {
    min-height: 34px;
    margin-top: 5px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.scenario-scope {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #5d6757;
    font-size: 10px;
    font-weight: 700;
}

.scenario-scope > span {
    width: 6px;
    height: 6px;
    background: var(--primary);
    border-radius: 50%;
}

.scenario-character-count {
    margin-left: auto;
    color: #657062;
    font-size: 10px;
    font-variant-numeric: tabular-nums;
}

.scenario-send-button {
    width: 34px;
    height: 34px;
    padding: 0;
    display: grid;
    place-items: center;
    color: #fff;
    background: var(--primary);
    border-radius: 9px;
    box-shadow: 0 5px 13px rgba(86, 104, 32, 0.2);
}

.scenario-send-button:not(:disabled):hover {
    background: var(--primary-dark);
    transform: translateY(-1px);
}

.scenario-send-button:disabled {
    color: #a4aaa0;
    background: #eceee9;
    box-shadow: none;
}

.scenario-send-button .icon {
    width: 17px;
    height: 17px;
}

.scenario-send-button.is-loading .icon {
    animation: scenario-send-pulse 900ms ease-in-out infinite alternate;
}

.analysis-progress-card {
    padding: 21px;
    background: #fff;
    border: 1px solid #dce2d7;
    border-radius: 17px;
    box-shadow: 0 14px 36px rgba(35, 45, 28, 0.075);
    scroll-margin-top: 86px;
    animation: scenario-rise 420ms ease both;
}

.analysis-progress-card:focus-visible,
.analysis-result:focus-visible {
    outline: 3px solid var(--focus);
    outline-offset: 3px;
}

/* These containers receive focus only to announce newly generated content. */
.general-assistant-turn[tabindex="-1"]:focus,
.analysis-progress-card[tabindex="-1"]:focus,
.analysis-result[tabindex="-1"]:focus,
.artifact-followup-turn[tabindex="-1"]:focus {
    outline: none;
}

.analysis-progress-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.analysis-live-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--primary-dark);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.analysis-live-badge > span {
    width: 6px;
    height: 6px;
    background: var(--primary);
    border-radius: 50%;
    box-shadow: 0 0 0 0 rgba(111, 132, 47, 0.4);
    animation: analysis-live-pulse 1.5s ease-out infinite;
}

.analysis-progress-card.is-complete .analysis-live-badge > span {
    animation: none;
    box-shadow: none;
}

.analysis-progress-heading h2 {
    margin: 7px 0 4px;
    color: var(--ink-strong);
    font-size: 18px;
    letter-spacing: -0.03em;
}

.analysis-progress-heading p {
    margin: 0;
    color: #626c5e;
    font-size: 11px;
}

.analysis-step-count {
    padding: 5px 8px;
    color: #586250;
    background: #f4f6f0;
    border-radius: 7px;
    font-size: 10px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.analysis-live-badge b {
    font: inherit;
}

.live-agent-progress {
    padding: 24px;
    border-color: #bcc8a8;
    box-shadow:
        inset 0 0 0 1px rgba(111, 132, 47, 0.34),
        0 16px 40px rgba(35, 45, 28, 0.085);
}

.live-agent-progress .analysis-progress-heading {
    display: flex;
}

.live-progress-heading-copy {
    min-width: 0;
    flex: 1;
}

.live-agent-progress .analysis-step-count {
    margin-top: 1px;
}

.live-agent-progress .analysis-progress-track {
    margin-top: 20px;
}

.live-agent-progress .analysis-pipeline {
    margin-top: 19px;
    grid-template-columns: repeat(var(--pipeline-stage-count, 6), minmax(0, 1fr));
}

.live-agent-progress .pipeline-copy small {
    padding-right: 8px;
    line-height: 1.45;
    white-space: normal;
}

.live-agent-progress .analysis-activity {
    margin-top: 18px;
}

.live-agent-progress .activity-copy > p {
    line-height: 1.55;
}

.live-progress-footer {
    padding-top: 2px;
    border-top: 0;
}

.live-progress-footer > span:last-child {
    color: #7a8474;
    font-weight: 700;
}

.live-agent-progress.is-complete {
    border-color: #b8c69e;
}

.live-agent-progress.is-complete .activity-visual .icon {
    animation: none;
}

.live-agent-progress.is-complete .activity-visual {
    color: #fff;
    background: var(--primary);
}

.live-agent-progress.is-error {
    border-color: #e5c7c1;
    background: #fff9f7;
}

.live-agent-progress.is-error .analysis-live-badge,
.live-agent-progress.is-error h2 {
    color: #9b3f35;
}

.live-agent-progress.is-error .analysis-live-badge > span {
    background: #b64f43;
    animation: none;
}

.live-agent-progress.is-error .analysis-pipeline li.is-active .pipeline-marker,
.live-agent-progress.is-error .activity-visual .icon {
    animation: none;
}

.live-agent-progress.has-validation-warning {
    border-color: #d8b36b;
    background: #fffbf2;
    box-shadow:
        inset 0 0 0 1px rgba(179, 128, 40, 0.2),
        0 16px 40px rgba(95, 69, 25, 0.08);
}

.live-agent-progress.has-validation-warning .analysis-live-badge,
.live-agent-progress.has-validation-warning h2 {
    color: #8a5b16;
}

.report-retry-button {
    min-height: 32px;
    margin-left: auto;
    padding: 0 11px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: #74451d;
    background: #fff;
    border: 1px solid #d8b991;
    border-radius: 8px;
    font: inherit;
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
    transition: color 150ms ease, background-color 150ms ease, border-color 150ms ease;
}

.report-retry-button:hover {
    color: #572f12;
    background: #fff6e9;
    border-color: #c89555;
}

.report-retry-button:focus-visible {
    outline: 2px solid #8fa554;
    outline-offset: 2px;
}

.report-retry-button .icon {
    width: 14px;
    height: 14px;
}

.artifact-validation-notice {
    margin: 18px 24px 0;
    padding: 15px 17px;
    display: flex;
    align-items: flex-start;
    gap: 11px;
    border: 1px solid;
    border-radius: 12px;
}

.artifact-validation-notice > .icon {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    margin-top: 1px;
}

.artifact-validation-notice > div {
    min-width: 0;
}

.artifact-validation-notice strong {
    display: block;
    color: inherit;
    font-size: 12px;
}

.artifact-validation-notice p {
    margin: 4px 0 0;
    font-size: 10px;
    line-height: 1.65;
}

.artifact-validation-notice ul {
    margin: 8px 0 0;
    padding-left: 17px;
    font-size: 10px;
    line-height: 1.65;
}

.artifact-validation-notice.warning {
    color: #76501d;
    background: #fff8e9;
    border-color: #e4c58d;
}

.artifact-validation-notice.repaired {
    color: #4f6628;
    background: #f4f8ec;
    border-color: #cbd9af;
}

.live-report-findings {
    padding: 24px;
    background: #f7f9f4;
    border-bottom: 1px solid #e0e5dc;
}

.live-report-findings h3 {
    margin: 0 0 12px;
    color: var(--ink-strong);
    font-size: 15px;
}

.live-report-findings ul,
.live-report-limitations ul {
    margin: 0;
    padding-left: 18px;
}

.live-report-findings li,
.live-report-limitations li {
    color: #4f594b;
    font-size: 11px;
    line-height: 1.75;
}

.live-report-paper {
    width: min(720px, 100%);
    padding: 38px 58px 46px;
    display: block;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #d5d5d0;
    box-shadow: 0 12px 34px rgba(43, 38, 32, 0.13);
}

.live-report-sources {
    margin-top: 36px;
    padding-top: 24px;
    border-top: 2px solid #4c514a;
}

.live-report-sources .draft-source-list {
    margin-top: 14px;
}

.live-report-sources a {
    margin-top: 9px;
    display: inline-block;
    color: #78502f;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans KR", sans-serif;
    font-size: 10px;
    font-weight: 750;
}

.live-report-limitations {
    margin-top: 30px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.live-report-limitations > .icon {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
}

.live-report-limitations strong {
    display: block;
    margin-bottom: 7px;
}

.analysis-progress-track {
    height: 5px;
    margin-top: 18px;
    overflow: hidden;
    background: #edf0e9;
    border-radius: 999px;
}

.analysis-progress-track > span {
    width: 8%;
    height: 100%;
    display: block;
    background: linear-gradient(90deg, #879e42, var(--primary));
    border-radius: inherit;
    transition: width 480ms cubic-bezier(0.22, 1, 0.36, 1);
}

.analysis-pipeline {
    margin: 21px 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    list-style: none;
}

.analysis-pipeline li {
    position: relative;
    min-width: 0;
    padding-right: 8px;
}

.analysis-pipeline li:not(:last-child)::after {
    position: absolute;
    z-index: 0;
    top: 12px;
    right: 7px;
    left: 28px;
    height: 1px;
    content: "";
    background: #e2e6dd;
}

.pipeline-marker {
    position: relative;
    z-index: 1;
    width: 25px;
    height: 25px;
    display: grid;
    place-items: center;
    color: #626c5e;
    background: #fff;
    border: 1px solid #dce1d8;
    border-radius: 50%;
    font-size: 10px;
    font-weight: 800;
    transition: color 250ms ease, background 250ms ease, border-color 250ms ease, box-shadow 250ms ease;
}

.pipeline-marker .icon {
    width: 13px;
    height: 13px;
    display: none;
    stroke-width: 2.5;
}

.pipeline-copy {
    margin-top: 8px;
    display: block;
}

.pipeline-copy strong,
.pipeline-copy small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pipeline-copy strong {
    color: #626c5e;
    font-size: 10px;
    transition: color 250ms ease;
}

.pipeline-copy small {
    margin-top: 3px;
    color: #687265;
    font-size: 10px;
}

.analysis-pipeline li.is-active .pipeline-marker {
    color: #fff;
    background: var(--primary);
    border-color: var(--primary);
    box-shadow: 0 0 0 5px rgba(111, 132, 47, 0.12);
    animation: pipeline-marker-pulse 1s ease-in-out infinite alternate;
}

.analysis-pipeline li.is-active .pipeline-copy strong {
    color: var(--ink-strong);
}

.analysis-pipeline li.is-complete .pipeline-marker {
    color: #fff;
    background: #8c9f51;
    border-color: #8c9f51;
}

.analysis-pipeline li.is-complete .pipeline-marker span {
    display: none;
}

.analysis-pipeline li.is-complete .pipeline-marker .icon {
    display: block;
}

.analysis-pipeline li.is-complete::after {
    background: #aab98a;
}

.analysis-pipeline li.is-complete .pipeline-copy strong {
    color: #4e5848;
}

.analysis-activity {
    min-height: 84px;
    margin-top: 20px;
    padding: 14px 15px;
    display: flex;
    align-items: center;
    gap: 14px;
    background: #f7f9f4;
    border: 1px solid #e4e9df;
    border-radius: 12px;
}

.activity-visual {
    position: relative;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    color: var(--primary-dark);
    background: #edf3e2;
    border-radius: 50%;
}

.activity-visual .icon {
    position: relative;
    z-index: 1;
    width: 20px;
    height: 20px;
    animation: activity-radar 2.1s linear infinite;
}

.activity-visual i {
    position: absolute;
    inset: 3px;
    border: 1px solid rgba(111, 132, 47, 0.24);
    border-radius: 50%;
    animation: activity-ring 1.6s ease-out infinite;
}

.activity-copy {
    min-width: 0;
    flex: 1;
}

.activity-copy > strong {
    display: block;
    color: #3f4939;
    font-size: 12px;
}

.activity-copy > p {
    margin: 4px 0 0;
    color: #626c5e;
    font-size: 11px;
}

.activity-findings {
    min-height: 22px;
    margin-top: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.activity-findings span {
    padding: 4px 7px;
    color: #58634f;
    background: #fff;
    border: 1px solid #dfe5d9;
    border-radius: 5px;
    font-size: 10px;
    font-weight: 750;
    animation: finding-pop 330ms ease both;
}

.activity-findings span:nth-child(2) {
    animation-delay: 90ms;
}

.activity-findings span:nth-child(3) {
    animation-delay: 180ms;
}

.analysis-complete-summary {
    min-height: 65px;
    margin-top: 18px;
    padding: 12px 14px;
    display: flex;
    align-items: center;
    gap: 11px;
    color: #4d5b40;
    background: #f2f6e9;
    border: 1px solid #dde7cd;
    border-radius: 11px;
}

.analysis-complete-summary > .icon {
    width: 29px;
    height: 29px;
    padding: 6px;
    color: #fff;
    background: var(--primary);
    border-radius: 50%;
    stroke-width: 2.4;
}

.analysis-complete-summary span,
.analysis-complete-summary strong,
.analysis-complete-summary small {
    display: block;
}

.analysis-complete-summary strong {
    font-size: 11px;
}

.analysis-complete-summary small {
    margin-top: 3px;
    color: #5d6952;
    font-size: 10px;
}

.analysis-progress-actions {
    min-height: 28px;
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.analysis-progress-actions > span {
    color: #626c5e;
    font-size: 10px;
}

.analysis-progress-actions button {
    padding: 5px 7px;
    color: #6a7560;
    background: transparent;
    border-radius: 6px;
    font-size: 10px;
    font-weight: 700;
}

.analysis-progress-actions button:hover {
    color: var(--primary-dark);
    background: var(--primary-pale);
}

.analysis-result {
    margin-top: 17px;
    overflow: hidden;
    background: #fff;
    border: 1px solid #dce2d7;
    border-radius: 18px;
    box-shadow: 0 16px 42px rgba(35, 45, 28, 0.085);
    scroll-margin-top: 86px;
    animation: result-reveal 560ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.result-hero {
    padding: 27px 29px 24px;
    background:
        radial-gradient(circle at 92% 0%, rgba(111, 132, 47, 0.11), transparent 15rem),
        linear-gradient(145deg, #fafbf8, #fff 64%);
    border-bottom: 1px solid var(--line);
}

.result-heading-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.result-complete-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--primary-dark);
    font-size: 10px;
    font-weight: 800;
}

.result-complete-badge .icon {
    width: 16px;
    height: 16px;
    padding: 3px;
    color: #fff;
    background: var(--primary);
    border-radius: 50%;
    stroke-width: 2.5;
}

.result-kicker {
    margin: 18px 0 6px;
    color: #65744f;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.16em;
}

.result-hero h2 {
    margin: 0;
    color: var(--ink-strong);
    font-size: 24px;
    line-height: 1.3;
    letter-spacing: -0.04em;
}

.result-claim {
    margin: 11px 0 0;
    display: flex;
    align-items: baseline;
    gap: 8px;
    color: #626c5e;
    font-size: 11px;
}

.result-claim strong {
    min-width: 0;
    color: #596253;
    font-size: 12px;
    line-height: 1.55;
    overflow-wrap: anywhere;
    white-space: normal;
}

.verdict-grid {
    margin-top: 22px;
    display: grid;
    grid-template-columns: 1.65fr repeat(3, minmax(0, 0.9fr));
    border: 1px solid #e0e5dc;
    border-radius: 12px;
}

.verdict-grid > div {
    min-width: 0;
    min-height: 73px;
    padding: 13px 14px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.verdict-grid > div + div {
    border-left: 1px solid #e5e9e1;
}

.verdict-grid span {
    margin-bottom: 6px;
    color: #626c5e;
    font-size: 10px;
    font-weight: 700;
}

.verdict-grid strong {
    min-width: 0;
    color: #3d4638;
    font-size: 11px;
    line-height: 1.4;
}

.verdict-grid strong small {
    display: block;
    margin-top: 2px;
    color: #626c5e;
    font-size: 9px;
    font-weight: 600;
}

.verdict-grid .verdict-primary strong {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    color: #8b4e1a;
    font-size: 12px;
}

.verdict-primary .icon {
    width: 15px;
    height: 15px;
    margin-top: 1px;
    flex: 0 0 15px;
}

.verdict-grid .severity-high {
    color: #a64a2b;
}

.verdict-summary {
    margin: 17px 0 0;
    padding-left: 12px;
    color: #596253;
    border-left: 3px solid #82953f;
    font-size: 11px;
    line-height: 1.75;
    word-break: keep-all;
}

.result-tabs {
    padding: 0 28px;
    display: flex;
    gap: 22px;
    border-bottom: 1px solid var(--line);
    scroll-margin-top: 76px;
}

.result-tabs button {
    position: relative;
    min-height: 50px;
    padding: 0 2px;
    color: #626c5e;
    background: transparent;
    font-size: 11px;
    font-weight: 750;
}

.result-tabs button::after {
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 2px;
    content: "";
    background: transparent;
}

.result-tabs button:hover {
    color: #4b5546;
}

.result-tabs button[aria-selected="true"] {
    color: var(--ink-strong);
}

.result-tabs button[aria-selected="true"]::after {
    background: var(--primary);
}

.result-tabs button span {
    margin-left: 3px;
    padding: 2px 4px;
    color: var(--primary-dark);
    background: var(--primary-pale);
    border-radius: 4px;
    font-size: 9px;
}

.result-panel {
    padding: 27px 29px 30px;
    animation: panel-fade 260ms ease both;
}

.report-section + .report-section {
    margin-top: 31px;
    padding-top: 29px;
    border-top: 1px solid #eaede7;
}

.report-section-heading {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.report-section-heading > span:first-child {
    width: 25px;
    height: 25px;
    flex: 0 0 25px;
    display: grid;
    place-items: center;
    color: #fff;
    background: #607326;
    border-radius: 7px;
    font-size: 10px;
    font-weight: 800;
}

.report-section-heading > div {
    min-width: 0;
    flex: 1;
}

.report-section-heading h3 {
    margin: 1px 0 3px;
    color: var(--ink-strong);
    font-size: 14px;
    letter-spacing: -0.025em;
}

.report-section-heading p {
    margin: 0;
    color: #626c5e;
    font-size: 11px;
}

.distortion-type-grid {
    margin-top: 17px;
    display: grid;
    grid-template-columns: 1.35fr 1fr 1fr;
    gap: 9px;
}

.distortion-type-grid > div {
    min-width: 0;
    min-height: 112px;
    padding: 14px;
    background: #fafbf9;
    border: 1px solid #e4e8e1;
    border-radius: 11px;
}

.distortion-type-grid > div > span {
    display: block;
    margin-bottom: 8px;
    color: #626c5e;
    font-size: 10px;
    font-weight: 700;
}

.distortion-type-grid .distortion-type-main {
    background: #fff8f2;
    border-color: #f0dfd2;
}

.distortion-type-main strong {
    color: #914e20;
    font-size: 13px;
}

.distortion-type-main p {
    margin: 7px 0 0;
    color: #7b6a5e;
    font-size: 10px;
    line-height: 1.55;
}

.type-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.type-chips em {
    padding: 5px 6px;
    color: #5f6959;
    background: #fff;
    border: 1px solid #e0e5dc;
    border-radius: 5px;
    font-size: 10px;
    font-style: normal;
    font-weight: 700;
}

.distortion-type-grid ul {
    margin: 0;
    padding: 0 0 0 14px;
    color: #616a5c;
    font-size: 10px;
    line-height: 1.75;
}

.evidence-count {
    margin-left: auto;
    padding: 5px 7px;
    color: #55624b;
    background: #f1f4ec;
    border-radius: 6px;
    font-size: 10px;
    font-weight: 750;
    white-space: nowrap;
}

.evidence-list {
    margin-top: 17px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
}

.evidence-card {
    min-width: 0;
    min-height: 214px;
    padding: 15px;
    display: grid;
    grid-template-columns: 27px minmax(0, 1fr);
    gap: 11px;
    background: #fff;
    border: 1px solid #e1e6de;
    border-radius: 12px;
}

.evidence-index {
    width: 27px;
    height: 27px;
    display: grid;
    place-items: center;
    color: #778170;
    background: #f1f4ee;
    border-radius: 8px;
    font-size: 10px;
    font-weight: 800;
}

.evidence-card.is-conflict .evidence-index {
    color: #9a552c;
    background: #fff0e7;
}

.evidence-card.is-timeline .evidence-index {
    color: #657838;
    background: #f0f4e6;
}

.evidence-card.is-caution .evidence-index {
    color: #96701c;
    background: #fff6df;
}

.evidence-body {
    min-width: 0;
}

.evidence-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.evidence-meta span {
    overflow: hidden;
    color: #626c5e;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.evidence-meta em {
    padding: 3px 5px;
    flex: 0 0 auto;
    color: #93512b;
    background: #fff1e8;
    border-radius: 4px;
    font-size: 9px;
    font-style: normal;
    font-weight: 800;
}

.is-timeline .evidence-meta em {
    color: #617535;
    background: #eef4e4;
}

.is-caution .evidence-meta em {
    color: #8d681b;
    background: #fff6df;
}

.evidence-body h4 {
    margin: 8px 0 5px;
    color: #353d32;
    font-size: 12px;
    line-height: 1.45;
    letter-spacing: -0.02em;
}

.evidence-body > p {
    min-height: 42px;
    margin: 0;
    color: #70796b;
    font-size: 11px;
    line-height: 1.58;
    word-break: keep-all;
}

.evidence-body > .evidence-caveat {
    min-height: 0;
    margin-top: 8px;
    padding: 7px 8px;
    color: #6f612f;
    background: #fff9e9;
    border: 1px solid #eee0b8;
    border-radius: 7px;
    font-size: 10px;
    line-height: 1.5;
}

.evidence-caveat strong {
    margin-right: 3px;
    color: #765a13;
}

.source-location {
    margin-top: 10px;
    padding: 8px 9px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 2px 7px;
    background: #f7f8f5;
    border-radius: 7px;
}

.source-location span {
    grid-row: span 2;
    align-self: center;
    color: #5d6759;
    font-size: 9px;
}

.source-location strong,
.source-location small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.source-location strong {
    color: #525b4e;
    font-size: 9px;
}

.source-location small {
    color: #5d6759;
    font-size: 9px;
}

.source-location a {
    grid-column: 3;
    grid-row: 1 / span 2;
    align-self: center;
    padding: 4px 5px;
    color: #53652c;
    background: #edf2e6;
    border-radius: 5px;
    font-size: 9px;
    font-weight: 800;
    white-space: nowrap;
}

.source-location a:hover {
    color: #fff;
    background: var(--primary-dark);
}

.source-location a:focus-visible {
    outline: 3px solid var(--focus);
    outline-offset: 2px;
}

.triple-preview {
    margin-top: 8px;
    display: flex;
    align-items: center;
    gap: 4px;
    overflow: hidden;
    color: #5d6759;
    font-size: 9px;
    white-space: nowrap;
}

.triple-preview .icon {
    width: 11px;
    height: 11px;
    flex: 0 0 11px;
    color: var(--primary);
}

.triple-preview span {
    overflow: hidden;
    text-overflow: ellipsis;
}

.triple-preview b {
    padding: 2px 4px;
    flex: 0 0 auto;
    color: #647250;
    background: #eef3e7;
    border-radius: 3px;
    font-weight: 750;
}

.triple-preview em {
    margin-left: auto;
    flex: 0 0 auto;
    color: #626c5e;
    font-style: normal;
}

.rebuttal-draft {
    position: relative;
    margin-top: 17px;
    padding: 18px 19px 17px;
    background: #f7f9f4;
    border: 1px solid #e0e7d8;
    border-left: 4px solid #7b8f3b;
    border-radius: 0 12px 12px 0;
}

.draft-label {
    display: inline-block;
    margin-bottom: 8px;
    color: var(--primary-dark);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.03em;
}

.rebuttal-draft p {
    margin: 0;
    color: #4c5548;
    font-size: 11px;
    line-height: 1.82;
    word-break: keep-all;
}

.network-panel {
    background: #fbfcfa;
}

.network-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
}

.network-heading h3 {
    margin: 0 0 4px;
    color: var(--ink-strong);
    font-size: 15px;
    letter-spacing: -0.025em;
}

.network-heading p {
    margin: 0;
    color: #626c5e;
    font-size: 11px;
}

.network-legend {
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 9px;
    list-style: none;
}

.network-legend li {
    position: relative;
    padding-left: 16px;
    color: #626c5e;
    font-size: 10px;
    white-space: nowrap;
}

.network-legend li::before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 11px;
    height: 2px;
    content: "";
    background: #789143;
    transform: translateY(-50%);
}

.network-legend .interprets::before {
    height: 1px;
    background: repeating-linear-gradient(90deg, #cc8a34 0 3px, transparent 3px 5px);
}

.network-legend .conflicts::before {
    background: #c16343;
}

.kg-canvas {
    margin-top: 17px;
    overflow: hidden;
    background:
        radial-gradient(circle at 1px 1px, rgba(111, 132, 47, 0.09) 1px, transparent 0) 0 0 / 16px 16px,
        #fff;
    border: 1px solid #e0e5dc;
    border-radius: 13px;
}

.kg-canvas svg {
    width: 100%;
    height: auto;
    min-height: 400px;
    display: block;
}

.kg-edge {
    fill: none;
    stroke: #789143;
    stroke-width: 1.8;
    stroke-dasharray: 600;
    stroke-dashoffset: 600;
}

.kg-edge.interprets {
    stroke: #cc8a34;
    stroke-dasharray: 5 5;
    stroke-dashoffset: 0;
    opacity: 0;
}

.kg-edge.conflicts {
    stroke: #c16343;
}

.network-panel.is-animated .kg-edge {
    animation: draw-kg-edge 800ms ease forwards;
}

.network-panel.is-animated .kg-edge.interprets {
    animation: show-kg-edge 500ms ease 700ms forwards;
}

.network-panel.is-animated .kg-edge.delay-1 {
    animation-delay: 350ms;
}

.network-panel.is-animated .kg-edge.delay-2 {
    animation-delay: 700ms;
}

.network-panel.is-animated .kg-edge.delay-3 {
    animation-delay: 1050ms;
}

.kg-edges marker path {
    fill: context-stroke;
}

#kg-arrow-green path {
    fill: #789143;
}

#kg-arrow-orange path {
    fill: #cc8a34;
}

#kg-arrow-red path {
    fill: #c16343;
}

.kg-edge-labels text {
    fill: #949b90;
    font-family: inherit;
    font-size: 9px;
}

.kg-node rect {
    fill: #fff;
    stroke: #dce3d7;
    stroke-width: 1.2;
    filter: drop-shadow(0 5px 7px rgba(43, 53, 37, 0.06));
}

.kg-node text {
    fill: #465040;
    font-family: inherit;
    font-size: 10px;
    font-weight: 700;
}

.kg-node text + text {
    fill: #8a9385;
    font-size: 9px;
    font-weight: 600;
}

.kg-node.claim rect {
    fill: #fff6f1;
    stroke: #d88362;
}

.kg-node.claim text,
.kg-node.conclusion text {
    fill: #8f4a2b;
}

.kg-node.focus rect {
    fill: #edf3e2;
    stroke: #7d943d;
    stroke-width: 1.8;
}

.kg-node.focus text {
    fill: #526723;
}

.kg-node.entity rect {
    fill: #fffaf0;
    stroke: #d8ad66;
    stroke-dasharray: 4 3;
}

.kg-node.conclusion rect {
    fill: #fff4ed;
    stroke: #d27a58;
}

.kg-triple-list {
    margin-top: 12px;
    margin-bottom: 0;
    padding: 0;
    display: grid;
    gap: 6px;
    list-style: none;
}

.kg-triple-list > li {
    min-height: 38px;
    padding: 7px 9px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 7px;
    background: #fff;
    border: 1px solid #e3e7e0;
    border-radius: 8px;
    font-size: 10px;
}

.kg-triple-list span {
    overflow: hidden;
    color: #4e5849;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.kg-triple-list b {
    padding: 4px 6px;
    color: #60724b;
    background: #eef3e8;
    border-radius: 4px;
    font-size: 9px;
}

.kg-triple-list em {
    padding: 3px 5px;
    color: #60733b;
    background: #eff4e6;
    border-radius: 4px;
    font-size: 9px;
    font-style: normal;
    font-weight: 750;
}

.kg-triple-list em.interpretation {
    color: #956c22;
    background: #fff4dd;
}

.kg-triple-list em.caution {
    color: #98543a;
    background: #fff0e9;
}

.network-caution {
    margin: 12px 0 0;
    padding: 10px 12px;
    display: flex;
    align-items: flex-start;
    gap: 7px;
    color: #786c5e;
    background: #fffaf0;
    border: 1px solid #efe3c7;
    border-radius: 8px;
    font-size: 10px;
    line-height: 1.55;
}

.network-caution .icon {
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
    color: #b07822;
}

.result-actions {
    padding: 15px 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: #f8f9f6;
    border-top: 1px solid var(--line);
}

.result-actions p,
.result-actions p strong,
.result-actions p span {
    display: block;
}

.result-actions p {
    margin: 0;
}

.result-actions p strong {
    color: #60695a;
    font-size: 10px;
}

.result-actions p span {
    margin-top: 2px;
    color: #626c5e;
    font-size: 10px;
}

.result-actions > div {
    display: flex;
    gap: 7px;
}

.secondary-result-button,
.primary-result-button {
    min-height: 34px;
    padding: 0 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 750;
}

.secondary-result-button {
    color: #596353;
    background: #fff;
    border: 1px solid #dde2d9;
}

.secondary-result-button:hover {
    background: #f3f6ef;
    border-color: #cfd7c7;
}

.primary-result-button {
    color: #fff;
    background: var(--primary);
}

.primary-result-button:hover {
    background: var(--primary-dark);
    transform: translateY(-1px);
}

.secondary-result-button .icon,
.primary-result-button .icon {
    width: 14px;
    height: 14px;
}

.agent-back-button:focus-visible,
.agent-reset-button:focus-visible,
.example-prompt-button:focus-visible,
.scenario-send-button:focus-visible,
.analysis-progress-actions button:focus-visible,
.result-tabs button:focus-visible,
.secondary-result-button:focus-visible,
.primary-result-button:focus-visible {
    outline: 3px solid var(--focus);
    outline-offset: 2px;
}

@keyframes scenario-rise {
    from { opacity: 0; transform: translateY(9px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes result-reveal {
    from { opacity: 0; transform: translateY(14px) scale(0.99); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes panel-fade {
    from { opacity: 0; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes analysis-live-pulse {
    0% { box-shadow: 0 0 0 0 rgba(111, 132, 47, 0.42); }
    75%, 100% { box-shadow: 0 0 0 6px rgba(111, 132, 47, 0); }
}

@keyframes pipeline-marker-pulse {
    from { box-shadow: 0 0 0 3px rgba(111, 132, 47, 0.08); }
    to { box-shadow: 0 0 0 6px rgba(111, 132, 47, 0.16); }
}

@keyframes general-stream-pulse {
    0% { box-shadow: 0 0 0 0 rgba(120, 146, 59, 0.42); }
    70%, 100% { box-shadow: 0 0 0 6px rgba(120, 146, 59, 0); }
}

@keyframes general-stream-caret {
    0%, 48% { opacity: 1; }
    49%, 100% { opacity: 0; }
}

@keyframes activity-radar {
    to { transform: rotate(360deg); }
}

@keyframes activity-ring {
    from { opacity: 0.8; transform: scale(0.72); }
    to { opacity: 0; transform: scale(1.18); }
}

@keyframes finding-pop {
    from { opacity: 0; transform: translateY(3px) scale(0.94); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes scenario-send-pulse {
    from { transform: translateY(0); }
    to { transform: translateY(-3px); }
}

@keyframes draw-kg-edge {
    to { stroke-dashoffset: 0; }
}

@keyframes show-kg-edge {
    to { opacity: 1; }
}

/* Cross-source comparison scenario */
.comparison-workspace {
    width: min(1080px, 100%);
}

.comparison-workspace .agent-thread,
.comparison-workspace .scenario-composer {
    width: min(960px, 100%);
}

.comparison-agent-icon,
.comparison-avatar {
    color: #607b31;
    background: #eef4e4;
    border-color: #dbe6ca;
}

.comparison-avatar {
    box-shadow: 0 7px 18px rgba(67, 92, 33, 0.08);
}

.comparison-capabilities li {
    color: #536842;
    background: #f3f7ed;
    border-color: #dfe8d5;
}

.comparison-example-button .example-mark {
    color: #537028;
    background: #edf5e2;
}

.comparison-scope > span {
    background: #73923a;
}

.comparison-live-badge {
    color: #54732d;
}

.comparison-live-badge > span {
    background: #73923a;
    box-shadow: 0 0 0 0 rgba(115, 146, 58, 0.42);
}

.comparison-progress-track > span {
    background: linear-gradient(90deg, #90a657, #627f30);
}

.parallel-source-board {
    position: relative;
    margin-top: 20px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.source-lane {
    position: relative;
    min-width: 0;
    padding: 12px;
    overflow: hidden;
    background: #fafbf9;
    border: 1px solid #e2e6df;
    border-radius: 12px;
    transition: opacity 220ms ease, border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.source-lane::before {
    position: absolute;
    inset: 0 0 auto;
    height: 2px;
    content: "";
    opacity: 0.65;
}

.lane-korea::before { background: #4f8090; }
.lane-japan::before { background: #a65d51; }
.lane-china::before { background: #a6813e; }

.source-lane-heading {
    display: grid;
    grid-template-columns: 31px minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
}

.country-code {
    width: 30px;
    height: 24px;
    display: inline-grid;
    place-items: center;
    color: #fff;
    background: #667466;
    border-radius: 6px;
    font-size: 8px;
    font-style: normal;
    font-weight: 850;
    letter-spacing: 0.06em;
}

.lane-korea .country-code,
.korea-source-card .country-code { background: #4f8090; }
.lane-japan .country-code,
.japan-source-card .country-code { background: #a65d51; }
.lane-china .country-code,
.china-source-card .country-code { background: #a6813e; }

.source-lane-heading strong,
.source-lane-heading small {
    display: block;
}

.source-lane-heading strong {
    color: #384238;
    font-size: 11px;
}

.source-lane-heading small {
    margin-top: 2px;
    color: #7c857b;
    font-size: 9px;
}

.source-lane-heading em {
    padding: 4px 6px;
    color: #777f75;
    background: #f0f2ee;
    border-radius: 5px;
    font-size: 8px;
    font-style: normal;
    font-weight: 800;
    white-space: nowrap;
}

.source-lane-document {
    margin-top: 12px;
    padding: 10px;
    background: #fff;
    border: 1px solid #e6e9e4;
    border-radius: 8px;
}

.source-lane-document span {
    display: block;
    overflow: hidden;
    color: #535d53;
    font-size: 9px;
    font-weight: 750;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.source-lane-document i {
    height: 4px;
    margin-top: 7px;
    display: block;
    background: #ebeee9;
    border-radius: 99px;
}

.source-lane-document i:nth-of-type(1) { width: 92%; }
.source-lane-document i:nth-of-type(2) { width: 74%; }
.source-lane-document i:nth-of-type(3) { width: 84%; }

.lane-scan {
    position: absolute;
    top: -35%;
    bottom: -35%;
    left: -45%;
    width: 36%;
    opacity: 0;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.86), transparent);
    transform: rotate(9deg);
}

.source-lane.is-active {
    background: #fff;
    border-color: #cfd9ca;
    box-shadow: 0 7px 18px rgba(47, 59, 42, 0.07);
    transform: translateY(-2px);
}

.source-lane.is-active .lane-scan {
    opacity: 1;
    animation: source-lane-scan 1.15s ease-in-out infinite;
}

.source-lane.is-active .source-lane-heading em {
    color: #5c7338;
    background: #eaf2df;
}

.source-lane.is-complete .source-lane-document i {
    background: #dfe7d7;
}

.source-lane.is-complete .source-lane-heading em {
    color: #4e6930;
    background: #eaf2df;
}

.source-lane.is-limited {
    background: #fcfaf5;
    border-color: #eadfc9;
}

.source-lane.is-limited .source-lane-heading em {
    color: #896a34;
    background: #f7eddc;
}

.translation-agent-row {
    margin-top: 9px;
    padding: 9px 11px;
    display: flex;
    align-items: center;
    gap: 7px;
    background: #f7f9f4;
    border: 1px solid #e4e9df;
    border-radius: 10px;
}

.translation-hub-label,
.translation-agent {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

.translation-hub-label {
    gap: 5px;
    margin-right: auto;
    color: #4d5b43;
    font-size: 9px;
    font-weight: 850;
}

.translation-hub-label .icon {
    width: 14px;
    height: 14px;
    color: #6a8439;
}

.translation-agent {
    gap: 5px;
    padding: 5px 7px;
    color: #737c70;
    background: #fff;
    border: 1px solid #e0e5dc;
    border-radius: 6px;
    font-size: 8px;
    font-weight: 700;
    transition: color 180ms ease, background 180ms ease, border-color 180ms ease;
}

.translation-agent i {
    width: 5px;
    height: 5px;
    background: #c5cbc2;
    border-radius: 50%;
}

.translation-agent.is-active {
    color: #506936;
    background: #edf4e4;
    border-color: #cfddbf;
}

.translation-agent.is-active i {
    background: #789344;
    animation: translation-agent-pulse 760ms ease-in-out infinite alternate;
}

.translation-agent.is-complete {
    color: #526047;
    background: #fff;
    border-color: #d5dfce;
}

.translation-agent.is-complete i {
    background: #779044;
}

.parallel-source-board.is-aligning .lane-korea,
.parallel-source-board.is-aligning .lane-japan {
    border-color: #9fb58c;
    box-shadow: 0 0 0 3px rgba(111, 132, 47, 0.09);
}

.parallel-source-board.is-synthesizing .source-lane {
    transform: translateY(0);
}

.comparison-analysis-result .result-kicker {
    color: #617e34;
}

.comparison-result-hero {
    background:
        radial-gradient(circle at 92% 0%, rgba(80, 128, 144, 0.12), transparent 16rem),
        radial-gradient(circle at 72% 0%, rgba(166, 93, 81, 0.07), transparent 13rem),
        #fbfcfa;
}

.comparison-stat-grid {
    margin-top: 20px;
    display: grid;
    grid-template-columns: 1.55fr repeat(3, minmax(0, 0.82fr));
    overflow: hidden;
    background: #fff;
    border: 1px solid #dfe4dc;
    border-radius: 12px;
}

.comparison-stat-grid > div {
    min-width: 0;
    min-height: 74px;
    padding: 13px 15px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.comparison-stat-grid > div + div {
    border-left: 1px solid #e5e9e2;
}

.comparison-stat-grid span,
.comparison-stat-grid strong {
    display: block;
}

.comparison-stat-grid span {
    color: #788176;
    font-size: 9px;
    font-weight: 700;
}

.comparison-stat-grid strong {
    margin-top: 5px;
    overflow: hidden;
    color: #384338;
    font-size: 12px;
    line-height: 1.4;
    text-overflow: ellipsis;
}

.comparison-stat-grid .comparison-stat-primary {
    background: #f3f7ed;
}

.comparison-stat-grid .comparison-stat-primary strong {
    color: #4d672f;
    font-size: 14px;
}

.comparison-stat-grid .context-only {
    color: #967239;
}

.comparison-result-tabs button[aria-selected="true"] {
    color: #587332;
}

.comparison-result-tabs button[aria-selected="true"]::after {
    background: #718b43;
}

.comparison-analysis-result .report-section {
    opacity: 0;
    animation: comparison-report-write 430ms ease forwards;
}

.comparison-analysis-result .report-section:nth-child(2) { animation-delay: 110ms; }
.comparison-analysis-result .report-section:nth-child(3) { animation-delay: 220ms; }
.comparison-analysis-result .report-section:nth-child(4) { animation-delay: 330ms; }
.comparison-analysis-result .report-section:nth-child(5) { animation-delay: 440ms; }

.country-source-grid {
    margin-top: 14px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.country-source-card {
    position: relative;
    min-width: 0;
    padding: 15px;
    background: #fff;
    border: 1px solid #e0e5dd;
    border-radius: 12px;
    box-shadow: 0 7px 18px rgba(38, 47, 34, 0.04);
}

.country-source-card::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    content: "";
    border-radius: 12px 0 0 12px;
}

.korea-source-card::before { background: #4f8090; }
.japan-source-card::before { background: #a65d51; }
.china-source-card::before { background: #a6813e; }

.country-source-card > header {
    display: grid;
    grid-template-columns: 31px minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
}

.country-source-card header strong,
.country-source-card header small {
    display: block;
}

.country-source-card header strong {
    color: #374137;
    font-size: 11px;
}

.country-source-card header small {
    margin-top: 2px;
    color: #7a8378;
    font-size: 9px;
}

.country-source-card header em {
    padding: 4px 6px;
    color: #687164;
    background: #f2f4f0;
    border-radius: 5px;
    font-size: 8px;
    font-style: normal;
    font-weight: 800;
}

.country-source-card h4 {
    margin: 13px 0 6px;
    color: #2f382f;
    font-size: 12px;
    line-height: 1.48;
    word-break: keep-all;
}

.country-source-card > p {
    min-height: 50px;
    margin: 0;
    color: #626b60;
    font-size: 10px;
    line-height: 1.65;
    word-break: keep-all;
}

.country-source-card > a,
.source-unavailable {
    margin-top: 11px;
    display: inline-flex;
    align-items: center;
    color: #5e753a;
    font-size: 9px;
    font-weight: 800;
    text-decoration: none;
}

.country-source-card > a:hover {
    text-decoration: underline;
}

.source-unavailable {
    color: #8c7650;
}

.source-tags {
    margin-top: 9px;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.source-tags span {
    padding: 4px 6px;
    color: #657061;
    background: #f3f5f1;
    border-radius: 5px;
    font-size: 8px;
    font-weight: 750;
}

.china-source-card {
    grid-column: 1 / -1;
    background: #fcfaf6;
}

.china-source-card > p {
    min-height: 0;
}

.parallel-excerpt-grid {
    margin-top: 14px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 74px minmax(0, 1fr);
    align-items: stretch;
    gap: 10px;
}

.parallel-excerpt {
    padding: 15px;
    background: #fff;
    border: 1px solid #e0e5dd;
    border-radius: 12px;
}

.parallel-excerpt header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.parallel-excerpt header span {
    padding: 4px 6px;
    color: #fff;
    border-radius: 5px;
    font-size: 8px;
    font-weight: 850;
}

.korea-excerpt header span { background: #4f8090; }
.japan-excerpt header span { background: #a65d51; }

.parallel-excerpt header strong {
    overflow: hidden;
    color: #4d574c;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.parallel-excerpt p {
    margin: 14px 0 10px;
    color: #3f493f;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.75;
    word-break: keep-all;
}

.parallel-excerpt small {
    color: #7a8378;
    font-size: 8px;
}

.parallel-match {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    color: #657a45;
}

.parallel-match::before,
.parallel-match::after {
    position: absolute;
    z-index: 0;
    top: 50%;
    width: 25px;
    height: 1px;
    content: "";
    background: #aab99a;
}

.parallel-match::before { left: -10px; }
.parallel-match::after { right: -10px; }

.parallel-match .icon {
    position: relative;
    z-index: 1;
    width: 29px;
    height: 29px;
    padding: 7px;
    background: #eef3e7;
    border-radius: 50%;
}

.parallel-match strong,
.parallel-match span {
    position: relative;
    z-index: 1;
}

.parallel-match strong {
    margin-top: 5px;
    font-size: 11px;
}

.parallel-match span {
    margin-top: 1px;
    color: #7a8475;
    font-size: 7px;
    font-weight: 750;
}

.excerpt-caution,
.context-caution {
    margin: 10px 0 0;
    padding: 9px 10px;
    display: flex;
    align-items: flex-start;
    gap: 7px;
    color: #766a55;
    background: #fcfaf5;
    border: 1px solid #ece3d3;
    border-radius: 8px;
    font-size: 9px;
    line-height: 1.55;
}

.excerpt-caution .icon,
.context-caution .icon {
    width: 13px;
    height: 13px;
    flex: 0 0 13px;
    margin-top: 1px;
    color: #a27b3d;
}

.difference-count {
    padding: 5px 8px;
    color: #8c584f;
    background: #f8ece9;
    border-radius: 6px;
    font-size: 8px;
    font-weight: 850;
    white-space: nowrap;
}

.source-comparison-table-wrap {
    margin-top: 14px;
    overflow-x: auto;
    border: 1px solid #dfe4dd;
    border-radius: 11px;
    outline: 0;
    overscroll-behavior-inline: contain;
}

.source-comparison-table-wrap:focus-visible {
    box-shadow: 0 0 0 3px var(--focus);
}

.source-comparison-table {
    width: 100%;
    min-width: 900px;
    border-collapse: collapse;
    table-layout: fixed;
}

.source-comparison-table th,
.source-comparison-table td {
    padding: 12px;
    color: #566055;
    border-right: 1px solid #e6eae4;
    border-bottom: 1px solid #e6eae4;
    font-size: 9px;
    line-height: 1.6;
    text-align: left;
    vertical-align: top;
    word-break: keep-all;
}

.source-comparison-table tr:last-child > * { border-bottom: 0; }
.source-comparison-table tr > *:last-child { border-right: 0; }

.source-comparison-table thead th {
    color: #434d43;
    background: #f4f6f2;
    font-weight: 850;
    vertical-align: middle;
}

.source-comparison-table thead th:nth-child(1) { width: 13%; }
.source-comparison-table thead th:nth-child(2),
.source-comparison-table thead th:nth-child(3) { width: 23%; }
.source-comparison-table thead th:nth-child(4) { width: 18%; }
.source-comparison-table thead th:nth-child(5) { width: 23%; }

.source-comparison-table tbody th {
    color: #354035;
    background: #fafbf9;
    font-weight: 850;
}

.table-country {
    margin-right: 5px;
    padding: 3px 4px;
    color: #fff;
    border-radius: 4px;
    font-size: 7px;
}

.table-country.korea { background: #4f8090; }
.table-country.japan { background: #a65d51; }
.table-country.china { background: #a6813e; }

.no-direct-record {
    color: #786d58 !important;
    background: #fcfaf5;
    vertical-align: middle !important;
}

.no-direct-record strong,
.no-direct-record span {
    display: block;
}

.no-direct-record strong {
    color: #8c6c37;
    font-size: 10px;
}

.no-direct-record span {
    margin-top: 6px;
}

.verdict-chip {
    margin-right: 5px;
    padding: 3px 5px;
    display: inline-block;
    border-radius: 4px;
    font-size: 7px;
    font-weight: 850;
}

.verdict-chip.common {
    color: #4b703d;
    background: #eaf3e4;
}

.verdict-chip.difference {
    color: #8f5148;
    background: #f8e9e6;
}

.synthesis-grid {
    margin-top: 14px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.synthesis-grid article {
    padding: 16px;
    border-radius: 12px;
}

.common-findings {
    background: #f1f7ef;
    border: 1px solid #dce9d8;
}

.difference-findings {
    background: #fcf3f1;
    border: 1px solid #f0ddda;
}

.synthesis-grid article > span {
    padding: 4px 6px;
    display: inline-block;
    border-radius: 5px;
    font-size: 8px;
    font-weight: 850;
}

.common-findings > span { color: #4c7141; background: #dfeeda; }
.difference-findings > span { color: #8a5149; background: #f4dfdc; }

.synthesis-grid h4 {
    margin: 10px 0 8px;
    color: #364036;
    font-size: 12px;
}

.synthesis-grid ul {
    margin: 0;
    padding-left: 16px;
    color: #596358;
    font-size: 9px;
    line-height: 1.75;
}

.report-section + .generated-report-section {
    padding-top: 0;
    border-top: 0;
}

.fixed-report-visual {
    margin: 30px 0 36px;
    padding: 24px;
    border-radius: 16px;
    break-inside: avoid;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans KR", sans-serif;
}

.fixed-report-visual-header > span {
    color: #7a6437;
    font-size: 9.5px;
    font-weight: 850;
    letter-spacing: .17em;
}

.fixed-report-visual-header h4 {
    margin: 8px 0 6px;
    color: #283027;
    font-family: "Noto Serif KR", "Nanum Myeongjo", serif;
    font-size: 20px;
}

.fixed-report-visual-header p {
    margin: 0;
    color: #687064;
    font-size: 11px;
    line-height: 1.7;
}

.fixed-report-visual-metrics {
    margin-top: 18px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid rgba(79, 91, 71, .14);
    border-bottom: 1px solid rgba(79, 91, 71, .14);
}

.fixed-report-visual-metrics > div {
    padding: 12px 10px;
    text-align: center;
}

.fixed-report-visual-metrics > div + div { border-left: 1px solid rgba(79, 91, 71, .14); }
.fixed-report-visual-metrics span,
.fixed-report-visual-metrics strong { display: block; }
.fixed-report-visual-metrics span { color: #7b8377; font-size: 9.5px; }
.fixed-report-visual-metrics strong { margin-top: 4px; color: #34402f; font-size: 14.5px; }

.fixed-report-visual-canvas {
    margin-top: 20px;
    display: grid;
    gap: 10px;
}

.fixed-report-visual-canvas article {
    position: relative;
    min-width: 0;
    padding: 14px;
}

.fixed-report-visual-canvas strong { color: #303a2e; font-size: 11.5px; }
.fixed-report-visual-canvas p { margin: 6px 0 0; color: #687064; font-size: 10px; line-height: 1.65; }

.fixed-report-visual.evidence {
    overflow: hidden;
    background: radial-gradient(circle at 12% 82%, rgba(112, 138, 69, .13) 0 4px, transparent 5px),
        radial-gradient(circle at 84% 23%, rgba(167, 96, 54, .12) 0 5px, transparent 6px), #f5f6f0;
    border: 1px solid #dfe5d6;
}

.fixed-report-visual.evidence .fixed-report-visual-canvas { grid-template-columns: repeat(3, 1fr); }
.fixed-report-visual.evidence .fixed-report-visual-canvas article {
    display: grid;
    place-content: center;
    min-height: 112px;
    text-align: center;
    background: #fff;
    border: 1px solid #d8e0d0;
    border-radius: 50%;
    box-shadow: 0 8px 22px rgba(57, 72, 47, .07);
}
.fixed-report-visual.evidence .fixed-report-visual-canvas article + article::before {
    position: absolute;
    top: 50%;
    right: 100%;
    width: 12px;
    border-top: 1px dashed #82926f;
    content: "";
}

.fixed-report-visual.parallel { background: #f7f5ef; border: 1px solid #e5dfd0; }
.fixed-report-visual.parallel .fixed-report-visual-canvas { grid-template-columns: 1fr; }
.fixed-report-visual.parallel .fixed-report-visual-canvas article {
    padding-left: 82px;
    background: #fff;
    border: 1px solid #e6e1d7;
    border-radius: 9px;
}
.fixed-report-visual.parallel .fixed-report-visual-canvas article::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 66px;
    display: grid;
    place-items: center;
    color: #fff;
    background: #567f88;
    border-radius: 8px 0 0 8px;
    content: "자료 " counter(list-item);
    font-size: 9.5px;
}
.fixed-report-visual.parallel .fixed-report-visual-canvas article:nth-child(2)::before { background: #a17b39; }
.fixed-report-visual.parallel .fixed-report-visual-canvas article:nth-child(3)::before { background: #9d5f50; }

.fixed-report-visual.editorial {
    background: #f4eee6;
    border-top: 4px solid #9a552f;
    border-radius: 2px;
}
.fixed-report-visual.editorial .fixed-report-visual-canvas { grid-template-columns: repeat(4, 1fr); }
.fixed-report-visual.editorial .fixed-report-visual-canvas article {
    min-height: 100px;
    background: #fffdf9;
    border-bottom: 2px solid #c9b89e;
}
.fixed-report-visual.editorial .fixed-report-visual-canvas strong {
    color: #96512d;
    font-family: "Noto Serif KR", serif;
    font-size: 17px;
}

.fixed-report-paper-evidence .paper-cover { border-bottom-color: #708846; }
.fixed-report-paper-parallel .paper-cover { border-bottom-color: #4f7d88; }
.fixed-report-paper-editorial .paper-cover { border-bottom-color: #9b5732; }

/* Fixed examples use a document-first HWP-style reading layout. */
.fixed-report-evidence > .live-report-hero,
.fixed-report-parallel > .live-report-hero,
.fixed-report-editorial > .live-report-hero,
.fixed-report-evidence > .live-report-findings,
.fixed-report-parallel > .live-report-findings,
.fixed-report-editorial > .live-report-findings {
    display: none;
}

.fixed-report-evidence .live-report-document,
.fixed-report-parallel .live-report-document,
.fixed-report-editorial .live-report-document {
    padding: 34px 20px 48px;
    background: #d7d7d3;
}

.fixed-report-evidence .report-paper-viewport,
.fixed-report-parallel .report-paper-viewport,
.fixed-report-editorial .report-paper-viewport {
    max-height: none;
    padding: 0;
    overflow: visible;
    background: transparent;
}

.live-report-paper[class*="fixed-report-paper-"] {
    width: 794px;
    max-width: none;
    padding: 0;
    display: grid;
    gap: 24px;
    background: transparent;
    border: 0;
    box-shadow: none;
    counter-reset: hwp-page;
    zoom: var(--hwp-paper-scale, 1);
}

.live-report-paper[class*="fixed-report-paper-"] > .hwp-a4-page {
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 210 / 297;
    padding: 28px 52px 25px;
    display: grid;
    grid-template-rows: 25px minmax(0, 1fr) 25px;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #cacac6;
    box-shadow: 0 12px 28px rgba(39, 37, 32, .15);
}

.hwp-running-header,
.hwp-running-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #777c74;
    font-family: "Noto Sans KR", sans-serif;
    font-size: 9px;
    letter-spacing: .02em;
}

.hwp-running-header { padding-bottom: 8px; border-bottom: 1px solid #cfd1cc; }
.hwp-running-footer { padding-top: 8px; border-top: 1px solid #cfd1cc; }
.hwp-running-footer strong { color: #414740; font-family: "Batang", "바탕", serif; font-size: 10.5px; font-weight: 500; }

.hwp-a4-content {
    min-width: 0;
    min-height: 0;
    padding: 30px 20px 26px;
    overflow: hidden;
}

.hwp-a4-content > * {
    width: 100%;
    box-sizing: border-box;
    transform-origin: top left;
}

.hwp-a4-content.is-fitted > * {
    width: calc(100% / var(--hwp-fit-scale));
    transform: scale(var(--hwp-fit-scale));
}

.live-report-paper[class*="fixed-report-paper-"] .paper-cover {
    position: relative;
    height: 100%;
    padding-top: 34px;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-bottom: 1px solid #cacac6;
}

.hwp-cover-institution {
    width: 100%;
    margin: 0 0 118px !important;
    display: block !important;
    color: #384133 !important;
    text-align: left;
}

.hwp-cover-institution strong,
.hwp-cover-institution span { display: block; }
.hwp-cover-institution strong { font-family: "Noto Sans KR", sans-serif; font-size: 16px; letter-spacing: -.02em; }
.hwp-cover-institution span { margin-top: 4px; color: #737a70; font-family: Arial, sans-serif; font-size: 8.5px; letter-spacing: .12em; }

.live-report-paper[class*="fixed-report-paper-"] .paper-cover > span {
    max-width: 100%;
    padding: 0 0 8px;
    box-sizing: border-box;
    color: #555a53;
    background: transparent;
    border-bottom: 1px solid #73776f;
    border-radius: 0;
    font-size: 12.5px;
    font-weight: 800;
    letter-spacing: .22em;
    line-height: 1.45;
    white-space: nowrap;
}

.live-report-paper[class*="fixed-report-paper-"] .paper-cover h3 {
    margin-top: 46px;
    font-size: 34px;
    font-weight: 700;
    line-height: 1.55;
}

.live-report-paper[class*="fixed-report-paper-"] .paper-cover > p {
    margin-top: 15px;
    font-size: 14px;
}

.hwp-cover-meta {
    width: 390px;
    max-width: 100%;
    margin-top: auto !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 0 !important;
    border-top: 1px solid #555953;
    border-left: 1px solid #d3d5d0;
}

.hwp-cover-meta > div {
    display: grid;
    grid-template-columns: 72px 1fr;
    border-right: 1px solid #d3d5d0;
    border-bottom: 1px solid #d3d5d0;
    text-align: left;
}
.hwp-cover-meta span,
.hwp-cover-meta strong { padding: 10px 11px; font-family: "Noto Sans KR", sans-serif; font-size: 10px; }
.hwp-cover-meta span { color: #60665d; background: #f1f2ef; }
.hwp-cover-meta strong { color: #343a33; font-weight: 600; }

.hwp-preliminary-page { display: block; }
.hwp-report-contents { padding-bottom: 42px; }
.hwp-report-contents h4 { margin: 0 0 32px; color: #20231f; font-size: 24px; letter-spacing: .3em; text-align: center; }
.hwp-report-contents ol { margin: 0; padding: 0; list-style: none; }
.hwp-report-contents li { margin-top: 16px; display: flex; align-items: baseline; gap: 8px; color: #343934; font-size: 13px; line-height: 1.55; }
.hwp-report-contents li::after { height: 1px; flex: 1; order: 2; content: ""; border-bottom: 1px dotted #a9ada6; }
.hwp-report-contents li span { order: 1; }
.hwp-report-contents li i { order: 3; color: #6b7069; font-style: normal; }
.hwp-preliminary-page .paper-abstract { margin-top: 34px; padding: 22px 0; }
.live-report-paper[class*="fixed-report-paper-"] .paper-abstract h4 { font-size: 18px; }
.live-report-paper[class*="fixed-report-paper-"] .paper-abstract > p:not(.paper-keywords) { font-size: 14.5px; line-height: 1.9; }
.live-report-paper[class*="fixed-report-paper-"] .paper-keywords { font-size: 12.5px; line-height: 1.7; }

.live-report-paper[class*="fixed-report-paper-"] .hwp-report-findings {
    padding-top: 8px;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-findings-kicker {
    margin: 0 0 8px;
    color: #777;
    font-family: Arial, sans-serif;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .18em;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-report-findings > h4 {
    margin: 0 0 27px;
    padding-bottom: 14px;
    border-bottom: 2px solid #303030;
    color: #202020;
    font-size: 23px;
    letter-spacing: -.035em;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-report-findings ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-report-findings li {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 15px;
    padding: 14px 0;
    border-bottom: 1px solid #dededb;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-report-findings li strong {
    color: #687b40;
    font-family: Georgia, serif;
    font-size: 17px;
    font-weight: 500;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-report-findings li p {
    margin: 0;
    color: #2d302b;
    font-size: 14.5px;
    line-height: 1.82;
    text-align: justify;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-report-findings aside {
    margin-top: 25px;
    padding: 17px 19px;
    background: #f3f4f0;
    border-left: 3px solid #758647;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-report-findings aside strong {
    display: block;
    color: #394231;
    font-size: 12.5px;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-report-findings aside p {
    margin: 7px 0 0;
    color: #53594f;
    font-size: 12.5px;
    line-height: 1.75;
}

.hwp-body-page {
    display: block;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-body-page > .paper-section {
    margin-top: 27px;
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 20px;
}
.live-report-paper[class*="fixed-report-paper-"] .hwp-body-page > .paper-section:first-child { margin-top: 0; }
.live-report-paper[class*="fixed-report-paper-"] .paper-section-number { color: #343a33; font-size: 19px; font-weight: 500; }
.live-report-paper[class*="fixed-report-paper-"] .paper-section h4 { padding-bottom: 13px; border-bottom: 2px solid #3f443e; font-size: 20px; }
.live-report-paper[class*="fixed-report-paper-"] .paper-section p { margin-top: 17px; color: #2f332e; font-size: 16px; line-height: 1.95; word-break: keep-all; text-align: justify; text-indent: 1em; }
.live-report-paper[class*="fixed-report-paper-"] .paper-section .paper-section-source {
    margin-top: 15px;
    padding: 13px 15px;
    color: #474d43;
    background: #f4f5f1;
    border-left: 3px solid #7b8c54;
    font-family: "Noto Sans KR", sans-serif;
    font-size: 12.5px;
    line-height: 1.75;
    text-align: left;
    text-indent: 0;
}
.live-report-paper[class*="fixed-report-paper-"] .paper-section aside { margin-top: 34px; padding: 18px 20px; background: #f4f4f1; border-left: 3px solid #727a69; }
.live-report-paper[class*="fixed-report-paper-"] .paper-section aside strong { font-size: 12.5px; }
.live-report-paper[class*="fixed-report-paper-"] .paper-section aside ul { margin: 12px 0 0; padding-left: 18px; color: #4c524a; font-size: 13px; line-height: 1.85; }

.live-report-paper[class*="fixed-report-paper-"] .hwp-final-page > .paper-section { margin-top: 25px; }
.live-report-paper[class*="fixed-report-paper-"] .hwp-final-page > .paper-section:first-child { margin-top: 0; }
.live-report-paper[class*="fixed-report-paper-"] .hwp-final-page .paper-section h4 { padding-bottom: 11px; font-size: 19px; }
.live-report-paper[class*="fixed-report-paper-"] .hwp-final-page .paper-section p { margin-top: 14px; font-size: 16px; line-height: 1.95; }

.live-report-paper[class*="fixed-report-paper-"] .hwp-preliminary-page > .fixed-report-visual {
    margin: 34px 0 0;
    padding: 20px;
    border-radius: 0;
}
.live-report-paper[class*="fixed-report-paper-"] .hwp-body-page > .paper-references { margin-top: 38px; border-top: 2px solid #555a52; }
.live-report-paper[class*="fixed-report-paper-"] .draft-source-list { grid-template-columns: 1fr; }
.live-report-paper[class*="fixed-report-paper-"] .draft-source-card { padding: 17px 0; background: transparent; border: 0; border-bottom: 1px solid #d9dad6; box-shadow: none; }
.live-report-paper[class*="fixed-report-paper-"] .hwp-final-page .draft-source-card { padding: 10px 0; }
.live-report-paper[class*="fixed-report-paper-"] .draft-source-card h5::before { margin-right: 8px; content: "·"; }
.live-report-paper[class*="fixed-report-paper-"] .paper-references > h4 { font-size: 19px; }
.live-report-paper[class*="fixed-report-paper-"] .draft-source-card h5 { font-size: 15.5px; line-height: 1.6; }
.live-report-paper[class*="fixed-report-paper-"] .draft-source-card > p { font-size: 14.5px; line-height: 1.78; }
.live-report-paper[class*="fixed-report-paper-"] .draft-source-card > small { display: block; margin-top: 7px; font-size: 13px; line-height: 1.7; }
.live-report-paper[class*="fixed-report-paper-"] .draft-source-card > a { font-size: 13px; }
.live-report-paper[class*="fixed-report-paper-"] .hwp-body-page > .live-report-limitations {
    min-height: 0;
    margin: 30px 0 0;
    padding: 20px 22px;
    display: block;
    color: #4e534c;
    background: #fff;
    border: 1px solid #cacac6;
    border-left: 1px solid #cacac6;
    border-radius: 0;
    font-family: "Batang", "바탕", serif;
}
.live-report-paper[class*="fixed-report-paper-"] .hwp-body-page > .live-report-limitations > .icon { display: none; }
.live-report-paper[class*="fixed-report-paper-"] .hwp-body-page > .live-report-limitations strong { display: block; padding-bottom: 10px; border-bottom: 1px solid #8c9088; color: #20241f; font-size: 14.5px; }
.live-report-paper[class*="fixed-report-paper-"] .hwp-body-page > .live-report-limitations ul { margin-top: 12px; color: #343934; font-size: 13.5px; line-height: 1.85; }

/* 사료 탐구: 근거 카드와 판정표 중심의 조사 기록 양식 */
.fixed-report-paper-evidence > .hwp-a4-page {
    background: #fbfcf8;
    border-color: #bdc9ae;
}
.fixed-report-paper-evidence .hwp-running-header {
    color: #52653c;
    border-bottom: 2px solid #768d50;
    font-weight: 700;
}
.fixed-report-paper-evidence .paper-cover {
    padding: 46px 34px 28px;
    align-items: flex-start;
    background: linear-gradient(145deg, #f8faf3 0 68%, #e7eddc 68% 100%);
    border: 1px solid #aeba9d;
    border-left: 12px solid #708846;
}
.fixed-report-paper-evidence .hwp-cover-institution {
    margin-bottom: 76px !important;
}
.fixed-report-paper-evidence .paper-cover > span {
    min-height: 36px;
    padding: 8px 17px;
    display: inline-flex;
    align-items: center;
    color: #fff;
    background: #708846;
    border: 0;
    border-radius: 999px;
    font-family: "Noto Sans KR", sans-serif;
    font-size: 13px;
    letter-spacing: .05em;
    box-shadow: 0 7px 16px rgba(75, 99, 45, .14);
}
.fixed-report-paper-evidence .paper-cover h3,
.fixed-report-paper-evidence .paper-cover > p { text-align: left; }
.fixed-report-paper-evidence .paper-cover h3 {
    max-width: 520px;
    margin-top: 28px;
    color: #2f3a28;
    font-size: 35px;
}
.fixed-report-paper-evidence .hwp-cover-meta {
    width: 100%;
    grid-template-columns: 1fr;
    border-top: 3px solid #708846;
}
.fixed-report-paper-evidence .hwp-cover-meta > div { grid-template-columns: 105px 1fr; }
.fixed-report-paper-evidence .hwp-report-contents {
    padding: 22px 24px 28px;
    background: #f1f5ea;
    border-left: 5px solid #7c9254;
}
.fixed-report-paper-evidence .hwp-report-contents h4 {
    margin-bottom: 22px;
    color: #52663a;
    font-family: "Noto Sans KR", sans-serif;
    font-size: 19px;
    letter-spacing: .08em;
    text-align: left;
}
.fixed-report-paper-evidence .paper-abstract {
    border-top: 2px solid #778b56;
    border-bottom: 1px solid #c7d0ba;
}
.fixed-report-paper-evidence .hwp-body-page > .paper-section {
    margin-top: 22px;
    padding: 18px 20px;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 14px;
    background: #f7f9f3;
    border: 1px solid #d3dcc7;
    border-radius: 8px;
}
.fixed-report-paper-evidence .paper-section-number {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    color: #fff !important;
    background: #708846;
    border-radius: 50%;
    font-family: "Noto Sans KR", sans-serif;
    font-size: 12px !important;
}
.fixed-report-paper-evidence .paper-section h4 {
    color: #3f512e;
    border-bottom: 1px solid #9fad8d !important;
    font-family: "Noto Sans KR", sans-serif;
    font-size: 19px !important;
}
.fixed-report-paper-evidence .paper-section p { font-size: 16px !important; line-height: 1.95 !important; }
.fixed-report-paper-evidence .paper-section aside {
    background: #fff;
    border: 1px solid #c7d2ba !important;
    border-left: 5px solid #708846 !important;
}

/* 사료 비교: 국가별 기록을 나란히 읽는 비교 분석 양식 */
.fixed-report-paper-parallel > .hwp-a4-page { border-color: #b8c9cd; }
.fixed-report-paper-parallel .hwp-running-header {
    color: #3f6872;
    background: #eef4f5;
    border-bottom: 1px solid #8ea9af;
    padding: 5px 10px 8px;
}
.fixed-report-paper-parallel .paper-cover {
    padding: 38px 38px 30px;
    background: linear-gradient(90deg, #456f79 0 25%, #fff 25% 100%);
    border-bottom: 0;
    align-items: flex-start;
}
.fixed-report-paper-parallel .hwp-cover-institution {
    margin: 0 0 92px 27% !important;
    width: 73%;
}
.fixed-report-paper-parallel .paper-cover > span,
.fixed-report-paper-parallel .paper-cover h3,
.fixed-report-paper-parallel .paper-cover > p { margin-left: 27%; text-align: left; }
.fixed-report-paper-parallel .paper-cover > span {
    color: #456f79;
    border-bottom: 2px solid #456f79;
}
.fixed-report-paper-parallel .paper-cover h3 {
    max-width: 430px;
    margin-top: 32px;
    color: #273f45;
    font-size: 32px;
}
.fixed-report-paper-parallel .hwp-cover-meta {
    width: 73%;
    margin-left: 27% !important;
    grid-template-columns: 1fr 1fr;
    border-top: 2px solid #456f79;
}
.fixed-report-paper-parallel .hwp-report-contents {
    padding: 24px 26px;
    border: 1px solid #bfcdd0;
    border-top: 5px solid #507984;
}
.fixed-report-paper-parallel .hwp-report-contents h4 {
    margin-bottom: 24px;
    color: #355d67;
    font-family: "Noto Sans KR", sans-serif;
    font-size: 19px;
    letter-spacing: .06em;
    text-align: left;
}
.fixed-report-paper-parallel .hwp-report-contents ol {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 24px;
}
.fixed-report-paper-parallel .hwp-body-page > .paper-section {
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 0;
    border: 1px solid #c8d3d5;
}
.fixed-report-paper-parallel .paper-section-number {
    padding-top: 16px;
    color: #fff !important;
    background: #557c85;
    text-align: center;
}
.fixed-report-paper-parallel .paper-section > div:last-child { padding: 15px 19px 18px; }
.fixed-report-paper-parallel .paper-section h4 {
    color: #335b64;
    border-bottom: 1px solid #9eb3b8 !important;
    font-family: "Noto Sans KR", sans-serif;
    font-size: 19px !important;
}
.fixed-report-paper-parallel .paper-section p { font-size: 16px !important; line-height: 1.95 !important; }
.fixed-report-paper-parallel .paper-section aside {
    display: grid;
    grid-template-columns: 110px 1fr;
    background: #edf3f4;
    border: 0 !important;
    border-top: 2px solid #668992 !important;
}

/* 연구보고서 초안: 제목·초록·본문 위계가 강한 정식 보고서 양식 */
.fixed-report-paper-editorial > .hwp-a4-page { border-color: #c9b9aa; }
.fixed-report-paper-editorial .hwp-running-header {
    color: #815039;
    border-bottom: 1px solid #a66a4a;
}
.fixed-report-paper-editorial .paper-cover {
    padding: 58px 48px 34px;
    background: #fffdfa;
    border: 8px double #9b5732;
}
.fixed-report-paper-editorial .hwp-cover-institution {
    margin-bottom: 100px !important;
    text-align: center;
}
.fixed-report-paper-editorial .paper-cover > span {
    color: #94512f;
    border: 0;
    font-family: "Noto Serif KR", "Batang", serif;
    font-size: 14px;
}
.fixed-report-paper-editorial .paper-cover h3 {
    max-width: 520px;
    margin-top: 36px;
    color: #38271f;
    font-size: 36px;
    line-height: 1.62;
}
.fixed-report-paper-editorial .paper-cover > p { color: #765b4c; }
.fixed-report-paper-editorial .hwp-cover-meta {
    border-top: 2px solid #9b5732;
}
.fixed-report-paper-editorial .hwp-report-contents h4 {
    color: #75452e;
    font-family: "Noto Serif KR", "Batang", serif;
}
.fixed-report-paper-editorial .paper-abstract {
    padding: 25px 28px;
    background: #faf5ef;
    border-top: 3px double #9b5732;
    border-bottom: 1px solid #d7c6b9;
}
.fixed-report-paper-editorial .hwp-body-page > .paper-section {
    grid-template-columns: 1fr;
    gap: 5px;
}
.fixed-report-paper-editorial .paper-section-number {
    color: #9b5732 !important;
    font-family: Georgia, serif;
    font-size: 15px !important;
    letter-spacing: .12em;
}
.fixed-report-paper-editorial .paper-section h4 {
    color: #38271f;
    border-top: 1px solid #9b5732;
    border-bottom: 3px double #9b5732 !important;
    padding: 12px 0 !important;
    font-family: "Noto Serif KR", "Batang", serif;
    font-size: 19px !important;
}
.fixed-report-paper-editorial .paper-section p { font-size: 16px !important; line-height: 1.98 !important; }
.fixed-report-paper-editorial .paper-section aside {
    background: #faf5ef;
    border: 1px solid #dccabd !important;
    border-left: 0 !important;
}

@media (max-width: 760px) {
    .fixed-report-evidence .live-report-document,
    .fixed-report-parallel .live-report-document,
    .fixed-report-editorial .live-report-document { padding: 14px 8px 24px; }
    .live-report-paper[class*="fixed-report-paper-"] > .hwp-a4-page { padding: 18px 24px 16px; }
    .hwp-a4-content { padding: 20px 10px 18px; }
    .hwp-cover-institution { margin-bottom: 80px !important; }
    .hwp-cover-meta { grid-template-columns: 1fr; }
}

/*
 * 동북아역사재단 자료총서형 통합 보고서 조판
 * 세 에이전트와 향후 생성 보고서가 동일한 회색 표지·장 구분·본문 체계를 사용한다.
 */
.fixed-report-evidence .live-report-document,
.fixed-report-parallel .live-report-document,
.fixed-report-editorial .live-report-document {
    padding: 38px 20px 52px;
    background: #d8d8d6;
}

.live-report-paper[class*="fixed-report-paper-"] {
    gap: 26px;
    color: #222;
    font-family: "Noto Serif KR", "NanumMyeongjo", "Batang", "바탕", serif;
}

.live-report-paper[class*="fixed-report-paper-"] > .hwp-a4-page {
    position: relative;
    height: 1086px;
    aspect-ratio: auto;
    padding: 0 66px 24px;
    display: block;
    overflow: hidden;
    background: #fff;
    border: 1px solid #c6c6c4;
    box-shadow: 0 13px 30px rgba(30, 30, 28, .17);
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-running-header {
    display: none;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-a4-content {
    position: absolute;
    z-index: 1;
    inset: 0 66px 54px;
    width: auto;
    height: auto;
    box-sizing: border-box;
    padding: 66px 8px 48px;
    overflow: visible;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-a4-content.is-fitted > * {
    width: 100%;
    transform: none;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-running-footer {
    position: absolute;
    z-index: 3;
    right: 66px;
    bottom: 24px;
    left: 66px;
    height: 30px;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 10px;
    padding: 6px 8px 0;
    color: #585858;
    border-top: 0;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 9px;
    letter-spacing: -.01em;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-running-footer strong {
    color: #343434;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 11px;
    font-weight: 400;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-running-footer span:first-of-type {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-page-watermark {
    position: absolute;
    z-index: 0;
    left: 50%;
    bottom: 43px;
    width: 154px;
    height: auto;
    opacity: .075;
    filter: grayscale(1);
    transform: translateX(-50%);
    pointer-events: none;
}

/* 표지 */
.live-report-paper[class*="fixed-report-paper-"] > .hwp-cover-page {
    padding: 0;
    grid-template-rows: 1fr;
    background: #dedede;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-cover-page .hwp-a4-content {
    inset: 0;
    padding: 0;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-cover-page .hwp-running-footer,
.live-report-paper[class*="fixed-report-paper-"] .hwp-cover-page > .hwp-page-watermark {
    display: none;
}

.live-report-paper[class*="fixed-report-paper-"] .paper-cover {
    position: relative;
    height: 100%;
    padding: 0;
    display: block;
    background: #dedede;
    border: 0;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-cover-series {
    position: absolute;
    top: 66px;
    left: 54px;
    right: 54px;
    height: 38px;
    padding: 0 17px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #262626;
    background: rgba(255, 255, 255, .92);
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 10px;
    letter-spacing: .02em;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-cover-series span {
    font-weight: 800;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-cover-series strong {
    font-size: 9px;
    font-weight: 600;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-cover-title-panel {
    position: absolute;
    top: 210px;
    left: 54px;
    width: 635px;
    min-height: 375px;
    padding: 42px 55px 36px;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    color: #1d1d1d;
    background: #fff;
    border-left: 22px solid #adadad;
    border-right: 28px solid #686868;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-cover-label {
    color: #555;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-cover-title-panel h3 {
    max-width: 100%;
    margin: 28px 0 0;
    color: #171717;
    font-family: "Noto Serif KR", "NanumMyeongjo", "Batang", "바탕", serif;
    font-size: 39px;
    font-weight: 700;
    line-height: 1.38;
    letter-spacing: -.045em;
    text-align: left;
    word-break: keep-all;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-cover-title-panel > p {
    margin: 16px 0 0;
    color: #505050;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 13px;
    line-height: 1.7;
    text-align: left;
    word-break: keep-all;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-cover-credits {
    margin-top: auto;
    align-self: flex-end;
    display: grid;
    gap: 5px;
    color: #4e4e4e;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 9px;
    line-height: 1.45;
    text-align: right;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-cover-institution {
    position: absolute;
    left: 50%;
    bottom: 112px;
    width: 164px;
    margin: 0 !important;
    text-align: center;
    transform: translateX(-50%);
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-cover-institution img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 462 / 96;
    object-fit: contain;
}

/* 차례와 해제 */
.live-report-paper[class*="fixed-report-paper-"] .hwp-preliminary-page {
    height: 100%;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-report-contents {
    padding: 14px 0 0;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-report-contents h4 {
    margin: 0 0 52px;
    padding-left: 14px;
    color: #1f1f1f;
    border-left: 4px solid #252525;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 23px;
    font-weight: 800;
    letter-spacing: .04em;
    line-height: 1.15;
    text-align: left;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-report-contents ol {
    margin: 0;
    padding: 0 6px;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-report-contents li {
    margin-top: 23px;
    gap: 11px;
    color: #252525;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.55;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-report-contents li::after {
    border-bottom: 1px dotted #a1a1a1;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-report-contents li i {
    color: #555;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 12px;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-overview-page .paper-abstract {
    margin: 0;
    padding: 8px 0 26px;
    background: transparent;
    border: 0;
}

.live-report-paper[class*="fixed-report-paper-"] .paper-abstract h4,
.live-report-paper[class*="fixed-report-paper-"] .paper-references > h4 {
    margin: 0 0 28px;
    padding-left: 13px;
    color: #202020;
    border-left: 4px solid #2d2d2d;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -.02em;
    text-align: left;
}

.live-report-paper[class*="fixed-report-paper-"] .paper-abstract > p:not(.paper-keywords) {
    margin: 0;
    color: #292929;
    font-family: "Noto Serif KR", "NanumMyeongjo", "Batang", "바탕", serif;
    font-size: 16.5px;
    line-height: 2;
    text-align: justify;
    text-indent: 1em;
    word-break: keep-all;
}

.live-report-paper[class*="fixed-report-paper-"] .paper-keywords {
    margin-top: 23px;
    padding-top: 13px;
    color: #555;
    border-top: 1px solid #bcbcbc;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 12px;
    line-height: 1.65;
    text-indent: 0;
}

/* 개요 자료는 카드 대신 자료총서의 표 형식으로 정리한다. */
.live-report-paper[class*="fixed-report-paper-"] .hwp-preliminary-page > .fixed-report-visual {
    margin: 25px 0 0;
    padding: 0;
    color: #272727;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.live-report-paper[class*="fixed-report-paper-"] .fixed-report-visual-header {
    padding-bottom: 14px;
    border-bottom: 2px solid #555;
}

.live-report-paper[class*="fixed-report-paper-"] .fixed-report-visual-header span {
    display: none;
}

.live-report-paper[class*="fixed-report-paper-"] .fixed-report-visual-header h4 {
    margin: 0;
    color: #202020;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 16px;
    font-weight: 800;
}

.live-report-paper[class*="fixed-report-paper-"] .fixed-report-visual-header p {
    margin: 8px 0 0;
    color: #565656;
    font-family: "Noto Serif KR", "NanumMyeongjo", "Batang", "바탕", serif;
    font-size: 13px;
    line-height: 1.7;
}

.live-report-paper[class*="fixed-report-paper-"] .fixed-report-visual-metrics {
    margin: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border-left: 1px solid #bdbdbd;
}

.live-report-paper[class*="fixed-report-paper-"] .fixed-report-visual-metrics > div {
    padding: 11px 12px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 8px;
    background: #ededed;
    border-right: 1px solid #bdbdbd;
    border-bottom: 1px solid #bdbdbd;
    border-radius: 0;
}

.live-report-paper[class*="fixed-report-paper-"] .fixed-report-visual-metrics span,
.live-report-paper[class*="fixed-report-paper-"] .fixed-report-visual-metrics strong {
    color: #343434;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 10px;
}

.live-report-paper[class*="fixed-report-paper-"] .fixed-report-visual-canvas,
.live-report-paper[class*="fixed-report-paper-"] .fixed-report-visual.evidence .fixed-report-visual-canvas,
.live-report-paper[class*="fixed-report-paper-"] .fixed-report-visual.parallel .fixed-report-visual-canvas,
.live-report-paper[class*="fixed-report-paper-"] .fixed-report-visual.editorial .fixed-report-visual-canvas {
    margin: 0;
    display: block;
}

.live-report-paper[class*="fixed-report-paper-"] .fixed-report-visual-canvas article,
.live-report-paper[class*="fixed-report-paper-"] .fixed-report-visual.evidence .fixed-report-visual-canvas article,
.live-report-paper[class*="fixed-report-paper-"] .fixed-report-visual.parallel .fixed-report-visual-canvas article,
.live-report-paper[class*="fixed-report-paper-"] .fixed-report-visual.editorial .fixed-report-visual-canvas article {
    min-height: 0;
    padding: 11px 13px;
    display: grid;
    grid-template-columns: 74px 1fr;
    gap: 12px;
    align-items: start;
    color: #292929;
    background: #fff;
    border: 0;
    border-bottom: 1px solid #c8c8c8;
    border-radius: 0;
    box-shadow: none;
}

.live-report-paper[class*="fixed-report-paper-"] .fixed-report-visual-canvas article::before,
.live-report-paper[class*="fixed-report-paper-"] .fixed-report-visual-canvas article + article::before {
    display: none;
    content: none;
}

.live-report-paper[class*="fixed-report-paper-"] .fixed-report-visual-canvas strong {
    color: #303030;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 11px;
    font-weight: 800;
}

.live-report-paper[class*="fixed-report-paper-"] .fixed-report-visual-canvas p {
    margin: 0;
    color: #393939;
    font-family: "Noto Serif KR", "NanumMyeongjo", "Batang", "바탕", serif;
    font-size: 12px;
    line-height: 1.65;
}

/* 장 구분지 */
.live-report-paper[class*="fixed-report-paper-"] > .hwp-section-divider-page {
    padding: 0;
    grid-template-rows: 1fr;
    background: #747474;
    border-color: #747474;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-section-divider-page .hwp-a4-content {
    inset: 0;
    padding: 0;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-section-divider-page .hwp-running-footer {
    display: none;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-section-divider-page .hwp-page-watermark {
    bottom: 58px;
    width: 176px;
    opacity: .12;
    filter: grayscale(1) brightness(4);
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-chapter-page {
    height: 100%;
    padding: 194px 100px 0 72px;
    box-sizing: border-box;
    color: #fff;
    border-right: 124px solid #c9c9c9;
    text-align: right;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-chapter-page span {
    display: block;
    margin-bottom: 18px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 44px;
    font-weight: 400;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-chapter-page strong {
    display: block;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 30px;
    font-weight: 800;
    letter-spacing: -.04em;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-chapter-page h4 {
    max-width: 410px;
    margin: 24px 0 0 auto;
    color: rgba(255, 255, 255, .9);
    font-family: "Noto Serif KR", "NanumMyeongjo", "Batang", "바탕", serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.7;
    word-break: keep-all;
}

/* 본문 */
.live-report-paper[class*="fixed-report-paper-"] .hwp-body-page > .paper-section,
.fixed-report-paper-evidence .hwp-body-page > .paper-section,
.fixed-report-paper-parallel .hwp-body-page > .paper-section,
.fixed-report-paper-editorial .hwp-body-page > .paper-section {
    margin: 0;
    padding: 0;
    display: block;
    background: transparent;
    border: 0;
    border-radius: 0;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-body-page > .paper-section + .paper-section {
    margin-top: 36px;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-body-page > .paper-section.is-continuation {
    margin-top: 0;
}

.live-report-paper[class*="fixed-report-paper-"] .paper-section-heading {
    margin: 0 0 30px;
    padding: 0 0 14px;
    display: flex;
    align-items: baseline;
    gap: 12px;
    border-bottom: 1px solid #9a9a9a;
}

.live-report-paper[class*="fixed-report-paper-"] .paper-section-number,
.fixed-report-paper-evidence .paper-section-number,
.fixed-report-paper-parallel .paper-section-number,
.fixed-report-paper-editorial .paper-section-number {
    width: auto;
    height: auto;
    padding: 0;
    display: block;
    flex: 0 0 auto;
    color: #181818 !important;
    background: transparent;
    border-radius: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px !important;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0;
    text-align: left;
}

.live-report-paper[class*="fixed-report-paper-"] .paper-section-heading h4,
.fixed-report-paper-evidence .paper-section h4,
.fixed-report-paper-parallel .paper-section h4,
.fixed-report-paper-editorial .paper-section h4 {
    margin: 0;
    padding: 0 !important;
    color: #181818;
    border: 0 !important;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 23px !important;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: -.035em;
}

.live-report-paper[class*="fixed-report-paper-"] .paper-section > div:last-child,
.fixed-report-paper-parallel .paper-section > div:last-child {
    width: 100%;
    min-width: 0;
    padding: 0;
}

.live-report-paper[class*="fixed-report-paper-"] .paper-section-content {
    width: 100%;
    min-width: 0;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

.live-report-paper[class*="fixed-report-paper-"] .paper-section p,
.fixed-report-paper-evidence .paper-section p,
.fixed-report-paper-parallel .paper-section p,
.fixed-report-paper-editorial .paper-section p,
.live-report-paper[class*="fixed-report-paper-"] .hwp-final-page .paper-section p {
    margin: 0 0 19px;
    color: #292929;
    font-family: "Noto Serif KR", "NanumMyeongjo", "Batang", "바탕", serif;
    font-size: 16.5px !important;
    font-weight: 400;
    line-height: 2 !important;
    letter-spacing: -.012em;
    text-align: justify;
    text-indent: 1em;
    white-space: normal;
    word-break: normal;
    overflow-wrap: anywhere;
}

.live-report-paper[class*="fixed-report-paper-"] p.paper-section-paragraph {
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    display: block !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

.live-report-paper[class*="fixed-report-paper-"] .paper-section p.paper-section-source {
    margin: 15px 0 19px;
    padding: 13px 15px;
    color: #474d43;
    background: #f4f5f1;
    border-left: 3px solid #7b8c54;
    font-family: "Noto Sans KR", sans-serif;
    font-size: 16.5px !important;
    line-height: 1.95 !important;
    text-align: left;
    text-indent: 0;
    overflow-wrap: break-word;
}

.live-report-paper[class*="fixed-report-paper-"] .paper-section p.paper-section-limitation {
    margin: 8px 0 0;
    padding: 12px 15px;
    color: #4b4f49;
    background: #fafaf8;
    border-top: 1px solid #b8bbb4;
    border-bottom: 1px solid #dedfda;
    font-family: "Noto Sans KR", sans-serif;
    font-size: 16.5px !important;
    line-height: 1.95 !important;
    text-align: left;
    text-indent: 0;
    overflow-wrap: break-word;
}

.live-report-paper[class*="fixed-report-paper-"] .paper-section aside,
.fixed-report-paper-evidence .paper-section aside,
.fixed-report-paper-parallel .paper-section aside,
.fixed-report-paper-editorial .paper-section aside {
    margin-top: 30px;
    padding: 17px 20px;
    display: block;
    color: #303030;
    background: #ededed;
    border: 0 !important;
    border-top: 2px solid #666 !important;
    border-radius: 0;
}

.live-report-paper[class*="fixed-report-paper-"] .paper-section aside strong {
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 13px;
    font-weight: 800;
}

.live-report-paper[class*="fixed-report-paper-"] .paper-section aside ul {
    margin: 12px 0 0;
    padding-left: 18px;
    color: #3b3b3b;
    font-family: "Noto Serif KR", "NanumMyeongjo", "Batang", "바탕", serif;
    font-size: 13.5px;
    line-height: 1.8;
}

/* 참고문헌·출처 */
.live-report-paper[class*="fixed-report-paper-"] .hwp-body-page > .paper-primary-sources {
    margin: 0;
    padding: 0;
}

.live-report-paper[class*="fixed-report-paper-"] .paper-primary-sources > h4 {
    margin: 0;
    padding: 0 0 14px 13px;
    color: #202020;
    border-bottom: 1px solid #999;
    border-left: 4px solid #2d2d2d;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 19px;
    font-weight: 850;
    line-height: 1.5;
}

.live-report-paper[class*="fixed-report-paper-"] .primary-source-intro {
    margin: 14px 0 4px;
    color: #565b54;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 13.5px;
    line-height: 1.7;
}

.live-report-paper[class*="fixed-report-paper-"] .primary-source-excerpt-list {
    display: grid;
    gap: 18px;
    margin-top: 16px;
}

.live-report-paper[class*="fixed-report-paper-"] .primary-source-excerpt-card {
    padding: 18px 20px;
    background: #fafaf7;
    border: 1px solid #cfd1ca;
    border-top: 3px solid #555a52;
    break-inside: avoid;
}

.live-report-paper[class*="fixed-report-paper-"] .primary-source-excerpt-heading {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 10px;
}

.live-report-paper[class*="fixed-report-paper-"] .primary-source-tradition,
.live-report-paper[class*="fixed-report-paper-"] .primary-source-quote-type {
    flex: 0 0 auto;
    padding: 3px 7px;
    color: #fff;
    background: #555a52;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 10.5px;
    font-weight: 800;
    line-height: 1.4;
}

.live-report-paper[class*="fixed-report-paper-"] .primary-source-tradition {
    background: #6f774f;
}

.live-report-paper[class*="fixed-report-paper-"] .primary-source-excerpt-card h5 {
    flex: 1 1 180px;
    min-width: 0;
    margin: 0;
    color: #202020;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 15px;
    font-weight: 850;
    line-height: 1.55;
}

.live-report-paper[class*="fixed-report-paper-"] .primary-source-locator {
    margin: 8px 0 0;
    color: #666b63;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 11.5px;
    line-height: 1.6;
}

.live-report-paper[class*="fixed-report-paper-"] .primary-source-image-gallery {
    margin-top: 10px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.live-report-paper[class*="fixed-report-paper-"] .primary-source-image-gallery figure {
    margin: 0;
    min-width: 0;
}

.live-report-paper[class*="fixed-report-paper-"] .primary-source-image-gallery img {
    width: 100%;
    height: 168px;
    display: block;
    object-fit: contain;
    background: #eeeae3;
    border: 1px solid #d8d0c7;
}

.live-report-paper[class*="fixed-report-paper-"] .primary-source-image-gallery figcaption {
    margin-top: 4px;
    color: #66605c;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 8.5px;
    line-height: 1.4;
    text-align: center;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-primary-source-page.is-image-rich .primary-source-excerpt-list {
    grid-template-columns: minmax(0, 1fr);
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-primary-source-page.is-image-rich .primary-source-image-gallery {
    grid-template-columns: minmax(0, 1fr);
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-primary-source-page.is-image-rich .primary-source-image-gallery img {
    height: 300px;
}

.live-report-paper[class*="fixed-report-paper-"] .primary-source-quote {
    margin: 13px 0 0;
    padding: 13px 15px;
    color: #202020;
    background: #fff;
    border: 0;
    border-left: 3px solid #8b8f86;
    font-family: "Noto Serif KR", "NanumMyeongjo", "Batang", "바탕", serif;
    font-size: 15px;
    font-style: normal;
    line-height: 1.85;
    overflow-wrap: anywhere;
}

.live-report-paper[class*="fixed-report-paper-"] .primary-source-original {
    margin-top: 12px;
}

.live-report-paper[class*="fixed-report-paper-"] .primary-source-original > strong {
    color: #4f544d;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 11.5px;
    font-weight: 850;
}

.live-report-paper[class*="fixed-report-paper-"] .primary-source-original .primary-source-quote {
    margin-top: 4px;
}

.live-report-paper[class*="fixed-report-paper-"] .primary-source-translation,
.live-report-paper[class*="fixed-report-paper-"] .primary-source-comparison {
    margin-top: 12px;
}

.live-report-paper[class*="fixed-report-paper-"] .primary-source-translation strong,
.live-report-paper[class*="fixed-report-paper-"] .primary-source-comparison strong {
    color: #4f544d;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 11.5px;
    font-weight: 850;
}

.live-report-paper[class*="fixed-report-paper-"] .primary-source-translation p,
.live-report-paper[class*="fixed-report-paper-"] .primary-source-comparison p {
    margin: 4px 0 0;
    color: #30332f;
    font-family: "Noto Serif KR", "NanumMyeongjo", "Batang", "바탕", serif;
    font-size: 13px;
    line-height: 1.75;
}

.live-report-paper[class*="fixed-report-paper-"] .primary-source-comparison {
    padding-top: 10px;
    border-top: 1px dotted #b9bbb5;
}

.live-report-paper[class*="fixed-report-paper-"] .primary-source-excerpt-card > a,
.live-report-paper[class*="fixed-report-paper-"] .primary-source-excerpt-card > .source-link-unavailable {
    margin-top: 10px;
    display: inline-block;
    color: #343434;
    border-bottom: 1px solid #777;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 11.5px;
    font-weight: 750;
    text-decoration: none;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-body-page > .paper-references {
    margin: 0;
    padding: 0;
    border: 0;
}

.live-report-paper[class*="fixed-report-paper-"] .draft-source-list {
    display: block;
    counter-reset: source-item;
}

.live-report-paper[class*="fixed-report-paper-"] .draft-source-card {
    position: relative;
    padding: 17px 0 17px 31px;
    counter-increment: source-item;
    background: transparent;
    border: 0;
    border-bottom: 1px solid #c9c9c9;
    border-radius: 0;
    box-shadow: none;
}

.live-report-paper[class*="fixed-report-paper-"] .draft-source-card::before {
    position: absolute;
    top: 19px;
    left: 0;
    color: #454545;
    content: counter(source-item) ".";
    font-family: Georgia, "Times New Roman", serif;
    font-size: 14px;
}

.live-report-paper[class*="fixed-report-paper-"] .draft-source-card h5 {
    margin: 0;
    color: #202020;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 15.5px;
    font-weight: 800;
    line-height: 1.55;
}

.live-report-paper[class*="fixed-report-paper-"] .draft-source-card h5::before {
    display: none;
    content: none;
}

.live-report-paper[class*="fixed-report-paper-"] .draft-source-card > p {
    margin: 8px 0 0;
    color: #303030;
    font-family: "Noto Serif KR", "NanumMyeongjo", "Batang", "바탕", serif;
    font-size: 14.5px;
    line-height: 1.78;
    text-align: left;
}

.live-report-paper[class*="fixed-report-paper-"] .draft-source-card > small {
    margin-top: 7px;
    color: #5a5a5a;
    font-family: "Noto Serif KR", "NanumMyeongjo", "Batang", "바탕", serif;
    font-size: 13px;
    line-height: 1.65;
}

.live-report-paper[class*="fixed-report-paper-"] .draft-source-card > a {
    margin-top: 8px;
    display: inline-block;
    color: #343434;
    border-bottom: 1px solid #777;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

.live-report-paper[class*="fixed-report-paper-"] .draft-source-card > .source-link-unavailable {
    margin-top: 8px;
    color: #666;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 12px;
    font-weight: 700;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-body-page > .live-report-limitations {
    margin: 0;
    padding: 0;
    color: #303030;
    background: transparent;
    border: 0;
    border-radius: 0;
    font-family: "Noto Serif KR", "NanumMyeongjo", "Batang", "바탕", serif;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-body-page > .live-report-limitations strong {
    padding: 0 0 14px 13px;
    border-bottom: 1px solid #999;
    border-left: 4px solid #2d2d2d;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 20px;
    font-weight: 800;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-body-page > .live-report-limitations ul {
    margin: 26px 0 0;
    padding-left: 21px;
    color: #303030;
    font-size: 15px;
    line-height: 1.95;
}

/* 독도 특화 보고서: 사용자가 제공한 「동북아역사리포트」의 밀도 높은 편집 문법 */
.fixed-report-theme-dokdo > .hwp-a4-page {
    border-color: #c9b6b4;
    background: #fffdfa;
}

.fixed-report-theme-dokdo .hwp-cover-page {
    background: #d98289;
    border-color: #b95e66;
}

.fixed-report-theme-dokdo .hwp-cover-page .hwp-running-header,
.fixed-report-theme-dokdo .hwp-cover-page .hwp-running-footer,
.fixed-report-theme-dokdo .hwp-cover-page .hwp-page-watermark {
    display: none;
}

.fixed-report-theme-dokdo .hwp-cover-page .hwp-a4-content {
    padding: 28px 18px;
}

.fixed-report-theme-dokdo .paper-cover {
    min-height: 100%;
    padding: 42px 40px 36px;
    justify-content: flex-start;
    align-items: stretch;
    color: #761f2a;
    background: #d98289;
    border: 3px solid #8f2732;
    box-shadow: inset 0 0 0 9px #d98289, inset 0 0 0 11px #a63e48;
}

.fixed-report-theme-dokdo .hwp-cover-series {
    margin: 0 !important;
    padding-bottom: 18px;
    display: flex !important;
    justify-content: space-between;
    align-items: flex-end;
    border-bottom: 2px solid #8f2732;
    color: #761f2a;
}

.fixed-report-theme-dokdo .hwp-cover-series span,
.fixed-report-theme-dokdo .hwp-cover-series strong {
    color: inherit;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
}

.fixed-report-theme-dokdo .hwp-cover-series span { font-size: 17px; font-weight: 900; letter-spacing: .08em; }
.fixed-report-theme-dokdo .hwp-cover-series strong { font-size: 10px; letter-spacing: .06em; }

.fixed-report-theme-dokdo .hwp-cover-title-panel {
    margin: 118px 0 0 !important;
    padding: 0 28px !important;
    text-align: center;
}

.fixed-report-theme-dokdo .paper-cover .hwp-cover-label {
    display: block;
    color: #7a2630;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .18em;
}

.fixed-report-theme-dokdo .paper-cover h3 {
    max-width: none;
    margin: 22px 0 0;
    color: #641823;
    font-family: "Noto Serif KR", "NanumMyeongjo", "Batang", serif;
    font-size: 41px;
    font-weight: 800;
    line-height: 1.42;
    text-align: center;
}

.fixed-report-theme-dokdo .paper-cover .hwp-cover-title-panel > p {
    margin: 18px 0 0;
    color: #7d2b35;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
}

.fixed-report-theme-dokdo .hwp-cover-credits {
    margin: 70px auto 0 !important;
    padding-top: 16px;
    display: grid !important;
    gap: 7px !important;
    border-top: 1px solid #a23b45;
    color: #76242e;
    font-size: 10px;
}

.fixed-report-theme-dokdo .hwp-cover-institution {
    width: 190px;
    margin: auto auto 0 !important;
    filter: sepia(1) saturate(4) hue-rotate(305deg) brightness(.55);
}

.fixed-report-theme-dokdo .hwp-running-header {
    margin: -28px -52px 0;
    padding: 9px 52px 8px;
    color: #55504d;
    background: #dedbd7;
    border: 0;
    font-weight: 700;
}

.fixed-report-theme-dokdo .hwp-running-header span:first-child { color: #8c2631; }
.fixed-report-theme-dokdo .hwp-running-footer { color: #6c6662; border-top-color: #b9b4ae; }
.fixed-report-theme-dokdo .hwp-running-footer strong { color: #962b37; }
.fixed-report-theme-dokdo .hwp-page-watermark { opacity: .025; }

.fixed-report-theme-dokdo .hwp-a4-content { padding: 34px 12px 22px; }
.fixed-report-theme-dokdo .hwp-report-contents h4,
.fixed-report-theme-dokdo .paper-abstract h4,
.fixed-report-theme-dokdo .paper-section h4,
.fixed-report-theme-dokdo .paper-primary-sources > h4,
.fixed-report-theme-dokdo .paper-references > h4 { color: #982c37 !important; }

.fixed-report-theme-dokdo .hwp-report-contents {
    padding: 18px 12px 22px;
    border-top: 5px solid #a32d39;
}

.fixed-report-theme-dokdo .hwp-report-contents h4 { margin-bottom: 28px; font-size: 22px; }
.fixed-report-theme-dokdo .hwp-report-contents li { margin-top: 13px; font-size: 12.5px; }

.fixed-report-theme-dokdo .paper-abstract {
    margin: 0 !important;
    padding: 22px 24px !important;
    background: #f6f1ec;
    border-top: 4px solid #9e3039;
    border-bottom: 1px solid #d4c5bd;
}

.fixed-report-theme-dokdo .paper-abstract > p:not(.paper-keywords) {
    font-size: 12.8px !important;
    line-height: 1.75 !important;
    text-align: justify;
}

.fixed-report-theme-dokdo .fixed-report-visual {
    margin-top: 24px !important;
    padding: 17px 19px !important;
    background: #f3e9e2;
    border-top-color: #a3303c;
}

.fixed-report-theme-dokdo .fixed-report-visual-header h4 { color: #8c2631; font-size: 18px; }
.fixed-report-theme-dokdo .fixed-report-visual-metrics { margin-top: 15px; }
.fixed-report-theme-dokdo .fixed-report-visual-metrics div { padding: 9px 10px; }
.fixed-report-theme-dokdo .fixed-report-visual-canvas { margin-top: 13px; grid-template-columns: repeat(3, 1fr); }
.fixed-report-theme-dokdo .fixed-report-visual-canvas article { min-height: 82px; padding: 11px; border-bottom-color: #b34851; }
.fixed-report-theme-dokdo .fixed-report-visual-canvas strong { color: #972d38; font-size: 13px; }
.fixed-report-theme-dokdo .fixed-report-visual-canvas p { font-size: 10.5px; line-height: 1.55; }

.fixed-report-theme-dokdo .hwp-body-page > .paper-section,
.fixed-report-theme-dokdo .hwp-final-page > .paper-section {
    margin: 0;
    padding: 0;
    display: block;
    background: transparent;
    border: 0;
}

.fixed-report-theme-dokdo .paper-section-heading {
    margin-bottom: 17px;
    padding: 0 0 11px;
    border-bottom: 1px solid #bcb5af;
}

.fixed-report-theme-dokdo .paper-section-number {
    width: auto;
    height: auto;
    margin-bottom: 4px;
    display: block;
    color: #a0323c !important;
    background: transparent;
    border-radius: 0;
    font-family: Georgia, serif;
    font-size: 12px !important;
    text-align: left;
}

.fixed-report-theme-dokdo .paper-section h4 {
    padding: 0;
    border: 0 !important;
    font-family: "Noto Serif KR", "NanumMyeongjo", "Batang", serif;
    font-size: 22px !important;
    line-height: 1.5;
}

.fixed-report-theme-dokdo .paper-section-content { display: block; }
.fixed-report-theme-dokdo .paper-section p {
    margin: 0 0 12px;
    color: #292523;
    font-family: "Noto Serif KR", "NanumMyeongjo", "Batang", serif;
    font-size: 13.2px !important;
    line-height: 1.82 !important;
    letter-spacing: -.012em;
    word-break: normal;
    text-align: justify;
    text-indent: 1em;
}

.fixed-report-theme-dokdo .paper-section .paper-section-source {
    margin: 14px 0 0;
    padding: 10px 12px;
    color: #5a4040;
    background: #f4ece8;
    border: 0;
    border-top: 1px solid #c78f91;
    border-bottom: 1px solid #d8b7b5;
    font-size: 10.8px !important;
    line-height: 1.62 !important;
    text-indent: 0;
}

.fixed-report-theme-dokdo .primary-source-intro { margin-bottom: 14px; font-size: 11.5px; line-height: 1.6; }
.fixed-report-theme-dokdo .primary-source-excerpt-list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.fixed-report-theme-dokdo .primary-source-excerpt-card { padding: 12px; border-top-color: #a3303c; }
.fixed-report-theme-dokdo .primary-source-excerpt-card h5 { font-size: 12.5px; }
.fixed-report-theme-dokdo .primary-source-locator { font-size: 9.5px; }
.fixed-report-theme-dokdo .primary-source-original { margin-top: 8px; }
.fixed-report-theme-dokdo .primary-source-original > strong { font-size: 10px; }
.fixed-report-theme-dokdo .primary-source-quote { margin-top: 8px; padding: 8px 10px; font-size: 12px; line-height: 1.6; }
.fixed-report-theme-dokdo .primary-source-comparison { margin-top: 8px; padding-top: 7px; }
.fixed-report-theme-dokdo .primary-source-comparison p { font-size: 10.5px; line-height: 1.55; }
.fixed-report-theme-dokdo .primary-source-excerpt-card > a { margin-top: 6px; font-size: 9.5px; }

.fixed-report-theme-dokdo .paper-references > h4 { padding-bottom: 10px; border-bottom: 2px solid #9e3039; font-size: 20px; }
.fixed-report-theme-dokdo .draft-source-list { display: grid; grid-template-columns: 1fr 1fr; column-gap: 22px; }
.fixed-report-theme-dokdo .draft-source-card { padding: 9px 0 9px 22px; break-inside: avoid; }
.fixed-report-theme-dokdo .draft-source-card::before { top: 11px; color: #9a303a; font-size: 11px; }
.fixed-report-theme-dokdo .draft-source-card h5 { font-size: 11.5px; line-height: 1.45; }
.fixed-report-theme-dokdo .draft-source-card > p { margin-top: 4px; font-size: 9.7px; line-height: 1.48; }
.fixed-report-theme-dokdo .draft-source-card > small { margin-top: 3px; font-size: 9.4px; line-height: 1.45; }
.fixed-report-theme-dokdo .draft-source-card > a { margin-top: 4px; font-size: 9.5px; }

@media (max-width: 760px) {
    .fixed-report-evidence .live-report-document,
    .fixed-report-parallel .live-report-document,
    .fixed-report-editorial .live-report-document {
        padding: 14px 8px 24px;
    }

    .live-report-paper[class*="fixed-report-paper-"] > .hwp-a4-page {
        padding: 0 66px 24px;
    }

    .live-report-paper[class*="fixed-report-paper-"] .hwp-a4-content {
        inset: 0 66px 54px;
        padding: 66px 8px 48px;
    }

    .live-report-paper[class*="fixed-report-paper-"] .hwp-cover-page,
    .live-report-paper[class*="fixed-report-paper-"] .hwp-section-divider-page {
        padding: 0;
    }

    .live-report-paper[class*="fixed-report-paper-"] .hwp-cover-page .hwp-a4-content,
    .live-report-paper[class*="fixed-report-paper-"] .hwp-section-divider-page .hwp-a4-content {
        inset: 0;
        padding: 0;
    }
}

/* 재정·금융정책 자료총서 PDF 기준 보고서 양식 */
.live-report-paper[class*="fixed-report-paper-"] > .hwp-a4-page {
    background: #fff;
    border-color: #bdbdbb;
}

.live-report-paper[class*="fixed-report-paper-"] > .hwp-section-divider-page {
    background: #747474;
    border-color: #747474;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-body-sheet .hwp-a4-content,
.live-report-paper[class*="fixed-report-paper-"] .hwp-preliminary-sheet .hwp-a4-content {
    padding-top: 92px;
    padding-bottom: 76px;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-cover-institution img {
    filter: none;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-page-watermark {
    bottom: 58px;
    width: 190px;
    opacity: 1;
    filter: none;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-section-divider-page .hwp-page-watermark {
    bottom: 52px;
    width: 190px;
    opacity: 1;
    filter: none;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-report-contents {
    margin: 0;
    padding: 0;
    color: #222;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-report-contents h4 {
    margin: 0 0 88px;
    padding: 0 0 0 12px;
    border: 0;
    border-left: 2px solid #242424;
    font-size: 21px;
    line-height: 1.1;
    letter-spacing: -.02em;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-report-contents ol {
    width: 100%;
    margin: 0;
    padding: 0 46px 0 52px;
    display: block !important;
    box-sizing: border-box;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-report-contents li {
    width: 100%;
    margin: 0 0 35px;
    padding: 0;
    display: flex !important;
    align-items: baseline;
    color: #292929;
    font-size: 14px;
    font-weight: 600;
    border: 0;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-report-contents li::after {
    height: 1px;
    margin: 0 4px;
    flex: 1;
    order: 2;
    content: "";
    border-bottom: 1px dotted #aaa;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-report-contents li span {
    order: 1;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-report-contents li i {
    order: 3;
    color: #555;
    font-size: 13px;
    font-weight: 400;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-findings-kicker {
    display: none;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-report-findings {
    margin: 0;
    padding: 0;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-report-findings > h4 {
    margin: 0 0 52px;
    padding: 0 0 0 12px;
    border: 0;
    border-left: 2px solid #242424;
    color: #202020;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 21px;
    font-weight: 800;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-report-findings li {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 13px;
    padding: 12px 0 17px;
    border: 0;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-report-findings li strong {
    color: #424242;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 14px;
    font-weight: 400;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-report-findings li p {
    color: #2e2e2e;
    font-family: "Noto Serif KR", "NanumMyeongjo", "Batang", "바탕", serif;
    font-size: 15.5px;
    line-height: 1.95;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-report-findings aside {
    margin-top: 29px;
    padding: 17px 0 0;
    color: #393939;
    background: transparent;
    border: 0;
    border-top: 1px solid #aaa;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-report-findings aside strong,
.live-report-paper[class*="fixed-report-paper-"] .hwp-report-findings aside p {
    color: #444;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-chapter-page {
    position: relative;
    height: 100%;
    padding: 0;
    color: #fff;
    border: 0;
    text-align: right;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-chapter-page::before {
    position: absolute;
    top: 0;
    right: 82px;
    width: 80px;
    height: 200px;
    content: "";
    background: #d0d0d0;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-chapter-page span {
    position: absolute;
    top: 88px;
    right: 94px;
    margin: 0;
    color: #353535;
    font-size: 48px;
    line-height: 1;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-chapter-page strong {
    position: absolute;
    top: 268px;
    right: 94px;
    max-width: 500px;
    font-size: 32px;
    line-height: 1.38;
    word-break: keep-all;
}

.live-report-paper[class*="fixed-report-paper-"] .hwp-chapter-page h4 {
    position: absolute;
    top: 326px;
    right: 94px;
    max-width: 470px;
    margin: 0;
    font-size: 17px;
    line-height: 1.72;
}

.live-report-paper[class*="fixed-report-paper-"] .paper-section-heading {
    margin: 0 0 28px;
    padding: 0;
    gap: 13px;
    border: 0;
}

.live-report-paper[class*="fixed-report-paper-"] .paper-section-number,
.fixed-report-paper-evidence .paper-section-number,
.fixed-report-paper-parallel .paper-section-number,
.fixed-report-paper-editorial .paper-section-number {
    font-size: 25px !important;
    font-weight: 500;
}

.live-report-paper[class*="fixed-report-paper-"] .paper-section-heading h4,
.fixed-report-paper-evidence .paper-section h4,
.fixed-report-paper-parallel .paper-section h4,
.fixed-report-paper-editorial .paper-section h4 {
    font-size: 24px !important;
    line-height: 1.32;
}

.live-report-paper[class*="fixed-report-paper-"] .paper-section p,
.fixed-report-paper-evidence .paper-section p,
.fixed-report-paper-parallel .paper-section p,
.fixed-report-paper-editorial .paper-section p,
.live-report-paper[class*="fixed-report-paper-"] .hwp-final-page .paper-section p {
    margin-bottom: 17px;
    color: #303030;
    font-size: 16.5px !important;
    line-height: 2 !important;
}

.live-report-paper[class*="fixed-report-paper-"] .paper-section p.paper-section-source {
    margin: 13px 0 11px;
    padding: 10px 0 0;
    color: #494949;
    background: transparent;
    border: 0;
    border-top: 1px solid #aaa;
    font-family: "Noto Serif KR", "NanumMyeongjo", "Batang", "바탕", serif;
    font-size: 16.5px !important;
    line-height: 1.95 !important;
}

.live-report-paper[class*="fixed-report-paper-"] .paper-section p.paper-section-source + p.paper-section-source {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.live-report-paper[class*="fixed-report-paper-"] .paper-section p.paper-section-limitation {
    margin: 9px 0 0;
    padding: 9px 0 0;
    color: #555;
    background: transparent;
    border: 0;
    border-top: 1px dotted #aaa;
    font-family: "Noto Serif KR", "NanumMyeongjo", "Batang", "바탕", serif;
    font-size: 16.5px !important;
    line-height: 1.95 !important;
}

.live-report-paper[class*="fixed-report-paper-"] .draft-source-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 34px;
}

.live-report-paper[class*="fixed-report-paper-"] .draft-source-card {
    min-width: 0;
    padding: 14px 0 14px 23px;
}

.live-report-paper[class*="fixed-report-paper-"] .draft-source-card::before {
    top: 16px;
    font-size: 13.5px;
}

.live-report-paper[class*="fixed-report-paper-"] .draft-source-card h5 {
    font-size: 15.5px;
    line-height: 1.6;
}

.live-report-paper[class*="fixed-report-paper-"] .draft-source-card > p {
    margin-top: 6px;
    font-size: 15px;
    line-height: 1.75;
    overflow-wrap: anywhere;
}

.live-report-paper[class*="fixed-report-paper-"] .draft-source-card > small {
    margin-top: 5px;
    font-size: 14px;
    line-height: 1.7;
}

.live-report-paper[class*="fixed-report-paper-"] .draft-source-card > a,
.live-report-paper[class*="fixed-report-paper-"] .draft-source-card > .source-link-unavailable {
    margin-top: 6px;
    font-size: 13.5px;
}

@media (max-width: 760px) {
    .live-report-paper[class*="fixed-report-paper-"] .draft-source-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.fixed-example-process {
    width: min(1040px, calc(100% - 32px));
    margin: 28px auto 40px;
    padding: 25px;
    color: #344033;
    background: #fbfcf9;
    border: 1px solid #dce4d7;
    border-radius: 18px;
    box-shadow: 0 18px 45px rgba(43, 56, 37, .07);
}

.fixed-example-process > header > span {
    color: #6d8535;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .08em;
}

.fixed-example-process > header h2 { margin: 8px 0 5px; color: #222a20; font-size: 20px; }
.fixed-example-process > header p { margin: 0; color: #737d70; font-size: 11px; }

.fixed-process-stages {
    margin: 24px 0 0;
    padding: 17px 18px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background: #fff;
    border: 1px solid #e2e7de;
    border-radius: 13px;
    list-style: none;
}

.fixed-process-stages li { position: relative; display: flex; align-items: center; gap: 9px; color: #9aa196; font-size: 10px; }
.fixed-process-stages li:not(:last-child)::after { position: absolute; top: 14px; left: 34px; right: 8px; height: 1px; content: ""; background: #e0e5dc; }
.fixed-process-stages li > span { position: relative; z-index: 1; width: 28px; height: 28px; flex: 0 0 28px; display: grid; place-items: center; background: #fff; border: 1px solid #d9dfd5; border-radius: 50%; font-size: 9px; }
.fixed-process-stages li strong { position: relative; z-index: 1; padding-right: 7px; background: #fff; }
.fixed-process-stages li.is-active { color: #596f2f; }
.fixed-process-stages li.is-active > span { color: #fff; background: #7a923e; border-color: #7a923e; box-shadow: 0 0 0 6px rgba(122, 146, 62, .11); animation: pipeline-marker-pulse 1s ease-in-out infinite alternate; }
.fixed-process-stages li.is-complete { color: #627054; }
.fixed-process-stages li.is-complete > span { color: #fff; background: #71883c; border-color: #71883c; }
.fixed-process-stages li.is-complete > span .icon { width: 13px; height: 13px; }
.fixed-process-stages li.is-complete:not(:last-child)::after { background: #9ead79; }

.fixed-process-workspace { margin-top: 14px; display: grid; grid-template-columns: 1.35fr .8fr; gap: 12px; }
.fixed-process-map,
.fixed-process-sources { min-height: 214px; padding: 18px; background: #f5f6f0; border: 1px solid #e0e5d9; border-radius: 13px; }
.fixed-process-map { position: relative; overflow: hidden; background-image: radial-gradient(circle at 20% 75%, rgba(118, 143, 73, .12) 0 3px, transparent 4px), radial-gradient(circle at 78% 22%, rgba(161, 92, 49, .1) 0 4px, transparent 5px); }
.fixed-process-map > strong,
.fixed-process-sources > strong { display: block; margin-bottom: 17px; color: #3d4838; font-size: 11px; }
.fixed-process-map > span { position: absolute; width: 92px; height: 92px; display: grid; place-items: center; padding: 13px; opacity: .18; color: #586948; background: #fff; border: 1px solid #aebd9c; border-radius: 50%; font-size: 9px; font-weight: 750; text-align: center; transform: scale(.82); transition: opacity 320ms ease, transform 320ms ease, box-shadow 320ms ease; }
.fixed-process-map > span:nth-of-type(1) { left: 7%; top: 42%; }
.fixed-process-map > span:nth-of-type(2) { left: 32%; top: 27%; }
.fixed-process-map > span:nth-of-type(3) { left: 57%; top: 43%; }
.fixed-process-map > span:nth-of-type(4) { right: 5%; top: 25%; border-color: #bd7b58; color: #8a4f30; }
.fixed-process-map > span:not(:last-child)::after { position: absolute; left: 100%; top: 50%; width: 62px; border-top: 1px dashed #8ca072; content: ""; }
.fixed-process-map > span.is-visible { opacity: 1; transform: scale(1); box-shadow: 0 8px 20px rgba(54, 70, 44, .08); }
.fixed-process-sources { background: #fff; }
.fixed-process-sources article { margin-top: 9px; padding: 11px; display: grid; grid-template-columns: 29px 1fr auto; align-items: center; gap: 9px; color: #657061; background: #fafbf9; border: 1px solid #e5e9e2; border-radius: 9px; }
.fixed-process-sources article i { width: 29px; height: 35px; display: grid; place-items: center; color: #846b43; background: #eee4d2; border-radius: 3px; font-size: 8px; font-style: normal; }
.fixed-process-sources article span { font-size: 9px; font-weight: 750; }
.fixed-process-sources article em { color: #9aa196; font-size: 8px; font-style: normal; }
.fixed-process-sources article.is-complete em { color: #647b35; font-weight: 800; }
.fixed-process-status { margin-top: 13px; padding: 12px 14px; display: flex; align-items: center; gap: 13px; color: #5e6a58; background: #f2f5ed; border-radius: 10px; font-size: 9px; }
.fixed-process-status span { padding: 5px 7px; color: #fff; background: #78903e; border-radius: 6px; font-weight: 850; }
.fixed-process-status strong { font-weight: 700; }
.fixed-example-process.comparison .fixed-process-status span,
.fixed-example-process.comparison .fixed-process-stages li.is-active > span { background: #56808a; border-color: #56808a; }
.fixed-example-process.report .fixed-process-status span,
.fixed-example-process.report .fixed-process-stages li.is-active > span { background: #9a5835; border-color: #9a5835; }

.fixed-process-workspace { grid-template-columns: minmax(0, 1.8fr) minmax(220px, .72fr); }
.fixed-process-map {
    min-height: 330px;
    overflow: hidden;
    background: #fff;
    background-image: none;
}

.fixed-process-matrix {
    overflow: hidden;
    border-top: 1px solid #dfe4da;
    border-left: 1px solid #e6e9e2;
    border-radius: 9px;
}

.fixed-matrix-header,
.fixed-matrix-row {
    display: grid;
    grid-template-columns: 1.05fr repeat(3, 1fr) .8fr;
}

.fixed-matrix-header {
    color: #677160;
    background: #f6f7f3;
    font-size: 8px;
    font-weight: 800;
    text-align: center;
}

.fixed-matrix-header span,
.fixed-matrix-source,
.fixed-matrix-cell {
    min-width: 0;
    padding: 10px;
    border-right: 1px solid #e6e9e2;
    border-bottom: 1px solid #e6e9e2;
}

.fixed-matrix-row { min-height: 74px; }
.fixed-matrix-source { display: flex; align-items: center; gap: 8px; background: #fbfbf8; }
.fixed-matrix-source > .icon { width: 22px; height: 22px; padding: 5px; flex: 0 0 22px; color: #8a7249; background: #efe5d2; border-radius: 5px; }
.fixed-matrix-source span,
.fixed-matrix-source strong,
.fixed-matrix-source small { display: block; }
.fixed-matrix-source strong { color: #3c4539; font-size: 8px; }
.fixed-matrix-source small { margin-top: 3px; color: #8a9185; font-size: 7px; }

.fixed-matrix-cell {
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    color: #8c9488;
    background: #fff;
    font-size: 7.5px;
    line-height: 1.45;
    transition: color 300ms ease, background-color 300ms ease, box-shadow 300ms ease;
}
.fixed-matrix-cell i { color: #c8cec3; font-size: 6px; font-style: normal; letter-spacing: 1px; }
.fixed-matrix-cell.is-complete { color: #4e5b47; background: #fafbf8; }
.fixed-matrix-cell.is-complete::after { position: absolute; top: 7px; right: 7px; width: 12px; height: 12px; display: grid; place-items: center; color: #fff; background: #78913e; border-radius: 50%; content: "✓"; font-size: 7px; }
.fixed-matrix-cell.is-complete i { color: #718a3c; }
.fixed-matrix-cell.is-active {
    z-index: 1;
    color: #405034;
    background: #f8faF4;
    box-shadow: inset 0 0 0 2px #91a85a, 0 0 18px rgba(112, 139, 70, .14);
    animation: fixed-matrix-scan 1.2s ease-in-out infinite alternate;
}
.fixed-matrix-cell.is-active i { color: #78913e; }
.fixed-matrix-conclusion { justify-content: center; color: #a0a69d; text-align: center; }
.fixed-matrix-conclusion.is-active { color: #7b5438; background: #fffaf5; box-shadow: inset 0 0 0 2px #c99570; }

.fixed-process-sources { min-height: 330px; }
.fixed-process-sources article {
    position: relative;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    padding: 12px 11px 17px;
    overflow: hidden;
}
.fixed-process-sources article i { height: 40px; }
.fixed-process-sources article i .icon { width: 15px; height: 15px; }
.fixed-process-sources article span,
.fixed-process-sources article span strong,
.fixed-process-sources article span small { display: block; }
.fixed-process-sources article span strong { color: #485344; font-size: 8px; }
.fixed-process-sources article span small { margin-top: 3px; color: #92998e; font-size: 7px; }
.fixed-process-sources article b { position: absolute; right: 10px; bottom: 7px; left: 55px; height: 3px; overflow: hidden; background: #e8ebe5; border-radius: 9px; }
.fixed-process-sources article b::after { width: 32%; height: 100%; display: block; content: ""; background: #8ba04e; border-radius: inherit; transition: width 500ms ease; }
.fixed-process-sources article.is-complete b::after { width: 100%; }

@keyframes fixed-matrix-scan {
    from { box-shadow: inset 0 0 0 2px #91a85a, 0 0 8px rgba(112, 139, 70, .08); }
    to { box-shadow: inset 0 0 0 2px #78913e, 0 0 22px rgba(112, 139, 70, .2); }
}

/* Completed-example process: restored six-stage research pipeline. */
.fixed-example-process {
    position: relative;
    width: min(1120px, calc(100% - 32px));
    padding: 34px 32px 27px;
    background: #fff;
    border: 4px solid #738347;
    border-radius: 25px;
    box-shadow: 0 18px 42px rgba(54, 64, 42, .08), inset 0 0 0 7px #fff, inset 0 0 0 9px #dfe5d8;
}

.fixed-process-heading-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.fixed-process-live-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #4f6425;
    font-size: 10px;
    font-weight: 850;
}
.fixed-process-live-badge i { width: 8px; height: 8px; background: #82983e; border-radius: 50%; box-shadow: 0 0 0 6px #f1f4eb; }
.fixed-process-count { padding: 6px 9px; color: #566050; background: #f3f4f0; border-radius: 9px; font-size: 10px; }
.fixed-example-process > header h2 { margin: 13px 0 5px; font-size: 22px; }
.fixed-example-process > header p { font-size: 11px; }

.fixed-process-progress {
    height: 5px;
    margin-top: 21px;
    overflow: hidden;
    background: #eaede6;
    border-radius: 999px;
}
.fixed-process-progress span { height: 100%; display: block; background: #78923b; border-radius: inherit; transition: width 420ms ease; }

.fixed-process-stages {
    margin-top: 24px;
    padding: 0 8px;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    background: transparent;
    border: 0;
    border-radius: 0;
}
.fixed-process-stages li {
    position: relative;
    min-width: 0;
    display: flex;
    align-items: center;
    flex-direction: column;
    padding: 0 8px;
    color: #81897d;
    text-align: center;
}
.fixed-process-stages li:not(:last-child)::after {
    top: 14px;
    left: calc(50% + 15px);
    right: calc(-50% + 15px);
    background: #dce2d7;
}
.fixed-process-stages li > span { width: 29px; height: 29px; margin-bottom: 10px; }
.fixed-process-stages li > div { position: relative; z-index: 1; width: 100%; }
.fixed-process-stages li strong,
.fixed-process-stages li small { display: block; padding: 0; background: transparent; }
.fixed-process-stages li strong { color: inherit; font-size: 9px; line-height: 1.4; }
.fixed-process-stages li small { max-width: 128px; margin: 4px auto 0; color: #8a9186; font-size: 7.5px; line-height: 1.45; word-break: keep-all; }
.fixed-process-stages li.is-active { color: #20271e; }
.fixed-process-stages li.is-active > span { background: #738832; border-color: #738832; }
.fixed-process-stages li.is-complete > span { background: #8ca54b; border-color: #8ca54b; }
.fixed-process-stages li.is-complete:not(:last-child)::after { background: #9cae73; }

.fixed-process-activity {
    margin-top: 24px;
    padding: 18px 20px;
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    align-items: center;
    gap: 16px;
    background: #f8faf5;
    border: 1px solid #dfe5d8;
    border-radius: 13px;
}
.fixed-process-activity-icon { width: 48px; height: 48px; display: grid; place-items: center; color: #61782c; background: #eef4df; border: 7px solid #f5f8ed; border-radius: 50%; }
.fixed-process-activity-icon .icon { width: 21px; height: 21px; }
.fixed-process-activity-copy h3 { margin: 0; color: #384233; font-size: 13px; }
.fixed-process-activity-copy p { margin: 5px 0 0; color: #697265; font-size: 10px; }
.fixed-process-metrics { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 6px; }
.fixed-process-metrics span { padding: 5px 7px; color: #596450; background: #fff; border: 1px solid #d9e0d2; border-radius: 5px; font-size: 8px; font-weight: 750; }

.fixed-process-status {
    margin-top: 17px;
    padding: 0;
    justify-content: space-between;
    color: #6d7669;
    background: transparent;
    border-radius: 0;
}
.fixed-process-status span { padding: 0; color: #6d7669; background: transparent !important; font-weight: 500; }
.fixed-process-status strong { color: #68745c; font-size: 9px; }

@media (max-width: 760px) {
    .fixed-example-process { padding: 28px 20px 22px; border-width: 3px; }
    .fixed-process-stages { grid-template-columns: repeat(2, 1fr); gap: 18px 8px; }
    .fixed-process-stages li::after { display: none; }
    .fixed-process-workspace { grid-template-columns: 1fr; }
    .fixed-process-map { min-height: 280px; }
    .fixed-process-matrix { overflow-x: auto; }
    .fixed-matrix-header,
    .fixed-matrix-row { min-width: 660px; }
    .fixed-process-activity { grid-template-columns: 42px 1fr; padding: 15px; }
    .fixed-process-activity-icon { width: 40px; height: 40px; border-width: 5px; }
}

@media (max-width: 760px) {
    .fixed-report-visual.evidence .fixed-report-visual-canvas,
    .fixed-report-visual.editorial .fixed-report-visual-canvas { grid-template-columns: 1fr; }
    .fixed-report-visual.evidence .fixed-report-visual-canvas article { min-height: 92px; border-radius: 12px; }
    .fixed-report-visual.evidence .fixed-report-visual-canvas article + article::before { display: none; }
}

.generated-report {
    margin-top: 18px;
    padding: 28px;
    background: #f1f2ef;
    border: 0;
    border-radius: 0;
}

.hwp-report-paper {
    max-width: 720px;
    margin: 0 auto;
    padding: 42px 48px 34px;
    color: #252825;
    background: #fff;
    box-shadow: 0 7px 22px rgba(37, 44, 34, 0.09);
    font-family: "Noto Serif KR", "Nanum Myeongjo", "Batang", "바탕", serif;
}

.hwp-report-header {
    position: relative;
    padding: 6px 0 25px;
    text-align: center;
}

.generated-report .draft-label {
    position: absolute;
    top: 0;
    right: 0;
    padding: 4px 7px;
    color: #62685f;
    background: #eff0ed;
    border-radius: 2px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
    font-size: 8px;
    font-weight: 800;
}

.hwp-report-kicker {
    display: block;
    color: #6b7169;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
    font-size: 8px;
    font-weight: 750;
    letter-spacing: 0.22em;
}

.hwp-report-header h4 {
    margin: 15px 0 0;
    color: #202320;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: -0.035em;
}

.hwp-report-header h4 strong {
    font-size: 25px;
    font-weight: 800;
}

.hwp-report-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    margin: 0 0 30px;
    padding: 1px;
    background: #dfe1dc;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
}

.hwp-report-meta div {
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr);
    min-height: 37px;
    background: #fff;
}

.hwp-report-meta dt,
.hwp-report-meta dd {
    margin: 0;
    padding: 10px 11px;
    font-size: 9px;
    line-height: 1.55;
}

.hwp-report-meta dt {
    color: #505650;
    background: #f4f5f2;
    font-weight: 800;
}

.hwp-report-meta dd {
    color: #3e443e;
    font-weight: 600;
}

.hwp-report-body {
    counter-reset: report-part;
}

.hwp-report-part + .hwp-report-part {
    margin-top: 24px;
}

.hwp-report-part h5,
.hwp-report-part h6 {
    margin: 0;
    color: #242724;
}

.hwp-report-part h5 {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: -0.025em;
}

.hwp-report-part h5 span {
    display: inline-block;
    width: 20px;
}

.hwp-report-subpart {
    margin: 14px 0 0 20px;
}

.hwp-report-subpart h6 {
    font-size: 11px;
    font-weight: 750;
}

.generated-report .hwp-report-body p {
    margin: 9px 0 0 20px;
    color: #3f443f;
    font-size: 11px;
    line-height: 1.9;
    text-align: justify;
    word-break: keep-all;
}

.generated-report .hwp-report-subpart p {
    margin-left: 18px;
}

.hwp-report-limit {
    padding: 16px 18px;
    background: #f6f6f3;
}

.generated-report .hwp-report-limit p {
    color: #555a54;
}

.hwp-report-footer {
    margin-top: 29px;
    text-align: center;
}

.hwp-report-footer strong {
    display: block;
    font-size: 11px;
}

.hwp-report-footer small {
    margin-top: 20px;
    display: block;
    color: #7b8079;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
    font-size: 8px;
    line-height: 1.65;
}

.comparison-context-panel {
    animation: panel-fade 280ms ease both;
}

.context-visual-section + .context-visual-section {
    margin-top: 28px;
    padding-top: 25px;
    border-top: 1px solid #e5e9e2;
}

.event-timeline {
    position: relative;
    margin: 20px 0 0;
    padding: 0;
    list-style: none;
}

.event-timeline::before {
    position: absolute;
    top: 13px;
    bottom: 16px;
    left: 82px;
    width: 2px;
    content: "";
    background: #dde4d8;
}

.event-timeline li {
    position: relative;
    min-height: 76px;
    display: grid;
    grid-template-columns: 68px 28px minmax(0, 1fr);
    gap: 0 0;
}

.event-timeline time {
    padding-top: 5px;
    color: #526448;
    font-size: 10px;
    font-weight: 850;
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.timeline-dot {
    position: relative;
    z-index: 1;
    width: 12px;
    height: 12px;
    margin: 3px auto 0;
    background: #fff;
    border: 3px solid #718b43;
    border-radius: 50%;
    box-sizing: border-box;
}

.timeline-dot.korea { border-color: #4f8090; }
.timeline-dot.japan { border-color: #a65d51; }
.timeline-dot.overlap {
    border-color: #708b46;
    box-shadow: 0 0 0 4px rgba(112, 139, 70, 0.12);
}

.event-timeline li > div {
    padding: 1px 0 18px 8px;
}

.event-timeline strong,
.event-timeline p,
.event-timeline em {
    display: block;
}

.event-timeline strong {
    color: #354035;
    font-size: 11px;
}

.event-timeline p {
    margin: 4px 0 5px;
    color: #5e685c;
    font-size: 9px;
    line-height: 1.6;
}

.event-timeline em {
    color: #7c8579;
    font-size: 8px;
    font-style: normal;
    font-weight: 700;
}

.route-map-wrap {
    margin-top: 16px;
    overflow: hidden;
    background: linear-gradient(180deg, #f2f7f7, #e9f1f0);
    border: 1px solid #d9e3e1;
    border-radius: 14px;
}

.route-map {
    width: 100%;
    height: auto;
    display: block;
}

.map-land { fill: #dbe4d2; stroke: #bdcab3; stroke-width: 1; }
.japan-land { fill: #e6dcd7; stroke: #cebbb2; }

.route-path,
.return-path {
    fill: none;
    stroke: #607d37;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-dasharray: 8 7;
    marker-end: url(#route-arrow);
}

.return-path {
    stroke: #7893a0;
    stroke-width: 2;
    stroke-dasharray: 5 7;
}

.route-map #route-arrow path { fill: #607d37; }

.route-node circle {
    fill: #fff;
    stroke: #607d37;
    stroke-width: 4;
}

.route-node.focus circle { fill: #eef4e6; stroke: #718f40; }
.route-node.japan circle { fill: #f7ece9; stroke: #a65d51; }
.route-node.return circle { stroke: #7893a0; }

.route-node text {
    fill: #435243;
    font-size: 11px;
    font-weight: 800;
}

.map-label {
    fill: #83907c;
    font-size: 20px;
    font-weight: 850;
    letter-spacing: 0.12em;
}

.sea-label {
    fill: #8aa1a1;
    font-size: 13px;
    font-weight: 750;
}

.route-legend {
    padding: 10px 13px;
    display: flex;
    justify-content: flex-end;
    gap: 15px;
    background: rgba(255, 255, 255, 0.7);
    border-top: 1px solid #dce6e3;
}

.route-legend span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #647168;
    font-size: 8px;
    font-weight: 700;
}

.route-legend i {
    width: 17px;
    height: 2px;
    background: #607d37;
}

.route-legend .inbound { background: #7893a0; }
.route-legend .point {
    width: 7px;
    height: 7px;
    background: #fff;
    border: 2px solid #607d37;
    border-radius: 50%;
}

.comparison-context-panel.is-animated .route-path,
.comparison-context-panel.is-animated .return-path {
    stroke-dasharray: 900;
    stroke-dashoffset: 900;
    animation: draw-comparison-route 1.2s ease forwards;
}

.comparison-context-panel.is-animated .return-path {
    animation-delay: 520ms;
}

.comparison-context-panel.is-animated .event-timeline li {
    opacity: 0;
    animation: comparison-timeline-reveal 350ms ease forwards;
}

.comparison-context-panel.is-animated .event-timeline li:nth-child(2) { animation-delay: 90ms; }
.comparison-context-panel.is-animated .event-timeline li:nth-child(3) { animation-delay: 180ms; }
.comparison-context-panel.is-animated .event-timeline li:nth-child(4) { animation-delay: 270ms; }
.comparison-context-panel.is-animated .event-timeline li:nth-child(5) { animation-delay: 360ms; }

@keyframes source-lane-scan {
    from { transform: translateX(0) rotate(9deg); }
    to { transform: translateX(430%) rotate(9deg); }
}

@keyframes translation-agent-pulse {
    from { opacity: 0.35; transform: scale(0.8); }
    to { opacity: 1; transform: scale(1.15); }
}

@keyframes comparison-report-write {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes draw-comparison-route {
    to { stroke-dashoffset: 0; }
}

@keyframes comparison-timeline-reveal {
    from { opacity: 0; transform: translateX(-6px); }
    to { opacity: 1; transform: translateX(0); }
}

/* Research report draft scenario */
.report-workspace {
    width: min(1080px, 100%);
}

.report-workspace .agent-thread,
.report-workspace .scenario-composer {
    width: min(960px, 100%);
}

.report-workspace .research-answer-notice {
    width: min(960px, 100%);
}

.report-agent-icon,
.report-avatar {
    color: #995026;
    background: #f8ede7;
    border-color: #eed8cb;
}

.report-avatar {
    box-shadow: 0 7px 18px rgba(121, 65, 34, 0.09);
}

.report-assistant-message {
    max-width: 790px;
}

.report-capabilities li {
    color: #75452c;
    background: #fbf3ef;
    border-color: #eedfd7;
}

.report-workspace[data-report-agent-type="publication_analysis"] .report-agent-icon,
.report-workspace[data-report-agent-type="publication_analysis"] .report-avatar {
    color: #6c4f8f;
    background: #f2edf8;
    border-color: #dfd3ee;
}

.report-workspace[data-report-agent-type="international_law"] .report-agent-icon,
.report-workspace[data-report-agent-type="international_law"] .report-avatar {
    color: #315b8a;
    background: #eaf2fa;
    border-color: #cadced;
}

.report-workspace[data-report-agent-type="international_politics"] .report-agent-icon,
.report-workspace[data-report-agent-type="international_politics"] .report-avatar {
    color: #246c68;
    background: #e8f5f2;
    border-color: #c8e5df;
}

.report-workspace[data-report-agent-type="contemporary_politics"] .report-agent-icon,
.report-workspace[data-report-agent-type="contemporary_politics"] .report-avatar {
    color: #525f78;
    background: #edf0f6;
    border-color: #d7ddea;
}

.report-workspace[data-report-agent-type="budget_planning"] .report-agent-icon,
.report-workspace[data-report-agent-type="budget_planning"] .report-avatar {
    color: #8a5a18;
    background: #fbf1dc;
    border-color: #ead5aa;
}

.report-workspace[data-report-agent-type="publication_analysis"] .report-capabilities li {
    color: #644a83;
    background: #f6f1fa;
    border-color: #e5dcef;
}

.report-workspace[data-report-agent-type="international_law"] .report-capabilities li {
    color: #315b8a;
    background: #eff6fc;
    border-color: #d7e6f3;
}

.report-workspace[data-report-agent-type="international_politics"] .report-capabilities li {
    color: #24635f;
    background: #edf8f5;
    border-color: #d3ebe6;
}

.report-workspace[data-report-agent-type="contemporary_politics"] .report-capabilities li {
    color: #4d5871;
    background: #f2f4f8;
    border-color: #dfe3ec;
}

.report-workspace[data-report-agent-type="budget_planning"] .report-capabilities li {
    color: #72501d;
    background: #fdf7e9;
    border-color: #eddfbf;
}

.report-example-button {
    width: min(760px, 100%);
}

.report-example-button .example-mark {
    color: #914b25;
    background: #fae9df;
}

.report-example-button .icon {
    color: #995026;
}

.report-setting-panel {
    position: relative;
    min-width: 0;
    margin: 18px 0 0;
    padding: 18px 15px 15px;
    background: linear-gradient(135deg, #fcf8f5, #fff 72%);
    border: 1px solid #eadfd8;
    border-radius: 13px;
}

.report-setting-panel > legend {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.report-setting-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}

.report-setting-heading span {
    color: #4c382d;
    font-size: 12px;
    font-weight: 800;
}

.report-setting-heading small {
    color: #66584f;
    font-size: 11px;
    font-weight: 500;
}

.report-setting-grid {
    margin-top: 11px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 14px;
}

.report-setting-group {
    min-width: 0;
}

.report-setting-group > span {
    display: block;
    margin: 0 0 6px 1px;
    color: #604d43;
    font-size: 10px;
    font-weight: 800;
}

.report-setting-group > div {
    padding: 3px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2px;
    background: #f3eee9;
    border-radius: 8px;
}

.report-perspective-setting > div {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.report-material-setting > div {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.report-workspace[data-report-agent-type="budget_planning"] .report-perspective-setting > div,
.report-workspace[data-report-agent-type="budget_planning"] .report-material-setting > div {
    grid-template-columns: minmax(0, 1fr);
}

.report-setting-group button {
    min-width: 0;
    min-height: 32px;
    padding: 4px 5px;
    color: #5d5049;
    background: transparent;
    border-radius: 6px;
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
    transition: color 150ms ease, background 150ms ease, box-shadow 150ms ease;
}

.report-setting-group button:hover {
    color: #573c2e;
}

.report-setting-group button[aria-pressed="true"] {
    color: #723817;
    background: #fff;
    box-shadow: 0 2px 7px rgba(90, 54, 32, 0.1);
}

.report-citation-setting {
    margin: 11px 0 0;
    display: flex;
    align-items: center;
    gap: 5px;
    color: #624e43;
    font-size: 10px;
    font-weight: 650;
}

.report-citation-setting .icon {
    width: 13px;
    height: 13px;
    padding: 2px;
    color: #fff;
    background: #9b5b37;
    border-radius: 50%;
    stroke-width: 2.4;
}

.report-composer:focus-within {
    border-color: rgba(153, 80, 38, 0.72);
    box-shadow: 0 0 0 4px rgba(153, 80, 38, 0.13), 0 14px 42px rgba(54, 37, 27, 0.12);
}

.report-composer textarea::placeholder {
    color: #697064;
    opacity: 1;
}

.report-composer .scenario-send-button {
    background: #995026;
    box-shadow: 0 5px 13px rgba(153, 80, 38, 0.2);
}

.report-composer .scenario-send-button:not(:disabled):hover {
    background: #7d3f1e;
}

.report-composer .scenario-send-button:disabled {
    color: #a4aaa0;
    background: #eceee9;
    box-shadow: none;
}

.report-scope > span {
    background: #995026;
}

.report-scope b {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.report-progress-card {
    border-color: #e7d9d0;
    box-shadow: 0 14px 36px rgba(87, 51, 31, 0.08);
}

.report-live-badge {
    color: #85441f;
}

.report-live-badge > span {
    background: #a45b32;
    box-shadow: 0 0 0 0 rgba(164, 91, 50, 0.42);
}

.report-progress-track > span {
    background: linear-gradient(90deg, #c3835e, #8f4923);
}

.report-pipeline li.is-active .pipeline-marker {
    background: #995026;
    border-color: #995026;
    box-shadow: 0 0 0 5px rgba(153, 80, 38, 0.12);
}

.report-pipeline li.is-complete .pipeline-marker {
    background: #ad7150;
    border-color: #ad7150;
}

.report-pipeline li.is-complete::after {
    background: #d2a990;
}

.report-rag-board {
    position: relative;
    min-height: 182px;
    margin-top: 20px;
    padding: 14px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 54px minmax(0, 1.08fr);
    align-items: stretch;
    gap: 10px;
    overflow: hidden;
    background: linear-gradient(140deg, #fbf7f4, #fff 54%, #fafbf8);
    border: 1px solid #eadfd7;
    border-radius: 13px;
}

.report-source-streams {
    display: grid;
    gap: 7px;
}

.report-source-streams article {
    position: relative;
    min-width: 0;
    padding: 9px 10px;
    display: grid;
    grid-template-columns: 29px minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid #e8e0da;
    border-radius: 9px;
    opacity: 0.62;
    transition: opacity 260ms ease, border-color 260ms ease, box-shadow 260ms ease;
}

.report-source-streams article::after {
    position: absolute;
    top: -25%;
    bottom: -25%;
    left: -24%;
    width: 16%;
    content: "";
    background: linear-gradient(90deg, transparent, rgba(180, 110, 68, 0.16), transparent);
    transform: skewX(-14deg);
    opacity: 0;
}

.report-source-streams article.is-active,
.report-source-streams article.is-complete {
    opacity: 1;
}

.report-source-streams article.is-active {
    border-color: #dcbba8;
    box-shadow: 0 5px 15px rgba(100, 62, 39, 0.07);
}

.report-source-streams article.is-active::after {
    opacity: 1;
    animation: report-source-scan 1s ease-in-out infinite;
}

.report-source-streams article.is-complete {
    border-color: #dfe5d8;
}

.report-source-icon {
    width: 29px;
    height: 29px;
    display: grid;
    place-items: center;
    color: #8e5130;
    background: #f8e9e0;
    border-radius: 8px;
}

.report-source-icon .icon {
    width: 15px;
    height: 15px;
}

.report-source-streams strong,
.report-source-streams small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.report-source-streams strong {
    color: #493d36;
    font-size: 10px;
}

.report-source-streams small {
    margin-top: 2px;
    color: #635950;
    font-size: 10px;
}

.report-source-streams em {
    padding: 4px 5px;
    color: #66554c;
    background: #f6f2ef;
    border-radius: 5px;
    font-size: 10px;
    font-style: normal;
    font-weight: 750;
    white-space: nowrap;
}

.report-source-streams article.is-complete em {
    color: #56624e;
    background: #eef3e9;
}

.report-evidence-flow {
    position: relative;
    display: grid;
    place-items: center;
}

.report-evidence-flow::before {
    width: 100%;
    height: 1px;
    content: "";
    background: linear-gradient(90deg, #dfc3b1, #b27c5d);
}

.report-evidence-flow::after {
    position: absolute;
    right: 1px;
    width: 7px;
    height: 7px;
    content: "";
    border-top: 1px solid #a76a48;
    border-right: 1px solid #a76a48;
    transform: rotate(45deg);
}

.report-evidence-flow i {
    position: absolute;
    left: 0;
    width: 5px;
    height: 5px;
    background: #a25a34;
    border-radius: 50%;
    opacity: 0;
}

.report-rag-board.is-searching .report-evidence-flow i,
.report-rag-board.is-verifying .report-evidence-flow i,
.report-rag-board.is-writing .report-evidence-flow i {
    animation: report-evidence-travel 1.2s linear infinite;
}

.report-evidence-flow i:nth-child(2) { animation-delay: 400ms !important; }
.report-evidence-flow i:nth-child(3) { animation-delay: 800ms !important; }

.report-writing-preview {
    min-width: 0;
    padding: 12px 13px;
    background: #fff;
    border: 1px solid #e0e4dc;
    border-radius: 10px;
    box-shadow: 0 7px 18px rgba(42, 51, 37, 0.055);
}

.preview-page-heading {
    padding-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 7px;
    border-bottom: 1px solid #ebece8;
}

.preview-page-heading span {
    width: 7px;
    height: 7px;
    background: #995026;
    border-radius: 2px;
}

.preview-page-heading b {
    color: #3f423c;
    font-size: 10px;
}

.preview-outline-row {
    margin-top: 8px;
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    align-items: center;
    gap: 5px;
    opacity: 0.24;
    transform: translateY(3px);
    transition: opacity 260ms ease, transform 260ms ease;
}

.preview-outline-row strong {
    color: #985126;
    font-size: 10px;
}

.preview-outline-row span {
    padding: 5px 6px;
    color: #686b64;
    background: #f7f7f4;
    border-radius: 5px;
    font-size: 9px;
}

.report-rag-board.is-outlining .preview-outline-row,
.report-rag-board.is-writing .preview-outline-row,
.report-rag-board.is-ready .preview-outline-row {
    opacity: 1;
    transform: translateY(0);
}

.report-rag-board.is-outlining .preview-outline-row:nth-child(3) { transition-delay: 100ms; }
.report-rag-board.is-outlining .preview-outline-row:nth-child(4) { transition-delay: 200ms; }

.preview-writing-lines {
    margin-top: 10px;
    display: grid;
    gap: 4px;
}

.preview-writing-lines i {
    width: 0;
    height: 3px;
    display: block;
    background: #dedfd9;
    border-radius: 999px;
}

.preview-writing-lines i:nth-child(2) { max-width: 88%; }
.preview-writing-lines i:nth-child(3) { max-width: 96%; }
.preview-writing-lines i:nth-child(4) { max-width: 66%; }

.report-rag-board.is-writing .preview-writing-lines i,
.report-rag-board.is-ready .preview-writing-lines i {
    animation: report-line-write 650ms ease forwards;
}

.preview-writing-lines i:nth-child(2) { animation-delay: 130ms !important; }
.preview-writing-lines i:nth-child(3) { animation-delay: 260ms !important; }
.preview-writing-lines i:nth-child(4) { animation-delay: 390ms !important; }

.preview-footnote-count {
    margin-top: 8px;
    display: inline-block;
    padding: 3px 5px;
    color: #8b5739;
    background: #faeee7;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 750;
}

.report-activity {
    background: #fbf7f4;
    border-color: #eadfd8;
}

.report-activity .activity-visual {
    color: #88451f;
    background: #f8e8de;
}

.report-activity .activity-visual i {
    border-color: rgba(153, 80, 38, 0.24);
}

.report-activity .activity-findings span {
    color: #735544;
    border-color: #eadbd3;
}

.report-progress-card .analysis-complete-summary {
    color: #6b452f;
    background: #fcf2ec;
    border-color: #ead5c8;
}

.report-progress-card .analysis-complete-summary > .icon {
    background: #995026;
}

.report-progress-card .analysis-progress-actions button:hover {
    color: #783a18;
    background: #faeee7;
}

.report-result-hero {
    background:
        radial-gradient(circle at 92% 0%, rgba(153, 80, 38, 0.13), transparent 16rem),
        linear-gradient(145deg, #fcf9f7, #fff 64%);
}

.report-complete-badge {
    color: #82421f;
}

.report-complete-badge .icon {
    background: #995026;
}

.report-result-hero .result-kicker {
    color: #76452c;
}

.report-result-meta {
    margin-top: 22px;
    display: grid;
    grid-template-columns: 1.6fr repeat(3, minmax(0, 0.8fr));
    overflow: hidden;
    border: 1px solid #e7ddd6;
    border-radius: 12px;
}

.report-result-meta > div {
    min-width: 0;
    min-height: 69px;
    padding: 12px 13px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.report-result-meta > div + div {
    border-left: 1px solid #ebe3de;
}

.report-result-meta span,
.report-result-meta strong {
    display: block;
}

.report-result-meta span {
    margin-bottom: 5px;
    color: #655950;
    font-size: 10px;
    font-weight: 700;
}

.report-result-meta strong {
    overflow: hidden;
    color: #4b403a;
    font-size: 11px;
    line-height: 1.45;
    text-overflow: ellipsis;
}

.report-meta-primary {
    background: #fdf8f5;
}

.report-meta-primary strong {
    color: #824620;
}

.report-result-summary {
    margin: 16px 0 0;
    padding-left: 12px;
    color: #665d57;
    border-left: 3px solid #a15b35;
    font-size: 11px;
    line-height: 1.72;
}

.report-result-tabs button[aria-selected="true"]::after {
    background: #995026;
}

.report-result-tabs button span {
    color: #7c3e1b;
    background: #faeae1;
}

.report-document-panel {
    padding: 0;
    background: #e9e8e4;
}

.report-document-toolbar {
    min-height: 58px;
    padding: 10px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    color: #4e554d;
    background: #fbfbfa;
    border-bottom: 1px solid #d9d9d4;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans KR", sans-serif;
}

.document-file-info,
.document-file-info > span:last-child,
.document-view-meta {
    display: flex;
    align-items: center;
}

.document-file-info {
    min-width: 0;
    gap: 10px;
}

.document-file-info > span:last-child {
    min-width: 0;
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
}

.document-file-info strong {
    overflow: hidden;
    max-width: 520px;
    color: #30352f;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.document-file-info small {
    color: #687067;
    font-size: 9px;
}

.document-file-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    color: #8a4725;
    background: #f7e9e1;
    border: 1px solid #ead2c5;
    border-radius: 8px;
}

.document-file-icon .icon {
    width: 17px;
    height: 17px;
}

.document-view-meta {
    flex: 0 0 auto;
    gap: 5px;
}

.document-view-meta span {
    min-width: 38px;
    padding: 5px 7px;
    color: #5b6259;
    background: #fff;
    border: 1px solid #ddded9;
    border-radius: 6px;
    font-size: 9px;
    font-weight: 750;
    text-align: center;
}

.report-paper-viewport {
    max-height: 760px;
    padding: 30px 24px 36px;
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    background:
        linear-gradient(rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.2)),
        #dfded9;
}

.report-paper-viewport:focus-visible {
    outline: 3px solid #6f3518;
    outline-offset: -4px;
}

.academic-paper {
    width: 100%;
    display: grid;
    justify-items: center;
    gap: 24px;
    color: #292c27;
    font-family: "Noto Serif KR", "Nanum Myeongjo", "Batang", serif;
}

.paper-page {
    width: min(720px, 100%);
    min-height: 1018px;
    padding: 38px 58px 34px;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    color: #292c27;
    background: #fff;
    border: 1px solid #d5d5d0;
    box-shadow: 0 12px 34px rgba(43, 38, 32, 0.13);
}

.paper-page-body {
    flex: 1;
}

.paper-running-header,
.paper-running-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #777b74;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans KR", sans-serif;
    font-size: 8px;
    letter-spacing: 0.035em;
}

.paper-running-header {
    min-height: 24px;
    padding-bottom: 8px;
    border-bottom: 1px solid #d8d9d5;
}

.paper-running-footer {
    min-height: 25px;
    margin-top: 31px;
    padding-top: 8px;
    border-top: 1px solid #d8d9d5;
}

.paper-running-footer b {
    color: #454a44;
    font-size: 9px;
    font-weight: 500;
}

.paper-cover {
    padding: 31px 0 27px;
    text-align: center;
    border-bottom: 1px solid #d9dad6;
}

.paper-cover > span {
    display: inline-block;
    padding: 4px 8px;
    color: #8b4b27;
    background: #faeee7;
    border-radius: 4px;
    font-family: inherit;
    font-size: 10px;
    font-weight: 700;
}

.paper-cover h3 {
    max-width: 520px;
    margin: 28px auto 10px;
    color: #1d211c;
    font-size: 26px;
    line-height: 1.5;
    letter-spacing: -0.04em;
    word-break: keep-all;
}

.paper-cover > p {
    margin: 0;
    color: #5d625a;
    font-size: 11px;
    line-height: 1.6;
}

.paper-cover > div {
    margin-top: 22px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
    color: #5f655c;
    font-size: 10px;
}

.paper-cover b {
    color: #4a4f47;
}

.paper-author-block {
    width: min(340px, 100%);
    margin: 25px auto 0;
    padding-top: 13px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px 18px;
    border-top: 1px solid #e1e2de;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans KR", sans-serif;
    font-size: 9px;
}

.paper-author-block > div {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 6px;
    text-align: left;
}

.paper-author-block dt {
    color: #777d74;
    font-weight: 700;
}

.paper-author-block dd {
    margin: 0;
    color: #444a43;
}

.paper-abstract {
    margin-top: 31px;
    padding: 20px 4px 22px;
    background: transparent;
    border-top: 2px solid #4c514a;
    border-bottom: 1px solid #cfd1cc;
}

.paper-abstract h4,
.paper-section h4,
.paper-footnotes h4,
.paper-references h4 {
    margin: 0;
    color: #20241f;
    font-size: 15px;
    letter-spacing: -0.025em;
}

.paper-abstract > p:not(.paper-keywords) {
    margin: 11px 0 0;
    font-size: 12px;
    line-height: 2;
    text-align: justify;
}

.paper-keywords {
    margin: 12px 0 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans KR", sans-serif;
    font-size: 10px;
}

.paper-keywords strong {
    margin-right: 2px;
}

.paper-keywords span {
    padding: 3px 5px;
    color: #66594f;
    background: transparent;
    border: 0;
    border-radius: 0;
}

.paper-section {
    margin-top: 32px;
    display: grid;
    grid-template-columns: 31px minmax(0, 1fr);
    gap: 13px;
}

.paper-section-number {
    padding-top: 1px;
    color: #995026;
    font-size: 15px;
    font-weight: 800;
}

.paper-section h5 {
    margin: 24px 0 0;
    color: #353932;
    font-size: 12px;
    letter-spacing: -0.02em;
}

.paper-section p {
    margin: 12px 0 0;
    color: #363a34;
    font-size: 12px;
    line-height: 2.05;
    text-align: justify;
    word-break: break-all;
}

.paper-main-section {
    margin-top: 27px;
}

.paper-section sup {
    position: relative;
    top: -0.15em;
    margin-left: 1px;
}

.paper-section sup a {
    color: #954819;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 10px;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.paper-caution {
    margin-top: 18px;
    padding: 11px 12px;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    color: #725d4f;
    background: #fff8ed;
    border: 1px solid #efe0c5;
    border-radius: 7px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans KR", sans-serif;
    font-size: 10px;
    line-height: 1.7;
}

.paper-caution .icon {
    width: 13px;
    height: 13px;
    margin-top: 1px;
    flex: 0 0 13px;
    color: #a56e24;
}

.paper-footnotes {
    margin-top: 35px;
    padding-top: 20px;
    border-top: 1px solid #d9dad6;
}

.paper-footnotes ol {
    margin: 12px 0 0;
    padding-left: 20px;
    color: #565b53;
    font-size: 10px;
    line-height: 1.8;
}

.paper-footnotes button {
    padding: 1px 3px;
    color: #8c4b26;
    background: transparent;
    border-bottom: 1px dotted currentColor;
    font-size: inherit;
}

.paper-references {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 2px solid #555a52;
}

.paper-references > div {
    margin-top: 13px;
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 11px;
}

.paper-references strong {
    color: #4d534c;
    font-size: 10px;
}

.paper-references ul {
    margin: 0;
    padding: 0;
    color: #4f554e;
    font-size: 10px;
    line-height: 1.78;
    list-style: none;
}

.paper-references li {
    padding-left: 12px;
    text-indent: -12px;
}

.paper-document-note {
    margin: 24px 0 0;
    padding: 10px 12px;
    color: #6a5a4e;
    background: #fbf7f0;
    border-left: 3px solid #a3623c;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans KR", sans-serif;
    font-size: 9px;
    line-height: 1.65;
}

.paper-document-note strong {
    margin-right: 5px;
    color: #754023;
}

.source-panel-heading > span:first-child {
    background: #995026;
}

.source-panel-heading {
    flex-wrap: wrap;
}

.source-return-button {
    min-height: 30px;
    padding: 0 9px;
    color: #713a1d;
    background: #fff8f3;
    border: 1px solid #d9b9a7;
    border-radius: 7px;
    font-size: 10px;
    font-weight: 750;
}

.source-return-button:hover {
    color: #fff;
    background: #7d3f1e;
    border-color: #7d3f1e;
}

.draft-source-list {
    margin-top: 18px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.draft-source-card {
    min-width: 0;
    padding: 15px;
    background: #fff;
    border: 1px solid #e4e1dc;
    border-radius: 11px;
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.draft-source-card:focus,
.draft-source-card.is-highlighted {
    outline: 0;
    border-color: #bd7e5b;
    box-shadow: 0 0 0 3px rgba(153, 80, 38, 0.12), 0 9px 24px rgba(69, 46, 32, 0.08);
    transform: translateY(-1px);
}

.draft-source-status {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.draft-source-status span,
.draft-source-status em {
    padding: 4px 6px;
    border-radius: 5px;
    font-size: 10px;
    font-style: normal;
    font-weight: 750;
}

.draft-source-status span {
    color: #536348;
    background: #eef4e9;
}

.draft-source-status em {
    color: #77685f;
    background: #f3f0ed;
}

.draft-source-card.is-caution .draft-source-status span {
    color: #76500f;
    background: #fff4d9;
}

.draft-source-card > p {
    margin: 13px 0 4px;
    color: #685b53;
    font-size: 10px;
    font-weight: 650;
}

.draft-source-card h4 {
    min-height: 38px;
    margin: 0;
    color: #30342f;
    font-size: 12px;
    line-height: 1.55;
}

.draft-source-card dl {
    margin: 12px 0;
    padding: 9px 10px;
    background: #f8f8f6;
    border-radius: 7px;
}

.draft-source-card dl > div {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 7px;
}

.draft-source-card dl > div + div {
    margin-top: 6px;
}

.draft-source-card dt,
.draft-source-card dd {
    margin: 0;
    font-size: 10px;
    line-height: 1.5;
}

.draft-source-card dt {
    color: #7b746d;
    font-weight: 700;
}

.draft-source-card dd {
    color: #555b52;
}

.draft-source-card > a {
    color: #89502d;
    font-size: 10px;
    font-weight: 750;
}

.draft-source-card > a:hover {
    text-decoration: underline;
    text-underline-offset: 2px;
}

.draft-source-card > .source-link-unavailable {
    display: inline-block;
    color: #83786f;
    font-size: 10px;
    font-weight: 700;
}

.draft-bibliography {
    margin-top: 26px;
    padding: 19px;
    background: #fafaf8;
    border: 1px solid #e6e6e1;
    border-radius: 11px;
}

.draft-bibliography h3 {
    margin: 0 0 13px;
    color: #292e28;
    font-size: 13px;
}

.draft-bibliography > div {
    display: grid;
    grid-template-columns: 94px minmax(0, 1fr);
    gap: 10px;
}

.draft-bibliography > div + div {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #e5e6e1;
}

.draft-bibliography strong {
    color: #73513f;
    font-size: 10px;
}

.draft-bibliography ul {
    margin: 0;
    padding-left: 15px;
    color: #5f655d;
    font-size: 10px;
    line-height: 1.75;
}

.source-verification-notice {
    margin: 14px 0 0;
    padding: 10px 11px;
    display: flex;
    align-items: flex-start;
    gap: 7px;
    color: #625848;
    background: #fffaf0;
    border: 1px solid #eee3cc;
    border-radius: 8px;
    font-size: 10px;
    line-height: 1.6;
}

.source-verification-notice .icon {
    width: 14px;
    height: 14px;
    margin-top: 1px;
    flex: 0 0 14px;
    color: #a06c22;
}

.report-result-actions {
    align-items: center;
}

.report-result-actions .report-action-groups {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 7px;
}

.export-button-group {
    display: inline-flex;
    overflow: hidden;
    border: 1px solid #92502b;
    border-radius: 8px;
}

.export-button-group button {
    min-height: 38px;
    padding: 0 10px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #fff;
    background: #995026;
    font-size: 11px;
    font-weight: 750;
    transition: background 150ms ease;
}

.export-button-group button + button {
    border-left: 1px solid rgba(255, 255, 255, 0.25);
}

.export-button-group button:hover {
    background: #7d3f1e;
}

.export-button-group .icon {
    width: 13px;
    height: 13px;
}

.rebuttal-document-panel {
    background: #e7e8e2;
}

.rebuttal-file-icon {
    color: #4f681c;
    background: #edf2df;
    border-color: #d6dfbc;
}

.rebuttal-paper .paper-section-number {
    color: #526b20;
}

.rebuttal-paper .paper-running-header,
.rebuttal-paper .paper-running-footer {
    color: #686d65;
}

.rebuttal-paper-cover {
    padding-top: 55px;
}

.rebuttal-paper-cover > span {
    color: #526b20;
    background: #edf2df;
}

.rebuttal-paper-cover h3 {
    margin-top: 38px;
    font-size: 30px;
    line-height: 1.55;
}

.rebuttal-document-meta {
    width: min(430px, 100%);
    margin: 47px auto 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 2px solid #4f554b;
    border-bottom: 1px solid #b9bdb4;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans KR", sans-serif;
    font-size: 10px;
    text-align: left;
}

.rebuttal-document-meta > div {
    min-width: 0;
    padding: 8px 9px;
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 8px;
    border-top: 1px solid #e0e2dc;
}

.rebuttal-document-meta > div:nth-child(-n + 2) {
    border-top: 0;
}

.rebuttal-document-meta dt {
    color: #697064;
    font-weight: 750;
}

.rebuttal-document-meta dd {
    margin: 0;
    color: #343a32;
    font-weight: 650;
    overflow-wrap: anywhere;
}

.rebuttal-summary-grid {
    margin: 16px 0 0;
    border-top: 2px solid #51564e;
    border-bottom: 1px solid #bfc2bb;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans KR", sans-serif;
    font-size: 10px;
}

.rebuttal-summary-grid > div {
    min-height: 38px;
    display: grid;
    grid-template-columns: 94px minmax(0, 1fr);
    align-items: stretch;
    border-top: 1px solid #dfe1dc;
}

.rebuttal-summary-grid > div:first-child {
    border-top: 0;
}

.rebuttal-summary-grid dt,
.rebuttal-summary-grid dd {
    padding: 9px 10px;
}

.rebuttal-summary-grid dt {
    color: #52594e;
    background: #f1f3ed;
    font-weight: 750;
}

.rebuttal-summary-grid dd {
    margin: 0;
    color: #30362e;
    overflow-wrap: anywhere;
}

.rebuttal-evidence-section article {
    padding: 17px 0 15px;
    border-bottom: 1px solid #dfe1dc;
    break-inside: avoid;
}

.rebuttal-evidence-section article:last-child {
    border-bottom: 0;
}

.rebuttal-evidence-section article h5 {
    margin-top: 0;
    display: flex;
    align-items: center;
    gap: 7px;
}

.rebuttal-evidence-section article h5 > span {
    width: 20px;
    height: 20px;
    display: inline-grid;
    flex: 0 0 20px;
    place-items: center;
    color: #fff;
    background: #596f28;
    border-radius: 50%;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 9px;
}

.rebuttal-evidence-section article h5 em {
    margin-left: auto;
    padding: 3px 6px;
    color: #944326;
    background: #fff0ea;
    border-radius: 4px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans KR", sans-serif;
    font-size: 9px;
    font-style: normal;
    white-space: nowrap;
}

.rebuttal-evidence-section article h5 em.is-timeline {
    color: #766019;
    background: #fff8d8;
}

.rebuttal-evidence-section article h5 em.is-caution {
    color: #5f645b;
    background: #eff0ec;
}

.rebuttal-evidence-section article p {
    margin-top: 7px;
    line-height: 1.78;
}

.rebuttal-source-line {
    padding: 8px 10px;
    color: #4f574c !important;
    background: #f5f6f2;
    border-left: 3px solid #758b41;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans KR", sans-serif;
    font-size: 9px !important;
    text-align: left !important;
}

.rebuttal-source-line a {
    color: #456316;
    font-weight: 750;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.rebuttal-source-line span {
    display: block;
    margin-top: 3px;
    color: #62695f;
}

.rebuttal-document-draft {
    margin-top: 14px;
    padding: 16px 18px;
    background: #f7f8f4;
    border: 1px solid #d8ddd0;
    border-left: 4px solid #61782c;
}

.rebuttal-document-draft p {
    margin: 0;
}

.rebuttal-limitations ul,
.rebuttal-references ol {
    margin: 12px 0 0;
    padding-left: 19px;
    color: #42483f;
    font-size: 11px;
    line-height: 1.85;
}

.rebuttal-references {
    margin-top: 27px;
}

.rebuttal-references ol {
    font-size: 10px;
}

.rebuttal-export-group {
    border-color: #5d742c;
}

.rebuttal-export-group button {
    background: #637a30;
}

.rebuttal-export-group button:hover {
    background: #4c621e;
}

.rebuttal-export-group button:disabled {
    cursor: wait;
    opacity: 0.6;
}

.report-setting-group button:focus-visible,
.paper-footnotes button:focus-visible,
.export-button-group button:focus-visible,
.draft-source-card:focus-visible,
.source-return-button:focus-visible {
    outline: 3px solid #6f3518;
    outline-offset: 2px;
}

@keyframes report-source-scan {
    from { transform: translateX(0) skewX(-14deg); }
    to { transform: translateX(780%) skewX(-14deg); }
}

@keyframes report-evidence-travel {
    0% { left: 0; opacity: 0; }
    15%, 75% { opacity: 1; }
    100% { left: calc(100% - 5px); opacity: 0; }
}

@keyframes report-line-write {
    from { width: 0; }
    to { width: 100%; }
}

.feature-scope-modal-backdrop {
    position: fixed;
    z-index: 430;
    inset: 0;
    padding: 20px;
    display: grid;
    place-items: center;
    background: rgba(20, 27, 23, .46);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    animation: feature-scope-backdrop-in 180ms ease-out both;
}

.feature-scope-modal {
    position: relative;
    width: min(430px, 100%);
    padding: 31px 30px 26px;
    color: var(--ink);
    text-align: center;
    background: #fff;
    border: 1px solid #dce3dd;
    border-radius: 20px;
    box-shadow: 0 28px 80px rgba(20, 28, 22, .24);
    outline: 0;
    animation: feature-scope-modal-in 240ms cubic-bezier(.22,.72,.26,1) both;
}

.feature-scope-modal-close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    color: #758078;
    background: transparent;
    border-radius: 9px;
}

.feature-scope-modal-close:hover { color: #273129; background: #f1f4ef; }
.feature-scope-modal-close .icon { width: 17px; height: 17px; }
.feature-scope-modal-icon {
    width: 58px;
    height: 58px;
    margin: 0 auto 17px;
    display: grid;
    place-items: center;
    color: #315f63;
    background: #e7f2ef;
    border: 1px solid #d0e2dc;
    border-radius: 18px;
    box-shadow: 0 8px 24px rgba(49,95,99,.1);
}
.feature-scope-modal-icon .icon { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.8; }
[data-feature-scope-agent="distortion"] .feature-scope-modal-icon { color: #a55d2d; background: #fbf0e3; border-color: #efd9be; box-shadow: 0 8px 24px rgba(165,93,45,.1); }
[data-feature-scope-agent="budget_planning"] .feature-scope-modal-icon { color: #a55d2d; background: #fbf0e3; border-color: #efd9be; box-shadow: 0 8px 24px rgba(165,93,45,.1); }
[data-feature-scope-agent="home_development"] .feature-scope-modal-icon { color: #62773b; background: #edf1e6; border-color: #d8e0ca; box-shadow: 0 8px 24px rgba(98,119,59,.1); }
.feature-scope-modal-eyebrow { margin: 0 0 7px; color: #62773b; font-size: 10px; font-weight: 850; letter-spacing: .04em; }
.feature-scope-modal h2 { margin: 0; color: #202a23; font-size: 23px; line-height: 1.35; letter-spacing: -.04em; word-break: keep-all; }
.feature-scope-modal-description { margin: 12px 0 0; color: #657168; font-size: 14px; line-height: 1.7; word-break: keep-all; }
.feature-scope-modal-actions { margin-top: 24px; }
.feature-scope-modal-actions button { width: 100%; height: 44px; color: #fff; font-size: 13px; font-weight: 800; background: #334b3c; border-radius: 10px; transition: background 150ms ease,transform 150ms ease; }
.feature-scope-modal-actions button:hover { background: #273c30; transform: translateY(-1px); }
@keyframes feature-scope-backdrop-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes feature-scope-modal-in { from { opacity: 0; transform: translateY(10px) scale(.975); } to { opacity: 1; transform: none; } }

.project-modal-backdrop {
    position: fixed;
    z-index: 400;
    inset: 0;
    padding: 20px;
    display: grid;
    place-items: center;
    background: rgba(21, 25, 19, 0.36);
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
}

.project-modal {
    width: min(420px, 100%);
    padding: 24px;
    color: var(--ink);
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 17px;
    box-shadow: 0 24px 70px rgba(21, 25, 19, 0.2);
}

.project-modal-heading {
    margin-bottom: 22px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.project-modal-eyebrow {
    margin: 0 0 5px;
    color: var(--primary-dark);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.14em;
}

.project-modal-heading h2 {
    margin: 0;
    color: var(--ink-strong);
    font-size: 21px;
    line-height: 1.3;
    letter-spacing: -0.035em;
}

.project-modal-close {
    width: 36px;
    height: 36px;
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    color: var(--muted);
    background: transparent;
    border-radius: 9px;
}

.project-modal-close:hover {
    color: var(--ink);
    background: var(--sidebar-hover);
}

.project-modal-close .icon {
    width: 18px;
    height: 18px;
}

.project-name-label {
    display: block;
    margin-bottom: 8px;
    color: #42493e;
    font-size: 12px;
    font-weight: 700;
}

.project-name-input {
    width: 100%;
    height: 46px;
    padding: 0 13px;
    color: var(--ink-strong);
    background: #fbfcfa;
    border: 1px solid var(--line-strong);
    border-radius: 10px;
    outline: 0;
    font-size: 13px;
    transition: border-color 150ms ease, box-shadow 150ms ease, background 150ms ease;
}

.project-name-input::placeholder {
    color: #a0a79c;
}

.project-name-input:focus {
    background: var(--surface);
    border-color: var(--primary);
    box-shadow: 0 0 0 3px var(--focus);
}

.project-name-input[aria-invalid="true"] {
    border-color: #c85a4b;
    box-shadow: 0 0 0 3px rgba(200, 90, 75, 0.12);
}

.project-name-help,
.project-name-error {
    margin: 7px 1px 0;
    font-size: 10px;
    line-height: 1.5;
}

.project-name-help {
    color: var(--muted-soft);
}

.project-name-error {
    color: #b34032;
    font-weight: 600;
}

.project-modal-actions {
    margin-top: 24px;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.project-modal-cancel,
.project-modal-submit {
    min-width: 68px;
    height: 40px;
    padding: 0 16px;
    border-radius: 9px;
    font-size: 12px;
    font-weight: 700;
}

.project-modal-cancel {
    color: #596155;
    background: var(--sidebar);
    border: 1px solid var(--line);
}

.project-modal-cancel:hover {
    color: var(--ink);
    background: var(--sidebar-hover);
}

.project-modal-submit {
    color: #fff;
    background: var(--ink-strong);
}

.project-modal-submit:not(:disabled):hover {
    background: #30372c;
}

.project-modal-submit:disabled {
    color: #a4aaa0;
    background: #eceee9;
}

.agent-selection-modal-backdrop {
    position: fixed;
    z-index: 410;
    inset: 0;
    padding: 20px;
    display: grid;
    place-items: center;
    background: rgba(21, 25, 19, 0.42);
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
}

.agent-selection-modal {
    width: min(520px, 100%);
    max-height: calc(100vh - 40px);
    max-height: calc(100dvh - 40px);
    padding: 26px;
    overflow: hidden;
    color: var(--ink);
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 18px;
    box-shadow: 0 24px 70px rgba(21, 25, 19, 0.22);
}

.agent-selection-modal-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.agent-selection-modal-eyebrow {
    margin: 0 0 5px;
    color: var(--primary-dark);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.14em;
}

.agent-selection-modal-heading h2 {
    margin: 0;
    color: var(--ink-strong);
    font-size: 22px;
    line-height: 1.35;
    letter-spacing: -0.04em;
    word-break: keep-all;
}

.agent-selection-modal-close {
    width: 36px;
    height: 36px;
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    color: var(--muted);
    background: transparent;
    border-radius: 9px;
}

.agent-selection-modal-close:hover {
    color: var(--ink);
    background: var(--sidebar-hover);
}

.agent-selection-modal-close .icon {
    width: 18px;
    height: 18px;
}

.agent-selection-modal-description {
    margin: 10px 0 20px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.6;
    word-break: keep-all;
}

.agent-selection-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.agent-selection-category {
    grid-column: 1 / -1;
}

.agent-selection-option.budget-planning {
    grid-column: 1 / -1;
}

.agent-selection-category {
    margin: 5px 2px -1px;
    color: #788172;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.02em;
}

.agent-selection-option {
    width: 100%;
    min-height: 70px;
    padding: 12px 14px;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    color: var(--ink);
    background: #fbfcfa;
    border: 1px solid var(--line);
    border-radius: 12px;
    text-align: left;
    transition: border-color 150ms ease, box-shadow 150ms ease, background 150ms ease, transform 150ms ease;
}

.agent-selection-option:hover {
    background: var(--surface);
    border-color: #cbd3c2;
    box-shadow: 0 8px 22px rgba(36, 45, 29, 0.08);
    transform: translateY(-1px);
}

.agent-selection-option .agent-icon {
    width: 42px;
    height: 42px;
}

.agent-selection-option .agent-copy strong {
    font-size: 14px;
}

.agent-selection-option .agent-copy small {
    font-size: 11px;
}

.agent-selection-draft-notice {
    margin: 13px 2px 0;
    display: flex;
    align-items: center;
    gap: 7px;
    color: var(--primary-dark);
    font-size: 11px;
    line-height: 1.5;
}

.agent-selection-draft-notice .icon {
    width: 15px;
    height: 15px;
    stroke-width: 2.4;
}

.agent-selection-modal-actions {
    margin-top: 18px;
    display: flex;
    justify-content: flex-end;
}

.agent-selection-modal-actions button {
    min-width: 68px;
    height: 40px;
    padding: 0 16px;
    color: #596155;
    background: var(--sidebar);
    border: 1px solid var(--line);
    border-radius: 9px;
    font-size: 12px;
    font-weight: 700;
}

.agent-selection-modal-actions button:hover {
    color: var(--ink);
    background: var(--sidebar-hover);
}

@media (max-height: 760px) and (min-width: 681px) {
    .agent-selection-modal {
        width: min(620px, 100%);
        padding: 18px 22px;
    }

    .agent-selection-modal-description {
        margin: 6px 0 11px;
        font-size: 12px;
    }

    .agent-selection-options {
        gap: 6px 8px;
    }

    .agent-selection-category {
        margin-top: 2px;
    }

    .agent-selection-option {
        min-height: 56px;
        grid-template-columns: 36px minmax(0, 1fr);
        gap: 9px;
        padding: 8px 10px;
    }

    .agent-selection-option .agent-icon {
        width: 36px;
        height: 36px;
    }

    .agent-selection-modal-actions {
        margin-top: 10px;
    }

    .agent-selection-modal-actions button {
        height: 36px;
    }
}

.conversation-context-menu,
.context-project-menu {
    padding: 6px;
    color: #353b32;
    background: rgba(255, 255, 255, 0.99);
    border: 1px solid var(--line);
    border-radius: 11px;
    box-shadow: 0 14px 42px rgba(24, 30, 21, 0.16);
}

.conversation-context-menu {
    position: fixed;
    z-index: 300;
    width: 224px;
}

.context-project-wrap {
    position: relative;
}

.context-menu-item,
.context-project-item {
    width: 100%;
    min-height: 38px;
    display: flex;
    align-items: center;
    gap: 9px;
    color: inherit;
    background: transparent;
    border-radius: 8px;
    text-align: left;
}

.context-menu-item {
    padding: 0 9px;
    font-size: 12px;
    font-weight: 600;
}

.context-menu-item:hover,
.context-menu-item[aria-expanded="true"],
.context-project-item:hover,
.context-project-item.is-current {
    background: var(--sidebar-hover);
}

.context-menu-item > .icon,
.context-project-item > .icon {
    width: 17px;
    height: 17px;
    color: #737b6f;
}

.context-menu-item > span,
.context-project-item > span {
    min-width: 0;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.context-menu-item .context-arrow {
    width: 14px;
    height: 14px;
    margin-left: auto;
    transform: rotate(-90deg);
}

.context-menu-item.is-danger {
    color: #b34032;
}

.context-menu-item.is-danger > .icon {
    color: currentColor;
}

.context-project-menu {
    position: absolute;
    z-index: 1;
    top: -6px;
    left: calc(100% + 7px);
    width: 210px;
}

.conversation-context-menu.opens-left .context-project-menu {
    right: calc(100% + 7px);
    left: auto;
}

.context-project-item {
    padding: 0 8px;
    font-size: 11px;
    font-weight: 600;
}

.context-project-item .context-check {
    width: 15px;
    height: 15px;
    margin-left: auto;
    color: var(--primary);
}

.toast {
    position: fixed;
    z-index: 100;
    bottom: 26px;
    left: 50%;
    max-width: min(420px, calc(100vw - 32px));
    padding: 11px 15px;
    color: #fff;
    background: rgba(26, 31, 23, 0.94);
    border-radius: 10px;
    box-shadow: 0 12px 35px rgba(20, 25, 17, 0.2);
    font-size: 12px;
    line-height: 1.5;
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, 12px);
    transition: opacity 180ms ease, transform 180ms ease;
}

.toast.is-visible {
    opacity: 1;
    transform: translate(-50%, 0);
}

.toast.is-feature-notice {
    width: max-content;
    max-width: min(640px, calc(100vw - 40px));
    min-height: 52px;
    padding: 9px 16px 9px 10px;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    color: #f7f9f4;
    background: #222820;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 14px;
    box-shadow: 0 14px 34px rgba(27, 33, 24, .22);
    font-size: 12px;
    line-height: 1.45;
    letter-spacing: -.01em;
}

.toast-feature-icon {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    color: #dfe9ce;
    background: #3a4434;
    border-radius: 10px;
}

.toast-feature-icon .icon {
    width: 17px;
    height: 17px;
}

.toast-copy {
    min-width: 0;
    white-space: nowrap;
}

.toast-copy span:first-child { font-weight: 750; }
.toast-copy span:last-child { color: #cdd3c8; }

@media (max-width: 620px) {
    .toast.is-feature-notice {
        width: calc(100vw - 32px);
        max-width: 460px;
        padding-right: 13px;
    }

    .toast-copy { white-space: normal; }
    .toast-copy span { display: block; }
    .toast-copy span + span { margin-top: 2px; }
}

.sidebar-backdrop {
    display: none;
}

.sidebar-collapsed .sidebar {
    width: 76px;
}

.sidebar-collapsed .sidebar-header {
    padding: 13px 10px 9px;
    flex-direction: column;
    gap: 3px;
}

.sidebar-collapsed .brand {
    width: 46px;
    flex: 0 0 46px;
    justify-content: center;
}

.sidebar-collapsed .brand-logo {
    display: none;
}

.sidebar-collapsed .brand-symbol {
    width: 38px;
    height: 38px;
    display: block;
}

.sidebar-collapsed .sidebar-toggle {
    width: 40px;
    height: 32px;
}

.sidebar-collapsed .sidebar-toggle .icon {
    transform: rotate(180deg);
}

.sidebar-collapsed .sidebar-actions {
    padding: 8px 10px 12px;
    flex-direction: column;
    align-items: center;
}

.sidebar-collapsed .new-chat-button,
.sidebar-collapsed .project-add-button,
.sidebar-collapsed .history-search-button {
    width: 44px;
    min-width: 44px;
    height: 42px;
    min-height: 42px;
    flex: 0 0 42px;
    justify-content: center;
    padding: 0;
}

.sidebar-collapsed .new-chat-button span,
.sidebar-collapsed .history-search,
.sidebar-collapsed .section-title > span,
.sidebar-collapsed .section-meta,
.sidebar-collapsed .section-content,
.sidebar-collapsed .conversation-list,
.sidebar-collapsed .conversation-no-results,
.sidebar-collapsed .profile-copy,
.sidebar-collapsed .profile-chevron {
    display: none !important;
}

.sidebar-collapsed .sidebar-navigation {
    padding: 0 10px 20px;
}

.sidebar-collapsed .section-heading {
    min-height: 44px;
    justify-content: center;
    padding: 0;
}

.sidebar-collapsed .section-title {
    gap: 0;
}

.sidebar-collapsed .section-title .icon {
    width: 19px;
    height: 19px;
}

.sidebar-collapsed .sidebar-footer {
    padding: 10px;
}

.sidebar-collapsed .profile-button {
    justify-content: center;
    padding: 7px 0;
}

/* 초대형 데스크톱에서도 콘텐츠가 고정된 작은 폭에 갇히지 않도록 확장한다. */
@media (min-width: 1600px) {
    .main-scroll {
        padding: clamp(42px, 4vw, 78px) clamp(48px, 5vw, 112px);
    }

    .workspace {
        width: min(1680px, 100%);
    }

    .home-layout {
        grid-template-columns: minmax(0, 1fr) clamp(300px, 22vw, 380px);
        gap: clamp(28px, 3vw, 56px);
    }

    .home-query-column {
        padding: 0;
    }

    .welcome-copy h1 {
        font-size: clamp(38px, 3vw, 58px);
    }

    .welcome-description {
        max-width: 1040px;
        font-size: 17px;
    }

    .home-query-column .composer {
        min-height: clamp(220px, 18vw, 280px);
        margin-top: clamp(40px, 4vw, 68px);
        padding: 26px 32px 10px;
    }

    .home-query-column .composer textarea {
        min-height: clamp(115px, 9vw, 155px);
        font-size: 17px;
    }

    .home-query-column .home-answer-notice {
        margin-top: 12px;
        font-size: 13px;
    }

    .home-layout > .agent-section {
        padding-left: clamp(24px, 2vw, 40px);
    }

    .home-layout > .agent-section .agent-section-heading h2 {
        font-size: 19px;
    }

    .home-layout > .agent-section .agent-section-heading p,
    .home-layout > .agent-section .agent-card p {
        font-size: 13px;
    }

    .home-layout > .agent-section .agent-card {
        min-height: 76px;
        padding: 11px 12px;
        grid-template-columns: 48px minmax(0, 1fr);
        gap: 14px;
    }

    .home-layout > .agent-section .agent-icon {
        width: 48px;
        height: 48px;
    }
}

@media (max-width: 1180px) {
    .field-agent-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .main-stage {
        flex-direction: column;
    }

    .artifact-viewer {
        position: relative;
        z-index: 14;
        inset: auto;
        width: 100% !important;
        height: min(56vh, 560px);
        flex-basis: 56%;
        border-right: 0;
        border-bottom: 1px solid #d8ddd4;
        box-shadow: 0 14px 38px rgba(28, 35, 24, 0.1);
    }

    .artifact-resize-handle {
        display: none;
    }

    .artifact-viewer-open .main-scroll {
        height: auto;
        min-height: 0;
        flex: 1;
    }

    .artifact-viewer-open.agent-mode .main-scroll {
        padding-right: 42px;
        padding-left: 42px;
    }
}

@media (max-width: 1100px) {
    .home-query-column {
        padding-top: 26px;
        transform: none;
    }

    .home-layout {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .home-layout > .agent-section {
        padding: 28px 0 0;
        border-top: 1px solid var(--line);
        border-left: 0;
    }

    .home-layout > .agent-section .agent-category-list {
        grid-template-columns: 1fr 1fr;
        align-items: start;
        gap: 22px;
    }
}

@media (max-width: 1020px) {
    .main-scroll {
        padding-right: 34px;
        padding-left: 34px;
    }

    .workspace {
        width: min(900px, 100%);
    }

    .agent-card {
        padding: 13px 12px;
        grid-template-columns: 34px minmax(0, 1fr);
        gap: 9px;
    }

    .agent-icon {
        width: 34px;
        height: 34px;
    }
}

@media (max-width: 820px) {
    body {
        overflow: hidden;
    }

    .sidebar {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        width: min(292px, calc(100vw - 48px));
        height: 100dvh;
        box-shadow: none;
        transform: translateX(-100%);
    }

    .sidebar-open .sidebar {
        box-shadow: 18px 0 55px rgba(26, 32, 22, 0.18);
        transform: translateX(0);
    }

    .sidebar-collapsed .sidebar {
        width: min(292px, calc(100vw - 48px));
    }

    .sidebar-collapsed .sidebar-header {
        padding: 16px 13px 10px 18px;
        flex-direction: row;
        gap: 8px;
    }

    .sidebar-collapsed .brand {
        width: auto;
        flex: 1;
        justify-content: flex-start;
    }

    .sidebar-collapsed .brand-logo {
        display: block;
    }

    .sidebar-collapsed .brand-symbol {
        display: none;
    }

    .sidebar-collapsed .sidebar-toggle {
        width: 38px;
        height: 38px;
    }

    .sidebar-collapsed .sidebar-toggle .icon {
        transform: none;
    }

    .sidebar-collapsed .sidebar-actions {
        padding: 7px 14px 15px;
        flex-direction: row;
    }

    .sidebar-collapsed .new-chat-button {
        width: auto;
        min-width: 0;
        min-height: 43px;
        padding: 0 14px;
        flex: 1;
        justify-content: flex-start;
    }

    .sidebar-collapsed .project-add-button,
    .sidebar-collapsed .history-search-button {
        width: 43px;
        min-width: 43px;
        height: 43px;
        flex: 0 0 43px;
    }

    .sidebar-collapsed .new-chat-button span,
    .sidebar-collapsed .section-title > span {
        display: inline !important;
    }

    .sidebar-collapsed .section-meta,
    .sidebar-collapsed .profile-copy {
        display: flex !important;
    }

    .sidebar-collapsed .profile-chevron {
        display: block !important;
    }

    .sidebar-collapsed .history-search {
        display: flex !important;
    }

    .sidebar-collapsed .history-search[hidden] {
        display: none !important;
    }

    .sidebar-collapsed .section-content {
        display: block !important;
    }

    .sidebar-collapsed .conversation-list {
        display: flex !important;
    }

    .sidebar-collapsed .conversation-no-results {
        display: block !important;
    }

    .sidebar-collapsed .conversation-no-results[hidden] {
        display: none !important;
    }

    .sidebar-collapsed .sidebar-section:not(.is-open) .section-content {
        display: none !important;
    }

    .sidebar-collapsed .sidebar-navigation {
        padding: 0 10px 20px;
    }

    .sidebar-collapsed .section-heading {
        min-height: 42px;
        padding: 0 10px;
        justify-content: space-between;
    }

    .sidebar-collapsed .section-title {
        gap: 10px;
    }

    .sidebar-collapsed .section-title .icon {
        width: 17px;
        height: 17px;
    }

    .sidebar-collapsed .profile-button {
        padding: 7px 9px;
        justify-content: flex-start;
    }

    .sidebar-backdrop {
        position: fixed;
        z-index: 15;
        inset: 0;
        display: block;
        background: rgba(20, 25, 17, 0.28);
        opacity: 0;
        pointer-events: none;
        transition: opacity 200ms ease;
    }

    .sidebar-open .sidebar-backdrop {
        opacity: 1;
        pointer-events: auto;
    }

    .main {
        width: 100%;
    }

    .main-stage {
        height: calc(100vh - 64px);
        height: calc(100dvh - 64px);
    }

    .artifact-viewer {
        width: 100%;
        max-width: none;
        right: 0;
    }

    .artifact-viewer-content {
        padding: 18px;
    }

    .mobile-header {
        height: 64px;
        padding: 0 16px;
        display: grid;
        grid-template-columns: 40px 1fr 40px;
        align-items: center;
        border-bottom: 1px solid var(--line);
    }

    .mobile-header img {
        width: 148px;
        height: auto;
        justify-self: center;
    }

    .mobile-menu-button {
        justify-self: start;
    }

    .main-scroll {
        height: calc(100vh - 64px);
        height: calc(100dvh - 64px);
        padding: 42px 28px;
    }

    .workspace {
        margin: 0 auto;
    }
}

@media (hover: none) {
    .conversation-actions {
        opacity: 1;
        pointer-events: auto;
        transform: none;
    }
}

@media (max-width: 680px) {
    .project-modal-backdrop,
    .feature-scope-modal-backdrop,
    .agent-selection-modal-backdrop {
        padding: 16px;
    }

    .project-modal,
    .feature-scope-modal,
    .agent-selection-modal {
        padding: 20px;
        border-radius: 15px;
    }

    .feature-scope-modal { padding: 28px 22px 22px; }
    .feature-scope-modal h2 { font-size: 21px; }

    .agent-selection-modal-heading h2 {
        font-size: 20px;
    }

    .agent-selection-modal-description {
        margin-bottom: 16px;
    }

    .agent-selection-options {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
    }

    .agent-selection-option {
        min-height: 62px;
        grid-template-columns: 34px minmax(0, 1fr);
        gap: 8px;
        padding: 9px;
    }

    .agent-selection-option .agent-icon {
        width: 34px;
        height: 34px;
    }

    .agent-selection-option .agent-copy small {
        display: none;
    }

    .main-scroll {
        padding: 34px 18px 30px;
        align-items: start;
    }

    .artifact-viewer-header {
        min-height: 64px;
        padding: 9px 12px;
        gap: 10px;
    }

    .artifact-viewer-heading {
        gap: 8px;
    }

    .artifact-viewer-icon,
    .artifact-viewer-close {
        width: 34px;
        height: 34px;
    }

    .artifact-viewer-icon {
        flex-basis: 34px;
    }

    .artifact-viewer-heading h2 {
        max-width: min(34vw, 150px);
        font-size: 13px;
    }

    .artifact-viewer-status {
        display: none;
    }

    .artifact-manager-toggle {
        min-width: 46px;
        width: 46px;
        padding: 0 5px;
        gap: 3px;
    }

    .artifact-pdf-download {
        min-width: 42px;
        width: 42px;
        padding: 0;
    }

    .artifact-pdf-download > span {
        display: none;
    }

    .artifact-manager-toggle > span {
        display: none;
    }

    .artifact-manager-popover {
        right: -43px;
        width: min(350px, calc(100vw - 24px));
    }

    .artifact-viewer-content {
        padding: 10px;
    }

    .artifact-viewer-content .result-hero {
        padding: 22px 18px 20px;
    }

    .artifact-viewer-content .result-panel {
        padding: 23px 18px 25px;
    }

    .artifact-viewer-content .report-document-panel {
        padding: 0;
    }

    .artifact-viewer-content .report-paper-viewport {
        padding: 14px 8px 20px;
    }

    .artifact-viewer-content .paper-page {
        padding: 32px 22px;
    }

    .workspace {
        width: 100%;
    }

    .home-query-column {
        padding-top: 4px;
    }

    .welcome-copy h1 {
        font-size: 30px;
    }

    .welcome-description {
        max-width: 420px;
        margin-right: auto;
        margin-left: auto;
        font-size: 13px;
    }

    .composer {
        margin-top: 20px;
    }

    .home-query-column .composer {
        min-height: 180px;
        margin-top: 24px;
        padding: 18px 16px 11px;
    }

    .home-query-column .composer textarea {
        min-height: 88px;
    }

    .home-layout > .agent-section .agent-category-list {
        grid-template-columns: 1fr;
    }

    .agent-section {
        margin-top: 18px;
    }

    .agent-section-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .agent-grid {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .agent-card {
        min-height: 76px;
        padding: 11px 13px;
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 11px;
    }

    .agent-icon {
        width: 40px;
        height: 40px;
    }

    .agent-copy {
        gap: 3px;
    }

    .ai-notice {
        padding: 0 12px;
        line-height: 1.5;
    }
}

@media (max-width: 420px) {
    .mobile-header {
        height: 60px;
        padding: 0 12px;
    }

    .mobile-header img {
        width: 136px;
    }

    .main-scroll {
        height: calc(100vh - 60px);
        height: calc(100dvh - 60px);
        padding: 28px 14px 24px;
    }

    .main-stage {
        height: calc(100vh - 60px);
        height: calc(100dvh - 60px);
    }

    .artifact-viewer-heading h2 {
        max-width: 190px;
    }

    .artifact-viewer-content .verdict-grid,
    .artifact-viewer-content .comparison-stat-grid,
    .artifact-viewer-content .report-result-meta {
        grid-template-columns: 1fr;
    }

    .artifact-viewer-content .comparison-stat-primary,
    .artifact-viewer-content .report-meta-primary {
        grid-column: auto;
    }

    .artifact-viewer-content .verdict-grid > div,
    .artifact-viewer-content .comparison-stat-grid > div,
    .artifact-viewer-content .report-result-meta > div {
        border-top: 1px solid #e5e9e2;
        border-left: 0;
    }

    .artifact-viewer-content .verdict-grid > div:first-child,
    .artifact-viewer-content .comparison-stat-grid > div:first-child,
    .artifact-viewer-content .report-result-meta > div:first-child {
        border-top: 0;
    }

    .eyebrow {
        margin-bottom: 8px;
        font-size: 9px;
    }

    .welcome-copy h1 {
        font-size: 27px;
    }

    .welcome-description {
        font-size: 12px;
    }

    .composer {
        min-height: 151px;
        padding: 16px 14px 9px;
        border-radius: 15px;
    }

    .composer textarea {
        min-height: 70px;
        font-size: 14px;
    }

    .settings-popover {
        position: fixed;
        right: 14px;
        bottom: 18px;
        left: 14px;
        width: auto;
    }

    .settings-popover::after {
        display: none;
    }

    .attachment-chip {
        max-width: 100%;
    }
}

@media (max-height: 720px) and (min-width: 821px) {
    .main-scroll {
        padding-top: 34px;
        padding-bottom: 34px;
        align-items: start;
    }

    .workspace {
        margin: 0 auto;
    }

    .agent-mode .main-scroll {
        padding-top: 0;
        padding-bottom: 0;
    }
}

@media (max-width: 820px) {
    .agent-mode .main-scroll {
        height: calc(100vh - 64px);
        height: calc(100dvh - 64px);
        padding: 0 24px;
    }

    .agent-thread {
        min-height: 0;
    }

    .analysis-pipeline {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        row-gap: 15px;
    }

    .live-agent-progress .analysis-pipeline {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .live-agent-progress .analysis-pipeline li:nth-child(2n)::after {
        display: none;
    }

    .analysis-pipeline li:nth-child(3)::after {
        display: none;
    }

    .verdict-grid {
        grid-template-columns: 1.5fr repeat(3, minmax(0, 1fr));
    }

    .evidence-card {
        min-height: 226px;
    }
}

@media (max-width: 680px) {
    .agent-mode .main-scroll {
        padding: 0 14px;
    }

    .agent-toolbar {
        min-height: 66px;
        padding: 10px 0;
        gap: 8px;
    }

    .agent-toolbar-icon {
        width: 34px;
        height: 34px;
    }

    .agent-toolbar-copy h1 {
        font-size: 14px;
    }

    .report-setting-panel {
        padding: 14px 12px;
    }

    .report-setting-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 3px;
    }

    .report-setting-grid {
        grid-template-columns: 1fr;
    }

    .report-perspective-setting > div,
    .report-material-setting > div {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .agent-demo-badge {
        display: none;
    }

    .artifact-reopen-button,
    .agent-switch-button,
    .agent-reset-button {
        width: 35px;
        height: 35px;
        min-height: 35px;
        padding: 0;
        justify-content: center;
    }

    .artifact-reopen-button span,
    .agent-switch-button span,
    .agent-reset-button span {
        display: none;
    }

    .general-assistant-turn {
        gap: 9px;
    }

    .general-assistant-message {
        width: min(720px, calc(100% - 43px));
    }

    .general-stream-progress {
        padding: 15px 14px;
        border-radius: 13px;
    }

    .general-stream-progress h2 {
        font-size: 16px;
    }

    .general-stream-pipeline {
        gap: 5px;
    }

    .general-stream-pipeline li {
        gap: 5px;
        font-size: 8px;
    }

    .general-stream-pipeline li:not(:last-child)::after {
        left: 23px;
        right: 4px;
    }

    .general-stream-marker {
        width: 20px;
        height: 20px;
        flex-basis: 20px;
    }

    .general-markdown-content {
        margin-top: 17px;
        font-size: 12px;
        line-height: 1.78;
    }

    .general-markdown-content table {
        display: block;
        overflow-x: auto;
    }

    .agent-thread {
        min-height: 0;
        padding: 27px 2px 39px;
    }

    .assistant-avatar {
        width: 34px;
        height: 34px;
        flex-basis: 34px;
    }

    .assistant-message h2 {
        font-size: 18px;
    }

    .assistant-message > p {
        font-size: 12px;
    }

    .agent-capability-list li {
        font-size: 9px;
    }

    .example-prompt-button {
        grid-template-columns: auto minmax(0, 1fr);
        font-size: 11px;
    }

    .example-prompt-button .icon {
        display: none;
    }

    .scenario-composer-dock {
        padding: 15px 2px 10px;
    }

    .analysis-progress-card {
        padding: 17px 15px;
        border-radius: 15px;
    }

    .analysis-progress-heading h2 {
        font-size: 16px;
    }

    .analysis-pipeline {
        grid-template-columns: 1fr 1fr;
        gap: 10px 12px;
    }

    .live-agent-progress .analysis-pipeline {
        grid-template-columns: 1fr 1fr;
    }

    .analysis-pipeline li {
        min-height: 43px;
        padding: 0;
        display: grid;
        grid-template-columns: 25px minmax(0, 1fr);
        align-items: start;
        gap: 7px;
    }

    .analysis-pipeline li::after {
        display: none;
    }

    .pipeline-copy {
        margin-top: 1px;
    }

    .pipeline-copy strong,
    .pipeline-copy small {
        white-space: normal;
    }

    .activity-visual {
        width: 37px;
        height: 37px;
        flex-basis: 37px;
    }

    .result-hero {
        padding: 22px 18px 20px;
    }

    .result-hero h2 {
        font-size: 21px;
    }

    .result-claim {
        align-items: flex-start;
        flex-direction: column;
        gap: 3px;
    }

    .result-claim strong {
        max-width: 100%;
    }

    .verdict-grid {
        grid-template-columns: 1fr 1fr;
    }

    .verdict-grid > div {
        min-height: 69px;
    }

    .verdict-grid > div + div {
        border-left: 0;
    }

    .verdict-grid > div:nth-child(even) {
        border-left: 1px solid #e5e9e1;
    }

    .verdict-grid > div:nth-child(n + 3) {
        border-top: 1px solid #e5e9e1;
    }

    .result-tabs {
        padding: 0 18px;
    }

    .result-panel {
        padding: 23px 18px 25px;
    }

    .distortion-type-grid,
    .evidence-list {
        grid-template-columns: 1fr;
    }

    .distortion-type-grid > div,
    .evidence-card {
        min-height: 0;
    }

    .evidence-body > p {
        min-height: 0;
    }

    .network-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .network-legend {
        justify-content: flex-start;
    }

    .kg-canvas {
        overflow-x: auto;
        overscroll-behavior-inline: contain;
    }

    .kg-canvas svg {
        width: 680px;
        min-height: auto;
    }

    .kg-triple-list > li {
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    }

    .kg-triple-list em {
        grid-column: 1 / -1;
        justify-self: start;
    }

    .result-actions {
        padding: 15px 18px;
        align-items: stretch;
        flex-direction: column;
    }

    .result-actions > div {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 420px) {
    .agent-mode .main-scroll {
        height: calc(100vh - 60px);
        height: calc(100dvh - 60px);
        padding: 0 10px;
    }

    .artifact-reference-card {
        grid-template-columns: 34px minmax(0, 1fr);
        padding: 12px;
        gap: 9px;
    }

    .artifact-reference-icon {
        width: 34px;
        height: 34px;
    }

    .artifact-reference-open {
        width: 100%;
        grid-column: 1 / -1;
        justify-content: center;
    }

    .agent-back-button {
        width: 34px;
        height: 34px;
    }

    .agent-toolbar-icon {
        display: none;
    }

    .agent-recommendation-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .agent-recommendation-actions button {
        width: 100%;
    }

    .agent-intro-turn {
        gap: 9px;
    }

    .agent-capability-list {
        align-items: flex-start;
        flex-direction: column;
    }

    .example-prompt-button {
        padding: 9px 10px;
    }

    .example-prompt-button .example-mark {
        display: none;
    }

    .example-prompt-button {
        grid-template-columns: 1fr;
    }

    .analysis-progress-heading {
        gap: 10px;
    }

    .analysis-progress-heading p {
        max-width: 210px;
        line-height: 1.45;
    }

    .analysis-pipeline {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .live-agent-progress .analysis-pipeline {
        grid-template-columns: 1fr;
    }

    .analysis-pipeline li {
        min-height: 39px;
    }

    .analysis-pipeline li:not(.is-active, .is-complete) {
        display: none;
    }

    .analysis-activity {
        align-items: flex-start;
    }

    .activity-findings {
        gap: 4px;
    }

    .result-complete-badge,
    .result-demo-label {
        font-size: 8px;
    }

    .verdict-grid {
        grid-template-columns: 1fr;
    }

    .verdict-grid > div:nth-child(even) {
        border-left: 0;
    }

    .verdict-grid > div + div {
        border-top: 1px solid #e5e9e1;
    }

    .report-section-heading p {
        line-height: 1.45;
    }

    .evidence-card {
        padding: 13px 11px;
        grid-template-columns: 24px minmax(0, 1fr);
        gap: 8px;
    }

    .evidence-index {
        width: 24px;
        height: 24px;
    }

    .triple-preview em {
        display: none;
    }

    .result-actions > div {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 820px) {
    .comparison-stat-grid {
        grid-template-columns: 1.4fr 1fr 1fr;
    }

    .comparison-stat-grid > div:last-child {
        grid-column: 1 / -1;
        min-height: 56px;
        border-top: 1px solid #e5e9e2;
        border-left: 0;
    }

    .country-source-card > p {
        min-height: 64px;
    }
}

@media (max-width: 680px) {
    .parallel-source-board {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .source-lane.lane-china {
        grid-column: 1 / -1;
    }

    .translation-agent-row {
        flex-wrap: wrap;
    }

    .translation-hub-label {
        width: 100%;
    }

    .translation-agent {
        flex: 1 1 135px;
        white-space: normal;
    }

    .comparison-stat-grid {
        grid-template-columns: 1fr 1fr;
    }

    .comparison-stat-grid .comparison-stat-primary,
    .comparison-stat-grid > div:last-child {
        grid-column: 1 / -1;
    }

    .comparison-stat-grid > div:nth-child(2) {
        border-left: 0;
    }

    .comparison-stat-grid > div:nth-child(2),
    .comparison-stat-grid > div:nth-child(3) {
        border-top: 1px solid #e5e9e2;
    }

    .country-source-grid,
    .synthesis-grid {
        grid-template-columns: 1fr;
    }

    .china-source-card {
        grid-column: auto;
    }

    .country-source-card > p {
        min-height: 0;
    }

    .parallel-excerpt-grid {
        grid-template-columns: 1fr;
    }

    .parallel-match {
        min-height: 48px;
        flex-direction: row;
        gap: 5px;
    }

    .parallel-match::before,
    .parallel-match::after {
        top: auto;
        right: 50%;
        left: 50%;
        width: 1px;
        height: 14px;
    }

    .parallel-match::before { top: -8px; }
    .parallel-match::after { bottom: -8px; }

    .parallel-match strong,
    .parallel-match span {
        margin-top: 0;
    }

    .source-comparison-table {
        min-width: 820px;
    }

    .generated-report {
        padding: 12px;
    }

    .hwp-report-paper {
        padding: 30px 20px 25px;
    }

    .hwp-report-header {
        padding-top: 24px;
    }

    .hwp-report-header h4 {
        font-size: 16px;
    }

    .hwp-report-header h4 strong {
        font-size: 20px;
    }

    .hwp-report-meta {
        grid-template-columns: 1fr;
        margin-bottom: 25px;
    }

    .generated-report .hwp-report-body p {
        font-size: 10px;
        line-height: 1.82;
        text-align: left;
    }

    .route-map-wrap {
        overflow-x: auto;
        overscroll-behavior-inline: contain;
    }

    .route-map {
        width: 650px;
        max-width: none;
    }

    .route-legend {
        width: 650px;
        justify-content: flex-start;
    }
}

@media (max-width: 420px) {
    .parallel-source-board {
        grid-template-columns: 1fr;
    }

    .source-lane.lane-china {
        grid-column: auto;
    }

    .translation-agent-row {
        display: grid;
        grid-template-columns: 1fr;
    }

    .translation-agent {
        width: 100%;
    }

    .comparison-stat-grid {
        grid-template-columns: 1fr;
    }

    .comparison-stat-grid .comparison-stat-primary,
    .comparison-stat-grid > div:last-child {
        grid-column: auto;
    }

    .comparison-stat-grid > div + div {
        border-top: 1px solid #e5e9e2;
        border-left: 0;
    }

    .event-timeline::before {
        left: 63px;
    }

    .event-timeline li {
        grid-template-columns: 50px 27px minmax(0, 1fr);
    }

    .event-timeline time {
        font-size: 9px;
    }

    .comparison-result-actions > div {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 820px) {
    .report-result-meta {
        grid-template-columns: 1.4fr repeat(2, minmax(0, 1fr));
    }

    .report-result-meta > div:last-child {
        grid-column: 1 / -1;
        min-height: 52px;
        border-top: 1px solid #ebe3de;
        border-left: 0;
    }

    .paper-page {
        padding-right: 42px;
        padding-left: 42px;
    }
}

@media (max-width: 680px) {
    .report-setting-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 3px;
    }

    .report-setting-grid {
        grid-template-columns: 1fr;
    }

    .report-setting-group {
        display: grid;
        grid-template-columns: 58px minmax(0, 1fr);
        align-items: center;
        gap: 7px;
    }

    .report-setting-group > span {
        margin: 0;
    }

    .report-scope b {
        max-width: 300px;
    }

    .report-rag-board {
        grid-template-columns: 1fr;
    }

    .report-evidence-flow {
        min-height: 24px;
    }

    .report-evidence-flow::before {
        width: 1px;
        height: 100%;
        background: linear-gradient(180deg, #dfc3b1, #b27c5d);
    }

    .report-evidence-flow::after {
        right: auto;
        bottom: 1px;
        transform: rotate(135deg);
    }

    .report-evidence-flow i {
        top: 0;
        left: calc(50% - 2px);
    }

    .report-rag-board.is-searching .report-evidence-flow i,
    .report-rag-board.is-verifying .report-evidence-flow i,
    .report-rag-board.is-writing .report-evidence-flow i {
        animation-name: report-evidence-travel-mobile;
    }

    .report-result-meta {
        grid-template-columns: 1fr 1fr;
    }

    .report-result-meta .report-meta-primary {
        grid-column: 1 / -1;
    }

    .report-result-meta > div:nth-child(2) {
        border-top: 1px solid #ebe3de;
        border-left: 0;
    }

    .report-result-meta > div:nth-child(3) {
        border-top: 1px solid #ebe3de;
    }

    .report-document-panel {
        padding: 0;
    }

    .report-paper-viewport {
        max-height: 680px;
        padding: 18px 12px 24px;
    }

    .report-document-toolbar {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .document-view-meta {
        align-self: flex-end;
    }

    .paper-page {
        min-height: 0;
        padding: 34px 25px;
    }

    .paper-cover h3 {
        font-size: 19px;
    }

    .paper-cover > div {
        flex-direction: column;
        gap: 4px;
    }

    .paper-author-block {
        grid-template-columns: 1fr;
    }

    .paper-section {
        grid-template-columns: 25px minmax(0, 1fr);
        gap: 9px;
    }

    .draft-source-list {
        grid-template-columns: 1fr;
    }

    .draft-source-card h4 {
        min-height: 0;
    }

    .report-result-actions .report-action-groups {
        width: 100%;
        justify-content: stretch;
    }

    .report-result-actions .secondary-result-button {
        flex: 1 1 150px;
    }

    .export-button-group {
        width: 100%;
    }

    .export-button-group button {
        flex: 1;
        justify-content: center;
    }
}

@media (max-width: 420px) {
    .report-setting-panel {
        padding: 12px;
    }

    .report-setting-group {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .report-scope b {
        max-width: 165px;
    }

    .report-source-streams article {
        grid-template-columns: 27px minmax(0, 1fr);
    }

    .report-source-streams em {
        grid-column: 2;
        justify-self: start;
    }

    .report-result-meta {
        grid-template-columns: 1fr;
    }

    .report-result-meta .report-meta-primary,
    .report-result-meta > div:last-child {
        grid-column: auto;
    }

    .report-result-meta > div + div {
        border-top: 1px solid #ebe3de;
        border-left: 0;
    }

    .report-paper-viewport {
        max-height: 620px;
        padding: 10px 7px 16px;
    }

    .document-file-info strong {
        max-width: 225px;
    }

    .document-file-info small {
        max-width: 250px;
        line-height: 1.4;
    }

    .paper-page {
        padding: 28px 18px;
    }

    .paper-abstract {
        padding: 14px;
    }

    .paper-section {
        grid-template-columns: 1fr;
    }

    .paper-section-number {
        padding-bottom: 5px;
        border-bottom: 1px solid #ecece7;
    }

    .paper-running-header span:first-child,
    .paper-running-footer span {
        max-width: 210px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .paper-references > div {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .draft-bibliography > div,
    .draft-source-card dl > div {
        grid-template-columns: 1fr;
        gap: 3px;
    }

    .export-button-group button {
        padding-right: 5px;
        padding-left: 5px;
        font-size: 8px;
    }
}

@keyframes report-evidence-travel-mobile {
    0% { top: 0; left: calc(50% - 2px); opacity: 0; }
    15%, 75% { opacity: 1; }
    100% { top: calc(100% - 5px); left: calc(50% - 2px); opacity: 0; }
}

@media (max-width: 680px) {
    .rebuttal-document-meta {
        grid-template-columns: 1fr;
    }

    .rebuttal-document-meta > div:nth-child(2) {
        border-top: 1px solid #e0e2dc;
    }

    .rebuttal-summary-grid > div {
        grid-template-columns: 78px minmax(0, 1fr);
    }

    .rebuttal-evidence-section article h5 {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .rebuttal-evidence-section article h5 em {
        margin-left: 27px;
    }

    .rebuttal-paper-cover {
        padding-top: 25px;
    }

    .rebuttal-paper-cover h3 {
        margin-top: 24px;
        font-size: 21px;
    }
}

/* 838-record knowledge graph agent */
.agent-card.knowledge-graph .agent-icon,.agent-selection-option.knowledge-graph .agent-icon,.knowledge-graph-agent-icon,.knowledge-graph-avatar{color:#315f63;background:linear-gradient(145deg,#e7f4ef,#dceceb);border-color:#c7dfda}
.agent-card.knowledge-graph{background:linear-gradient(145deg,rgba(248,252,250,.98),rgba(240,248,246,.9))}
.knowledge-graph-workspace{width:min(1280px,100%);--graph-ink:#1d2b25;--graph-muted:#69776f;--graph-line:#d9e2dc;--graph-accent:#315f63;--graph-lime:#7f9639}
.knowledge-graph-toolbar{border-bottom-color:#dbe5df}
.knowledge-graph-thread{width:min(100%,1500px);padding-inline:clamp(24px,4vw,70px)}
.knowledge-graph-intro{max-width:1400px}.knowledge-graph-intro-copy{width:min(100%,1260px);max-width:none}.knowledge-graph-intro-copy>h2{max-width:none}
.knowledge-graph-examples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:38px}
.knowledge-graph-examples-heading{grid-column:1/-1;display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:7px;padding-bottom:17px;border-bottom:1px solid #dce5df}
.knowledge-graph-examples-heading>div{display:grid;gap:7px}.knowledge-graph-examples-heading>div>span{color:#668078;font-size:9px;font-weight:850;letter-spacing:.16em}.knowledge-graph-examples-heading strong{color:var(--graph-ink);font-size:19px;letter-spacing:-.035em}.knowledge-graph-examples-heading p{display:flex;align-items:center;gap:7px;margin:0;color:#77837c;font-size:11px;white-space:nowrap}.knowledge-graph-examples-heading p b{display:grid;width:27px;height:27px;place-items:center;color:#fff;font-size:11px;background:#315f63;border-radius:50%}
.knowledge-graph-examples>button{position:relative;display:grid;min-height:166px;grid-template-columns:88px minmax(0,1fr) 19px;align-items:center;gap:16px;padding:17px;color:#26342d;text-align:left;background:#fff;border:1px solid #d9e4de;border-radius:15px;box-shadow:0 10px 28px rgba(37,58,47,.065);overflow:hidden;transition:transform .2s cubic-bezier(.2,.75,.28,1),border-color .2s ease,box-shadow .2s ease,background .2s ease}
.knowledge-graph-examples>button:hover,.knowledge-graph-examples>button:focus-visible{transform:translateY(-3px);background:#fbfdfc;border-color:#789194;box-shadow:0 17px 38px rgba(37,58,47,.13);outline:0}
.knowledge-graph-examples>button[aria-pressed="true"]{background:#f1f7f4;border-color:#315f63;box-shadow:0 0 0 2px rgba(49,95,99,.14),0 16px 36px rgba(37,58,47,.12)}
.knowledge-graph-book-cover{display:block;width:88px;height:128px;overflow:hidden;background:#edf2ee;border:1px solid rgba(63,78,68,.14);border-radius:8px;box-shadow:0 9px 19px rgba(37,48,40,.16);transition:transform .25s cubic-bezier(.2,.75,.28,1),box-shadow .25s ease}
.knowledge-graph-book-cover img{display:block;width:100%;height:100%;object-fit:cover}
.knowledge-graph-examples>button:hover .knowledge-graph-book-cover,.knowledge-graph-examples>button:focus-visible .knowledge-graph-book-cover{transform:scale(1.035) rotate(-.6deg);box-shadow:0 12px 24px rgba(37,48,40,.2)}
.knowledge-graph-book-copy{display:flex!important;min-width:0;align-self:stretch;flex-direction:column;justify-content:center;padding:5px 0}
.knowledge-graph-examples>button>.example-arrow{width:17px;height:17px;align-self:start;justify-self:end;margin-top:5px;color:#6c827a;fill:none;stroke:currentColor;stroke-width:2;transition:transform .2s ease,color .2s ease}
.knowledge-graph-examples>button:hover>.example-arrow,.knowledge-graph-examples>button:focus-visible>.example-arrow,.knowledge-graph-examples>button[aria-pressed="true"]>.example-arrow{color:#315f63;transform:translateX(2px)}
.knowledge-graph-examples>button span{min-width:0}
.knowledge-graph-examples>button small{display:block;margin-bottom:8px;color:#617a70;font-size:10px;font-weight:780;line-height:1.4;letter-spacing:.01em;word-break:keep-all}
.knowledge-graph-examples>button strong{display:block;color:#1f332a;font-size:16px;font-weight:820;line-height:1.38;letter-spacing:-.035em;word-break:keep-all;overflow-wrap:anywhere}
.knowledge-graph-examples>button em{display:block;margin-top:auto;padding-top:12px;color:#7a867f;font-size:9.5px;font-style:normal;font-weight:720}.knowledge-graph-examples>button[aria-pressed="true"] em{color:#315f63}
.knowledge-graph-composer-dock{max-width:1180px}.knowledge-graph-scope>span{background:#4a7776;box-shadow:0 0 0 4px #e6f0ed}.knowledge-graph-output{width:100%;padding-bottom:170px}
.knowledge-graph-process{margin:28px auto 60px}
.knowledge-graph-process .fixed-process-live-badge{color:#4f6425}
.knowledge-graph-process .fixed-process-activity-icon{color:#315f63;background:#e3efeb;border-color:#f1f6f4}
.knowledge-graph-process.is-process-entering{animation:knowledge-process-enter .48s cubic-bezier(.22,.72,.26,1) both}
.knowledge-graph-process .fixed-process-live-badge i{animation:knowledge-process-live 1.7s ease-in-out infinite}
.knowledge-graph-process .fixed-process-progress span{position:relative;overflow:hidden;background:linear-gradient(90deg,#315f63,#78923b);transition:width var(--process-stage-duration,1660ms) linear;will-change:width}
.knowledge-graph-process .fixed-process-progress span::after{position:absolute;inset:0 -28px 0 auto;width:60px;content:"";background:linear-gradient(90deg,transparent,rgba(255,255,255,.58),transparent);transform:skewX(-18deg);animation:knowledge-process-shimmer 1.25s ease-in-out infinite}
.knowledge-graph-process .fixed-process-stages li{transition:color .42s ease,opacity .42s ease}
.knowledge-graph-process .fixed-process-stages li::after{transition:background-color .48s ease}
.knowledge-graph-process .fixed-process-stages li>span{transition:color .42s ease,background-color .42s ease,border-color .42s ease,box-shadow .42s ease,transform .42s cubic-bezier(.2,.75,.28,1)}
.knowledge-graph-process .fixed-process-stages li.is-complete>span{animation:knowledge-process-complete .46s cubic-bezier(.2,.75,.28,1) both}
.knowledge-graph-process .fixed-process-stages li.is-active>span{background:#315f63;border-color:#315f63;box-shadow:0 0 0 6px rgba(49,95,99,.11)}
.knowledge-graph-process .fixed-process-count.is-stage-entering,.knowledge-graph-process .fixed-process-activity.is-stage-entering{animation:knowledge-process-stage-enter .46s cubic-bezier(.22,.72,.26,1) both}
.knowledge-graph-process .fixed-process-activity-icon .icon{animation:knowledge-process-icon 1.9s ease-in-out infinite}
@keyframes knowledge-process-enter{from{opacity:0;transform:translateY(12px) scale(.992)}to{opacity:1;transform:none}}
@keyframes knowledge-process-live{0%,100%{box-shadow:0 0 0 5px #f1f4eb;transform:scale(.92)}50%{box-shadow:0 0 0 9px rgba(127,150,57,.08);transform:scale(1.08)}}
@keyframes knowledge-process-shimmer{0%{transform:translateX(-90px) skewX(-18deg);opacity:0}30%{opacity:.75}100%{transform:translateX(42px) skewX(-18deg);opacity:0}}
@keyframes knowledge-process-stage-enter{from{opacity:.25;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes knowledge-process-complete{0%{transform:scale(.78)}65%{transform:scale(1.12)}100%{transform:scale(1)}}
@keyframes knowledge-process-icon{0%,100%{transform:scale(.96);opacity:.78}50%{transform:scale(1.08);opacity:1}}
@media(prefers-reduced-motion:reduce){.knowledge-graph-process,.knowledge-graph-process *{animation:none!important;transition-duration:.01ms!important}}
.knowledge-process-card{width:min(100%,1120px);margin:28px auto 60px;padding:clamp(26px,4vw,46px);color:var(--graph-ink);background:radial-gradient(circle at 90% 0,rgba(208,229,220,.55),transparent 34%),linear-gradient(150deg,#fbfdfb,#f5f8f5);border:1px solid #cfdbd3;border-radius:28px;box-shadow:0 24px 70px rgba(31,48,38,.12)}
.knowledge-process-card header{display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:22px}.knowledge-process-card header small,.knowledge-result-kicker{color:#5e7669;font-size:10px;font-weight:800;letter-spacing:.14em}
.knowledge-process-card header h2{margin:7px 0 5px;font-size:clamp(23px,2.6vw,34px);letter-spacing:-.04em}.knowledge-process-card header p{margin:0;color:#738078;font-size:13px}.knowledge-process-card header>b{align-self:start;padding:9px 12px;color:#4a5c51;font-size:12px;background:#e8eee9;border-radius:999px}
.knowledge-process-orbit{position:relative;display:block;width:64px;height:64px;border:1px solid #bcd2c8;border-radius:50%;animation:knowledge-spin 4s linear infinite}.knowledge-process-orbit:before,.knowledge-process-orbit:after,.knowledge-process-orbit i{position:absolute;content:"";border-radius:50%}.knowledge-process-orbit:before{inset:12px;border:1px dashed #6f9390}.knowledge-process-orbit:after{inset:25px;background:#315f63}.knowledge-process-orbit i:nth-child(1){top:-4px;left:27px;width:9px;height:9px;background:#b55b2b}.knowledge-process-orbit i:nth-child(2){right:3px;bottom:6px;width:8px;height:8px;background:#7f9639}.knowledge-process-orbit i:nth-child(3){bottom:8px;left:1px;width:7px;height:7px;background:#5d4d87}@keyframes knowledge-spin{to{transform:rotate(360deg)}}
.knowledge-process-track{height:6px;margin:30px 0 26px;overflow:hidden;background:#e2e8e3;border-radius:999px}.knowledge-process-track span{display:block;height:100%;background:linear-gradient(90deg,#315f63,#8ca03f);border-radius:inherit;transition:width .3s ease}
.knowledge-process-card ol{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:0;padding:0;list-style:none}.knowledge-process-card li{min-width:0;padding:16px 13px;color:#8a958f;background:rgba(255,255,255,.7);border:1px solid #e0e7e2;border-radius:14px}.knowledge-process-card li.is-active{color:#2b3e34;border-color:#76928b;box-shadow:0 10px 24px rgba(49,95,99,.12)}.knowledge-process-card li.is-done{color:#50614f;background:#f1f6eb;border-color:#d4dfc6}.knowledge-process-card li>span{display:grid;width:27px;height:27px;margin-bottom:13px;place-items:center;color:#fff;font-size:11px;font-weight:800;background:#a9b2ad;border-radius:50%}.knowledge-process-card li.is-active>span{background:#315f63;animation:knowledge-pulse 1.4s ease-in-out infinite}.knowledge-process-card li.is-done>span{background:#7f9639}.knowledge-process-card li strong{display:block;margin-bottom:6px;font-size:12px}.knowledge-process-card li small{display:block;font-size:10px;line-height:1.55;word-break:keep-all}@keyframes knowledge-pulse{50%{box-shadow:0 0 0 7px rgba(49,95,99,.12)}}
.knowledge-process-card footer{display:flex;justify-content:space-between;gap:20px;margin-top:24px;color:#68786e;font-size:11px}.knowledge-process-card footer span i,.knowledge-result-footer span i,.knowledge-result-kicker i{display:inline-block;width:7px;height:7px;margin-right:7px;background:#7f9639;border-radius:50%}.knowledge-process-card footer em{font-style:normal}
.knowledge-result{width:min(100%,1450px);margin:8px auto 88px;overflow:hidden;color:var(--graph-ink);background:#f8faf8;border:1px solid #cedbd3;border-radius:24px;box-shadow:0 26px 80px rgba(29,43,37,.13);animation:knowledge-result-in .55s cubic-bezier(.2,.72,.2,1) both}@keyframes knowledge-result-in{from{opacity:0;transform:translateY(24px) scale(.985)}}
.knowledge-result-header{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding:28px 32px 25px;background:linear-gradient(110deg,#f9fcfa,#eef5f1);border-bottom:1px solid #d9e3dd}.knowledge-result-header h2{margin:8px 0 4px;font-size:clamp(24px,2.2vw,34px);letter-spacing:-.04em}.knowledge-result-header p{margin:0;color:#6c7a72;font-size:13px}.knowledge-result-header dl{display:flex;flex:0 0 auto;gap:8px;margin:0}.knowledge-result-header dl div{min-width:78px;padding:10px 13px;text-align:center;background:rgba(255,255,255,.75);border:1px solid #dbe4de;border-radius:12px}.knowledge-result-header dt{color:#738078;font-size:9px;font-weight:700}.knowledge-result-header dd{margin:3px 0 0;color:#26392e;font-size:19px;font-weight:800}
.knowledge-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 20px;background:#fff;border-bottom:1px solid #e0e7e2}.knowledge-type-filters{display:flex;flex-wrap:wrap;gap:6px}.knowledge-type-filters button{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;color:#6a7770;font-size:10px;font-weight:700;background:#f7f9f7;border:1px solid #e1e7e3;border-radius:8px}.knowledge-type-filters button i,.knowledge-detail-type i{width:7px;height:7px;background:var(--node-color);border-radius:50%}.knowledge-type-filters button[aria-pressed=false]{opacity:.42;filter:grayscale(1)}.knowledge-node-search{display:flex;width:190px;flex:0 0 auto;align-items:center;gap:8px;padding:7px 10px;background:#f5f7f5;border:1px solid #dfe6e1;border-radius:9px}.knowledge-node-search .icon{width:14px;height:14px;color:#77847c}.knowledge-node-search input{width:100%;min-width:0;padding:0;font:inherit;font-size:11px;background:transparent;border:0;outline:0}
.knowledge-graph-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;min-height:720px}.knowledge-canvas-wrap{position:relative;min-width:0;overflow:hidden;background-color:#f8faf8;background-image:radial-gradient(circle,#d5ddd7 1px,transparent 1.2px);background-size:22px 22px;border-right:1px solid #dce4df}.knowledge-canvas{display:block;width:100%;height:720px;cursor:grab;touch-action:none;user-select:none}.knowledge-canvas.is-panning{cursor:grabbing}.knowledge-canvas defs path{fill:#9ca9a1}.knowledge-edge{stroke:#bdc7c0;stroke-width:1.1;opacity:.48;transition:opacity .18s,stroke-width .18s}.knowledge-edge.is-focused{stroke:#607a6b;stroke-width:1.9;opacity:.9}.knowledge-edge-label{fill:#52665b;font-size:9px;font-weight:800;paint-order:stroke;stroke:#f8faf8;stroke-width:5px;stroke-linejoin:round}.knowledge-node{cursor:pointer;outline:none}.knowledge-node-halo{opacity:.1;transition:.18s}.knowledge-node-core{stroke:#fff;stroke-width:3px;filter:drop-shadow(0 5px 6px rgba(25,43,34,.18))}.knowledge-node-glyph{fill:#fff;font-size:9px;font-weight:800;letter-spacing:-.04em;pointer-events:none}.knowledge-node-label{fill:#26362e;font-size:10px;font-weight:800;paint-order:stroke;stroke:#f8faf8;stroke-width:5px;stroke-linejoin:round;pointer-events:none}.knowledge-node:hover .knowledge-node-halo,.knowledge-node:focus .knowledge-node-halo,.knowledge-node.is-selected .knowledge-node-halo{opacity:.25;transform:scale(1.2)}.knowledge-node.is-selected .knowledge-node-core{stroke:#20332a;stroke-width:4px}.knowledge-node.is-search-match .knowledge-node-halo{opacity:.4;animation:knowledge-node-find 1s ease-in-out 2}@keyframes knowledge-node-find{50%{transform:scale(1.55);opacity:.18}}
.knowledge-canvas-tools{position:absolute;z-index:2;top:15px;right:15px;display:flex;overflow:hidden;background:rgba(255,255,255,.94);border:1px solid #d9e2dc;border-radius:10px;box-shadow:0 8px 24px rgba(31,48,38,.09)}.knowledge-canvas-tools button{display:grid;width:34px;height:34px;place-items:center;color:#526159;font-size:18px;border:0;border-right:1px solid #e2e8e4;background:transparent}.knowledge-canvas-tools button:last-child{border-right:0}.knowledge-canvas-tools .icon{width:14px;height:14px}.knowledge-canvas-hint{position:absolute;bottom:13px;left:16px;margin:0;padding:7px 10px;color:#748078;font-size:9px;background:rgba(255,255,255,.88);border:1px solid #e0e6e2;border-radius:8px}
.knowledge-detail{padding:27px 24px;overflow:auto;background:#fff}.knowledge-detail-type{display:flex;align-items:flex-start;gap:7px;color:#728078;font-size:10px;font-weight:800;line-height:1.55;letter-spacing:.02em;word-break:keep-all}.knowledge-detail-type i{flex:0 0 auto;margin-top:4px}.knowledge-detail h3{margin:12px 0 10px;color:#1e2d25;font-size:23px;line-height:1.25;letter-spacing:-.035em;word-break:keep-all}.knowledge-detail>p{margin:0;color:#5f6c65;font-size:12px;line-height:1.75;word-break:keep-all}.knowledge-record-id{margin-top:18px;padding:11px;background:#f5f7f5;border:1px solid #e1e7e3;border-radius:10px}.knowledge-record-id span,.knowledge-detail-connections>span,.knowledge-detail-source>span{display:block;margin-bottom:7px;color:#839087;font-size:9px;font-weight:800;letter-spacing:.08em}.knowledge-record-id code{color:#395e5a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;overflow-wrap:anywhere}.knowledge-detail-connections{margin-top:23px;padding-top:20px;border-top:1px solid #e3e9e5}.knowledge-detail-connections button{display:grid;width:100%;grid-template-columns:88px minmax(0,1fr);gap:8px;align-items:center;margin:0 0 6px;padding:9px 10px;text-align:left;background:#f8faf8;border:1px solid #e4e9e6;border-radius:9px}.knowledge-detail-connections button:hover{border-color:#9fb3aa}.knowledge-detail-connections button b{color:#6a7c72;font-size:9px}.knowledge-detail-connections button span{overflow:hidden;color:#2b3b32;font-size:10px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.knowledge-detail-source{margin-top:22px;padding:16px;background:#f2f7f4;border:1px solid #d8e5dd;border-radius:13px}.knowledge-detail-source strong{display:block;color:#293a30;font-size:12px;line-height:1.45}.knowledge-detail-source p{margin:7px 0 0;color:#64736a;font-size:10px;line-height:1.6}.knowledge-detail-source a{display:inline-flex;align-items:center;gap:7px;margin-top:13px;color:#315f63;font-size:10px;font-weight:800;text-decoration:none}.knowledge-detail-source.is-context{background:#f8f8f4;border-color:#e3e4d9}
.knowledge-result-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 22px;color:#68766e;font-size:10px;background:#fff;border-top:1px solid #dce4df}.knowledge-result-footer a{color:#315f63;font-weight:800;text-decoration:none;white-space:nowrap}

/* Time-axis evidence workspace — selected concept 03 */
.knowledge-graph-timeline-mode .main-scroll{padding-inline:0}
.knowledge-graph-timeline-mode .knowledge-graph-workspace.has-timeline-result{width:100%;max-width:none;margin:0}
.knowledge-graph-workspace.has-timeline-result .knowledge-graph-thread{width:100%;max-width:none;padding:0}
.knowledge-graph-workspace.has-timeline-result .knowledge-graph-toolbar{display:none}
.knowledge-graph-workspace.has-timeline-result .knowledge-graph-output{padding:0}
.knowledge-graph-workspace.has-timeline-result .knowledge-graph-composer-dock{display:none}
.knowledge-timeline-result{width:100%;max-width:none;margin:0;overflow:hidden;color:#172019;background:#fff;border:0;border-radius:0;box-shadow:none;animation:knowledge-result-in .45s ease both}
.knowledge-timeline-header{display:flex;min-height:92px;align-items:center;justify-content:space-between;gap:24px;padding:15px 28px;border-bottom:1px solid #dfe3dd}
.knowledge-timeline-title>span{display:block;margin-bottom:8px;color:#677068;font-size:11px;font-weight:750}
.knowledge-timeline-title>div{display:flex;align-items:center;gap:18px}.knowledge-timeline-title h2{margin:0;font-size:25px;letter-spacing:-.045em}.knowledge-topic-select{padding:9px 12px;color:#3d463d;font-size:11px;font-weight:700;background:#fff;border:1px solid #dfe3dd;border-radius:7px}.knowledge-topic-select b{margin-left:12px;color:#7a847b}
.knowledge-timeline-actions{display:flex;align-items:center;gap:9px}.knowledge-timeline-actions button{display:inline-flex;height:38px;align-items:center;gap:7px;padding:0 13px;color:#333c34;font-size:11px;font-weight:750;background:#fff;border:1px solid #dfe3dd;border-radius:7px}.knowledge-timeline-actions button:hover{border-color:#879873;background:#f8faf4}.knowledge-timeline-actions button.is-primary{color:#fff;background:#758b3b;border-color:#758b3b}.knowledge-timeline-actions button.is-saved{background:#33452d}.knowledge-timeline-actions .icon{width:15px;height:15px}
.knowledge-timeline-querybar{display:flex;min-height:68px;align-items:center;gap:10px;padding:13px 28px;border-bottom:1px solid #e2e5e0}.knowledge-timeline-querybar>label{position:relative;display:flex;width:min(360px,31%);align-items:center}.knowledge-timeline-querybar input{width:100%;height:38px;padding:0 38px 0 13px;color:#273028;font-size:11px;border:1px solid #d8ddd6;border-radius:7px;outline:0}.knowledge-timeline-querybar label .icon{position:absolute;right:12px;width:15px;height:15px;color:#505b52}.knowledge-timeline-querybar>span{margin-left:4px;color:#717a72;font-size:10px}.knowledge-timeline-querybar>button{height:35px;padding:0 12px;color:#49524a;font-size:10px;background:#fff;border:1px solid #e0e4de;border-radius:7px;white-space:nowrap}.knowledge-timeline-querybar>button:hover{border-color:#8da06d;background:#f8faf5}.knowledge-timeline-querybar .knowledge-filter-reset{margin-left:auto;border-color:transparent}
.knowledge-timeline-shell{display:grid;grid-template-columns:150px minmax(0,1fr) 245px;min-height:700px;border-bottom:1px solid #dfe3dd}
.knowledge-timeline-filters{padding:15px 12px;background:#fbfcfa;border-right:1px solid #e0e4df}.knowledge-filter-heading{display:flex;align-items:center;justify-content:space-between;padding:0 2px 13px;border-bottom:1px solid #e5e8e4;font-size:11px}.knowledge-timeline-filters fieldset{margin:0;padding:15px 0 12px;border:0;border-bottom:1px solid #e7eae6}.knowledge-timeline-filters legend{margin-bottom:8px;color:#394139;font-size:10px;font-weight:850}.knowledge-timeline-filters label{display:flex;min-height:25px;align-items:center;gap:6px;color:#566057;font-size:9px;cursor:pointer}.knowledge-timeline-filters input{width:12px;height:12px;margin:0;accent-color:#7a903e}.knowledge-timeline-filters label i{width:7px;height:7px;background:var(--node-color,#a9b2aa);border-radius:50%}.knowledge-timeline-filters label i.is-korea{background:#7c8e47}.knowledge-timeline-filters label i.is-japan{background:#b95735}.knowledge-timeline-filters label i.is-allied{background:#39777a}.knowledge-timeline-filters label span{flex:1}.knowledge-timeline-filters label b{color:#7b847d;font-size:8px}.knowledge-filter-count{display:flex;justify-content:space-between;padding-top:11px;color:#6d776f;font-size:9px}
.knowledge-timeline-stage{min-width:0;overflow:hidden;background:#fcfdfb}.knowledge-timeline-ruler{display:grid;height:44px;grid-template-columns:58px repeat(9,1fr);align-items:center;padding:0 8px;color:#313932;font-size:9px;font-weight:800;border-bottom:1px solid #ccd3ca}.knowledge-timeline-ruler strong{color:#606a61;font-size:9px}.knowledge-timeline-ruler span{text-align:center}.knowledge-timeline-canvas-wrap{position:relative;height:656px;overflow:hidden}.knowledge-timeline-canvas{display:block;width:100%;height:100%}.timeline-selected-band{fill:#f5f5e9;stroke:#d4d8ba;stroke-width:1}.timeline-lane-line{stroke:#dfe3dd;stroke-width:1}.timeline-year-grid{stroke:#dfe4dd;stroke-width:1;stroke-dasharray:3 5}.timeline-lane-label{fill:#3a443b;font-size:12px;font-weight:800}.timeline-edge{stroke:#9fac9f;stroke-width:1.1;stroke-dasharray:4 4;opacity:.62}.timeline-edge.is-focused{stroke:#64783a;stroke-width:2;stroke-dasharray:none;opacity:1}.timeline-edge-label{fill:#61713d;font-size:9px;font-weight:800;paint-order:stroke;stroke:#fff;stroke-width:4px}.timeline-node{cursor:pointer;outline:none}.timeline-node-card{fill:#fff;stroke:var(--node-color);stroke-width:1.1;filter:drop-shadow(0 3px 4px rgba(38,48,40,.08))}.timeline-node:hover .timeline-node-card,.timeline-node:focus .timeline-node-card{stroke-width:2;filter:drop-shadow(0 5px 7px rgba(38,48,40,.16))}.timeline-node.is-selected .timeline-node-card{fill:#fbfdf7;stroke:#667b32;stroke-width:2.4}.timeline-node-title{fill:#202820;font-size:9px;font-weight:800;pointer-events:none}.timeline-node-date{fill:#737c74;font-size:8px;font-weight:700;pointer-events:none}.knowledge-timeline-zoom{position:absolute;right:14px;bottom:13px;display:flex;overflow:hidden;background:#fff;border:1px solid #dce1da;border-radius:7px;box-shadow:0 5px 15px rgba(31,40,32,.07)}.knowledge-timeline-zoom button,.knowledge-timeline-zoom b{display:grid;height:29px;min-width:29px;margin:0;padding:0 7px;place-items:center;color:#5c665d;font-size:9px;background:#fff;border:0;border-right:1px solid #e5e8e4}.knowledge-timeline-zoom button:last-child{border:0}
.knowledge-timeline-inspector{overflow:auto;background:#fff;border-left:1px solid #e0e4df}.knowledge-timeline-inspector>header{display:flex;height:46px;align-items:center;justify-content:space-between;padding:0 14px;color:#4e584f;font-size:10px;border-bottom:1px solid #dfe3dd}.knowledge-timeline-inspector>header b{color:#6f8539}.knowledge-timeline-inspector>header button{color:#6f776f;font-size:18px;background:transparent;border:0}.knowledge-timeline-inspector>section{padding:15px 14px;border-bottom:1px solid #e4e7e3}.knowledge-timeline-inspector h3{margin:0 0 12px;color:#252d26;font-size:10px}.knowledge-timeline-inspector ol{display:grid;gap:14px;margin:0;padding:0;list-style:none}.knowledge-timeline-inspector li{display:grid;grid-template-columns:20px 1fr;gap:8px}.knowledge-timeline-inspector li>b{display:grid;width:17px;height:17px;place-items:center;color:#fff;font-size:8px;background:#748a3b;border-radius:50%}.knowledge-timeline-inspector li strong{display:block;color:#303831;font-size:9px;line-height:1.45}.knowledge-timeline-inspector li p,.knowledge-range-conflict p,.knowledge-node-inspector p{margin:4px 0 0;color:#697269;font-size:8px;line-height:1.6}.knowledge-range-sources button{display:grid;width:100%;grid-template-columns:8px minmax(0,1fr) auto;gap:7px;align-items:center;padding:7px 0;text-align:left;background:transparent;border:0}.knowledge-range-sources button i,.knowledge-node-inspector>i{width:7px;height:7px;background:var(--node-color);border-radius:50%}.knowledge-range-sources button span{overflow:hidden;color:#4a534b;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.knowledge-range-sources time{color:#747d75;font-size:7px}.knowledge-range-conflict p{padding-left:12px;border-left:2px solid #d89445}.knowledge-source-compare{display:flex;margin:14px;min-height:37px;align-items:center;justify-content:center;color:#53672d;font-size:9px;font-weight:800;text-decoration:none;background:#fff;border:1px solid #7d9146;border-radius:6px}.knowledge-node-inspector>i{display:block;width:10px;height:10px}.knowledge-node-inspector h3{margin-top:10px;font-size:17px}.knowledge-node-inspector code{display:block;margin-top:12px;padding:8px;color:#38605e;font-size:8px;background:#f2f6f3;border-radius:5px;overflow-wrap:anywhere}
.knowledge-timeline-summary{display:grid;grid-template-columns:145px 1fr;min-height:91px;align-items:center;padding:11px 20px;background:#fbfcfa;border-bottom:1px solid #e1e5df}.knowledge-timeline-summary>strong{font-size:10px}.knowledge-timeline-summary ol{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin:0;padding:0;list-style:none}.knowledge-timeline-summary li{position:relative;min-height:52px;padding:8px 8px 8px 17px;color:#687169;font-size:8px}.knowledge-timeline-summary li i{position:absolute;top:11px;left:5px;width:6px;height:6px;background:#748b3a;border-radius:50%}.knowledge-timeline-summary li b,.knowledge-timeline-summary li span{display:block}.knowledge-timeline-summary li span{margin-top:4px;line-height:1.35}.knowledge-timeline-summary li.is-selected{background:#f2f4e7;border:1px solid #d8ddc5;border-radius:5px}.knowledge-timeline-legend{display:flex;min-height:49px;align-items:center;gap:18px;padding:0 20px;color:#586159;font-size:8px}.knowledge-timeline-legend>strong{font-size:9px}.knowledge-timeline-legend>span{display:flex;align-items:center;gap:5px;white-space:nowrap}.knowledge-timeline-legend>span>i{width:7px;height:7px;background:var(--node-color);border-radius:50%}.knowledge-timeline-legend .relation:before{width:21px;height:1px;content:"";background:#5e675f}.knowledge-timeline-legend .relation.indirect:before{background:repeating-linear-gradient(90deg,#5e675f 0 4px,transparent 4px 7px)}.knowledge-timeline-legend .relation.change:before{background:repeating-linear-gradient(90deg,#999 0 2px,transparent 2px 5px)}.knowledge-timeline-legend small{margin-left:auto;color:#808981;font-size:7px}
@media(max-width:1280px){.knowledge-timeline-shell{grid-template-columns:135px minmax(0,1fr) 220px}.knowledge-timeline-querybar>button:nth-of-type(3){display:none}.knowledge-timeline-legend small{display:none}}
@media(max-width:980px){.knowledge-timeline-header{align-items:flex-start;flex-direction:column}.knowledge-timeline-actions{width:100%;overflow:auto}.knowledge-timeline-querybar{flex-wrap:wrap}.knowledge-timeline-querybar>label{width:100%}.knowledge-timeline-shell{grid-template-columns:1fr}.knowledge-timeline-filters{display:none}.knowledge-timeline-inspector{border-top:1px solid #dfe3dd;border-left:0}.knowledge-timeline-stage{min-height:620px}.knowledge-timeline-summary{grid-template-columns:1fr}.knowledge-timeline-legend{flex-wrap:wrap;padding-block:12px}}
.knowledge-timeline-legend .relation:before{height:0;background:none;border-top:1px solid #5e675f}.knowledge-timeline-legend .relation.indirect:before{background:none;border-top-style:dashed}.knowledge-timeline-legend .relation.change:before{background:none;border-top-style:dotted;border-top-color:#999}

/* Evidence atlas — relationship-first workspace */
.knowledge-atlas-result{width:100%;max-width:none;min-height:100vh;margin:0;color:#1d251f;background:#fff;border:0;border-radius:0;box-shadow:none}
.knowledge-atlas-header{display:flex;min-height:110px;align-items:center;justify-content:space-between;gap:28px;padding:18px 30px;border-bottom:1px solid #dfe3dd}
.knowledge-atlas-title>span{display:inline-block;margin:0 12px 7px 0;color:#657067;font-size:11px;font-weight:750}.knowledge-atlas-back{margin:0 0 7px;padding:4px 8px;color:#53682f;font-size:10px;font-weight:800;background:#f4f7ed;border:1px solid #d7dfc4;border-radius:6px}.knowledge-atlas-back[hidden]{display:none}
.knowledge-atlas-title>div{display:flex;align-items:center;gap:15px}.knowledge-atlas-title h2{margin:0;color:#172019;font-size:29px;letter-spacing:-.05em}.knowledge-atlas-topic{position:relative;z-index:8}.knowledge-atlas-topic-trigger{display:flex;width:210px;height:42px;align-items:center;justify-content:space-between;gap:12px;padding:0 13px 0 15px;color:#354038;font-size:11.5px;font-weight:780;text-align:left;background:#fff;border:1px solid #cfd7ce;border-radius:10px;box-shadow:0 2px 8px rgba(37,48,39,.035);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.knowledge-atlas-topic-trigger:hover,.knowledge-atlas-topic-trigger:focus-visible,.knowledge-atlas-topic.is-open .knowledge-atlas-topic-trigger{background:#fbfcf8;border-color:#829653;box-shadow:0 0 0 3px rgba(116,138,58,.1);outline:0}.knowledge-atlas-topic-trigger>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.knowledge-atlas-topic-trigger .icon{width:16px;height:16px;flex:0 0 auto;color:#687464;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .16s ease}.knowledge-atlas-topic.is-open .knowledge-atlas-topic-trigger .icon{transform:rotate(180deg)}.knowledge-atlas-topic-menu{position:absolute;top:calc(100% + 8px);left:0;width:340px;padding:7px;background:#fff;border:1px solid #d4dad2;border-radius:12px;box-shadow:0 18px 42px rgba(29,39,31,.16);animation:atlas-topic-menu-in .16s ease both}.knowledge-atlas-topic-menu[hidden]{display:none}.knowledge-atlas-topic-menu button{display:grid;width:100%;min-height:45px;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:12px;padding:9px 12px;color:#384139;font-size:12px;font-weight:680;line-height:1.4;text-align:left;background:transparent;border:0;border-radius:8px}.knowledge-atlas-topic-menu button:hover,.knowledge-atlas-topic-menu button:focus-visible{color:#30411f;background:#f4f7ec;outline:0}.knowledge-atlas-topic-menu button[aria-selected="true"]{color:#4e6428;font-weight:820;background:#edf2e2}.knowledge-atlas-topic-menu button .icon{display:none;width:16px;height:16px;color:#708638;fill:none;stroke:currentColor;stroke-width:2}.knowledge-atlas-topic-menu button[aria-selected="true"] .icon{display:block}@keyframes atlas-topic-menu-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
.knowledge-atlas-title p{margin:9px 0 0;color:#747d76;font-size:10px}
.knowledge-atlas-actions{display:flex;align-items:center;gap:9px}.knowledge-atlas-actions>button,.knowledge-atlas-export{display:inline-flex;height:39px;align-items:center;gap:7px;padding:0 13px;color:#303932;font-size:11px;font-weight:750;background:#fff;border:1px solid #dce1da;border-radius:7px;box-sizing:border-box}.knowledge-atlas-actions>button:hover,.knowledge-atlas-actions>button.is-active,.knowledge-atlas-export:hover{color:#53682f;border-color:#849854;background:#fafcf6}.knowledge-atlas-actions>button.is-primary{color:#fff;background:#748a3a;border-color:#748a3a}.knowledge-atlas-actions>button.is-saved{background:#31452d;border-color:#31452d}.knowledge-atlas-actions .icon,.knowledge-atlas-export .icon{width:15px;height:15px}.knowledge-atlas-export{padding-right:5px}.knowledge-atlas-export select{height:100%;padding:0 26px 0 0;color:inherit;font:inherit;background:transparent;border:0;outline:0}
.knowledge-atlas-shell{--atlas-left-min:200px;--atlas-left-max:260px;--atlas-left-collapse-threshold:96px;--atlas-right-min:280px;--atlas-right-max:380px;--atlas-right-collapse-threshold:120px;--atlas-left-width:var(--atlas-left-max);--atlas-right-width:var(--atlas-right-max);--atlas-left-effective:min(var(--atlas-left-width),var(--atlas-left-max));--atlas-right-effective:min(var(--atlas-right-width),var(--atlas-right-max));position:relative;display:grid;grid-template-columns:var(--atlas-left-effective) minmax(0,1fr) var(--atlas-right-effective);min-height:calc(100vh - 110px)}
.knowledge-atlas-filters{display:flex;min-width:0;flex-direction:column;padding:24px 20px 22px;overflow:auto;background:#fbfcfa;border-right:1px solid #e0e4df;box-sizing:border-box}
.knowledge-atlas-filters>header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding-bottom:18px;border-bottom:1px solid #dfe4de}.knowledge-atlas-filters>header>div:first-child{min-width:0}.knowledge-atlas-filters>header strong,.knowledge-atlas-filters>header span{display:block;word-break:keep-all}.knowledge-atlas-filters>header strong{color:#263029;font-size:14px}.knowledge-atlas-filters>header span{margin-top:6px;color:#7b857d;font-size:10px;line-height:1.5}.knowledge-atlas-filters>header button{padding:3px;color:#74833f;font-size:11px;font-weight:750;background:transparent;border:0}
.knowledge-atlas-panel-actions{display:flex;flex:0 0 auto;align-items:center;gap:3px}.knowledge-atlas-panel-actions [data-atlas-panel-toggle]{display:grid;width:25px;height:25px;place-items:center;padding:0;font-size:19px;border:1px solid #d9dfd3;border-radius:6px}.knowledge-atlas-panel-actions [data-atlas-panel-toggle]:hover,.knowledge-atlas-panel-actions [data-atlas-panel-toggle]:focus-visible{background:#f1f5e8;border-color:#91a26d;outline:0}
.knowledge-atlas-policy{margin:18px 0 2px;padding:15px 14px 14px;background:linear-gradient(145deg,#f4f7ed,#eef3e4);border:1px solid #cbd8b7;border-left:4px solid #748a3a;border-radius:10px;box-shadow:0 5px 14px rgba(66,83,43,.07)}
.knowledge-atlas-policy-title{display:flex;align-items:center;gap:8px;color:#405522}.knowledge-atlas-policy-title>span{display:grid;width:20px;height:20px;flex:0 0 auto;place-items:center;color:#fff;font-size:11px;font-weight:900;background:#748a3a;border-radius:50%}.knowledge-atlas-policy-title strong{display:block;color:#34491c;font-size:12.5px;line-height:1.35;letter-spacing:-.025em;word-break:keep-all}
.knowledge-atlas-policy dl{display:grid;gap:10px;margin:13px 0 0}.knowledge-atlas-policy dl>div{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;align-items:start}.knowledge-atlas-policy dt{padding-top:1px;color:#53672f;font-size:10px;font-weight:850;line-height:1.65}.knowledge-atlas-policy dd{margin:0;color:#3f4941;font-size:10.5px;font-weight:560;line-height:1.62;letter-spacing:-.012em;word-break:keep-all}
.knowledge-atlas-filters fieldset{margin:0 0 14px;padding:20px 0 22px;border:0;border-bottom:1px solid #dde3dc}.knowledge-atlas-filters legend{margin-bottom:13px;color:#3d463e;font-size:12px;font-weight:850}.knowledge-atlas-filters label{display:flex;min-height:31px;align-items:center;gap:9px;color:#566058;font-size:11.5px;cursor:pointer}.knowledge-atlas-filters input{width:15px;height:15px;margin:0;flex:0 0 auto;accent-color:#778c3e}.knowledge-atlas-filters label>i,.knowledge-atlas-filters footer i{width:8px;height:8px;flex:0 0 auto;background:var(--node-color,#a9b2aa);border-radius:50%}.knowledge-atlas-filters label span{min-width:0;flex:1;word-break:keep-all}.knowledge-atlas-filters label b{flex:0 0 auto;color:#808981;font-size:10px}.knowledge-atlas-filters footer{display:flex;flex-wrap:wrap;gap:11px 15px;margin-top:8px;padding-top:18px;color:#69736b;font-size:10.5px;border-top:1px solid #dfe4de}.knowledge-atlas-filters footer strong{width:100%;color:#3c463e;font-size:12px}.knowledge-atlas-filters footer span{display:flex;align-items:center;gap:6px;word-break:keep-all}
.knowledge-atlas-shell.is-left-collapsed .knowledge-atlas-filters,.knowledge-atlas-shell.is-right-collapsed .knowledge-atlas-inspector{visibility:hidden;padding:0;overflow:hidden;border:0;pointer-events:none}
.knowledge-atlas-resizer{position:absolute;z-index:7;top:0;bottom:0;width:14px;padding:0;color:#66783d;background:transparent;border:0;cursor:col-resize;touch-action:none;transform:translateZ(0)}.knowledge-atlas-resizer.is-left{left:max(0px,calc(var(--atlas-left-effective) - 7px))}.knowledge-atlas-resizer.is-right{right:max(0px,calc(var(--atlas-right-effective) - 7px))}.knowledge-atlas-resizer:before{position:absolute;top:0;bottom:0;left:50%;width:1px;background:#dfe4dd;content:"";transform:translateX(-50%);transition:width .15s ease,background .15s ease}.knowledge-atlas-resizer span{position:absolute;top:88px;left:50%;display:grid;width:20px;height:34px;place-items:center;color:#60733a;font-size:18px;font-weight:850;line-height:1;background:#fff;border:1px solid #d6ded0;border-radius:7px;box-shadow:0 3px 10px rgba(36,48,38,.08);transform:translateX(-50%);transition:color .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease}.knowledge-atlas-resizer:hover:before,.knowledge-atlas-resizer:focus-visible:before,.knowledge-atlas-resizer.is-resizing:before{width:3px;background:#819550}.knowledge-atlas-resizer:hover span,.knowledge-atlas-resizer:focus-visible span,.knowledge-atlas-resizer.is-resizing span{color:#fff;background:#748a3a;border-color:#748a3a;box-shadow:0 4px 13px rgba(61,79,41,.2)}.knowledge-atlas-resizer:focus-visible{outline:0}.knowledge-atlas-shell.is-left-collapsed .knowledge-atlas-resizer.is-left span,.knowledge-atlas-shell.is-right-collapsed .knowledge-atlas-resizer.is-right span{background:#f3f7eb;border-color:#95a872}.is-resizing-atlas-panel{cursor:col-resize!important;user-select:none!important}
.knowledge-atlas-stage{min-width:0;background:#fcfdfb;border-right:1px solid #e0e4df;container:atlas-stage/inline-size}
.knowledge-atlas-tools{display:grid;min-height:64px;grid-template-columns:minmax(180px,1fr) max-content max-content max-content;align-items:center;gap:10px 14px;padding:11px 18px;overflow:visible;background:#fff;border-bottom:1px solid #e1e5e0;box-sizing:border-box}.knowledge-atlas-tools>label{position:relative;display:flex;width:100%;min-width:0;align-items:center}.knowledge-atlas-tools>label .icon{position:absolute;left:12px;width:15px;height:15px;color:#59645b}.knowledge-atlas-tools input{width:100%;height:40px;padding:0 12px 0 37px;color:#29322b;font-size:11.5px;border:1px solid #d8ddd6;border-radius:9px;outline:0}.knowledge-atlas-tools input:focus{border-color:#829553;box-shadow:0 0 0 3px rgba(116,138,58,.1)}.knowledge-atlas-tool-group{display:flex;min-width:max-content;align-items:center;gap:9px}.knowledge-atlas-tool-group>span{color:#687269;font-size:11px;font-weight:750;white-space:nowrap}.knowledge-atlas-view-controls{display:flex;min-width:max-content;align-items:center;justify-self:end;gap:8px}
.knowledge-atlas-segment,.knowledge-atlas-zoom{display:flex;overflow:hidden;isolation:isolate;background:#fff;border:1px solid #cfd6cd;border-radius:10px}.knowledge-atlas-segment button,.knowledge-atlas-zoom button,.knowledge-atlas-zoom b{display:grid;height:38px;min-width:38px;place-items:center;padding:0 10px;color:#5a655b;font-size:11px;background:#fff;border:0;border-right:1px solid #dce2db;box-sizing:border-box}.knowledge-atlas-segment button:first-child,.knowledge-atlas-zoom button:first-child{border-radius:9px 0 0 9px}.knowledge-atlas-segment button:last-child,.knowledge-atlas-zoom button:last-child{border-right:0;border-radius:0 9px 9px 0}.knowledge-atlas-segment button.is-active{position:relative;z-index:1;color:#506529;background:#f2f5e8;box-shadow:inset 0 0 0 1.5px #7b9046}.knowledge-atlas-segment .icon,.knowledge-atlas-zoom .icon{width:16px;height:16px}.knowledge-atlas-zoom b{min-width:58px;font-weight:700}
.knowledge-atlas-density{display:flex;height:38px;min-width:max-content;align-items:center;overflow:hidden;color:#566159;background:#f7f9f3;border:1px solid #d4dcc8;border-radius:10px}.knowledge-atlas-density[hidden]{display:none}.knowledge-atlas-density span{padding:0 11px;font-size:10px;font-weight:780;white-space:nowrap}.knowledge-atlas-density button{display:grid;width:34px;height:38px;place-items:center;padding:0;color:#52632f;font-size:19px;background:#fff;border:0;border-left:1px solid #dce2d5}.knowledge-atlas-density button:hover:not(:disabled){background:#edf3e2}.knowledge-atlas-density button:disabled{color:#adb5aa;background:#fafbfa;cursor:not-allowed}
@container atlas-stage (max-width:860px){.knowledge-atlas-tools{grid-template-columns:max-content max-content minmax(0,1fr);grid-template-areas:"search search search" "depth layout view";padding-block:12px}.knowledge-atlas-tools>label{grid-area:search}.knowledge-atlas-depth-control{grid-area:depth}.knowledge-atlas-layout-control{grid-area:layout}.knowledge-atlas-view-controls{grid-area:view}.knowledge-atlas-canvas-wrap{height:calc(100vh - 226px)}}
@container atlas-stage (max-width:700px){.knowledge-atlas-tools{grid-template-columns:1fr 1fr;grid-template-areas:"search search" "depth layout" "view view"}.knowledge-atlas-layout-control{justify-self:end}.knowledge-atlas-view-controls{width:100%;justify-content:flex-end}.knowledge-atlas-canvas-wrap{height:calc(100vh - 274px)}}
@container atlas-stage (max-width:400px){.knowledge-atlas-tool-group>span{display:none}.knowledge-atlas-layout-control{justify-self:end}}
.knowledge-atlas-canvas-wrap{position:relative;height:calc(100vh - 174px);min-height:650px;overflow:hidden;background:#fcfdfb}.knowledge-atlas-canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none;user-select:none}.knowledge-atlas-canvas.is-panning,.knowledge-atlas-canvas.is-dragging-node{cursor:grabbing}.knowledge-atlas-canvas defs path{fill:#9ba69e}.knowledge-atlas-canvas-wrap>p{position:absolute;right:14px;bottom:12px;margin:0;padding:7px 9px;color:#707b72;font-size:10px;background:rgba(255,255,255,.94);border:1px solid #e1e5e1;border-radius:6px}
.atlas-edge{stroke:#aeb8b0;stroke-width:1.1;opacity:.58;pointer-events:stroke;cursor:pointer}.atlas-edge:hover{stroke:#718070;stroke-width:2}.atlas-edge.is-focused{stroke:#647c35;stroke-width:2.4;opacity:1}.atlas-edge-label{fill:#5d7134;font-size:8.5px;font-weight:780;opacity:.66;paint-order:stroke;stroke:#fcfdfb;stroke-width:6px;stroke-linejoin:round;pointer-events:none}.atlas-edge-label.is-focused{font-size:9.5px;font-weight:850;opacity:1}.atlas-node{cursor:grab;outline:none}.knowledge-atlas-canvas.is-dragging-node .atlas-node{cursor:grabbing}.atlas-node-hit{fill:transparent;pointer-events:all}.atlas-node-ring{fill:color-mix(in srgb,var(--node-color) 15%,#fff);stroke:color-mix(in srgb,var(--node-color) 28%,#fff);stroke-width:1}.atlas-node-core{fill:var(--node-color);stroke:#fff;stroke-width:2.5;filter:drop-shadow(0 4px 5px rgba(29,40,32,.15))}.atlas-node:hover .atlas-node-ring,.atlas-node:focus .atlas-node-ring{stroke:var(--node-color);stroke-width:2}.atlas-node.is-selected .atlas-node-ring{stroke:#27372c;stroke-width:2.5}.atlas-node-icon{color:#fff;fill:none;stroke:#fff;stroke-width:1.8;pointer-events:none}.atlas-node-label{fill:#253028;font-size:11.5px;font-weight:800;paint-order:stroke;stroke:#fcfdfb;stroke-width:5px;stroke-linejoin:round;pointer-events:none}.atlas-node-date{fill:#68736a;font-size:9px;font-weight:750;paint-order:stroke;stroke:#fcfdfb;stroke-width:4px;pointer-events:none}
.atlas-node.is-drillable .atlas-node-ring{animation:atlas-node-drill-pulse 2.4s ease-in-out infinite}.atlas-node-drill-hint{fill:color-mix(in srgb,var(--node-color) 84%,#fff);filter:drop-shadow(0 0 4px color-mix(in srgb,var(--node-color) 42%,transparent));pointer-events:none}.atlas-node-drill-hint path{transform-box:fill-box;transform-origin:center;animation:atlas-node-drill-sparkle 1.8s ease-in-out infinite}.atlas-node-drill-hint path+path{animation-delay:.65s}@keyframes atlas-node-drill-pulse{0%,100%{opacity:.72;filter:drop-shadow(0 0 0 transparent)}50%{opacity:1;filter:drop-shadow(0 0 7px color-mix(in srgb,var(--node-color) 38%,transparent))}}@keyframes atlas-node-drill-sparkle{0%,100%{opacity:.28;transform:scale(.7) rotate(0)}50%{opacity:1;transform:scale(1.16) rotate(16deg)}}
@media(prefers-reduced-motion:reduce){.atlas-node.is-drillable .atlas-node-ring,.atlas-node-drill-hint path{animation:none!important}.atlas-node-drill-hint{opacity:.82}}
.knowledge-atlas-inspector{min-width:0;overflow:auto;background:#fff;box-sizing:border-box}.knowledge-atlas-inspector.is-collapsed>*:not(header){display:none}.knowledge-atlas-inspector>header{display:flex;min-height:84px;align-items:center;justify-content:space-between;padding:14px 21px;border-bottom:1px solid #e0e4df}.knowledge-atlas-inspector>header span,.knowledge-atlas-inspector>header strong,.knowledge-atlas-inspector>header small{display:block}.knowledge-atlas-inspector>header span{color:#69746b;font-size:11px}.knowledge-atlas-inspector>header strong{margin-top:6px;color:#273129;font-size:17px}.knowledge-atlas-inspector>header small{margin-top:5px;color:#708047;font-size:10px;font-weight:750}.knowledge-atlas-inspector>header button{display:grid;width:30px;height:30px;flex:0 0 auto;place-items:center;padding:0;color:#6c756e;font-size:21px;background:transparent;border:1px solid transparent;border-radius:7px}.knowledge-atlas-inspector>header button:hover,.knowledge-atlas-inspector>header button:focus-visible{color:#59702e;background:#f1f5e8;border-color:#d9dfd1;outline:0}.knowledge-atlas-path{margin:0;padding:17px 21px;color:#657066;font-size:13.5px;line-height:1.62;background:#fafbf9;border-bottom:1px solid #e4e7e3}.knowledge-atlas-path ol{display:flex;flex-wrap:wrap;align-items:center;gap:3px 5px;margin:0;padding:0;list-style:none}.knowledge-atlas-path li{display:inline-flex;min-width:0;align-items:center;gap:5px}.knowledge-atlas-path button{max-width:100%;padding:3px 5px;color:#56645a;font:inherit;font-weight:720;line-height:1.45;text-align:left;overflow-wrap:anywhere;background:transparent;border:0;border-radius:5px;transition:color .15s ease,background .15s ease,box-shadow .15s ease}.knowledge-atlas-path button:hover,.knowledge-atlas-path button:focus-visible{color:#4f6829;background:#edf3e3;box-shadow:0 0 0 1px #d8e1c7;outline:0}.knowledge-atlas-path button[aria-current="location"]{color:#314421;font-weight:850;background:#f1f5e8}.knowledge-atlas-path-relation{flex:0 0 auto;color:#748a3a;font-size:12.5px;font-weight:850;white-space:nowrap}
.knowledge-atlas-inspector>nav{display:flex;height:50px;align-items:end;padding:0 21px;border-bottom:1px solid #dfe3de}.knowledge-atlas-inspector>nav button{height:49px;padding:0 15px;color:#6a746c;font-size:12px;font-weight:750;background:transparent;border:0;border-bottom:2px solid transparent}.knowledge-atlas-inspector>nav button.is-active{color:#607631;border-bottom-color:#748a3a}
.knowledge-atlas-tabpanel{padding:21px;border-bottom:1px solid #e1e5e0}.knowledge-atlas-tabpanel>h3{margin:0 0 12px;color:#39443b;font-size:12px}.knowledge-atlas-tabpanel blockquote{margin:0;padding:18px;color:#293129;font-family:"Noto Serif KR","NanumMyeongjo","Batang",serif;font-size:13px;font-weight:650;line-height:1.78;background:#f8f8f4;border:1px solid #dedfd8;border-radius:8px}.knowledge-atlas-tabpanel dl{display:grid;gap:10px;margin:17px 0 0}.knowledge-atlas-tabpanel dl div{display:grid;grid-template-columns:84px 1fr;gap:9px}.knowledge-atlas-tabpanel dt{color:#7b847d;font-size:10px}.knowledge-atlas-tabpanel dd{margin:0;color:#343d35;font-size:11px;font-weight:700;overflow-wrap:anywhere}.knowledge-atlas-commentary strong,.knowledge-atlas-bibliography strong{color:#2a342c;font-size:13px}.knowledge-atlas-commentary p,.knowledge-atlas-bibliography p{margin:10px 0 0;color:#626e65;font-size:11px;line-height:1.68}.knowledge-atlas-bibliography code{display:block;margin-top:13px;padding:11px;color:#315f63;font-size:10px;background:#f1f5f2;border-radius:6px;overflow-wrap:anywhere}.knowledge-atlas-bibliography a{display:inline-flex;margin-top:14px;color:#5b702f;font-size:11px;font-weight:800;text-decoration:none}
.knowledge-atlas-support{padding:21px}.knowledge-atlas-support h3{margin:0 0 14px;color:#2d362f;font-size:12px}.knowledge-atlas-support article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;margin-bottom:8px;padding:11px 10px;background:#fbfcfa;border:1px solid #e1e5e0;border-radius:8px}.knowledge-atlas-support article>span{padding:5px 6px;color:#fff;font-size:8.5px;font-weight:800;background:#73883b;border-radius:4px}.knowledge-atlas-support article>span.is-indirect{background:#34737a}.knowledge-atlas-support article strong,.knowledge-atlas-support article small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.knowledge-atlas-support article strong{color:#303931;font-size:10.5px}.knowledge-atlas-support article small{margin-top:4px;color:#7a837b;font-size:9px}.knowledge-atlas-support article a{color:#657631;font-size:9px;font-weight:800;text-decoration:none;white-space:nowrap}
@media(min-width:1001px){body.knowledge-graph-timeline-mode .main-scroll{overflow:hidden;overscroll-behavior:none}.knowledge-graph-timeline-mode .knowledge-graph-workspace.has-timeline-result,.knowledge-graph-timeline-mode .knowledge-graph-workspace.has-timeline-result .knowledge-graph-thread,.knowledge-graph-timeline-mode .knowledge-graph-workspace.has-timeline-result .knowledge-graph-output{height:100%;min-height:0;overflow:hidden}.knowledge-atlas-result{display:grid;height:100%;min-height:0;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.knowledge-atlas-shell{height:100%;min-height:0;overflow:hidden}.knowledge-atlas-filters,.knowledge-atlas-inspector{height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.knowledge-atlas-stage{display:flex;min-height:0;flex-direction:column;overflow:hidden}.knowledge-atlas-tools{flex:0 0 auto}.knowledge-atlas-canvas-wrap{height:auto;min-height:0;flex:1 1 auto;overscroll-behavior:none}}
@media(max-width:1280px){.knowledge-atlas-shell{--atlas-left-min:190px;--atlas-left-max:220px;--atlas-right-min:260px;--atlas-right-max:320px}.knowledge-atlas-title h2{font-size:25px}.knowledge-atlas-actions{gap:5px}.knowledge-atlas-actions>button,.knowledge-atlas-export{padding-inline:9px}.knowledge-atlas-filters{padding-inline:16px}.knowledge-atlas-filters label{font-size:10.5px}}
@media(max-width:1000px){.knowledge-atlas-header{align-items:flex-start;flex-direction:column}.knowledge-atlas-actions{width:100%;overflow:auto}.knowledge-atlas-shell{grid-template-columns:180px minmax(0,1fr)}.knowledge-atlas-resizer,.knowledge-atlas-panel-actions [data-atlas-panel-toggle],.knowledge-atlas-inspector [data-atlas-panel-toggle]{display:none}.knowledge-atlas-inspector{grid-column:1/-1;max-height:520px;border-top:1px solid #dfe3dd}.knowledge-atlas-shell.is-left-collapsed .knowledge-atlas-filters{visibility:visible;padding:24px 16px 22px;overflow:auto;border-right:1px solid #e0e4df;pointer-events:auto}.knowledge-atlas-shell.is-right-collapsed .knowledge-atlas-inspector{visibility:visible;padding:0;overflow:auto;pointer-events:auto}.knowledge-atlas-canvas-wrap{height:680px}.knowledge-atlas-tools>label{width:100%}}
@media(max-width:720px){.knowledge-atlas-shell{display:block}.knowledge-atlas-filters{display:none}.knowledge-atlas-tools>label{width:100%}.knowledge-atlas-canvas-wrap{height:600px;min-height:600px}.knowledge-atlas-title>div{align-items:flex-start;flex-direction:column}.knowledge-atlas-actions>button span{display:none}}
@media(max-width:1080px){.knowledge-graph-examples{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1180px){.knowledge-process-card ol{grid-template-columns:repeat(3,1fr)}.knowledge-graph-layout{grid-template-columns:minmax(0,1fr) 300px}}
@media(max-width:820px){.knowledge-graph-thread{padding-inline:16px}.knowledge-graph-examples{grid-template-columns:1fr;gap:11px;margin-top:30px}.knowledge-graph-examples-heading{align-items:flex-start;flex-direction:column;gap:10px;padding-bottom:14px}.knowledge-graph-examples-heading strong{font-size:17px}.knowledge-graph-examples-heading p{white-space:normal}.knowledge-graph-examples>button{min-height:138px;grid-template-columns:76px minmax(0,1fr) 18px;gap:13px;padding:14px}.knowledge-graph-book-cover{width:76px;height:110px}.knowledge-graph-examples>button small{font-size:9.5px}.knowledge-graph-examples>button strong{font-size:clamp(14px,4vw,16px)}.knowledge-graph-examples>button em{padding-top:9px}.knowledge-process-card header{grid-template-columns:54px 1fr}.knowledge-process-card header>b{display:none}.knowledge-process-orbit{width:50px;height:50px}.knowledge-process-orbit:before{inset:9px}.knowledge-process-orbit:after{inset:20px}.knowledge-process-card ol{grid-template-columns:1fr}.knowledge-process-card li{display:grid;grid-template-columns:30px 1fr;gap:10px}.knowledge-process-card li>span{margin:0}.knowledge-process-card footer,.knowledge-result-header,.knowledge-filter-bar,.knowledge-result-footer{align-items:flex-start;flex-direction:column}.knowledge-result-header dl{width:100%}.knowledge-result-header dl div{flex:1}.knowledge-node-search{width:100%}.knowledge-graph-layout{grid-template-columns:1fr}.knowledge-canvas-wrap{border-right:0;border-bottom:1px solid #dce4df}.knowledge-canvas{height:520px}}

@media(prefers-reduced-motion:reduce){.knowledge-process-orbit,.knowledge-process-card li.is-active>span,.knowledge-node.is-search-match .knowledge-node-halo,.knowledge-result{animation:none}}

@media print {
    @page nahf-report {
        size: A4;
        margin: 0;
    }

    @page {
        size: A4;
        margin: 16mm;
    }

    body.is-printing-report {
        height: auto;
        overflow: visible;
        background: #fff;
    }

    body.is-printing-report .sidebar,
    body.is-printing-report .mobile-header,
    body.is-printing-report .sidebar-backdrop,
    body.is-printing-report .skip-link,
    body.is-printing-report .feedback-widget,
    body.is-printing-report .voice-output-button,
    body.is-printing-report [data-voice-status],
    body.is-printing-report .artifact-viewer-header,
    body.is-printing-report .main-scroll,
    body.is-printing-report .artifact-revision-banner,
    body.is-printing-report .report-workspace > .agent-toolbar,
    body.is-printing-report .report-workspace > .scenario-composer-dock,
    body.is-printing-report [data-report-intro],
    body.is-printing-report .scenario-user-turn,
    body.is-printing-report .report-progress-card,
    body.is-printing-report .report-result-hero,
    body.is-printing-report .live-report-hero,
    body.is-printing-report .live-report-findings,
    body.is-printing-report .artifact-validation-notice,
    body.is-printing-report .report-result-tabs,
    body.is-printing-report .report-result-actions,
    body.is-printing-report .report-document-toolbar,
    body.is-printing-report .report-sources-panel,
    body.is-printing-report .paper-footnotes button,
    body.is-printing-report .source-return-button,
    body.is-printing-report .report-sources-panel .draft-bibliography,
    body.is-printing-report .toast {
        display: none !important;
    }

    body.is-printing-report .app-shell,
    body.is-printing-report .main,
    body.is-printing-report .main-stage,
    body.is-printing-report .artifact-viewer,
    body.is-printing-report .artifact-viewer-content,
    body.is-printing-report .report-workspace,
    body.is-printing-report .agent-thread,
    body.is-printing-report .scenario-output,
    body.is-printing-report .report-draft-result,
    body.is-printing-report .report-document-panel,
    body.is-printing-report .report-paper-viewport {
        width: 100%;
        height: auto;
        min-height: 0;
        margin: 0;
        padding: 0;
        display: block !important;
        overflow: visible;
        background: #fff;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    body.is-printing-report .academic-paper {
        width: 100%;
        margin: 0;
        padding: 0;
        display: block;
        border: 0;
        box-shadow: none;
    }

    body.is-printing-report .live-report-paper[class*="fixed-report-paper-"] {
        width: 210mm !important;
        max-width: none !important;
        gap: 0 !important;
        zoom: 1 !important;
    }

    body.is-printing-report .live-report-paper[class*="fixed-report-paper-"] > .hwp-a4-page {
        width: 210mm !important;
        height: 296.8mm !important;
        min-height: 296.8mm !important;
        aspect-ratio: auto;
        margin: 0 !important;
        border: 0 !important;
        box-shadow: none !important;
        break-after: auto;
        break-inside: avoid;
        page: nahf-report;
    }

    body.is-printing-report .live-report-paper[class*="fixed-report-paper-"] > .hwp-a4-page + .hwp-a4-page {
        break-before: page;
    }

    body.is-printing-report .paper-page {
        width: 100%;
        min-height: 265mm;
        margin: 0;
        padding: 0;
        display: flex;
        border: 0;
        box-shadow: none;
        break-after: page;
    }

    body.is-printing-report .paper-page:last-child {
        break-after: auto;
    }

    body.is-printing-report .artifact-viewer,
    body.is-printing-rebuttal .artifact-viewer {
        position: static;
        inset: auto;
    }

    body.is-printing-report .report-draft-result,
    body.is-printing-report .report-document-panel {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
    }

    body.is-printing-report .paper-abstract > p:not(.paper-keywords),
    body.is-printing-report .paper-section p {
        font-size: 10.5pt;
        line-height: 1.85;
    }

    body.is-printing-report .paper-footnotes ol,
    body.is-printing-report .paper-references,
    body.is-printing-report .paper-document-note,
    body.is-printing-report .draft-source-card,
    body.is-printing-report .primary-source-excerpt-card,
    body.is-printing-report .draft-bibliography,
    body.is-printing-report .source-verification-notice {
        font-size: 9pt;
    }

    body.is-printing-report .report-sources-panel {
        margin-top: 18mm;
        padding-top: 10mm;
        break-before: page;
        border-top: 1px solid #d9dad6;
    }

    body.is-printing-report .draft-source-list {
        grid-template-columns: 1fr 1fr;
    }

    body.is-printing-report .draft-source-card,
    body.is-printing-report .primary-source-excerpt-card,
    body.is-printing-report .draft-bibliography {
        break-inside: avoid;
    }

    body.is-printing-report .paper-section,
    body.is-printing-report .paper-abstract,
    body.is-printing-report .paper-footnotes {
        break-inside: avoid;
    }

    body.is-printing-rebuttal {
        height: auto;
        overflow: visible;
        background: #fff;
    }

    body.is-printing-rebuttal .sidebar,
    body.is-printing-rebuttal .mobile-header,
    body.is-printing-rebuttal .sidebar-backdrop,
    body.is-printing-rebuttal .artifact-viewer-header,
    body.is-printing-rebuttal .main-scroll,
    body.is-printing-rebuttal .artifact-revision-banner,
    body.is-printing-rebuttal [data-agent-workspace] > .agent-toolbar,
    body.is-printing-rebuttal [data-agent-workspace] > .scenario-composer-dock,
    body.is-printing-rebuttal [data-agent-intro],
    body.is-printing-rebuttal .scenario-user-turn,
    body.is-printing-rebuttal .analysis-progress-card,
    body.is-printing-rebuttal .result-hero,
    body.is-printing-rebuttal .result-tabs,
    body.is-printing-rebuttal .result-actions,
    body.is-printing-rebuttal .report-document-toolbar,
    body.is-printing-rebuttal .network-panel,
    body.is-printing-rebuttal .toast {
        display: none !important;
    }

    body.is-printing-rebuttal .app-shell,
    body.is-printing-rebuttal .main,
    body.is-printing-rebuttal .main-stage,
    body.is-printing-rebuttal .artifact-viewer,
    body.is-printing-rebuttal .artifact-viewer-content,
    body.is-printing-rebuttal [data-agent-workspace],
    body.is-printing-rebuttal .agent-thread,
    body.is-printing-rebuttal .scenario-output,
    body.is-printing-rebuttal .analysis-result,
    body.is-printing-rebuttal .rebuttal-document-panel,
    body.is-printing-rebuttal .rebuttal-paper-viewport {
        width: 100%;
        height: auto;
        min-height: 0;
        margin: 0;
        padding: 0;
        display: block !important;
        overflow: visible;
        background: #fff;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    body.is-printing-rebuttal .rebuttal-paper {
        width: 100%;
        margin: 0;
        padding: 0;
        display: block;
    }

    body.is-printing-rebuttal .paper-page {
        width: 100%;
        min-height: 265mm;
        margin: 0;
        padding: 0;
        border: 0;
        box-shadow: none;
        break-after: page;
    }

    body.is-printing-rebuttal .paper-page:last-child {
        break-after: auto;
    }

    body.is-printing-rebuttal .paper-section,
    body.is-printing-rebuttal .rebuttal-evidence-section article,
    body.is-printing-rebuttal .paper-references {
        break-inside: avoid;
    }
}

.voice-input-button,
.voice-output-button {
    border: 0;
    cursor: pointer;
    transition: color 150ms ease, background 150ms ease, box-shadow 150ms ease;
}

.scenario-composer-bottom .voice-input-button {
    width: 34px;
    height: 34px;
    padding: 0;
    display: grid;
    place-items: center;
    color: #667061;
    background: #f1f3ed;
    border-radius: 50%;
}

.voice-input-button .icon,
.voice-output-button .icon {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.voice-input-button:hover,
.voice-output-button:hover {
    color: var(--primary-dark);
    background: var(--primary-pale);
}

.voice-input-button:focus-visible,
.voice-output-button:focus-visible {
    outline: 0;
    box-shadow: 0 0 0 4px var(--focus);
}

.voice-input-button.is-listening {
    color: #fff;
    background: #b6473b;
    animation: voice-pulse 1.25s ease-in-out infinite;
}

.voice-output-button {
    float: right;
    margin: 0 0 8px 12px;
    padding: 6px 9px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #667061;
    background: #f4f5f1;
    border-radius: 999px;
    font: inherit;
    font-size: 10px;
    font-weight: 750;
}

.voice-output-button.is-speaking {
    color: #fff;
    background: var(--primary);
}

@keyframes voice-pulse {
    50% { box-shadow: 0 0 0 7px rgba(182, 71, 59, 0.16); }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* 동북아역사리포트 제65호를 기준으로 한 독도 보고서 최종 편집 조판 */
.live-report-paper.fixed-report-theme-dokdo > .hwp-a4-page {
    background: #fff;
    border-color: #d4d1cd;
}

.live-report-paper.fixed-report-theme-dokdo > .hwp-cover-page {
    background: #fff;
}

.live-report-paper.fixed-report-theme-dokdo .hwp-cover-page .hwp-a4-content {
    padding: 0;
}

.live-report-paper.fixed-report-theme-dokdo .hwp-cover-page .hwp-running-header {
    display: none;
}

.live-report-paper.fixed-report-theme-dokdo .paper-cover {
    min-height: 100%;
    padding: 0;
    display: block;
    color: #161616;
    background: #fff;
    border: 0;
    box-shadow: none;
}

.live-report-paper.fixed-report-theme-dokdo .paper-cover::before {
    position: absolute;
    inset: 0 0 auto;
    height: 46%;
    background: #f3bcc1;
    content: "";
}

.live-report-paper.fixed-report-theme-dokdo .hwp-cover-series {
    position: absolute;
    top: 64px;
    right: 72px;
    left: 72px;
    height: auto;
    padding: 0;
    display: flex !important;
    align-items: flex-end;
    color: #111;
    background: transparent;
    border: 0;
    border-bottom: 1px solid rgba(130, 41, 51, 0.34);
    padding-bottom: 13px;
}

.live-report-paper.fixed-report-theme-dokdo .hwp-cover-series span {
    color: #101010;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: -.045em;
}

.live-report-paper.fixed-report-theme-dokdo .hwp-cover-series strong {
    max-width: 260px;
    padding: 0;
    color: #b83e49;
    font-size: 8.5px;
    font-weight: 700;
    letter-spacing: .04em;
    text-align: right;
}

.live-report-paper.fixed-report-theme-dokdo .hwp-cover-title-panel {
    position: absolute;
    top: 151px;
    left: 72px;
    width: 590px;
    min-height: 0;
    margin: 0 !important;
    padding: 0 !important;
    display: block;
    color: #111;
    background: transparent;
    border: 0;
    text-align: left;
}

.live-report-paper.fixed-report-theme-dokdo .hwp-cover-label {
    display: block;
    margin-bottom: 24px;
    color: #a52e3a;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .13em;
}

.live-report-paper.fixed-report-theme-dokdo .hwp-cover-title-panel h3 {
    max-width: 570px;
    margin: 0;
    color: #101010;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 37px;
    font-weight: 850;
    line-height: 1.28;
    letter-spacing: -.052em;
    text-align: left;
}

.live-report-paper.fixed-report-theme-dokdo .hwp-cover-title-panel > p {
    margin: 24px 0 0;
    color: #222;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 10.5px;
    font-weight: 600;
    text-align: left;
}

.live-report-paper.fixed-report-theme-dokdo .hwp-cover-credits {
    margin: 20px 0 0 !important;
    padding: 12px 0 0;
    display: block !important;
    color: #2a2a2a;
    border: 0;
    border-top: 1px solid rgba(130, 41, 51, 0.24);
    font-size: 8.5px;
    text-align: left;
}

.live-report-paper.fixed-report-theme-dokdo .hwp-cover-credits span:first-child {
    display: block;
}

.live-report-paper.fixed-report-theme-dokdo .hwp-cover-credits span:last-child { display: none; }

.live-report-paper.fixed-report-theme-dokdo .dokdo-cover-contents {
    position: absolute;
    top: 580px;
    right: 72px;
    bottom: auto;
    left: 72px;
    padding: 0;
    box-sizing: border-box;
    color: #191919;
    border: 0;
    border-top: 3px solid #b43a46;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
}

.live-report-paper.fixed-report-theme-dokdo .dokdo-cover-contents::after { display: none; }

.live-report-paper.fixed-report-theme-dokdo .dokdo-cover-contents > strong {
    display: block;
    margin-top: 15px;
    color: #a8313c;
    font-size: 10px;
    font-weight: 850;
}

.live-report-paper.fixed-report-theme-dokdo .dokdo-cover-contents ol {
    margin: 17px 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 42px;
    row-gap: 0;
    list-style: none;
}

.live-report-paper.fixed-report-theme-dokdo .dokdo-cover-contents li {
    min-height: 38px;
    padding: 9px 0 7px;
    border-bottom: 1px solid #e5d9d9;
    font-size: 9px;
    font-weight: 700;
    line-height: 1.5;
}

.live-report-paper.fixed-report-theme-dokdo .hwp-cover-institution {
    position: absolute;
    right: 72px;
    bottom: 52px;
    left: auto;
    width: 168px;
    margin: 0 !important;
    filter: none;
    transform: none;
}

/* 선택 시안 2: 제65호의 비대칭 꺾임선과 단일 열 목차를 적용한 표지 */
.live-report-paper.fixed-report-theme-dokdo .paper-cover::before {
    z-index: 0;
    height: 40%;
    background: #f4c0c5;
}

.live-report-paper.fixed-report-theme-dokdo .paper-cover::after {
    position: absolute;
    z-index: 0;
    top: 455px;
    right: 75px;
    bottom: 118px;
    left: 56px;
    box-sizing: border-box;
    border-right: 6px solid #f5c7ca;
    border-bottom: 6px solid #f5c7ca;
    border-left: 6px solid #f5c7ca;
    content: "";
    pointer-events: none;
}

.live-report-paper.fixed-report-theme-dokdo .hwp-cover-series {
    z-index: 2;
    top: 42px;
    right: 67px;
    left: 67px;
    align-items: flex-start;
    padding: 0;
    border-bottom: 0;
}

.live-report-paper.fixed-report-theme-dokdo .hwp-cover-series::before {
    position: absolute;
    top: 49px;
    left: 0;
    color: #ef6b73;
    content: "●  ○  ●";
    font-family: Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
    white-space: nowrap;
}

.live-report-paper.fixed-report-theme-dokdo .hwp-cover-series::after {
    position: absolute;
    z-index: -1;
    top: 43px;
    right: 0;
    width: 180px;
    height: 488px;
    box-sizing: border-box;
    border-top: 7px solid #ef5661;
    border-right: 7px solid #ef5661;
    border-bottom: 7px solid #f4aeb4;
    content: "";
    pointer-events: none;
}

.live-report-paper.fixed-report-theme-dokdo .hwp-cover-series span {
    font-size: 19px;
    letter-spacing: -.055em;
}

.live-report-paper.fixed-report-theme-dokdo .hwp-cover-series strong {
    width: 220px;
    max-width: none;
    color: #c44751;
    font-size: 9px;
    line-height: 1.65;
    letter-spacing: .04em;
    white-space: pre-line;
}

.live-report-paper.fixed-report-theme-dokdo .hwp-cover-title-panel {
    z-index: 1;
    top: 151px;
    left: 67px;
    width: 660px;
}

.live-report-paper.fixed-report-theme-dokdo .hwp-cover-label {
    margin-bottom: 22px;
    font-size: 9.5px;
    letter-spacing: .08em;
}

.live-report-paper.fixed-report-theme-dokdo .hwp-cover-title-panel h3 {
    width: 100%;
    max-width: none;
    min-height: 96px;
    font-size: 49px;
    line-height: 1.14;
    letter-spacing: -.068em;
    word-break: keep-all;
    overflow-wrap: normal;
    text-wrap: balance;
}

.live-report-paper.fixed-report-theme-dokdo .hwp-cover-title-panel > p {
    margin-top: 23px;
    font-size: 11.5px;
    font-weight: 750;
}

.live-report-paper.fixed-report-theme-dokdo .hwp-cover-credits {
    width: 550px;
    margin-top: 19px !important;
    padding-top: 0;
    border-top: 0;
    font-size: 9px;
}

.live-report-paper.fixed-report-theme-dokdo .dokdo-cover-contents {
    z-index: 1;
    top: 508px;
    right: auto;
    left: 68px;
    width: 320px;
    border-top: 0;
    text-align: left;
}

.live-report-paper.fixed-report-theme-dokdo .dokdo-cover-contents > strong {
    margin-top: 0;
    color: #b63843;
    font-size: 13px;
    letter-spacing: .02em;
    text-align: left;
}

.live-report-paper.fixed-report-theme-dokdo .dokdo-cover-contents ol {
    margin-top: 20px;
    display: block;
}

.live-report-paper.fixed-report-theme-dokdo .dokdo-cover-contents li {
    min-height: 0;
    padding: 10px 0 9px;
    border-bottom: 1px solid #ecd7d9;
    font-size: 12px;
    line-height: 1.45;
}

.live-report-paper.fixed-report-theme-dokdo .hwp-cover-institution {
    z-index: 1;
    right: 69px;
    bottom: 38px;
    width: 212px;
}

.live-report-paper.fixed-report-theme-dokdo .hwp-running-header {
    position: absolute;
    z-index: 3;
    top: 38px;
    right: 70px;
    left: 70px;
    height: 61px;
    margin: 0;
    padding: 0 15px;
    display: flex;
    justify-content: flex-end;
    color: #fff;
    background: #dedede;
    border: 0;
    box-sizing: border-box;
    font-size: 8px;
    font-weight: 700;
}

.live-report-paper.fixed-report-theme-dokdo .hwp-running-header span:first-child { display: none; }
.live-report-paper.fixed-report-theme-dokdo .hwp-running-header span:last-child { color: #fff; }

.live-report-paper.fixed-report-theme-dokdo .hwp-a4-content {
    inset: 0 74px 45px;
    padding: 139px 0 40px;
}

.live-report-paper.fixed-report-theme-dokdo .hwp-body-sheet .hwp-a4-content {
    padding-top: 180px;
    padding-bottom: 40px;
}

.live-report-paper.fixed-report-theme-dokdo .hwp-running-footer {
    right: 70px;
    bottom: 20px;
    left: 70px;
    height: 24px;
    padding: 0;
    display: flex;
    justify-content: center;
    border: 0;
}

.live-report-paper.fixed-report-theme-dokdo .hwp-running-footer strong {
    color: #222;
    font-size: 9px;
}

.live-report-paper.fixed-report-theme-dokdo .hwp-running-footer span { display: none; }
.live-report-paper.fixed-report-theme-dokdo .hwp-page-watermark { display: none; }

.live-report-paper.fixed-report-theme-dokdo .dokdo-article-heading {
    margin: 0 0 48px;
    color: #1b1b1b;
}

.live-report-paper.fixed-report-theme-dokdo .dokdo-article-heading h2 {
    margin: 0;
    color: #171717;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 19px;
    font-weight: 850;
    line-height: 1.45;
    letter-spacing: -.035em;
    text-align: center;
}

.live-report-paper.fixed-report-theme-dokdo .dokdo-article-heading > p {
    margin: 35px 0 0;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 9.5px;
    font-weight: 700;
    text-align: right;
}

.live-report-paper.fixed-report-theme-dokdo .dokdo-article-heading > div {
    margin-top: 76px;
    color: #292929;
    font-size: 11px;
    line-height: 1.85;
    text-align: justify;
    text-indent: 1em;
}

.live-report-paper.fixed-report-theme-dokdo .hwp-body-page > .paper-section,
.live-report-paper.fixed-report-theme-dokdo .hwp-final-page > .paper-section {
    margin: 0;
    padding: 0;
    display: block;
    background: transparent;
    border: 0;
}

.live-report-paper.fixed-report-theme-dokdo .paper-section-heading {
    margin: 0 0 12px;
    padding: 0;
    display: flex;
    align-items: baseline;
    gap: 5px;
    border: 0;
}

.live-report-paper.fixed-report-theme-dokdo .paper-section-number {
    width: auto;
    height: auto;
    margin: 0;
    display: block;
    color: #ad3540 !important;
    background: transparent;
    border: 0;
    border-radius: 0;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 14px !important;
    font-weight: 850;
    line-height: 1.5;
}

.live-report-paper.fixed-report-theme-dokdo .paper-section h4 {
    margin: 0;
    padding: 0;
    color: #ad3540 !important;
    border: 0 !important;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 14px !important;
    font-weight: 850;
    line-height: 1.5;
    letter-spacing: -.025em;
}

.live-report-paper.fixed-report-theme-dokdo .paper-section p {
    margin: 0 0 8px;
    color: #292929;
    font-family: "Noto Serif KR", "NanumMyeongjo", "Batang", "바탕", serif;
    font-size: 14.2px !important;
    line-height: 1.84 !important;
    letter-spacing: -.018em;
    word-break: normal;
    text-align: justify;
    text-indent: 1em;
}

.live-report-paper.fixed-report-theme-dokdo .paper-section .paper-section-source {
    margin-top: 6px;
    padding: 6px 0 0;
    color: #555;
    background: transparent;
    border: 0;
    border-top: 1px solid #b9b9b9;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 8.2px !important;
    line-height: 1.55 !important;
    text-indent: 0;
}

.live-report-paper.fixed-report-theme-dokdo .paper-section .paper-inline-note-marker {
    display: inline-block;
    margin-left: 2px;
    color: #a9313c;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: .62em;
    font-weight: 850;
    line-height: 1;
    text-indent: 0;
    vertical-align: super;
}

.live-report-paper.fixed-report-theme-dokdo .paper-section .paper-section-source + .paper-section-source {
    margin-top: 3px;
    padding-top: 0;
    border-top: 0;
}

.live-report-paper.fixed-report-theme-dokdo .paper-section .paper-section-source strong {
    margin-right: 8px;
    color: #9f3039;
    font-weight: 800;
}

.live-report-paper.fixed-report-theme-dokdo .dokdo-flow-page > .paper-section + .paper-section {
    margin-top: 24px;
}

.live-report-paper.fixed-report-theme-dokdo .dokdo-flow-page > .paper-section.is-continuation {
    margin-top: 0;
}

.live-report-paper.fixed-report-theme-dokdo .paper-references > h4 {
    margin: 0 0 18px;
    padding: 0 0 8px;
    color: #a9313c !important;
    border: 0;
    border-bottom: 1px solid #aaa;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 14px;
}

.live-report-paper.fixed-report-theme-dokdo .draft-source-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 26px;
}

.live-report-paper.fixed-report-theme-dokdo .draft-source-card {
    padding: 8px 0 8px 18px;
    border-bottom: 1px solid #ddd;
}

.live-report-paper.fixed-report-theme-dokdo .draft-source-card::before {
    top: 10px;
    color: #333;
    font-size: 9px;
}

.live-report-paper.fixed-report-theme-dokdo .draft-source-card h5 { font-size: 9px; line-height: 1.45; }
.live-report-paper.fixed-report-theme-dokdo .draft-source-card > p { margin-top: 3px; font-size: 8.6px; line-height: 1.5; }
.live-report-paper.fixed-report-theme-dokdo .draft-source-card > small { margin-top: 3px; font-size: 8.4px; line-height: 1.45; }
.live-report-paper.fixed-report-theme-dokdo .draft-source-card > a { margin-top: 3px; font-size: 8.4px; }

.live-report-paper.fixed-report-theme-dokdo .dokdo-source-appendix {
    margin-top: 22px;
    padding-top: 14px;
    border-top: 1px solid #aaa;
}

.live-report-paper.fixed-report-theme-dokdo .dokdo-source-appendix > h5 {
    margin: 0 0 10px;
    color: #a9313c;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 11px;
}

.live-report-paper.fixed-report-theme-dokdo .dokdo-source-appendix-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 20px;
}

.live-report-paper.fixed-report-theme-dokdo .dokdo-source-appendix-list article {
    padding-left: 9px;
    border-left: 2px solid #d7a0a4;
}

.live-report-paper.fixed-report-theme-dokdo .dokdo-source-appendix-list strong {
    display: block;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 8.5px;
}

.live-report-paper.fixed-report-theme-dokdo .dokdo-source-appendix-list p {
    margin: 3px 0 0;
    font-size: 8.5px;
    line-height: 1.5;
}

.live-report-paper.fixed-report-theme-dokdo .dokdo-source-appendix-list small {
    display: block;
    margin-top: 3px;
    color: #666;
    font-size: 7.5px;
    line-height: 1.4;
}

@media print {
    body.is-printing-report .live-report-paper.fixed-report-theme-dokdo,
    body.is-printing-report .live-report-paper.fixed-report-theme-dokdo * {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    body.is-printing-report .live-report-paper.fixed-report-theme-dokdo .paper-section p {
        font-size: 12pt !important;
        line-height: 1.84 !important;
    }

    body.is-printing-report .live-report-paper.fixed-report-theme-dokdo .paper-section .paper-section-source {
        font-size: 6.8pt !important;
        line-height: 1.48 !important;
    }

    body.is-printing-report .live-report-paper.fixed-report-theme-dokdo .paper-section .paper-inline-note-marker {
        color: #a9313c !important;
    }
}


/* Quiet Spectrum — 범용 연구보고서 표지·본문 편집 체계 */
.live-report-paper.fixed-report-theme-spectrum {
    --spectrum-ink: #31243f;
    --spectrum-ink-deep: #281b35;
    --spectrum-paper: #f8f5ef;
    --spectrum-line: #b59aa5;
    --spectrum-lavender: #d9d1dc;
    --spectrum-stone: #c9c2be;
    --spectrum-clay: #a9877b;
    --spectrum-page-edge: 32px;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
}

.live-report-paper.fixed-report-theme-spectrum > .hwp-a4-page {
    position: relative;
    padding: 0;
    display: block;
    overflow: hidden;
    color: #28232d;
    background: var(--spectrum-paper);
    border-color: #c9c2bd;
}

.live-report-paper.fixed-report-theme-spectrum .hwp-cover-page,
.live-report-paper.fixed-report-theme-spectrum .hwp-cover-page .hwp-a4-content,
.live-report-paper.fixed-report-theme-spectrum .paper-cover {
    background: var(--spectrum-ink);
}

.live-report-paper.fixed-report-theme-spectrum .hwp-cover-page .hwp-running-header,
.live-report-paper.fixed-report-theme-spectrum .hwp-cover-page .hwp-running-footer,
.live-report-paper.fixed-report-theme-spectrum .hwp-cover-page .hwp-page-watermark {
    display: none;
}

.live-report-paper.fixed-report-theme-spectrum .hwp-cover-page .hwp-a4-content {
    position: absolute;
    inset: 0;
    padding: 0;
}

.live-report-paper.fixed-report-theme-spectrum .paper-cover {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 100%;
    padding: 0;
    display: block;
    overflow: hidden;
    border: 0;
    color: var(--spectrum-paper);
}

.live-report-paper.fixed-report-theme-spectrum .paper-cover::before {
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        linear-gradient(90deg, rgba(255,255,255,.03), transparent 18%, rgba(255,255,255,.015) 70%, transparent),
        linear-gradient(150deg, #372946 0%, #2c203a 56%, #342742 100%);
    content: "";
}

.live-report-paper.fixed-report-theme-spectrum .paper-cover::after,
.live-report-paper.fixed-report-theme-spectrum .hwp-cover-series::before,
.live-report-paper.fixed-report-theme-spectrum .hwp-cover-series::after {
    display: none;
    content: none;
}

.live-report-paper.fixed-report-theme-spectrum .paper-cover::after {
    position: absolute;
    z-index: 1;
    right: 0;
    bottom: 0;
    left: 0;
    height: 194px;
    display: block;
    background: var(--spectrum-ink-deep);
    content: "";
}

.live-report-paper.fixed-report-theme-spectrum .hwp-cover-series {
    position: absolute;
    z-index: 3;
    top: 50px;
    right: 42px;
    left: 50px;
    height: auto;
    padding: 0;
    display: flex !important;
    align-items: flex-start;
    justify-content: space-between;
    color: #f7f3ed;
    background: transparent;
    border: 0;
}

.live-report-paper.fixed-report-theme-spectrum .hwp-cover-series span {
    color: #f7f3ed;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: -.02em;
}

.live-report-paper.fixed-report-theme-spectrum .hwp-cover-series strong {
    max-width: 210px;
    color: #d8cedc;
    font-size: 8px;
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: .08em;
    text-align: right;
    white-space: pre-line;
}

.live-report-paper.fixed-report-theme-spectrum .hwp-cover-title-panel {
    position: absolute;
    z-index: 2;
    top: 218px;
    right: 0;
    left: 160px;
    width: auto;
    height: 445px;
    min-height: 0;
    margin: 0 !important;
    padding: 118px 44px 90px 80px !important;
    box-sizing: border-box;
    display: block;
    color: var(--spectrum-ink);
    background: var(--spectrum-paper);
    border: 0;
    clip-path: polygon(18% 0, 100% 0, 100% 100%, 0 100%, 0 28%);
    text-align: left;
}

.live-report-paper.fixed-report-theme-spectrum .hwp-cover-label {
    display: none;
}

.live-report-paper.fixed-report-theme-spectrum .hwp-cover-title-panel h3 {
    width: 100%;
    max-width: none;
    min-height: 0;
    margin: 0;
    color: var(--spectrum-ink);
    font-size: clamp(31px, 4.8vw, 40px);
    font-weight: 750;
    line-height: 1.18;
    letter-spacing: -.055em;
    word-break: keep-all;
    overflow-wrap: normal;
    white-space: normal;
    text-wrap: balance;
}

.live-report-paper.fixed-report-theme-spectrum .hwp-cover-title-panel h3::after {
    display: block;
    width: 100%;
    height: 1px;
    margin-top: 21px;
    background: #8c7b8f;
    content: "";
}

.live-report-paper.fixed-report-theme-spectrum .hwp-cover-title-panel > p {
    margin: 25px 0 0;
    color: #44394c;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.65;
    text-align: left;
}

.live-report-paper.fixed-report-theme-spectrum .hwp-cover-credits {
    margin: 7px 0 0 !important;
    padding: 0;
    display: block !important;
    color: #5d5263;
    border: 0;
    font-size: 10px;
    text-align: left;
}

.live-report-paper.fixed-report-theme-spectrum .hwp-cover-credits span:first-child { display: none; }
.live-report-paper.fixed-report-theme-spectrum .hwp-cover-credits span:last-child { display: block; }

.live-report-paper.fixed-report-theme-spectrum .spectrum-cover-index {
    position: absolute;
    z-index: 4;
    top: 592px;
    right: auto;
    bottom: auto;
    left: 0;
    width: 540px;
    padding: 0;
    color: var(--spectrum-ink);
    border: 0;
    text-align: left;
}

.live-report-paper.fixed-report-theme-spectrum .spectrum-cover-index::after,
.live-report-paper.fixed-report-theme-spectrum .spectrum-cover-index > strong { display: none; }

.live-report-paper.fixed-report-theme-spectrum .spectrum-cover-index ol {
    margin: 0;
    padding: 0;
    display: block;
    list-style: none;
}

.live-report-paper.fixed-report-theme-spectrum .spectrum-cover-index li {
    position: relative;
    width: calc(100% - var(--band-cut, 0px));
    min-height: 35px;
    padding: 9px 58px 8px 43px;
    box-sizing: border-box;
    color: #30263a;
    background: rgba(221,214,225,.94);
    border: 0;
    border-bottom: 1px solid rgba(49,36,63,.4);
    clip-path: polygon(0 0, calc(100% - 30px) 0, 100% 100%, 0 100%);
    font-size: 9.3px;
    font-weight: 650;
    line-height: 1.45;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.live-report-paper.fixed-report-theme-spectrum .spectrum-cover-index li:nth-child(2) { --band-cut: 0px; background: rgba(210,202,207,.96); }
.live-report-paper.fixed-report-theme-spectrum .spectrum-cover-index li:nth-child(3) { --band-cut: 0px; background: rgba(191,180,177,.97); }
.live-report-paper.fixed-report-theme-spectrum .spectrum-cover-index li:nth-child(4) { --band-cut: 0px; background: rgba(169,135,123,.98); }
.live-report-paper.fixed-report-theme-spectrum .spectrum-cover-index li::after {
    position: absolute;
    right: 25px;
    color: #2c2138;
    font-family: Georgia, serif;
    font-size: 16px;
    content: attr(data-index);
}

.live-report-paper.fixed-report-theme-spectrum .hwp-cover-institution {
    position: absolute;
    z-index: 6;
    top: 600px;
    right: 22px;
    bottom: auto;
    left: auto;
    width: 178px;
    height: auto;
    margin: 0 !important;
    padding: 0;
    box-sizing: border-box;
    color: var(--spectrum-ink) !important;
    background: transparent;
    filter: none;
    transform: none;
    text-align: right;
}

.live-report-paper.fixed-report-theme-spectrum .hwp-cover-institution img {
    display: block;
    width: 178px;
    height: auto;
    padding: 7px 9px;
    box-sizing: border-box;
    background: var(--spectrum-paper);
    border: 1px solid rgba(49,36,63,.12);
    border-radius: 4px;
}
.live-report-paper.fixed-report-theme-spectrum .spectrum-institution-name,
.live-report-paper.fixed-report-theme-spectrum .spectrum-institution-meta {
    display: block;
    color: #f6f1eb;
}
.live-report-paper.fixed-report-theme-spectrum .spectrum-institution-name {
    padding-left: 12px;
    border-left: 1px solid #f6f1eb;
    font-size: 10px;
}
.live-report-paper.fixed-report-theme-spectrum .spectrum-institution-meta {
    margin: 7px 0 0 13px;
    font-size: 9px;
    letter-spacing: .04em;
}

.live-report-paper.fixed-report-theme-spectrum .hwp-running-header {
    position: absolute;
    z-index: 8;
    top: 0;
    right: 0;
    left: 0;
    height: 60px;
    padding: 0 var(--spectrum-page-edge);
    display: grid;
    grid-template-columns: 116px minmax(170px, .72fr) minmax(240px, 1.28fr);
    align-items: center;
    gap: 20px;
    color: #fff;
    background: var(--spectrum-ink);
    border: 0;
    border-bottom: 5px solid var(--spectrum-clay);
    box-shadow: 0 1px 0 rgba(49, 36, 63, .24);
    box-sizing: border-box;
    font-size: 8px;
    font-weight: 550;
    letter-spacing: -.01em;
}

.live-report-paper.fixed-report-theme-spectrum .hwp-running-header span {
    display: block !important;
    min-width: 0;
    color: #fff !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.live-report-paper.fixed-report-theme-spectrum .spectrum-running-logo {
    display: block;
    width: 104px;
    height: 28px;
    padding: 4px 6px;
    object-fit: contain;
    box-sizing: border-box;
    background: var(--spectrum-paper);
    border-radius: 2px;
}
.live-report-paper.fixed-report-theme-spectrum .spectrum-running-title {
    color: #d9d1dc !important;
    font-size: 7.5px;
    font-weight: 650;
}
.live-report-paper.fixed-report-theme-spectrum .spectrum-running-section {
    color: #fff !important;
    font-size: 9px;
    font-weight: 750;
    text-align: right;
}
.live-report-paper.fixed-report-theme-spectrum .spectrum-running-volume,
.live-report-paper.fixed-report-theme-spectrum .spectrum-running-page { text-align: right; }

.live-report-paper.fixed-report-theme-spectrum .hwp-a4-content,
.live-report-paper.fixed-report-theme-spectrum .hwp-body-sheet .hwp-a4-content,
.live-report-paper.fixed-report-theme-spectrum .hwp-preliminary-sheet .hwp-a4-content {
    position: absolute;
    inset: 60px var(--spectrum-page-edge) 36px;
    padding: 48px 6px 48px 118px;
    box-sizing: border-box;
    overflow: hidden;
    border-bottom: 1px solid #c8bfc3;
}

.live-report-paper.fixed-report-theme-spectrum .hwp-body-sheet .hwp-a4-content { padding-right: 6px; }
.live-report-paper.fixed-report-theme-spectrum .hwp-body-sheet .hwp-body-page:not(.hwp-sources-page) {
    width: 100%;
}

.live-report-paper.fixed-report-theme-spectrum .hwp-a4-content.is-fitted > :not(.spectrum-page-rail) {
    width: calc(100% / var(--hwp-fit-scale));
    transform: scale(var(--hwp-fit-scale));
    transform-origin: top left;
}

.live-report-paper.fixed-report-theme-spectrum .spectrum-page-rail {
    position: absolute;
    top: 42px;
    left: 0;
    width: 92px;
    color: #55465e;
}
.live-report-paper.fixed-report-theme-spectrum .hwp-a4-content.is-fitted > .spectrum-page-rail {
    width: 92px;
    transform: none;
}
.live-report-paper.fixed-report-theme-spectrum .spectrum-page-rail strong {
    display: block;
    min-height: 52px;
    padding-bottom: 16px;
    border-bottom: 1px solid #6d5b76;
    font-size: 12px;
    line-height: 1.5;
    word-break: keep-all;
}
.live-report-paper.fixed-report-theme-spectrum .spectrum-page-rail span {
    position: relative;
    display: block;
    padding: 15px 0 0 21px;
    color: #847d83;
    font-size: 9px;
}
.live-report-paper.fixed-report-theme-spectrum .spectrum-page-rail span::before {
    position: absolute;
    top: 18px;
    left: 3px;
    width: 8px;
    height: 8px;
    background: #d5d0cc;
    border-radius: 50%;
    content: "";
}
.live-report-paper.fixed-report-theme-spectrum .spectrum-page-rail span::after {
    position: absolute;
    top: 25px;
    bottom: -18px;
    left: 6.5px;
    width: 1px;
    background: #d7d1cf;
    content: "";
}
.live-report-paper.fixed-report-theme-spectrum .spectrum-page-rail span:last-child::after { display: none; }
.live-report-paper.fixed-report-theme-spectrum .spectrum-page-rail span.is-active {
    color: var(--spectrum-ink);
    font-weight: 750;
}
.live-report-paper.fixed-report-theme-spectrum .spectrum-page-rail span.is-active::before { background: var(--spectrum-ink); }

.live-report-paper.fixed-report-theme-spectrum .spectrum-pull-quote {
    display: none;
}
.live-report-paper.fixed-report-theme-spectrum .spectrum-pull-quote > span {
    display: block;
    height: 23px;
    font-family: Georgia, serif;
    font-size: 32px;
    font-weight: 700;
    line-height: 1;
}
.live-report-paper.fixed-report-theme-spectrum .spectrum-pull-quote p {
    margin: 0;
    font-family: "Noto Serif KR", "NanumMyeongjo", "Batang", serif;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.8;
    word-break: keep-all;
}

.live-report-paper.fixed-report-theme-spectrum .dokdo-article-heading { display: none; }
.live-report-paper.fixed-report-theme-spectrum .hwp-body-page > .paper-section,
.live-report-paper.fixed-report-theme-spectrum .hwp-final-page > .paper-section {
    margin: 0;
    padding: 0;
    display: block;
    background: transparent;
    border: 0;
}
.live-report-paper.fixed-report-theme-spectrum .paper-section-heading {
    margin: 0 0 20px;
    padding: 0 0 12px;
    display: block;
    border: 0;
    border-bottom: 1px solid #bdb2ba;
}
.live-report-paper.fixed-report-theme-spectrum .paper-section-number {
    width: auto;
    height: auto;
    margin: 0 0 8px;
    display: block;
    color: var(--spectrum-clay) !important;
    background: transparent;
    border: 0;
    border-radius: 0;
    font-size: 11px !important;
    font-weight: 750;
}
.live-report-paper.fixed-report-theme-spectrum .paper-section h4,
.live-report-paper.fixed-report-theme-spectrum .paper-references > h4,
.live-report-paper.fixed-report-theme-spectrum .paper-primary-sources > h4 {
    margin: 0;
    padding: 0;
    color: #211b27 !important;
    border: 0;
    font-size: 22px !important;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: -.045em;
}
.live-report-paper.fixed-report-theme-spectrum .paper-section p,
.live-report-paper.fixed-report-theme-spectrum .hwp-final-page .paper-section p {
    margin: 0 0 13px;
    color: #38323b;
    font-family: "Noto Serif KR", "NanumMyeongjo", "Batang", serif;
    font-size: 12.9px !important;
    line-height: 1.84 !important;
    letter-spacing: -.014em;
    text-align: justify;
    text-indent: 0;
}
.live-report-paper.fixed-report-theme-spectrum .paper-section p.paper-section-source {
    margin: 16px 0 0;
    padding: 13px 16px;
    color: #3f3745;
    background: linear-gradient(90deg, #ded8e1 0%, #d4ced5 100%);
    border: 0;
    border-top: 2px solid var(--spectrum-ink);
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 9.2px !important;
    line-height: 1.6 !important;
}
.live-report-paper.fixed-report-theme-spectrum .paper-section p.paper-section-source strong { color: var(--spectrum-ink); }

.live-report-paper.fixed-report-theme-spectrum .spectrum-cover-index > .spectrum-cover-index-label {
    display: block;
    margin: 0 0 14px 28px;
    color: #f8f5ef;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
}

.live-report-paper.fixed-report-theme-spectrum .spectrum-cover-review-meta {
    display: block;
    margin-top: 5px;
    color: #756a79;
    font-size: 8px;
    font-weight: 550;
    line-height: 1.45;
}

.live-report-paper.fixed-report-theme-dokdo.fixed-report-theme-spectrum .spectrum-cover-index {
    top: 548px;
}

.live-report-paper.fixed-report-theme-dokdo.fixed-report-theme-spectrum .spectrum-cover-index li {
    min-height: 31px;
    padding-top: 7px;
    padding-bottom: 7px;
}

.live-report-paper.fixed-report-theme-dokdo.fixed-report-theme-spectrum .spectrum-cover-index.is-dense {
    top: 515px;
}

.live-report-paper.fixed-report-theme-dokdo.fixed-report-theme-spectrum .spectrum-cover-index.is-dense > .spectrum-cover-index-label {
    margin-bottom: 9px;
}

.live-report-paper.fixed-report-theme-dokdo.fixed-report-theme-spectrum .spectrum-cover-index.is-dense li {
    min-height: 27px;
    padding-top: 5px;
    padding-bottom: 5px;
    font-size: 8.7px;
}

.live-report-paper.fixed-report-theme-spectrum .paper-evidence-matrix {
    color: #302a34;
}

.live-report-paper.fixed-report-theme-spectrum .evidence-matrix-kicker {
    margin: 0 0 8px;
    color: var(--spectrum-clay);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .16em;
}

.live-report-paper.fixed-report-theme-spectrum .paper-evidence-matrix > h4 {
    margin: 0;
    padding: 0 0 14px;
    color: #211b27;
    border-bottom: 1px solid #bdb2ba;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: -.045em;
}

.live-report-paper.fixed-report-theme-spectrum .evidence-matrix-intro {
    margin: 17px 0 18px;
    color: #514955;
    font-family: "Noto Serif KR", "NanumMyeongjo", "Batang", serif;
    font-size: 10.5px;
    line-height: 1.72;
    text-align: justify;
}

.live-report-paper.fixed-report-theme-spectrum .paper-evidence-matrix table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 8.5px;
    line-height: 1.52;
}

.live-report-paper.fixed-report-theme-spectrum .paper-evidence-matrix th,
.live-report-paper.fixed-report-theme-spectrum .paper-evidence-matrix td {
    padding: 9px 8px;
    vertical-align: top;
    border-right: 1px solid #d2c9cf;
    border-bottom: 1px solid #c8bdc5;
    word-break: keep-all;
}

.live-report-paper.fixed-report-theme-spectrum .paper-evidence-matrix th:last-child,
.live-report-paper.fixed-report-theme-spectrum .paper-evidence-matrix td:last-child { border-right: 0; }
.live-report-paper.fixed-report-theme-spectrum .paper-evidence-matrix th {
    color: #fff;
    background: var(--spectrum-ink);
    font-weight: 750;
    text-align: left;
}
.live-report-paper.fixed-report-theme-spectrum .paper-evidence-matrix tbody tr:nth-child(even) { background: #f3efec; }
.live-report-paper.fixed-report-theme-spectrum .paper-evidence-matrix th:nth-child(1),
.live-report-paper.fixed-report-theme-spectrum .paper-evidence-matrix td:nth-child(1) { width: 18%; font-weight: 750; }
.live-report-paper.fixed-report-theme-spectrum .paper-evidence-matrix th:nth-child(2),
.live-report-paper.fixed-report-theme-spectrum .paper-evidence-matrix td:nth-child(2) { width: 29%; }
.live-report-paper.fixed-report-theme-spectrum .paper-evidence-matrix th:nth-child(3),
.live-report-paper.fixed-report-theme-spectrum .paper-evidence-matrix td:nth-child(3) { width: 24%; }
.live-report-paper.fixed-report-theme-spectrum .paper-evidence-matrix th:nth-child(4),
.live-report-paper.fixed-report-theme-spectrum .paper-evidence-matrix td:nth-child(4) { width: 29%; }

.live-report-paper.fixed-report-theme-spectrum .paper-evidence-matrix.is-analytical-weight table {
    font-size: 7.7px;
    line-height: 1.42;
}

.live-report-paper.fixed-report-theme-spectrum .paper-evidence-matrix.is-analytical-weight th,
.live-report-paper.fixed-report-theme-spectrum .paper-evidence-matrix.is-analytical-weight td {
    width: auto;
    padding: 8px 5px;
}

.live-report-paper.fixed-report-theme-spectrum .paper-evidence-matrix.is-analytical-weight th:nth-child(1),
.live-report-paper.fixed-report-theme-spectrum .paper-evidence-matrix.is-analytical-weight td:nth-child(1) { width: 15%; }
.live-report-paper.fixed-report-theme-spectrum .paper-evidence-matrix.is-analytical-weight th:nth-child(2),
.live-report-paper.fixed-report-theme-spectrum .paper-evidence-matrix.is-analytical-weight td:nth-child(2) { width: 27%; }
.live-report-paper.fixed-report-theme-spectrum .paper-evidence-matrix.is-analytical-weight th:nth-child(3),
.live-report-paper.fixed-report-theme-spectrum .paper-evidence-matrix.is-analytical-weight td:nth-child(3) { width: 11%; }
.live-report-paper.fixed-report-theme-spectrum .paper-evidence-matrix.is-analytical-weight th:nth-child(4),
.live-report-paper.fixed-report-theme-spectrum .paper-evidence-matrix.is-analytical-weight td:nth-child(4) { width: 12%; }
.live-report-paper.fixed-report-theme-spectrum .paper-evidence-matrix.is-analytical-weight th:nth-child(5),
.live-report-paper.fixed-report-theme-spectrum .paper-evidence-matrix.is-analytical-weight td:nth-child(5) { width: 12%; }
.live-report-paper.fixed-report-theme-spectrum .paper-evidence-matrix.is-analytical-weight th:nth-child(6),
.live-report-paper.fixed-report-theme-spectrum .paper-evidence-matrix.is-analytical-weight td:nth-child(6) { width: 23%; }

.live-report-paper.fixed-report-theme-spectrum .evidence-matrix-method {
    margin: 13px 0 0;
    padding: 10px 12px 0;
    color: #5d555f;
    border-top: 1px solid #c8bdc5;
    font-family: "Noto Serif KR", "NanumMyeongjo", "Batang", serif;
    font-size: 8.2px;
    line-height: 1.58;
    text-align: justify;
}

.live-report-paper.fixed-report-theme-spectrum .hwp-primary-source-page.is-cartographic-compact .primary-source-excerpt-list {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 12px;
}

.live-report-paper.fixed-report-theme-spectrum .hwp-primary-source-page.is-cartographic-compact .primary-source-excerpt-card {
    padding: 12px 13px;
}

.live-report-paper.fixed-report-theme-spectrum .hwp-primary-source-page.is-cartographic-compact .primary-source-image-gallery img {
    height: 150px;
}

.live-report-paper.fixed-report-theme-spectrum .hwp-primary-source-page.is-cartographic-compact .primary-source-quote {
    margin-top: 8px;
    padding: 9px 10px;
    font-size: 11px;
    line-height: 1.58;
}

.live-report-paper.fixed-report-theme-spectrum .hwp-primary-source-page.is-cartographic-compact .primary-source-translation,
.live-report-paper.fixed-report-theme-spectrum .hwp-primary-source-page.is-cartographic-compact .primary-source-comparison {
    margin-top: 7px;
}

.live-report-paper.fixed-report-theme-spectrum .hwp-primary-source-page.is-cartographic-compact .primary-source-translation p,
.live-report-paper.fixed-report-theme-spectrum .hwp-primary-source-page.is-cartographic-compact .primary-source-comparison p {
    font-size: 9.3px;
    line-height: 1.5;
}

.live-report-paper .draft-source-list.is-unnumbered .draft-source-card {
    padding-left: 0;
}

.live-report-paper .draft-source-list.is-unnumbered .draft-source-card::before {
    display: none;
}

.live-report-paper.fixed-report-theme-spectrum .hwp-running-footer {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 36px;
    padding: 0 var(--spectrum-page-edge);
    display: flex;
    justify-content: center;
    color: var(--spectrum-ink);
    background: #f0ece6;
    border: 0;
    border-top: 2px solid var(--spectrum-line);
    box-sizing: border-box;
}
.live-report-paper.fixed-report-theme-spectrum .hwp-running-footer strong {
    color: var(--spectrum-ink);
    font-family: Georgia, serif;
    font-size: 10px;
}
.live-report-paper.fixed-report-theme-spectrum .hwp-running-footer span { display: none; }
.live-report-paper.fixed-report-theme-spectrum .hwp-page-watermark { display: none; }

@media print {
    body.is-printing-report .live-report-paper.fixed-report-theme-spectrum,
    body.is-printing-report .live-report-paper.fixed-report-theme-spectrum * {
        print-color-adjust: exact !important;
        -webkit-print-color-adjust: exact !important;
    }

    body.is-printing-report .live-report-paper.fixed-report-theme-spectrum > .hwp-a4-page {
        break-after: page !important;
        break-before: auto !important;
        overflow: hidden !important;
    }

    body.is-printing-report .live-report-paper.fixed-report-theme-spectrum > .hwp-a4-page:last-child {
        break-after: auto !important;
    }

    body.is-printing-report .live-report-paper.fixed-report-theme-spectrum .paper-section {
        break-inside: auto !important;
    }

    body.is-printing-report .live-report-paper.fixed-report-theme-spectrum .paper-section p,
    body.is-printing-report .live-report-paper.fixed-report-theme-spectrum .hwp-final-page .paper-section p {
        margin-bottom: 9.5pt !important;
        font-size: 9.7pt !important;
        line-height: 1.8 !important;
        orphans: 2;
        widows: 2;
    }

    body.is-printing-report .live-report-paper.fixed-report-theme-spectrum .paper-section p.paper-section-source {
        font-size: 7.1pt !important;
        line-height: 1.65 !important;
    }
}

/* 본문 문단과 직접 연결되는 원문·번역 인용 블록 */
.live-report-paper.fixed-report-theme-spectrum .paper-section .paper-inline-primary-source {
    margin: 12px 0 15px;
    padding: 0;
    display: block;
    overflow: hidden;
    color: var(--spectrum-ink-deep);
    background: #f1ede7;
    border: 1px solid #c9c0c7 !important;
    border-top: 3px solid var(--spectrum-ink) !important;
    border-radius: 0;
    break-inside: avoid;
}

.live-report-paper.fixed-report-theme-spectrum .paper-inline-primary-source-heading {
    padding: 10px 12px 9px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 14px;
    background: rgba(255, 255, 255, .34);
    border-bottom: 1px solid #d5cdd2;
}

.live-report-paper.fixed-report-theme-spectrum .paper-inline-primary-source-heading > div {
    min-width: 0;
}

.live-report-paper.fixed-report-theme-spectrum .paper-inline-primary-source-kicker {
    display: block;
    margin-bottom: 3px;
    color: #8f6e63;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 7.8px;
    font-weight: 850;
    letter-spacing: .08em;
}

.live-report-paper.fixed-report-theme-spectrum .paper-inline-primary-source-heading strong {
    display: block;
    color: var(--spectrum-ink-deep);
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 10.5px;
    font-weight: 850;
    line-height: 1.45;
}

.live-report-paper.fixed-report-theme-spectrum .paper-inline-primary-source-heading small {
    display: block;
    margin-top: 2px;
    color: #6d656b;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 7.7px;
    line-height: 1.45;
}

.live-report-paper.fixed-report-theme-spectrum .paper-inline-primary-source-heading > a {
    flex: 0 0 auto;
    padding-bottom: 2px;
    color: var(--spectrum-ink);
    border-bottom: 1px solid currentColor;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 8px;
    font-weight: 750;
    text-decoration: none;
}

.live-report-paper.fixed-report-theme-spectrum .paper-inline-primary-source-gallery {
    padding: 10px 12px 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.live-report-paper.fixed-report-theme-spectrum .paper-inline-primary-source-gallery figure {
    margin: 0;
    min-width: 0;
}

.live-report-paper.fixed-report-theme-spectrum .paper-inline-primary-source-gallery img {
    width: 100%;
    height: 138px;
    display: block;
    object-fit: contain;
    background: #e7e1d9;
    border: 1px solid #cbc1ba;
}

.live-report-paper.fixed-report-theme-spectrum .paper-inline-primary-source-gallery figcaption {
    margin-top: 3px;
    color: #716970;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 7px;
    line-height: 1.4;
    text-align: center;
}

.live-report-paper.fixed-report-theme-spectrum .paper-inline-primary-source-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.live-report-paper.fixed-report-theme-spectrum .paper-inline-primary-source-columns.is-single {
    grid-template-columns: minmax(0, 1fr);
}

.live-report-paper.fixed-report-theme-spectrum .paper-inline-primary-source-columns > section {
    min-width: 0;
    padding: 10px 12px 11px;
}

.live-report-paper.fixed-report-theme-spectrum .paper-inline-primary-source-columns > section + section {
    border-left: 1px solid #d5cdd2;
}

.live-report-paper.fixed-report-theme-spectrum .paper-inline-primary-source-columns strong {
    display: block;
    margin-bottom: 5px;
    color: #6f5260;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 8px;
    font-weight: 850;
}

.live-report-paper.fixed-report-theme-spectrum .paper-inline-primary-source-columns blockquote,
.live-report-paper.fixed-report-theme-spectrum .paper-inline-primary-source-columns p {
    margin: 0 !important;
    padding: 0 !important;
    color: #312d34;
    background: transparent;
    border: 0;
    font-family: "Noto Serif KR", "NanumMyeongjo", "Batang", "바탕", serif;
    font-size: 10px !important;
    font-style: normal;
    line-height: 1.72 !important;
    letter-spacing: -.01em;
    overflow-wrap: anywhere;
    text-align: left;
    text-indent: 0 !important;
}

.live-report-paper.fixed-report-theme-spectrum .paper-section .paper-inline-primary-source-note {
    margin: 0 !important;
    padding: 8px 12px 9px !important;
    color: #5c545a;
    background: rgba(255, 255, 255, .28);
    border-top: 1px dotted #b8acb4;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 8px !important;
    line-height: 1.58 !important;
    text-align: left;
    text-indent: 0 !important;
}

.live-report-paper.fixed-report-theme-spectrum .paper-inline-primary-source-note strong {
    color: var(--spectrum-ink);
    font-weight: 850;
}

@media print {
    body.is-printing-report .live-report-paper.fixed-report-theme-spectrum .paper-inline-primary-source {
        break-inside: avoid !important;
    }

    body.is-printing-report .live-report-paper.fixed-report-theme-spectrum .paper-inline-primary-source-columns blockquote,
    body.is-printing-report .live-report-paper.fixed-report-theme-spectrum .paper-inline-primary-source-columns p {
        font-size: 8.4pt !important;
        line-height: 1.65 !important;
    }

    body.is-printing-report .live-report-paper.fixed-report-theme-spectrum .paper-section .paper-inline-primary-source-note {
        font-size: 6.9pt !important;
        line-height: 1.5 !important;
    }
}

/* 사업 추진 계획·예산요구안: 제공된 HWP 결재문서의 제목·장·글머리·표 문법 */
.agent-fixed-example-button.budget-example {
    color: #343575;
    background: #f7f7ff;
    border-color: #c8c9e4;
}

.agent-fixed-example-button.budget-example + .agent-fixed-example-button.budget-example {
    margin-top: 8px;
}

.agent-fixed-example-button.budget-example > .icon:first-child {
    color: #fff;
    background: #353694;
}

.budget-proposal-result .live-report-document {
    background: #d9dadd;
}

.budget-planning-paper {
    color: #121212;
    font-family: "Noto Serif KR", "NanumMyeongjo", "Batang", "바탕", serif;
}

.live-report-paper.budget-planning-paper > .budget-proposal-page {
    position: relative;
    height: 1086px;
    padding: 0;
    display: block;
    overflow: hidden;
    background: #fff;
    border: 1px solid #bfc0c4;
}

.live-report-paper.budget-planning-paper .budget-proposal-page-content {
    position: absolute;
    inset: 84px 62px 62px;
    width: auto;
    height: auto;
    padding: 0;
    overflow: hidden;
}

.live-report-paper.budget-planning-paper .budget-proposal-page-content.is-fitted > * {
    width: calc(100% / var(--hwp-fit-scale));
    transform: scale(var(--hwp-fit-scale));
    transform-origin: top left;
}

.live-report-paper.budget-planning-paper .budget-proposal-cover-page .budget-proposal-page-content {
    inset: 0;
    padding: 78px 64px 64px;
}

.budget-proposal-running-header,
.budget-proposal-running-footer {
    position: absolute;
    right: 62px;
    left: 62px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
    color: #60636a;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
}

.budget-proposal-running-header {
    top: 25px;
    height: 40px;
    padding-bottom: 9px;
    border-bottom: 2px solid #3d3d91;
    font-size: 11px;
    font-weight: 750;
}

.budget-proposal-running-header img {
    width: 142px;
    height: auto;
    object-fit: contain;
}

.budget-proposal-running-header span {
    overflow: hidden;
    color: #25255f;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.budget-proposal-running-footer {
    bottom: 24px;
    height: 25px;
    padding-top: 8px;
    border-top: 1px solid #c9c9cf;
    font-size: 9px;
}

.budget-proposal-running-footer strong {
    color: #303070;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 11px;
    font-weight: 500;
}

.budget-proposal-cover {
    position: relative;
    height: 100%;
    box-sizing: border-box;
}

.budget-proposal-cover > img {
    width: 178px;
    height: auto;
    object-fit: contain;
}

.budget-proposal-cover-title {
    position: relative;
    margin-top: 132px;
    padding: 30px 16px 31px;
    border-top: 6px solid #e45928;
    border-bottom: 6px solid #e45928;
    text-align: left;
}

.budget-proposal-cover-title::before,
.budget-proposal-cover-title::after {
    position: absolute;
    left: 0;
    width: 52%;
    height: 6px;
    content: "";
    background: #343691;
}

.budget-proposal-cover-title::before { top: -6px; }
.budget-proposal-cover-title::after { bottom: -6px; background: #3d7a34; }

.budget-proposal-cover-title > span {
    display: block;
    margin-bottom: 14px;
    color: #555665;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .16em;
}

.budget-proposal-cover-title h3 {
    margin: 0;
    color: #080808;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: var(--budget-cover-title-size, 33px);
    font-weight: 900;
    line-height: 1.28;
    letter-spacing: -.055em;
    word-break: keep-all;
    white-space: nowrap;
}

.budget-proposal-cover-meta {
    margin: 16px 2px 0;
    color: #242424;
    font-size: 13px;
    text-align: right;
}

.budget-proposal-cover-summary {
    position: absolute;
    right: 0;
    bottom: 8px;
    left: 0;
    padding: 22px 26px;
    background: #f4f4f7;
    border-left: 5px solid #393a93;
}

.budget-proposal-cover-summary strong {
    color: #292a70;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 14px;
}

.budget-proposal-cover-summary ul {
    margin: 14px 0 0;
    padding-left: 18px;
    color: #333;
    font-size: 12.5px;
    line-height: 1.72;
}

.budget-proposal-cover-summary li + li { margin-top: 7px; }

.budget-proposal-section,
.budget-proposal-table-section {
    min-height: 100%;
    box-sizing: border-box;
}

.budget-proposal-section-stack {
    min-height: 100%;
}

.budget-proposal-section-stack.is-packed {
    min-height: 0;
}

.budget-proposal-section-stack.is-packed > .budget-proposal-section {
    min-height: 0;
}

.budget-proposal-section-stack.is-packed > .budget-proposal-section + .budget-proposal-section {
    margin-top: 44px;
}

.budget-proposal-section-stack.is-packed .budget-proposal-section-heading {
    margin-bottom: 23px;
}

.budget-proposal-section-stack.is-packed .budget-proposal-bullets > li + li {
    margin-top: 14px;
}

.budget-proposal-section-stack.is-packed .budget-proposal-bullets p {
    line-height: 1.68;
}

.budget-proposal-section-stack.is-packed .budget-proposal-sub-bullets,
.budget-proposal-section-stack.is-packed .budget-proposal-notes {
    margin-top: 7px;
}

.budget-proposal-section-heading {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    align-items: end;
    gap: 0;
    margin: 0 0 34px;
    border-bottom: 3px solid #37388e;
}

.budget-proposal-section-heading > span {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    color: #fff;
    background: #383996;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
    line-height: 1;
}

.budget-proposal-section-heading > h4 {
    margin: 0;
    padding: 0 0 8px 15px;
    color: #090909;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 28px;
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: -.04em;
}

.budget-proposal-section-heading.is-square {
    grid-template-columns: 28px minmax(0, 1fr);
    margin-bottom: 22px;
    border-bottom-width: 2px;
}

.budget-proposal-section-heading.is-square > span {
    width: 28px;
    height: 34px;
    color: #313278;
    background: transparent;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 19px;
    font-weight: 900;
}

.budget-proposal-section-heading.is-square > h4 {
    padding: 0 0 6px 5px;
    font-size: 22px;
}

.budget-proposal-bullets,
.budget-proposal-sub-bullets,
.budget-proposal-notes {
    margin: 0;
    padding: 0;
    list-style: none;
}

.budget-proposal-bullets > li {
    position: relative;
    padding-left: 31px;
    break-inside: avoid;
}

.budget-proposal-bullets > li + li { margin-top: 21px; }

.budget-proposal-bullets > li::before {
    position: absolute;
    top: 1px;
    left: 1px;
    content: "ㅇ";
    color: #101010;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 16px;
    font-weight: 800;
}

.budget-proposal-bullets p {
    margin: 0;
    color: #171717;
    font-size: 15.5px;
    line-height: 1.8;
    letter-spacing: -.015em;
    text-align: justify;
    word-break: keep-all;
}

.budget-proposal-sub-bullets,
.budget-proposal-notes {
    margin-top: 10px;
}

.budget-proposal-sub-bullets li,
.budget-proposal-notes li {
    position: relative;
    padding-left: 21px;
    color: #292929;
    font-size: 14px;
    line-height: 1.75;
    text-align: justify;
    word-break: keep-all;
}

.budget-proposal-sub-bullets li + li,
.budget-proposal-notes li + li { margin-top: 6px; }

.budget-proposal-sub-bullets li::before {
    position: absolute;
    left: 2px;
    content: "-";
    font-weight: 800;
}

.budget-proposal-notes li::before {
    position: absolute;
    left: 0;
    content: "※";
    color: #4b4c88;
    font-size: 12px;
    font-weight: 850;
}

.budget-proposal-conclusion {
    margin: 0 0 28px;
    padding: 18px 21px;
    color: #242424;
    background: #f3f3f7;
    border-left: 4px solid #3a3b91;
    font-size: 15px;
    line-height: 1.85;
    text-align: justify;
}

.budget-proposal-table-section table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    color: #111;
    font-family: "Noto Serif KR", "NanumMyeongjo", "Batang", "바탕", serif;
}

.budget-proposal-table-section caption {
    padding: 8px 10px;
    color: #111;
    background: #f3f3f3;
    border: 1.5px solid #151515;
    border-bottom: 0;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-size: 13px;
    font-weight: 850;
}

.budget-proposal-table-section th,
.budget-proposal-table-section td {
    padding: 7px 6px;
    border: 1px solid #1e1e1e;
    vertical-align: middle;
    box-sizing: border-box;
    overflow-wrap: anywhere;
}

.budget-proposal-table-section thead th {
    background: #e4e4e4;
    font-family: "Noto Sans KR", "Malgun Gothic", sans-serif;
    font-weight: 800;
    text-align: center;
}

.budget-proposal-schedule-section th,
.budget-proposal-schedule-section td {
    height: 58px;
    font-size: 8.8px;
    line-height: 1.45;
    text-align: center;
}

.budget-proposal-schedule-section tr > :first-child { width: 15%; font-weight: 800; }
.budget-proposal-schedule-section tr > :last-child { width: 18%; text-align: left; }
.budget-proposal-schedule-section td[class*="schedule-tone-"] { font-weight: 750; }
.budget-proposal-schedule-section .schedule-tone-1 { background: #f6eadc; }
.budget-proposal-schedule-section .schedule-tone-2 { background: #dcefe4; }
.budget-proposal-schedule-section .schedule-tone-3 { background: #e2ecd4; }
.budget-proposal-schedule-section .schedule-tone-4 { background: #fff1bc; }
.budget-proposal-schedule-section .schedule-tone-5 { background: #dfe8f5; }

.budget-proposal-budget-section th,
.budget-proposal-budget-section td {
    padding: 7px 8px;
    font-size: 9.3px;
    line-height: 1.45;
}

.budget-proposal-budget-section thead th:nth-child(1) { width: 12%; }
.budget-proposal-budget-section thead th:nth-child(2) { width: 23%; }
.budget-proposal-budget-section thead th:nth-child(3) { width: 9%; }
.budget-proposal-budget-section thead th:nth-child(4) { width: 12%; }
.budget-proposal-budget-section thead th:nth-child(5) { width: 44%; }
.budget-proposal-budget-section .budget-category { text-align: center; font-size: 11px; }
.budget-proposal-budget-section .budget-number { white-space: nowrap; text-align: center; }
.budget-proposal-budget-section .budget-subtotal > * { background: #f1f1f1; font-weight: 850; }
.budget-proposal-budget-section .budget-total > * { border-top: 3px double #111; background: #fafafa; font-size: 10.5px; font-weight: 900; }

@media (max-width: 760px) {
    .budget-proposal-result .live-report-document { padding-inline: 8px; }
}

@media print {
    body.is-printing-report .budget-planning-paper > .budget-proposal-page {
        width: 210mm !important;
        height: 296.8mm !important;
        min-height: 296.8mm !important;
        break-inside: avoid !important;
    }

    body.is-printing-report .budget-proposal-table-section tr,
    body.is-printing-report .budget-proposal-bullets > li {
        break-inside: avoid !important;
    }
}
